CN112165386B - 一种基于ecdsa的数据加密方法及*** - Google Patents

一种基于ecdsa的数据加密方法及*** Download PDF

Info

Publication number
CN112165386B
CN112165386B CN202011003219.9A CN202011003219A CN112165386B CN 112165386 B CN112165386 B CN 112165386B CN 202011003219 A CN202011003219 A CN 202011003219A CN 112165386 B CN112165386 B CN 112165386B
Authority
CN
China
Prior art keywords
communication terminal
key
data
communication
ciphertext data
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
CN202011003219.9A
Other languages
English (en)
Other versions
CN112165386A (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.)
Shenzhen M&w Smart Card Co ltd
Original Assignee
Shenzhen M&w Smart Card 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 Shenzhen M&w Smart Card Co ltd filed Critical Shenzhen M&w Smart Card Co ltd
Priority to CN202011003219.9A priority Critical patent/CN112165386B/zh
Publication of CN112165386A publication Critical patent/CN112165386A/zh
Application granted granted Critical
Publication of CN112165386B publication Critical patent/CN112165386B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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/3263Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • 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/3236Cryptographic 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 using cryptographic hash functions
    • H04L9/3242Cryptographic 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 using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • 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
    • H04L9/3252Cryptographic 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 using DSA or related signature schemes, e.g. elliptic based signatures, ElGamal or Schnorr schemes

Landscapes

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

Abstract

本申请涉及一种基于ECDSA的数据加密方法及***,其包括:基于硬件噪声生成真随机数数据库;第一通信终端向第二通信终端发送交互通信请求,从真随机数数据库获取第一真随机数作为第一私钥,根据预置ECDSA算法及所述第一私钥,计算得到第一公钥;所述第二通信终端从真随机数数据库获取第二真随机数作为第二私钥;根据预置ECDSA算法及所述第二私钥,计算得到第二公钥;第一通信终端基于第一私钥与第二公钥,第二通信终端基于第二私钥与第一公钥,按预置ECDSA计算得到第一会话秘钥和第二会话秘钥,且第二会话秘钥与第一会话秘钥相同,即两通信终端之间的共享秘钥;第一通信终端和第二通信终端建立交互通信。本申请提高会话秘钥密文数据的破密难度。

Description

