一种智能卡外部认证方法

文档序号:7755280阅读:365来源:国知局
专利名称:一种智能卡外部认证方法
技术领域
本发明涉及一种智能卡的内部认证方法,特别涉及一种计算机安全以及智能卡的 应用安全领域,基于PKI技术的智能卡外部认证方法。
背景技术
PKI体系的信任机构称为CA,而保证私钥安全是PKI体系的核心,也就是说,如果 私钥被泄露,那么整个PKI体系就会处于危险之中。在早期的PKI应用中,私钥是以软证 书形式保存在终端上的,由于终端容易遭受病毒、木马的攻击,因此容易出现私钥泄漏的问 题。为了解决这一问题,存有私钥和证书的智能卡作为独立于终端的密码设备被应用到PKI 体系中,尤其是自身能够产生公私钥对的智能卡,其私钥无法被终端读取,各种加解密操作 直接在智能卡内完成,从而加强了私钥的安全性。虽然智能卡生成的私钥对外界是不可读的,但仍然无法实现私钥信息的绝对安全。对于智能卡私钥信息的攻击一般可分为三种物理攻击、旁信道攻击和逻辑攻击; 物理攻击是指通过微探针技术、版图重构和聚离子束技术等物理手段剖析智能卡内部存储 介质中的私钥信息;旁信道攻击是指通过观察电路中的某些旁信道物理量(如能量消耗、 电磁辐射、时间等)的变化规律来分析智能卡的私钥信息;逻辑攻击是指通过对智能卡的 通信接口进行分析,以期发现智能卡通信协议、密码算法及其实现过程中所潜在的逻辑缺 陷,包括隐藏未用的命令、不良参数与缓冲区溢出、文件存取漏洞、恶意进程、通信协议和密 码协议的设计与执行过程等,由于逻辑攻击不需要借助专门的仪器设备,也不需要进行大 量的分析运算,受到掌握大量僵尸计算机的黑客们关注。常见的智能卡安全机制如下PIN码验证,指通过输入口令(PIN码)进行身份验证;为了防止外部的暴力攻击, PIN码验证可以设置出错上限,如果PIN码连续出错超过一定次数,智能卡就会自动锁定。内部认证,指对智能卡内部所代表的身份进行验证;一般通过公钥证书来认证智 能卡拥有对应的私钥。外部认证,指对智能卡外部(包括远程用户,读卡器,CSP等)信息资源身份进行 认证,认证方法同内部认证。SMC机制,在普通的终端与智能卡交互中,终端发送到智能卡的PIN码、私钥 数据可能会被黑客截获;为了解决指令传输的保密性问题,IS0/IEC 7816-4介绍了 SMC(Security Module Card)机制,其具体流程是用户先将智能卡操作指令传入SMC,SMC 将指令加密后传出,发送给用户智能卡执行;这在一定程度上保证了智能卡指令的安全性; 但是,当SMC对智能卡操作指令加密时,SMC的安全并不能得到保证,传向SMC的指令同样 有被截取的风险。以采用双证书机制的PKI应用为例,智能卡中一般带有两对公私钥,一对是用来 对信息进行加解密的,一般称为加密公私钥对,由第三方CA签发并托管(以下称其私钥为SK1,公钥为PK1);另一对是用来对数据进行签名的,一般称为签名公私钥对,由智能卡本身 产生(以下称其私钥为SK2,公钥为PK2)。现在我们结合实际应用对智能卡私钥文件的生命周期做详细分析私钥的产生,SK1是由CA产生的,并由CA或其它可信管理机构负责写入,然后将对 应公钥PK1证书发布出来,写入的私钥SK1对外界也是不可读的。在智能卡中,签名公私钥对都是由智能卡本身产生的;当用户向CA申请注册并得 到CA的认可后,CA就会要求智能卡产生签名公私钥对,然后私钥SK2留在智能卡内,并且对 外界不可读;而公钥PK2则导出,由CA对其签名生成证书。私钥的更换,当出现智能卡硬件被损坏、智能卡内证书到期或证书泄漏等情况时, 用户必须更换证书,无论是更换签名公私钥对还是加密公私钥对,由于证书需要CA签名, 所以都需要向CA进行申请。私钥的撤销,当出现智能卡硬件被损坏、卡内证书到期、证书泄漏或用户的个人身 份发生变化等问题时,可信管理机构需要撤销证书;一般情况下,撤销用户的签名和加解密 两种证书之后,相应的私钥也被撤销。私钥文件的安全性分析,通过对私钥文件生命周期的简要分析,我们可以总结现 有智能卡私钥文件面临以下主要潜在风险私钥的截取风险,CA处的安全是可以得到保证的,但对于最终的制证单位RA而 言,可能达不到CA的各种安全保护条件,尤其是对通过互联网连接起来的各个远程RA来 说,一旦RA处制证的计算机被木马入侵,加解密私钥SK1被截取,那么私钥持有者将会处在 危险之中。由于签名私钥SK2是由智能卡自身产生并且外界无法读取,所以不存在被截取的 风险。私钥的覆盖风险,私钥覆盖主要是将私钥文件用未认证的私钥或垃圾信息覆盖 掉。如果攻击者绕过了权限验证,获得写入公私钥对的操作权限,那么就可以把SK1覆盖掉。 如果出现SK1被覆盖的情况,就会造成合法加密的信息无法还原,从而无法进行正常的加解 密操作。同样,如果攻击者绕过了权限验证,获得生成公私钥对的操作权限,就会促使智能 卡产生新的签名公私钥对,由于SK2是用来签名的,当SK2被覆盖后,就会出现对方的签名验 证一直无法通过,这就造成了事实上的拒绝服务攻击。私钥的替换风险,加解密私钥SK1的替换风险主要是用攻击者申请的合法私钥和 证书替换受害者的私钥和证书,当SK1以明文写入智能卡中,并且没有与个人身份信息进行 关联,或没有进行签名,那么加解密私钥和证书文件就会很容易被替换掉。如果替换的私钥 是由可信机构发布的,并且正处于使用过程中,那么黑客完全能够伪装成受害者,而且此时 受害者完全不知情;如果黑客截取到受害者接收到的加密信息,就可以得到明文信息,监控 受害者的加密通信。由于签名私钥SK2无法外部写入,所以只有覆盖风险而没有被替换的风险。综上所述,针对上述私钥文件存在的风险,特别需要一种智能卡外部认证方法,以 解决以上提到的问题。

