欢迎您访问郑州兴邦电子股份有限公司官方网站!
阿里巴巴诚信通企业
全国咨询热线:40000-63966
兴邦电子,中国水控机第一品牌

联系兴邦电子

全国咨询热线:40000-63966

售后:0371-55132951/55132952

工厂:河南省 郑州市 高新区莲花街电子电器产业园

校园一卡通系统中密钥管理系统的设计与实现

文章出处:http://www.singbon.com 作者: 人气: 发表时间:2011年09月13日

[文章内容简介]:本文首先以IC卡技术和密码算法技术为基础,提出了一卡通系统的密钥管理系统的解决方案;然后针对系统的实现,详细描述了密钥分散的设计和实现过程;最后对系统中使用的算法进行了描述和安全性分析。

  摘要:以密钥管理在校园一卡通系统中的应用为中心,研究密钥管理系统在一卡通系统中的具体应用模式,并在校园一卡通项目中实现了密钥管理。首先以IC卡技术和密码算法技术为基础,提出了一卡通系统的密钥管理系统的解决方案;然后针对系统的实现,详细描述了密钥分散的设计和实现过程;最后对系统中使用的算法进行了描述和安全性分析。

  我校的校园一卡通项目采用双界面CPU卡作为加密和存储介质,CPU卡的加密\解密功能由内嵌的硬件加密协处理器来实现,具有很高的安全性。按照对称加密体制设计和实现了一种新型密钥管理系统。系统中的密钥涉及到两部分,一部分是由银行负责产生并维护的密钥,另一部分由校园一卡通系统中的密钥管理系统产生,并由校方进行维护。密钥管理系统作为一卡通工程的核心部分,符合PBOC的密钥管理规范,密钥管理系统将生成涉及PBOC交易的8个主密钥,并安全存放和使用。

  1 密钥系统的设计与实现

  密钥管理包括密钥的生成、装入、传递、存储、恢复、销毁等内容。密钥管理系统中使用的密钥都是双倍长度的密钥(16B),交易过程中使用的过程密钥都是单倍长度(8B)。

  一卡通生成的主密钥称为根密钥,标志为G*K,主要有消费/取现共享密钥。一卡通生成和使用的密钥称为主密钥,或称为一卡通专有密钥,标志为M *K。用户卡使用的经过主密钥分散的密钥成为用户卡密钥,标志为D*K。用户卡交易过程中使用的过程密钥标志为S*K。

  系统利用密钥卡来承载密钥,密钥卡在一卡通密钥管理系统内,一卡通与一卡通,一卡通与用户卡之间进行安全的传递。

  1.1 密钥类型

  在密钥管理系统中的密钥可分为三大类:一卡通共享密钥;一卡通专有密钥和管理密钥[2]。一卡通共享密钥由一卡通生成和维护,安全存放在一卡通的母卡A和母卡B中。消费/取现根密钥是一卡通共享主密钥,用于PBOC卡的取现/消费交易。一卡通专有密钥由一卡通生成和维护,安全存放在一卡通的母卡A 和母卡B中。一卡通生成其他交易使用的主密钥,包括部分PBOC卡片的维护密钥。管理密钥有两种作用:作为认证密钥和保护密钥(传输密钥)。认证密钥用来对卡片做外部认证的,一般记为ADMK。保护密钥是用来对主密钥进行加密保护注入到卡片或输出到另一张卡片。保护密钥分为导人密钥和导出密钥两种,所有保护密钥都用外层的认证密钥加密保护进入卡片中。

  1.2 密钥的索引

  每张用户卡含有两组密钥,用两个索引值来区分。正常时使用第一索引的密钥,异常情况下(如密钥泄露)启用第二索引。此机制保证在异常情况下更换密钥时,不需收回已发出的用户卡,只需将应用系统(包括PSAM)中的密钥更新为新的索引。

  每个版本的消费/取现根密钥含有两个索引,预留两个索引作为根密钥的备用索引。所以,消费/取现密钥采用4个索引。

  1.3 密钥卡的分类

  为了将共享密钥安全地传递到各个子系统,一卡通密钥管理系统采用几种密钥卡来实现。密钥卡分为3类:母卡;控制卡和认证卡。

  母卡里存放着一卡通生成的专有密钥,一卡通的母卡由母卡A 租母卡B实现,只有同时持有A、B卡,才可以将主密钥导出,一卡通发行一卡通的发卡母卡,发卡母卡里存放着一卡通的消费/取现主密钥,一卡通将专有密钥注入发卡母卡,一卡通利用该卡将消费/取现密钥,圈存、圈提等密钥注入用户卡。

  控制卡里的主密钥是有输出次数控制的,一卡通密钥管理系统里有总控卡、HSAM 控制卡、PSAM 控制卡三种。总控卡的主密钥由一卡通母卡A和母卡B导人;HSAM 控制卡、PSAM 控制卡是总控卡的子卡。总控员持有HSAM 控制卡,将密钥导人HSAM 模组,HSAM 控制卡的主密钥只能导出一次;操作员持有PSAM 控制卡,将一卡通的M *K导人PSAM 卡;一卡通发卡母卡是由一卡通发行的,一卡通将银行生成的其他专有密钥注入发卡母卡,发卡员利用一卡通发卡母卡和发卡控制卡来发行用户卡。

  认证密钥卡的主密钥文件里存放着密钥卡的认证密钥,有一卡通操作员卡、一卡通认证密钥卡两种。一卡通操作员卡是一卡通制卡员持有的制卡“钥匙”,操作卡里存放着一卡通密钥卡的管理密钥,不可以输出,但可以对密钥卡的管理密钥进行认证修改;一卡通认证密钥卡是一卡通密钥卡的认证密钥卡,由一卡通发行,一卡通用它来验证一卡通所发下来的一卡通卡是否正确,并可以修改该一卡通卡的管理密钥。

  1.4 系统结构

  一卡通密钥管理系统包含了几项主要的功能模块:密钥生成模块;密钥传递模块;用户卡发卡(相关系统);PSAM 卡管理系统模块;测试发卡(附加功能模块);一卡通交易测试系统(附加功能模块);密钥的应用关系。如图1所示为密钥管理系统发卡过程中卡片产生的主要流程图。

  ①校园“一卡通”密钥生成模块。利用密钥生成模块来生成所需的主密钥,包括:消费主密钥;圈存、圈提主密钥;解锁(PIN)主密钥、重装(PIN)主密钥;修改(透支限额)主密钥,应用维护主密钥;TAC主密钥。

 密钥管理系统总体流程图

  图1 密钥管理系统总体流程图

  一卡通主密钥由种子A、种子B、系统的随机数决定生成,生成的主密钥由一卡通决定该密钥的版本和索引,也可以采用系统默认的顺序。一卡通主密钥生成后,分别注入到母卡A、母卡B,母卡A和母卡B由校领导保存,并持有该卡的PIN。

  主密钥的生成算法为:输入种子A(SEEDA)和种子B(SEEDB)后,产生一个随机数RAND,该随机数固定在这个生成模块上。KEY1=3DES(SEEDA I1SEEDB,RAND),主密钥检查该KEY的强度,若合格则作为候选的主密钥输出;若不合格,RAND=RAND+1;继续产生KEY1,直到产生合格的主密钥。KEY2—3DES(SEEDA l l SEEDB,RAND+ +),继续产生KEY2,直到输出外界所需个数的主密钥。系统可以采用KG卡来实现这一个过程,如图2所示。

 一卡通密钥生成模块图

  图2 一卡通密钥生成模块图

  主密钥生成后,注入到母卡A 和母卡B中,母卡A中的主密钥必须使用母卡B的主密钥方可以导出。必须同时持有母卡A、母卡B及密钥卡的密码,才可以导出其中的主密钥。

  ② 校园“一卡通”密钥传递模块。利用图2所表示的密钥生成模块,学校两位校领导分别在密钥系统上输人种子A、B,密钥系统生成一卡通系统所需的密钥,并分别保存在母卡A和母卡B中。为了便于使用,密钥系统将母卡A、B的密钥合成在一张总控卡中(包括多个版本和多个索引)。校方严格保管好总控卡,为最大程度上防范风险,通过总控卡,密钥系统分别制作出3种不同的密钥卡,参见图3。发卡母卡和发卡控制卡交给发卡机构(建设银行或其他发卡公司)I主机HSAM 卡内的密钥(圈存密钥、卡片应用维护密钥等)通过安全方式传递给IC卡片瞥理系统 校园IC卡结算服务器、圈存设备。密钥系统还做出PSAM 卡发卡控制卡,利用PSAM 卡发卡子系统发出PSAM 卡。

密钥卡制作示意图

图3 密钥卡制作示意图

  2 相关算法

  CPU双界面卡一般采用DES加密算法,这是一种迭代分组密码算法,使用的密钥长度为64位,为了进一步提高系统安全强度,在我们的校园一卡通系统中,双界面CPU卡采用的是三重DES算法,采用的密码长度为128位。相关算法如下。

  2.1 3DES算法

  MK对输入数据进行3DEA运算。如图4所示。

  推导DK右半部分的方法是:将分散数据的最右16个数字求反,作为输入数据;将MK作为加密密钥;用MK对输入数据进行3DES运算。如图5所示。

  密钥分散算法为:

  2.3 安全报文算法


  3 结 论

  按照PB0C的密钥管理系统规范,并结合我校校园一卡通的具体情况,我们开发了一个严密灵活的双界面CPU卡密钥管理系统,该系统包括密钥管理系统和PSAM 卡发卡子系统。它具有很好的安全性,密钥管理系统既保证密钥的安全存放、安全传递和安全使用;也有对异常情况的应对措施,这样保证了高强度的校园一卡通系统的安全性。

    【稿件声明】:如需转载,必须注明来源和作者,保留文中图片和内容的完整性,违者将依法追究。

本文关键词:密钥管理,密钥系统,密钥,校园一卡通,一卡通
回到顶部