一种基于ECDSA的数据加密方法及***
技术领域
本申请涉及电子加密技术领域,尤其是涉及一种基于ECDSA的数据加密方法及***。
背景技术
目前,随着信息安全事业的发展,对PKI(Public-Key-Infrastructure)公钥基础设施***的需求越来越多,使用领域越来越广。PKI是一种遵循国际标准的利用公钥加密技术为电子通信的开展提供一套安全基础平台的技术和规范。用户可利用PKI平台提供的服务进行安全通信,而用户的识别在PKI平台上是采用授权证书的方式,因此授权证书的安全存放非常重要。在电子商务和电子政务领域,为了安全存放授权证书,其客户端往往采用电子钥匙来存放证书。
现有的金融PKI体系中,公钥证书就是一个用户的身份与其所持有的公钥的结合,在结合之前由一个可信任的权威机构CA来证实用户的身份,然后其对该用户身份及对应公钥相结合的证书进行数字签名,以证明其证书的有效性。PKI必须具有权威认证机构CA在公钥加密技术基础上对证书的产生、管理、存档、发放以及作废进行管理的功能,包括实现这些功能的全部硬件、软件、人力资源、相关政策和操作程序,以及为PKI体系中的各成员提供全部的安全服务。无线局域网也出现了对公钥算法的需求。无线局域网标准IEEE802.11中为解决安全问题提出了WEP 协议,对无线传输的数据进行加密的方式,用以防止非法用户窃听或侵入无线网络。但是由于设计上的失误,WEP协议无法实现其应有的安全目标。
发明内容
为了解决非法用户窃听或侵入无线网络的技术问题,本申请提供一种基于ECDSA的数据加密方法及***。
第一方面,本申请提供的一种基于ECDSA的数据加密方法,采用如下的技术方案:
一种基于ECDSA的数据加密方法,包括:
服务器基于硬件噪声生成真随机数数据库;
第一通信终端向第二通信终端发送交互通信请求,同时向所述服务器发送私钥生成请求,从所述真随机数数据库获取第一真随机数作为第一私钥;
所述第一通信终端根据预置ECDSA算法及所述第一私钥,计算得到第一公钥;
所述第二通信终端向所述服务器发送私钥生成请求,从所述真随机数数据库获取第二真随机数作为第二私钥;
所述第二通信终端根据预置ECDSA算法及所述第二私钥,计算得到第二公钥;
所述第一通信终端基于第一私钥与第二公钥,按预置ECDSA计算得到第一会话秘钥,所述第二通信终端基于第二私钥与第一公钥,按预置ECDSA计算得到第二会话秘钥,且所述第二会话秘钥与第一会话秘钥相同,得到所述第一通信终端与第二通信终端之间的共享秘钥;
所述第一通信终端和第二通信终端建立交互通信,所述交互通信包括授权证书检验与数据加密通信。
通过采用上述技术方案,由服务器基于硬件噪声生成真随机数数据库,保证每次生成数据的随机性,第一通信终端或第二通信从真随机数数据库提取真随机数作为私钥,保证第一通信终端与第二通信终端对应的私钥不同,然后按ECDSA算法分别求得第一通信终端或第二通信终端的公钥,利用ECDSA算法的防破密性高特点,保证第一通信终端与第二通信终端的密钥对安全性,再根据ECDSA算法,计算获得第一通信终端与第二通信终端之间的共享秘钥,并基于会话秘钥对通信数据进行加密,防止通讯数据被破密篡改,提高通讯安全。
优选的,所述授权证书检验包括:
所述第一通信终端和第二通信终端向所述服务器发送交互请求及所述授权证书,所述交互请求包括第一通信终端或第二通信终端对应地址信息、密码协议版本号以及初始化密码参数;
所述CA服务器接收所述交互请求,检验所述授权证书是否存在授权标识;
若是,则判定所述授权证书合法,建立所述第一通信终端与第二通信终端的交互通信。
通过采用上述技术方案,基于第一通信终端及第二通信终端的授权证书,检验授权证书进而判断第一通信终端及第二通信终端是否为合法设备,根据判断结果确定第一通信终端与第二通信终端能否建立交互通信,避免出现第一通信终端以及第二通信终端之间的安全通信。
优选的,授权证书的生成包括:
所述第一通信终端与第二通信终端将对应的设备信息及公钥发送至预置CA服务器;
所述CA服务器基于所述设备信息及公钥,生成所述第一通信终端与第二通信终端的授权证书并分别发送至所述第一通信终端与第二通信终端,所述授权证书至少包括所述CA服务器的授权标识;
所述第一通信终端与第二通信终端分别将所述授权证书存在到预置存储位置。
通过采用上述技术方案,建立CA服务器,获取通信终端的设备信息及公钥,生成相应的授权证书,并将授权证书分发给通信终端,为后续判定接入设备是否为合法设备提供依据。
优选的,所述数据加密通信包括:
基于所述第一通信终端和第二通信终端对应的地址信息,建立交互通信;
所述第一通信终端基于所述会话秘钥,按预置分组加密算法对待发送数据进行加密处理,得到密文数据;
所述第一通信终端将所述密文数据发送至所述第二通信终端;
所述第二通信终端基于所述会话秘钥,按预置分组加密算法对所述密文数据进行解密,得到所述密文数据对应的明文数据。
通过采用上述技术方案,基于第一通信终端以及第二通信终端的Mac地址,建立交互通信,然后使用分组加密算法及会话秘钥,将第一通信终端以及第二通信终端之间的通信数据以密文形式传输,保证第一通信终端与第二通信终端的通讯数据安全。
优选的,所述数据加密通信包括:
所述第一通信终端使用所述会话秘钥对待发送数据进行加密处理,得到密文数据;
所述第一通信终端基于所述会话秘钥,计算所述密文数据的第一Mac值,Mac值为消息认证码;
所述第一通信终端将所述密文数据及第一MAC值发送至所述第二通信终端;
所述第二通信终端接收所述密文数据及所述第一Mac值,并基于所述会话秘钥计算所述密文数据的第二Mac值;
检验所述第一Mac值与第二Mac值是否相等,若相等,则确定所述密文数据为所述第一通信终端发送,若不相等,则确定所述密文数据不为所述第一通信终端发送。
通过采用上述技术方案,第一通信终端基于共享秘钥,将待发送数据加密为密文数据,通过会话秘钥计算密文数据的第一Mac值,并将密文数据及第一Mac值发送到第二通信终端,第二通信终端基于会话秘钥计算所接收到的密文数据对应第二Mac值,根据第一Mac值和第二Mac值,判断接收到的数据是否无误,为确定数据完整性提供判断依据。
优选的,所述数据加密通信包括:
所述第一通信终端通过所述会话秘钥对会话数据进行加密,得到密文数据;
所述第一通信终端基于预置哈希函数,对所述密文数据及所述会话秘钥的数据集进行哈希处理,得到第一哈希值;
所述第一通信终端将所述密文数据及第一哈希值发送至所述第二通信终端;
所述第二通信终端将所述会话秘钥与所述密文数据的数据集进行哈希处理,得到第二哈希值;
所述第二通信终端判断所述第二哈希值与所述第一哈希值是否相等,若相等,则判断所述密文数据完整,若不相等,则判断所述密文数据不完整并通知第一通信终端。
通过采用上述技术方案,第一通信终端基于会话秘钥,将待发送数据加密为密文数据,通过预置哈希函数计算密文数据的第一哈希值,并将密文数据及第一哈希值发送到第二通信终端,第二通信终端预置哈希函数计算所接收到的密文数据对应第二哈希值,根据第一哈希值和第二哈希值,判断接收到的数据是否无误,为确定数据完整性提供判断依据。
优选的,所述会话秘钥计算公式如下:
Figure 238659DEST_PATH_IMAGE001
Figure 811592DEST_PATH_IMAGE002
Figure 745656DEST_PATH_IMAGE003
其中,
Figure 265499DEST_PATH_IMAGE004
分别为第一通信终端和第二通信终端的会话秘钥,A、a分别为第一通信终端的公钥和私钥,B、b分别为第二通信终端的公钥和私钥。
通过采用上述技术方案,计算获得会话秘钥,为通信双方的数据加密,保证通信双方的数据安全。
优选的,所述基于预置哈希函数,对所述密文数据及所述会话秘钥一起进行哈希处理,具体计算公式如下:
Figure 565025DEST_PATH_IMAGE005
其中,SHA为SHA-1算法,M为密文数据,Q为会话秘钥,H为哈希值。
通过采用上述技术方案,第一通信终端和第二通信终端分别在发送密文数据前和接收密文数据后,对密文数据及会话秘钥的数据集进行哈希,得到第一哈希值和第二哈希值,通过第一哈希值和第二哈希值是否一致,进而检验所接收的密文数据是否完整,为判定接收的密文数据是否一致提供依据。
第二方面,本申请提供的一种基于ECDSA的数据加密***,采用如下的技术方案:
一种基于ECDSA的数据加密***,包括包括服务器、第一通信终端以及第二通信终端,其中:
服务器包括:
数据存储模块,用于存储基于硬件噪声生成的真随机数数据库;
第一通信终端包括:
第一私钥生成模块,用于向所述服务器发送私钥生成请求,从所述真随机数数据库获取第一真随机数作为第一私钥;
第一公钥生成模块,用于根据预置ECDSA算法及所述第一私钥,计算得到第一公钥;
第二通信终端包括:
第二私钥生成模块,用于向所述服务器发送私钥生成请求,从所述真随机数数据库获取第二真随机数作为第二私钥;
第二公钥生成模块,用于根据预置ECDSA算法及所述第二私钥,计算得到第二公钥;
所述第一通信终端还包括:
第一会话秘钥生成模块,用于基于第一私钥与第二公钥,按预置ECDSA计算得到第一会话秘钥;
所述第二通信终端还包括:
第二会话秘钥生成模块,用于基于第一私钥与第二公钥,按预置ECDSA计算得到第一会话秘钥。
综上所述,本申请包括以下至少一种有益技术效果:
基于硬件噪声生成真随机数,建立真随机数数据库,第一通信终端或第二通信终端以真随机数作为私钥,保证第一通信终端与第二通信终端的私钥不同,进而按ECDSA算法分别求得第一通信终端或第二通信终端的公钥,利用ECDSA算法的防破密性高特点,保证第一通信终端与第二通信终端的密钥对安全性,再根据ECDSA算法,计算获得第一通信终端与第二通信终端之间的会话秘钥,并基于会话秘钥对通信数据进行加密,防止通讯数据被破密篡改,提高通讯安全。
附图说明
图1为本申请基于ECDSA的数据加密方法第一实施例的流程示意图;
图2为本申请基于ECDSA的数据加密方法第二实施例的流程示意图;
图3为本申请基于ECDSA的数据加密方法第三实施例的流程示意图;
图4为本申请基于ECDSA的数据加密方法第四实施例的流程示意图;
图5为本申请基于ECDSA的数据加密方法第五实施例的流程示意图;
图6为本申请基于ECDSA的数据加密方法第六实施例的流程示意图;
图7为本申请基于ECDSA的数据加密***一实施例的功能模块示意图。
具体实施方式
以下结合附图1-7对本申请作进一步详细说明。
本申请实施例公开一种基于ECDSA的数据加密方法。
参照图1,图1为本申请基于ECDSA的数据加密方法第一实施例的流程示意图。在本申请实施例中,所述数据加密方法包括:
步骤S10:服务器基于硬件噪声生成真随机数数据库;
步骤S20:第一通信终端向第二通信终端发送交互通信请求,同时向所述服务器发送私钥生成请求,从所述真随机数数据库获取第一真随机数作为第一私钥;
步骤S30:所述第一通信终端根据预置ECDSA算法及所述第一私钥,计算得到第一公钥;
步骤S40:所述第二通信终端向所述服务器发送私钥生成请求,从所述真随机数数据库获取第二真随机数作为第二私钥;
步骤S50:所述第二通信终端根据预置ECDSA算法及所述第二私钥,计算得到第二公钥;
步骤S60:所述第一通信终端基于第一私钥与第二公钥,按预置ECDSA计算得到第一会话秘钥,所述第二通信终端基于第二私钥与第一公钥,按预置ECDSA计算得到第二会话秘钥,且第二会话秘钥与第一会话秘钥相同,得到所述第一通信终端与第二通信终端之间的共享秘钥;
步骤S70:所述第一通信终端和第二通信终端建立交互通信,所述交互通信包括授权证书检验与数据加密通信。
本申请实施例中,为了保证用于作为私钥的所取随机数的随机性,设置服务器基于设备的物理噪声, 并将这些随机噪声生成的电信号振幅放大到宏观级别,由数字模拟转换为二进制数字,存储在真随机数数据库中。椭圆曲线数字签名算法(ECDSA)是使用椭圆曲线密码(ECC)对数字签名算法(DSA)的模拟。为了保证数据加密的安全性,各通信终端获取真随机数数据库中的真随机数作为私钥,基于EDCSA算法,计算得到公钥,以所获得公钥和私钥对通信数据进行签名验签,保证通信双方准确接收指定通信终端的通信数据。以真随机数作为私钥,保证ECDSA算法的安全。其中,第一通信终端可以是用户终端,如手机,微计算器等;第二通信终端可以是交互设备,如燃气表、电子门锁等。
本申请实施例中,通信双方确定自己的公钥私钥后,根据ECDSA算法的特性可知,通信双方的会话秘钥等于自己的私钥与方法的的计算工程:
Figure 824972DEST_PATH_IMAGE001
Figure 983683DEST_PATH_IMAGE002
Figure 307217DEST_PATH_IMAGE006
其中,A、a分别为第一通信终端的公钥和私钥,B、b分别为第二通信终端的公钥和私钥,
Figure 130423DEST_PATH_IMAGE004
分别为第一通信终端和第二通信终端的会话秘钥,K为第一通信终端和第二通信终端之间的共享秘钥。CA服务器基于通信终端的公钥及设备信息,生成相应的数字证书,CA服务器根据通信终端是否携带得本CA服务器生成的,从而确定请求交互的通信终端双方能否进行安全通信。共享密钥是保证用户终端跟其它终端或者两台终端之间安全通信会话而产生的用户数据加密和解密的密钥。由于其大部分安全性依赖于其使用时间的短暂性,每次会话的共享密钥不一样。各个会话使用不同的会话密钥,会话秘钥为256比特的二进制字符。
本申请实施例中,第一通信终端和第二通信终端以共享的会话秘钥,按预置的分组加密算法,对通信双方的通信数据进行加密和解密。其中,分组加密算法使用目前国际顶尖的DES算法,或者国密SM4算法。其中,DES 使用一个56位的密钥以及附加的8位奇偶校验位(每组的第8位作为奇偶校验位),产生最大64位的分组大小。这是一个迭代的分组密码,使用对称结构,其中将加密的文本块分成两半。使用子密钥对其中一半应用循环功能,然后将输出与另一半进行异或运算;接着交换这两半,这一过程会继续下去,但最后一个循环不交换。国密SM4算法是国家商用密码算法,目前主要使用公开的SM2、SM3、SM4三类算法,分别是非对称算法、哈希算法和对称算法。其中的SM4分组密码算法是我国自主设计的分组对称密码算法,用于实现数据的加密/解密运算,以保证数据和信息的机密性。要保证一个对称密码算法的安全性的基本条件是其具备足够的密钥长度。
参照图2,图2为本申请基于ECDSA的数据加密方法第二实施例的流程示意图。在本申请实施例中,所述授权证书检验包括:
步骤S711:所述第一通信终端或第二通信终端向所述服务器发送交互请求及所述授权证书,所述交互请求包括第一通信终端或第二通信终端对应地址信息、密码协议版本号以及初始化密码参数;
步骤S712:所述CA服务器接收所述交互请求,检验所述授权证书是否存在授权标识;
步骤S713:若是,则判定所述授权证书合法,建立所述第一通信终端与第二通信终端的交互通信。
在本申请实施例中,为了保证通信终端双方都为本地的可信任设备,在通信终端双方请求建立交互通信时,各通信终端发送携带自己的Mac地址、密码协议版本号以及初始化密码参数的交互请求,以及各通信终端的授权证书至CA服务器,CA服务器对通信终端双方各自的授权证书进行检验。若验证成功,则可证明通信终端的合法身份,服务器同意其接入请求,并建立通信终端双方的交互通信,并按照数据库所存储的各设备对应的设备信息所记录的权限,提供相应的服务;若验证失败,则拒绝通信终端的交互请求。
例如,A终端和B终端要建立交互通信,均向CA服务器发送交互请求和授权证书,CA服务器判断授权证书是否具有授权标识。若A终端和B终端的授权证书均具有CA服务器授权的授权标识,则建立A终端和B终端的交互通信;若有一方或均不具有CA服务器授权的授权标识,则提示设备非法接入,请求获取不具有授权标识对应终端的设备信息。
参照图3,图3为本申请基于ECDSA的数据加密方法第三实施例的流程示意图。在本申请实施例中,授权证书的生成包括:
步骤S01:所述第一通信终端与第二通信终端将对应的设备信息及公钥发送至预置CA服务器;
步骤S02:所述CA服务器基于所述设备信息及公钥,生成所述第一通信终端与第二通信终端的授权证书并分别发送至所述第一通信终端与第二通信终端,所述授权证书至少包括所述CA服务器的授权标识;
步骤S03:所述第一通信终端与第二通信终端分别将所述授权证书存在到预置存储位置。
本申请实施例中,为方便检验接入服务器的通信终端为可信任的合法终端,设置CA服务器。各通信终端将自身的设备信息及公钥发送至CA服务器,CA服务器根据设备信息以及公钥生成带CA服务器授权标识的授权证书,各通信终端接收对应的授权证书,将授权证书存储在设备预置的存储位置中。当通信终端双方建立交互通信时,由本地的CA服务器对通信双方进行检验,检验通信双方是否都具备本地的CA服务器下发的授权证书。若通信终端双方中的授权证书均为本地CA服务器下发的,才允许通信双方建立通信连接。其中,CA服务器负责发布证书,作为通信中受信任和具有权威性的第三方,承担公钥体系中公钥的合法性检验的责任。
例如,A终端向本地服务器发送连接请求,在连接请求中附带有A终端的授权证书,本地服务器对A终端的授权证书进行检验,判断授权证书中是否为本地服务器生成,若是,则允许建立A终端的通信连接。
参照图4,图4为本申请基于ECDSA的数据加密方法第四实施例的流程示意图。在本申请实施例中,所述数据加密通信包括:
步骤S701:所述第一通信终端和第二通信终端基于对应的地址信息,建立交互通信;
步骤S702:所述第一通信终端使用所述会话秘钥,按预置分组加密算法对待发送数据进行加密处理,得到密文数据;
步骤S703:所述第一通信终端将所述密文数据发送至所述第二通信终端;
步骤S704:所述第二通信终端使用所述会话秘钥,按预置分组加密算法对所述密文数据进行解密,得到所述密文数据对应的明文数据。
在本申请实施例中,为了建立第一通信终端与第二通信终端之间的交互通信,基于各通信终端信息中的Mac地址信息,建立交互通信并共享同一会话秘钥。第一通信终端基于会话秘钥,按预置的分组加密算法对待发送数据进行加密,以密文形式传送发送数据,即密文数据。第二通信终端接收该密文数据,使用会话秘钥按预置分组加密算法对该密文数据进行解密,从而获得第一通信终端所发送的数据。
例如,A终端与B终端基于各通信终端Mac地址建立交互通信,共享同一会话秘钥K。A终端基于会话秘钥K,按预设分组算法将要发送给B终端的待发送数据进行加密,得到密文数据并将密文数据发送给B终端,B终端接收密文数据,基于会话秘钥K,按预设分组算法对密文数据进行解密,获取A终端所传送的数据内容。
参照图5,图5为本申请基于ECDSA的数据加密方法第五实施例的流程示意图。在本申请实施例中,所述数据加密通信包括:
步骤S71:所述第一通信终端使用所述会话秘钥对待发送数据进行加密处理,得到密文数据;
步骤S72:所述第一通信终端基于所述会话秘钥,计算所述密文数据的第一Mac值,Mac值为消息认证码;
步骤S73:所述第一通信终端将所述密文数据及第一MAC值发送至所述第二通信终端;
步骤S74:所述第二通信终端接收所述密文数据及所述第一Mac值,并基于所述会话秘钥计算所述密文数据的第二Mac值;
步骤S75:检验所述第一Mac值与第二Mac值是否相等,若相等,则确定所述密文数据为所述第一通信终端发送,若不相等,则确定所述密文数据不为所述第一通信终端发送。
本申请实施例中,第一通信终端通过会话秘钥将待发送数据加密为密文数据,并使用会话秘钥计算密文数据的第一Mac值,然后将第一Mac值随密文数据一起发送至第二通信终端。第二通信终端接收密文数据及第一Mac值后,通过会话秘钥计算密文数据的第二Mac值。第二通信终端检验第二Mac值与第一Mac值一致,则确定所接收的密文数据为第一通信终端发送的;若第二Mac值与第一Mac值不一致,则确定密文数据不为第一通信终端发送。
例如,A终端与B终端进行加密通信,使用同一会话秘钥K。A终端通过会话秘钥K将要发送给B终端的数据加密成密文数据,并计算密文数据的Mac值a,然后将密文数据与Mac值a发送给B终端。B终端接收密文数据与Mac值a,通过会话秘钥K计算密文数据的Mac值b,判断Mac值a与Mac值b是否一致。若Mac值a与Mac值b一致,则判定密文数据为A终端发送的,无误;若Mac值a与Mac值b不一致,则判定密文数据不为A终端发送的,有可能已被篡改了。
参照图6,图6为本申请基于ECDSA的数据加密方法第六实施例的流程示意图。在本申请实施例中,所述数据加密通信包括:
步骤S7001:所述第一通信终端通过所述会话秘钥对会话数据进行加密,得到密文数据;
步骤S7002:所述第一通信终端基于预置哈希函数,对所述密文数据及所述会话秘钥一起进行哈希处理,得到第一哈希值;
步骤S7003:所述第一通信终端将所述密文数据及第一哈希值发送至所述第二通信终端;
步骤S7004:所述第二通信终端将所述会话秘钥与所述密文数据一起进行哈希处理,得到第二哈希值;
步骤S7005:所述第二通信终端判断所述第二哈希值与所述第一哈希值是否相等,若相等,则判断所述密文数据完整,若不相等,则判断所述密文数据不完整。
本申请实施例中,第一通信终端通过会话秘钥将待发送的数据加密成密文数据,按预置哈希函数,将密文数据和会话秘钥的合并数据进行哈希处理,得到第一哈希值,然后将密文数据及第一哈希值一起发送给第二通信终端。第二通信终端获取密文数据及第一哈希值,通过预置哈希函数对密文数据及会话秘钥的合并数据进行哈希处理,得到第二哈希值。第二通信终端比较第二哈希值与第一哈希值,若一致,则判定密文数据完整;若不一致,则判定密文数据不完整并。其中,哈希函数可以是MD-S或SHA。
例如,A终端与B终端之间进行会话,共享同一会话秘钥。A终端在发送会话数据前通过会话秘钥将会话数据加密成密文数据,并按预置哈希函数将会话秘钥及密文数据合并计算得到哈希值a,然后将密文数据及哈希值a发送给B终端。B终端接收密文数据及哈希值a,通过预置哈希函数计算密文数据及会话秘钥得到哈希值b,判断哈希值a与b是否一致,若哈希值a与哈希值b一致,则判定会话数据无误;若哈希值a与哈希值b不一致,则通知A终端会话数据不完整。其中,使用SHA-1算法对密文数据及会话秘钥进行哈希处理,具体计算公式如下:
Figure 248421DEST_PATH_IMAGE005
其中,SHA为SHA-1算法,M为密文数据,Q为会话秘钥,H为哈希值。
参照图7,图7为本申请基于ECDSA的数据加密***一实施例的功能模块示意图。在本申请实施例中,所述基于ECDSA的数据加密***包括:
服务器包括:
数据存储模块F10,用于存储基于硬件噪声生成的真随机数数据库;
第一通信终端包括:
第一私钥生成模块A10,用于向所述服务器发送私钥生成请求,从所述真随机数数据库获取第一真随机数作为第一私钥;
第一公钥生成模块A20,用于根据预置ECDSA算法及所述第一私钥,计算得到第一公钥;
第二通信终端包括:
第二私钥生成模块B10,用于向所述服务器发送私钥生成请求,从所述真随机数数据库获取第二真随机数作为第二私钥;
第二公钥生成模块B20,用于根据预置ECDSA算法及所述第二私钥,计算得到第二公钥;
所述第一通信终端还包括:
第一会话秘钥生成模块A30,用于基于第一私钥与第二公钥,按预置ECDSA计算得到第一会话秘钥;
所述第二通信终端还包括:
第二会话秘钥生成模块B30,用于基于第一私钥与第二公钥,按预置ECDSA计算得到第一会话秘钥。
以上均为本申请的较佳实施例,并非依此限制本申请的保护范围,故:凡依本申请的结构、形状、原理所做的等效变化,均应涵盖于本申请的保护范围之内。

