一种新型机读旅行证件访问控制方法

文档序号:6430498阅读:527来源:国知局
专利名称:一种新型机读旅行证件访问控制方法
技术领域
本发明属于智能卡技术领域,涉及一种证件访问控制方法,尤其涉及一种机读旅行证件访问控制方法。
背景技术
机读旅行证件(MachineReadable Travel Documents,MRTDs)是指符合国际民航组织 anter-national Civil Aviation Organization, ICA0)推荐的 D0C9303 规范、适用于机读阅读的供国际旅行使用的各种证件,包括护照、鉴证、通行证和身份证等。电子机读旅行证件中芯片操作系统是整个证件的核心,具有电子护照和往来港澳通行证双重应用, 承担着存储个人信息、保障安全存取和记录通关信息等功能,可加强出入境管理、加快通关速度、防止证件伪造和变造。电子芯片的增加,使得机读旅行证件具有了传统证件所没有的易受攻击性。恐怖分子可能非法窃取证件芯片中的数据信息、跟踪特定乘客、或者根据芯片的信息判断国籍引爆炸弹等严重恐怖犯罪等,所以机读旅行证件的安全是关系到国家安全的一项系统工程,涉及到多个层面的安全内容,如芯片制造、COS设计、通信协议、PKI体系、 生物特征识别、应用安全和管理安全等。攻击者通常都是从最薄弱环节入手,所以每项安全策略的制定都需要从系统的角度综合考虑。确保机读旅行证件的安全对维护国家安全具有非常重要的意义。

