CN104486087B - 一种基于远程硬件安全模块的数字签名方法 - Google Patents

一种基于远程硬件安全模块的数字签名方法 Download PDF

Info

Publication number
CN104486087B
CN104486087B CN201410849864.0A CN201410849864A CN104486087B CN 104486087 B CN104486087 B CN 104486087B CN 201410849864 A CN201410849864 A CN 201410849864A CN 104486087 B CN104486087 B CN 104486087B
Authority
CN
China
Prior art keywords
user
security module
hardware security
certificate
digital signature
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201410849864.0A
Other languages
English (en)
Other versions
CN104486087A (zh
Inventor
田海博
方乃正
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National Sun Yat Sen University
Original Assignee
National Sun Yat Sen University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by National Sun Yat Sen University filed Critical National Sun Yat Sen University
Priority to CN201410849864.0A priority Critical patent/CN104486087B/zh
Publication of CN104486087A publication Critical patent/CN104486087A/zh
Application granted granted Critical
Publication of CN104486087B publication Critical patent/CN104486087B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明涉及一种基于远程硬件安全模块的数字签名方法,其实现步骤包括:HSM组的每个HSM向CA注册;用户组的每个用户向CA注册;单个用户通过系统与单个HSM建立安全通道;单个HSM为单个用户生成并返回数字签名。本发明通过取消系统对用户的认证、引入CA为用户和HSM颁发数字证书、使用安全通道技术完成用户对HSM的认证、使用口令和安全验证短信的方式完成HSM对用户的认证和签名内容的确认,实现了一种安全有效的基于HSM的数字签名方法,解决了背景技术中效率和安全性较低的问题。

Description

一种基于远程硬件安全模块的数字签名方法
技术领域
[0001] 本发明涉及信息安全领域,特别是涉及一种基于远程硬件安全模块的数字签名方 法。
背景技术
[0002] 硬件安全模块(HSM)在原始定义上是一种物理上防止篡改,功能上能够完成所需 密码算法的硬件设备。Stathis Mavrovouniotis和Mick Ganley在2014年出版了《Secure Smart Embedded Devices,Platforms and Applications》,其中的第17章介绍的正是HSM, 包括了基本的需求和一些常见的攻击。该著作中的表17.3包含当前能够达到FIPS 140-2四 级安全标准的一些HSM产品,包括IBM,AEP,HP等公司的成熟产品。随着技术的进步,在安全 的操作环境中,硬件安全模块可以采用虚拟化技术来实现。
[0003] HSM产品的存在为我们设计安全协议提供了新的选择。当考虑数字签名时,我们发 现当前用户完成数字签名大都是通过USB KEY等客户端硬件完成。这些客户端硬件与具有 USB接口的计算设备连接,由用户负责该计算设备上运行环境的安全性,并在客户端硬件中 完成数字签名。例如当前中国工商银行的USB KEY就是通过这种方式让客户签名,对银行的 相关操作完成授权的。
[0004]然而,在移动设备上,当前的技术存在一些限制。首先,大多数的移动设备并没有 提供相应类型的USB接口,因而大部分客户端硬件无法直接在移动设备上使用;其次,针对 移动设备的类USB KEY设备大都是单独的设备,如果用户单独携带,增加了丢失的风险,如 果由用户存放在固定位置,会降低使用的便利性;最后,硬件设备的损耗是不可避免的问 题,频繁的插拔会引起接口损坏。总之,目前的解决方案并不适合移动场景下的数字签名这 类应用。
[0005]鉴于这些问题,目前出现了一种云端服务器为移动设备提供签名的技术。 〇1'1:113〇1^1',€6111;1161'和1(;1_1:1:1在2011年首先探讨了这一问题。他们在论文 “Qualified Mobile Server Signature”中讨论了通过远程服务器提供有效的数字签名的可能性。这里 “有效的数字签名”与我国《电子签名法》中规定的几个要素是相匹配的,即该数字签名满足 以下几点要求:
[0006] (1)电子签名制作数据用于电子签名时,属于电子签名人专有;
[0007] (2)签署时电子签名制作数据仅由电子签名人控制;
[0008] ⑶签署后对电子签名的任何改动能够被发现;
[0009] (4)签署后对数据电文内容和形式的任何改动能够被发现。
[0010] 0rthacker,Centner和Kittl认为只要服务器是在安全的运行环境下,用户是被强 认证的,用户到签名生成设备之间的通道是安全的,服务器在用户授权下所生成的数字签 名也是有效的。在具体实施上,他们建议使用用户的口令,用户的SIM卡来完成对用户的认 证,使用HSM来保证服务器端的安全运行环境,HSM安装在可控可信的系统中,该系统和用户 之间的安全通道用传输层安全协议(TLS)来保护,SIM卡和HSM之间的通道则依赖无线网络 运行商提供的安全通道来保护。在具体协议上,他们建议用户首先通过TLS通道把自己的口 令交给安装了 HSM的系统,由该系统使用其存储的与用户私钥相关的秘密数据和用户的口 令获得HSM加密的用户私钥,之后发送给HSM,HSM发送验证码给用户,当用户返回验证码后, 由HSM完成数字签名。
[0011] 1^1^3 1〇*31^在2013年提议把数字签名直接做成云服务。在论文“01肖4&1 Signature as a Cloud-based Service” 中,Kinastowski继承了Orthacker,Centner和 Kittl的观点,认为可以通过强认证、安全通道和可控的服务器环境来完成云端的数字签 名。在具体协议上,他们使用一次性口令(0TP)来保护用户待加密的内容,依赖HSM的公钥来 保护用户的口令,并由HSM直接获得用户加密后的文档、口令、以及存储在系统中的使用HSM 的密钥和用户的口令加密的用户私钥,并由HSM完成数字签名。
[0012] 通过比较Or thacker,Centner和Kittl的协议和Kinastowski的协议,我们看到 Orthacker,Centner和Kittl并没有给出文档的传输方式,同时过度依赖与HSM相连的系统 的安全性,事实上,在Orthacker,Centner和Kittl的协议中,如果该系统是不诚实的,它完 全可以获得仅有HSM加密的用户私钥,并截取HSM发送的验证码,从而代替用户签名。这意味 着该系统在服务器签名中是极为关键的元素。而Kinastowski的协议则通过把加密后的文 档,口令以及加密的私钥全部直接交给H S M,由H S M直接完成对用户的认证,缓解了 Orthacker,Centner和Kittl对系统过度依赖的问题。然而,Kinastowski的协议非常依赖用 户口令,并且该口令在用户向系统认证阶段,以及用户向HSM认证阶段都是一致的,这导致 其协议在口令的保护方面比较脆弱。系统依旧能够利用用户的口令来让HSM完成该用户的 数字签名。另外,Kinastowski的协议中,用户需要提交加密的文档,当文档很大时,会给用 户端的浏览器造成极大的负担。
[0013]由此我们得出结论,目前人们虽然在利用强认证协议、HSM和安全通道这几个方面 来完成基于云端服务器的签名基本达成了共识,却还没有一种安全有效的方法来基于HSM 实现数字签名。
发明内容
[0014] 本发明的目的在于提供基于远程硬件安全模块实现数字签名的方法,解决背景技 术中用户口令保护脆弱、浏览器负担较大、缺乏安全有效的方法实现数字签名的问题。
[0015] 为实现上述目的,本发明给出以下方法:
[0016] 1、该方法涉及证书权威机构(CA)、用户组、硬件安全模块(HSM)组,HSM组所连接的 系统(以下简称系统)四个部分,包括以下步骤:
[0017] 1)HSM组的每个HSM向CA注册的步骤;
[0018] 2)用户组的每个用户向CA注册的步骤;
[0019] 3)单个用户通过系统与单个HSM建立安全通道的步骤;
[0020] 4)单个HSM为单个用户生成并返回数字签名的步骤。
[0021] 2、每个HSM向CA注册的步骤包括:
[0022] 1)系统向HSM发出初始化指令,包括生成证书请求证书的基本信息;
[0023] 2) HSM生成该HSM用于数字签名的公/私钥对、用于数据加密的公/私钥对、和用于 数据加密的对称密钥;
[0024] 3) HSM将用于数字签名的私钥、用于数据加密的私钥、用于数据加密的对称密钥存 储在HSM的安全存储区;
[0025] 4) HSM使用生成证书请求证书的基本信息、该HSM的识别信息、用于数字签名的公 钥、和用于数字签名的私钥生成用于数字签名的证书请求证书;
[0026] 5) HSM使用生成证书请求证书的基本信息、该HSM的识别信息、用于数据加密的公 钥和用于数据加密的私钥生成用于数据加密的证书请求证书;
[0027] 6) HSM将用于数字签名的证书请求证书和用于数据加密的证书请求证书经由系统 提交给CA;
[0028] 7) CA验证HSM的两个证书请求证书的有效性,其中任意一个无效则拒绝签发数字 证书,否则基于用于数字签名的证书请求证书和CA的私钥生成用于数字签名的数字证书, 并基于用于数据加密的证书请求证书和CA的私钥生成用于数据加密的数字证书;
[0029] 8) CA返回用于数字签名的数字证书和用于数据加密的数字证书给系统;
[0030] 9)系统存储HSM的数字证书。
[0031] 3、每个用户向CA注册的步骤包括:
[0032] 1)用户向CA提交手机号码,电子邮件等注册信息;
[0033] 2)CA向系统查询空闲的HSM;
[0034] 3)系统查询连接的HSM组,获得空闲的HSM列表,将列表中一个HSM的用于数字签名 的数字证书和用于数据加密的数字证书经CA转交给用户;
[0035] 4)用户使用HSM的用于数据加密的数字证书中的公钥加密自己的私钥提取口令, 并把密文提交给CA;
[0036] 5) CA把用户的手机号码、电子邮件等注册信息和加密的该用户的私钥提取口令经 由系统提交给对应的HSM;
[0037] 6)该HSM首先生成用户用于数字签名的公/私钥对,然后把用户的手机号码输入 HSM的HASH算法,获得该用户的索引值,然后使用用户的注册信息、生成的索引值、用户用于 数字签名的私钥来生成用户的用于数字签名的证书请求证书,然后使用HSM用于数据加密 的私钥解密用户的私钥提取口令,然后使用密钥生成函数把HSM用于数据加密的对称密钥、 用户的私钥提取口令、和用户的手机号码做为输入,输出一个用户私钥加密密钥,然后使用 该用户私钥加密密钥、用户用于数字签名的私钥获取加密的用户数字签名私钥,最后HSM返 回用户的索引值、加密的用户数字签名私钥、和用户的用于数字签名的证书请求证书给系 统,其中获取加密的用户数字签名私钥时,所采用的算法是HSM对称加密体制中的加密算 法,该加密算法在实现上具有完整性保护的功能,例如AES-CCM算法;
[0038] 7)系统存储用户的索引值和加密的用户数字签名私钥,转发用户的用于数字签名 的证书请求证书给CA;
[0039] 8) CA基于用户的用于数字签名的证书请求证书和CA的私钥生成用户的用于数字 签名的数字证书,并提交给用户;
[0040] 9)用户存储用于数字签名的数字证书;
[0041] 4、单个用户通过系统与单个HSM建立安全通道的步骤包括:
[G042] 1)用户向系统提交HSM用于数据加密的数字证书,要求与数字证书所指明的HSM建 立安全通道;
[0043] 2)系统通过用户提交的数字证书中HSM的识别信息查询HSM组,如果该HSM空闲,则 通知用户与该HSM建立安全通道,否则提示用户等待并周期查询该HSM的状态,当可用时通 知用户与该HSM建立安全通道;
[0044] 3)用户与该HSM建立安全通道,单向认证HSM的真实性,并生成保护数据完整性和 机密性的密钥。
[0045] 5、单个HSM为单个用户生成并返回数字签名的步骤包括:
[0046] 1) HSM通过安全通道提示用户输入私钥提取口令、手机号码和待签名内容;其中待 签名内容可以是完整的待签名文档,也可以是文档的hash值,或者是部分的文档的信息和 文档的HASH值。这里的文档可以是程序、数据块等任意电子签名制作数据。
[0047] 2)用户通过安全通道向HSM提交自己的私钥提取口令、手机号码和待签名内容;
[0048] 3) HSM把用户的手机号码输入HSM的HASH算法,获得该用户的索引值,提交系统;
[0049] 4)系统返回给HSM用户的索引值所对应的加密的用户数字签名私钥;
[0050] 5) HSM使用密钥生成函数把HSM用于数据加密的对称密钥、用户的私钥提取口令、 和用户的手机号码做为输入,输出一个用户私钥加密密钥,然后使用该用户私钥加密密钥、 加密的用户数字签名私钥解密获取用户的数字签名私钥;
[0051] 6) HSM生成安全短消息,包括随机数、本地时钟的时间、用户待签名内容的信息、和 使用HSM的用于数字签名的私钥生成的关于该短消息内容的数字签名,然后发送该安全短 消息给用户;
[0052] 7)用户验证安全短消息的数字签名是否有效,验证待签名内容是否正确,验证通 过则通过安全通道提交收到的随机数,完成数字签名确认的操作;
[0053] 8) HSM确认随机数的一致性,然后使用用户的数字签名私钥对待签名内容进行数 字签名,返回数字签名结果给用户。
[0054]为了支持上述数字签名方法,本发明要求硬件安全模块在实现上包括以下模块: HSM公钥加密体制、HSM数字签名体制、HSM对称加密体制、HSM密钥生成函数、HSM短消息发送 模块、HSM安全存储区、HASH算法、随机数生成算法、用户数字签名体制、证书请求证书生成 算法、安全通道建立模块、本地时钟模块。
[0055]本发明具有以下优点:
[0056]首先,用户通过浏览器提交给HSM的待签名内容可以仅仅是HASH值,因而在需要签 名的消息过大时,无需传输整个消息,只需要传输固定大小的HASH值,提高了签名的效率。 其次,用户只需要向系统提交HSM的数字证书,无需提供自身的口令等信息,减少了 口令的 使用次数,提高了 口令的安全性。再次,本发明中用户和HSM之间具有双向的认证关系,用户 在建立安全通道时认证HSM,而HSM则通过用户私钥提取口令的有效性判断用户的身份。最 后,本发明中HSM使用用户的私钥签名之前需要得到用户的确认。总的来看,本发明提供了 一种安全有效的基于远程硬件安全模块的数字签名方法。
[0057]本发明所提供的基于远程硬件安全模块的数字签名方法,可以用于移动办公,移 动电子政务,移动电子商务等需要通过移动设备完成符合《电子签名法》要求的有效电子签 名的场景,要求移动设备能够接收短消息,能够连接互联网。
附图说明
[0058] 下面结合附图和具体实施方式来对本发明进行详细的阐述。
[0059] 图1基于远程硬件安全模块实现数字签名的方法框架;
[0060] 图2HSM向CA注册的过程示例;
[0061] 图3用户向CA注册的过程示例;
[0062] 图4用户通过系统与HSM建立安全通道的过程示例;
[0063] 图5HSM为用户生成数字签名的过程示例;
[0064]图6HSM的功能模块示意图
具体实施方式
[0065] 该方案包括证书权威机构(CA)、用户、HSM组和系统这样四个部分。具体实施时首 先由HSM组的每一个HSM向CA注册;之后由用户向CA注册;在需要生成数字签名时,用户通过 系统与HSM建立安全通道,然后由HSM为用户生成数字签名。下面以移动办公场景为例来说 明具体实施过程。
[0066] 实施例1
[0067]假设存在证书权威机构CA,该CA提供了连接HSM组的系统,并提供了 HSM组,用于提 供云签名服务。该CA的某个用户,张三,是某公司的部门经理,需要使用该项云签名服务来 提供有效的电子签名,以便在外地出差时能够处理公司的业务。
[0068] HSM组的每个HSM在本实施例中支持如下算法、体制和模块:RSA-0AEP公钥加密体 制、符合RFC4359的数字签名体制、AES-CCM对称加密体制、符合RFC5869的密钥生成函数、 GSM短消息发送模块、防篡改防探测的安全存储区、HASH算法SHA-2563BS随机数生成算法、 用户的DSA数字签名体制、证书请求证书生成算法PKCS10#、安全通道建立模块TLS、本地时 钟。
[0069]完成数字签名的实施过程如下:
[0070] (1) CA内部的HSM管理人员操作系统,向HSM组的每一个HSM发出初始化命令,触发 每一个HSM向CA的注册过程。每一个HSM在系统中都有一个唯一的标识,该标识是HSM的物理 地址,为了叙述方便,我们把第j个HSM的物理地址称为id_ j,如图2所示。下面以id_j模块为 例来说明HSM向CA注册的过程。HSM组的其它模块采取相同的过程。
[0071] ⑵在系统触发id_j向CA注册后,id_j启动自己的HSM公钥加密体制中的密钥生成 算法,为自己生成用于加密的公钥pk、_j和用于解密的私钥slTe_j;启动自己的HSM数字签 名体制中的密钥生成算法,为自己生成用于签名的私钥sk~S_#P用于验证签名的公钥pk~ s_j ;启动自己的HSM对称密钥加密体制中的密钥生成算法,为自己生成用于对称加密和解 密的密钥ssk_j。之后sk'e_j,sk~s_j和ssk_j存储在id_j的HSM安全存储区。然后id_j模块 与HSM管理人员交互,为公钥plTe_Ml]pk~S_j按照证书请求证书生成算法,例如Pkcs#10规 范,生成证书请求证书,其中包含id_j这一唯一标识符。CA得到证书请求证书之后,验证其 有效性,在验证有效之后为icU模块签发数字证书,否则拒绝签发数字证书。假设CA为id_j 模块颁发的数字证书分别称为Cert'u^Cert'sJ。这两个数字证书保存在与HSM组相连 接的系统中。因此,在初始化完成之后,系统存储了 HSM组中每一个模块的数字证书,每一个 模块中存在三个私钥,CA为每一个模块签发了两张数字证书。
[0072] (3)当用户张三向CA申请云签名服务时,触发该用户向CA的注册过程。张三需要向 CA提供自己的手机号码,电子邮件等注册信息,用于以后的电子签名确认过程。在本实施例 中假设张三提供了自己的手机号码。另外张三需要向CA提供的注册信息还包括姓名,单位 等个人信息,用于CA为张三生成数字证书。CA向系统请求空闲的HSM,并得到空闲HSM的数字 证书。假设空闲的HSM为id_j,CA得到的数字证书是cert~e_j和Cert~s_jeCA将Cert~e_j* Cert ~ s_」交给张三。张三验证Cert ~ e_ jlPCert ~ s_ j的有效性,无效则放弃操作。否则保存在 自己的移动设备中。张二然后把自己的私钥提取口令的公钥加密,得到 加禮的密文C_pass = E (pk e_j,pass_z),交给CA<XA将用户的手机号码、注册信息,C_pass 交给系统,系统交给id_j模块。模块id_j启动用户数字签名体制中的密钥生成算法,为用户 张三生成用于签名的私钥sk~s_z*用于验证签名的公钥pk~s_z。然后id_j模块启动HASH算 法,计算用户手机号码的HASH值,得到C」ndeX。之后id」•模块使用用户的注册信息为公钥 pk~s_z按照证书请求证书生成算法,例如pkcs#l〇规范,生成证书请求证书,并在其中包含 C_index字段。然后id_j模块解得到pass_z。然后id_j启动HSM密钥生成函数,输 入pass_z、ssk_j和张三的手机号码,得到用户私钥加密密钥pek_z。然后id_j模块启动HSM 对称加密体制中的对称加密算法,把pek_z作为加密密钥,把sk~ 8_2作为明文,加密后得到 密文C_priv。模块id_j输出C_priv和证书请求证书。系统存储(:_卩^¥和(:_111(161。系统把证 书请求证书提交给CAXA生成用户关于pk~s_z的公钥证书。
[0073] ⑷当张三需要使用移动设备生成电子签名时,张三需要打开系统提供的APP或者 网页等客户端,用以通过系统向HSM请求数字签名。假设张三通过网页访问系统的云签名服 务,张三需要签署的是一个文档DOC。张三通过网页向系统提交自己储存的HSM的证书Cert' e_j,系统通过证书中的id_j确认该模块是否空闲,如果该模块空闲,则通知用户开始建立 安全信道,否则用户需要等待。用户张三的浏览器与模块id_j执行安全通道建立协议,例如 执行TLS协议如下的密码套件:
[0074] TLS_RSA—WITH—AES—128_CBC—SHA。
[0075] TLS协议可以保证用户对id_j模块的认证,同时完成安全通道的建立,安全通道使 用128比特密钥的AES算法按照CBC的模式加密,使用SHA保证密文的完整性。
[0076] (5)模块id一j提不张二输入手机号码、pass_z和文档待签名内容。用户输入自己的 手机号码、pass_dP待签署文档的HASH值,这些值都在安全通道中传输。之后HSM启动haSH 算法,计算用户手机号码的HASH值,得到C_index。然后HSMfcC_index提交给系统,获得密文 C一 pri V。模块id_j启动密钥生成函数,输入pass_z、ssk _j和张三的手机号码,得到用户私钥 加密密钥pek_z。模块id_j启动对称解密算法,获得用户的私钥Sk~ s_z ;如果解密失败,则 i d一 j向系统返回错误,终止签名过程。否则模块i d_j启动短消息发送模块,向用户的手机发 送安全短消息,确认即将对某个HASH值进行签名,并对短消息的内容、当前时间和随机数, 用私钥sk~ s—j计算数字签名,一起发送给用户。用户张三应当有适当的软件可以检验短消 息的安全性,即使用pk~s_j的公钥验证短消息的来源。验证通过后,张三确认待签署的说紐 值和自己发送给模块id_j的HASH值一致,然后确认数字签名,把随机数通过安全通道返回 给HSM的模块i d_ j。当模块i d_ j收到收到用户发送的随机数之后,i d_ j使用张三的私钥sk ~ s_z对D0C的HASH值进行数字签名,返回给用户关于D0C的签名值。张三的浏览器把该签名附 在D0C的后面,形成最终的数字签名。
[0077] 实施例2
[0078]实施例2与实施例1相同,除了步骤(3)中,用户张三向CA提交的个人信息为电子邮 件,并在后续的处理中,把用到手机号码的计算全部更改为电子邮件地址;在步骤(5)中,用 户张三向HSM提交电子邮件地址,并在后续操作中使用电子邮件来确认签名,g卩HSM向张三 的电子邮件地址发送安全电子邮件,等待用户返回电子邮件中的随机数,确认签名。此时 HSM可以没有短消息发送模块,但是需要支持电子邮件发送的功能。
[0079] 实施例3
[0080]实施例3综合了实施例1和2,同时使用用户手机号码和电子邮件来让用户确认,需 要用户输入两个随机数,可以提供更好的安全性,同时也要求HSM同时支持短消息发送模块 和电子邮件模块。
[0081] 实施例4
[0082]实施例4与实施例1相同,除了在步骤3中及后续步骤中,用户向HSM提交私钥提取 口令时,用的是张三的生物特征信息,例如张三的指纹信息,该指纹信息经过数字化之后也 可以作为私钥提取口令。在后续使用私钥提取口令的位置,全部使用的是张三的生物特征 伯息。
[0083] 实施例5
[0084]实施例5与实施例1相同,除了在步骤5中,用户直接向HSM提交D0C的信息,而不是 HASH值。在后续操作中,用到D0C的HASH值的位置,全部用D0C本身替代。

