CN107809311A - 一种基于标识的非对称密钥签发的方法及系统 - Google Patents

一种基于标识的非对称密钥签发的方法及系统 Download PDF

Info

Publication number
CN107809311A
CN107809311A CN201710919581.2A CN201710919581A CN107809311A CN 107809311 A CN107809311 A CN 107809311A CN 201710919581 A CN201710919581 A CN 201710919581A CN 107809311 A CN107809311 A CN 107809311A
Authority
CN
China
Prior art keywords
key
user
generation
module
carrier
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.)
Granted
Application number
CN201710919581.2A
Other languages
English (en)
Other versions
CN107809311B (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.)
Feitian Technologies Co Ltd
Original Assignee
Feitian Technologies Co Ltd
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 Feitian Technologies Co Ltd filed Critical Feitian Technologies Co Ltd
Priority to CN201710919581.2A priority Critical patent/CN107809311B/zh
Publication of CN107809311A publication Critical patent/CN107809311A/zh
Application granted granted Critical
Publication of CN107809311B publication Critical patent/CN107809311B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0815Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明公开一种基于标识的非对称密钥签发的方法及系统,包括:密钥生成中心接收到用户提交的注册信息,根据注册信息确定密钥载体,向载体发送通信密钥协商请求,密钥载体接收到通信密钥协商请求后生成密钥申请请求并发送给密钥生成中心,密钥生成中心接收到密钥申请响应后生成用户私钥,并对用户私钥进行加密后返回给密钥载体,密钥载体接收到用户私钥进行验证,验证成功后,将用户私钥存入安全区;本发明是基于身份标识的密钥签发的方法,简化了密钥签发的配置与管理,同时采用双向身份鉴别,增强了安全性。

Description