Claims (5)

1.一种基于ECDSA的数据加密方法,其特征在于:包括:
服务器基于硬件噪声生成真随机数数据库;
第一通信终端向第二通信终端发送交互通信请求,同时向所述服务器发送私钥生成请求,从所述真随机数数据库获取第一真随机数作为第一私钥;
所述第一通信终端根据预置ECDSA算法及所述第一私钥,计算得到第一公钥;
所述第二通信终端向所述服务器发送私钥生成请求,从所述真随机数数据库获取第二真随机数作为第二私钥;
所述第二通信终端根据预置ECDSA算法及所述第二私钥,计算得到第二公钥;
所述第一通信终端基于第一私钥与第二公钥,按预置ECDSA计算得到第一会话秘钥,所述第二通信终端基于第二私钥与第一公钥,按预置ECDSA计算得到第二会话秘钥,且所述第二会话秘钥与第一会话秘钥相同,得到所述第一通信终端与第二通信终端之间的共享秘钥;
所述第一通信终端和第二通信终端建立交互通信,所述交互通信包括授权证书检验与数据加密通信;
所述数据加密通信包括:
基于所述第一通信终端和第二通信终端对应的地址信息,建立交互通信;
所述第一通信终端基于所述会话秘钥,按预置分组加密算法对待发送数据进行加密处理,得到密文数据;
所述第一通信终端基于所述会话秘钥,计算所述密文数据的第一Mac值,Mac值为消息认证码;
所述第一通信终端将所述密文数据及第一MAC值发送至所述第二通信终端;
所述第二通信终端接收所述密文数据及所述第一Mac值,并基于所述会话秘钥计算所述密文数据的第二Mac值;
检验所述第一Mac值与第二Mac值是否相等,若相等,则确定所述密文数据为所述第一通信终端发送,若不相等,则确定所述密文数据不为所述第一通信终端发送;
所述第一通信终端基于预置哈希函数,对所述密文数据及所述会话秘钥的数据集进行哈希处理,得到第一哈希值;
所述第一通信终端将所述密文数据及第一哈希值发送至所述第二通信终端;
所述第二通信终端将所述会话秘钥与所述密文数据的数据集进行哈希处理,得到第二哈希值;
所述第二通信终端判断所述第二哈希值与所述第一哈希值是否相等,若相等,则判断所述密文数据完整,若不相等,则判断所述密文数据不完整并通知第一通信终端;
所述第一通信终端将所述密文数据发送至所述第二通信终端;
所述第二通信终端基于所述会话秘钥,按预置分组加密算法对所述密文数据进行解密,得到所述密文数据对应的明文数据。
2.根据权利要求1所述的数据加密方法,其特征在于:所述授权证书检验包括:
所述第一通信终端和第二通信终端向CA服务器发送交互请求及所述授权证书,所述交互请求包括第一通信终端或第二通信终端对应地址信息、密码协议版本号以及初始化密码参数;
所述CA服务器接收所述交互请求,检验所述授权证书是否存在授权标识;
若是,则判定所述授权证书合法,建立所述第一通信终端与第二通信终端的交互通信。
3.根据权利要求2所述的数据加密方法,其特征在于:授权证书的生成包括:
所述第一通信终端与第二通信终端将对应的设备信息及公钥发送至预置CA服务器;
所述CA服务器基于所述设备信息及公钥,生成所述第一通信终端与第二通信终端的授权证书并分别发送至所述第一通信终端与第二通信终端,所述授权证书至少包括所述CA服务器的授权标识;
所述第一通信终端与第二通信终端分别将所述授权证书存在到预置存储位置。
4.根据权利要求1所述的数据加密方法,其特征在于,所述会话秘钥计算公式如下:
Figure DEST_PATH_IMAGE002
Figure DEST_PATH_IMAGE004
Figure DEST_PATH_IMAGE006
其中,A、a分别为第一通信终端的公钥和私钥,B、b分别为第二通信终端的公钥和私钥,
Figure DEST_PATH_IMAGE008
分别为第一通信终端和第二通信终端的会话秘钥,K为第一通信终端和第二通信终端之间的共享秘钥。
5.根据权利要求1所述的数据加密方法,其特征在于,所述基于预置哈希函数,对所述密文数据及所述会话秘钥一起进行哈希处理,具体计算公式如下:
Figure DEST_PATH_IMAGE010
其中,SHA为SHA-1算法,M为密文数据,Q为会话秘钥,H为哈希值。
CN202011003219.9A 2020-09-22 2020-09-22 一种基于ecdsa的数据加密方法及*** Active CN112165386B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011003219.9A CN112165386B (zh) 2020-09-22 2020-09-22 一种基于ecdsa的数据加密方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011003219.9A CN112165386B (zh) 2020-09-22 2020-09-22 一种基于ecdsa的数据加密方法及***

