公开/公告号CN101170407A
专利类型发明专利
公开/公告日2008-04-30
原文格式PDF
申请/专利权人 北京深思洛克数据保护中心;
申请/专利号CN200710178658.1
申请日2007-12-03
分类号H04L9/30(20060101);H04L9/32(20060101);
代理机构11225 北京金信立方知识产权代理有限公司;
代理人黄威;徐金伟
地址 100086 北京市海淀区中关村南大街甲6号铸诚大厦B座1201室
入库时间 2023-12-17 20:02:40
法律状态公告日
法律状态信息
法律状态
2023-01-20
专利权人的姓名或者名称、地址的变更 IPC(主分类):H04L 9/30 专利号:ZL2007101786581 变更事项:专利权人 变更前:北京深思数盾科技股份有限公司 变更后:北京深盾科技股份有限公司 变更事项:地址 变更前:100193 北京市海淀区西北旺东路10号院东区5号楼5层510 变更后:100193 北京市海淀区西北旺东路10号院东区5号楼5层510
专利权人的姓名或者名称、地址的变更
2016-10-26
专利权人的姓名或者名称、地址的变更 IPC(主分类):H04L9/30 变更前: 变更后: 申请日:20071203
专利权人的姓名或者名称、地址的变更
2015-02-04
专利权的转移 IPC(主分类):H04L9/30 变更前: 变更后: 登记生效日:20150115 申请日:20071203
专利申请权、专利权的转移
2011-01-12
授权
授权
2008-06-25
实质审查的生效
实质审查的生效
2008-04-30
公开
公开
查看全部
技术领域
本发明涉及信息安全领域,尤其涉及安全地生成密钥对和传送公钥或者证书申请文件的方法。
背景技术
私钥是指PKI(公开密钥基础设施)体系中用户的私人密钥。
公钥是指PKI体系中的用户的公开密钥。
CA是指PKI体系中的证书颁发机构。
证书申请文件指用户在申请证书过程中向CA提交的信息的集合。
自签名是指用户向CA提交的证书申请文件中的使用用户私钥对证书申请文件的签名。
随着信息化和数字化的普及,密钥安全性问题也越来越受到人们的关注。网上银行、网络游戏、支付平台、网上证券交易等无一不是以私钥的安全为基础的,也就是说,用户在网上所有交易的安全性都依赖于用户的私钥,所以保护私钥的安全是网络安全交易的至关重要的部分,而保护私钥的安全需要从密钥对的生成和公钥信息或证书申请文件在网络的传送过程的安全性入手。
现有技术中,密钥对(包含用户的公钥和私钥)是在用户申请证书的时候生成的。证书申请的流程如下:由客户端生成公钥和私钥对,然后根据生成的公钥和用户的信息生成一个证书申请文件,再使用上述客户端生成的私钥对所述生成的证书申请文件进行签名,最后将签过名的证书申请文件通过网络发送到CA,经CA认证而成为证书。然而,由于客户端并不是一个安全的环境,黑客有可能通过木马程序窃取用户的私钥,或通过截获用户发出的证书申请文件,替换用户的公钥和证书申请文件的自签名,并在用户发现之前使用私钥而谋取利益。
综上所述,现有技术的证书申请过程中存在安全漏洞,其主要问题在于不能保证密钥对的生成环境和公钥信息或证书申请文件在网络传送过程中的安全。
发明内容
本发明的目的是提供一种安全地生成密钥对和传送公钥信息或证书申请文件的方法,以克服上述现有技术在密钥对的生成过程中和公钥信息或证书申请文件在网络传送过程中存在的不安全的问题。
为了达到上述目的,本发明提供一种安全地生成密钥对和传送公钥信息的方法,包括下列步骤:
(1)信息安全设备中保存有一个密钥A,所述密钥A不能被导出;
(2)使用所述信息安全设备生成密钥对:私钥C和公钥D,所述私钥C保存在所述信息安全设备中,不能被导出;
(3)使用所述密钥A为所述信息安全设备生成的所述公钥D生成鉴别信息M;
(4)从所述信息安全设备中导出所述公钥D和所述鉴别信息M;
(5)将所述鉴别信息M和所述公钥D一起发给接收者;
(6)接收者对所述公钥D和鉴别信息M进行验证。
为了达到上述目的,本发明还提供一种安全地生成密钥对和传送证书申请文件的方法,包括下列步骤:
(1)信息安全设备保存有一个密钥;
(2)使用所述信息安全设备生成密钥对:私钥C和公钥D,所述私钥C保存在所述信息安全设备中,不能导出;
(3)使用所述密钥为所述信息安全设备生成的所述公钥D生成鉴别信息M;
(4)从所述信息安全设备中导出执行所述步骤(3)后的所述公钥D;
(5)所述导出的公钥D与用户信息合并生成证书申请文件;
(6)所述信息安全设备使用所述私钥C对所述证书申请文件签名;
(7)将所述鉴别信息M附加到执行所述步骤(6)后的证书申请文件中,并随同执行所述步骤(6)后的证书申请文件一起发送给CA;
(8)CA对所述证书申请文件及所述鉴别信息进行验证。
通过本发明提供的方法,可以有效地保证生成密钥对和传送公钥信息或证书申请文件的安全,从而保证网上交易的安全。
附图说明
图1为根据本发明的第一实施方式的安全地生成密钥对和传送证书申请文件的方法的流程图;
图2为根据本发明的第二实施方式的安全地生成密钥对和传送证书申请文件的方法的流程图;
图3为根据本发明的第三实施方式的安全地生成密钥对和传送公钥信息的方法的流程图;
图4为根据本发明的第四实施方式的安全地生成密钥对和传送公钥信息的方法的流程图。
具体实施方式
本发明的核心思想和设计原理在于:
为了保证私钥的安全,公私钥对在信息安全设备内部生成,私钥保存在信息安全设备内部,不可导出,这样木马程序就无法窃取到用户的私钥。然后客户端根据从所述信息安全设备中导出的公钥和用户信息生成证书申请文件,再让所述信息安全设备使用其生成的私钥对生成的证书申请文件签名并发送给CA;
为了保证证书申请文件在传送过程中的安全,具体地,保证公钥和证书申请文件的自签名不被替换,信息安全设备需要为自己生成的公钥生成鉴别信息。客户端将该鉴别信息附加到证书申请文件中,随同证书申请文件一起发送给CA。CA通过验证该鉴别信息来判定该公钥是否是在信息安全设备中生成的,即证书申请文件中的公钥和自签名没有被替换过。
上述的鉴别信息可以由对称算法、非对称算法、HMAC或者CA规定的不公开的算法生成。
如果使用非对称算法生成鉴别信息,则需要在信息安全设备内部预先保存一个私钥。信息安全设备使用所述预先保存的私钥对自己生成的公钥进行数字签名而作为鉴别信息。当然所述预先保存的私钥不能导出,也不能有其它用途,而只能用于为该信息安全设备生成的公钥生成鉴别信息。
如果使用对称算法或者HMAC生成鉴别信息,则需要在CA和信息安全设备中共享一个密钥。信息安全设备使用该共享密钥为自己生成的公钥计算消息认证码作为鉴别信息。当然该共享密钥也不能有别的用途。
由于攻击者无法伪造信息安全设备生成的鉴别信息,所以其无法替换证书申请文件中的公钥和自签名,因此无法欺骗CA而不被CA发现。
为了防止木马程序在外部生成公私钥对后,把生成的公钥导入到信息安全设备,然后再导出其生成的公钥,来使信息安全设备用木马程序生成的公钥,即非法公钥生成鉴别信息,以下两种方法可用来防止上述问题:第一种方法是不允许向信息安全设备导入公钥;第二种方法是公钥的鉴别信息与生成公私钥对同时生成,并保存在信息安全设备中,需要时可以被导出。当然该信息是不能被修改的。
为使本发明的目的、技术方案和优点更加清楚,下面结合附图及具体实施方式对本发明进行详细描述。
具体实施方式1:
参考图1,图1为根据本发明的第一实施方式的安全地生成密钥对和传送证书申请文件的方法的流程图,包括以下步骤:
步骤101:信息安全设备保存有一个密钥对中的私钥A,CA保存有所述密钥对中的公钥B。
这里私钥A不能被导出,也不能用于本发明描述的用途以外的其它用途。
步骤102:信息安全设备生成密钥对:私钥C和公钥D,私钥C始终保存在信息安全设备中,不可导出。
步骤103:使用私钥A对公钥D签名,生成签名信息M。
为了防止信息安全设备用木马程序生成的公钥,即非法公钥生成鉴别信息,这里应一次性执行完成步骤(102)和步骤(103),使公钥D的签名信息M是在生成公钥D和私钥C时生成的,或者保证信息安全设备不能从外部导入任何公钥。
步骤104:从信息安全设备中导出公钥D及其签名信息M。
步骤105:公钥D与用户信息合并生成证书申请文件。
步骤106:信息安全设备使用私钥C对证书申请文件签名。
步骤107:将对公钥D的签名信息M附加到执行步骤106后的证书申请文件中,并随同执行步骤106后的证书申请文件一起发送给CA。
上述步骤是为了保证证书申请文件在传送过程中的安全,具体地,保证公钥和证书申请文件的自签名不被替换。
步骤108:CA利用公钥B对证书申请文件中的公钥D及其签名信息M进行验鉴。
如果鉴别成功,则说明公钥D是在信息安全设备中生成的,并且证书申请文件中的公钥D和自签名信息没有被替换,CA可以对证书申请文件进行签名使它成为证书;如果对证书申请文件中的公钥D及其签名验鉴失败,则说明证书申请文件中的公钥D不是在信息安全设备中生成的,或者在传送的过程中已经被替换,所以CA不能给证书申请文件进行签名使它成为证书。
具体实施方式2:
参考图2,图2为根据本发明的第二实施方式的安全地生成密钥对和传送证书申请文件的方法的流程图,包括以下步骤:
步骤201:信息安全设备和CA共享一个密钥A。
这里密钥A不能被导出,也不能用于本发明描述的用途以外的其它用途。
步骤202:信息安全设备生成密钥对:私钥C和公钥D,私钥C始终保存在信息安全设备中,不可导出。
步骤203:使用共享密钥A计算公钥D的消息鉴别码M。
为了防止信息安全设备用木马程序生成的公钥,即非法公钥生成鉴别信息,这里应一次性执行完成步骤(202)和步骤(203),使公钥D的消息鉴别码M是在生成公钥D和私钥C时生成的,或者保证信息安全设备不能从外部导入任何公钥。所述消息鉴别码M,即MAC(MessageAuthentication Code)。
步骤204:从信息安全设备中导出公钥D和消息鉴别码M。
步骤205:公钥D与用户信息合并生成证书申请文件。
步骤206:信息安全设备使用私钥C对证书申请文件签名。
步骤207:将消息鉴别码M附加到执行步骤206后的证书申请文件中,并随同执行步骤206后的证书申请文件一起发送给CA。
上述步骤是为了保证证书申请文件在传送过程中的安全,具体地,保证公钥和证书申请文件的自签名不被替换。
步骤208:CA利用共享密钥A对公钥D计算消息鉴别码,并且将计算的结果和所述消息鉴别码M进行比较。
如果两个消息鉴别码相等,则说明公钥D是在信息安全设备中生成的,并且证书申请文件中的公钥D和自签名信息没有被替换,CA可以对证书申请文件进行签名使它成为证书;如果两个消息鉴别码不相等,则说明证书申请文件中的公钥D不是在信息安全设备中生成的,或者在传送的过程中已经被替换,所以CA不能对证书申请文件进行签名使它成为证书。
具体实施方式3
参考图3,图3为根据本发明的第三实施方式的安全地生成密钥对和传送公钥信息的方法的流程图,包括以下步骤:
步骤301:信息安全设备保存有一个密钥对中的私钥A,接收者保存有所述密钥对中的公钥B。
这里私钥A不能被导出,也不能用于本发明描述的用途以外的其它用途。接收者可以是任何进行公钥和鉴别信息验证的实体。
步骤302:信息安全设备生成密钥对:私钥C和公钥D,私钥C始终保存在信息安全设备中,不可导出。
步骤303:使用私钥A对公钥D签名,生成签名信息M。
为了防止信息安全设备用木马程序生成的公钥,即非法公钥生成鉴别信息,这里应一次性执行完成步骤(302)和步骤(303),使公钥D的签名信息M是在生成公钥D和私钥C时生成的,或者保证信息安全设备不能从外部导入任何公钥。
步骤304:从信息安全设备中导出公钥D及其签名信息M。
步骤305:将签名信息M和公钥D一起发给接收者。
上述步骤是为了保证公钥信息在传送过程中的安全,具体地,保证公钥信息不被替换。
步骤306:接收者利用公钥B对公钥D及其签名信息M进行验鉴。
如果鉴别成功,则说明公钥D是在信息安全设备中生成的,并且在被传送过程中没有被替换;如果对公钥D及其签名验鉴失败,则说明公钥D不是在信息安全设备中生成的,或者在被传送的过程中已经被替换。
具体实施方式4:
参考图4,图4为根据本发明的第四实施方式的安全地生成密钥对和传送公钥信息的方法的流程图,包括以下步骤:
步骤401:信息安全设备和接收者共享一个密钥A。
这里密钥A不能被导出,也不能用于本发明描述的用途以外的其它用途。接收者可以是任何进行公钥和鉴别信息验证的实体。
步骤402:信息安全设备生成密钥对:私钥C和公钥D,私钥C始终保存在信息安全设备中,不可导出。
步骤403:使用共享密钥A计算公钥D的消息鉴别码M。
为了防止信息安全设备用木马程序生成的公钥,即非法公钥生成鉴别信息,这里应一次性执行完成步骤(402)和步骤(403),使公钥D的消息鉴别码M是在生成公钥D和私钥C时生成的,或者保证信息安全设备不能从外部导入任何公钥。所述消息鉴别码M,即MAC。
步骤404:从信息安全设备中导出公钥D和消息鉴别码M。
步骤405:将消息鉴别码M和公钥D一起发给接收者。
上述步骤是为了保证公钥信息在传送过程中的安全,具体地,保证公钥信息不被替换。
步骤406:接收者利用共享密钥A对公钥D计算消息鉴别码,并且将计算的结果和所述消息鉴别码M进行比较。
如果两个消息鉴别码相等,则说明公钥D是在信息安全设备中生成的,并且在被传送过程中没有被替换;如果两个消息鉴别码不相等,则说明公钥D不是在信息安全设备中生成的,或者在被传送的过程中已经被替换。
显然,本领域地技术人员可以对本发明地方法进行各种改变而不脱离本发明的精神范围。因此如果这些改变属于本发明权利要求书极其等同技术范围内,则本发明也意图涵盖这些改变。
机译: 安全地生成密钥对并发送证书的公钥或请求文件的方法
机译: 安全地生成密钥对并传输证书的公共密钥或请求文件的方法
机译: 安全地生成密钥对并传输公共密钥或证书应用文档的方法