Claims (3)

1.一种基于远程硬件安全模块的数字签名方法,包括证书权威机构、用户组、硬件安全 模块组、硬件安全模块所连接的系统,其特征在于包括以下步骤: 1) 硬件安全模块组的每个硬件安全模块向证书权威机构注册; 2) 用户组的每个用户向证书权威机构注册; 3) 单个用户通过所述硬件安全模块所连接的系统与单个硬件安全模块建立安全通道; 4) 单个硬件安全模块为单个用户生成并返回数字签名; 所述的每个硬件安全模块向证书权威机构注册的步骤包括: 11)系统向硬件安全模块发出初始化指令,包括生成证书请求证书的基本信息; 1¾硬件安全模块生成该硬件安全模块用于数字签名的公/私钥对、用于数据加密的 公/私钥对、和用于数据加密的对称密钥; 13) 硬件安全模块将用于数字签名的私钥、用于数据加密的私钥、用于数据加密的对称 密钥存储在硬件安全模块的安全存储区; 14) 硬件安全模块使用生成证书请求证书的基本信息、该硬件安全模块的识别信息、用 于数字签名的公钥、和用于数字签名的私钥生成用于数字签名的证书请求证书; 15) 硬件安全模块使用生成证书请求证书的基本信息、该硬件安全模块的识别信息、用 于数据加密的公钥和用于数据加密的私钥生成用于数据加密的证书请求证书; ie)硬件安全模块将用于数字签名的证书请求证书和用于数据加密的证书请求证书经 由系统提交给证书权威机构; 17) 证书权威机构验证硬件安全模块的两个证书请求证书的有效性,其中任意一个无 效则拒绝签发数字证书,否则基于用于数字签名的证书请求证书和证书权威机构的私钥生 成用于数字签名的数字证书,并基于用于数据加密的证书请求证书和证书权威机构的私钥 生成用于数据加密的数字证书; 18) 证书权威机构返回用于数字签名的数字证书和用于数据加密的数字证书给系统; 19) 系统存储硬件安全模块的数字证书; 所述的每个用户向证书权威机构注册的步骤包括: 21) 用户向证书权威机构提交手机号码,电子邮件注册信息; 22) 证书权威机构向系统查询空闲的硬件安全模块; 23) 系统查询连接的硬件安全模块组,获得空闲的硬件安全模块列表,将列表中一个硬 件安全模块的用于数字签名的数字证书和用于数据加密的数字证书经证书权威机构转交 给用户; 24) 用户使用硬件安全模块的用于数据加密的数字证书中的公钥加密自己的私钥提取 口令,并把密文提交给证书权威机构; 2¾证书权威机构把用户的手机号码、电子邮件等注册信息和加密的该用户的私钥提 取口令经由系统提交给对应的硬件安全模块; 26)该硬件安全模块首先生成用户用于数字签名的公/私钥对,然后把用户的手机号码 输入硬件安全模块的HASH算法,获得该用户的索引值,然后使用用户的注册信息、生成的索 引值、用户用于数字签名的私钥来生成用户的用于数字签名的证书请求证书,然后使用硬 件安全模块用于数据加密的私钥解密用户的私钥提取口令,然后使用密钥生成函数把硬件 安全模块用于数据加密的对称密钥、用户的私钥提取口令、和用户的手机号码做为输入,输 出一个用户私钥加密密钥,然后使用该用户私钥加密密钥、用户用于数字签名的私钥获取 加密的用户数字签名私钥,最后硬件安全模块返回用户的索引值、加密的用户数字签名私 钥、和用户的用于数字签名的证书请求证书给系统; 27) 系统存储用户的索引值和加密的用户数字签名私钥,转发用户的用于数字签名的 证书请求证书给证书权威机构; 28) 证书权威机构基于用户的用于数字签名的证书请求证书和证书权威机构的私钥生 成用户的用于数字签名的数字证书,并提交给用户; 29) 用户存储用于数字签名的数字证书; 所述的单个用户通过系统与单个硬件安全模块建立安全通道的步骤包括: 31) 用户向系统提交硬件安全模块用于数据加密的数字证书,要求与数字证书所指明 的硬件安全模块建立安全通道; 32) 系统通过用户提交的数字证书中硬件安全模块的识别信息查询硬件安全模块组, 如果该硬件安全模块空闲,则通知用户与该硬件安全模块建立安全通道,否则提示用户等 待并周期查询该硬件安全模块的状态,当可用时通知用户与该硬件安全模块建立安全通 道; 33) 用户与该硬件安全模块建立安全通道,单向认证硬件安全模块的真实性,并生成保 护数据完整性和机密性的密钥; 所述的单个硬件安全模块为单个用户生成并返回数字签名的步骤包括: 41) 硬件安全模块通过安全通道提示用户输入私钥提取口令、手机号码和待签名内容; 42) 用户通过安全通道向硬件安全模块提交自己的私钥提取口令、手机号码和待签名 内容; 43) 硬件安全模块把用户的手机号码输入硬件安全模块的HASH算法,获得该用户的索 引值,提交系统; 44) 系统返回给硬件安全模块用户的索引值所对应的加密的用户数字签名私钥; 45) 硬件安全模块使用密钥生成函数把硬件安全模块用于数据加密的对称密钥、用户 的私钥提取口令、和用户的手机号码做为输入,输出一个用户私钥加密密钥,然后使用该用 户私钥加密密钥、加密的用户数字签名私钥解密获取用户的数字签名私钥; 46) 硬件安全模块生成安全短消息,包括随机数、本地时钟的时间、用户待签名内容的 信息、和使用硬件安全模块的用于数字签名的私钥生成的关于该短消息内容的数字签名, 然后发送该安全短消息给用户; 47) 用户验证安全短消息的数字签名是否有效,验证待签名内容是否正确,验证通过则 通过安全通道提交收到的随机数,完成数字签名确认的操作; 48) 硬件安全模块确认随机数的一致性,然后使用用户的数字签名私钥对待签名内容 进行数字签名,返回数字签名结果给用户。
2. 根据权利要求1所述的方法,其特征在于,所述的硬件安全模块包括硬件安全模块公 钥加密体制、硬件安全模块数字签名体制、硬件安全模块对称加密体制、硬件安全模块密钥 生成函数、硬件安全模块短消息发送模块、硬件安全模块安全存储区、hash算法、随机数生 成算法、用户数字签名体制、证书请求证书生成算法、安全通道建立模块、本地时钟模块。
3. 根据权利要求1所述的方法,其特征在于,所述的待签名内容包括待签名文档的HASH 值。
CN201410849864.0A 2014-12-23 2014-12-23 一种基于远程硬件安全模块的数字签名方法 Expired - Fee Related CN104486087B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410849864.0A CN104486087B (zh) 2014-12-23 2014-12-23 一种基于远程硬件安全模块的数字签名方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410849864.0A CN104486087B (zh) 2014-12-23 2014-12-23 一种基于远程硬件安全模块的数字签名方法