发明内容
本发明的目的在于提供一种智能卡外部认证方法,针对上述私钥文件存在的风 险,通过对私钥相关操作内容进行签名验证,解决以上问题。本发明所解决的技术问题可以采用以下技术方案来实现一种智能卡外部认证方法,其特征在于,它包括如下步骤(1)由CA产生的生产公私钥对PKcZSKtl,并将生产公钥PKtl在出厂时写入智能卡 中;(2)通过生产私钥SKtl对加解密公私钥对PK1Z^SK1加密写入智能卡中;(3)通过加解密私钥SK1对签名公私钥对PK2/SK2加密写入智能卡;(4)生产私钥SKtl由CA管理,对智能卡私钥的操作都要由CA使用生产私钥SKtl签 名。在本发明的一个实施例中,当CA初始化智能卡时,其写入的加解密公私钥对PK1/ SK1的步骤如下①由CA产生加解密公私钥对PK1Z^SK1 ;②由CA用生产私钥SKtl对加解密私钥SK1进行加密,得到Stl = E (SK1) SK0 ;③由智能卡用生产公钥PKtl解密接收到的Sc/,得到SK1 = D(S0' )PkqjSK1就是所要 写入的加解密私钥。在本发明的一个实施例中,当智能卡需要产生签名公私钥对PK2/SK2时,其步骤如 下①由CA发出产生签名公私钥对的指令Csig ;②由CA用生产私钥SKtl对指令进行签名,得到签名S1 = Sig(Csig)sro ;③由CA用托管的加解密公钥PK1对S1进行加密,得到Etl = E(S1)pki ;④由智能卡用加解密私钥SK1对接收到的E。’进行解密,得到S/ = D(E0' )SK1 ;⑤由智能卡用生产公钥PKtl对S/进行验证,得到Csig’ = Veri (Si’ )PK0 ;⑥智能卡中,如果Csig = CSig’,则产生签名公私钥对PK2/SK2 ;否则,拒绝。在本发明的一个实施例中,当智能卡在进行加解密公私钥对更新时,数据传输过 程可能处于远程环境下,其步骤如下①由CA产生加解密公私钥对PK1,/SK1,;②由CA用生产私钥SK0对SK/进行加密,得到V = E(SK1' )SK0 ;③由CA用已注册的签名公钥PK2对S。’进行加密,得到E1 = E (S0' )PK2 ;④由智能卡用签名私钥SK2对接收到的E/进行解密,得到S。” = D(E/ )SK2 ;⑤由智能卡用生产公钥PKtl解密接收到的S。”,得到SK/,= D(Sq”)pk。。在本发明的一个实施例中,当 能卡需要产生签名公私钥对时,可以利用签名公 钥PK2进行数据加密,其步骤如下①由CA产生签名公私钥对的指令Csig’ ;②由CA用生产私钥SKtl对指令进行签名,得到签名S/ = Sig(CSig’ )SK0 ;③由CA用签名公钥PK2对S1'进行加密,得到E2 = E(S1' )PK2 ;④由智能卡用签名私钥SK2对接收到的E2'进行解密,得到S/’ = D(E2' )SK2 ;⑤由智能卡用生产公钥PKtl对S1 ”进行验证,得到Csig” = Veri (S/,) ;
⑥智能卡中,如果Csig ’ = Csig ”,则产生PK2’ /SK2’,转步骤⑦;否则,拒绝;⑦由智能卡撤销PK2/SK2。在本发明的一个实施例中,当智能卡需要更新生产公私钥对PKcZSKtl时,其更新步 骤如下①由CA产生新的生产公私钥对PKQ’ /SK0';②由CA用生产私钥SKtl对新的生产私钥SKc/进行签名,得到S2 = Sig(SK0' )SK0 ;③由智能卡用新的生产公钥PKc/解密接收到的S2’,得到SKJ = D (S2’ )PK0 ;④智能卡中,如果SKc/ = SK/,那么将新的生产私钥SKc/写入智能卡,转步骤⑤; 否则,拒绝;⑤由智能卡撤销原来的生产公私钥对PKcZSKc^本发明的智能卡外部认证方法,通过对私钥相关操作内容进行签名验证,有效地 弥补智能卡中私钥文件所存在的缺陷,由CA实现对私钥操作内容完整性的保护,能够在不 安全的终端和信道环境下避免私钥文件被截取、覆盖和替换的风险,实现本发明的目的。本发明的特点可参阅本案图式及以下较好实施方式的详细说明而获得清楚地了解。