Publications (2)

Publication Number Publication Date
CN112165386A CN112165386A (zh) 2021-01-01
CN112165386B true CN112165386B (zh) 2022-11-22

Family

ID=73864313

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011003219.9A Active CN112165386B (zh) 2020-09-22 2020-09-22 一种基于ecdsa的数据加密方法及***

Country Status (1)

Country Link
CN (1) CN112165386B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113091224B (zh) * 2021-04-07 2022-11-29 青岛海信日立空调***有限公司 一种空调装置及空调控制装置
CN114039727A (zh) * 2021-12-09 2022-02-11 施耐德电气(中国)有限公司 一种数据传输方法、装置、智能终端及网关设备
CN114499856A (zh) * 2022-02-28 2022-05-13 太原理工大学 一种智能电表用电信息安全上载方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109150897B (zh) * 2018-09-18 2021-05-28 深圳市风云实业有限公司 一种端到端的通信加密方法及装置
CN109039627A (zh) * 2018-11-02 2018-12-18 美的集团股份有限公司 密钥协商方法、设备、存储介质以及***
CN109039657B (zh) * 2018-11-02 2021-01-08 美的集团股份有限公司 密钥协商方法、设备、终端、存储介质以及***

Also Published As

Publication number Publication date
CN112165386A (zh) 2021-01-01

Similar Documents

Publication Publication Date Title
US8635445B2 (en) Method for digital identity authentication
CN108768608B (zh) 在区块链pki下支持瘦客户端的隐私保护身份认证方法
CN112165386B (zh) 一种基于ecdsa的数据加密方法及***
CN111756529B (zh) 一种量子会话密钥分发方法及***
CN103763356A (zh) 一种安全套接层连接的建立方法、装置及***
WO2010078755A1 (zh) 电子邮件的传送方法、***及wapi终端
CN110020524B (zh) 一种基于智能卡的双向认证方法
KR101706117B1 (ko) 휴대용 단말기에서 다른 휴대용 단말기를 인증하는 장치 및 방법
CN111614621B (zh) 物联网通信方法和***
JP2012019511A (ja) 無線通信機器とサーバとの間でのデータの安全なトランザクションのためのシステムおよび方法
CN110087240B (zh) 基于wpa2-psk模式的无线网络安全数据传输方法及***
CN110535626B (zh) 基于身份的量子通信服务站保密通信方法和***
JP2017163612A (ja) 端末認証システム、サーバ装置、及び端末認証方法
CN111756528B (zh) 一种量子会话密钥分发方法、装置及通信架构
WO2022135391A1 (zh) 身份鉴别方法、装置、存储介质、程序、及程序产品
CN116599659B (zh) 无证书身份认证与密钥协商方法以及***
CN110752934B (zh) 拓扑结构下网络身份交互认证的方法
CN114696999A (zh) 一种身份鉴别方法和装置
JP2016220062A (ja) 通信装置、サーバ、署名検証委託システム及び署名検証委託方法
CN114928503B (zh) 一种安全通道的实现方法及数据传输方法
WO2022135383A1 (zh) 一种身份鉴别方法和装置
WO2022135399A1 (zh) 身份鉴别方法、鉴别接入控制器和请求设备、存储介质、程序、及程序产品
CN116318637A (zh) 设备安全入网通信的方法和***
CN114070570A (zh) 一种电力物联网的安全通信方法
CN114760034A (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