CN111953489A - 基于sm2算法的发电单元采集业务的密钥交换设备及方法 - Google Patents

基于sm2算法的发电单元采集业务的密钥交换设备及方法 Download PDF

Info

Publication number
CN111953489A
CN111953489A CN202010898876.8A CN202010898876A CN111953489A CN 111953489 A CN111953489 A CN 111953489A CN 202010898876 A CN202010898876 A CN 202010898876A CN 111953489 A CN111953489 A CN 111953489A
Authority
CN
China
Prior art keywords
user
result
initiator
responder
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
Application number
CN202010898876.8A
Other languages
English (en)
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.)
Jiuquan Power Supply Co Of State Grid Gansu Electric Power Co
China Electric Power Research Institute Co Ltd CEPRI
Original Assignee
Jiuquan Power Supply Co Of State Grid Gansu Electric Power Co
China Electric Power Research Institute Co Ltd CEPRI
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 Jiuquan Power Supply Co Of State Grid Gansu Electric Power Co, China Electric Power Research Institute Co Ltd CEPRI filed Critical Jiuquan Power Supply Co Of State Grid Gansu Electric Power Co
Priority to CN202010898876.8A priority Critical patent/CN111953489A/zh
Publication of CN111953489A publication Critical patent/CN111953489A/zh
Pending legal-status Critical Current

Links

Images

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/0825Key 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 asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • 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/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public 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
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明公开了一种基于SM2算法的发电单元采集业务的密钥交换设备及方法,所述方法基于SM2设计安全通信协议,在采集终端和站控层建立安全加密通道,实现光伏电站采集终端与站控层监控系统通信的网络通道安全防护与通信的安全接入。本发明通过研究现有的DH密钥交换协议和ECDH密钥交换协议,在保证密钥交换的安全的情况下,提出了一种适用于光伏电站发电单元采集业务的基于SM2算法的改进的密钥交换协议。在SM2的ECDH密钥交换协议的算法中,发起方用户和响应方用户可以在不安全的通信信道上通过ECDH交换得到一个共享的密钥,在密钥交换过程中无需将所有信息相互传递。

Description