Publications (2)

Publication Number Publication Date
CN104486087A CN104486087A (zh) 2015-04-01
CN104486087B true CN104486087B (zh) 2017-12-29

Family

ID=52760595

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410849864.0A Expired - Fee Related CN104486087B (zh) 2014-12-23 2014-12-23 一种基于远程硬件安全模块的数字签名方法

Country Status (1)

Country Link
CN (1) CN104486087B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107169316A (zh) * 2017-04-13 2017-09-15 北京深思数盾科技股份有限公司 一种托管硬件控制锁的方法及系统
CN109309565B (zh) * 2017-07-28 2021-08-10 中国移动通信有限公司研究院 一种安全认证的方法及装置
CN107888560B (zh) * 2017-10-12 2020-12-22 深圳市中易通安全芯科技有限公司 一种移动智能终端邮件安全传输系统及方法
CN109299942A (zh) * 2018-09-28 2019-02-01 新明华区块链技术(深圳)有限公司 一种应用于区块链及互联网的密钥管理方法、装置及系统
CN112134693B (zh) * 2019-06-25 2022-03-15 比亚迪股份有限公司 密钥加密存储方法、获取方法及其装置
CN113015159A (zh) * 2019-12-03 2021-06-22 中国移动通信有限公司研究院 初始安全配置方法、安全模块及终端

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102769529A (zh) * 2011-05-02 2012-11-07 弗里塞恩公司 Dnssec签名服务器
CN103370713A (zh) * 2011-02-08 2013-10-23 德国捷德有限公司 用于编程移动终端设备芯片的方法
CN103379116A (zh) * 2012-04-29 2013-10-30 弗里塞恩公司 Dnssec在线签名

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112012000770B4 (de) * 2011-03-16 2021-02-18 International Business Machines Corporation System zum Ermöglichen des Überprüfens von digitalen Signaturen

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103370713A (zh) * 2011-02-08 2013-10-23 德国捷德有限公司 用于编程移动终端设备芯片的方法
CN102769529A (zh) * 2011-05-02 2012-11-07 弗里塞恩公司 Dnssec签名服务器
CN103379116A (zh) * 2012-04-29 2013-10-30 弗里塞恩公司 Dnssec在线签名

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Digital Signature as a Cloud-based Service;Wojciech Kinastowski;《CLOUD COMPUTING 2013 : The Fourth International Conference on Cloud Computing, GRIDs, and Virtualization》;20131231;第69-70页和图1 *
基于数字签名和HSM的数据库篡改检测机制;殷腾飞,谢晓玲,梅雪莲;《华东理工大学学报》;20140630;全文 *

