专利名称:具有智能卡保护的用户数字证书远程更新方法
技术领域:
本发明涉及网络信息安全技术领域,特别涉及公钥基础设施(PKI)技术领域,具体是指一种具有智能卡保护的用户数字证书远程更新方法。
背景技术:
公钥基础设施——PKI是利用公钥理论和技术解决开放式互联网络信息安全需求的一套体系,它支持身份认证,消息传输和存储的完整性和机密性,以及操作的不可否认性。PKI体系的核心是认证中心——CA,它是独立的可信第三方,它的核心功能是为申请者颁发和管理数字证书。数字证书中会包含用户的基本信息、证书的基本信息、用户公钥以及 CA的数字签名。智能卡是一种内嵌CPU、存储器和密码算法协处理器的安全终端设备,它具有多种封装外观形式,如标准的银行卡、USB接口的密码钥匙和可在手机上使用的T-Flash卡密码钥匙。智能卡可以提供安全的计算和存储环境,可以通过输入/输出接口与外部实体进行通信,可以完成数据加解密计算和数字签名,内部保存的数据即使没有外部供电也可以长期保存。通过卡上装载的专用操作系统——COS,可以完成很多复杂的应用功能,其中一个重要功能就是作为数字证书的载体,参与证书的生命周期管理。目前常见的使用智能卡的数字证书申请下载系统包括智能卡设备、本地终端和 CA。其数字证书申请下载流程如图1所示。这种方法的问题在于存在中间人攻击的可能。所谓中间人攻击,是指攻击者会暗中截取通信双方的通信数据并加以修改,而这种修改对通信双方是透明的。由于智能卡设备在更新用户数字证书时必须通过本地终端转发数据,这就为通过本地终端实施攻击者中间人攻击创造了便利条件,具体来说包括以下两点一是本地终端生申请证书请求。请求中包含用原有用户私钥对新公钥的数字签名,这个数字签名是本地终端将新公钥传送给智能卡再由智能卡计算出来的,而现有智能卡操作系统是不会检查本地终端传进来的公钥是否与它内部产生的新公钥一致,所以存在本地终端用伪造的公钥生成证书请求的安全漏洞,而这种伪造在CA端是无法检测出来的。二是CA生成数字证书后由本地终端进行验证再写入智能卡设备。在本地终端验证智能卡用户的数字证书无法确保该证书与智能卡内部保存的公钥相匹配,存在证书在写入智能卡之前被替换的可能。
发明内容
本发明的目的是克服了上述现有技术中的缺点,提供一种可以抵抗中间人攻击, 克服现有技术的用户数字证书更新方法所存在的上述安全问题,更为安全,有效,且实现方式简便,实现成本低廉,应用范围较为广泛的具有智能卡保护的用户数字证书远程更新方法。为了实现上述的目的,应用于该更新方法的更新系统包括智能卡,连接智能卡的本地终端以及连接所述的本地终端的认证中心,本发明的具有智能卡保护的用户数字证书远程更新方法,包括以下步骤(1)所述的本地终端向所述的智能卡发送读取设备数字证书指令;(2)所述的智能卡响应读取指令,并向所述的本地终端返回设备数字证书数据;(3)所述的本地终端向所述的智能卡发送产生公私钥对指令和签名导出公钥指令;(4)所述的智能卡在智能卡内产生公私钥对并保存到临时公私钥文件中,使用设备私钥对临时公钥文件中的新用户公钥进行数字签名;(5)所述的智能卡向所述的本地终端返回新用户公钥和数字签名;(6)所述的本地终端将从智能卡中获得的新用户公钥,使用设备私钥对新用户公钥计算的数字签名和设备数字证书组成更新用户数字证书请求;(7)所述的本地终端向所述的认证中心发送更新用户数字证书的请求;(8)所述的认证中心收到更新证书请求后,对所述的请求信息中的设备数字证书进行验证,若通过,则进入步骤(9),未通过则进入步骤(13);(9)所述的认证中心使用设备数字证书中的设备公钥对请求信息中的数字签名进行验证,若通过则进入步骤(10),未通过则进入步骤(13);(10)所述的认证中心通过所述的本地终端向所述的智能卡发送包含认证中心签发的新的用户数字证书的验证导入数字证书指令;(11)所述的智能卡在智能卡卡内验证导入的数字证书,若通过,则进入步骤 (12),若未通过,则放弃导入的数字证书;(12)所述的智能卡更新用户数字证书和对应的公私钥;(13)所述的认证中心拒绝更新请求。该具有智能卡保护的用户数字证书远程更新方法中,所述的智能卡中内置有智能卡设备操作系统,所述的步骤(4)具体包括以下步骤(41)根据所述的产生公私钥对指令输入参数中指定的私钥文件标识,所述的智能卡设备操作系统在智能卡内查找设备私钥文件,若找到,则进入步骤(42),若未找到,则进入步骤(46);(42)所述的智能卡设备操作系统检查找到的私钥文件中是否存在有效私钥数据, 若存在,则进入步骤(43),若不存在,则进入步骤06);(43)根据所述的产生公私钥对指令输入参数中指定的公钥文件标识,所述的智能卡设备操作系统在智能卡内查找保存新用户公钥的临时公钥文件,若找到,则进入步骤 (44),若未找到,则进入步骤(46);(44)所述的智能卡设备操作系统检查找到的临时公钥文件中是否存在有效公钥数据,若存在,则进入步骤(45),若不存在,则进入步骤06);(45)所述的智能卡设备操作系统使用设备私钥对所述的临时公钥文件中的用户公钥进行数字签名,并进入步骤(5);(46)所述的智能卡设备操作系统进行错误处理。该具有智能卡保护的用户数字证书远程更新方法中,所述的智能卡向本地终端返回新用户公钥和数字签名,具体为所述的智能卡设备操作系统向所述的本地终端输出新用户公钥以及使用设备私钥对新用户公钥做的数字签名。该具有智能卡保护的用户数字证书远程更新方法中,所述的认证中心具有认证中心数据库,所述的认证中心对请求信息中的设备数字证书进行验证,具体包括以下步骤(81)所述的认证中心在所述的认证中心数据库中查找所述的数字证书,若找到, 则进入步骤(82),若未找到,则进入步骤(13);(82)所述的认证中心使用认证中心自身的公钥验证所述的数字证书中的数字签名,若验证通过,则进入步骤(9),若未通过,则进入步骤(13)。该具有智能卡保护的用户数字证书远程更新方法中,所述的智能卡中内置有智能卡设备操作系统,所述的步骤(11)具体包括以下步骤(111)根据所述的验证导入数字证书指令输入参数中指定的认证中心公钥文件标识,所述的智能卡设备操作系统在智能卡内查找认证中心公钥文件,若找到,则进入步骤 (112),若未找到,则进入步骤(117);(112)所述的智能卡设备操作系统检查所找到的公钥文件中是否存在有效公钥数据,若存在,则进入步骤(113),若不存在,则进入步骤(117);(113)根据所述的验证导入数字证书指令输入参数中指定的临时公钥文件标识, 所述的智能卡设备操作系统在智能卡内查找保存新用户公钥的临时公钥文件,若找到,则进入步骤(114),若未找到,则进入步骤(117);(114)所述的智能卡设备操作系统检查找到的临时公钥文件中是否存在有效公钥数据,若存在,则进入步骤(115),若不存在,则进入步骤(117);(115)所述的智能卡设备操作系统使用智能卡内认证中心公钥对导入的新用户数字证书中的签名进行验证,若通过,则进入步骤(116),若未通过,则进入步骤(117);(116)所述的智能卡设备操作系统在智能卡内比对所述的新用户数字证书中的用户公钥是否与卡内临时公钥文件中的公钥相同,若相同,则进入步骤(12),若不相同,则进入步骤(117);(117)所述的智能卡设备操作系统进行错误处理。该具有智能卡保护的用户数字证书远程更新方法中,所述的智能卡更新用户数字证书和对应的公私钥,具体为所述的智能卡设备操作系统使用导入的新用户数字证书和临时公私钥文件中的公私钥更新智能卡内原有用户数字证书和用户公私钥,并清除临时公私钥文件的内容。采用了该发明的具有智能卡保护的用户数字证书远程更新方法,其中智能卡设备通过本地终端可以远程在线向CA发起用户数字证书的更新请求,CA接收到请求后,重新为智能卡设备的用户签发数字证书,之后,智能卡设备用重新签发的用户数字证书更新卡内证书,完成整个证书更新流程。本发明所提供的方法充分利用智能卡设备的密码计算功能, 使用专用智能卡操作系统指令将更新流程中关键的新用户公钥安全导出和新用户证书安全导入操作在智能卡内完成,从而能够抵抗在与CA通信过程中的中间人攻击,克服现有技术中所存在的安全问题,使得用户数字证书在线更新过程更加安全可靠。且本发明的具有智能卡保护的用户数字证书远程更新方法的实现方式简便,实现成本低廉,应用范围也较为广泛。
图1为现有技术中常见的数字证书申请下载流程示意图。图2为本发明的具有智能卡保护的用户数字证书远程更新方法的步骤流程图。图3为应用于本发明的具有智能卡保护的用户数字证书远程更新方法的更新系统示意图。图4为本发明中智能卡设备所运行的智能卡设备操作系统的功能模块示意图。图5为本发明的具有智能卡保护的用户数字证书远程更新方法在实际应用中的流程示意图。图6为本发明的具有智能卡保护的用户数字证书远程更新方法在实际应用中公钥签名导出指令操作流程图。图7为本发明的具有智能卡保护的用户数字证书远程更新方法在实际应用中数字证书验证导入指令的操作流程图。
具体实施例方式为了能够更清楚地理解本发明的技术内容,特举以下实施例详细说明。在一种实施方式中,应用于具有智能卡保护的用户数字证书远程更新方法的更新系统,如图3所示,包括智能卡,连接智能卡的本地终端以及连接所述的本地终端的认证中心CA。本发明的具有智能卡保护的用户数字证书远程更新方法,如图2所示,包括以下步骤(1)所述的本地终端向所述的智能卡发送读取设备数字证书指令;(2)所述的智能卡响应读取指令,并向所述的本地终端返回设备数字证书数据;(3)所述的本地终端向所述的智能卡发送产生公私钥对指令和签名导出公钥指令;(4)所述的智能卡在智能卡内产生公私钥对并保存到临时公私钥文件中,使用设备私钥对临时公钥文件中的新用户公钥进行数字签名;(5)所述的智能卡向所述的本地终端返回新用户公钥和数字签名;(6)所述的本地终端将从智能卡中获得的新用户公钥,使用设备私钥对新用户公钥计算的数字签名和设备数字证书组成更新用户数字证书请求;(7)所述的本地终端向所述的认证中心发送更新用户数字证书的请求;(8)所述的认证中心收到更新证书请求后,对所述的请求信息中的设备数字证书进行验证,若通过,则进入步骤(9),未通过则进入步骤(13);(9)所述的认证中心使用设备数字证书中的设备公钥对请求信息中的数字签名进行验证,若通过则进入步骤(10),未通过则进入步骤(13);(10)所述的认证中心通过所述的本地终端向所述的智能卡发送包含认证中心签发的新的用户数字证书的验证导入数字证书指令;(11)所述的智能卡在智能卡卡内验证导入的数字证书,若通过,则进入步骤 (12),若未通过,则放弃导入的数字证书;(12)所述的智能卡更新用户数字证书和对应的公私钥;(13)所述的认证中心拒绝更新请求。
在一种较优选的实施方式中,所述的智能卡中内置有智能卡设备操作系统,所述的步骤(4)具体包括以下步骤(41)根据所述的产生公私钥对指令输入参数中指定的私钥文件标识,所述的智能卡设备操作系统在智能卡内查找设备私钥文件,若找到,则进入步骤(42),若未找到,则进入步骤(46);(42)所述的智能卡设备操作系统检查找到的私钥文件中是否存在有效私钥数据, 若存在,则进入步骤(43),若不存在,则进入步骤06);(43)根据所述的产生公私钥对指令输入参数中指定的公钥文件标识,所述的智能卡设备操作系统在智能卡内查找保存新用户公钥的临时公钥文件,若找到,则进入步骤 (44),若未找到,则进入步骤(46);(44)所述的智能卡设备操作系统检查找到的临时公钥文件中是否存在有效公钥数据,若存在,则进入步骤(45),若不存在,则进入步骤06);(45)所述的智能卡设备操作系统使用设备私钥对所述的临时公钥文件中的用户公钥进行数字签名,并进入步骤(5);(46)所述的智能卡设备操作系统进行错误处理。在一种进一步优选的实施方式中,所述的智能卡向本地终端返回新用户公钥和数字签名,具体为所述的智能卡设备操作系统向所述的本地终端输出新用户公钥以及使用设备私钥对新用户公钥做的数字签名。在另一种较优选的实施方式中,所述的认证中心具有认证中心数据库,所述的认证中心对请求信息中的设备数字证书进行验证,具体包括以下步骤(81)所述的认证中心在所述的认证中心数据库中查找所述的数字证书,若找到, 则进入步骤(82),若未找到,则进入步骤(13);(82)所述的认证中心使用认证中心自身的公钥验证所述的数字证书中的数字签名,若验证通过,则进入步骤(9),若未通过,则进入步骤(13)。在另一种进一步优选的实施方式中,所述的智能卡中内置有智能卡设备操作系统,所述的步骤(11)具体包括以下步骤(111)根据所述的验证导入数字证书指令输入参数中指定的认证中心公钥文件标识,所述的智能卡设备操作系统在智能卡内查找认证中心公钥文件,若找到,则进入步骤 (112),若未找到,则进入步骤(117);(112)所述的智能卡设备操作系统检查所找到的公钥文件中是否存在有效公钥数据,若存在,则进入步骤(113),若不存在,则进入步骤(117);(113)根据所述的验证导入数字证书指令输入参数中指定的临时公钥文件标识, 所述的智能卡设备操作系统在智能卡内查找保存新用户公钥的临时公钥文件,若找到,则进入步骤(114),若未找到,则进入步骤(117);(114)所述的智能卡设备操作系统检查找到的临时公钥文件中是否存在有效公钥数据,若存在,则进入步骤(115),若不存在,则进入步骤(117);(115)所述的智能卡设备操作系统使用智能卡内认证中心公钥对导入的新用户数字证书中的签名进行验证,若通过,则进入步骤(116),若未通过,则进入步骤(117);
(116)所述的智能卡设备操作系统在智能卡内比对所述的新用户数字证书中的用户公钥是否与卡内临时公钥文件中的公钥相同,若相同,则进入步骤(12),若不相同,则进入步骤(117);(117)所述的智能卡设备操作系统进行错误处理。在一种更优选的实施方式中,所述的智能卡更新用户数字证书和对应的公私钥, 具体为所述的智能卡设备操作系统使用导入的新用户数字证书和临时公私钥文件中的公私钥更新智能卡内原有用户数字证书和用户公私钥,并清除临时公私钥文件的内容。在本发明的应用中,本发明中应用的具有智能卡保护的用户数字证书更新系统, 如图3所示,包括智能卡设备、本地终端和CA。其中,智能卡设备可以是标准智能卡,也可以是封装了安全芯片的USB接口密码钥匙或SD卡接口密码钥匙。其功能是生成用户新的公私钥对并用智能卡设备私钥签名导出新用户公钥,在收到CA返回的新用户数字证书时对其进行校验,校验通过则更新卡内保存的用户公私钥和数字证书。本地终端可以是带有智能卡读卡器的PC机或者是带有SD卡读卡器的智能手机。 其用于建立智能卡设备和CA之间的通信通道,并使用智能卡设备中导出的数据组织用户数字证书更新请求。CA为认证中心,负责处理证书请求,提供证书管理服务,用于在接收到用户数字证书更新请求后,对请求信息进行校验,校验通过后为智能卡设备用户签发新的数字证书并通过本地终端发送给智能卡设备。其中,智能卡设备中运行有智能卡设备操作系统,该系统如图4所示,包括通信模块、指令处理模块、文件管理模块和公钥算法模块。通过这几个模块,智能卡设备可以执行公钥签名导出指令和数字证书验证导入指令。通信模块处理智能卡设备与本地终端间的数据交互,可以支持IS07816-3标准中的T = 0协议或者SD卡规范中的通信协议。指令处理模块执行本地终端发来的符合智能卡操作系统指令集的各种指令,包括专用的用户公钥签名导出指令和用户数字证书验证导入指令。文件管理模块对智能卡内要保存的密钥和证书数据进行管理并执行文件的访问控制规则。公钥算法模块用来完成公私钥对产生、私钥数字签名和公钥签名验证等公钥算法运算。智能卡在进行在线更新用户数字证书之前已经预装如下数据智能卡卡片数字证书及对应的公私钥、CA公钥、用户数字证书和对应的公私钥。如图5所示,在实际应用中,本发明的用户数字证书远程更新方法包括以下步骤步骤501 本地终端向智能卡发送读取设备数字证书指令;步骤502 智能卡响应读取指令,返回设备数字证书数据;步骤503 本地终端向智能卡发送产生公私钥对指令和签名导出公钥指令;步骤504 智能卡在卡内产生公私钥对并保存到临时公私钥文件中以备后续步骤使用,使用设备私钥对临时公钥文件中的新用户公钥进行数字签名;步骤505 智能卡返回新用户公钥和数字签名给本地终端;步骤506 本地终端将从智能卡中获得的新用户公钥、使用设备私钥对新用户公钥计算的数字签名和设备数字证书组成更新用户数字证书请求;设备数字证书和公私钥是由CA产生的,在智能卡个人化时在安全环境中导入智能卡并与智能卡绑定,设备数字证书及其与智能卡的对应关系会保存在CA数据库中。同时保存在CA数据库中的还有CA签发的智能卡用户的初始数字证书,该证书也与智能卡绑定。由于本地终端是无法获得设备私钥的,所以它无法伪造请求信息中的数字签名;步骤507 本地终端将更新用户数字证书的请求发送给CA ;步骤508 =CA收到更新证书请求后首先要验证请求信息中的设备数字证书,即先在数据库中查找该数字证书,再使用自身的公钥验证数字证书中的数字签名,验证通过则说明发起请求的智能卡是属于该CA域,可以继续下一个步骤,否则拒绝更新请求;步骤509 :CA使用设备数字证书中的设备公钥对请求信息中的数字签名进行验证,验证通过则说明请求信息中的用户公钥确实来自设备数字证书绑定的智能卡,会为该用户签发新的用户证书,否则拒绝更新请求;步骤510 通过本地终端向智能卡发送验证导入数字证书指令,指令中含有CA签发的新的用户数字证书;步骤511 智能卡在卡内验证导入的数字证书,验证通过则说明该数字证书是由 CA签发,而且对应本次更新用户数字证书请求,可以继续下一个步骤,否则放弃导入的数字证书,由于验证过程是在智能卡内进行,本地终端只是作为传输数字证书数据的通道而不能干涉证书验证结果,所以可以防止中间人攻击;步骤512 智能卡更新用户数字证书和对应的公私钥,至此完成了用户数字证书的更新流程。在上述的用户数字证书远程更新方法中,步骤504中,对于公钥签名导出指令的操作,如图6所示,具体包括以下主要步骤步骤601 根据指令输入参数中指定的私钥文件标识,智能卡设备操作系统在卡内查找设备私钥文件,如果找到就继续后续步骤,否则进入错误处理;步骤602 智能卡设备操作系统检查找到的私钥文件中是否存在有效私钥数据, 即检查私钥参数是否完整。如果私钥有效则继续后续步骤,否则进入错误处理;步骤603 根据指令输入参数中指定的公钥文件标识,智能卡设备操作系统在卡内查找保存新用户公钥的临时公钥文件,如果找到就继续后续步骤,否则进入错误处理;步骤604 智能卡设备操作系统检查找到的临时公钥文件中是否存在有效公钥数据,即检查公钥参数是否完整。如果公钥有效则继续后续步骤,否则进入错误处理;步骤605 智能卡设备操作系统使用设备私钥对即将导出的临时公钥文件中的用户公钥进行数字签名;步骤606 智能卡设备操作系统输出新用户公钥和设备私钥对新用户公钥做的数字签名。在上述的用户数字证书远程更新方法中,步骤511中,对于数字证书验证导入指令的操作,如图7所示,包括以下主要步骤步骤701 根据指令输入参数中指定的CA公钥文件标识,智能卡设备操作系统在卡内查找CA公钥文件,如果找到就继续后续步骤,否则进入错误处理;步骤702 智能卡设备操作系统检查找到的公钥文件中是否存在有效公钥数据, 即检查公钥参数是否完整。如果公钥有效则继续后续步骤,否则进入错误处理;步骤703 根据指令输入参数中指定的临时公钥文件标识,智能卡设备操作系统在卡内查找保存新用户公钥的临时公钥文件,如果找到就继续后续步骤,否则进入错误处理;步骤704 智能卡设备操作系统检查找到的临时公钥文件中是否存在有效公钥数据,即检查公钥参数是否完整。如果公钥有效则继续后续步骤,否则进入错误处理;步骤705 使用卡内CA公钥对导入的新用户数字证书中的签名进行验证,如果验证通过则继续后续步骤,否则进入错误处理;步骤706 在卡内比对新用户数字证书中的用户公钥是否与卡内临时公钥文件中的公钥相同,如果比成功则继续后续步骤,否则进入错误处理;步骤707 使用导入的新用户数字证书和临时公私钥文件中的公私钥更新卡内原有用户数字证书和用户公私钥,并清除临时公私钥文件的内容。为了防止在智能卡设备和CA通信时通过本地终端进行中间人攻击,必须做到本地终端伪造的更新数字证书请求无法通过CA的验证,而且本地终端伪造的CA返回的更新数字证书请求应答无法通过智能卡设备的验证。本发明提供的解决方法是更新数字证书请求中的关键请求信息由智能卡产生,即在卡内使用设备私钥对新用户公钥进行数字签名,由于设备私钥不出智能卡设备,所以本地终端无法伪造签名来欺骗CA。另一方面CA返回的新用户数字证书由智能卡设备在卡内进行验证,本地终端无法影响验证过程。可见,本发明提供的用户数字证书更新方法使用专用智能卡操作系统指令将更新流程中关键的新用户公钥安全导出和新用户证书安全导入操作在卡内完成,能够抵抗在与 CA通信过程中的中间人攻击,使得用户数字证书在线更新过程更加安全可靠。采用了该发明的具有智能卡保护的用户数字证书远程更新方法,其中智能卡设备通过本地终端可以远程在线向CA发起用户数字证书的更新请求,CA接收到请求后,重新为智能卡设备的用户签发数字证书,之后,智能卡设备用重新签发的用户数字证书更新卡内证书,完成整个证书更新流程。本发明所提供的方法充分利用智能卡设备的密码计算功能, 使用专用智能卡操作系统指令将更新流程中关键的新用户公钥安全导出和新用户证书安全导入操作在智能卡内完成,从而能够抵抗在与CA通信过程中的中间人攻击,克服现有技术中所存在的安全问题,使得用户数字证书在线更新过程更加安全可靠。且本发明的具有智能卡保护的用户数字证书远程更新方法的实现方式简便,实现成本低廉,应用范围也较为广泛。在此说明书中,本发明已参照其特定的实施例作了描述。但是,很显然仍可以作出各种修改和变换而不背离本发明的精神和范围。因此,说明书和附图应被认为是说明性的而非限制性的。
权利要求
1.一种具有智能卡保护的用户数字证书远程更新方法,应用于该更新方法的更新系统包括智能卡,连接智能卡的本地终端以及连接所述的本地终端的认证中心,其特征在于,所述的方法包括以下步骤(1)所述的本地终端向所述的智能卡发送读取设备数字证书指令;(2)所述的智能卡响应读取指令,并向所述的本地终端返回设备数字证书数据;(3)所述的本地终端向所述的智能卡发送产生公私钥对指令和签名导出公钥指令;(4)所述的智能卡在智能卡内产生公私钥对并保存到临时公私钥文件中,使用设备私钥对临时公钥文件中的新用户公钥进行数字签名;(5)所述的智能卡向所述的本地终端返回新用户公钥和数字签名;(6)所述的本地终端将从智能卡中获得的新用户公钥,使用设备私钥对新用户公钥计算的数字签名和设备数字证书组成更新用户数字证书请求;(7)所述的本地终端向所述的认证中心发送更新用户数字证书的请求;(8)所述的认证中心收到更新证书请求后,对所述的请求信息中的设备数字证书进行验证,若通过,则进入步骤(9),未通过则进入步骤(13);(9)所述的认证中心使用设备数字证书中的设备公钥对请求信息中的数字签名进行验证,若通过则进入步骤(10),未通过则进入步骤(13);(10)所述的认证中心通过所述的本地终端向所述的智能卡发送包含认证中心签发的新的用户数字证书的验证导入数字证书指令;(11)所述的智能卡在智能卡卡内验证导入的数字证书,若通过,则进入步骤(12),若未通过,则放弃导入的数字证书;(12)所述的智能卡更新用户数字证书和对应的公私钥;(13)所述的认证中心拒绝更新请求。
2.根据权利要求1所述的具有智能卡保护的用户数字证书远程更新方法,其特征在于,所述的智能卡中内置有智能卡设备操作系统,所述的步骤(4)具体包括以下步骤(41)根据所述的产生公私钥对指令输入参数中指定的私钥文件标识,所述的智能卡设备操作系统在智能卡内查找设备私钥文件,若找到,则进入步骤(42),若未找到,则进入步骤(46);(42)所述的智能卡设备操作系统检查找到的私钥文件中是否存在有效私钥数据,若存在,则进入步骤(43),若不存在,则进入步骤06);(43)根据所述的产生公私钥对指令输入参数中指定的公钥文件标识,所述的智能卡设备操作系统在智能卡内查找保存新用户公钥的临时公钥文件,若找到,则进入步骤(44),若未找到,则进入步骤(46);(44)所述的智能卡设备操作系统检查找到的临时公钥文件中是否存在有效公钥数据, 若存在,则进入步骤(45),若不存在,则进入步骤06);(45)所述的智能卡设备操作系统使用设备私钥对所述的临时公钥文件中的用户公钥进行数字签名,并进入步骤(5);(46)所述的智能卡设备操作系统进行错误处理。
3.根据权利要求2所述的具有智能卡保护的用户数字证书远程更新方法,其特征在于,所述的智能卡向本地终端返回新用户公钥和数字签名,具体为所述的智能卡设备操作系统向所述的本地终端输出新用户公钥以及使用设备私钥对新用户公钥做的数字签名。
4.根据权利要求1所述的具有智能卡保护的用户数字证书远程更新方法,其特征在于,所述的认证中心具有认证中心数据库,所述的认证中心对请求信息中的设备数字证书进行验证,具体包括以下步骤(81)所述的认证中心在所述的认证中心数据库中查找所述的数字证书,若找到,则进入步骤(82),若未找到,则进入步骤(13);(82)所述的认证中心使用认证中心自身的公钥验证所述的数字证书中的数字签名,若验证通过,则进入步骤(9),若未通过,则进入步骤(13)。
5.根据权利要求1所述的具有智能卡保护的用户数字证书远程更新方法,其特征在于,所述的智能卡中内置有智能卡设备操作系统,所述的步骤(11)具体包括以下步骤(111)根据所述的验证导入数字证书指令输入参数中指定的认证中心公钥文件标识,所述的智能卡设备操作系统在智能卡内查找认证中心公钥文件,若找到,则进入步骤 (112),若未找到,则进入步骤(117);(112)所述的智能卡设备操作系统检查所找到的公钥文件中是否存在有效公钥数据, 若存在,则进入步骤(113),若不存在,则进入步骤(117);(113)根据所述的验证导入数字证书指令输入参数中指定的临时公钥文件标识,所述的智能卡设备操作系统在智能卡内查找保存新用户公钥的临时公钥文件,若找到,则进入步骤(114),若未找到,则进入步骤(117);(114)所述的智能卡设备操作系统检查找到的临时公钥文件中是否存在有效公钥数据,若存在,则进入步骤(115),若不存在,则进入步骤(117);(115)所述的智能卡设备操作系统使用智能卡内认证中心公钥对导入的新用户数字证书中的签名进行验证,若通过,则进入步骤(116),若未通过,则进入步骤(117);(116)所述的智能卡设备操作系统在智能卡内比对所述的新用户数字证书中的用户公钥是否与卡内临时公钥文件中的公钥相同,若相同,则进入步骤(12),若不相同,则进入步骤(117);(117)所述的智能卡设备操作系统进行错误处理。
6.根据权利要求5所述的具有智能卡保护的用户数字证书远程更新方法,其特征在于,所述的智能卡更新用户数字证书和对应的公私钥,具体为所述的智能卡设备操作系统使用导入的新用户数字证书和临时公私钥文件中的公私钥更新智能卡内原有用户数字证书和用户公私钥,并清除临时公私钥文件的内容。
全文摘要
本发明涉及一种具有智能卡保护的用户数字证书远程更新方法,其中智能卡设备通过本地终端可以远程在线向CA发起用户数字证书的更新请求,CA接收到请求后,重新为智能卡设备的用户签发数字证书,智能卡设备用重新签发的用户数字证书更新卡内证书,完成证书更新流程。采用本发明的方法充分利用了智能卡设备的密码计算功能,使用专用智能卡操作系统指令将更新流程中关键的新用户公钥安全导出和新用户证书安全导入操作在智能卡内完成,从而能够抵抗在与CA通信过程中的中间人攻击,使得用户数字证书在线更新过程更加安全可靠,且本发明的具有智能卡保护的用户数字证书远程更新方法的实现方式简便,实现成本低廉,应用范围也较为广泛。
文档编号H04L9/32GK102523095SQ20121000815
公开日2012年6月27日 申请日期2012年1月12日 优先权日2012年1月12日
发明者姚静晶, 胥怡心 申请人:公安部第三研究所