一种基于标识的非对称密钥签发的方法及系统
技术领域
本发明涉及信息安全领域,特别涉及一种基于标识的非对称密钥签发的方法及系统。
背景技术
身份认证是网络安全的重要机制之一,也是实现身份信息保密的重要技术。目前大多数应用系统采用用户名加口令方式实现身份验证,网络之间的信息传输都是明文。
这种传统的认证方式存在很多的安全隐患,用户为了便于记忆,其用户名和密码往往过于简单且带有一定的规律性,易被猜测、易泄露;同时用户在输入密码时易被偷窥,而密码在传输的过程中也易被黑客截获;信息以明文形式传输,或密文的加密强度太低,很容易破解;如果设置数字证书安全性会增高,但是系统的配置与管理又比较繁琐。
发明内容
本发明提供一种基于身份标识的密钥签发的方法及系统,简化了密钥签发的配置和管理,同时采用双向身份鉴别,增强了安全性。
根据本发明,一种基于身份标识的密钥签发的方法包括:
步骤a1:当密钥生成中心接收到用户提交的注册信息时,保存所述用户注册信息,根据保存的用户注册信息确定密钥载体,并向所述密钥载体发送通信密钥协商请求;
步骤b1:所述密钥载体接收所述通信密钥协商请求,生成第一对称加密密钥,并使用通信公钥加密所述第一对称加密密钥生成密钥申请请求,并将所述密钥申请请求发送给所述密钥生成中心;
步骤c1:所述密钥生成中心接收到所述密钥申请请求之后,使用预设通信私钥解密所述密钥申请请求,得到所述第一对称加密密钥,并根据函数标识符、有效期以及生成私钥的算法函数,结合主私钥、双线性曲线的生成元以及用户标识生成用户私钥;
步骤d1:所述密钥生成中心结合用户信息生成第一数据,使用所述预设通信私钥对所述第一数据作数字签名得到第一签名值,用所述第一对称加密密钥对生成的所述用户私钥、所述用户标识以及所述第一签名值进行加密,生成密钥申请响应,向所述密钥载体返回密钥申请响应;
步骤e1:所述密钥载体接收到所述密钥申请响应之后,用所述第一对称加密密钥解密所述密钥申请响应获得第一签名值,对所述第一签名值进行验证,并判断所述第一签名值是否验证成功,如果是,执行步骤f1;否则,密钥申请失败,结束;
步骤f1:所述密钥载体根据所述第一签名值得到用户私钥并将所述用户私钥存入安全区,结束。
一种基于身份标识的密钥签发的系统包括:
密钥生成中心和密钥载体;
其中,所述密钥生成中心具体包括:
第一接收模块,用于接收用户提交的注册信息以及密钥申请请求;
保存模块,用于保存所述第一接收模块接收到的所述用户提交的注册信息;
第一发送模块,用于当所述密钥生成中心根据所述用户提交的注册信息确定密钥载体后,向所述密钥载体发送通信密钥协商请求;
第一生成模块,用于当所述第一接收模块接收到所述密钥申请请求后,生成用户私钥;
第二生成模块,用于结合用户信息生成第一数据;
签名模块,用于使用预设通信私钥对所述第一数据作数字签名得到第一签名值;
加密模块,用于用所述密钥载体生成的第一对称加密密钥对所述第一生成模块生成的所述用户私钥以及所述第一签名值进行加密生成密钥申请响应;
第一解密模块,用于当所述第一接收模块接收到所述密钥申请请求后,使用所述通信私钥解密所述密钥申请请求,得到所述第一对称加密密钥;
所述密钥载体具体包括:
第二接收模块,用于接收所述密钥生成中心发送的所述通信密钥协商请求,以及密钥生成中心发送的所述密钥申请响应;
第三生成模块,用于生成所述第一对称加密密钥,并使用通信公钥加密所述第一对称加密密钥生成所述密钥申请请求;
第二发送模块,用于将所述第三生成模块生成的所述密钥申请请求发送给所述密钥生成中心;
第二解密模块,用于当所述密钥载体接收到所述密钥生成中心发送的所述密钥申请响应后,用所述第三生成模块生成的所述第一对称加密密钥解密所述密钥申请响应获得所述第一签名值;
验证模块,用于对由所述第二解密模块获得的所述第一签名值进行验证;
判断模块,用于判断所述验证模块对所述第一签名值进行验证是否成功;
存入模块,用于当所述判断模块判断出所述第一签名值验证成功时,根据所述第一签名值得到用户私钥,并将所述用户私钥存入安全区。
与现有技术相比,本发明提供的密钥签发的方法及系统是基于身份标识的,不用设置数字证书管理中心,不用采用X.509格式的数字证书,从而简化了密钥签发的配置与管理,同时采用双向身份鉴别,增强了安全性。
附图说明
图1为本发明实施例1提供的一种基于标识的非对称密钥签发的方法;
图2为本发明实施例2提供的一种基于标识的非对称密钥签发的方法;
图3为本发明实施例3提供的一种基于标识的非对称密钥签发的方法;
图4为本发明实施例4提供的一种基于标识的非对称密钥签发的系统;
图5为本发明实施例5提供的一种基于标识的非对称密钥签发中的密钥载体。
具体实施方式
本发明提供的密钥签发的方法及系统是基于身份标识的,简化了密钥签发的配置和管理,同时采用双向身份鉴别,增强了安全性。
本发明提供了一种基于标识的非对称密钥签发的方法,其中,密钥载体内部设置有存储用户私钥dID的存储区,并且建立了包括用户名、用户标识ID、注册时间、有效期、主私钥版本、hid码版本等项的用户密钥记录索引;
实施例1
本发明实施例1提供了一种基于标识的非对称密钥签发的方法,如图1所示,具体包括:
步骤s101:密钥生成中心接收用户提交的用户注册信息,并保存用户注册信息,根据用户注册信息确定密钥载体。
其中,用户在申请注册时,需要提交的信息可以包括:申请者标识类型、申请者标识、申请者名称、申请者联系方式、密钥载体网络电子身份标识(EID)等;其中,密钥载体网络电子身份标识EID用于确定密钥载体。
其中,如果用户为首次注册的用户,则用户需要到指定服务点进行面对面注册与申请,由本地注册服务方在柜台完成对用户申请信息的初步合法性审核。
步骤s102:密钥生成中心向密钥载体发送用户验证请求。
具体地,密钥生成中心向密钥载体发送用户验证请求,例如:0x80 FC 02 00 20;
其中,密钥载体是可以安全储存密钥的软件/硬件模块;用户注册前,密钥载体已经进行了初始化,具有系统参数包括:
加法群G1、加法群G2,P1,P2,g1,g2,Ppub1,Ppub2,p,e
其中,P1和P2分别是加法群G1、G2的生成元,g1和g2为双线性对运算,Ppub1是P1的主私钥倍点值,Ppub2是P2的主私钥倍点值,
Ppub1,g1用于加密;Ppub2,g2用于签名。
密钥载体唯一序列号Sn,并将Sn在密钥载体内部安全存储。长度由系统统一确定。具体地,密钥载体可以通过注册代理服务器获得密钥载体并申请下载用户私钥;也可以通过密钥生成系统获得密钥载体并申请下载用户私钥;还可以是用户已有载体,可以通过网络从密钥生成系统申请密钥更新并下载私钥。
步骤s103:密钥载体提示用户输入口令,并判断用户输入的口令是否正确,如果是,执行步骤s104;否则,提示口令错误,返回步骤s103。
步骤s103之后还包括:当步骤s103中密钥载体判定口令不正确时,判断用户输入口令的次数是否达到允许输入错误次数上限,如果是,密钥载体锁死停用;否则,返回步骤s103。
例如,允许输入错误次数上限可以是6次或者8次。
步骤s104:密钥载体发送用户验证响应到密钥生成中心。
例如,用户验证响应具体为:
01980000000000000000000000000000000000000000000000000000000000009000,其中,
0x0198000000000000000000000000000000000000000000000000000000000000为密钥载体标识。
步骤s105:密钥生成中心保存用户注册信息,并提取用户信息。
具体地,用户信息包括:用户注册名、用户标识ID、密钥载体EID;
例如,用户Alice申请签名密钥,其十六进制形式的用户标识IDA为0x416C696365;用户Bob申请加解密密钥,其十六进制形式的用户标识IDB为0x426F62。
步骤s106:密钥生成中心发送通信密钥协商请求到密钥载体。
例如:0x00 47 47 4b 80。
步骤s107:密钥载体生成第一随机数r1,并将r1作为第一对称加密密钥;使用通信公钥P加密r1,生成第一加密密钥P(r1),并将第一加密密钥P(r1)作为密钥申请请求。
例如,密钥载体生成的第一随机数r1为9CA5B1A73DBD8CD5。
步骤s108:密钥载体发送密钥申请请求到密钥生成中心。
具体地,密钥载体发送第一加密密钥P(r1)给密钥生成中心。
步骤s109:密钥生成中心接收密钥申请请求,使用通信私钥dp解密P(r1)得到第一对称加密密钥r1。
步骤s110:密钥生成中心根据用户信息中的用户标识ID生成用户私钥dID
具体地,密钥生成中心根据用户标识ID生成用户私钥dID,其中,用户Alice的用户签名私钥为dA,用户Bob的用户加解密私钥为dB
进一步,步骤s110包括:
步骤a:根据函数标识符hid,选择生成私钥的算法函数F;
例如,hid:0x01,表示签名私钥生成函数识别符;0x03,表示加密私钥生成函数识别符。
步骤b:读取主私钥s,以及双线性曲线的生成元P1和P2
例如,当生成用户签名私钥时,签名主私钥s为
177D6E14C1DDC632159FA6E2AC3E204F6961869342DC99BC2684EDD71C57AB
当生成用户加密密钥时,加密主私钥s为
20CAF0ACD640D88CCB1EC2DF3F01FB9D3F7BDB011C3164B75ED876505A99F5
当椭圆曲线方程为y2=x3+5时,群G1、G2阶N为B6400000 02A3A6F1 D603AB4FF58EC744 49F2934B 18EA8BEE E56EE19C D69ECF25
群G1的生成元P1是坐标xp1和坐标yp1的组合
其中,坐标xp1为93DE051D 62BF718F F5ED0704 487D01D6 E1E4086909DC3280E8C4E481 7C66DDDD
坐标yp1为21FE8DDA 4F21E607 63106512 5C395BBC 1C1C00CB FA6024350C464CD7 0A3EA616
群G2的生成元P2是坐标xp2和坐标yp2的组合;
其中,坐标xp2为(85AEF3D0 78640C98 597B6027 B441A01F F1DD2C19 0F5E93C454806C11 D8806141,37227552 92130B08 D2AAB97F D34EC120 EE265948 D19C17ABF9B7213B AF82D65B)
坐标yp2为(17509B09 2E845C12 66BA0D26 2CBEE6ED 0736A96F A347C8BD856DC76B 84EBEB96,A7CF28D5 19BE3DA6 5F317015 3D278FF2 47EFBBA9 8A71A08116215BBA5 C999A7C7)。
步骤c:接收用户标识ID;
例如,为用户A:Alice生成签名私钥,此时IDA:416C6963 65
为用户B:Bob生成加密私钥,此时IDB:426F62。
步骤d:将用户标识和函数标识符拼接作为有限域为Fn的函数H1的第一参数,然后取阶数N作为函数H1的第二参数,计算传入第一参数和第二参数后的H1函数值,再与主私钥拼接,得到产生用户私钥的第一过程参数t1;
例如,当ID取IDA时,IDA与识别符hid的拼接值为:416C6963 6501
将IDA与识别符hid的拼接值和阶数N作为H1函数的输入参数,得到H1函数值2AC468C 3926B0BD B2767E99 FF26E084 DE9CED8D BC7D5FBF 418027B6 67862FAB
t1:
2AE3C3FA4DE88E83E48C1E40E1D31EA52E064F144FC03C58FDA6ACA43EA28756
当ID取IDB时,IDB与识别符hid的拼接值为:426F6203
将IDB与识别符hid的拼接值和阶数N作为H1函数的输入参数,得到H1函数值9CB1F628 8CE0E510 43CE7234 4582FFC3 01E0A812 A7F5200 4B85547A 24B82716t1:
9CD2C11939B725E8D09990F724C201BE9F2023EDA912236502E42CF07512C10B。
步骤e:将第一过程参数t1做逆元运算,与主私钥做点乘运算,得到第二过程参数t2,再根据t2计算用户私钥dID
其中,步骤e中计算用户私钥dID具体为:
根据得到的t2值,计算椭圆曲线上点P1的t2倍点(XdA1,YdA2),以此作为用户加解密私钥,也可用于密钥封装。
根据得到的t2值,计算椭圆曲线上点P2的t2倍点(XdB2,YdB2),以此作为用户的签名私钥;
例如,当ID取IDA时,t2:
1522FDB9036D15A0B77C71EE0E72A42A70BFF533C305012DDB35A1BB903AD4B0
用户Alice的签名私钥dA为P1的t2倍点值,包括坐标XdA1和坐标YdA1
其中,坐标XdA1
A12E124FA6AC6069CE3CCE162293D315AAA6ABE7877001293D6B6659F7CD97A8
坐标YdA1
5EF4D1EADD6244FC6C771C88BB9356A209A5F6EF79466D3AB235D41D6B01F169
当ID取IDB时,t2:
B5DB7D3C4166E6ED76A8F195FBFFD8E104038B785540A7BCFB75070E67BACF95
用户B的加密私钥dB为P2的t2倍点值,包括坐标XdB2和坐标YdB2,其中,
坐标XdB2
(55B02D26B9A7ED29F99CDF36E3F7C955C97605C94BCA14C994CAE15889CF8A5F)
坐标YdB2:(
5BF3D6F7D5C515E519AF56FC89B7AB6E845ED849B9C377EA46C488705C3196EF)。
步骤s111:密钥生成中心使用r1对用户私钥dID加密,生成第一加密私钥E(dID),并根据预设哈希算法对dID做哈希运算,得到第一哈希值H。
具体地,第一哈希值H为hash(dID)。
预设哈希算法优选SM3算法,也可以是MD5、SHA256等哈希算法。
例如,当预设哈希算法为SM3算法时,
签名私钥H为:
836567C4BC13CEE0C638EA1B28E93A1D2C18EA080F436E5182AA33B190FE6BC4;
加密私钥H:
E83C55C5A1FF8FDC3BF2DCA78B246959908FEA5B6B855972941E29C96089158C
步骤s112:密钥生成中心结合用户信息,生成第一数据Data1。
具体地,用户相关信息包括:用户名、用户标识ID、第一哈希值H,以及有效期。
具体地,密钥生成系统将用户名、用户标识、第一哈希值和有效期进行拼接,得到第一数据Data1。
例如,当产生签名私钥时,Data1为:
0x416C696365+0x836567C4BC13CEE0C638EA1B28E93A1D2C18EA080F436E5182AA33B190FE6BC4+0x0005A0,
其中,0x416C696365表示用户名和用户标识ID;0x836567C4BC13CEE0C638EA1B28E93A1D2C18EA080F436E5182AA33B190FE6BC4,表示签名私钥的H;0x0005A0表示有效期,以分钟数单位,有效期24小时。
步骤s113:密钥生成中心使用通信私钥dp对第一数据Data1做数字签名,得到第一签名值S;生成第二随机数r2,并将r2作为第二对称加密密钥;使用r2对第一签名值S和签发时间t等数据进行加密,生成第二数据Data2。
步骤s114:密钥生成中心使用第一对称加密密钥r1加密第二对称加密密钥r2,得到第二加密密钥E(r2),结合E(r2)和第二数据Data2,生成密钥申请响应。
步骤s115:密钥生成中心发送密钥申请响应到密钥载体。
步骤s116:密钥载体接收密钥申请响应,使用r1解密E(r2),得到第二对称加密密钥r2;使用r2解密第二数据Data2,得到第一签名值S和签发时间t等数据。
步骤s117:密钥载体解密第一签名值S,得到第一哈希值H,解密E(dID);验证第一签名值S,判断第一签名值S是否验证成功,如果是,执行步骤s118;否则,申请失败。
具体地,用户解密第一签名值S得到第一哈希值H,解密第一加密密钥E(dID)得到用户私钥dID,对dID做哈希运算,得到第二哈希值h=hash(dID),判断第一哈希值H与第二哈希值h是否相同,如果是,第一签名值S验证成功,执行步骤s119;否则,第一签名值S验证不成功,申请失败。
步骤s118:密钥载体根据第一签名值得到用户私钥dID,将dID及有关数据存入安全区,结束。
具体地,用户私钥dID加密后与对应的注册时间、有效期以及用户标识ID一起存入密钥载体内的安全区,结束。
与现有技术相比,本发明提供的密钥签发的方法及系统是基于身份标识的,不用设置数字证书管理中心,不用采用X.509格式的数字证书,从而简化了密钥签发的配置与管理,同时采用双向身份鉴别,增强了安全性。
实施例2
本发明实施例2提供一种基于标识的非对称密钥签发的方法,如图2所示,包括:
步骤s201:注册代理服务器接收用户提交的用户注册信息。
其中,用户在申请注册时,需要提交的信息包括:申请者标识类型、申请者标识、申请者名称、申请者联系方式、密钥载体网络电子身份标识(EID)、其他信息等;其中,密钥载体网络电子身份标识EID用于确定密钥载体。
其中,如果用户为首次注册的用户,则用户需要到指定服务点进行面对面注册与申请,由本地注册服务方在柜台完成对用户申请信息的初步合法性审核。
步骤s202:注册代理服务器发送用户验证请求给密钥载体。
具体地,注册代理服务器向密钥载体发送用户验证请求,例如:0x80 FC 02 0020;
其中,密钥载体可以是手机或者密钥载体;用户注册前,密钥载体已经进行了初始化,具有系统参数包括:
G1,G2,P1,P2,g1,g2,Ppub1,Ppub2,p,e
其中,P1和P2分别是加法群G1、G2的生成元,g1和g2为双线性对运算,Ppub1是P1的主私钥倍点值,Ppub2是P2的主私钥倍点值,Ppub1,g1用于加密;Ppub2,g2用于签名。密钥载体唯一序列号Sn,并将Sn在载体内部安全存储。长度由系统统一确定。具体地,密钥载体可以通过注册代理服务器获得密钥载体并申请下载用户私钥;也可以通过密钥生成系统获得密钥载体并申请下载用户私钥;还可以是用户已有载体,可以通过网络从密钥生成系统申请密钥更新并下载私钥。
步骤s203:密钥载体接收到用户验证请求后,提示用户输入口令,判断用户输入的口令是否正确,如果是,执行步骤s204;否则,提示用户输入的口令错误,继续执行步骤s203。
步骤s203还包括:当接收到用户输入的口令错误时,判断用户输入的次数是否达到允许输入错误次数上限,如果是,密钥载体锁死停用;否则,提示用户输入口令,并判断用户输入的口令是否正确,如果是,执行步骤s204;否则,提示口令错误,返回步骤s203。
例如,允许输入错误次数上限可以是6次或者8次。
步骤s204:密钥载体发送用户验证响应给注册代理服务器。
例如:
01980000000000000000000000000000000000000000000000000000000000009000。
步骤s205:注册代理服务器保存用户注册信息,提取用户信息,发送密钥协商请求给密钥载体。
例如:0x00 47 47 4b 80。
步骤s206:密钥载体生成第一随机数r1,将r1作为第一对称加密密钥,使用通信公钥P加密第一对称加密密钥r1,生成第一加密密钥P(r1)作为密钥申请请求。
例如,密钥载体生成的第一随机数r1为:9CA5B1A73DBD8CD5。
步骤s207:密钥载体发送密钥申请请求给注册代理服务器。
步骤s208:注册代理服务器接收密钥申请请求,并结合用户信息和密钥申请请求P(r1)生成第三数据Data3。
具体地,用户相关注册数据包括:用户注册名、用户标识ID、密钥载体EID。
步骤s208具体包括将用户注册名、用户标识ID、密钥载体EID以及第一加密密钥P(r1)进行拼接,得到第三数据Data3。
步骤s209:注册代理服务器根据预设签名算法对第三数据Data3签名,生成第四数据Data4。
具体地,预设签名算法包括哈希运算和加密运算,其中,哈希算法优选国密SM3算法,还可以是MD5算法;加密算法优选国密SM2算法,还可以是RSA算法。
步骤s209具体包括:注册代理服务器对第三数据Data3进行哈希运算获得第一哈希值H,并对获得的第一哈希值H进行加密,得到第四数据Data4。
步骤s210:注册代理服务器生成第三随机数r3,将第三随机数r3作为第三对称加密密钥,使用通信公钥P加密r3,生成第三加密密钥P(r3);使用第三对称加密密钥r3加密第四数据Data4,生成第五数据Data5;结合第三加密密钥P(r3)和第五数据Data5,生成第六数据Data6。
具体地,第五数据是由第四数据使用第三对称加密密钥得到,第六数据是由第三加密密钥和第五数据拼接得到。
其中,第六数据Data6为密钥申请请求。
步骤s211:注册代理服务器发送第六数据Data6给密钥生成系统。
步骤s212:密钥生成系统接收第六数据Data6,并使用通信私钥dp解密第三加密密钥P(r3)获得第三对称加密密钥r3。
具体地,第三对称加密密钥是由通信私钥对第三加密密钥得到。
步骤s213:密钥生成系统使用第三对称加密密钥r3解密第五数据Data5,获得第四数据Data4;
步骤s214:密钥生成系统根据预设签名算法验证第四数据Data4,判断第四数据Data4是否验证通过,如果是,执行步骤s215;否则,密钥载体发送错误响应,结束。
其中,判断第四数据Data4是否验证成功具体为:密钥生成系统对第三数据Data3进行hash运算,得到第三哈希值,对第三数据Data3的签名值进行解密运算得到第四哈希值,判断第三哈希值与第四哈希值是否相同,如果是,第四数据Data4验证成功;否则,第四数据Data4验证不成功。
步骤s215:密钥生成系统使用通信私钥dp解密第三数据Data3中的P(r1)获得第一对称加密密钥r1。
步骤s216:密钥生成系统根据第三数据Data3中的用户标识ID生成用户私钥dID
其中,密钥生成系统根据用户标识ID生成用户私钥dID具体包括:
步骤a:根据函数标识符hid,选择生成私钥的算法函数F;
例如,hid:0x01,表示签名私钥生成函数识别符;0x03,表示加密私钥生成函数识别符。
步骤b:读取主私钥s,以及双线性曲线的生成元P1和P2;
例如,当生成用户签名私钥时,签名主私钥s:
177D6E14C1DDC632159FA6E2AC3E204F6961869342DC99BC2684EDD71C57AB
当生成用户加密密钥时,加密主私钥s:
55B02D26B9A7ED29F99CDF36E3F7C955C97605C94BCA14C994CAE15889CF8A5F5BF3D6F7D5C515E519AF56FC89B7AB6E845ED849B9C377EA46C488705C3196EF
当椭圆曲线方程为y2=x3+5时,群G1、G2阶N:B6400000 02A3A6F1 D603AB4FF58EC744 49F2934B 18EA8BEE E56EE19C D69ECF25
群G1的生成元P1由坐标xp1和坐标yp1组成,其中,
坐标xp1:93DE051D 62BF718F F5ED0704 487D01D6 E1E40869 09DC3280 E8C4E4817C66DDDD
坐标yp1:21FE8DDA 4F21E607 63106512 5C395BBC 1C1C00CB FA602435 0C464CD70A3EA616
群G2的生成元P2由坐标xp2和坐标yp2组成,其中,:
坐标xp2:(85AEF3D0 78640C98 597B6027 B441A01F F1DD2C19 0F5E93C454806C11 D8806141,37227552 92130B08 D2AAB97F D34EC120 EE265948 D19C17ABF9B7213B AF82D65B)
坐标yp2:(17509B09 2E845C12 66BA0D26 2CBEE6ED 0736A96F A347C8BD856DC76B 84EBEB96,A7CF28D5 19BE3DA6 5F317015 3D278FF2 47EFBBA9 8A71A08116215BBA5 C999A7C7)。
步骤c:输入用户标识ID;
例如,为用户A:Alice生成签名私钥,此时IDA:416C6963 65
为用户B:Bob生成加密私钥,此时IDB:426F62。
步骤d:将用户标识和函数标识符拼接作为有限域为Fn的函数H1的第一参数,然后取阶数N作为函数H1的第二参数,计算传入第一参数和第二参数后的H1函数值,再与主私钥拼接,得到产生用户私钥的第一过程参数t1;
例如,当ID取IDA时,用户标识与识别符的拼接值为:416C6963 6501,
将用户标识与识别符的拼接值和阶数N作为函数H1的输入参数,得到H1的函数值:
2ACC468C3926B0BDB2767E99FF26E084DE9CED8DBC7D5FBF418027B667862FAB
t1:
2AE3C3FA4DE88E83E48C1E40E1D31EA52E064F144FC03C58FDA6ACA43EA28756
当ID取IDB时,用户标识与识别符的拼接值为:426F6203
将用户标识与识别符的拼接值和阶数N作为函数H1的输入参数,得到H1的函数值
:9CB1F628 8CE0E510 43CE7234 4582FFC3 01E0A812 A7F5200 4B85547A24B82716
t1:
9CD2C11939B725E8D09990F724C201BE9F2023EDA912236502E42CF07512C10B。
步骤e:将第一过程参数t1做逆元运算,与主私钥做点乘运算,得到第二过程参数t2,再根据t2计算用户私钥dID
其中,步骤e中计算用户私钥dID具体为:
根据得到的t2的值,计算椭圆曲线上点P1的t2的倍点(XdID1,YdID1),以此作为用户加解密私钥,也可用于密钥封装;
根据得到的t2的值,计算椭圆曲线上点P2的t2倍点(XdID2,YdID2),以此作为用户的签名私钥;
例如,当ID取IDA时,t2:
1522FDB9036D15A0B77C71EE0E72A42A70BFF533C305012DDB35A1BB903AD4B0,
用户Alice的签名私钥dA为P1的t2倍点值,包括坐标XdA1和坐标YdA1,其中,
坐标XdA1
A12E124FA6AC6069CE3CCE162293D315AAA6ABE7877001293D6B6659F7CD97A8
坐标YdA1
当ID取IDB时,t2:
B5DB7D3C4166E6ED76A8F195FBFFD8E104038B785540A7BCFB75070E67BACF95,
用户B的加密私钥dB为P2的t2倍点值,包括坐标XdB2和坐标YdB2,其中,
坐标XdB2
(55B02D26B9A7ED29F99CDF36E3F7C955C97605C94BCA14C994CAE15889CF8A5F)
坐标YdB2
(5BF3D6F7D5C515E519AF56FC89B7AB6E845ED849B9C377EA46C488705C3196EF)。
步骤s217:密钥生成系统使用r1对用户私钥dID加密,生成第一加密私钥E(dID),并根据预设哈希算法对dID做哈希运算,获得第一哈希值H。
其中,H为Hash(dID)。
预算哈希算法优选国密SM3算法,也可以是MD5、SHA256算法。
例如,当预设哈希算法为SM3算法时,
签名私钥H为:
836567C4BC13CEE0C638EA1B28E93A1D2C18EA080F436E5182AA33B190FE6BC4;
加密私钥H:
E83C55C5A1FF8FDC3BF2DCA78B246959908FEA5B6B855972941E29C96089158C
步骤s218:密钥生成系统结合用户信息生成第一数据Data1。
具体地,用户信息包括:用户名、用户标识ID、第一哈希值H,以及有效期;
具体地,步骤s218具体为:
密钥生成系统将用户名、用户标识ID、第一哈希值H以及有效期进行拼接,得到第一数据Data1。
步骤s219:密钥生成系统使用通信私钥dp对第一数据Data1做数字签名,获得第一签名值S;生成第二随机数r2,将第二随机数r2作为第二对称加密密钥,使用第二对称加密密钥r2对第一签名值S、E(dID)和签发时间t等数据进行加密,生成第七数据Data7;采用第三对称加密密钥r3对r2加密,获得第二加密密钥E(r2),并结合第七数据Data7和用户信息,生成密钥申请第一响应。
步骤s220:密钥生成系统发送密钥申请第一响应给代理注册点。
其中,密钥申请第一响应具体为(注册点||用户名||用户ID||E(r2)||Data7)。
步骤s221:注册代理服务器接收密钥申请第一响应,使用r3解密E(r2)获得r2,使用r2解密第七数据Data7获得第一签名值S、第一加密私钥E(dID)和签发时间t;并结合第一签名值S和第一加密私钥E(dID)产生密钥申请第二响应。
步骤s222:注册代理服务器根据签发时间t判断有效期是否超过预设值,如果是,报错;否则,执行步骤s223。
步骤s223:注册代理服务器发送密钥申请第二响应给密钥载体。
步骤s224:密钥载体接收密钥申请第二响应,使用第一加密密钥r1解密第一加密私钥E(dID)得到dID
步骤s225:密钥载体验证用户私钥dID和第一哈希值H,判断是否验证通过,如果是,执行步骤s226;否则,申请失败。
具体地,步骤s225包括:密钥载体解密第一签名值S,得到第一哈希值H,对第一加密私钥E(dID)做哈希运算得到第二哈希值h,判断第一哈希值H和第二哈希值h是否相同,如果是,则验证通过,执行步骤s226;否则,申请失败。
步骤s226:密钥载体将用户私钥dID以及相关数据存入安全区。
具体地,在密钥载体内部,可对用户私钥dID作注释性储存,包括用户ID、用户实名、电话、主私钥版本号、hid码版本号、有效期等。
实施例3
本实施例提供一种基于标识的非对称密钥签发的方法,如图3所示,包括:
步骤s301:密钥载体接收密钥生成中心发送的用户验证请求。
具体地,密钥载体接收密钥生成中心发送的用户验证请求,指令格式为:0x80 FC02 00 20;
其中,密钥载体是可以安全储存密钥的软件/硬件模块;用户注册前,密钥载体已经进行了初始化,具有系统参数。
步骤s302:密钥载体提示用户输入口令,并判断用户输入的口令是否正确,如果是,执行步骤s303;否则,继续执行步骤s302。
具体地,步骤s302还包括:当用户输入口令错误时,判断用户输入的次数是否达到允许输入错误次数上限,如果是,用户载体锁死停用;否则,提示用户输入口令,判断用户输入的口令是否正确,如果是,执行步骤s303;否则,提示口令错误,继续执行步骤s302。
例如:允许输入错误次数上限可以是6次或者8次。
步骤s303:密钥载体发送用户验证响应给密钥生成中心。
例如,本实施例中密钥载体发送的用户验证响应具体为:
01980000000000000000000000000000000000000000000000000000000000009000,其中,
0x0198000000000000000000000000000000000000000000000000000000000000为密钥载体标识。
步骤s304:密钥载体接收密钥生成中心发送的通信密钥协商请求。
例如,本实施例中密钥载体接收到的通信密钥协商请求具体为:0x00 47 47 4b80。
步骤s305:当密钥载体接收到通信密钥协商请求之后,生成第一随机数r1,并将r1作为第一对称加密密钥;使用通信公钥P对第一对称加密密钥进行加密,生成第一加密密钥P(r1)作为密钥申请请求,并将生成的密钥申请请求发送给密钥生成中心。
例如:密钥载体生成的第一随机数r1为9CA5B1A73DBD8CD5。
步骤s306:密钥载体接收从密钥生成中心发送的密钥申请响应。
步骤s307:密钥载体接收密钥申请响应,使用第一对称加密密钥r1解密第二加密密钥E(r2)得到第二对称加密密钥r2;使用第二对称加密密钥r2解密第二数据Data2,得到第一签名值S和签发时间t等数据。
步骤s308:密钥载体解密第一签名值S,得到第一哈希值H;对E(dID)做哈希运算;验证第一签名值S,并判断第一签名值S是否验证成功,如果是,执行步骤s309;否则,申请失败。
具体地,用户解密第一签名值S得到第一哈希值H,解密第一加密密钥E(dID)得到用户私钥dID,对dID做哈希运算,得到第二哈细致h=hash(dID),判断第一哈希值H与第二哈希值h是否相同,如果是,第一签名值S验证成功,执行步骤s309;否则,第一签名值S验证不成功,申请失败。
步骤309:密钥载体将dID及有关数据存入安全区,结束。
具体地,用户私钥dID加密后与对应的注册时间、有效期以及用户标识ID一起存入密钥载体内的安全区,结束。
与现有技术相比,本发明提供的密钥签发的方法及系统是基于身份标识的,不用设置数字证书管理中心,不用采用X.509格式的数字证书,从而简化了密钥签发的配置与管理,同时采用双向身份鉴别,增强了安全性。
实施例4
本实施例提供了一种基于标识的非对称密钥签发的系统,包括:
密钥生成中心10和密钥载体20;
其中,密钥生成中心10具体包括:
第一接收模块101,用于接收用户提交的用户注册信息;还用于接收密钥申请请求;
保存模块102,用于保存第一接收模块101接收到的用户提交的用户注册信息;
具体地,保存模块102用于保存第一接收模块101接收到的包含密钥载体网络电子身份标识的用户注册信息。
第一发送模块103,用于根据用户注册信息确定密钥载体,向密钥载体发送通信密钥协商请求;还用于发送加密模块108生成的密钥申请响应。
第一生成模块104,用于使用预设通信私钥解密第一接收模块101接收的密钥申请请求,得到第一对称加密密钥,根据函数标识符、有效期以及生成私钥的算法函数,结合主私钥、双线性曲线的生成元以及用户标识生成用户私钥。
具体地,第一生成模块104用于:使用预设通信私钥解密第一接收模块101接收到的密钥申请请求,得到第一对称加密密钥,并根据用户设定或者密钥生成中心分配给用户的所述函数标识符,根据用户安全需求设定的有效期,以及生成私钥的算法函数,结合主私钥,双线性曲线的生成元以及用户标识生成所述用户私钥。
第二生成模块105,用于结合第一接收模块101接收的用户信息生成第一数据;
具体地,第二生成模块用于结合第一接收模块101接收到的用户名、用户标识、第一哈希值以及有效期生成第一数据。
签名模块106,用于使用预设通信私钥对第二生成模块105生成的第一数据作数字签名得到第一签名值;
第一解密模块107,用于当第一接收模块101接收到密钥申请请求后,使用预设通信私钥解密密钥申请请求得到第一对称加密密钥。
加密模块108,用于用第一解密模块107得到的第一对称加密密钥对第一生成模块104生成的用户私钥以及签名模块106生成的第一签名值进行加密生成密钥申请响应;
密钥生成中心还包括:
第一加密子模块,用于用第一对称加密密钥加密用户私钥;
第一哈希子模块,用于根据预设哈希算法对用户私钥做哈希运算,得到第一哈希值;
第一生成子模块,用于生成第二随机数,作为第二对称加密密钥,使用第二对称加密密钥加密第一签名值和签发时间生成第二数据;
加密模块还用于使用所述第一对称加密密钥加密所述第二对称加密密钥得到第二加密密钥,结合所述第二加密密钥和所述第二数据生成所述密钥申请响应;
第二解密子模块,用于使用第一对称加密密钥解密第二加密密钥获得第二对称加密密钥,并使用第二对称加密密钥解密第二数据,得到第一签名值和签发时间。
密钥载体20具体包括:
第二接收模块201,用于接收密钥生成中心发送的通信密钥协商请求;还用于接收密钥生成中心发送的密钥申请响应。
第三生成模块202,用于生成第一对称加密密钥,并使用通信公钥加密第一对称加密密钥生成密钥申请请求;
具体地,第三生成模块用于当第二接收模块201接收到通信密钥协商请求时,生成第一随机数,并将第一随机数作为第一对称加密密钥,并使用通信公钥加密第一对称加密密钥生成密钥申请请求。
第二发送模块203,用于将第三生成模块202生成的密钥申请请求发送给密钥生成中心;
第二解密模块204,用于当第二接收模块201接收到密钥生成中心发送的密钥申请响应后,用第三生成模块202生成的第一对称加密密钥解密密钥申请响应获得第一签名值;
验证模块205,用于对由第二解密模块204获得的第一签名值进行验证;
判断模块206,用于判断验证模块205对第一签名值进行验证是否成功;
判断模块还用于提示用户输入口令,判断用户输入的口令是否正确,如果用户输入口令正确,第二发送模块203还用于发送用户验证响应给所述密钥生成中心;如果用户输入口令不正确,判断模块206还用于提示口令错误,继续提示用户输入口令;
当判断模块206判断用户输入的口令不正确时,判断模块206还用于判断用户输入的次数是否已经达到允许输入的错误次数的上限,如果是,密钥载体锁定;否则,判断模块继续提示用户输入口令。
存入模块207,用于当判断模块判断出第一签名值验证成功时,根据第一签名值得到用户私钥,并将用户私钥存入安全区。
密钥载体还包括:
第一解密子模块,用于解密第一签名值,得到第一哈希值;
第二哈希子模块,用于对第一加密密钥做哈希运算获得哈希结果;
第一判断子模块,用于判断第一哈希值和哈希结果是否相同,如果是,存入模块207根据第一签名值得到用户私钥,并将用户私钥存入安全区;否则,私钥申请失败。
实施例5
本发明实施例5提供了一种基于标识的非对称密钥签发过程中的密钥载体50,包括:
第二接收模块501,用于接收密钥生成中心发送的通信密钥协商请求;还用于接收密钥生成中心发送的密钥申请响应。
第三生成模块502,用于生成第一对称加密密钥,并使用通信公钥加密第一对称加密密钥生成密钥申请请求;
具体地,第三生成模块用于当第二接收模块501接收到通信密钥协商请求时,生成第一随机数,并将第一随机数作为第一对称加密密钥,并使用通信公钥加密第一对称加密密钥生成密钥申请请求。
第二发送模块503,用于将第三生成模块502生成的密钥申请请求发送给密钥生成中心;
第二解密模块504,用于当第二接收模块501接收到密钥生成中心发送的密钥申请响应后,用第三生成模块502生成的第一对称加密密钥解密密钥申请响应获得第一签名值;
验证模块505,用于对由第二解密模块504获得的第一签名值进行验证;
判断模块506,用于判断验证模块505对第一签名值进行验证是否成功;
判断模块还用于提示用户输入口令,判断用户输入的口令是否正确,如果用户输入口令正确,第二发送模块503还用于发送用户验证响应给所述密钥生成中心;如果用户输入口令不正确,判断模块506还用于提示口令错误,继续提示用户输入口令;
当判断模块506判断用户输入的口令不正确时,判断模块506还用于判断用户输入的次数是否已经达到允许输入的错误次数的上限,如果是,密钥载体锁定;否则,判断模块继续提示用户输入口令。
存入模块507,用于当判断模块判断出第一签名值验证成功时,根据第一签名值得到用户私钥,并将用户私钥存入安全区。
密钥载体还包括:
第一解密子模块,用于解密第一签名值,得到第一哈希值;
第二哈希子模块,用于对第一加密密钥做哈希运算获得哈希结果;
第一判断子模块,用于判断第一哈希值和哈希结果是否相同,如果是,存入模块507根据第一签名值得到用户私钥,并将用户私钥存入安全区;否则,私钥申请失败。
以上所述的实施例只是本发明较优选的具体实施方式,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围之内。