图1为现有的智能卡的文件系统的结构示意图;图2为本发明的智能卡外部认证方法的流程框图。
具体实施例方式为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结 合具体图示,进一步阐述本发明。如图2所示,本发明的智能卡外部认证方法,它包括如下步骤(1)由CA产生的生产公私钥对PKcZSKtl,并将生产公钥PKtl在出厂时写入智能卡 中;(2)通过生产私钥SKtl对加解密公私钥对PK1Z^SK1加密写入智能卡中;(3)通过加解密私钥SK1对签名公私钥对PK2/SK2加密写入智能卡;(4)生产私钥SKtl由CA管理,对智能卡私钥的操作都要由CA使用生产私钥SKtl签 名。为了保证智能卡写入信息的完整性,在智能卡出厂时,智能卡厂商需要获得CA产 生的生产公钥PKtl,并将生产公钥PKtl安全地内置于智能卡中,与其相对的生产私钥SKtl由CA 管理,后续对智能卡私钥的操作都要由CA使用生产私钥SKtl签名。下面分两个阶段对智能 卡私钥文件的生命周期进行描述1)智能卡的私钥生产阶段智能卡上所有对私钥的操作,可以由生产公私钥对PKcZSKtl来保护。,其步骤如下①由CA产生加解密公私钥对PK1Z^SK1 ;②由CA用生产私钥SKtl对加解密私钥SK1进行加密,得到Stl = E (SK1) SK0 ;③由智能卡用生产公钥PKtl解密接收到的Sc/,得到SK1 = D(S0' )PkqjSK1就是所要写入的加解密私钥。加解密公私钥对写入后,当智能卡需要产生签名公私钥对时,可以利用加解密公 钥PK1进行数据加密,步骤如下①由CA发出产生签名公私钥对的指令Csig ;②由CA用生产私钥SKtl对指令进行签名,得到签名S1 = Sig(Csig)sro ;③由CA用托管的加解密公钥PK1对S1进行加密,得到Etl = E(S1)pki ;④由智能卡用加解密私钥SK1对接收到的E。’进行解密,得到S/ = D(E0' )SK1 ;⑤由智能卡用生产公钥PKtl对S/进行验证,得到Csig’ = Veri (Si’ )PK0 ;⑥智能卡中,如果Csig = CSig’,则产生签名公私钥对PK2/SK2 ;否则,拒绝。2)智能卡私钥文件的使用阶段在智能卡的整个生命周期中,所有私钥操作内容都需要使用生产公私钥对PKcZSktl 作为数据完整性验证工具,以确保私钥操作来自CA或者CA认可过的机构,而私钥操作内容 的保密性则由智能卡签名公私钥对PK2/SK2来保障。下面对后期的智能卡私钥更新进行具 体的描述。i)更新加解密公私钥对当智能卡在进行加解密公私钥对更新时,数据传输过程可能处于远程环境下,所 以需要对传送数据进行加密,其步骤如下①由CA产生加解密公私钥对PK1' /SK1';②由CA用生产私钥SK0对SK/进行加密,得到V = E(SK1' )SK0 ;③由CA用已注册的签名公钥PK2对S0'进行加密,得到E1 = E(S0' )PK2 ;④由智能卡用签名私钥SK2对接收到的E/进行解密,得到Stl” = D(E/ )SK2 ;⑤由智能卡用生产公钥PKtl解密接收到的S。”,得到SK/,= D(Sq”)pk。。ii)更新签名公私钥对当智能卡需要产生签名公私钥对时,可以利用签名公钥PK2进行数据加密,其步骤 如下①由CA产生签名公私钥对的指令Csig’ ;②由CA用生产私钥SKtl对指令进行签名,得到签名S/ = Sig(CSig’ )SK0 ;③由CA用签名公钥PK2对S1'进行加密,得到E2 = E(S1' )PK2 ;④由智能卡用签名私钥SK2对接收到的E2'进行解密,得到S/’ = D(E2' )SK2 ;⑤由智能卡用生产公钥PKtl对S1 ”进行验证,得到Csig” = Veri (S/,) ;⑥智能卡中,如果Csig ’ = Csig ”,则产生PK2’ /SK2’,转步骤⑦;否则,拒绝;⑦由智能卡撤销PK2/SK2。iii)更新生产公私钥对PKQ/SKQ因为生产公私钥对?&广&是作为对CA身份的认证,所以为了保证安全,其更新需 要将智能卡返回到CA,由CA来进行密钥的更新,其更新步骤如下①由CA产生新的生产公私钥对PKQ’ /SK0';②由CA用生产私钥SK0对新的生产私钥SV进行签名,得到S2 = Sig(SK0' )SK0 ;③由智能卡用新的生产公钥PKc/解密接收到的S2’,得到SKJ = D (S2’ )PK0;④智能卡中,如果SKc/ = SK/,那么将新的生产私钥SKc/写入智能卡,转步骤⑤;否则,拒绝; ⑤由智能卡撤销原来的生产公私钥对PK/S&。在整个智能卡的生命周期中,如果某一公私钥对发生损坏的情况,那么智能卡的 生命周期将终止。根据上面的分析和描述,我们看到,由于对私钥的操作都与CA有关,所以 可以通过引入PKcZSKtl的方法,由CA实现对私钥操作内容完整性的保护。虽然增加了 CA的 管理负担,但能够在不安全的终端和信道环境下避免私钥文件被截取、覆盖和替换的风险。在人们的生活中,智能卡可以采用文中描述的内部认证机制,以提高智能卡交互 的安全性,本发明的智能卡外部认证方法可以具体应用有如下几种网上银行使用的U盾、 市民卡、手机SIM卡和社保卡等。以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术 人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本 发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变 化和改进都落入要求保护的本发明范围内,本发明要求保护范围由所附的权利要求书及其 等效物界定。
权利要求
一种智能卡外部认证方法,其特征在于,它包括如下步骤(1)由CA产生的生产公私钥对PK0/SK0,并将生产公钥PK0在出厂时写入智能卡中;(2)通过生产私钥SK0对加解密公私钥对PK1/SK1加密写入智能卡中;(3)通过加解密私钥SK1对签名公私钥对PK2/SK2加密写入智能卡;(4)生产私钥SK0由CA管理,对智能卡私钥的操作都要由CA使用生产私钥SK0签名。
2.如权利要求1所述的智能卡外部认证方法,其特征在于,当CA初始化智能卡时,其写 入的加解密公私钥对PK1ZiSK1的步骤如下①由CA产生加解密公私钥对PK1ZiSK1;②由CA用生产私钥SKtl对加解密私钥SK1进行加密,得到Stl= E(SK1)sko ;③由智能卡用生产公钥PKtl解密接收到的Sc/,得到SK1= D(S0^)pkqjSK1就是所要写入 的加解密私钥。
3.如权利要求1所述的智能卡外部认证方法,其特征在于,当智能卡需要产生签名公 私钥对PK2/SK2时,其步骤如下①由CA发出产生签名公私钥对的指令Csig;②由CA用生产私钥SKtl对指令进行签名,得到签名S1= Sig(Csig)sro ;③由CA用托管的加解密公钥PK1对S1进行加密,得到Etl= E(S1)pki ;④由智能卡用加解密私钥SK1对接收到的E0,进行解密,得到S/= D(E0' )SK1 ;⑤由智能卡用生产公钥PKtl对S/进行验证,得到Csig’= Veri (Si’ )PK0 ;⑥智能卡中,如果Csig= Csig’,则产生签名公私钥对PK2/SK2 ;否则,拒绝。
4.如权利要求1所述的智能卡外部认证方法,其特征在于,当智能卡在进行加解密公 私钥对更新时,数据传输过程可能处于远程环境下,其步骤如下①由CA产生加解密公私钥对PK//SK1';②由CA用生产私钥SK0对SK/进行加密,得到S。,=E (SK/ )SK0 ;③由CA用已注册的签名公钥PK2对S0'进行加密,得到E1= E(S0' )PK2 ;④由智能卡用签名私钥SK2对接收到的E/进行解密,得到Stl”= D(E/ )SK2 ;⑤由智能卡用生产公钥PKtl解密接收到的Stl”,得到SK/,=D(SJ)pkc^
5.如权利要求1所述的智能卡外部认证方法,其特征在于,当智能卡需要更新签名公 私钥对时,可以利用签名公钥PK2进行数据加密,其步骤如下①由CA产生签名公私钥对的指令Csig’;②由CA用生产私钥SKtl对指令进行签名,得到签名S/= Sig(CSig,)SK0 ;③由CA用签名公钥PK2对S/进行加密,得到E2= E(S/ )PK2 ;④由智能卡用签名私钥SK2对接收到的Ε2’进行解密,得到S,= D(E2' )SK2 ;⑤由智能卡用生产公钥PKtl对S1”进行验证,得到Csig” = Veri (S/,) ;⑥智能卡中,如果Csig’= Csig”,则产生PK2’ /SK2’,转步骤⑦;否则,拒绝;⑦由智能卡撤销PK2/SK2。
6.如权利要求1所述的智能卡外部认证方法,其特征在于,当智能卡需要更新生产公 私钥对PKcZSKtl时,其更新步骤如下①由CA产生新的生产公私钥对PKc//SK0';②由CA用生产私钥SKc^i新的生产私钥SV进行签名,得到S2= Sig(SK0' )SK0 ;③由智能卡用新的生产公钥PV解密接收到的S2’,得到SK0,,=D(S2' )PK0 ;④智能卡中,如果SV=SV’,那么将新的生产私钥SV写入智能卡,转步骤⑤;否则, 拒绝;⑤由智能卡撤销原来的生产公私钥对PKcZSKc^
全文摘要
本发明的目的在于公开一种智能卡外部认证方法,它包括如下步骤(1)由CA产生的生产公私钥对PK0/SK0,并将生产公钥PK0在出厂时写入智能卡中;(2)通过生产私钥SK0对加解密公私钥对PK1/SK1加密写入智能卡中;(3)通过加解密私钥SK1对签名公私钥对PK2/SK2加密写入智能卡;(4)生产私钥SK0由CA管理,对智能卡私钥的操作都要由CA使用生产私钥SK0签名;通过对私钥相关操作内容进行签名验证,有效地弥补智能卡中私钥文件所存在的缺陷,由CA实现对私钥操作内容完整性的保护,能够在不安全的终端和信道环境下避免私钥文件被截取、覆盖和替换的风险,实现本发明的目的。
文档编号H04L9/32GK101945099SQ20101023806
公开日2011年1月12日 申请日期2010年7月27日 优先权日2010年7月27日
发明者张勇, 杭强伟, 胡善学, 胡永涛 申请人:公安部第三研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1