CN105553658A - 一种解决组合公钥cpk密钥碰撞问题的方法 - Google Patents
一种解决组合公钥cpk密钥碰撞问题的方法 Download PDFInfo
- Publication number
- CN105553658A CN105553658A CN201511028064.3A CN201511028064A CN105553658A CN 105553658 A CN105553658 A CN 105553658A CN 201511028064 A CN201511028064 A CN 201511028064A CN 105553658 A CN105553658 A CN 105553658A
- Authority
- CN
- China
- Prior art keywords
- key
- user
- public
- kmc
- private key
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种解决组合公钥CPK密钥碰撞问题的方法,在原组合公钥CPK算法,对用户标识的hash运算和行映射算法生成公私钥因子的选取序列,然后再在公私钥矩阵中选取对应的元素,进行组合生成公私钥对,这一流程的基础上,添加了两个改进点:用户向密钥管理中心KMC申请注册时,KMC对申请用户身份标识产生的公钥进行数据库去重,以生成不碰撞的用户组合密钥对;并且用户在进行相互访问时进行身份认证时采用两步验证法。该解决方案,在解决组合公钥密钥碰撞的同时,也兼顾了认证的规模化,验证的简便性,离线认证过程等特点。
Description
技术领域
本发明涉及一种组合公钥CPK密钥碰撞问题的方法,尤其涉及一种解决组合公钥CPK密钥碰撞问题的方法,属于密码学领域。
背景技术
组合公钥体制(CPK)是由资深的密码学专家南相浩于2003年正式提出,创造性的以种子密钥为核心,将多种经典的密码算法加以组合,巧妙地解决了标识密钥生成以及管理的这一世界难题。少量的公私钥因子就可以生成无限个公私钥对,而且基于用户标识生成证书,从而不需要第三方的证明就可离线认证用户身份。CPK具有安全性高,密钥存储量下,灵活性好等优点,国内外专家予以了高度评价。然而CPK的创新发展一直都存在几个问题,共谋的隐患,密钥更换困难,用户密钥可能发生碰撞等等。
发明内容
本发明所要解决的技术问题是针对背景技术的不足提供了一种解决组合公钥CPK密钥碰撞问题的方法。
本发明为解决上述技术问题采用以下技术方案
一种解决组合公钥CPK密钥碰撞问题的方法,具体包含如下步骤:
步骤1.1,用户向KMC发出注册请求;
步骤1.2,KMC为用户生成初始公私钥对(PK0,sk0),其中,PK0作为初始的组合公钥PK,即PK=PK0=sk*G,其中,G是椭圆曲线E(FP)上的基点;
步骤1.3,KMC将生成的初始组合公钥与组合公钥数据库里的已有组合公钥进行比对,检测是否重复;
步骤1.4,如果有重复,则随机分配Δx,得到公钥增量ΔX,将公钥增量与初始公钥PK0相加,得到组合公钥PK,重复步骤1.3,直到生成的组合公钥与已有组合公钥不重复;
步骤1.5,将步骤1.4生成的用户的组合公钥记录到KMC的组合公钥数据库中;
步骤1.6,计算用户的组合私钥sk;
步骤1.7,向用户发放组合私钥,并删除KMC的中心私钥;
步骤2,用户进行相互认证访问过程,具体包含如下步骤:
步骤2.1,访问用户A向被访问用户B发出访问请求,报文中包含可验证访问用户A身份的信息;
步骤2.2,被访问用户B验证访问用户A身份的真实可靠性,当被访问用户B对访问用户A的身份认证通过时,被访问用户B向访问用户A发送可验证被访问用户B个人身份的信息;
步骤2.3,当访问用户A验证被访问用户B的身份也通过时,访问用户A和被访问用户B进行可信的加密访问。
作为本发明一种解决组合公钥CPK密钥碰撞问题的方法的进一步优选方案,在步骤1.2中,KMC通过对用户标识的hash运算和行映射算法生成公私钥因子的选取序列,然后在公私钥矩阵中选取对应的元素,进行组合运算生成初始公私钥对。
作为本发明一种解决组合公钥CPK密钥碰撞问题的方法的进一步优选方案,在步骤1.4中,公钥增量的具体计算如下:ΔX=G*Δx。
作为本发明一种解决组合公钥CPK密钥碰撞问题的方法的进一步优选方案,在步骤1.5中,组合私钥的具体计算如下:sk=sk0+Δx。
作为本发明一种解决组合公钥CPK密钥碰撞问题的方法的进一步优选方案,在步骤1.7中,所述KMC的中心私钥包含组合私钥sk和初始私钥对sk0。
本发明采用以上技术方案与现有技术相比,具有以下技术效果:
本发明在原组合公钥CPK算法,对用户标识的hash运算和行映射算法生成公私钥因子的选取序列,然后再在公私钥矩阵中选取对应的元素,进行组合生成公私钥对,这一流程的基础上,添加了两个改进点:用户向密钥管理中心KMC申请注册时,KMC对申请用户身份标识产生的公钥进行数据库去重,以生成不碰撞的用户组合密钥对;并且用户在进行相互访问时进行身份认证时采用两步验证法。该解决方案,在解决组合公钥密钥碰撞的同时,也兼顾了认证的规模化,验证的简便性,离线认证过程等特点。
附图说明
图1是用户向密钥管理中心KMC进行注册的流程图;
图2是用户之间进行相互的认证访问的流程图。
具体实施方式
下面结合附图对本发明的技术方案做进一步的详细说明:
CPK的标识密钥的生成,首先通过对用户标识的hash运算和行映射算法生成公私钥因子的选取序列,然后再在公私钥矩阵中选取对应的元素,进行组合生成公私钥对。公私钥矩阵中的对应位置的因子满足椭圆曲线离散对数难题ECDLP。用户密钥发生碰撞的原因有两个:映射坐标和选取的系数相同,这个是由hash运算所产生的,还有就是模加运算的结果相同。2007年欧洲密码年会对CPK的审阅报告认为hash的安全问题不应作为CPK的安全问题。模加运算结果相同的这一问题的解决方案也有很多,不过它们都无法避免密钥更新之后的密钥碰撞问题,因此从访问流程上入手,提出了新的密钥碰撞的解决方案:
如图1所示,一种解决组合公钥CPK密钥碰撞问题的方法,具体包含如下步骤:
步骤1.1,用户向KMC发出注册请求;
步骤1.2,KMC为用户生成初始公私钥对(PK0,sk0),其中,PK0作为初始的组合公钥PK,即PK=PK0=sk*G,其中,G是椭圆曲线E(FP)上的基点;
步骤1.3,KMC将生成的初始组合公钥与组合公钥数据库里的已有组合公钥进行比对,检测是否重复;
步骤1.4,如果有重复,则随机分配Δx,得到公钥增量ΔX,将公钥增量与初始公钥PK0相加,得到组合公钥PK,重复步骤1.3,直到生成的组合公钥与已有组合公钥不重复;
步骤1.5,将步骤1.4生成的用户的组合公钥记录到KMC的组合公钥数据库中;
步骤1.6,计算用户的组合私钥sk;
步骤1.7,向用户发放组合私钥,并删除KMC的中心私钥;
如图2所示,步骤2,用户进行相互认证访问过程,具体包含如下步骤:
步骤2.1,访问用户A向被访问用户B发出访问请求,报文中包含可验证访问用户A身份的信息;
步骤2.2,被访问用户B验证访问用户A身份的真实可靠性,当被访问用户B对访问用户A的身份认证通过时,被访问用户B向访问用户A发送可验证被访问用户B个人身份的信息;
步骤2.3,当访问用户A验证被访问用户B的身份也通过时,访问用户A和被访问用户B进行可信的加密访问。
在步骤1.2中,KMC通过对用户标识的hash运算和行映射算法生成公私钥因子的选取序列,然后在公私钥矩阵中选取对应的元素,进行组合运算生成初始公私钥对。
在步骤1.4中,公钥增量的具体计算如下:ΔX=G*Δx。
在步骤1.5中,组合私钥的具体计算如下:sk=sk0+Δx。
在步骤1.7中,所述KMC的中心私钥包含组合私钥sk和初始私钥对sk0。
步骤2,用户采用两步验证法进行相互认证访问,具体步骤如下:
步骤2.1,访问用户A向被访问用户B发出访问请求,报文中携带了访问用户A的身份标识IDA,私钥对身份标识IDA的签名signA(IDA),公钥增量ΔXA,以及私钥对公钥增量的签名signA(ΔXA);
步骤2.2,访问用户B把访问用户A的身份标识带入客户端系统中,生成得到访问用户A的初始公钥对PKA0,计算访问用户A的组合公钥PKA=PKA0+ΔXA;
步骤2.3,被访问用户B使用计算得到的访问用户A的组合公钥对A传递过来的身份标识IDA的签名signA(IDA),以及私钥对公钥增量的签名signA(ΔXA)进行签名验证;
步骤2.4,被访问用户B对访问用户A的签名认证不通过的话,则认为访问用户A不可信,结束与其的通信,直接返回用户A拒绝访问的应答,返回参数中带有拒绝访问的理由。
步骤2.5,被访问用户B对访问用户A的签名认证通过,即认为访问用户A的身份是可信的,那么被访问用户B响应访问用户A的报文中携带被访问用户B的用户身份标识IDB,被访问用户B的私钥对身份标识IDB的签名signB(IDB),被访问用户B的公钥增量ΔXB,以及私钥对公钥增量的签名signB(ΔXB);
步骤2.6,访问用户A把被访问用户B的身份标识带入客户端系统中,生成得到被访问用户B的初始公钥PKB0,计算被访问用户B的组合公钥PKB=PKB0+ΔXB;
步骤2.7,访问用户A使用计算得到的被访问用户B的组合公钥对被访问用户B传递过来的身份标识IDB的签名signB(IDB),以及私钥对公钥增量的签名signB(ΔXB)进行签名验证,以证实被访问用户B身份的真实性,可靠性和完整性;
步骤2.8,如果访问用户A对被访问用户B的签名认证不通过的话,则认为被访问用户B的身份不可信,访问用户A直接结束与被访问用户B的通信;
步骤2.9,否则访问用户A也认可被访问用户B的身份的可信性,这样访问与被访问用户双方都通过了各自的身份认证,也都拿到了对方的组合公钥,这样就可以相互秘密的进行可信的加密访问。
本发明在原组合公钥CPK算法,对用户标识的hash运算和行映射算法生成公私钥因子的选取序列,然后再在公私钥矩阵中选取对应的元素,进行组合生成公私钥对,这一流程的基础上,添加了两个改进点:用户向密钥管理中心KMC申请注册时,KMC对申请用户身份标识产生的公钥进行数据库去重,以生成不碰撞的用户组合密钥对;并且用户在进行相互访问时进行身份认证时采用两步验证法。该解决方案,在解决组合公钥密钥碰撞的同时,也兼顾了认证的规模化,验证的简便性,离线认证过程等特点。
Claims (5)
1.一种解决组合公钥CPK密钥碰撞问题的方法,其特征在于,具体包含如下步骤:
步骤1,用户向密钥管理中心KMC注册,具体步骤如下:
步骤1.1,用户向KMC发出注册请求;
步骤1.2,KMC为用户生成初始公私钥对(PK0,sk0),其中,PK0作为初始的组合公钥PK,即PK=PK0=sk*G,其中,G是椭圆曲线E(FP)上的基点;
步骤1.3,KMC将生成的初始组合公钥与组合公钥数据库里的已有组合公钥进行比对,检测是否重复;
步骤1.4,如果有重复,则随机分配Δx,得到公钥增量ΔX,将公钥增量与初始公钥PK0相加,得到组合公钥PK,重复步骤1.3,直到生成的组合公钥与已有组合公钥不重复;
步骤1.5,将步骤1.4生成的用户的组合公钥记录到KMC的组合公钥数据库中;
步骤1.6,计算用户的组合私钥sk;
步骤1.7,向用户发放组合私钥,并删除KMC的中心私钥;
步骤2,用户进行相互认证访问过程,具体包含如下步骤:
步骤2.1,访问用户A向被访问用户B发出访问请求,报文中包含可验证访问用户A身份的信息;
步骤2.2,被访问用户B验证访问用户A身份的真实可靠性,当被访问用户B对访问用户A的身份认证通过时,被访问用户B向访问用户A发送可验证被访问用户B个人身份的信息;
步骤2.3,当访问用户A验证被访问用户B的身份也通过时,访问用户A和被访问用户B进行可信的加密访问。
2.根据权利要求1所述的一种解决组合公钥CPK密钥碰撞问题的方法,其特征在于:在步骤1.2中,KMC通过对用户标识的hash运算和行映射算法生成公私钥因子的选取序列,然后在公私钥矩阵中选取对应的元素,进行组合运算生成初始公私钥对。
3.根据权利要求1所述的一种解决组合公钥CPK密钥碰撞问题的方法,其特征在于:在步骤1.4中,公钥增量的具体计算如下:ΔX=G*Δx。
4.根据权利要求1所述的一种解决组合公钥CPK密钥碰撞问题的方法,其特征在于:在步骤1.5中,组合私钥的具体计算如下:sk=sk0+Δx。
5.根据权利要求1所述的一种解决组合公钥CPK密钥碰撞问题的方法,其特征在于:在步骤1.7中,所述KMC的中心私钥包含组合私钥sk和初始私钥对sk0。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511028064.3A CN105553658A (zh) | 2015-12-31 | 2015-12-31 | 一种解决组合公钥cpk密钥碰撞问题的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511028064.3A CN105553658A (zh) | 2015-12-31 | 2015-12-31 | 一种解决组合公钥cpk密钥碰撞问题的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105553658A true CN105553658A (zh) | 2016-05-04 |
Family
ID=55832601
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201511028064.3A Pending CN105553658A (zh) | 2015-12-31 | 2015-12-31 | 一种解决组合公钥cpk密钥碰撞问题的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105553658A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005078993A1 (en) * | 2004-02-12 | 2005-08-25 | Kryptiva, Inc. | System and method for warranting electronic mail using a hybrid public key encryption scheme |
CN1859091A (zh) * | 2006-06-06 | 2006-11-08 | 南相浩 | 一种基于cpk的可信连接安全认证系统和方法 |
CN101594229A (zh) * | 2009-06-30 | 2009-12-02 | 华南理工大学 | 一种基于组合公开密钥的可信网络连接系统及方法 |
CN104901935A (zh) * | 2014-09-26 | 2015-09-09 | 易兴旺 | 一种基于cpk的双向认证及数据交互安全保护方法 |
-
2015
- 2015-12-31 CN CN201511028064.3A patent/CN105553658A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005078993A1 (en) * | 2004-02-12 | 2005-08-25 | Kryptiva, Inc. | System and method for warranting electronic mail using a hybrid public key encryption scheme |
CN1859091A (zh) * | 2006-06-06 | 2006-11-08 | 南相浩 | 一种基于cpk的可信连接安全认证系统和方法 |
CN101594229A (zh) * | 2009-06-30 | 2009-12-02 | 华南理工大学 | 一种基于组合公开密钥的可信网络连接系统及方法 |
CN104901935A (zh) * | 2014-09-26 | 2015-09-09 | 易兴旺 | 一种基于cpk的双向认证及数据交互安全保护方法 |
Non-Patent Citations (1)
Title |
---|
李方伟: "解决组合公钥共谋攻击和密钥碰撞的新方法", 《计算机应用研究》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Garg et al. | Toward secure and provable authentication for Internet of Things: Realizing industry 4.0 | |
Ambrosin et al. | SANA: Secure and scalable aggregate network attestation | |
Alladi et al. | A lightweight authentication and attestation scheme for in-transit vehicles in IoV scenario | |
Cui et al. | HCPA-GKA: A hash function-based conditional privacy-preserving authentication and group-key agreement scheme for VANETs | |
CN106878318B (zh) | 一种区块链实时轮询云端系统 | |
CN103795534B (zh) | 基于口令的认证方法及用于执行该方法的装置 | |
CN103414690B (zh) | 一种可公开验证云端数据持有性校验方法 | |
CN109412790A (zh) | 一种面向物联网的用户认证与密钥协商系统及方法 | |
CN107493165B (zh) | 一种具有强匿名性的车联网认证及密钥协商方法 | |
CN103856477A (zh) | 一种可信计算系统及相应的认证方法和设备 | |
CN103338202B (zh) | 一种基于智能卡的远程用户密码双重验证方法 | |
CN109618326A (zh) | 用户动态标识符生成方法及服务注册方法、登录验证方法 | |
CN104753680A (zh) | 一种车载自组织网络中的隐私保护与认证方法 | |
CN101682508A (zh) | 生成用于电子设备的公钥的方法以及电子设备 | |
CN104717217B (zh) | 一种云存储中基于部分授权的可证明安全数据持有性验证方法 | |
Yassin et al. | Efficient password-based two factors authentication in cloud computing | |
Maitra et al. | ElGamal cryptosystem‐based secure authentication system for cloud‐based IoT applications | |
CN111024996A (zh) | 一种基于区块链技术进行身份认证的智能电表 | |
Kaur et al. | A secure, lightweight, and privacy-preserving authentication scheme for V2G connections in smart grid | |
Babu et al. | EV-PUF: Lightweight security protocol for dynamic charging system of electric vehicles using physical unclonable functions | |
Ma et al. | A secure authentication scheme for remote diagnosis and maintenance in Internet of Vehicles | |
Parameswarath et al. | A privacy-preserving authenticated key exchange protocol for V2G communications using SSI | |
KR101509079B1 (ko) | 스마트카드 및 동적 id 기반 전기 자동차 사용자 인증 기법 | |
CN117040765A (zh) | 智能电网终端认证方法、装置、存储介质及计算机设备 | |
CN102299791B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160504 |