Claims (30)

1.一种基于标识的非对称密钥签发的方法,其特征在于,包括:
步骤a1:当密钥生成中心接收到用户提交的注册信息时,保存用户注册信息,根据所述用户注册信息确定密钥载体,并向所述密钥载体发送通信密钥协商请求;
步骤b1:所述密钥载体接收所述通信密钥协商请求,生成第一对称加密密钥,并使用通信公钥加密所述第一对称加密密钥生成密钥申请请求,并将所述密钥申请请求发送给所述密钥生成中心;
步骤c1:所述密钥生成中心接收到所述密钥申请请求之后,使用预设通信私钥解密所述密钥申请请求,得到所述第一对称加密密钥,并根据函数标识符、有效期以及生成私钥的算法函数,结合主私钥、双线性曲线的生成元以及用户标识生成用户私钥;
步骤d1:所述密钥生成中心结合用户信息生成第一数据,使用所述预设通信私钥对所述第一数据作数字签名得到第一签名值,用所述第一对称加密密钥对生成的所述用户私钥、所述用户标识以及所述第一签名值进行加密,生成密钥申请响应,向所述密钥载体返回所述密钥申请响应;
步骤e1:所述密钥载体接收到所述密钥申请响应之后,用所述第一对称加密密钥解密所述密钥申请响应获得第一签名值,对所述第一签名值进行验证,并判断所述第一签名值是否验证成功,如果是,执行步骤f1;否则,密钥申请失败,结束;
步骤f1:所述密钥载体根据所述第一签名值得到用户私钥并将所述用户私钥存入安全区,结束。
2.如权利要求1所述的方法,其特征在于,所述用户注册信息中包括密钥载体网络电子身份标识。
3.如权利要求1所述的方法,其特征在于,所述步骤b1具体包括:所述密钥载体接收到所述通信密钥协商请求,生成第一随机数,并将所述第一随机数作为所述第一对称加密密钥,并使用通信公钥加密所述第一对称加密密钥生成密钥申请请求,并将所述密钥申请请求发送给所述密钥生成中心。
4.如权利要求1所述的方法,其特征在于,所述步骤c1中所述有效期为密钥生成中心根据用户安全需求设定;所述的函数标识符是系统参数;所述函数标识符为用户设定、指定或者密钥生成中心分配给用户。
5.如权利要求1所述的方法,其特征在于,所述步骤c1中所述用户标识为所述密钥生成中心从用户注册信息中提取,或者密钥生成中心生成,或者所述密钥生成中心根据注册信息分配给用户所述用户标识。
6.如权利要求1所述的方法,其特征在于,
所述步骤d1之前还包括:所述密钥生成中心用所述第一对称加密密钥加密所述用户私钥,并根据预设哈希算法对所述用户私钥做哈希运算,得到第一哈希值;
所述步骤e1中判断所述第一签名值是否验证成功具体包括:所述密钥载体解密所述第一签名值,得到第一哈希值;对第一加密私钥做哈希运算获得哈希结果;判断所述第一哈希值和所述哈希结果是否相同,如果是,所述第一签名值验证成功,执行步骤f1;否则,所述第一签名值验证不成功,私钥申请失败,结束。
7.如权利要求1所述的方法,其特征在于,
所述d1具体包括:
步骤d101:所述密钥生成中心结合所述用户信息生成第一数据;
步骤d102:所述密钥生成中心使用预设通信私钥对所述第一数据做数字签名得到第一签名值;生成第二随机数作为第二对称加密密钥,使用所述第二对称加密密钥加密所述第一签名值和签发时间数据,生成第二数据;
步骤d103:所述密钥生成中心使用所述第一对称加密密钥加密所述第二对称加密密钥得到第二加密密钥,结合所述第二加密密钥和所述第二数据生成密钥申请响应;
步骤d104:所述密钥生成中心将所述密钥申请响应返回给所述密钥载体;
所述步骤e1中解密所述密钥申请响应获得第一签名值具体包括:
所述密钥载体接收到所述密钥申请响应之后,使用第一对称加密密钥解密所述第二加密密钥获得所述第二对称加密密钥,并使用所述第二对称加密密钥解密所述第二数据,得到第一签名值和签发时间等数据。
8.如权利要求7所述的方法,其特征在于,所述用户信息包括:用户名、用户标识、第一哈希值以及有效期。
9.如权利要求1所述的方法,其特征在于,所述步骤b1中,所述密钥载体接收所述通信密钥协商请求之前,还包括:
所述密钥载体接收所述密钥生成中心发送的用户验证请求,并提示用户输入口令,并判断所述用户输入的口令是否正确,如果是,发送用户验证响应给所述密钥生成中心,执行步骤b1;否则,提示口令错误,继续提示用户输入口令。
10.如权利要求9所述的方法,其特征在于,所述密钥载体判断用户输入的口令错误时,还包括:所述密钥载体判断所述用户输入的次数是否达到允许输入的错误次数的上限,如果是,所述密钥载体锁定,停用;否则,执行所述提示用户输入口令,判断所述用户输入的口令是否正确。
11.一种基于标识的非对称密钥签发的方法,其特征在于,包括:
步骤a2:当密钥载体接收到通信密钥协商请求,生成第一对称加密密钥,并使用通信公钥加密所述第一对称加密密钥生成密钥申请请求,并将所述密钥申请请求发送给所述密钥生成中心;
步骤b2:当所述密钥载体接收到所述密钥申请响应之后,用所述第一对称加密密钥解密所述密钥申请响应获得第一签名值,对所述第一签名值进行验证,并判断所述第一签名值是否验证成功,如果是,执行步骤c2;否则,密钥申请失败,结束;
步骤c2:所述密钥载体根据所述第一签名值得到用户私钥并将所述用户私钥存入安全区,结束。
12.如权利要求11所述的方法,其特征在于,所述步骤a2具体包括:
所述密钥载体接收到所述通信密钥协商请求,生成第一随机数,并将所属第一随机数作为所述第一对称加密密钥,并使用通信公钥加密所述第一对称加密密钥生成密钥申请请求,并将所述密钥申请请求发送给所述密钥生成中心。
13.如权利要求11所述的方法,其特征在于,所述b2中判断所述第一签名值是否验证成功具体包括:所述密钥载体解密所述第一签名值得到第一哈希值;对第一加密私钥做哈希运算获得哈希结果;判断所述第一哈希值和所述哈希结果是否相同,如果是,所述第一签名值验证成功;执行步骤c2;否则,所述第一签名值验证不成功,私钥申请失败,结束。
14.如权利要求11所述的方法,其特征在于,所述b2中解密所述密钥申请响应获得第一签名值具体包括:
所述密钥载体接收到所述密钥申请响应之后,使用第一对称加密密钥解密所述第二加密密钥获得所述第二对称加密密钥,并使用所述第二对称加密密钥解密所述第二数据,得到第一签名值和签发时间。
15.如权利要求11所述的方法,其特征在于,所述步骤a2中,所述密钥载体接收所述通信密钥协商请求之前,还包括:
所述密钥载体接收所述密钥生成中心发送的用户验证请求,并提示用户输入口令,并判断所述用户输入的口令是否正确,如果是,发送用户验证响应给密钥生成中心,执行所述步骤a2;否则,提示口令错误,继续提示用户输入口令。
16.如权利要求15所述的方法,其特征在于,所述密钥载体判断用户输入的口令错误时,还包括:所述密钥载体判断所述用户输入的次数是否达到允许输入的错误次数的上限,如果是,所述密钥载体锁定,停用;否则,执行所述提示用户输入口令,判断所述用户输入的口令是否正确。
17.一种基于标识的非对称密钥签发系统,其特征在于,包括:
密钥生成中心和密钥载体;
其中,所述密钥生成中心具体包括:
第一接收模块,用于接收用户提交的用户注册信息,还用于接收密钥申请请求;
保存模块,用于保存所述第一接收模块接收到的所述用户注册信息;
第一发送模块,用于根据所述用户注册信息确定密钥载体,向所述密钥载体发送通信密钥协商请求;还用于发送加密模块生成的密钥申请响应;
第一生成模块,用于使用预设通信私钥解密所述第一接收模块接收的所述密钥申请请求,得到所述第一对称加密密钥,并根据函数标识符、有效期以及生成私钥的算法函数,结合主私钥、双线性曲线的生成元以及用户标识生成用户私钥;
第二生成模块,用于结合第一接收模块接收到的用户信息生成第一数据;
签名模块,用于使用所述预设通信私钥对所述第二生成模块生成的第一数据作数字签名得到第一签名值;
第一解密模块,用于当所述第一接收模块接收到所述密钥申请请求后,使用所述通信私钥解密所述密钥申请请求,得到所述第一对称加密密钥;
加密模块,用于用所述第一解密模块解密得到的第一对称加密密钥对所述第一生成模块生成的所述用户私钥以及所述签名模块生成的第一签名值进行加密生成密钥申请响应;
所述密钥载体具体包括:
第二接收模块,用于接收所述密钥生成中心发送的所述通信密钥协商请求,还用于接收密钥生成中心发送的所述密钥申请响应;
第三生成模块,用于生成所述第一对称加密密钥,并使用通信公钥加密所述第一对称加密密钥生成所述密钥申请请求;
第二发送模块,用于将所述第三生成模块生成的所述密钥申请请求发送给所述密钥生成中心;
第二解密模块,用于当所述第二接收模块接收到所述密钥生成中心发送的所述密钥申请响应后,用所述第三生成模块生成的所述第一对称加密密钥解密所述密钥申请响应获得所述第一签名值;
验证模块,用于对由所述第二解密模块获得的所述第一签名值进行验证;
判断模块,用于判断所述验证模块对所述第一签名值进行验证是否成功;
存入模块,用于当所述判断模块判断出所述第一签名值验证成功时,根据所述第一签名值得到用户私钥,并将所述用户私钥存入安全区。
18.如权利要求17所述的系统,其特征在于,所述保存模块保存的用户注册信息中包含密钥载体网络电子身份标识。
19.如权利要求17所述的系统,其特征在于,所述第三生成模块具体用于当所述第二接收模块接收到所述通信密钥协商请求时,生成第一随机数,并将所述第一随机数作为所述第一对称加密密钥,并使用通信公钥加密所述第一对称加密密钥生成密钥申请请求。
20.如权利要求17所述的系统,其特征在于,所述第一生成模块具体用于:使用预设通信私钥解密所述密钥申请请求,得到所述第一对称加密密钥,并根据用户设定、制定或者密钥生成中心分配给用户的所述函数标识符,根据用户安全需求设定的有效期,以及生成私钥的算法函数,结合主私钥,双线性曲线的生成元以及用户标识生成所述用户私钥。
21.如权利要求17所述的系统,其特征在于,
所述密钥生成中心还包括:
第一加密子模块,用于用所述第一对称加密密钥加密所述用户私钥;
第一哈希子模块,用于根据预设哈希算法对所述用户私钥做哈希运算,得到所述第一哈希值;
所述密钥载体还包括:
第一解密子模块,用于解密所述第一签名值,得到第一哈希值;
第二哈希子模块,用于对所述第一加密密钥做哈希运算获得哈希结果;
第一判断子模块,用于判断所述第一哈希值和所述哈希结果是否相同,如果是,所述存入模块根据所述第一签名值得到用户私钥,并将所述用户私钥存入安全区;否则,私钥申请失败。
22.如权利要求17所述的系统,其特征在于,
所述密钥生成中心还包括:
第一生成子模块,用于生成第二随机数,作为第二对称加密密钥,使用所述第二对称加密密钥加密所述第一签名值和签发时间生成第二数据;
所述加密模块具体用于使用所述第一对称加密密钥加密所述第二对称加密密钥得到第二加密密钥,结合所述第二加密密钥和所述第二数据生成所述密钥申请响应;
第二解密子模块,用于使用第一对称加密密钥解密所述第二加密密钥获得所述第二对称加密密钥,并使用所述第二对称加密密钥解密所述第二数据,得到所述第一签名值和签发时间。
23.如权利要求17所述的系统,其特征在于,所述第二生成模块具体用户结合所述第一接收模块接收到的用户名、用户标识、第一哈希值以及有效期生成所述第一数据。
24.如权利要求17所述的系统,其特征在于,所述判断模块还用于提示用户输入口令,判断所述用户输入的口令是否正确,如果用户输入口令正确,所述第二发送模块还用于发送用户验证响应给所述密钥生成中心;如果用户输入口令不正确,所述判断模块还用于提示口令错误,继续提示用户输入口令。
25.如权利要求24所述的系统,其特征在于,当所述判断模块判断用户输入的口令不正确时,所述判断模块还用于判断所述用户输入的次数是否已经达到允许输入的错误次数的上限,如果是,所述密钥载体锁定;否则,所述判断模块继续提示用户输入口令。
26.一种基于标识的非对称密钥签发的密钥载体,其特征在于,包括:
第二接收模块,用于接收密钥生成中心发送的通信密钥协商请求,以及密钥生成中心发送的密钥申请响应;
第三生成模块,用于生成第一对称加密密钥,并使用通信公钥加密所述第一对称加密密钥生成密钥申请请求;
第二发送模块,用于将所述第三生成模块生成的所述密钥申请请求发送给所述密钥生成中心;
第二解密模块,用于当所述密钥载体接收到所述密钥生成中心发送的所述密钥申请响应后,用所述第三生成模块生成的所述第一对称加密密钥解密所述密钥申请响应获得所述第一签名值;
验证模块,用于对由所述第二解密模块获得的所述第一签名值进行验证;
判断模块,用于判断所述验证模块对所述第一签名值验证是否成功;
存入模块,用于当所述判断模块判断出所述第一签名值验证成功时,根据所述第一签名值得到用户私钥,并将所述用户私钥存入安全区。
27.如权利要求26所述的密钥载体,其特征在于,所述第三生成模块具体用于当所述第二接收模块接收到所述通信密钥协商请求时,生成第一随机数,并将所述第一随机数作为所述第一对称加密密钥,并使用通信公钥加密所述第一对称加密密钥生成密钥申请请求。
28.如权利要求26所述的密钥载体,其特征在于,还包括:
第一解密子模块,用于解密所述第一签名值得到第一哈希值;
第二哈希子模块,用于对所述第一加密密钥做哈希运算获得哈希结果;
第一判断子模块,用于判断所述第一哈希值和所述哈希结果是否相同,如果是,所述存入模块根据所述第一签名值得到用户私钥,并将所述用户私钥存入安全区;否则,私钥申请失败。
29.如权利要求26所述的密钥载体,其特征在于,所述判断模块还用于提示用户输入口令,判断所述用户输入的口令是否正确,如果用户输入口令正确,所述第二发送模块还用于发送用户验证响应给所述密钥生成中心;如果用户输入口令不正确,所述判断模块还用于提示口令错误,提示用户输入口令。
30.如权利要求29所述的密钥载体,其特征在于,当所述判断模块判断用户输入的口令不正确时,所述判断模块还用于判断所述用户输入的次数是否已经达到允许输入的错误次数的上限,如果是,所述密钥载体锁定;否则,所述判断模块继续提示用户输入口令。
CN201710919581.2A 2017-09-30 2017-09-30 一种基于标识的非对称密钥签发的方法及系统 Active CN107809311B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710919581.2A CN107809311B (zh) 2017-09-30 2017-09-30 一种基于标识的非对称密钥签发的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710919581.2A CN107809311B (zh) 2017-09-30 2017-09-30 一种基于标识的非对称密钥签发的方法及系统

