CN115665732B - 一种面向卫星互联网的无证书签名认证方法 - Google Patents

一种面向卫星互联网的无证书签名认证方法 Download PDF

Info

Publication number
CN115665732B
CN115665732B CN202211303732.9A CN202211303732A CN115665732B CN 115665732 B CN115665732 B CN 115665732B CN 202211303732 A CN202211303732 A CN 202211303732A CN 115665732 B CN115665732 B CN 115665732B
Authority
CN
China
Prior art keywords
management module
key
authentication
key management
message
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.)
Active
Application number
CN202211303732.9A
Other languages
English (en)
Other versions
CN115665732A (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 University of Defense Technology
Original Assignee
National University of Defense Technology
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 University of Defense Technology filed Critical National University of Defense Technology
Priority to CN202211303732.9A priority Critical patent/CN115665732B/zh
Publication of CN115665732A publication Critical patent/CN115665732A/zh
Application granted granted Critical
Publication of CN115665732B publication Critical patent/CN115665732B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种面向卫星互联网的无证书签名认证方法,目的是解决证书管理复杂,以及密钥托管、通信安全性,消息完整性的问题。技术方案是构建由密钥生成中心KGC和卫星互联网组成的面向卫星互联网的无证书签名认证系统,KGC上安装有系统参数管理模块和KGC计算模块,卫星上安装有密钥管理模块和计算模块。这些模块相互配合,生成系统参数和主密钥;生成发送方部分私钥和发送方公钥;生成签名;计算已签名的发送方认证消息的消息验证签名,判定认证是否成功,完成双向认证。本发明双向认证均使用的是无证书签名认证,解决了证书管理复杂,证书生成、更新、分发开销大的问题以及密钥托管问题,同时保证通信安全性,消息完整性。

Description

一种面向卫星互联网的无证书签名认证方法
技术领域
本发明涉及网络安全技术领域,具体的说,涉及一种面向卫星互联网的无证书签名认证方法。
背景技术
随着5G技术的日渐完善,6G技术的开发也提上了日程。6G网络将是一个地面无线与卫星通信集成的全连接世界,通过将卫星网络融入到6G通信网络中,可以实现全球的无缝隙覆盖。卫星互联网是一个开放的网络系统,具有拓扑动态变化,覆盖范围大,传输距离远等特性。这些特性和空间链路通信的开放性使得卫星互联网面临着多种安全攻击的威胁。卫星互联网容易受到外部和内部攻击,发送的消息可能会被篡改、伪造,传输数据的完整性和真实性不能得到有效地保证。为了确保地面网络传输的安全性,许多基于密码学的安全协议已经被提出,但是由于其计算的复杂性,不能适应于卫星互联网资源受限的独特环境。
在传统的公钥基础设施(Public Key Infrastructure,PKI)中,证书机构(Certificate Authority,CA)管理所有用户的公钥和身份信息,并对认证的用户颁发证书。然而,证书的生成、存储、分发、验证和撤销会耗费大量资源。基于身份的密码系统(Identity Based Cryptosystem,IBC)可以解决证书管理繁琐的问题。IBC将用户的身份信息直接用作公钥,而用户的私钥则由密钥生成中心(Key Generation Center,KGC)用主密钥和用户身份信息生成。但是在IBC系统中,KGC必须是高度信任的,因为它能够以任何系统用户的名义对消息加密和解密。这就造成了IBC系统固有的密钥托管问题。一旦KGC被入侵或攻破,所有用户的私钥和身份信息都会泄露,整个系统就会瘫痪。
最初的卫星互联网中多是基于PKI的认证方案,这些技术方案都需要使用到证书。证书就是通过第三方的可信机构对发送者的公钥进行签名而得到的,其目的是保证接收方获得的发送者公钥不是被伪造的。但是用户证书的管理会耗费大量资源。目前大多采用基于IBC的卫星互联网认证方案,使用用户的身份信息作为公钥,因此可以确保公钥的真实性。但是这类方案的缺陷在于KGC需要保存所有用户的公私钥对,也就是上文所说的密钥托管问题。无证书数字签名技术的特殊机制可以解决IBC系统中的密钥托管问题,同时不需要管理证书,广泛应用于地面网络的加密和认证中。目前没有将无证书签名技术应用于卫星互联网认证的公开方案,因为现有的无证书签名技术在用于地面网络时签名和验证阶段需要进行很多次双线性对运算,以此来保证安全强度,如Hassouna等人的算法,见文献(Hassouna,M.,Bashier,E.,Barry,B..A Strongly Secure Certificateless DigitalSignature Scheme in The Random Oracle Model[J].International Journal of Net-work Security,2016,Vol.18(5):938-945)。地面节点的带宽资源较为充足,可以承担这种较高的运算复杂度和开销。但是卫星互联网的带宽资源有限,卫星存储和计算能力都有限制,因此需要找到一种能解决PKI系统和IBC系统中的问题,又能符合卫星互联网资源受限的特殊环境,具有较小的运算复杂和开销,保证通信安全性、消息完整性的安全方案。
本发明涉及到的背景技术主要有无证书数字签名技术,椭圆曲线密码学和双线性对。
1)Al-Riyami等人提出了无证书公钥密码学(Certificateless Public KeyCryptography,CL-PKC)。他们设计了一种新颖的无证书签名(CertificatelessSignature,CLS)方案,在该方案中KGC只提供用户的部分私钥,另一部分由用户自己生成,由此可以解决密钥托管问题。另外与传统PKI系统不同,CL-PKC系统中的用户不需要进行身份验证,因此也不需要证书管理机构。
2)椭圆曲线密码学。椭圆曲线密码学(Elliptic Curve Cryptography,ECC)是一种从有限域上的椭圆曲线构造密码方案的方法。椭圆曲线密码可以用比RSA(由RonRivest,Adi Shamir,Leonard Adleman三个人的名字姓氏开头组成RSA)公钥密码体制更短的密钥来实现同等的强度,也就是椭圆曲线密码密钥长度短但保密强度高。一般来说,密钥长度为160比特的椭圆曲线密码可以实现与密钥长度为1024比特的RSA同等的保密强度。
设p为长度为λ的大素数,GF(p)表示有限域,椭圆曲线由一系列满足如下方程的点组成:
G={(x,y):y2=x3+ax+b,4a3+27b2modp≠0}∪O
其中,a,b∈GF(p),O代表无穷远点。
3)双线性对。设双线性映射为e(x,y):G1×G2→G2(表示将G1中的某两个元素x,y映射到G2中的某个元素e(x,y)),其中G1是阶为素数q的加法循环群,G2是阶为素数q的乘法循环群,G1的生成元为P,P是G1中的最小数目个群元,群中元素可以由P的乘积生成。该双线性映射满足以下性质:
1.双线性:存在x,y,z∈G1,它们满足双线性映射e(x,y+z)=e(x,y)·e(x,z)和e(x+y,z)=e(x,z)·e(y,z)。对于任何有e(ax,by)=e(x,y)ab。/>为正整数集合。
2.非退化性:存在x,y∈G1,使得e(x,y)≠1。
3.可计算性:对于任何x,y∈G1,存在有效的算法可以计算e(x,y)。
目前还没有公开文献涉及利用无证书签名认证技术来保证卫星互联网中通信安全性,消息完整性的技术方案。
发明内容
本发明要解决的技术问题是针对传统公钥基础设施中证书管理复杂,证书生成、更新、分发开销大的问题以及身份基密码学中的密钥托管问题,以及卫星互联网中通信安全性,消息完整性的问题,提出一种面向卫星互联网的无证书签名认证方法,解决传统公钥基础设施中证书管理复杂,证书生成、更新、分发开销大的问题以及身份基密码学中的密钥托管问题,同时保证卫星互联网中通信安全性,消息完整性。
本发明的技术方案是构建由密钥生成中心KGC和卫星互联网组成的面向卫星互联网的无证书签名认证系统,KGC上安装有系统参数管理模块和KGC计算模块,卫星上安装有密钥管理模块和计算模块。系统参数管理模块根据安全参数生成系统参数和主密钥;这些模块相互配合生成发送方部分私钥和发送方公钥;生成签名;计算已签名的发送方认证消息的消息验证签名,判定认证是否成功,完成无证书签名双向认证均使用的是无证书签名认证。
本发明的具体技术方案是:
第一步,构建面向卫星互联网的无证书签名认证系统。面向卫星互联网的无证书签名认证系统由密钥生成中心KGC和卫星互联网组成,令整个卫星互联网中共有N颗卫星,给卫星编号为1,2,…,i,…,j,…,N,1≤i≠j≤N,令Si代表编号为i的卫星,令Sj代表编号为j的卫星,Si与Sj之间有通信需求。若Si要与Sj通信,Si要向Sj发起认证请求,Si和Sj进行双向认证后才可以正常通信。
KGC上安装有系统参数管理模块和KGC计算模块,Si上安装有Si密钥管理模块和Si计算模块,Sj上安装有Sj密钥管理模块和Sj计算模块。
KGC的系统参数管理模块与KGC计算模块、Si密钥管理模块、Sj密钥管理模块相连。系统参数管理模块接收KGC计算模块发送的第一部分私钥,Si密钥管理模块发送的与卫星Sj的认证请求,Sj密钥管理模块发送的与卫星Si的认证请求。系统参数管理模块在KGC本地储存卫星互联网中所有卫星的身份标识信息,生成系统参数并储存。系统参数管理模块将系统参数和请求认证的卫星(Si与Sj)的身份标识(IDi和IDj)发送给KGC计算模块,将系统参数和Si第一部分私钥Di发送给Si密钥管理模块,将系统参数和Sj第一部分私钥发Dj送给Sj密钥管理模块。
KGC计算模块与系统参数管理模块相连,KGC计算模块从系数参数管理模块接收系统参数和请求认证的卫星的身份标识,根据系统参数和IDi计算Si的第一部分私钥Di,根据系统参数和IDj计算Sj的第一部分私钥Dj,将Di与Dj发送给系统参数管理模块。
Si密钥管理模块与系统参数管理模块、Si计算模块和Sj密钥管理模块相连。Si密钥管理模块从Sj密钥管理模块接收应答认证消息。Si密钥管理模块从系统参数管理模块接收系统参数和Si的第一部分私钥Di并储存,然后将系统参数、Si的第一部分私钥Di、Si身份标识和未签名的Si认证消息发送给Si计算模块。Si密钥管理模块从Si计算模块接收生成的Si的公钥pki、私钥并储存,将从Si计算模块接收到的已签名的认证消息发送给Sj密钥管理模块。Si密钥管理模块从Sj密钥管理模块接收Sj的公钥pkj和已签名的验签成功消息或重认证消息,如果接收到已签名的验签成功消息,将pkj和已签名的验签成功消息发送给Si计算模块进行认证;如果接收到重认证消息,则重新发送未签名的Si认证消息给Si计算模块进行签名。Si密钥管理模块从Si计算模块接收认证成功或者认证失败消息,如果接收到认证成功消息,将认证成功消息发送给Sj密钥管理模块;如果认证失败,将重认证消息发送给Sj密钥管理模块。
Si计算模块与Si密钥管理模块相连。Si计算模块从Si密钥管理模块接收系统参数、Si的第一部分私钥Di、Si身份标识和未签名的Si认证消息,计算出Si的公钥、Si的私钥并对未签名的Si认证消息进行签名,将Si的公钥、Si的私钥和已签名的Si认证消息发送给Si密钥管理模块。Si计算模块从Si密钥管理模块接收Sj的公钥pkj和已签名的验签成功消息,通过pkj和签名σj进行认证,并发送认证成功或者认证失败给Si密钥管理模块。
Sj密钥管理模块与系统参数管理模块、Sj计算模块和Si密钥管理模块相连。Sj密钥管理模块从Si密钥管理模块接收请求认证消息,发送应答认证消息给Si密钥管理模块。Sj密钥管理模块从Si密钥管理模块接收Si的公钥pki和已签名的认证消息,将pki和已签名的认证消息发送给Sj计算模块。Sj密钥管理模块从Sj计算模块接收认证成功或失败消息,如果认证成功,则发送未签名的验签成功消息给Sj计算模块;如果认证失败,则发送重认证消息给Si密钥管理模块。Sj密钥管理模块从系统参数管理模块接收系统参数和Sj的第一部分私钥Dj并储存,然后将系统参数、Sj的第一部分私钥Dj、Sj身份标识发送给Sj计算模块。Sj密钥管理模块从Sj计算模块接收生成的Sj的公钥pkj、Sj的私钥skj并储存,将从Sj计算模块接收到的已签名的验签成功消息发送给Si密钥管理模块。Sj密钥管理模块从Si密钥管理模块接收认证成功消息或重认证消息,如果接收到认证成功消息则完成双向认证;如果接收到重认证消息则重新发送未签名的验签成功消息给Sj计算模块。
Sj计算模块与Sj密钥管理模块相连。Sj计算模块从Sj密钥管理模块接收Si的公钥pki和已签名的Si认证消息,通过pki和签名σi进行认证,并发送认证成功或者认证失败消息给Sj密钥管理模块。Sj计算模块从Sj密钥管理模块接收系统参数、Sj的第一部分私钥Dj、Sj身份标识和未签名的验签成功消息,计算出Sj的公钥pkj、Sj的私钥skj并对未签名的验签成功消息进行签名,将Sj的公钥pkj、Sj的私钥skj和已签名的验签成功消息发送给Sj密钥管理模块。
第二步,系统参数管理模块根据安全参数生成系统参数(用七元组<q,G1,G2,e,P,Ppub,H1>表示)和主密钥,方法是:
2.1系统参数管理模块从键盘获得系统管理员输入的安全参数k,k为正整数;
2.2系统参数管理模块使用k作为输入,使用BDH(BilinearDiffie-Hellman译为双线性对的迪菲-赫尔曼问题,Diffie、Hellman为人名)参数生成方法(参见丹.鲍恩.基于weil对的身份基加密[J].siam计算期刊,2001,32(3):213-229,第8页,第15行-第24行,BDHParameterGenerator.英文文献索引为BonehD,FranklinM.IdentitybasedencryptionfromtheWeilpairing[J].SiamJournalonComputing,2001,32(3):213-229)产生安全级别为k位(k越大安全等级越高)的身份基密码学参数,包括生成元为P、阶为q的加法循环群G1,阶为q的乘法循环群G2(G1、G2为椭圆曲线上的点组成的集合,G1、G2中的元素是椭圆曲线上的点),P∈G1 为正整数集合。椭圆曲线上的双线性映射函数e(x,y):G1×G1→G2(表示将G1中的某两个元素x,y映射到G2中的某个元素e(x,y),e(x,y)为G2中的点),一个哈希函数:/>(表示将一串长度为n的二进制字符串u映射为/>中某个正整数H1(u),n是一个变量,表示卫星身份标识ID或者卫星发送的认证消息比特数)。
2.3系统参数管理模块在正整数集合Zq *中随机选取整数s,0<s<q,作为KGC的主密钥。
2.4系统参数管理模块计算系统公钥Ppub,Ppub=s×P,P是G1的生成元即原始点,Ppub为新的点,其中“·”表示G1中元素的标量乘法运算(标量乘法运算,参见现代数学基础丛书《椭圆曲线公钥密码导引》,祝跃飞,张亚娟,第七章7.2节第220页算法7.6,与普通非循环整数域乘法完全不同,知道系数和原始点,可用标量乘法计算出新的点,知道新的点和原始点,无法逆运算出系数)。
2.5系统参数管理模块将七元组params=<q,G1,G2,e,P,Ppub,H1>作为系统参数公开给KGC计算模块,并把s作为主密钥保存,不泄漏给卫星Si和Sj。虽然P,Ppub公开,依据标量乘法运算的性质,无法根据Ppub=s·P算出s。之后将系统参数发送给Si密钥管理模块、Sj密钥管理模块。
第三步,Si密钥管理模块、Sj密钥管理模块与KGC相互配合,生成Si的第一部分私钥Di和Sj的第一部分私钥Dj,方法是:
3.1 Si密钥管理模块向Sj密钥管理模块发送请求认证消息,同时向KGC的系统参数模块发送与卫星Sj的认证请求。
3.2 Sj密钥管理模块向Si密钥管理模块发送应答认证消息,同时向KGC的系统参数模块发送与卫星Si的认证请求。
3.3 KGC的系统参数管理模块在本地检索卫星Si的身份标识IDi和Sj的身份标识IDj,若没有检索到Si或Sj身份标识,向卫星Si和Sj发送拒绝认证请求消息,转步骤3.1;若检索到了Si和Sj身份信息,KGC的系统参数管理模块将系统参数params和身份标识IDi和IDj发送给KGC计算模块。
3.4 KGC计算模块利用卫星的身份标识IDi和IDj生成卫星Si和Sj的初始身份标识摘要:Si的初始身份标识摘要Qi=H1(IDi),Sj的初始身份标识摘要Qj=H1(IDj)。
3.5 KGC计算模块计算卫星Si的第一部分私钥Di和Sj的第一部分私钥Dj:Di=sQiP,Dj=sQjP。
3.6 KGC计算模块将卫星Si的第一部分私钥Di和Sj的第一部分私钥Dj发送给KGC的系统参数管理模块。
3.7 KGC的系统参数管理模块将Di发送给Si密钥管理模块,同时将Dj发送给Sj密钥管理模块。
第四步,Si密钥管理模块和Si计算模块相互配合,采用公钥生成方法对Si生成pki,方法是:
4.1 Si密钥管理模块生成未签名的Si认证消息mi,将未签名的Si认证消息mi、系统参数、Si的第一部分私钥Di和Si的身份标识IDi发送给Si计算模块。
4.2 Si计算模块随机选择一个大正整数秘密值xi(xi为二进制160位的正整数)。
4.2 Si计算模块计算第一部分公钥Xi,Xi=xiP。
4.3 Si计算模块计算第二部分公钥Yi,Yi=xiPpub
4.4 Si计算模块将二元组(Xi,Yi)作为Si的完整公钥pki发送给Si密钥管理模块。
第五步,Si密钥管理模块和Si计算模块相互配合,采用私钥生成方法对Si生成ski,方法是:
5.1 Si计算模块随机选择一个大正整数秘密值x'i(x'i为二进制160位的正整数)。
5.2 Si计算模块计算Si的第二部分私钥Zi,Zi=x'iP。
5.3 Si计算模块将二元组(Di,Zi)作为Si的完整私钥ski发送给Si密钥管理模块。
第六步,Si密钥管理模块和Si计算模块相互配合,采用签名算法对mi生成签名σi,方法是:
6.1 Si计算模块随机选择一个大正整数a(a为二进制160位的正整数)。
6.2 Si计算模块计算Si的加密消息摘要Mi
6.3 Si计算模块计算卫星Si的初始身份标识摘要Qi=H1(IDi)。
6.4 Si计算模块计算卫星Si的身份标识摘要签名Ni,Ni=ax'iQi
6.5 Si计算模块计算Mi的消息签名si,si=e(MiDi,Zi)。
6.6 Si计算模块将二元组(Ni,si)作为mi的完整签名σi,mi附加上σi后成为已签名的Si认证消息m'i,将pki、ski和已签名的Si认证消息m'i发送给Si密钥管理模块。
6.7 Si密钥管理模块将pki和已签名的Si认证消息m'i发送给Sj密钥管理模块。
第七步,Sj密钥管理模块和Sj计算模块相互配合,采用消息验证签名计算方法计算已签名的Si认证消息m'i的消息验证签名sj,方法是:
7.1 Sj密钥管理模块将已签名的Si认证消息m'i和pki发送给Sj计算模块。
7.2 Sj计算模块计算m'i的消息摘要Mj,Mj=H1(m'i)。
7.3 Sj计算模块计算消息验证签名sj,sj=e(MjNiXi,Yi),MjNiXi表示消息摘要Mj、身份标识摘要签名Ni和第一部分公钥Xi相乘。
第八步,Sj密钥管理模块和Sj计算模块相互配合,采用验证算法判定认证是否成功,方法是:
8.1 Sj计算模块验证是否si=sj,如果不相等,Sj计算模块向Sj密钥管理模块发送认证失败消息,转步骤8.2;如果相等,Sj计算模块向Sj密钥管理模块发送认证成功消息,转第九步。
验证正确性分析如下:
8.2 Sj密钥管理模块向Si密钥管理模块发送重认证消息rm,转步骤4.1。
第九步,Sj密钥管理模块、Sj计算模块、Si密钥管理模块和Si计算模块相互配合,完成双向认证,方法是:
9.1 Sj密钥管理模块和Sj计算模块相互配合,采用第四步所述的公钥生成方法对Sj生成pkj
9.2 Sj密钥管理模块和Sj计算模块相互配合,采用第五步所述的私钥生成方法对Sj生成skj
9.3 Sj密钥管理模块生成未签名的验签成功消息smj,并将smj发送给Sj计算模块。
9.4 Sj密钥管理模块和Sj计算模块相互配合,采用第六步所述的签名算法生成smj的完整签名σj,σj是二元组(N'j,s'j),N'j是Sj的身份标识摘要签名,s'j是smj的消息签名。
9.5 Sj计算模块将smj附加上σj后成为已签名的验签成功消息sm'j,将pkj、skj和已签名的验签成功消息sm'j发送给Sj密钥管理模块。
9.6 Sj密钥管理模块将pkj和已签名的验签成功消息sm'j发送给Si密钥管理模块。
9.7 Si密钥管理模块和Si计算模块相互配合,采用第七步所述的消息验证签名计算方法计算已签名的验签成功消息sm'j的消息验证签名si'。
9.8 Si密钥管理模块和Si计算模块相互配合,采用第八步所述的验证算法判定认证是否成功。如果验证失败,Si计算模块向Si密钥管理模块发送认证失败消息,转步骤9.8.1;如果验证成功,转步骤9.8.2。
9.8.1 Si密钥管理模块向Sj密钥管理模块发送重认证消息rm',转步骤9.1重新认证。
9.8.2 Si密钥管理模块Sj密钥管理模块发送认证成功消息am,完成双向认证,结束。
采用本发明可以达到以下技术效果:
1.采用本发明以实现通信双方的双向认证:本发明卫星之间发送的每条消息都包含相应的签名。卫星收到消息后,通过对消息上的签名进行验证,如果发送者身份错误或者有攻击者想要伪造签名,则第六步中生成的身份标识摘要签名Ni=ax'iQi会变化,导致第八步验证失败。所以可以认证通信双方的身份。
2.采用本发明可以保证发送认证消息的完整性和真实性:卫星在收到发送方发来的消息后,在第八步中都需要对消息中的签名进行验证,如果消息不完整或者被篡改,则在第六步中生成消息摘要H1(mi)以及加密消息摘要会变化导致第八步验证失败,从而保证了消息的完整性和真实性。
3.相较于基于PKI的卫星互联网认证方法,本发明双向认证均使用的是无证书签名认证,不需要第三方认证机构和证书管理,节省了证书生成、更新、分发、管理耗费的资源。目前的基于IBC的卫星互联网认证方法,在签名和验证时需要进行多次双线性对运算,而本发明在签名和验证阶段各只需要进行一次双线性对操作,具有更小的签名和验证开销。另外由于KGC只生成了第一部分私钥,完整私钥只有卫星自己知道,一旦KGC被攻击泄露了第一部分私钥,不会影响整个认证流程的安全性,因此解决了密钥托管问题,能保证卫星互联网中通信安全性,消息完整性。
附图说明
图1为本发明总体流程图;
图2为第一步构建的面向卫星互联网的无证书签名认证系统示意图。
图3为实施例实验环境中无证书签名算法的运算操作时间开销示意图。
图4为实施例实验环境中本发明与Hassouna方法的时间开销比较示意图。
具体实施方式
下面对照附图对本发明进行具体说明,如图1所示,本发明包括以下步骤:
第一步,构建面向卫星互联网的无证书签名认证系统。如图2所示,面向卫星互联网的无证书签名认证系统由密钥生成中心KGC和卫星互联网组成,令整个卫星互联网中共有N颗卫星,给卫星编号为1,2,…,i,…,j,…,N,1≤i≠j≤N,令Si代表编号为i的卫星,令Sj代表编号为j的卫星,Si与Sj之间有通信需求。若Si要与Sj通信,Si要向Sj发起认证请求,Si和Sj进行双向认证后才可以正常通信。
KGC上安装有系统参数管理模块和KGC计算模块,Si上安装有Si密钥管理模块和Si计算模块,Sj上安装有Sj密钥管理模块和Sj计算模块。
KGC的系统参数管理模块与KGC计算模块、Si密钥管理模块、Sj密钥管理模块相连。系统参数管理模块接收KGC计算模块发送的第一部分私钥,Si密钥管理模块发送的与卫星Sj的认证请求,Sj密钥管理模块发送的与卫星Si的认证请求。系统参数管理模块在KGC本地储存卫星互联网中所有卫星的身份标识信息,生成系统参数并储存。系统参数管理模块将系统参数和请求认证的卫星(Si与Sj)的身份标识(IDi和IDj)发送给KGC计算模块,将系统参数和Si第一部分私钥Di发送给Si密钥管理模块,将系统参数和Sj第一部分私钥发Dj送给Sj密钥管理模块。
KGC计算模块与系统参数管理模块相连,KGC计算模块从系数参数管理模块接收系统参数和请求认证的卫星的身份标识,根据系统参数和IDi计算Si的第一部分私钥Di,根据系统参数和IDj计算Sj的第一部分私钥Dj,将Di与Dj发送给系统参数管理模块。
Si密钥管理模块与系统参数管理模块、Si计算模块和Sj密钥管理模块相连。Si密钥管理模块从Sj密钥管理模块接收应答认证消息。Si密钥管理模块从系统参数管理模块接收系统参数和Si的第一部分私钥Di并储存,然后将系统参数、Si的第一部分私钥Di、Si身份标识和未签名的Si认证消息发送给Si计算模块。Si密钥管理模块从Si计算模块接收生成的Si的公钥pki、私钥并储存,将从Si计算模块接收到的已签名的认证消息发送给Sj密钥管理模块。Si密钥管理模块从Sj密钥管理模块接收Sj的公钥pkj和已签名的验签成功消息或重认证消息,如果接收到已签名的验签成功消息,将pkj和已签名的验签成功消息发送给Si计算模块进行认证;如果接收到重认证消息,则重新发送未签名的Si认证消息给Si计算模块进行签名。Si密钥管理模块从Si计算模块接收认证成功或者认证失败消息,如果接收到认证成功消息,将认证成功消息发送给Sj密钥管理模块;如果认证失败,将重认证消息发送给Sj密钥管理模块。
Si计算模块与Si密钥管理模块相连。Si计算模块从Si密钥管理模块接收系统参数、Si的第一部分私钥Di、Si身份标识和未签名的Si认证消息,计算出Si的公钥、Si的私钥并对未签名的Si认证消息进行签名,将Si的公钥、Si的私钥和已签名的Si认证消息发送给Si密钥管理模块。Si计算模块从Si密钥管理模块接收Sj的公钥pkj和已签名的验签成功消息,通过pkj和签名σj进行认证,并发送认证成功或者认证失败给Si密钥管理模块。
Sj密钥管理模块与系统参数管理模块、Sj计算模块和Si密钥管理模块相连。Sj密钥管理模块从Si密钥管理模块接收请求认证消息,发送应答认证消息给Si密钥管理模块。Sj密钥管理模块从Si密钥管理模块接收Si的公钥pki和已签名的认证消息,将pki和已签名的认证消息发送给Sj计算模块。Sj密钥管理模块从Sj计算模块接收认证成功或失败消息,如果认证成功,则发送未签名的验签成功消息给Sj计算模块;如果认证失败,则发送重认证消息给Si密钥管理模块。Sj密钥管理模块从系统参数管理模块接收系统参数和Sj的第一部分私钥Dj并储存,然后将系统参数、Sj的第一部分私钥Dj、Sj身份标识发送给Sj计算模块。Sj密钥管理模块从Sj计算模块接收生成的Sj的公钥pkj、Sj的私钥skj并储存,将从Sj计算模块接收到的已签名的验签成功消息发送给Si密钥管理模块。Sj密钥管理模块从Si密钥管理模块接收认证成功消息或重认证消息,如果接收到认证成功消息则完成双向认证;如果接收到重认证消息则重新发送未签名的验签成功消息给Sj计算模块。
Sj计算模块与Sj密钥管理模块相连。Sj计算模块从Sj密钥管理模块接收Si的公钥pki和已签名的Si认证消息,通过pki和签名σi进行认证,并发送认证成功或者认证失败消息给Sj密钥管理模块。Sj计算模块从Sj密钥管理模块接收系统参数、Sj的第一部分私钥Dj、Sj身份标识和未签名的验签成功消息,计算出Sj的公钥pkj、Sj的私钥skj并对未签名的验签成功消息进行签名,将Sj的公钥pkj、Sj的私钥skj和已签名的验签成功消息发送给Sj密钥管理模块。
第二步,系统参数管理模块根据安全参数生成系统参数(用七元组<q,G1,G2,e,P,Ppub,H1>表示)和主密钥,方法是:
2.1系统参数管理模块从键盘获得系统管理员输入的安全参数k,k为正整数;
2.2系统参数管理模块使用k作为输入,使用BDH(BilinearDiffie-Hellman译为双线性对的迪菲-赫尔曼问题,Diffie、Hellman为人名)参数生成方法(参见丹.鲍恩.基于weil对的身份基加密[J].siam计算期刊,2001,32(3):213-229,第8页,第15行-第24行,BDHParameterGenerator.英文文献索引为BonehD,FranklinM.IdentitybasedencryptionfromtheWeilpairing[J].SiamJournalonComputing,2001,32(3):213-229)产生安全级别为k位(k越大安全等级越高)的身份基密码学参数,包括生成元为P、阶为q的加法循环群G1,阶为q的乘法循环群G2(G1、G2为椭圆曲线上的点组成的集合,G1、G2中的元素是椭圆曲线上的点),P∈G1 为正整数集合。椭圆曲线上的双线性映射函数e(x,y):G1×G1→G2(表示将G1中的某两个元素x,y映射到G2中的某个元素e(x,y),e(x,y)为G2中的点),一个哈希函数:/>(表示将一串长度为n的二进制字符串u映射为/>中某个正整数H1(u),n是一个变量,表示卫星身份标识ID或者卫星发送的认证消息比特数)。
2.3系统参数管理模块在正整数集合Zq *中随机选取整数s,0<s<q,作为KGC的主密钥。
2.4系统参数管理模块计算系统公钥Ppub,Ppub=s·P,P是G1的生成元即原始点,Ppub为新的点,其中“·”表示G1中元素的标量乘法运算。
2.5系统参数管理模块将七元组params=<q,G1,G2,e,P,Ppub,H1>作为系统参数公开给KGC计算模块,并把s作为主密钥保存,不泄漏给卫星Si和Sj。虽然P,Ppub公开,依据标量乘法运算的性质,无法根据Ppub=s·P算出s。之后将系统参数发送给Si密钥管理模块、Sj密钥管理模块。
第三步,Si密钥管理模块、Sj密钥管理模块与KGC相互配合,生成Si的第一部分私钥Di和Sj的第一部分私钥Dj,方法是:
3.1 Si密钥管理模块向Sj密钥管理模块发送请求认证消息,同时向KGC的系统参数模块发送与卫星Sj的认证请求。
3.2 Sj密钥管理模块向Si密钥管理模块发送应答认证消息,同时向KGC的系统参数模块发送与卫星Si的认证请求。
3.3 KGC的系统参数管理模块在本地检索卫星Si的身份标识IDi和Sj的身份标识IDj,若没有检索到Si或Sj身份标识,向卫星Si和Sj发送拒绝认证请求消息,转步骤3.1;若检索到了Si和Sj身份信息,KGC的系统参数管理模块将系统参数params和身份标识IDi和IDj发送给KGC计算模块。
3.4 KGC计算模块利用卫星的身份标识IDi和IDj生成卫星Si和Sj的初始身份标识摘要:Si的初始身份标识摘要Qi=H1(IDi),Sj的初始身份标识摘要Qj=H1(IDj)。
3.5 KGC计算模块计算卫星Si的第一部分私钥Di和Sj的第一部分私钥Dj:Di=sQiP,Dj=sQjP。
3.6 KGC计算模块将卫星Si的第一部分私钥Di和Sj的第一部分私钥Dj发送给KGC的系统参数管理模块。
3.7 KGC的系统参数管理模块将Di发送给Si密钥管理模块,同时将Dj发送给Sj密钥管理模块。
第四步,Si密钥管理模块和Si计算模块相互配合,采用公钥生成方法对Si生成pki,方法是:
4.1 Si密钥管理模块生成未签名的Si认证消息mi,将未签名的Si认证消息mi、系统参数、Si的第一部分私钥Di和Si的身份标识IDi发送给Si计算模块。
4.2 Si计算模块随机选择一个大正整数秘密值xi(xi为二进制160位的正整数)。
4.2 Si计算模块计算第一部分公钥Xi,Xi=xiP。
4.3 Si计算模块计算第二部分公钥Yi,Yi=xiPpub
4.4 Si计算模块将二元组(Xi,Yi)作为Si的完整公钥pki发送给Si密钥管理模块。
第五步,Si密钥管理模块和Si计算模块相互配合,采用私钥生成方法对Si生成ski,方法是:
5.1 Si计算模块随机选择一个大正整数秘密值x'i(x'i为二进制160位的正整数)。
5.2 Si计算模块计算Si的第二部分私钥Zi,Zi=x'iP。
5.3 Si计算模块将二元组(Di,Zi)作为Si的完整私钥ski发送给Si密钥管理模块。
第六步,Si密钥管理模块和Si计算模块相互配合,采用签名算法对mi生成签名σi,方法是:
6.1 Si计算模块随机选择一个大正整数a(a为二进制160位的正整数)。
6.2 Si计算模块计算Si的加密消息摘要Mi
6.3 Si计算模块计算卫星Si的初始身份标识摘要Qi=H1(IDi)。
6.4 Si计算模块计算卫星Si的身份标识摘要签名Ni,Ni=ax'iQi
6.5 Si计算模块计算Mi的消息签名si,si=e(MiDi,Zi)。
6.6 Si计算模块将二元组(Ni,si)作为mi的完整签名σi,mi附加上σi后成为已签名的Si认证消息m'i,将pki、ski和已签名的Si认证消息m'i发送给Si密钥管理模块。
6.7 Si密钥管理模块将pki和已签名的Si认证消息m'i发送给Sj密钥管理模块。
第七步,Sj密钥管理模块和Sj计算模块相互配合,采用消息验证签名计算方法计算已签名的Si认证消息m'i的消息验证签名sj,方法是:
7.1 Sj密钥管理模块将已签名的Si认证消息m'i和pki发送给Sj计算模块。
7.2 Sj计算模块计算m'i的消息摘要Mj,Mj=H1(m'i)。
7.3 Sj计算模块计算消息验证签名sj,sj=e(MjNiXi,Yi),MjNiXi表示消息摘要Mj、身份标识摘要签名Ni和第一部分公钥Xi相乘。
第八步,Sj密钥管理模块和Sj计算模块相互配合,采用验证算法判定认证是否成功,方法是:
8.1 Sj计算模块验证是否si=sj,如果不相等,Sj计算模块向Sj密钥管理模块发送认证失败消息,转步骤8.2;如果相等,Sj计算模块向Sj密钥管理模块发送认证成功消息,转第九步。
8.2 Sj密钥管理模块向Si密钥管理模块发送重认证消息rm,转步骤4.1。
第九步,Sj密钥管理模块、Sj计算模块、Si密钥管理模块和Si计算模块相互配合,完成双向认证,方法是:
9.1 Sj密钥管理模块和Sj计算模块相互配合,采用第四步所述的公钥生成方法对Sj生成pkj
9.2 Sj密钥管理模块和Sj计算模块相互配合,采用第五步所述的私钥生成方法对Sj生成skj
9.3 Sj密钥管理模块生成未签名的验签成功消息smj,并将smj发送给Sj计算模块。
9.4 Sj密钥管理模块和Sj计算模块相互配合,采用第六步所述的签名算法生成smj的完整签名σj,σj是二元组(N'j,s'j),N'j是Sj的身份标识摘要签名,s'j是smj的消息签名。
9.5 Sj计算模块将smj附加上σj后成为已签名的验签成功消息sm'j,将pkj、skj和已签名的验签成功消息sm'j发送给Sj密钥管理模块。
9.6 Sj密钥管理模块将pkj和已签名的验签成功消息sm'j发送给Si密钥管理模块。
9.7 Si密钥管理模块和Si计算模块相互配合,采用第七步所述的消息验证签名计算方法计算已签名的验签成功消息sm'j的消息验证签名si'。
9.8 Si密钥管理模块和Si计算模块相互配合,采用第八步所述的验证算法判定认证是否成功。如果验证失败,Si计算模块向Si密钥管理模块发送认证失败消息,转步骤9.8.1;如果验证成功,转步骤9.8.2。
9.8.1 Si密钥管理模块向Sj密钥管理模块发送重认证消息rm',转步骤9.1重新认证。
9.8.2 Si密钥管理模块Sj密钥管理模块发送认证成功消息am,完成双向认证,结束。
将背景技术中Hassouna的算法作为对照组对本发明的效果进行验证。实施例利用2(N=2)个1.5GHz,4核BroadcomBCM2711(Cortex A72)树莓派4B模拟卫星节点S1和S2(此时i=1,j=2),选取PBC库中Type-A的椭圆曲线y2=x3+x,有限域的阶q为160比特的素数,发送的认证消息取128比特,设系统参数管理模块从键盘获得系统管理员输入的安全参数k为123456,S1的ID1为0x0000001,S2的ID2为0x0000002。主密钥s为系统参数管理模块随机生成的一个二进制160位正整数。系统参数管理模块根据主密钥s和Type-A的生成元计算系统公钥Ppub。KGC的计算模块根据主密钥s,卫星身份ID和Type-A的生成元计算第一部分私钥。如本发明第四步和第五步S1计算模块随机生成秘密值x1,x1'(均为二进制160位正整数)。S1计算模块根据秘密值x1,x1',系统公钥Ppub和Type-A的生成元生成pk1和sk1;S1计算模块又根据秘密值x1,x1',ID1,pk1和sk1生成签名σ1。如第九步所示,S2计算模块也会随机生成秘密值x2,x2'(也是二进制160位正整数,因为步骤与第四步、第五步相同,所以必然会生成秘密值,在此令为x2,x2'),再根据秘密值x2,x2',系统公钥Ppub和Type-A的生成元生成pk2和sk2;S2计算模块根据秘密值x2,x2',ID2,pk2和sk2生成签名σ2
图3给出了在上述实施例的实验环境中各运算操作所需的时间。T_r表示生成一个随机数的时间,T_h表示一个哈希运算的时间,T_pm表示在椭圆曲线有限域上一个点乘运算的时间,T_add表示在椭圆曲线有限域上一个标量加运算的时间,T_m表示在椭圆曲线有限域上一个标量乘运算的时间,T_p表示在椭圆曲线有限域上一个双线性对运算的时间。
图4给出了在相同实验环境中本发明与Hassouna的算法在签名、验证和总体方案上时间开销的对比。图4的横坐标代表Hassouna方法和本发明(图中的ours),柱状图的标识在右上角,分别代表签名、验证和总体开销,纵坐标是时间开销(ms)。图4与图3的关系是,比如Hassouna方法在签名过程中一共需要进行4次T_pm运算,3次T_h运算,1次T_p运算,3次T_r运算,则该方法在签名过程中的时间开销即为这些运算操作时间开销的总和。如图4所示,本发明在签名过程上可以减少9%的开销,在验证过程上可以减少60%左右的开销,在总体认证过程中可以减少近35%的开销。
本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。

Claims (2)

1.一种面向卫星互联网的无证书签名认证方法,其特征在于包括以下步骤:
第一步,构建面向卫星互联网的无证书签名认证系统;面向卫星互联网的无证书签名认证系统由密钥生成中心KGC和卫星互联网组成,令整个卫星互联网中共有N颗卫星,给卫星编号为1,2,…,i,…,j,…,N,1≤i≠j≤N,令Si代表编号为i的卫星,令Sj代表编号为j的卫星,Si与Sj之间有通信需求;
KGC上安装有系统参数管理模块和KGC计算模块,Si上安装有Si密钥管理模块和Si计算模块,Sj上安装有Sj密钥管理模块和Sj计算模块;
KGC的系统参数管理模块与KGC计算模块、Si密钥管理模块、Sj密钥管理模块相连;系统参数管理模块接收KGC计算模块发送的第一部分私钥,Si密钥管理模块发送的与卫星Sj的认证请求,Sj密钥管理模块发送的与卫星Si的认证请求;系统参数管理模块在KGC本地储存卫星互联网中所有卫星的身份标识信息,生成系统参数并储存;系统参数管理模块将系统参数和请求认证的卫星Si与Sj的身份标识IDi和IDj发送给KGC计算模块,将系统参数和Si的第一部分私钥Di发送给Si密钥管理模块,将系统参数和Sj的第一部分私钥Dj发送给Sj密钥管理模块;
KGC计算模块与系统参数管理模块相连,KGC计算模块从系数参数管理模块接收系统参数和请求认证的卫星的身份标识,根据系统参数和IDi计算Si的第一部分私钥Di,根据系统参数和IDj计算Sj的第一部分私钥Dj,将Di与Dj发送给系统参数管理模块;
Si密钥管理模块与系统参数管理模块、Si计算模块和Sj密钥管理模块相连;Si密钥管理模块从Sj密钥管理模块接收应答认证消息;Si密钥管理模块从系统参数管理模块接收系统参数和Si的第一部分私钥Di并储存,然后将系统参数、Si的第一部分私钥Di、Si身份标识和未签名的Si认证消息发送给Si计算模块;Si密钥管理模块从Si计算模块接收生成的Si的公钥pki、私钥并储存,将从Si计算模块接收到的已签名的认证消息发送给Sj密钥管理模块;Si密钥管理模块从Sj密钥管理模块接收Sj的公钥pkj和已签名的验签成功消息或重认证消息,如果接收到已签名的验签成功消息,将pkj和已签名的验签成功消息发送给Si计算模块进行认证;如果接收到重认证消息,则重新发送未签名的Si认证消息给Si计算模块进行签名;Si密钥管理模块从Si计算模块接收认证成功或者认证失败消息,如果接收到认证成功消息,将认证成功消息发送给Sj密钥管理模块;如果认证失败,将重认证消息发送给Sj密钥管理模块;
Si计算模块与Si密钥管理模块相连;Si计算模块从Si密钥管理模块接收系统参数、Si的第一部分私钥Di、Si身份标识和未签名的Si认证消息,计算出Si的公钥、Si的私钥并对未签名的Si认证消息进行签名,将Si的公钥、Si的私钥和已签名的Si认证消息发送给Si密钥管理模块;Si计算模块从Si密钥管理模块接收Sj的公钥pkj和已签名的验签成功消息,通过pkj和签名σj进行认证,并发送认证成功或者认证失败消息给Si密钥管理模块;
Sj密钥管理模块与系统参数管理模块、Sj计算模块和Si密钥管理模块相连;Sj密钥管理模块从Si密钥管理模块接收请求认证消息,发送应答认证消息给Si密钥管理模块;Sj密钥管理模块从Si密钥管理模块接收Si的公钥pki和已签名的认证消息,将pki和已签名的认证消息发送给Sj计算模块;Sj密钥管理模块从Sj计算模块接收认证成功或认证失败消息,如果认证成功,则发送未签名的验签成功消息给Sj计算模块;如果认证失败,则发送重认证消息给Si密钥管理模块;Sj密钥管理模块从系统参数管理模块接收系统参数和Sj的第一部分私钥Dj并储存,然后将系统参数、Sj的第一部分私钥Dj、Sj身份标识发送给Sj计算模块;Sj密钥管理模块从Sj计算模块接收生成的Sj的公钥pkj、Sj的私钥skj并储存,将从Sj计算模块接收到的已签名的验签成功消息发送给Si密钥管理模块;Sj密钥管理模块从Si密钥管理模块接收认证成功消息或重认证消息,如果接收到认证成功消息则完成双向认证;如果接收到重认证消息则重新发送未签名的验签成功消息给Sj计算模块;
Sj计算模块与Sj密钥管理模块相连;Sj计算模块从Sj密钥管理模块接收Si的公钥pki和已签名的Si认证消息,通过pki和签名σi进行认证,并发送认证成功或者认证失败消息给Sj密钥管理模块;Sj计算模块从Sj密钥管理模块接收系统参数、Sj的第一部分私钥Dj、Sj身份标识和未签名的验签成功消息,计算出Sj的公钥pkj、Sj的私钥skj并对未签名的验签成功消息进行签名,将Sj的公钥pkj、Sj的私钥skj和已签名的验签成功消息发送给Sj密钥管理模块;
第二步,系统参数管理模块根据安全参数生成系统参数和主密钥,方法是:
2.1系统参数管理模块从键盘获得系统管理员输入的安全参数k,k为正整数;
2.2系统参数管理模块使用k作为输入,使用BDH参数生成方法产生安全级别为k位的身份基密码学参数,包括生成元为P、阶为q的加法循环群G1,阶为q的乘法循环群G2,椭圆曲线上的双线性映射函数e(x,y):G1×G1→G2,一个哈希函数:H1(u):G1、G2为椭圆曲线上的点组成的集合;P∈G1、/> 为正整数集合;e(x,y):G1×G1→G2表示将G1中的某两个元素x,y映射到G2中的某个元素e(x,y),e(x,y)为G2中的点;H1(u):/>表示将一串长度为n的二进制字符串u映射为/>中某个正整数H1(u),n是一个变量,表示卫星身份标识ID或者卫星发送的认证消息比特数;
2.3系统参数管理模块在正整数集合Zq *中随机选取整数s,0<s<q,作为KGC的主密钥;
2.4系统参数管理模块计算系统公钥Ppub,Ppub=s×P,P是G1的生成元即原始点,Ppub为新的点,其中“·”表示G1中元素的标量乘法运算;
2.5系统参数管理模块将七元组params=<q,G1,G2,e,P,Ppub,H1>作为系统参数公开给KGC计算模块,并把s作为主密钥保存,不泄漏给卫星Si和Sj;之后将系统参数发送给Si密钥管理模块、Sj密钥管理模块;
第三步,Si密钥管理模块、Sj密钥管理模块与KGC相互配合,生成Si的第一部分私钥Di和Sj的第一部分私钥Dj,方法是:
3.1 Si密钥管理模块向Sj密钥管理模块发送请求认证消息,同时向KGC的系统参数管理模块发送与卫星Sj的认证请求;
3.2 Sj密钥管理模块向Si密钥管理模块发送应答认证消息,同时向KGC的系统参数管理模块发送与卫星Si的认证请求;
3.3 KGC的系统参数管理模块在本地检索卫星Si的身份标识IDi和Sj的身份标识IDj,若没有检索到Si或Sj的身份标识,向卫星Si和Sj发送拒绝认证请求消息,转步骤3.1;若检索到了Si和Sj的身份标识,KGC的系统参数管理模块将系统参数params和身份标识IDi和IDj发送给KGC计算模块;
3.4 KGC计算模块利用卫星的身份标识IDi和IDj生成卫星Si和Sj的初始身份标识摘要:Si的初始身份标识摘要Qi=H1(IDi),Sj的初始身份标识摘要Qj=H1(IDj);
3.5 KGC计算模块计算卫星Si的第一部分私钥Di和Sj的第一部分私钥Dj:Di=sQiP,Dj=sQjP;
3.6 KGC计算模块将Di和Dj发送给KGC的系统参数管理模块;
3.7 KGC的系统参数管理模块将Di发送给Si密钥管理模块,同时将Dj发送给Sj密钥管理模块;
第四步,Si密钥管理模块和Si计算模块相互配合,采用公钥生成方法对Si生成Si的公钥pki,方法是:
4.1 Si密钥管理模块生成未签名的Si认证消息mi,将未签名的Si认证消息mi、系统参数、Si的第一部分私钥Di和Si的身份标识IDi发送给Si计算模块;
4.2 Si计算模块随机选择一个大正整数秘密值xi
4.2 Si计算模块计算第一部分公钥Xi,Xi=xiP;
4.3 Si计算模块计算第二部分公钥Yi,Yi=xiPpub
4.4 Si计算模块将二元组(Xi,Yi)作为Si的完整公钥pki发送给Si密钥管理模块;
第五步,Si密钥管理模块和Si计算模块相互配合,采用私钥生成方法对Si生成私钥ski,方法是:
5.1 Si计算模块随机选择一个大正整数秘密值x′i
5.2 Si计算模块计算Si的第二部分私钥Zi,Zi=x′iP;
5.3 Si计算模块将二元组(Di,Zi)作为Si的完整私钥ski发送给Si密钥管理模块;
第六步,Si密钥管理模块和Si计算模块相互配合,采用签名算法对mi生成签名σi,方法是:
6.1 Si计算模块随机选择一个大正整数a;
6.2 Si计算模块计算Si的加密消息摘要Mi
6.3 Si计算模块计算卫星Si的初始身份标识摘要Qi=H1(IDi);
6.4 Si计算模块计算卫星Si的身份标识摘要签名Ni,Ni=ax′iQi
6.5 Si计算模块计算Mi的消息签名si,si=e(MiDi,Zi);
6.6 Si计算模块将二元组(Ni,si)作为mi的完整签名σi,mi附加上σi后成为已签名的Si认证消息m′i,将公钥pki、私钥ski和已签名的Si认证消息m′i发送给Si密钥管理模块;
6.7 Si密钥管理模块将公钥pki和已签名的Si认证消息m′i发送给Sj密钥管理模块;
第七步,Sj密钥管理模块和Sj计算模块相互配合,采用消息验证签名计算方法计算已签名的Si认证消息m′i的消息验证签名sj,方法是:
7.1 Sj密钥管理模块将已签名的Si认证消息m′i和公钥pki发送给Sj计算模块;
7.2 Sj计算模块计算mi'的消息摘要Mj,Mj=H1(m′i);
7.3 Sj计算模块计算消息验证签名sj,sj=e(MjNiXi,Yi),MjNiXi表示消息摘要Mj、身份标识摘要签名Ni和第一部分公钥Xi相乘;
第八步,Sj密钥管理模块和Sj计算模块相互配合,采用验证算法判定认证是否成功,方法是:
8.1 Sj计算模块验证是否si=sj,如果不相等,Sj计算模块向Sj密钥管理模块发送认证失败消息,转步骤8.2;如果相等,Sj计算模块向Sj密钥管理模块发送认证成功消息,转第九步;
8.2 Sj密钥管理模块向Si密钥管理模块发送重认证消息rm,转步骤4.1;
第九步,Sj密钥管理模块、Sj计算模块、Si密钥管理模块和Si计算模块相互配合,完成双向认证,方法是:
9.1 Sj密钥管理模块和Sj计算模块相互配合,采用第四步所述的公钥生成方法对Sj生成公钥pkj
9.2 Sj密钥管理模块和Sj计算模块相互配合,采用第五步所述的私钥生成方法对Sj生成私钥skj
9.3 Sj密钥管理模块生成未签名的验签成功消息smj,并将smj发送给Sj计算模块;
9.4 Sj密钥管理模块和Sj计算模块相互配合,采用第六步所述的签名算法生成smj的完整签名σj,σj是二元组(N′j,s'j),N'j是Sj的身份标识摘要签名,s'j是smj的消息签名;
9.5 Sj计算模块将smj附加上σj后成为已签名的验签成功消息sm'j,将公钥pkj、私钥skj和已签名的验签成功消息sm'j发送给Sj密钥管理模块;
9.6 Sj密钥管理模块将公钥pkj和已签名的验签成功消息sm'j发送给Si密钥管理模块;
9.7 Si密钥管理模块和Si计算模块相互配合,采用第七步所述的消息验证签名计算方法计算已签名的验签成功消息sm'j的消息验证签名s′i
9.8 Si密钥管理模块和Si计算模块相互配合,采用第八步所述的验证算法判定认证是否成功;如果验证失败,Si计算模块向Si密钥管理模块发送认证失败消息,转步骤9.8.1;如果验证成功,转步骤9.8.2;
9.8.1 Si密钥管理模块向Sj密钥管理模块发送重认证消息rm',转步骤9.1重新认证;
9.8.2 Si密钥管理模块向Sj密钥管理模块发送认证成功消息am,完成双向认证,结束。
2.如权利要求1所述的一种面向卫星互联网的无证书签名认证方法,其特征在于所述xi、xi'、a均为二进制160位的正整数。
CN202211303732.9A 2022-10-24 2022-10-24 一种面向卫星互联网的无证书签名认证方法 Active CN115665732B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211303732.9A CN115665732B (zh) 2022-10-24 2022-10-24 一种面向卫星互联网的无证书签名认证方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211303732.9A CN115665732B (zh) 2022-10-24 2022-10-24 一种面向卫星互联网的无证书签名认证方法

Publications (2)

Publication Number Publication Date
CN115665732A CN115665732A (zh) 2023-01-31
CN115665732B true CN115665732B (zh) 2023-10-27

Family

ID=84991358

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211303732.9A Active CN115665732B (zh) 2022-10-24 2022-10-24 一种面向卫星互联网的无证书签名认证方法

Country Status (1)

Country Link
CN (1) CN115665732B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104767612A (zh) * 2015-05-05 2015-07-08 九江学院 一种从无证书环境到公钥基础设施环境的签密方法
CN105024994A (zh) * 2015-05-29 2015-11-04 西北工业大学 无对运算的安全无证书混合签密方法
CN108989050A (zh) * 2018-08-23 2018-12-11 电子科技大学 一种无证书数字签名方法
CN113079016A (zh) * 2021-03-23 2021-07-06 中国人民解放军国防科技大学 一种面向天基网络的身份基认证方法
CN114826651A (zh) * 2022-03-08 2022-07-29 重庆邮电大学 一种面向低轨卫星网络的轻量无证书认证方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101040588B1 (ko) * 2010-12-13 2011-06-10 한국기초과학지원연구원 익명성을 제공하는 효율적인 신원기반 환서명 방법과 그 시스템

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104767612A (zh) * 2015-05-05 2015-07-08 九江学院 一种从无证书环境到公钥基础设施环境的签密方法
CN105024994A (zh) * 2015-05-29 2015-11-04 西北工业大学 无对运算的安全无证书混合签密方法
CN108989050A (zh) * 2018-08-23 2018-12-11 电子科技大学 一种无证书数字签名方法
CN113079016A (zh) * 2021-03-23 2021-07-06 中国人民解放军国防科技大学 一种面向天基网络的身份基认证方法
CN114826651A (zh) * 2022-03-08 2022-07-29 重庆邮电大学 一种面向低轨卫星网络的轻量无证书认证方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
一种面向软件定义卫星网络的轻量级快速安全认证策略;彭岩; 廖珊; 赵宝康;信息网络安全(2017年第8期);第53-59页 *

Also Published As

Publication number Publication date
CN115665732A (zh) 2023-01-31

Similar Documents

Publication Publication Date Title
JP4809598B2 (ja) 暗号システムの設計におけるアイソジャニの使用
CN110830236B (zh) 基于全域哈希的身份基加密方法
US8661240B2 (en) Joint encryption of data
US7007164B1 (en) Method and array for authenticating a first instance and a second instance
US20090232301A1 (en) Method and system for generating session key, and communication device
KR100581440B1 (ko) 겹선형쌍을 이용한 개인식별정보 기반의 대리서명 장치 및방법
CN104168114A (zh) 一种分布式的基于(k,n)门限证书加密方法及系统
CN104079412B (zh) 基于智能电网身份安全的无可信pkg的门限代理签名方法
CN104301108A (zh) 一种从基于身份环境到无证书环境的签密方法
KR20030062401A (ko) 겹선형쌍을 이용한 개인식별정보 기반의 은닉서명 장치 및방법
CN105162589A (zh) 一种基于格的可验证属性加密方法
US20150006900A1 (en) Signature protocol
Karati et al. Provably secure and authenticated data sharing protocol for IoT‐based crowdsensing network
Ming et al. Proxy signcryption scheme in the standard model
CN117879833A (zh) 一种基于改进椭圆曲线的数字签名生成方法
CN106453253A (zh) 一种高效的基于身份的匿签密方法
CN111669275B (zh) 一种无线网络环境下可选择从节点的主从协作签名方法
CN109687978B (zh) 基于私钥池和Elgamal的抗量子计算代理数字签名方法和系统
CN110740034A (zh) 基于联盟链的qkd网络认证密钥生成方法及系统
CN115665732B (zh) 一种面向卫星互联网的无证书签名认证方法
CN110247761A (zh) 一种格上支持属性撤销的密文策略属性加密方法
Zia Ullah Bashir et al. A multi recipient aggregate signcryption scheme based on elliptic curve
CN114844643A (zh) 一种基于双线性映射获取适配器签名的方法和电子设备
Elkamchouchi et al. A new proxy identity-based signcryption scheme for partial delegation of signing rights
CN109787772B (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