Also Published As

Publication number Publication date
CN104486087A (zh) 2015-04-01

Similar Documents

Publication Publication Date Title
EP3318003B1 (en) Confidential authentication and provisioning
CN104486087B (zh) 一种基于远程硬件安全模块的数字签名方法
US10411906B2 (en) Secure certificate distribution
CN109309565B (zh) 一种安全认证的方法及装置
KR20190073472A (ko) 데이터 송신 방법, 장치 및 시스템
CN108092776A (zh) 一种身份认证服务器和身份认证令牌
CN106878318A (zh) 一种区块链实时轮询云端系统
CN103763631A (zh) 认证方法、服务器和电视机
CN103684766A (zh) 一种终端用户的私钥保护方法和系统
CN105072125B (zh) 一种http通信系统及方法
US20180219688A1 (en) Information Transmission Method and Mobile Device
CN103036684B (zh) 降低主密钥破解和泄露危害的ibe数据加密系统及方法
US9942042B1 (en) Key containers for securely asserting user authentication
CN106656489B (zh) 一种面向移动支付的自助售卖设备与服务器间信息交互的安全提升方法
CN103701787A (zh) 一种基于公开密钥算法实现的用户名口令认证方法
CN105827395A (zh) 一种网络用户认证方法
CN103856468A (zh) 身份验证系统及方法
CN105337741A (zh) 基于非对称算法的信任设备自主注册方法
US11336641B2 (en) Security enhanced technique of authentication protocol based on trusted execution environment
WO2021090027A1 (en) Quantum-safe networking
US20190007218A1 (en) Second dynamic authentication of an electronic signature using a secure hardware module
KR102053993B1 (ko) 인증서를 이용한 사용자 인증 방법
Xu et al. Qrtoken: Unifying authentication framework to protect user online identity
CN111404680B (zh) 口令管理方法和装置
CN107454063B (zh) 一种用户交互认证方法、设备及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20171229

Termination date: 20201223

CF01 Termination of patent right due to non-payment of annual fee