Publications (2)

Publication Number Publication Date
CN107809311A true CN107809311A (zh) 2018-03-16
CN107809311B CN107809311B (zh) 2020-01-03

Family

ID=61584033

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710919581.2A Active CN107809311B (zh) 2017-09-30 2017-09-30 一种基于标识的非对称密钥签发的方法及系统

Country Status (1)

Country Link
CN (1) CN107809311B (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108199844A (zh) * 2018-04-09 2018-06-22 北京无字天书科技有限公司 一种支持离线sm9算法密钥首次申请下载方法
CN108599950A (zh) * 2018-04-09 2018-09-28 北京无字天书科技有限公司 一种适用于sm9标识密码的用户密钥申请下载安全协议的实现方法
CN110401677A (zh) * 2019-08-23 2019-11-01 RealMe重庆移动通信有限公司 数字版权密钥的获取方法、装置、存储介质及电子设备
CN110572366A (zh) * 2019-08-09 2019-12-13 五八有限公司 网络数据传输方法、装置、电子设备及存储介质
CN111178884A (zh) * 2019-12-16 2020-05-19 平安壹钱包电子商务有限公司 信息处理方法、装置、设备及可读存储介质
CN111355683A (zh) * 2018-12-20 2020-06-30 航天信息股份有限公司 一种保证http数据传输安全的方法、装置及存储介质
CN112822021A (zh) * 2020-12-30 2021-05-18 中国农业银行股份有限公司 一种密钥管理方法和相关装置
CN113497712A (zh) * 2020-04-04 2021-10-12 重庆傲雄在线信息技术有限公司 一种kgc数据处理系统
CN114091009A (zh) * 2021-11-19 2022-02-25 四川启睿克科技有限公司 利用分布式身份标识建立安全链接的方法
CN114765534A (zh) * 2020-12-31 2022-07-19 天翼数字生活科技有限公司 基于国密标识密码算法的私钥分发系统

Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1534936A (zh) * 2003-03-31 2004-10-06 华为技术有限公司 一种无线局域网中基于公钥证书机制的密钥分发方法
CN1976280A (zh) * 2006-12-15 2007-06-06 上海格尔软件股份有限公司 基于多级密钥管理体系中的对称密钥传输保护方法
CN101662360A (zh) * 2008-08-29 2010-03-03 公安部第三研究所 一种基于短信消息服务的可认证对称密钥协商方法
US20100251341A1 (en) * 2009-03-31 2010-09-30 Hitachi Software Engineering Co., Ltd. Login process apparatus, login process method, and program
US20150047053A1 (en) * 2013-08-08 2015-02-12 Founder Apabi Technology Limited Server, terminal, and transfer method for digital content under copyright protection
CN104660417A (zh) * 2015-03-17 2015-05-27 联想(北京)有限公司 验证方法、验证装置和电子设备
CN106027254A (zh) * 2016-01-21 2016-10-12 李明 一种身份证认证系统中身份证读卡终端使用密钥的方法
CN106357396A (zh) * 2016-09-23 2017-01-25 浙江神州量子网络科技有限公司 数字签名方法和系统以及量子密钥卡
CN106411653A (zh) * 2016-10-26 2017-02-15 飞天诚信科技股份有限公司 一种对智能密钥设备进行测试的方法及装置
CN106487505A (zh) * 2016-09-12 2017-03-08 北京安御道合科技有限公司 密钥管理、获取方法及相关装置和系统
CN106487743A (zh) * 2015-08-25 2017-03-08 阿里巴巴集团控股有限公司 用于支持多用户集群身份验证的方法和设备
CN106529949A (zh) * 2016-11-07 2017-03-22 飞天诚信科技股份有限公司 一种安全支付设备及方法
CN106603485A (zh) * 2016-10-31 2017-04-26 美的智慧家居科技有限公司 密钥协商方法及装置
CN106789018A (zh) * 2016-12-20 2017-05-31 百富计算机技术(深圳)有限公司 密钥远程获取方法和装置
CN106888183A (zh) * 2015-12-15 2017-06-23 阿里巴巴集团控股有限公司 数据加密、解密、密钥请求处理的方法和装置及系统
CN107171806A (zh) * 2017-05-18 2017-09-15 北京航空航天大学 基于区块链的移动终端网络密钥协商方法

Patent Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1534936A (zh) * 2003-03-31 2004-10-06 华为技术有限公司 一种无线局域网中基于公钥证书机制的密钥分发方法
CN1976280A (zh) * 2006-12-15 2007-06-06 上海格尔软件股份有限公司 基于多级密钥管理体系中的对称密钥传输保护方法
CN101662360A (zh) * 2008-08-29 2010-03-03 公安部第三研究所 一种基于短信消息服务的可认证对称密钥协商方法
US20100251341A1 (en) * 2009-03-31 2010-09-30 Hitachi Software Engineering Co., Ltd. Login process apparatus, login process method, and program
US20150047053A1 (en) * 2013-08-08 2015-02-12 Founder Apabi Technology Limited Server, terminal, and transfer method for digital content under copyright protection
CN104660417A (zh) * 2015-03-17 2015-05-27 联想(北京)有限公司 验证方法、验证装置和电子设备
CN106487743A (zh) * 2015-08-25 2017-03-08 阿里巴巴集团控股有限公司 用于支持多用户集群身份验证的方法和设备
CN106888183A (zh) * 2015-12-15 2017-06-23 阿里巴巴集团控股有限公司 数据加密、解密、密钥请求处理的方法和装置及系统
CN106027254A (zh) * 2016-01-21 2016-10-12 李明 一种身份证认证系统中身份证读卡终端使用密钥的方法
CN106487505A (zh) * 2016-09-12 2017-03-08 北京安御道合科技有限公司 密钥管理、获取方法及相关装置和系统
CN106357396A (zh) * 2016-09-23 2017-01-25 浙江神州量子网络科技有限公司 数字签名方法和系统以及量子密钥卡
CN106411653A (zh) * 2016-10-26 2017-02-15 飞天诚信科技股份有限公司 一种对智能密钥设备进行测试的方法及装置
CN106603485A (zh) * 2016-10-31 2017-04-26 美的智慧家居科技有限公司 密钥协商方法及装置
CN106529949A (zh) * 2016-11-07 2017-03-22 飞天诚信科技股份有限公司 一种安全支付设备及方法
CN106789018A (zh) * 2016-12-20 2017-05-31 百富计算机技术(深圳)有限公司 密钥远程获取方法和装置
CN107171806A (zh) * 2017-05-18 2017-09-15 北京航空航天大学 基于区块链的移动终端网络密钥协商方法

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108199844B (zh) * 2018-04-09 2022-05-13 北京无字天书科技有限公司 一种支持离线sm9算法密钥首次申请下载方法
CN108599950A (zh) * 2018-04-09 2018-09-28 北京无字天书科技有限公司 一种适用于sm9标识密码的用户密钥申请下载安全协议的实现方法
CN108199844A (zh) * 2018-04-09 2018-06-22 北京无字天书科技有限公司 一种支持离线sm9算法密钥首次申请下载方法
CN111355683A (zh) * 2018-12-20 2020-06-30 航天信息股份有限公司 一种保证http数据传输安全的方法、装置及存储介质
CN110572366A (zh) * 2019-08-09 2019-12-13 五八有限公司 网络数据传输方法、装置、电子设备及存储介质
CN110572366B (zh) * 2019-08-09 2021-08-20 五八有限公司 网络数据传输方法、装置、电子设备及存储介质
CN110401677A (zh) * 2019-08-23 2019-11-01 RealMe重庆移动通信有限公司 数字版权密钥的获取方法、装置、存储介质及电子设备
CN110401677B (zh) * 2019-08-23 2022-05-17 RealMe重庆移动通信有限公司 数字版权密钥的获取方法、装置、存储介质及电子设备
CN111178884A (zh) * 2019-12-16 2020-05-19 平安壹钱包电子商务有限公司 信息处理方法、装置、设备及可读存储介质
CN111178884B (zh) * 2019-12-16 2024-04-12 平安壹钱包电子商务有限公司 信息处理方法、装置、设备及可读存储介质
CN113497712A (zh) * 2020-04-04 2021-10-12 重庆傲雄在线信息技术有限公司 一种kgc数据处理系统
CN112822021B (zh) * 2020-12-30 2022-10-21 中国农业银行股份有限公司 一种密钥管理方法和相关装置
CN112822021A (zh) * 2020-12-30 2021-05-18 中国农业银行股份有限公司 一种密钥管理方法和相关装置
CN114765534A (zh) * 2020-12-31 2022-07-19 天翼数字生活科技有限公司 基于国密标识密码算法的私钥分发系统
CN114765534B (zh) * 2020-12-31 2023-09-19 天翼数字生活科技有限公司 基于国密标识密码算法的私钥分发系统和方法
CN114091009A (zh) * 2021-11-19 2022-02-25 四川启睿克科技有限公司 利用分布式身份标识建立安全链接的方法

Also Published As

Publication number Publication date
CN107809311B (zh) 2020-01-03

Similar Documents

Publication Publication Date Title
CN107809311A (zh) 一种基于标识的非对称密钥签发的方法及系统
US10595201B2 (en) Secure short message service (SMS) communications
US11552792B2 (en) Systems and methods for generating signatures
CN106789047B (zh) 一种区块链身份系统
CN109495274B (zh) 一种去中心化智能锁电子钥匙分发方法及系统
CN103118027B (zh) 基于国密算法建立tls通道的方法
CN106104562B (zh) 机密数据安全储存和恢复系统及方法
CN101789865B (zh) 一种用于加密的专用服务器及加密方法
CN104270249B (zh) 一种从无证书环境到基于身份环境的签密方法
US8139766B2 (en) Pseudo public key encryption
CN101640590B (zh) 一种获取标识密码算法私钥的方法和密码中心
CN110224812B (zh) 一种基于多方安全计算的电子签名移动客户端与协同服务器通信的方法以及设备
US11223486B2 (en) Digital signature method, device, and system
US8806206B2 (en) Cooperation method and system of hardware secure units, and application device
CN103338215A (zh) 基于国密算法建立tls通道的方法
KR20050073573A (ko) 보안 통신
CN104901935A (zh) 一种基于cpk的双向认证及数据交互安全保护方法
CN112087428B (zh) 一种基于数字证书的抗量子计算身份认证系统及方法
CN113067823B (zh) 邮件用户身份认证和密钥分发方法、系统、设备及介质
WO2018120938A1 (zh) 密钥离线传输方法、终端和存储介质
CN113411187A (zh) 身份认证方法和系统、存储介质及处理器
CN111416712B (zh) 基于多个移动设备的量子保密通信身份认证系统及方法
CN107104788A (zh) 终端及其不可抵赖的加密签名方法和装置
CN114205090A (zh) 一种基于国密算法的安全的文件共享方法和系统
CN107104792B (zh) 一种便携式移动口令管理系统及其管理方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant