神州数码思特奇IC卡密钥管理系统
实施方案
1. 2. 3.
关键缩略语 ....................................................................................................... 3 引用标准............................................................................................................ 4 开发思路............................................................................................................ 5
3.1. 系统设计目标 ...................................................................................................................... 5 3.1.1. 系统设计起点高 .......................................................................................................... 5 3.1.2. 高度的安全体系 .......................................................................................................... 6 3.1.3. 借鉴其他行业经验 ...................................................................................................... 6 3.2. 系统开发原则 ...................................................................................................................... 6 3.2.1. 卡片选择原则 .............................................................................................................. 6 3.2.2. 加密机选择原则 .......................................................................................................... 7 3.2.3. 读卡机具选择原则 ...................................................................................................... 8 3.2.4. USB KEY选择原则 ........................................................................................................ 8 3.2.5. 开发工具选择原则 ...................................................................................................... 9 3.2.6. 系统整体构造图 ...................................................................................................... 10 3.3. 系统安全设计 .................................................................................................................. 10 3.3.1. 安全机制 .................................................................................................................. 10 3.3.2. 密钥类型 .................................................................................................................. 11 3.3.3. 加密算法 .................................................................................................................. 11
4.
4.1. 4.2.
4.2.1. 4.3.
4.3.1. 4.3.2. 4.3.3. 4.3.4. 4.3.5. 4.3.6. 4.3.7. 4.3.8. 4.4.
卡片设计方案 ............................................................................................... 19
PSAM卡设计方案 ........................................................................................................... 19 省级发卡母卡设计方案 .................................................................................................. 19
省级主密钥卡中的消费主密钥未经离散 .............................................................. 19 卡片发行流程 .................................................................................................................. 20
密钥管理卡的生产发行过程 .................................................................................. 20 用户卡的生产发行过程 .......................................................................................... 20 IC卡生产发行过程的安全机制 .............................................................................. 20 A/B/C/D码的生成 .................................................................................................... 21 A/B/C/D码的保存 .................................................................................................... 21 主密钥的生成 .......................................................................................................... 21 密钥的使用、保管和备份 ...................................................................................... 22 密钥发行管理模式图 .............................................................................................. 25 系统卡片种类和功能 ...................................................................................................... 25
第 1 页 共 38 页
神州数码思特奇密钥管理系统设计方案 2008/01/14
4.4.1. 密钥生成算法 .......................................................................................................... 26 4.5. 密钥管理系统主要卡片的生成 ...................................................................................... 28 4.5.1. 领导卡的发行 .......................................................................................................... 29 4.5.2. 省级主密钥卡的发行 .............................................................................................. 31 4.5.3. 城市主密钥卡的发行 .............................................................................................. 33 4.5.4. PSAM卡母卡的发行 .................................................................................................. 35 4.5.5. 传输密钥卡的发行 .................................................................................................. 35 4.5.6. 城市发卡母卡,发卡控制卡,和洗卡控制卡 ...................................................... 36 4.5.7. PSAM卡,PSAM卡洗卡控制卡 .................................................................................. 36 4.5.8. 用户卡,用户卡母卡,母卡控制卡(用户卡空间租赁方案) .......................... 37
第 2 页 共 38 页
神州数码思特奇密钥管理系统设计方案 2008/01/14
1. 关键缩略语
ADF 应用数据文件(Application Definition File) CA COS DEA DES DF KMC KMS MAC
认证授权(Certificate Authority) 芯片操作系统(Chip Operation System) 数据加密算法(Data Encryption Algorithm) 数据加密标准(Data Encryption Standard) 专用文件(Dedicated File) 密钥管理卡(Key Manage Card) 密钥管理系统(Key Manage System) 报文鉴别代码(Message Authentication Code) 个人电脑/智能卡(Personal Computer/Smart Card) 个人密码(Personal Identification Number)
消费安全存取模块(Purchase Secure Access Module) 一种非对称加密算法(Rivest, Shamir, Adleman) 安全存取模块(Secure Access Module)
交易验证码(Transaction Authorization Cryptogram)
PC/SC PIN
PSAM RSA SAM TAC
第 3 页 共 38 页
神州数码思特奇密钥管理系统设计方案 2008/01/14
2. 引用标准
GB/T 2260-1995 中华人民共和国行政区划代码 GB/T 14916-1994 识别卡 物理特性 GB/T 16649.1:1996 识别卡 带触点的集成电路卡 第1部分:物理特性(ISO/IEC
7816-1:1987)
GB/T 16649.2:1996 识别卡 带触点的集成电路卡 第2部分:触点的尺寸和位置
(ISO/IEC 7816-2:1988)
GB/T 16649.3:1996 识别卡 带触点的集成电路卡 第3部分:电信号和传输协议
(ISO/IEC 7816-3:1989)
ISO 639:1988 名称及语言表示代码 GB 2659:1994 世界各国和地区名称代码(ISO 3166:1993) GB/T 12406:1996 表示货币和资金的代码(ISO 4217:1995) GB/T 15120.1 识别卡 记录技术 第1部分:凸印 (ISO/IEC 7811-1:1992) GB/T 15120.3 识别卡 记录技术 第3部分:ID-1型卡上凸印字符的位置
(ISO/IEC 7811-3:1992)
GB/T 17553.1:1998 识别卡 无触点的集成电路卡 第1部分:物理特性 GB/T 17553.2:1998 识别卡 无触点的集成电路卡 第2部分:耦合区域的尺寸和
位置
GB/T 17553.3:1998 识别卡 无触点的集成电路卡 第3部分:电信号和复位规程 ISO/IEC 7816-3:1992 识别卡 带触点的集成电路卡 第3部分:电信号和传输协议
修订稿1:T=1,异步半双工块传输协议
ISO/IEC 7816-3:1994 识别卡 带触点的集成电路卡 第3部分:电信号和传输协议
修订稿2:协议类型选择(国际标准草案)
ISO/IEC 7816-4:1995 识别卡 带触点的集成电路卡 第4部分:行业间交换用命令 ISO/IEC 7816-5:1994 识别卡 带触点的集成电路卡 第5部分:应用标识符的编号
系统和注册程序
ISO/IEC 7816-6:1995 识别卡 带触点的集成电路卡 第6部分:行业间数据元(国
际标准草案)
ISO 8372:1987 信息处理 64位块加密算法的运算方法 GB/T 16263:1996 信息技术 开放系统互联 抽象语法表示1(ASN.1)的基本编
码规则(ISO/IEC 8825:1990)
GB/T 15273 信息处理八位单字节代码型图型字符集 (ISO 8859:1987) ISO/IEC 9796-2 信息技术 安全技术 报文恢复的数字签名方法 第2部分:
使用哈什函数的机制
ISO/IEC 9797:1993 信息技术 安全技术 使用块加密算法进行加密检查的数据
完整性机制
ISO/IEC 10116:1993 信息技术 n位块加密算法的运算方法 ISO/IEC 10118-3:1996 信息技术 安全技术 哈什函数 第3部分:专用哈什函数 ISO/IEC 10373:1993 识别卡 测试方法
第 4 页 共 38 页
神州数码思特奇密钥管理系统设计方案 2008/01/14
3. 开发思路
现代计算机技术的发展是日新月异的,所以当今IC卡密钥管理系统的设计开发必须做到起点高、技术新、易扩展、高安全的要求。包括能够提供简单易用的操作界面;接口模块化设计;兼容多种卡片、机具和硬件设备;支持“一卡多用”,实现跨行业、跨城市的应用;建立健全能抗网络和安全攻击的安全体系;简化业务流程等等。
遵循《建设事业IC卡应用技术》标准和用户需求及国家和行业的相应规范,采用开放性设计,密钥进行统一管理,并且预留添加新应用的专用密钥的功能,加强密钥应用管理系统的通用性和灵活性;在充分保证密钥系统安全性的基础上,支持电力事业应用密钥的生成、注入、导出、备份、恢复、更新、服务、销毁等功能,实现密钥的安全管理。在整个密钥系统中,为保证系统的安全性,密钥在密钥系统中的传递均要采用安全报文的传输方式,即密文+MAC的方式。密钥的操作要受到严格的权限控制。同时必须要有强有力的行政管理手段加以配合。
3.1. 系统设计目标
3.1.1. 系统设计起点高
随着科技的发展和应用的更新,《IC卡密钥管理系统》必须适应建设IC卡应用飞速发展需求,因此,在当设计时必须做到高起点。
安全体系设计。防攻击,堵漏洞,借鉴一些通用安全产品(如防火墙)和卡片
类的安全认证体系(如COS安全认证)的方法和经验来设计密钥系统的安全体系结构;
操作界面人性化。采用象形的图片(是指一些特定的图形,能够代表一些特定
的含义,如
图形,一看就知道是MICROSOFT WORD的图标)、文字注释
等方法和技术手段,提高操作方便性,达到易于掌握、培训容易的要求; 简化业务流程。运用BPR(业务流程再造)的理论对密钥管理的业务流程进行
重新设计,力求其能够在最大化的实现要求的功能的基础上简化业务操作流
第 5 页 共 38 页
神州数码思特奇密钥管理系统设计方案 2008/01/14
程,减轻工作量;
密钥采用统一管理、统一生成、规范流程的原则。各个城市可以采用统一的根
密钥,便于根密钥管理部门对密钥和应用、行业和城市的统一管理,实现行业通、全省通;
3.1.2. 高度的安全体系
安全机制是整个密钥管理系统的核心,系统中所采用的安全策略要考虑系统整体性,利用安全策略来制约密钥的使用权限,在保证安全的基础上,尽量不使系统过于复杂。
KMC卡和加密机都是非常安全的,KMC卡可以设置密钥尝试次数,一旦尝试
超限就会自动锁卡;
配置日志(syslog)记录,日志文件统一存放。利用日志来记录是何管理员
什么时候发行了多少张卡,发了什么卡以及成功失败有多少等等,以便在人为的造成安全失误后可以追究人员责任;
3.1.3. 借鉴其他行业经验
自从中国人民银行制定的IC卡使用规范和密钥管理系统规范投入使用到今,已经有很多行业如劳动和社会保障部制定的密钥管理系统和某些商业银行开发的密钥管理系统投入使用。对于金融行业和社保行业来说,关于安全的要求各有侧重点。像金融领域的消费主密钥实现全国统一,社保领域涉及的用户数非常大,这些都要求有较高的安全体系来保证。而上述领域的密钥管理和应用的成功经验是非常宝贵的,同时《建设事业IC卡密钥管理系统》在一些大中型城市应用中的实际经验和城市通卡公司运营中的宝贵经验也是非常值得借鉴的。
3.2. 系统开发原则
3.2.1. 卡片选择原则
目前市场上能提供卡片的厂家众多,各家提供IC卡的COS都各有特点,所以在兼容性上必须考虑提供动态链接库扩展系统支持的卡片种类。同时系统中使用的密钥卡必
第 6 页 共 38 页
神州数码思特奇密钥管理系统设计方案 2008/01/14
须选用市场上成熟、安全性能高、使用方便灵活、性能指标较高、使用寿命长的产品。所以我们采用密钥卡(以下简称KMC)来作为密钥管理的介质之一。
KMC卡支持当前流行的数据加密标准3DES/DES和商密委的算法(如:SSF33算法),利用功能强大的卡上操作系统和灵活的文件结构保证密钥输入和输出的最大安全性。KMC中的密钥可以分组进行管理,并允许指定主密钥文件中的每条主密钥所使用的输入和输出密钥,以及输出时使用是否进行分散。密钥从KMC卡向另一卡(用户卡,PSAM卡,KMC卡)或设备(加密机)的传递过程中全部采用密文方式,避免重要数据的泄漏和遗失。
KMC使用卡上的管理密钥保护各种数据文件的读取和写入,在需要的时候还可以要求不同的操作人员在分别输入自己的个人安全密码PIN后才能进行有关操作,并对密钥的操作过程加以纪录,既方便了系统的管理又使得其他人员无法对卡上数据进行非法攻击。以下为优点和技术规范:
支持从简单到复杂的应用; 为卡机设备提供所有安全性能; 3DES算法对数据进行加密; 数据以密文格式传输; 脱机交易的高度安全性; 符合ISO7816系列标准和EMV96;
3.2.2. 加密机选择原则
硬件加密机是安全体系中的重要硬件设备之一,如果使用加密机会通过密钥系统发放的母卡向加密机导入密钥用于密钥管理传递以及在线交易,所以在此对加密机的选择原则加以阐述。加密机可以提供同KMC卡相同的密钥管理功能,并且它还具有一些KMC卡不能提供的功能。硬件加密机是用于密钥管理的硬件加密设备,它可以通过硬件电路提供产生密钥所需的真随机数,在硬件上具有一定的防物理攻击能力,在软件上对密钥的生成、存放、备份和运算进行权限控制,并可采取一定策略进行审计。由于硬件加密机具备了攻击防范能力,所以密钥可以在硬件加密机中以相对较低的成本安全地保存,而且所有密钥运算可在安全的物理环境中完成。
如果没有硬件加密机,密钥运算过程在未经保护的机器上实现,必然导致密钥在内
第 7 页 共 38 页
神州数码思特奇密钥管理系统设计方案 2008/01/14
存中以明文形式出现,在这种状况下为保护密钥安全所需花费的成本将远高于硬件加密机的成本。如果在多台机器上进行密钥运算,密钥还需在机器之间进行传递,这也会明显降低安全性或增加安全成本。采用加密机之后,密钥运算集中在加密机中进行,使密钥运算更为高效,而且在加密机之间传递密钥也相对容易些。
硬件加密机可以减轻密钥管理员的责任,降低密钥管理工作的成本。由于加密机本
身提供了管理接口和监控接口,密钥可以在硬件加密机中得到有效的管理。密钥的生成、作废、替换等等工作都可以通过加密机接口提供,从而使密钥管理工作大为简化。
为了整个密钥管理体系的安全,加密机用于在线交易时由主管人员从密钥系统发行母卡对加密机以城市为单位初始化,装载传输密钥。以后所有的密钥装载工作都必须在传输密钥的控制下进行。
3.2.3. 读卡机具选择原则
以前的一些读卡机具使用9针串口通讯,各个不同的生产厂家为各自生产的读卡器开发驱动程序,而不同厂家开发的驱动程序函数体和参数等是不同的,如需更换读卡机具就必须重新开发接口程序。我们采用PC/SC(PERSONAL COMPUTER/SMART CARD个人计算机智能卡接口规范)接口规范开发读写器接口程序,这样就要求读卡器提供对PC/SC接口的支持。同时为了兼容部分不能支持PC/SC接口的读卡器,我们要求采取统一规定函数接口,在厂家驱动程序上包上一层函数的方法,这样可以避免对密钥系统的重新开发。
同时也可支持高的扩展性和支持其他一些通用的接口,如USB接口等。
3.2.4. USB KEY选择原则
USB KEY用于系统登陆、网上身份认证与数据加密等的数据载体,采用高科技材料制作而成。用\"单向不可逆离散算法\"妥善保存用户名、密码、数字证书等保密信息,可随时热插拔。配合相应应用组件包,可实现登录控制、电邮加密、文件加密、安全分发等强大功能。
第 8 页 共 38 页
神州数码思特奇密钥管理系统设计方案 2008/01/14
3.2.5. 开发工具选择原则
软件开发工具的发展非常快,在选择开发工具的时候既要考虑软件工具的成熟稳定又要考虑开发工具的先进性。传统的开发工具如VISUAL STUDIO 6.0,DELPHI 7.0,C++ BUILDER 6.0等开发工具非常成熟稳定,但是其开发的操作界面和代码的易用性都有一些局限性;而在这些开发工具的基础上发展起来的一些新的开发工具如VISUAL STUDIO .NET2003,编程的支持力度非常的好。用这些工具结合中间件产品和技术,实现客户端操作界面;客户端程序的修改、升级不影响应用系统的结构;结合中间件技术编程实现交易的处理不依赖客户端界面的结构;使用前端开发工具设计客户端操作界面,客户端只提供操作界面,不提供实际的应用服务功能;应用服务功能由中间件提供,通过基于中间件的程序开发,实现应用功能;最底层采用数据库存储系统数据。这种设计最大的优点是客户端操作、应用功能提供和数据存储分开,客户端操作界面的修改升级不会影响到应用服务功能的提供,应用功能的修改也不需改动操作界面,这样有利于将来对系统的升级、修改和换代工作,同时也更适合系统模块化设计。)
第 9 页 共 38 页
神州数码思特奇密钥管理系统设计方案 2008/01/14
3.2.6. 系统整体构造图
3.3. 系统安全设计
3.3.1. 安全机制
本系统采用的IC卡应为含有CPU和加密算法的智能IC卡,系统中使用多种密钥类型和加密算法。
为实现密钥管理系统能安全使用,系统提供了以下的安全控制:
在人员的管理上,应有明确的分工,每个操作员有自己的操作口令,根据自己
第 10 页 共 38 页
神州数码思特奇密钥管理系统设计方案 2008/01/14
的权限使用系统的功能。
密钥卡中的密钥明文不可能有任何方式可以得到。
密钥的传输受传输密钥的保护,以安全报文的形式传输,密钥在产生,传输的
各个环节均不出现明文。
密钥的传输应多个管理员及操作员共同完成。
操作员进入系统,以及在系统中的操作在数据库中均有详细的记录。
3.3.2. 密钥类型
密钥的使用都有一定的限制,必须满足密钥属性的要求。按密钥用途划分,系统使用以下类型的密钥:
认证密钥用于外部认证,供卡片认证外部环境; 传输密钥用于保护要传送的报文; 主控密钥用于加密装载密钥;
密钥替换密钥用于加密装载应用主控密钥,并在被替换后作废; MAC密钥只用于对输入数据加密,产生MAC;
只用于三级分散,产生MAC的密钥;(只能按一定级数分散,用于消费、圈存等交易的
交易密钥;)
3.3.3. 加密算法
本系统使用到以下算法: DES,3DES,Double-One-Way,Secure Calculation,下面分别对其作一个详细描述:
3.3.3.1. 3DES算法
DES/3DES算法等都是国际国内使用广泛的、先进的、安全的密钥算法,国内金融、社保等领域都是使用的该类算法,并且这些算法在多年的使用中证明是可靠的、安全的。
建设事业一代密钥管理系统的整个密钥体系使用的算法,无论是产生主密钥、加密主密钥、传输主密钥、解密主密钥的过程都是使用这些算法,考虑到二代密钥管理系统
第 11 页 共 38 页
神州数码思特奇密钥管理系统设计方案 2008/01/14
和一代密钥管理系统的兼容性和平滑过渡,所以建议建设事业二代密钥管理系统仍然保留3DES算法等,同时结合国产算法的使用,在系统中合理的调配相关算法的使用过程,这样既可以兼容一代的密钥系统和应用环境也可以实现国产算法在系统中的正常使用。
3DES算法是指使用双长度(16字节)密钥K=(KL||KR)将8字节明文数据块加密成密文数据块,如下所示:
Y = DES(KL)[DES-1(KR)[DES(KL[X])]]
解密的方式如下:
X =DES (KL)[DES(KR)[ DES (KL[Y])]]
-1
-1
3.3.3.2. 密钥分散算法
简称Diversify,是指将一个双长度的密钥MK,对分散数据进行处理,推导出一个双长度的密钥DK。
推导DK左半部分的方法是:
将分散数据的最右16个数字作为输入数据 将MK作为加密密钥
用MK对输入数据进行3DES运算 推导DK右半部分的方法是:
将分散数据的最右16个数字求反,作为输入数据 将MK作为加密密钥
用MK对输入数据进行3DEA运算
3.3.3.3. TAC(交易验证码)的计算
TAC就是交易验证码(Transaction Authorization Cryptogram)的简写。通常发卡方使用应用序列号产生一个双倍长密钥,用来产生消费、取现和圈存交易中使用的TAC,而这条双倍长密钥就是TAC密钥。
TAC的计算不采用过程密钥方式,它用TAC密钥左右8个字节异或运算后的结果对相应数据进行加密运算来产生,TAC的计算方法和MAC的计算方法基本相同。
TAC的产生使用以下单倍长DEA算法:
第 12 页 共 38 页
神州数码思特奇密钥管理系统设计方案 2008/01/14
第一步:将一个8个字节长的初始值(Initial Vector)设定为16进制的’0x 00 00 00 00 00 00 00 00’。
第二步:将所有的输入数据按指定顺序连接成一个数据块。
第三步:将连接成的数据块分割为8字节长的数据块组,标识为D1, D2, D3, D4等等。分割到最后,余下的字节组成一个长度小于等于8字节的最后一块数据块。
第四步:如果最后一个数据块长度为8字节,则在此数据块后附加一个8字节长的数据块,附加的数据块为:16进制的’0x 80 00 00 00 00 00 00 00’。如果最后一个数据块长度小于8字节,则在该数据块的最后填补一个值为16进制 ’0x80’的字节。如果填补之后的数据块长度等于8字节,则跳至第五步。如果填补之后的数据块长度仍小于8字节,则在数据块后填补16进制’0x00’的字节至数据块长度为8字节。
第五步:TAC的产生是通过上述方法产生的数据块组,由TAC密钥左右8位字节异或运算后的结果进行加密运算。TAC的算法见图描述。
Initial Vector I 2 I 3 I 4 I 5 + I 1 = D 1 KMA DEA KMA DEA KMA DEA KMA DEA 0 1 0 2 0 3 0 4 + D 2 + D 3 + D 4 TAC Legend: I = Input DEA = Data Encryption Algorithm (encipherment mode) O = Output D = Data block KMA = MAC Session Key A + = Exclusive-OR 图 TAC的单倍长DEA密钥算法 第六步:最终值的左4字节为TAC。
第 13 页 共 38 页
神州数码思特奇密钥管理系统设计方案 2008/01/14
3.3.3.4. 计算过程密钥
用双长度的密钥MK对8字节的输入数据按方式进行运算。具体运算的过程如下(MK的左半部为LK,右半部为RK)。
用LK对输入数据进行解密运算; 用RK对第一步结果进行加密运算; 用LK对第二步结果进行解密运算; 输入数据与第三步结果进行异或;
3.3.3.5. 认证机制
内部认证(Internal authentication )
终端读取用户卡上的卡序列号,送SAM模块。
SAM模块用内部认证主密钥对卡序列号进行加密,生成内部认证工作密钥。 终端送加密指令及随机数给用户卡,用户卡用内部认证密钥加密,并将加
密结果D1送回终端。
终端送加密指令及随机数给SAM模块,SAM模块将加密结果D2送回终端。 终端比较D1和D2,D1和D2的值一致表示内部认证成功,否则内部认证失
败。
外部认证(External authentication)
终端取用户卡的卡序列号,送SAM模块。
SAM模块用认证主密钥对卡片序列号加密,生成认证工作密钥。 终端从用户卡中取随机数。
终端将随机数送SAM模块,SAM模块用认证工作密钥对随机数加密,并将加
密结果送回终端。
终端送加密结果给用户卡,同时向卡发外部认证指令。
卡用返回代码告诉终端认证是否成功,若认证成功则将用户卡的安全状态
置为外部认证密钥的后续状态。
双向认证(Mutual authentication )
双向认证又叫相互认证,它是把内部认证和外部认证都做一遍:
第 14 页 共 38 页
神州数码思特奇密钥管理系统设计方案 2008/01/14
终端读取用户卡上的卡序列号,送SAM模块。
SAM模块用内部认证主密钥对卡序列号进行加密,生成内部认证工作密钥。 终端送加密指令及随机数给用户卡,用户卡用内部认证密钥加密,并将加
密结果D1送回终端。
终端送加密指令及随机数给SAM模块,SAM模块将加密结果D2送回终端。 终端比较D1和D2,D1和D2的值一致表示内部认证成功,否则内部认证失
败。
终端取用户卡的卡序列号,送SAM模块。
SAM模块用认证主密钥对卡片序列号加密,生成认证工作密钥。 终端从用户卡中取随机数。
终端将随机数送SAM模块,SAM模块用认证工作密钥对随机数加密,并将加
密结果送回终端。
终端送加密结果给用户卡,同时向卡发外部认证指令。
卡用返回代码告诉终端认证是否成功,若认证成功则将用户卡的安全状态
置为外部认证密钥的后续状态。
3.3.3.6. 主密钥的安全产生
在密钥管理中心,以随机数或手工输入的方式产生密钥种子,密钥管理系统通过一种特定的加密算法得到主密钥。密钥种子以密钥卡或密码信封的形式进行安全保管。以备将来更新或恢复主密钥时使用。
由密钥种子生成主密钥的加密算法由密钥管理中心决定。
3.3.3.7. 安全报文传输
在密钥管理系统中,所有密钥的导入、导出要采用安全报文传输的方式。密钥卡中用于主密钥导入、导出的密钥可以不同,以提高密钥传递的安全性。
3.3.3.8. 主密钥卡、洗卡控制卡和洗卡母卡必须配合使用
用洗卡控制卡对主密钥卡进行外部认证,只有外部认证成功后主密钥卡才能被正常使用。因此
第 15 页 共 38 页
神州数码思特奇密钥管理系统设计方案 2008/01/14
主密钥卡和洗卡控制卡、洗卡母卡分别严格保管,是保证密钥系统安全性十分重要的因素。
3.3.3.9. 主密钥存放位置不同
主密钥卡中针对不同的应用,将建立不同的专用文件(DF),不同应用的主密钥将保存在相应的DF下,每一个DF下都有自己的导入、导出密钥,这样可以保证不同应用主密钥的严格分离,便于维护。
当然,可以变通使用密钥卡的这一功能,如:可以将不同版本的主密钥存放在不同的DF下,这都需视系统的具体情况来决定。
3.3.3.10. 控制主密钥的使用
通过限制主密钥的用途来控制主密钥的使用,主密钥导入到母卡时,要设置密钥的用途,即设置主密钥只能用于分散,或只能用于导出,或即可以分散也可以导出,密钥系统以此来限制主密钥的使用,进一步提高系统的安全性。
3.3.3.11. 限制主密钥的使用次数
主密钥在载入密钥卡时,可以设定此密钥的最多使用次数,当密钥被成功使用后,密钥卡内部的操作系统将会自动修改密钥的计数器信息。密钥管理系统可以读取每一个主密钥的使用次数,以此做为审计信息。
3.3.3.12. 密钥存储和备份
密钥管理系统中的密钥采用密钥卡的形式存储。同时可采用密钥卡和密码信封的形式进行密钥备份。密钥的存储和备份通过专人管理,存放在安全可靠的地方,如保险箱、保险柜和安全库房等。
3.3.3.13. 管理机构
使用密钥管理系统的机构可以由独立的安全管理部门,负责整个安全概念及安全策略的制定、实现,监督安全策略的贯彻、执行,并定期进行审计。有条件的可以请第三方独立的审计部门来进行审计。该安全管理部门可以直接向最高行政官或相应的管理人员负责。整个管理层次不宜过多,
第 16 页 共 38 页
神州数码思特奇密钥管理系统设计方案 2008/01/14
以免造成不必要的信息延误或遗失。
3.3.3.14. 操作管理
对于整个密钥系统的操作管理,应做到:专人负责、相互制约、定期轮换。系统业务应有明确分工,每一项业务都应该指定专人负责,避免管理人员之间互相扯皮推诿而可能造成的损失。
同时,为了避免权利过分集中,特别是超级用户权力太大,而出现的内部人员作案的可能性,管理人员之间应互相制约,做到权力的有效制衡。
为了防止某些管理人员从事某项业务时间过长,而互相勾结,系统要求管理人员必须定期轮换,特别是系统的超级用户,一般应随着密钥的更换而轮换。
3.3.3.15. 业务培训
对安全管理部门的人员及系统管理员必须进行系统的安全培训。任何关键业务的支持人员,及安全管理部门在该业务上岗之前必须进行相关的安全培训。培训主要包括如何获取最新的安全技术资料,现有系统的安全问题,在出现问题时如何寻求援助并报警,如何采取紧急措施进行恢复并将影响减为最小及安全管理队伍的锻炼等内容。
3.3.3.16. 管理文档化
整个机构的所有管理规章制度必须文档化,切实落实执行。同时,对所有的事件必须尽可能地书面记录下来,存档备案,以便及时监控和审计。
3.3.3.17. 应急措施
应急措施适用于应付突发事件,突发事件在这里的定义应该是突然发生、未曾考虑、出乎意料的紧急事件。目的在于为在应付此类事件时,提供一个基本的向导功能。
应急措施的原则是:在对密钥管理中心的安全和风险评估的基础上,由核心到应用,由局部到全局。可以采取以下步骤:
关闭核心系统对外的网络通道,隔绝可能的破坏; 报警及通知有关人员;
第 17 页 共 38 页
神州数码思特奇密钥管理系统设计方案 2008/01/14
启动应急系统,如交易应急系统,运行系统的备份系统等; 清点设备,如硬件加密机,密钥备份卡等; 妥善保管敏感信息和核心设备;
逐步关闭其他设备和服务,保留审计信息; 分析情况,追查原因; 作出书面报告
第 18 页 共 38 页
神州数码思特奇密钥管理系统设计方案 2008/01/14
4. 卡片设计方案
4.1. PSAM卡设计方案
由省级密钥管理系统产生的全国消费主密钥GMPK,在PSAM卡中注入未经分散的消费主密钥。这样在进行消费交易时,终端从用户卡上的基本信息文件中读出城市代码,用户卡序列号,分散路径等,送给PSAM卡。PSAM卡使用自己的消费主密钥对城市代码,用户卡序列号进行离散,得到的结果应该和用户卡发卡时注入的消费密钥DPK的值相同,这样PSAM卡与用户卡就可以做合法的双向认证,判断交易的合法性了。通过以上的方法各城市,各行业的用户卡均可在POS上消费,实现卡片互通、机具共享。
4.2. 省级发卡母卡设计方案
4.2.1. 省级主密钥卡中的消费主密钥未经离散
在省级密钥管理系统中制作的主密钥卡中存放的消费主密钥未经离散,这样最终发行出统一的、无区别的省级主密钥卡,所有城市和无须单独发行省级发卡母卡,这种方式省级能控制主密钥,城市级的消费主密钥的发行权交给各城市。省级发好省级主密钥卡和洗卡母卡洗卡控制卡后发到各城市,同时使用USBkey 将城市代码发放到每个城市,各城市发行其发卡母卡时使用城市代码生成发卡消费主密钥。城市级发行用户卡时通过用户卡应用序列号离散产生消费密钥DPK,同时将用户卡应用序列号写入用户卡中,这样每个城市单独发行城市级发卡母卡,有几个城市就有几种城市级发卡母卡,每个城市单独申请、单独发行,这种方式省级可以控制全省消费主密钥和城市级消费主密钥的产生。
第 19 页 共 38 页
神州数码思特奇密钥管理系统设计方案 2008/01/14
4.3. 卡片发行流程
本系统IC卡生产、应用过程流程图:
城市IC卡应 城市IC卡应 城市IC卡应 城市IC卡应用中心 省级IC卡应用服务中心 省级指定的卡封装厂 IC卡用户 4.3.1. 密钥管理卡的生产发行过程
本系统使用的IC卡由指定授权的卡片封装厂商提供,经省级密钥管理系统生成省级密钥管理卡和城市级密钥管理卡,并将城市级密钥管理卡下发到城市IC卡管理中心,用于发行用户卡和PSAM卡。
4.3.2. 用户卡的生产发行过程
本系统使用的IC卡由指定授权的卡片封装厂商提供,经城市密钥管理系统的密钥初始化生成用户卡,并下发到用户手中。
4.3.3. IC卡生产发行过程的安全机制
密钥卡安全送往省级主管部门;系统安装后,必须对USBKEY进行初始化,生成各种密钥管理员和操作员权限。考虑到系统安全的需要,系统管理员和操作员分开,相互监督制约,IC卡中密钥的装载和导出是以密文形式进行的,生成的母卡必须由专人保管,出入库必须严格记录。
第 20 页 共 38 页
神州数码思特奇密钥管理系统设计方案 2008/01/14
4.3.4. A/B/C/D码的生成
4.3.4.1. 随机数生成方式
A/B/C/D码的生成:系统的相关人员分别在密钥管理系统中输入一组密钥种子,
结合 PC上卡片提供的随机数运用des的多种算法加密运算生成A/B/C/D码的几个分量。
4.3.5. A/B/C/D码的保存
密钥种子由各方各自备份和保管。备份采用密钥卡或密钥信封的形式,保管则必须由专人安全妥善保存;
A码和B码的保存建议采用密钥卡,即A卡、B卡的形式。A卡中存有A码的密文和用于对B码密文解密的传输密钥。同样B卡中存有B码的密文和用于对A码密文解密的传输密钥。A卡和B卡必须由不同的保管人员妥善保管;
A 卡3DES(A 码, Key B) . . .Key AB 卡3DES(B 码, Key A) . . .Key BC卡 3DES(C Âë, Key C) . . . KeyC D 卡¨ 3DES(D Âë, Key D) . . . Key D 4.3.6. 主密钥的生成
系统的A码、B码、C码、D码通过合成算法生成系统主密钥,主密钥建议以密钥卡的形式保存。
第 21 页 共 38 页
神州数码思特奇密钥管理系统设计方案 2008/01/14
密钥种子 密钥种子 密钥种子 密钥种子 A卡 A码 B卡 B码 C卡 C码 加密算法 主密钥卡 主密钥
用户卡 发卡母卡 PSAM卡 发卡母卡
D卡 D码 密钥下装卡
4.3.7. 密钥的使用、保管和备份
4.3.7.1. 密钥种子
4.3.7.1.1. 备份
可以密钥卡或密码信封的形式进行备份,备份必须是多个。如果以密码信封的形式备份,则密钥种子要分段打印在不同的密码信封上。
4.3.7.1.2. 保管
由各方分别妥善保管。如果是密钥信封,则不同段的种子密钥的密码信封必须交给不同的保管人员保管。
4.3.7.1.3. 使用
密钥种子的使用要有严格的审查制度,由保管人员审查使用人员的资格和权限,还必须要进行严格的登记(使用人员、使用目的、使用日期和时间、使用地点、使用次数、归还人员、归还日期和时间等)。
如果密钥种子存放在密钥卡中,则密钥卡由PIN保护。
第 22 页 共 38 页
神州数码思特奇密钥管理系统设计方案 2008/01/14
4.3.7.2. A/B/C/D码
4.3.7.2.1. 备份
建议使用密钥卡的形式进行备份,备份必须是多个,且以密文的方式备份。
4.3.7.2.2. 保管
A、B、C、D卡必须交给不同的人员保管。
4.3.7.2.3. 使用
A码的加密/解密密钥存放在B卡中,B码的加密/解密密钥则存放在A卡中,以此来制约A、B卡的使用。
A、B卡的使用同样要有严格的审查制度,由保管人员审查使用人员的资格和权限,同时进行严格的登记。
A、B卡的使用还会有PIN保护。
4.3.7.3. 主密钥
4.3.7.3.1. 备份
建议使用密钥卡的形式进行备份,备份必须是多个。
4.3.7.3.2. 保管
主密钥卡和配套的控制卡必须交给不同的人员保管。
4.3.7.3.3. 使用
主密钥的使用同样要有严格的审查制度,由保管人员审查使用人员的资格和权限,
第 23 页 共 38 页
神州数码思特奇密钥管理系统设计方案 2008/01/14
同时进行严格的登记。
主密钥卡的使用由PIN和外部认证密钥保护。
4.3.7.3.4. 传递
密钥在密钥卡间传递,必须以安全报文的方式进行。
下发二级机构发卡母卡和PSAM卡时,必须要注意,主密钥卡和控制卡不能同时传递。
4.3.7.3.5. 恢复
如果主密钥卡中的主密钥信息丢失,系统将用A、B、C、D卡恢复。
如果A、B、C、D卡的信息丢失,则系统要启用密钥种子恢复A、B、C、D码。
第 24 页 共 38 页
神州数码思特奇密钥管理系统设计方案 2008/01/14
4.3.8. 密钥发行管理模式图
领导卡A 领导卡B 领导卡C 用户卡二次发卡
用户卡 用户卡 PSAM卡 PSAM卡 PSAM卡二次发卡 领导卡D 省领导管理 省密钥卡 城市种子密钥卡 发行城市密钥卡 省级完成 城市密钥发行卡 城市用户卡 城市SAM卡 城市完成 4.4. 系统卡片种类和功能
厂家传输卡:厂家传输卡是用来对未定义的母卡进行初始化,建立初始文件和标识别的卡片,并且用来发行主管领导卡,同时用领导种子产生新的密钥替换原来的初始密钥。 主管领导卡:主管领导卡是产生所有交易密钥的基础卡,它存放有最高层的领导种子,由这些种子经过DES加密的多重算法产生各种不同的密钥,并生成非分散的交易密钥
第 25 页 共 38 页
神州数码思特奇密钥管理系统设计方案 2008/01/14
存放在主管领导卡中,用于发行主密钥卡中和主传输卡
主密钥卡和主传输卡:主密钥卡中和主传输卡密钥由领导卡以及厂家传输卡生成,其原理是将四张领导卡中生成的主密钥做相互运算,结合厂家传输卡生成新一轮的主密钥和传输密钥分别存放在主密钥卡和主传输密钥中,用它们可以发出洗卡母卡和洗卡控制卡。
洗卡母卡和洗卡控制卡: 洗卡母卡和洗卡控制卡存放传输密钥,发下级母卡时通过两级保护替换空白母卡的主控密钥,以便从主密钥卡中导出主密钥存放到下级母卡中。 用户卡发卡母卡:主密钥卡的密钥经过城市离散代码分散后导出,存放在用户卡发卡母卡中,其可以在洗卡母卡和洗卡控制卡的保护下,用用户卡序列号分散导出密钥发行用户卡。
SAM卡发卡母卡:SAM发卡母卡主要存放用于充值(交易)的密钥,其在洗卡母卡和洗卡控制卡的保护下发行,密钥不分散,直接导出。
PSAM卡:PSAM卡可以由城市级生成,然后发送给相应的城市管理中心,其由SAM卡发卡母卡在洗卡母卡和洗卡控制卡的保护下生成,内存放用户卡的交易密钥。
4.4.1. 密钥生成算法
发行领导卡(密钥基码ZMkey0)
KEY0=(N1+N2+N3+N4);
由四位领导分别输入四位数字(N1~N4),组合成16字节的一串数字。 KEY0:(16字节)
N1 N2 N3 N4 以上操作在绝对安全的环境下进行。 省级主密钥卡(DMkey(1) ~ DMkey(13))
DMkey(i)=ENCRYPT(ZMkey0,ZDkey(i)) ( i =1~13 ) 城市发卡母卡(C-key(i))
根据部和国家有关标准规范制订城市代码BCODE,写入城市种子密钥卡中。 C-key(i) =ENCRYPT( DMkey(i), BCODE) 城市SAM卡(C-key(i))
C-key(i) =ENCRYPT(DMkey(i), BCODE),不包括公用消费(扣款)密钥,该密
第 26 页 共 38 页
神州数码思特奇密钥管理系统设计方案 2008/01/14
钥直接导入。
用户卡( User_key(i) )
User_key(i) = ENCRYPT( Ckey(i) , 卡号 ) ( i =2~13 )
说明:主传输卡、洗卡母卡、洗卡控制卡主要存放传输密钥,发行母卡时起保护作用,所以其密钥是从两导卡导出。
第 27 页 共 38 页
神州数码思特奇密钥管理系统设计方案 2008/01/14
密钥分散示意图
用户卡 User-key(i)=E(C-key(i),卡号 ) 城市密钥发行卡 C-key(i) 城市SAM卡 C-key(i) C-key(i) = E(DMkey(i),BCODE ) 省级主密钥卡 DMkey(i)=E(ZMkey0, ZDkey(i) ) 厂家传输卡 ZMkey0 领导卡 ZDkey(i) 城市种子密钥卡 BCODE 4.5. 密钥管理系统主要卡片的生成
密钥系统产生主密钥卡和洗卡母卡和洗卡控制卡,生成初始使用的消费(扣款)密钥,为各城市密钥管理中心产生对应子密钥,并以母卡形式传输到各个城市。同时应在卡上和主机上记录发卡的有关信息以便跟踪审计。省级密钥管理系统将实现消费密钥,传输密钥安全的产生,备份,及向下一级机构的传递和密钥的销毁。传输密钥用于保证
第 28 页 共 38 页
神州数码思特奇密钥管理系统设计方案 2008/01/14
密钥在传递的过程中是以密文的形式出现即密钥的注入与导出均为密文。
4.5.1. 领导卡的发行
省级领导在绝对安全的环境下由若干名领导(暂定四位)自主输入自己的密码而产生本系统的密钥基码(ZMkey0),存放在发行领导卡中,可以一次性生成多张具有相同信息的领导卡A、领导卡B、领导卡C、领导卡D、由主管领导A、领导B、领导C、领导D分别存放保管。卡片由主管领导掌握,主控密钥kIctlR的安装在制造主密钥的控制下加密进行,传输密钥RPTK在kIctlR的控制下加密进行,ADF下数据的安装在RPTK控制下加密进行,保证数据加载的安全。同时在ADF下安装RTK导出密钥,用于ZMkey0的分散加密导出。
发行总控卡的卡结构:
kIctlr
MF KEY RPTK
卡发行过程:
ADF1
KEY
ZMkey0 RTK
A 认证: 发行领导卡 SAM制造主密钥卡
Get challege ------内部认证
外部认证---------加密后的随机数
第 29 页 共 38 页
神州数码思特奇密钥管理系统设计方案 2008/01/14
B 替换制造主密钥
9000
加密KictlR 替换制造主密钥-----加密后的KictlR C 增加RPTK
write key RPTK 9000 加密RPTK
RPTKC(生成传输密钥卡)
D 建立ADF1
Create ADF1 9000 E 建立ADF1文件
Select ADF1 9000 Create key 9000 F 增加ZMkey0
write key ZMkey0 9000
RPTK加密ZMkey0
G 增加导出密钥RTK
write key RTK 9000
RPTK加密RTK
第 30 页 共 38 页
神州数码思特奇密钥管理系统设计方案 2008/01/14
4.5.2. 省级主密钥卡的发行
由发行领导卡上的ZMkey0和厂家传输卡生成多组省级业务主密钥DMkey(i),存放在省级主密钥卡上,省级掌握,用于发行PSAM卡和城市密钥母卡。主控密钥kIctlR的安装在制造主密钥的控制下加密进行,传输密钥RPTK在kIctlR的控制下加密进行,ADF下数据的安装在RPTK控制下加密进行,保证数据加载的安全。卡中安装的RPTK密钥用于DMkey(i)密钥的加密导出,以便和发行领导卡中的密钥基码一起生成系统所需的各种消费(扣款)密钥。而RTK密钥用于密钥的分散导出,具有和RPTK密钥相似的功能。该卡由省级主管部门发行,用于生成城市密钥卡和PSAM卡。 省级主密钥卡的卡结构:
kIctlr
MF KEY RPTK
ADF1
DMkey(i)多组 RPTK RTK
卡的发行过程:
A 认证: 待发行的领导卡 SAM制造主密钥卡
Get challege ------内部认证
外部认证---------加密后的随机数 9000 B替换制造主密钥
加密KictlR 替换制造主密钥-----加密后的KictlR C增加RPTK
第 31 页 共 38 页
神州数码思特奇密钥管理系统设计方案 2008/01/14
write key RPTK 9000 加密RPTK
D建立ADF
Create ADF 9000
E建立ADF文件
Select ADF 9000 Create key 9000 其他信息等
F载入DMkey(i)
使用领导卡和厂家传输卡生成DMkey(i) 密钥并用RPTK加密
Writekey DMkey(i) DMkey(i) 9000 Writekey DMkey(i)N DMkey(i)N 9000 G增加导出密钥
Select ADF
9000 write key RPTK
第 32 页 共 38 页 加密RPTK
神州数码思特奇密钥管理系统设计方案 2008/01/14
9000 RPTK
write key RTK 9000 加密RTK
RTK
4.5.3. 城市主密钥卡的发行
由省级主密钥卡和城市种子密钥卡分散生成一组城市业务主密钥,存放在城市主密钥卡上,该卡由城市IC卡应用管理中心掌握,用于发行城市的用户卡和终端SAM卡。
在部IC卡应用服务中心发放城市主密钥卡时,首先使用洗卡母卡和洗卡控制卡认证省级级主密钥卡,然后可以使用DMkey(i)对城市种子密钥卡中的城市编码进行分散,得到各城市的消费(扣款)密钥BDMkey(i),同时在待发行的城市主密钥卡的kIctlR密钥的控制下,在城市主密钥卡中加密载入RTK。
在省级主密钥卡内部,分散得到BDMkey(i)=3DES(DMkey(i),BCODE),然后使用RTK加密导出BDMkey(i),即DES(RTK,BDMkey(i))。将该加密数据载入待发行的城市主密钥卡中,城市主密钥卡对其进行解密得到BDMkey(i)。
该卡和相应存放传输密钥RTK的传输密钥卡RTKC一起发给城市IC卡管理中心,用来发行用户卡。
城市管理中心领回该卡后,应加入BTK分散导出密钥,用于发行用户卡。 城市主密钥卡的卡结构:
kIctlr
MF KEY RTK
ADF1
KEY BDMkey(i)多组
卡的发行过程:
A 认证: 待发行的城市主密钥卡 SAM制造主密钥卡
Get challege ------内部认证
第 33 页 共 38 页 神州数码思特奇密钥管理系统设计方案 2008/01/14
外部认证---------加密后的随机数 9000 B替换制造主密钥
加密KictlR 替换制造主密钥-----加密后的KictlR C增加RTK
write key RTK 9001 加密RTK
D建立ADF
Create ADF 9000
E建立ADF文件
Select ADF 9000 Create key 9000 其他信息等
F载入BDMkey(i)
使用省级主密钥卡和城市种子密钥生成BDMkey(i)密钥并用RTK加密
Writekey BDMkey(i) BDMkey(i) 9000 第 34 页 共 38 页
神州数码思特奇密钥管理系统设计方案 2008/01/14
Writekey BDMkey(i)N BDMkey(i)N 9000 4.5.4. PSAM卡母卡的发行
PSAM卡母卡结构和城市主密钥卡相同,发行过程也相似。唯一区别在于其中消费(扣款)密钥不进行分散,直接导出安装。 PSAM卡母卡的卡结构:
kIctlr
MF KEY RPTK
ADF
KEY BDMkey(i)多组
DMkey(13)多组
4.5.5. 传输密钥卡的发行
省级发行传输密钥卡,用于控制各种密钥卡的传输发行,同时还应对发给每个城市的各种密钥卡配以传输密钥卡一起发行。
传输密钥卡结构:
MF KEY KictlR
ADF KEY RPTK
认证: 被传输使用的卡(如PSAM母卡) SAM制造主密钥卡
Get challege ------内部认证
外部认证---------加密后的随机数 9000 第 35 页 共 38 页
神州数码思特奇密钥管理系统设计方案 2008/01/14
替换制造主密钥
加密KictlR 替换制造主密钥-----加密后的KictlR 建立ADF1
Create ADF1 9000 建立ADF1文件
Select ADF1 9000 Create key 9000 增加RPTK
write key RPTK 9000
加密RPTK RPTKC
4.5.6. 城市发卡母卡,发卡控制卡,和洗卡控制卡
在发行城市发卡母卡时,省级首先进行总控制卡的传输密钥在kIctlR的保护下注入发卡母卡中的导入密钥文件中,消费密钥在与城市代码及行业代码分散后在传输密钥的保护下注入到发卡母卡的密钥文件中,这样就产生了城市的发卡母卡。同时将控制卡和洗卡母卡中的传输密钥经城市代码与行业代码分散后产生新的传输密钥注入发卡母卡。发卡时在发卡控制卡和发卡母卡的保护下将发卡母卡中的密钥注入到用户卡。
4.5.7. PSAM卡,PSAM卡洗卡控制卡
先对空白卡认证卡将PSAM卡的卡片主控密钥改为kIctlR。总控制卡中的消费密钥
第 36 页 共 38 页
神州数码思特奇密钥管理系统设计方案 2008/01/14
在kIctlR的保护下注入到PSAM卡,接着将PSAM卡的卡片主控密钥替换为新的传输密钥,同时将传输密钥注入PSAM卡洗卡控制卡中。在PSAM卡的二次发卡中需通过PSAM卡洗卡控制卡对PSAM卡进行认证。
4.5.8. 用户卡,用户卡母卡,母卡控制卡(用户卡空间租赁方案)
4.5.8.1. 卡片结构
用户卡母卡结构
MF KEY RPTK
ADF
KEY K1 (母卡应用主控)
K2 (传输密钥)
计数器文件(存放密钥使用次数)
母卡控制卡
MF KEY RPTK
ADF
KEY K1 (母卡应用主控)
K2 (加密密钥)
用户卡
MF KEY RPTK
ADF(n)
KEY K1 (用户卡应用主控)
4.5.8.2. 用户卡发行流程
● 领取用户卡母卡、母卡控制卡和用户卡。 ● 通过母卡控制卡对用户卡作外部认证。
第 37 页 共 38 页
神州数码思特奇密钥管理系统设计方案 2008/01/14
● 更新用户卡主控密钥:
* 将新主控同过母卡控制卡加密,将密文以密钥的方式写入用户卡母卡(发行第一张卡时)。
* 计数器中数据不为0,在传输密钥的保护下导出新的主控密钥密文,成功后计数器减1。 * 更新用户卡主控。
● 建立新的结构,并且创建新的交易密钥。
第 38 页 共 38 页
因篇幅问题不能全部显示,请点此查看更多更全内容