发明内容
为了解决以上问题,本发明提供一种新型机读旅行证件访问控制方法,该方法可广泛应用于电子护照和港澳通行证,有效的保护了机读旅行证件的数据安全。为了实现上述目的,本发明采用一种新型的访问控制模式FAC,具体内容如下步骤1 建立基本控制密钥(1)加密密钥KeyFAC 采用密码机生成,并在初始化过程中直接装载到证件中;(2)MAC(消息认证码)密钥KeyFAC MC在相互认证时,用参数指定。步骤2 认证和建立会话密钥(1)方式1 普通操作时,利用随机数建立会话密钥;(2)方式2 特殊操作时,利用ATC生成会话密钥。步骤3:安全消息按数据是否加密可以分成两种方式,数据加密又可分为CBC和ECB两种方式(1)数据加密;(1. 1)CBC模式加密数据,并计算MAC ;(1. 2) ECB模式加密数据,并计算MAC ;(2)明文数据,并计算MAC。进一步地,步骤2中所述的利用随机数建立会话密钥具体包括以下步骤步骤一机具(IFD)向卡(ICC)发送Get Challenge 命令;
步骤二 ICC产生随机数RND. ICC,并返回给IFD ;步骤三=IFD完成以下的操作产生RND. IFD和K. IFD ;计算S = RND. IFD RND. ICCI I K. IFD、E_IFD = E [KENC] (S)、M_IFD = MAC [Kmac (E_IFD)];发送相互认证命令(E_ IFD |M_IFD作为数据);步骤四ICC完成以下的操作检查E_IFD的校验值1正0 ;解密E_IFD得到S ;从S 中提取RND. ICC,检查机具是否返回正确的RND. ICC (与保存的RND. ICC比较);产生K. ICC ; 计算 R = RND. ICC RND. IFD K. ICC、E_ICC = E [KENC] (R)、M_ICC = MAC[Kmac] (E_ICC),返回响应(E_ICC| M_ICC);步骤五IFD完成以下的操作检查E_ICC的校验和M_ICC ;解密E_ICC得到R ;从 R中提取RND. IFD,检查卡是否返回正确的值(与保存的RND. IFD比较)。完成上述5个步骤之后,机具和卡拥有相同的会话密钥和MAC密钥 KS_ENC=KS_MAC=K.ICC eK.IFD0进一步地,步骤2中所述的利用ATC生成会话密钥具体包括以下内容1.算法描述会话密钥分散函数使用16个字节的ICC主密钥MK和两个字节的ATC作为输入, 产生16个字节的ICC会话密钥SK。会话密钥分散函数为每一个ICC应用交易产生一个唯一的会话密钥。为此,会话密钥分散函数生成一个密钥树。这个树用ICC的主密钥作为它的根,在其上存在着众多的中间密钥层。每一个中间密钥由树中其下层的密钥导出。在数的顶端是会话密钥,一个会话密钥对应一个ATC的值。会话密钥分散函数有两个参数H:树的高度,也就是在树中除了基本层以外,中间密钥层的数量;b 分枝因子,也就是一个“父”密钥(在树中低一层)产生“子”密钥的数量。在第i层密钥的数量是仏0彡i <H。可能产生会话密钥的数量是bH且必须超过ATC的最大值Q16-I)。设Φ是影射两个16个字节的数组X、Y和一个整数j到一个16个字节数组的函数,定义如下Z=O(X5Yj)= (DES3(X)[Yl θ (j mod b)]||DES3(X)[YR (j mod b) 'FO'])其中Yl和Ye是两个8个字节的数组,且Y = (YL | | Ye)。Φ的反函数Φ—1定义为
Υ=Φ_1(Χ,Ζο) = ((DESS^CX)^] Θ (j mod b)) || (DESS'^X)^] (j mod b) 'F0'))其中&和&是两个8个字节的数组,且Z= (Zj I Zk)。定义IKu为ICC的主密钥,因此IKu = MK。这个密钥用来导出密钥树第一层的 b个中间密钥。对于j = 0,...,b-Ι IKljj = Φ (MK, IV, j)其中IV是16个字节的初值,不需要保密。位于更高层的中间密钥用函数Φ从它的父密钥和祖父密钥导出。在第i层 O彡i彡H),第j个密钥(0彡j彡b1-!)表示为
IKiij= Φ (IKh, J/b,IKi^zb2, j)其中“/”表示整除。设X= IKH,ATC θ IKH-2,ATC/b2那么会话密钥SK等于X。作为选项,可设置会话密钥中每个字节的最低位,使其满足奇校验的要求。注意当作为下一步的输入时,中间密钥不必修改校验位。2.算法实现推荐b的值为2或者4,相应H的值为16和8,这样每个卡可完成不超过216次交易。推荐IV的值是零。下面函数的直接实现方法以伪代码的形式给出。在这个实现方法中,(a0, B1,... , Bh^1)为交易时亥Ij ATC的b-ary表示法,因此ATC = a^+a^2+. . . +aE_2h+aE^ 且GP和P分别表示祖父密钥和父密钥。使用ATC的当前值,从ICC的主密钥MK,会话密钥SK的计算方法如下所示。
GP=MK; Ρ=Φ(ΜΚ, ν,α0);
for (i=l;i<H-l;i++) {
T=P;
P=0(P,GP,ai);
GP=T; }
SK=0(P,GP,aH-i) GP;3.主密钥分散机制本密钥分散机制是将PAN和PAN序列号以及16位的发行方主密钥IMK作为输入, 生成16位的ICC主密钥MK,具体方法如下1、并接PAN和PAN序列号,得到X,如果X不够8位,在其左边补零,补齐8位,得到 Y。2、计算两个8位的数Zl = DES3 (IMK) [Y]Zr=DES3(IMK)[Y Θ (FF|| FF|| FFII FFII FFII FFII FFII FF)]定义Z = 41 I Ze即ICC的主密钥MK = Ζ。进一步地,步骤3所述的安全消息,采用安全报文的方式,具体包括以下内容利用前面介绍的机制建立会话密钥后,接口设备和芯片都拥有了相同的会话密钥。FAC的安全消息具有两种方式
权利要求
1.一种新型机读旅行证件访问控制方法,其特征在于包括以下步骤 步骤1 建立基本控制密钥;步骤2 认证和建立会话密钥; 步骤3:安全消息; 进一步地,步骤1包括如下步骤(1)加密密钥KeyFAC■采用密码机生成,并在初始化过程中直接装载到证件中;(2)MAC(消息认证码)密钥KeyFACMAC在相互认证时,用参数指定; 进一步地,步骤3包括如下步骤(1)数据加密;(2)明文数据,并计算MAC。
2.根据权利要求1所述的一种新型机读旅行证件访问控制方法,其特征在于所述步骤2包括以下两种方式(1)方式1普通操作时,利用随机数建立会话密钥;(2)方式2特殊操作时,利用ATC生成会话密钥。
3.根据权利要求2所述一种新型机读旅行证件访问控制方法,其特征在于所述步骤2 中的利用随机数建立会话密钥具体包括以下步骤步骤一机具(IFD)向卡(ICC)发送Get Challenge命令; 步骤二 ICC产生随机数RND. ICC,并返回给IFD ;步骤三IFD完成以下的操作产生RND. IFD和K. IFD ;计算S = RND. IFD | | RND. ICCI I K. IFD、E_IFD = E [KENC] (S)、M_IFD = MAC [Kmac (E_IFD)];发送相互认证命令(E_ IFD |M_IFD作为数据);步骤四ICC完成以下的操作检查E_IFD的校验值M_IFD ;解密E_IFD得到S ;从S中提取RND. ICC,检查机具是否返回正确的RND. ICC(与保存的RND. ICC比较);产生K. ICC ; 计算 R = RND. ICC RND. IFD K. ICC、E_ICC = E [KENC] (R)、M_ICC = MAC[Kmac] (E_ICC),返回响应(E_ICC| M_ICC);步骤五IFD完成以下的操作检查E_ICC的校验和M_ICC ;解密E_ICC得到R ;从R中提取RND. IFD,检查卡是否返回正确的值。
4.根据权利要求2所述一种新型机读旅行证件访问控制方法,其特征在于所述步骤2 中的利用ATC生成会话密钥具体包括以下步骤步骤一算法设计; 步骤二 算法实现; 步骤三主密钥分散机制。
5.根据权利要求4所述的一种新型机读旅行证件访问控制方法,其特征在于所述主密钥分散机制是将PAN和PAN序列号以及16位的发行方主密钥IMK作为输入,生成16位的ICC主密钥MK,具体方法如下(1)并接PAN和PAN序列号,得到X,如果X不够8位,在其左边补零,补齐8位,得到Y;(2)计算两个8位的数。
6.根据权利要求1或2所述一种新型机读旅行证件访问控制方法,其特征在于所述步骤3中的数据加密包含以下两种方式(1)CBC模式加密数据,并计算MAC ;(2)ECB模式加密数据,并计算MAC。
全文摘要
本发明提供一种新型机读旅行证件访问控制方法,该方法可广泛应用于电子护照和港澳通行证,有效的保护了机读旅行证件的数据安全。本发明采用一种新型的访问控制模式FAC,具体包括建立基本控制密钥认证和建立会话密钥;安全消息。与现有技术相比,本发明的优点在于1、FAC访问控制加密密钥采用密码机生成,并在机读旅行证件的初始化过程中直接装载到证件中;基本访问控制MAC密钥使用参数指定,不单独生成。2、定义了两种可选的会话密钥建立方式利用随机数建立会话密钥和利用ATC产生会话密钥。
文档编号G06K7/00GK102236770SQ20101015079
公开日2011年11月9日 申请日期2010年4月20日 优先权日2010年4月20日
发明者于锐, 张之津, 张小波, 李胜广, 李莉, 薛艺泽 申请人:公安部第一研究所, 北京中盾安全技术开发公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1