基于SM2算法的发电单元采集业务的密钥交换设备及方法
【技术领域】
本发明属于网络通讯技术领域,涉及一种基于SM2算法的发电单元采集业务的密钥交换设备及方法。
【背景技术】
DH(Diffie-Hellman)密钥交换:DH密钥交换是1976年由Diffie和Hellman共同发明的一种算法。使用这种算法,通信双方仅通过交换一些可以公开的信息就能够生成出共享的密码数字,而这一密码数字就可以被用作对称密码的密钥。IPsec中就使用了经过改良的DH密钥交换。
ECDH密钥交换:ECC(椭圆曲线)加密算法和DH结合使用,用于密钥协商,这个密钥交换算法称为ECDH。交换双方可以在不共享任何秘密的情况下协商出一个密钥。ECC是建立在基于椭圆曲线的离散对数问题上的密码体制,给定椭圆曲线上的一个点P,一个整数k,求解Q=kP很容易;给定一个点P、Q,知道Q=kP,求整数k相对困难。ECDH即建立在此数学难题之上。
通信通道的安全主要通过基于SM2的ECDH安全密钥交换协议以及基于数字证书技术的双向身份认证协议来保证。通信的双方首先根据身份认证协议互相验证对方的合法性,保证只有合法终端才能建立通信通道,在此基础上利用密钥交换协议生成一个安全的对称加密密钥并利用产生的密钥对传输通道进行加密,防止数据在传输过程中被窃听、篡改、破坏、插入重放攻击,保证数据传输的安全。密钥交换协议主要基于国密算法中的对称加密算法、非对称加密算法和消息摘要算法来实现。
目前现有的方案为基于ECDH安全密钥交换协议以及基于数字证书技术的双向身份认证协议的通信;该方案的问题在于:采集业务中终端的计算能力有限,在密钥交换过程中无需将所有信息相互传递,基于ECDH安全密钥交换协议以及基于数字证书技术的双向身份认证协议的通信消耗计算资源过大,实用性不高。
【发明内容】
本发明的目的在于解决现有技术中的问题,提供一种基于SM2算法的发电单元采集业务的密钥交换设备及方法,该方法基于SM2设计安全通信协议,在采集终端和站控层建立安全加密通道,实现光伏电站采集终端与站控层监控系统通信的网络通道安全防护与通信的安全接入。
为达到上述目的,本发明采用以下技术方案予以实现:
一种基于SM2算法的发电单元采集业务的密钥交换设备,所述设备设置于具有网络接入能力的终端设备中,所述终端设备被作为密钥交换过程中的发起方或者响应方,所述设备包括:
存储模块,用于存储发起方用户的私钥dA和响应方用户的私钥dB
第一运算模块,用于在接收到发起方用户的随机数rA和会话可辨别标识Se后,对随机数rA、会话可辨别标识Se以及发起方用户的可辨别标识IDA做连接运算,得到结果A2;对A2进行Hash运算得到结果A3;利用发起方用户的私钥dA对A3进行加密运算,得到结果A4;对A2和A4进行连接运算,得到结果A5;将A5发送给响应方用户;
第二运算模块,用于在接收到发起方用户的报文和响应方用户的随机数rB后;对响应方用户的随机数rB、会话可辨标识Se、响应方用户的可辨标识IDB以及响应方用户计算的响应值SB进行连接运算,得到结果B5;对B5进行Hash运算,得到结果B6;利用响应方用户的私钥dB对B6进行加密运算,得到结果B7;对B5和B7进行连接运算,得到结果B8;将B8发送给发起方用户。
本发明进一步的改进在于:
所述发起方用户的报文为第二运算模块验签后得到发起方用户的随机数rA、会话可辨别标识Se和发起方用户的可辨标识IDA
所述响应方用户的报文为第三运算模块验签后得到响应方用户的随机数rB、响应方用户的可辨标识IDB和SB
一种基于SM2算法的发电单元采集业务的密钥交换方法,所述方法在具有网络接入能力的终端设备中执行,所述终端设备被作为密钥交换过程中的发起方或者响应方,所述方法包括以下步骤:
步骤1,在接收到发起方用户的随机数rA和会话可辨别标识Se后,对随机数rA、会话可辨别标识Se以及发起方用户的可辨标识IDA进行第一次连接运算,得到结果A2=rA||Se||IDA;对A2进行Hash运算得到结果A3=H(rA||Se||IDA);利用发起方用户的私钥dA对A3进行加密运算,得到结果
Figure BDA0002659330570000031
对A2和A4进行第二次连接运算,得到结果
Figure BDA0002659330570000032
将A5发送给响应方用户;
步骤2,在接收到发起方用户的报文和响应方用户的随机数rB后,对响应方用户的随机数rB、会话可辨标识Se、响应方用户的可辨标识IDB以及SB进行连接运算,得到结果B5=rB||Se||IDB||SB;对B5进行Hash运算,得到结果B6=H(rB||Se||IDB||SB);利用响应方用户的私钥dB对B6进行加密运算,得到结果
Figure BDA0002659330570000033
对B5和B7进行连接运算,得到结果
Figure BDA0002659330570000034
将B8发送给发起方用户。
上述方法进一步的改进在于:
所述步骤1中,作为密钥发起方的终端设备A产生随机数rA和会话可辨别标识Se,终端设备A对随机数rA、会话可辨别标识Se和发起方用户的可辨标识IDA做第一次连接运算,得到结果A2,接着依次进行Hash运算、加密运算以及第二次连接运算,最终将结果A5发送给作为密钥响应方的终端设备B。
响应方用户的终端设备B验签后得到发起方用户发送的报文。
所述步骤2具体如下:
终端设备B接收终端设备A发送的报文,并产生随机数rB,利用式(1)和式(2)分别计算发起方用户的原始数据ZA和响应方用户的原始数据ZB
ZA=H(IDA||Xn||PA||rA) (1)
ZB=H(IDB||Xn||PB||rB) (2)
其中,Xn为部分椭圆曲线系统参数,PA为发起方用户的公钥;IDB为响应方用户的可辨别标识,PB为发起方用户的公钥,响应方用户的随机数rB
再将发起方用户的原始数据ZA和响应方用户的原始数据ZB代入带入椭圆曲线方程,经计算确认发起方用户和响应方用户的身份合法后,生成会话密钥K。
一种计算设备,包括:
存储器,用于存储计算机程序指令;
处理器,用于执行所述存储器中存储的计算机程序指令,所述计算机程序指令在由所述处理器执行时实现上述方法的步骤。
一种可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在由所述处理器执行时实现上述方法的步骤。
与现有技术相比,本发明具有以下有益效果:
本发明通过研究现有的DH密钥交换协议和ECDH密钥交换协议,在保证密钥交换的安全的情况下,提出了一种适用于光伏电站发电单元采集业务的基于SM2算法的改进的密钥交换协议。本发明在建立安全隧道时,需要通信的双方首先完成身份认证以及密钥协商,只有完成了身份认证的终端,服务端才允许其进行下一步操作,对于不满足密钥协商规范或未完成身份认证的终端,服务端需将发送错误码到终端,加密认证装置重新进行身份认证;本发明在SM2的ECDH密钥交换协议的算法中,发起方用户和响应方用户可以在不安全的通信信道上通过ECDH交换得到一个共享的密钥,在密钥交换过程中无需将所有信息相互传递。解决了现有技术中通信消耗计算资源过大的问题。
【附图说明】
为了更清楚的说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明的密钥交换方法的示意图;
图2为Diffie-Hellman(DH)密钥交换过程示意图;
图3为SM2 ECDH密钥交换协议示意图。
【具体实施方式】
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本发明实施例的描述中,需要说明的是,若出现术语“上”、“下”、“水平”、“内”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
此外,若出现术语“水平”,并不表示要求部件绝对水平,而是可以稍微倾斜。如“水平”仅仅是指其方向相对“竖直”而言更加水平,并不是表示该结构一定要完全水平,而是可以稍微倾斜。
在本发明实施例的描述中,还需要说明的是,除非另有明确的规定和限定,若出现术语“设置”、“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
下面结合附图对本发明做进一步详细描述:
参见图1,本发明基于SM2算法的发电单元采集业务的密钥交换方法,包括以下步骤:
发起方用户:
A1:发起方用户产生随机数rA(32字节),会话可辨别标识Se(16字节)。
A2:对随机数rA、会话可辨别标识Se和IDA做连接运算,得到A2=rA||Se||IDA(64字节)。
A3:对连接结果进行Hash运算,得到A3=H(rA||Se||IDA)(32字节)。
A4:利用发起方用户的私钥dA对A3签名,得到
Figure BDA0002659330570000071
(64字节),
A5:连接A2||A4,得到
Figure BDA0002659330570000072
(128字节)。
A6:将A5发送到响应方用户。
响应方用户:
B1:得到发起方用户的报文,验签得到发起方用户的随机数rA、会话可辨别标识Se和IDA
B2:响应方用户生成随机数rB(32字节)。
B3:计算ZA,ZB(都是32字节)。ZA为发起方用户的可辨别标识、部分椭圆曲线系统参数、发起方用户公钥和随机数rA的杂凑值;ZB为响应方用户的可辨别标识、部分椭圆曲线系统参数、响应方用户公钥和随机数rB的杂凑值;
B4:生成会话密钥K(16字节),SB(32字节),S2(32字节)。
B5:连接随机数rB、会话可辨标识Se、IDB和SB,得到B5=rB||Se||IDB||SB(96字节)。
B6:对连接结果进行Hash运算,得到B6=H(rB||Se||IDB||SB)(32字节)
B7:利用响应方用户的私钥dB对B6签名,得到
Figure BDA0002659330570000081
(64字节)。
B8:连接B5||B7,得到
Figure BDA0002659330570000082
B9:将B8发送到发起方用户。
发起方用户:
A8:得到B发送的报文,验签得到信息:随机数rB,IDB和SB
A9:计算ZA,ZB
A10:生成会话密钥K,S1。
A11:比较S1和SB
A12:生成SA并发送给B。
本发明判断协商是否成功的具体方法如下:
比较密钥发起方的终端设备A计算的验证值S1和密钥响应方的终端设备B计算的响应值SB,若二者相等,终端设备A计算响应值SA并发送给终端设备B;否则协商失败;
比较终端设备B计算的验证值S2和终端设备A计算的响应值SA,若二者相等,则协商成功;否则协商失败;
其中,终端设备A计算的验证值S1=Hash(0x02||yU||ZA||ZB||x1||x2||y1||y2);
终端设备B计算的验证值S2=Hash(0x03||yV||Hash(xV||ZA||ZB||x1||x2||y1||y2));
终端设备A计算的响应值SA=Hash(0x03||yU||Hash(xU||ZA||ZB||x1||x2||y1||y2));
终端设备B用户计算的响应值SB=Hash(0x02||yV||ZA||ZB||x1||x2||y1||y2)。
本发明的原理:
安全隧道的建立时需要通信的双方首先完成身份认证以及密钥协商,只有完成了身份认证的终端,服务端才允许其进行下一步操作,对于不满足密钥协商规范或未完成身份认证的终端,服务端需将发送错误码到终端,加密认证装置重新进行身份认证。
DH密钥交换协议
Diffie-Hellman(DH)密钥交换是W.Diffie和M.Hellman与1976年提出的第一个公钥密码算法,已经在很多商业产品中得以应用。算法的唯一目的是使得两个用户能够安全地交换密钥,得到一个共享的会话密钥,算法本身不能用于加、解密。
图2表示Diffie-Hellman(DH)密钥交换过程,其中p是大素数,a是p的本原根,p和a作为公开的全程元素。用户A选择一个保密的随机整数XA,并将
Figure BDA0002659330570000091
发送给用户B。类似地,用户B选择一个保密的随机整数XB,并将
Figure BDA0002659330570000092
发送给用户A。然后A和B分别由
Figure BDA0002659330570000093
Figure BDA0002659330570000094
计算出的就是共享密钥,这是因为:
Figure BDA0002659330570000095
由上面分析可知,XA、XB是保密的攻击者能得到p、a、YA、YB,但要想得到K,则必须得到XA、XB中的一个,意味着需要求离散对数。因此敌手求K是不可行的。
ECDH密钥交换协议
ECDH是指在椭圆曲线算法上的DH密钥交换协议的具体实现,具体描述如下:
通信双方A和B选择并公开一组系统参数(q,Fq,E,P,n):q∈{p,2m},p为大素数,有限域为Fq,其上的安全椭圆曲线群为E,以及某个阶为大素数n的基点P∈E(Fq)。
用户A随机地选择rA,计算QA=rAP,其中1≤rA≤n-1。A→B:QA
用户B随机地选择rB,计算QB=rBP,其中1≤rB≤n-1。B→A:QB
用户A收到B发送来的QB后计算:rAQB=rArBP。
用户B收到A发送来的QA后计算:rBQA=rBrAP=rArBP。
于是通信双方A和B就共享了会话密钥KAB=rArBP。如果攻击者可以窃听,则他可以从公开信道上截获消息P、QA=rAP和QB=rBP,为了获取会话密钥KAB,攻击者必须由P、QA和QB求出随机数rA或者rB,而这将面临椭圆曲线上的离散对数难题,因此该协议具有较强的安全基础,但是缺陷是不能抵御中间人攻击。
SM2的ECDH密钥交换协议的研究
如图3所示,SM2算法本质上是一种椭圆曲线算法(ECC),在细节上,SM2算法规定了签名、验证、密钥交换等具体细节。基于SM2的ECDH密钥交换算法如下:
设用户A和B协商获得密钥数据的长度为klen比特,用户A为发起方,用户B为响应方。记
Figure BDA0002659330570000101
用户A和B双方为了获得相同的密钥,应实现如下运算步骤:
用户A:
A1:用随机数发生器产生随机数rA∈[1,n-1];
A2:计算椭圆曲线点RA=[rA]G=(x1,y1);
A3:将RA发送给用户B;
用户B:
B1:用随机数发生器产生随机数rB∈[1,n-1];
B2:计算椭圆曲线点RB=[rB]G=(x2,y2);
B3:从RB中取出域元素x2,将x2的数据类型转换为整数,计算
Figure BDA0002659330570000111
B4:计算
Figure BDA0002659330570000112
B5:验证RA是否满足椭圆曲线方程,若不满足则协商失败;否则从RA中取出域元素x1,计算
Figure BDA0002659330570000113
B6:计算椭圆曲线点
Figure BDA0002659330570000114
若V是无穷远点,则B协商失败;
B7:计算KB=KDF(xV||yV||ZA||ZB,klen)
B8:将RA的坐标x1、y1和RB的坐标x2、y2的数据类型转换为比特串,计算SB=Hash(0x02||yV||Hash(xV||ZA||ZB||x1||x2||y1||y2));
B9:将RB、(选项SB)发送给用户A;
用户A:
A4:从RA中取出域元素x1,计算
Figure BDA0002659330570000115
A5:计算
Figure BDA0002659330570000116
A6:验证RB是否满足椭圆曲线方程,若不满足则协商失败;否则从RB中取出域元素x2,计算
Figure BDA0002659330570000117
A7:计算椭圆曲线点
Figure BDA0002659330570000118
若U是无穷远点,则A协商失败;
A8:计算KA=KDF(xU||yU||ZA||ZB,klen);
A9:将RA的坐标x1、y1和RB的坐标x2、y2的数据类型转换为比特串,计算S1=Hash(0x02||yU||ZA||ZB||x1||x2||y1||y2),并检验S1=SB是否成立,若等式不成立则从B到A的密钥确认失败;
A10:(选项)计算SA=Hash(0x03||yU||Hash(xU||ZA||ZB||x1||x2||y1||y2)),并将SA发送给用户B。
用户B:
B10:(选项)计算S2=Hash(0x03||yV||Hash(xV||ZA||ZB||x1||x2||y1||y2)),并检验S2=SA是否成立,若等式不成立则从A到B的密钥确认失败。
本发明提供一种计算设备。该实施例的计算设备包括:处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,例如上述密钥交换的程序。所述处理器执行所述计算机程序时实现上述各个密钥交换方法实施例中的步骤,例如图3所示的步骤。或者,所述处理器执行所述计算机程序时实现上述各装置实施例中各模块/单元的功能。
所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器中,并由所述处理器执行,以完成本发明。
所述计算设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算设备可包括,但不仅限于,处理器、存储器。
所述处理器可以是中央处理单元(CentralProcessingUnit,CPU),还可以是其他通用处理器、数字信号处理器(DigitalSignalProcessor,DSP)、专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC)、现成可编程门阵列(Field-ProgrammableGateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述计算设备的各种功能。
所述计算设备集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种基于SM2算法的发电单元采集业务的密钥交换设备,其特征在于,包括:
存储模块,用于存储发起方用户的私钥和响应方用户的私钥;
第一运算模块,用于在接收到发起方用户的随机数和会话可辨别标识后,对随机数、会话可辨别标识以及发起方用户的可辨别标识进行第一次连接运算,得到第一次连接运算的结果A2;对A2进行Hash运算,得到Hash运算结果A3;利用发起方用户的私钥对A3进行加密运算,得到加密运算结果A4;对A2和A4进行第二次连接运算,得到第二次连接运算结果A5;将A5发送给响应方用户;
第二运算模块,用于在接收到发起方用户的报文和响应方用户的随机数后;对发起方用户的报文以及响应方用户计算的响应值进行第一次连接运算,得到第一次连接运算结果B5;对B5进行Hash运算,得到Hash运算结果B6;利用响应方用户的私钥对B6进行加密运算,得到加密运算结果B7;对B5和B7进行第二次连接运算,得到第二次连接运算结果B8;将B8发送给发起方用户。
2.根据权利要求1所述的基于SM2算法的发电单元采集业务的密钥交换设备,其特征在于,所述发起方用户的报文为第二运算模块验签后得到发起方用户的随机数rA、会话可辨别标识Se和发起方用户的可辨标识IDA
3.一种基于SM2算法的发电单元采集业务的密钥交换方法,其特征在于,包括以下步骤:
步骤1,对发起方用户的报文进行第一次连接运算,利用发起方用户的私钥对第一次连接运算的结果进行加密运算,将第一次连接运算的结果与加密运算的结果进行第二次连接运算,将第二次连接运算的结果发送给响应方用户;
步骤2,对发起方用户的报文以及响应方用户计算的响应值进行第一次连接运算,利用响应方用户的私钥对第一次连接运算的结果进行加密运算,将第一次连接运算的结果与加密运算的结果进行第二次连接运算,将第二次连接运算的结果发送给发起方用户。
4.根据权利要求3所述的基于SM2算法的发电单元采集业务的密钥交换方法,其特征在于,步骤1具体如下:
在接收到发起方用户的随机数rA和会话可辨别标识Se后,对随机数rA、会话可辨别标识Se以及发起方用户的可辨标识IDA进行第一次连接运算,得到第一次连接运算的结果A2=rA||Se||IDA;对A2进行Hash运算,得到Hash运算的结果A3=H(rA||Se||IDA);利用发起方用户的私钥dA对A3进行加密运算,得到加密运算的结果
Figure FDA0002659330560000021
对A2和A4进行第二次连接运算,得到第二次连接运算的结果
Figure FDA0002659330560000022
将A5发送给响应方用户。
5.根据权利要求3或4所述的基于SM2算法的发电单元采集业务的密钥交换方法,其特征在于,步骤2具体如下:
在接收到发起方用户的报文和响应方用户的随机数rB后,对响应方用户的随机数rB、会话可辨标识Se、响应方用户的可辨标识IDB以及SB进行第一次连接运算,得到第一次连接的结果B5=rB||Se||IDB||SB;对B5进行Hash运算,得到Hash运算的结果B6=H(rB||Se||IDB||SB);利用响应方用户的私钥dB对B6进行加密运算,得到加密运算的结果
Figure FDA0002659330560000023
对B5和B7进行第二次连接运算,得到第二次连接运算的结果
Figure FDA0002659330560000024
将B8发送给发起方用户。
6.根据权利要求5所述的基于SM2算法的发电单元采集业务的密钥交换方法,其特征在于,所述步骤1中,作为密钥发起方的终端设备产生随机数rA和会话可辨别标识Se,密钥发起方的终端设备对随机数rA、会话可辨别标识Se和发起方用户的可辨标识IDA做第一次连接运算,得到结果A2,接着依次进行Hash运算、加密运算以及第二次连接运算,最终将结果A5发送给作为密钥响应方的终端设备。
7.根据权利要求6所述的基于SM2算法的发电单元采集业务的密钥交换方法,其特征在于,响应方用户的终端设备验签后得到发起方用户发送的报文。
8.根据权利要求6所述的基于SM2算法的发电单元采集业务的密钥交换方法,其特征在于,作为密钥响应方的终端设备接收作为密钥发起方的终端设备发送的报文,并产生随机数rB,利用式(1)和式(2)分别计算发起方用户的原始数据ZA和响应方用户的原始数据ZB
ZA=H(IDA||Xn||PA||rA) (1)
ZB=H(IDB||Xn||PB||rB) (2)
其中,Xn为部分椭圆曲线系统参数,PA为发起方用户的公钥;IDB为响应方用户的可辨别标识,PB为发起方用户的公钥,响应方用户的随机数rB
再将发起方用户的原始数据ZA和响应方用户的原始数据ZB代入带入椭圆曲线方程,经计算确认发起方用户和响应方用户的身份合法后,生成会话密钥K。
9.一种计算设备,包括:
存储器,用于存储计算机程序指令;
处理器,用于执行所述存储器中存储的计算机程序指令,其特征在于,所述计算机程序指令在由所述处理器执行时实现上述权利要求4-8中任一权利要求中的步骤。
10.一种可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令在由所述处理器执行时实现上述权利要求4-8中任一权利要求中的步骤。
CN202010898876.8A 2020-08-31 2020-08-31 基于sm2算法的发电单元采集业务的密钥交换设备及方法 Pending CN111953489A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010898876.8A CN111953489A (zh) 2020-08-31 2020-08-31 基于sm2算法的发电单元采集业务的密钥交换设备及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010898876.8A CN111953489A (zh) 2020-08-31 2020-08-31 基于sm2算法的发电单元采集业务的密钥交换设备及方法

Publications (1)

Publication Number Publication Date
CN111953489A true CN111953489A (zh) 2020-11-17

Family

ID=73367700

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010898876.8A Pending CN111953489A (zh) 2020-08-31 2020-08-31 基于sm2算法的发电单元采集业务的密钥交换设备及方法

Country Status (1)

Country Link
CN (1) CN111953489A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113572607A (zh) * 2021-08-11 2021-10-29 太原理工大学 一种采用非平衡sm2密钥交换算法的安全通信方法
CN117435226A (zh) * 2023-12-22 2024-01-23 深圳市法本信息技术股份有限公司 车载电子控制单元的数据刷写方法、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102412971A (zh) * 2011-11-30 2012-04-11 西安西电捷通无线网络通信股份有限公司 基于sm2密钥交换协议的密钥协商方法及装置
CN107959725A (zh) * 2017-12-14 2018-04-24 浙江工商大学 基于椭圆曲线的考虑用户隐私的发布-订阅类服务协议
CN109088870A (zh) * 2018-08-14 2018-12-25 国网甘肃省电力公司电力科学研究院 一种新能源厂站发电单元采集终端安全接入平台的方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102412971A (zh) * 2011-11-30 2012-04-11 西安西电捷通无线网络通信股份有限公司 基于sm2密钥交换协议的密钥协商方法及装置
CN107959725A (zh) * 2017-12-14 2018-04-24 浙江工商大学 基于椭圆曲线的考虑用户隐私的发布-订阅类服务协议
CN109088870A (zh) * 2018-08-14 2018-12-25 国网甘肃省电力公司电力科学研究院 一种新能源厂站发电单元采集终端安全接入平台的方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
闵云浪, 《中国优秀硕士学位论文全文数据库 工程科技Ⅱ辑》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113572607A (zh) * 2021-08-11 2021-10-29 太原理工大学 一种采用非平衡sm2密钥交换算法的安全通信方法
CN117435226A (zh) * 2023-12-22 2024-01-23 深圳市法本信息技术股份有限公司 车载电子控制单元的数据刷写方法、设备及存储介质
CN117435226B (zh) * 2023-12-22 2024-04-16 深圳市法本信息技术股份有限公司 车载电子控制单元的数据刷写方法、设备及存储介质

Similar Documents

Publication Publication Date Title
CN108667626B (zh) 安全的两方协作sm2签名方法
CN108111301B (zh) 基于后量子密钥交换实现ssh协议的方法及其系统
CN107483212B (zh) 一种双方协作生成数字签名的方法
CN110011795B (zh) 基于区块链的对称群组密钥协商方法
US8422670B2 (en) Password authentication method
CN114710275B (zh) 物联网环境下基于区块链的跨域认证和密钥协商方法
CN111756529B (zh) 一种量子会话密钥分发方法及系统
CN110535626B (zh) 基于身份的量子通信服务站保密通信方法和系统
CN111953489A (zh) 基于sm2算法的发电单元采集业务的密钥交换设备及方法
Limkar et al. A mechanism to ensure identity-based anonymity and authentication for IoT infrastructure using cryptography
CN117155564A (zh) 一种双向加密认证系统及方法
CN118018187B (zh) 一种基于sm9协同算法的代理重加密方法
WO2022135391A1 (zh) 身份鉴别方法、装置、存储介质、程序、及程序产品
CN118381608A (zh) 一种基于带外量子密钥的噪声协议实现方法及装置
WO2020042023A1 (zh) 一种即时通信的数据加密方法及装置
CN111756537B (zh) 基于sm2标准的两方协同解密方法、系统及存储介质
CN116599659B (zh) 无证书身份认证与密钥协商方法以及系统
WO2018047132A1 (en) A system and method for authentication and secure communication
Liu et al. pKAS: A Secure Password‐Based Key Agreement Scheme for the Edge Cloud
CN114095229B (zh) 能源互联网的数据传输协议构建方法、装置和系统
CN114070570B (zh) 一种电力物联网的安全通信方法
WO2022135393A1 (zh) 身份鉴别方法、鉴别接入控制器、请求设备、鉴别服务器、存储介质、程序、及程序产品
CN115459975A (zh) 一种基于Chebyshev多项式的工业边缘设备无证书接入认证方法
CN112787819B (zh) 一种工业控制安全通信系统及通信方法
GB2604857A (en) Devices and methods for performing cryptographic handshaking

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