CN118214558B - 一种数据流通处理方法、系统、装置及存储介质 - Google Patents
一种数据流通处理方法、系统、装置及存储介质 Download PDFInfo
- Publication number
- CN118214558B CN118214558B CN202410632457.8A CN202410632457A CN118214558B CN 118214558 B CN118214558 B CN 118214558B CN 202410632457 A CN202410632457 A CN 202410632457A CN 118214558 B CN118214558 B CN 118214558B
- Authority
- CN
- China
- Prior art keywords
- key
- source system
- transfer platform
- data
- public 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.)
- Active
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 23
- 238000003860 storage Methods 0.000 title claims abstract description 13
- 238000012546 transfer Methods 0.000 claims abstract description 337
- 238000000034 method Methods 0.000 claims abstract description 124
- 230000005540 biological transmission Effects 0.000 claims abstract description 113
- 238000004422 calculation algorithm Methods 0.000 claims description 85
- 230000006870 function Effects 0.000 claims description 48
- 238000009795 derivation Methods 0.000 claims description 32
- 230000008569 process Effects 0.000 claims description 31
- 238000012795 verification Methods 0.000 claims description 30
- 238000005111 flow chemistry technique Methods 0.000 claims description 29
- 238000012545 processing Methods 0.000 claims description 23
- 238000012790 confirmation Methods 0.000 claims description 3
- 238000004891 communication Methods 0.000 description 17
- 238000005516 engineering process Methods 0.000 description 8
- 230000008676 import Effects 0.000 description 8
- 230000007246 mechanism Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000009826 distribution Methods 0.000 description 4
- 230000005610 quantum mechanics Effects 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013144 data compression Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000013524 data verification Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000026676 system process Effects 0.000 description 2
- 101001121408 Homo sapiens L-amino-acid oxidase Proteins 0.000 description 1
- 101000827703 Homo sapiens Polyphosphoinositide phosphatase Proteins 0.000 description 1
- 102100026388 L-amino-acid oxidase Human genes 0.000 description 1
- 102100023591 Polyphosphoinositide phosphatase Human genes 0.000 description 1
- 101100012902 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) FIG2 gene Proteins 0.000 description 1
- 101100233916 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) KAR5 gene Proteins 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000005336 cracking Methods 0.000 description 1
- 238000013478 data encryption standard Methods 0.000 description 1
- 238000013496 data integrity verification Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0838—Key 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network 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/045—Network 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 hybrid encryption, i.e. combination of symmetric and asymmetric encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/565—Conversion or adaptation of application format or content
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key 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/0825—Key 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
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- 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
-
- 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/32—Cryptographic 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/3236—Cryptographic 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
-
- 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/32—Cryptographic 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/3247—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/08—Randomization, e.g. dummy operations or using noise
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/72—Signcrypting, i.e. digital signing and encrypting simultaneously
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本申请公开了一种数据流通处理方法、系统、装置及存储介质,确保了整个传输过程的高效性和安全性,从而有效减少或避免大规模数据泄露的事件发生,极大的提高数据传输的安全性。本申请方法包括:所述源系统、所述中转平台和所述目的地系统分别生成源系统密钥对、中转平台密钥对和目的地系统密钥对,所述源系统密钥对包括源系统公钥和源系统私钥,所述中转平台密钥对包括中转平台公钥和中转平台私钥,所述目的地系统密钥对包括目的地系统公钥和目的地系统私钥;所述中转平台和所述源系统进行密钥协商以生成对称密钥;所述源系统使用所述对称密钥对目标数据进行加密得到加密数据,并使用源系统私钥在所述加密数据上进行加密并生成数字签名。
Description
技术领域
本申请涉及数据流通技术领域,尤其涉及一种数据流通处理方法、系统、装置及存储介质。
背景技术
在现代信息技术快速发展的背景下,不同的系统和平台进行数据交换已成为常态,这些系统可能涵盖不同的行业与域,如金融、医疗、教育、政府机构等,在这些系统之间进行高效而安全的数据流传输是构建可靠信息服务的重要基础,传统的数据交换方法通常涉及将数据从源系统传输到一个中转平台,在该平台上对数据进行必要的处理和转换,然后再将数据传输到目的系统,数据流通过程是指数据从其源出发,经过一系列传输和处理,最终到达目的地的整个过程,这一过程具备连续性、实时性、可扩展性、多样性和安全性。
目前数据交换方法通常涉及将数据从源系统传输到一个中转平台,在该平台上对数据进行必要的处理和转换,然后再将数据传输到目的系统的方法存在着显著的缺陷,数据在传输时被加密,由于加密方法较为简单,数据存在泄露的风险,这一环节成为潜在的安全漏洞,一旦中转平台受到攻击或遭到内部人员的滥用,可能导致大规模的数据泄露事件,危及个人隐私和企业机密。
发明内容
为了解决上述技术问题,本申请提供了一种数据流通处理方法、系统、装置及存储介质。
下面对本申请中提供的技术方案进行描述:
本申请第一方面提供了一种数据流通处理方法,所述数据流通处理方法应用在源系统、中转平台和目的地系统三个系统中,所述方法包括:
所述源系统、所述中转平台和所述目的地系统分别生成源系统密钥对、中转平台密钥对和目的地系统密钥对,所述源系统密钥对包括源系统公钥和源系统私钥,所述中转平台密钥对包括中转平台公钥和中转平台私钥,所述目的地系统密钥对包括目的地系统公钥和目的地系统私钥;
所述源系统与所述中转平台之间进行所述源系统公钥和所述中转平台公钥的交换;
所述源系统根据所述中转平台公钥对认证信息进行加密,并将加密后的认证信息发送至所述中转平台;
所述中转平台使用所述中转平台私钥对所述认证信息进行解密;
当所述中转平台验证所述认证信息正确之后,所述中转平台和所述源系统选定目标椭圆曲线以及所述目标椭圆曲线上的一个基点G;
所述中转平台随机选择一个私钥dA,并计算相应的公钥QA = dAtimesG,其中G是基点,times表示乘法运算;
所述中转平台将公钥QA发送给所述源系统;
所述源系统随机选择一个私钥dB,并计算相应的公钥QB = dBtimesG,其中G是基点;
所述源系统将公钥QB发送给所述中转平台;
所述中转平台使用私钥dA和公钥QB计算共享密钥S = dAtimesQB;
所述源系统使用私钥dB和公钥QA计算共享密钥S = dBtimesQA;
所述源系统和所述中转平台使用共享密钥S作为种子,通过所述共享密钥派生函数KDF生成对称密钥;
所述源系统使用所述对称密钥对目标数据进行加密得到加密数据,并使用源系统私钥在所述加密数据上进行加密并生成数字签名;
所述源系统将所述加密数据和所述数字签名发送至所述中转平台;
所述中转平台使用所述源系统公钥验证所述数字签名,当确定所述目标加密数据的完整性之后,所述中转平台与所述目的地系统进行目的地系统公钥和中转平台公钥的交换;
所述中转平台使用所述目的地系统公钥对所述加密数据进行加密得到目标加密数据,并将所述目标加密数据和所述源系统公钥发送至所述目的地系统;
所述目的地系统使用所述目的地系统私钥解密所述目标加密数据得到所述加密数据;
所述目的地系统使用源系统公钥对所述加密数据上的数字签名进行验证;
在验证成功之后,所述中转平台将所述对称密钥对发送至目的地系统,以使得所述目的地系统使用对称密钥对解锁所述加密数据,以得到所述源系统传输的所述目标数据。
可选的,所述源系统和所述中转平台使用共享密钥S作为种子,通过所述共享密钥派生函数KDF生成对称密钥,包括:
确定HMAC的密钥派生函数,并为所述HMAC的密钥派生函数设置迭代次数和密钥长度信息;
选定目标随机数D;
将所述目标随机数D、所述共享密钥S、所述迭代次数信息和密钥长度信息输入所述HMAC的密钥派生函数中进行派生处理;
通过所述派生处理后获取所述对称密钥。
可选的,所述源系统使用所述对称密钥对目标数据进行加密得到加密数据,并使用源系统私钥在所述加密数据上进行加密并生成数字签名,包括:
所述源系统计算所述目标数据的哈希值,并将哈希值与所述对称密钥结合生成目标对称密钥;
所述源系统通过所述目标对称密钥对所述目标数据进行加密后得到所述加密数据;
所述源系统计算所述加密数据的目标哈希值;
所述源系统使用所述源系统私钥对所述目标哈希值进行加密以生成数字签名。
可选的,所述源系统计算所述加密数据的目标哈希值,包括:
所述源系统使用SHA-256算法和SHA-3算法分别计算所述加密数据的第一哈希值和第二哈希值;
所述源系统将所述第一哈希值和所述第二哈希值结合后得到所述目标哈希值。
可选的,所述源系统计算所述加密数据的目标哈希值,包括:
所述源系统将所述加密数据分成若干块数据,并分别计算每块数据的哈希值;
所述源系统使用默克尔树来组合每块数据的哈希值以得到所述目标哈希值。
可选的,所述源系统计算所述加密数据的目标哈希值,包括:
所述源系统使用SHA-256算法计算所述加密数据的一类哈希值;
所述源系统使用SHA-3算法计算所述源系统公钥和所述源系统私钥的二类哈希值和三类哈希值;
所述源系统使用默克尔树来组合所述一类哈希值、所述二类哈希值和所述三类哈希值以得到所述目标哈希值。
可选的,在所述源系统根据所述中转平台公钥对认证信息进行加密之前,所述方法还包括:
所述源系统和所述中转平台基于通话密钥构建数据安全传输通道。
可选的,所述源系统生成源系统密钥对,包括:
确定第一素数P1,P1是有限域的基础;
定义第一椭圆曲线:,其中,a和b是所述第一椭圆曲线方程上的曲线参数,a和b需满足以下条件:,以确保所述第一椭圆曲线上无奇点;
在第一椭圆曲线上选择一个基点G1;
定义源系统私钥d1,d1是一个随机定义的一个正整数,d1的范围[1,n-1],其中n是基点G1的阶,即是最小的正整数n;
根据所述第一椭圆曲线上的点乘运算计算源系统公钥Q1,Q1=d1*G1;
获取所述源系统公钥Q1和源系统私钥d1。
可选的,所述中转平台生成中转平台密钥对,包括:
确定第二素数P2,P2是有限域的基础;
定义第二椭圆曲线:,其中,a和b是所述第二椭圆曲线方程上的曲线参数,a和b需满足以下条件:,以确保所述第二椭圆曲线上无奇点;
在第二椭圆曲线上选择一个基点G2;
定义中转平台私钥d2,d2是一个随机定义的一个正整数,d2的范围[1,n-1],其中n是基点G2的阶,即是最小的正整数n;
根据所述第二椭圆曲线上的点乘运算计算源系统公钥Q2,Q2=d2*G2;
获取所述中转平台公钥Q2和中转平台私钥d2。
可选的,所述目的地系生成目的地密钥对,包括:
确定第三素数P3,P3是有限域的基础;
定义第三椭圆曲线:,其中,a和b是所述第三椭圆曲线方程上的曲线参数,a和b需满足以下条件:,以确保所述第三椭圆曲线上无奇点;
在第三椭圆曲线上选择一个基点G3;
定义目的地系统私钥d3,d3是一个随机定义的一个正整数,d3的范围[1,n-1],其中n是基点G3的阶,即是最小的正整数n;
根据所述第三椭圆曲线上的点乘运算计算源系统公钥Q3,Q3=d3*G3;
获取所述目的地公钥Q3和所述目的地系统私钥d3。
可选的,所述源系统将所述加密数据和所述数字签名发送至所述中转平台,包括:
所述源系统将所述加密数据分割成若干个数据包;
所述源系统确定传输至所述中转平台的若干个传输通道;
所述源系统将所述若干个数据包和所述数字签名通过所述若干个传输通道传输至所述中转平台,所述若干个数据包上均对应有所述数字签名。
可选的,所述中转平台使用所述源系统公钥验证所述数字签名,包括:
所述中转平台接收若干个传输通道的若干个数据包和所述数字签名;
所述中转平台调取所述源系统公钥;
所述中转平台使用所述源系统公钥验证若干个数据包上的数字签名;
当所述中转平台确定所述若干个数据包的数字签名验证无误之后,将所述若干个数据结合生成所述加密数据。
可选的,所述中转平台与所述目的地系统进行目的地系统公钥和中转平台公钥的交换,包括:
所述中转平台根据所述加密数据上的标识确定目的地系统;
所述中转平台向所述目的地系统发送接收指令;
当所述中转平台获取所述目的地系统反馈的确认指令后,所述中转平台和所述目的地系统构建安全传输通道;
所述中转平台将所述中转平台公钥通过所述安全传输通道发送至所述目的地系统;
待所述目的地系统获取到所述中转平台公钥之后,验证所述中转平台公钥的IP地址与所述接收指令的IP地址是否一致;
若是,则所述目的地系统将所述目的地系统公钥发送至所述中转平台。
可选的,所述中转平台使用所述目的地系统公钥对所述加密数据进行加密得到目标加密数据,包括:
所述中转平台调出所述目的地系统公钥;
所述中转平台生成一串随机数;
所述中转平台使用目标哈希函数计算目的地系统公钥和随机数结合得到的哈希值hash;
所述中转平台使用计算出的哈希值hash作为密钥派生函数的输入,并生成目标密钥K;
所述中转平台使用目标密钥K和所述目的地系统公钥将所述加密数据进行加密后得到目标加密数据。
可选的,在将所述目标加密数据和所述源系统公钥发送至所述目的地系统之前,所述方法还包括:
所述中转平台与所述目的地系统进行密钥协商以生成通话密钥;
所述中转平台和所述目的地系统根据所述通话密钥构建数据传输通道。
可选的,所述中转平台与所述目的地系统进行密钥协商以生成通话密钥,包括:
所述中转平台确定素数p和一个基数g,并将所述素数p和基数g发送至所述目的地系统;
所述目的地系统随机选择一个私钥a,并计算出其公钥A = g^a mod p;
所述中转平台随机选择一个私钥b,计算出其公钥B = g^b mod p;
所述目的地系统将其公钥a发送给中转平台,且所述中转平台将其公钥b发送给所述目的地系统;
当所述目的地系统接收到公钥b后,使用私钥a计算共享密钥S = B^a mod p;
当所述中转平台接收到公钥a后,使用自己的私钥b计算共享密钥S = A^b mod p;
所述中转平台和所述目的地系统使用密钥派生函数并结合共享密钥S和会话ID生成通话密钥。
可选的,在所述目的地系统使用所述目的地系统私钥解密所述目标数据包得到所述加密数据之前,所述方法还包括:
所述目的地系统接收所述中转平台发送的所述目标加密数据和一串随机数。
可选的,所述目的地系统使用所述目的地系统私钥解密所述目标数据包得到所述加密数据,包括:
所述目的地系统使用目的地系统公钥和一串随机数通过所述目标哈希函数计算哈希值;
所述目的地系统使用哈希值通过密钥派生函数生成解密密钥;
所述目的地系统使用解密密钥和目的地系统私钥解密所述目标加密数据后得到加密数据。
可选的,在验证成功之后,所述中转平台将所述对称密钥对发送至目的地系统之前,所述方法还包括:
所述目的地系统将验证成功的反馈信息发送至所述中转平台,所述反馈信息包括所述加密数据的标识信息;
所述中转平台根据所述反馈信息中的标识信息将对应的对称密钥发送至所述目的地系统。
本申请第二方面提供了一种数据流通处理系统,所述数据流通处理系统包括:
源系统、中转平台和目的地系统,所述源系统、所述中转平台和所述目的地系统执行如下操作:
所述源系统、所述中转平台和所述目的地系统分别生成源系统密钥对、中转平台密钥对和目的地系统密钥对,所述源系统密钥对包括源系统公钥和源系统私钥,所述中转平台密钥对包括中转平台公钥和中转平台私钥,所述目的地系统密钥对包括目的地系统公钥和目的地系统私钥;
所述源系统与所述中转平台之间进行所述源系统公钥和所述中转平台公钥的交换;
所述源系统根据所述中转平台公钥对认证信息进行加密,并将加密后的认证信息发送至所述中转平台;
所述中转平台使用所述中转平台私钥对所述认证信息进行解密;
当所述中转平台验证所述认证信息正确之后,所述中转平台和所述源系统选定目标椭圆曲线以及所述目标椭圆曲线上的一个基点G;
所述中转平台随机选择一个私钥dA,并计算相应的公钥QA = dAtimesG,其中G是基点,times表示乘法运算;
所述中转平台将公钥QA发送给所述源系统;
所述源系统随机选择一个私钥dB,并计算相应的公钥QB = dBtimesG,其中G是基点;
所述源系统将公钥QB发送给所述中转平台;
所述中转平台使用私钥dA和公钥QB计算共享密钥S = dAtimesQB;
所述源系统使用私钥dB和公钥QA计算共享密钥S = dBtimesQA;
所述源系统和所述中转平台使用共享密钥S作为种子,通过所述共享密钥派生函数KDF生成对称密钥;
所述中转平台和所述源系统进行密钥协商以生成对称密钥;
所述源系统使用所述对称密钥对目标数据进行加密得到加密数据,并使用源系统私钥在所述加密数据上进行加密并生成数字签名;
所述源系统将所述加密数据和所述数字签名发送至所述中转平台;
所述中转平台使用所述源系统公钥验证所述数字签名,当确定所述目标加密数据的完整性之后,所述中转平台与所述目的地系统进行目的地系统公钥和中转平台公钥的交换;
所述中转平台使用所述目的地系统公钥对所述加密数据进行加密得到目标加密数据,并将所述目标加密数据和所述源系统公钥发送至所述目的地系统;
所述目的地系统使用所述目的地系统私钥解密所述目标数据包得到所述加密数据;
所述目的地系统使用源系统公钥对所述加密数据上的数字签名进行验证;
在验证成功之后,所述中转平台将所述对称密钥对发送至目的地系统,以使得所述目的地系统使用对称密钥对解锁所述加密数据,以得到所述源系统传输的所述目标数据。
本申请第三方面提供了一种数据流通处理装置,所述装置包括:
处理器、存储器、输入输出单元以及总线;
所述处理器与所述存储器、所述输入输出单元以及所述总线相连;
所述存储器保存有程序,所述处理器调用所述程序以执行第一方面以及第一方面中任一项可选的所述方法。
本申请第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质上保存有程序,所述程序在计算机上执行时执行第一方面以及第一方面中任一项可选的所述方法。
从以上技术方案可以看出,本申请具有以下优点:
本申请数据流通处理方法有效地提升了数据传输的安全性和效率。具体来说,源系统、中转平台和目的地系统各自生成自己的密钥对,并通过密钥协商生成对称密钥,确保了数据加密的强度,源系统不仅使用对称密钥加密数据,还利用自己的私钥对加密数据生成数字签名,增加了数据传输的安全层级,且中转平台在验证数字签名无误后,负责与目的地系统交换公钥,并使用目的地系统公钥进一步加密已加密的数据,再将其发送给目的地系统,目的地系统通过自己的私钥解密数据,再用源系统公钥验证数字签名,确保了数据的完整性和发送方的身份验证,最后,中转平台将对称密钥安全地发送至目的地系统,以解锁加密数据,实现安全的数据传输。
本申请方案中利用了对称和非对称加密的优点,结合数字签名确保了数据传输的机密性、完整性和发送方身份的真实性,中转平台的介入,减轻了密钥管理的复杂性,同时降低了直接密钥交换的安全风险,确保了整个传输过程的高效性和安全性,从而有效减少或避免大规模数据泄露的事件发生,极大的提高数据传输的安全性。
附图说明
为了更清楚地说明本申请中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请数据流通处理方法的一个实施例示意图;
图2为本申请数据流通处理方法一个实施例S201至S209部分内容的流程示意图;
图3为本申请数据流通处理方法一个实施例S209至S214部分内容的流程示意图;
图4为本申请数据流通处理方法一个实施例S301至S309部分内容的流程示意图;
图5为本申请数据流通处理方法一个实施例S309至S313部分内容的流程示意图;
图6为本申请数据流通处理方法一个实施例S401至S409部分内容的流程示意图;
图7为本申请数据流通处理方法一个实施例S409至S413部分内容的流程示意图;
图8为本申请数据流通处理方法一个实施例S501至S510部分内容的流程示意图;
图9为本申请数据流通处理方法一个实施例S511至S513部分内容的流程示意图;
图10为本申请数据流通处理系统的一个实施例示意图;
图11为本申请数据流通处理装置的一个实施例示意图。
具体实施方式
请参阅图1,本申请首先提供了一个数据流通处理方法的一个实施例,所述数据流通处理方法应用在源系统、中转平台和目的地系统,该实施例包括:
S101、所述源系统、所述中转平台和所述目的地系统分别生成源系统密钥对、中转平台密钥对和目的地系统密钥对,所述源系统密钥对包括源系统公钥和源系统私钥,所述中转平台密钥对包括中转平台公钥和中转平台私钥,所述目的地系统密钥对包括目的地系统公钥和目的地系统私钥;
在本申请实施例中,首先对系统中的组成进行介绍:
源系统:需要将数据安全传输至中转平台的多个系统或平台;
中转平台:负责接收、认证、加密和传输数据的平台;
目的地系统:从中转平台接收经过加密处理的数据的目的地系统。
在源系统、中转平台和目的地系统进行数据流通处理之前,首先源系统、中转平台和目的地系统首先生成各位的密钥对,其中,密钥对生成通常涉及到非对称加密技术,其中最常用的方法包括:
RSA (Rivest-Shamir-Adleman):是最早和最广泛使用的非对称加密算法之一,RSA 是基于一个简单的数论事实,将两个大质数相乘是容易的,但是对其乘积进行因数分解却极其困难,RSA算法的安全性建立在大数分解问题的难度上。
ECC (Elliptic Curve Cryptography):相比于RSA,ECC可以提供相同级别的安全性,同时使用更短的密钥长度,这意味着更快的处理速度和更低的资源消耗。
DSA (Digital Signature Algorithm):是一种标准的数字签名算法,也可以用于生成密钥对。它基于模素数的离散对数问题,特别适合用于签名验证过程。
Diffie-Hellman密钥交换协议:虽然它本身不直接生成密钥对,但它允许两个无先前共享秘密的通信方,在不安全的通信渠道上生成一个共同的秘密密钥,这个密钥可以用于后续的通信加密。
生成密钥对的过程通常涉及以下步骤:
选择算法:首先根据安全需求和应用环境选择一个非对称加密算法;
生成参数:对于例如ECC和DSA算法中,必须首先生成或选择一组适当的参数;
生成密钥对:使用选择的算法和参数生成一对密钥,其中一个被称为公钥,另一个被称为私钥,公钥可以公开分享,而私钥必须保密。
对于上述密钥对的生成方法,源系统、中转平台和目的地系统可根据实际情况自行选择对应的密钥对生成方法来生成密钥对,优选的,在本申请中,为方便后续密钥对之间的加密和解密,本申请优选的选用ECC椭圆加密算法生成密钥对。其中,生成的源系统密钥对中包含源系统公钥和源系统私钥,源系统公钥是公开的,源系统私钥为私密的,仅保存在源系统中;生成的中转平台密钥对中包含中转平台公钥和中转平台私钥,中转平台公钥是公开的,中转平台私钥为私密,仅保存在中转平台中;同样的,生成的目的地系统密钥对中包含目的地系统公钥和目的地系统私钥,目的地系统公钥是公开的,目的地系统私钥为私密,仅保存在目的地系统中。
以上获取得到的公钥均可对外公开,但是对应的私钥均保存在各种的系统中,不会对外公开。
S102、所述源系统与所述中转平台之间进行所述源系统公钥和所述中转平台公钥的交换;
S103、所述中转平台和所述源系统进行密钥协商以生成对称密钥;
在本申请实施例中,当源系统和中转平台均生成各种的密钥对之后,进一步的,源系统为安全的将目标数据传输至中转平台,以使得中转平台将目标数据传输至目的地系统中,源系统首先会与源系统进行密钥协商以生成对称密钥,生成的对称密钥仅是在中转平台和源系统之间传输,具体的,对于对称密钥的生成可参考如下方法:
Diffie-Hellman密钥交换:这是一种非常流行的方法,允许双方在没有共享秘密的情况下通过不安全的通道安全地生成对称密钥。
RSA密钥交换:一方可以生成一个临时的RSA密钥对,并将RSA密钥对中的公钥发送给另一方,接收方使用这个公钥加密对称密钥,并将其发送回去。
预共享密钥协商:双方会预先共享一个密钥,这个预共享密钥可以直接作为对称密钥使用,或用于在不安全的通道上安全地协商新的密钥。
传输层安全性协议:尽管TLS通常用于客户端和服务器之间的安全通信,但它也可以用于安全的密钥协商。
量子密钥分发:QKD代表了一种利用量子力学原理来生成并分配绝对安全的密钥对的方法。
在实际应用中,选择哪一种密钥协商方法取决于具体的安全需求、性能要求以及双方的能力,例如,在计算资源受限的环境中,会选择更加轻量级的密钥协商方法,而在需要极高安全保证的情况下,则会采用更加复杂的协议。
在本申请中,中转平台和源系统可根据对应的方法生成对称密钥,在生成对称密钥之后,进一步的执行步骤S104。
S104、所述源系统使用所述对称密钥对目标数据进行加密得到加密数据,并使用源系统私钥在所述加密数据上进行加密并生成数字签名;
在本申请实施例中,当源系统和中转平台生成对称密钥之后,进一步的,源系统调取出需要发送至目的地系统的目标数据,并使用跟中转平台协商生成的对称密钥对目标数据进行加密得到加密数据,具体的,首先要确保加密数据是加密算法可以处理的形式,需要先进行数据压缩以减少加密数据的大小,若要加密的加密数据大小不符合加密算法的要求,则需要进行填充,以使数据符合加密算法块的大小要求。然后选定的对称加密算法和对称密钥对目标数据进行加密,加密完成后,生成的加密数据可以安全地存储在源系统中。进一步的,为保证传输到中转平台之后,加密数据的完整性和安全性,源系统会使用源系统私钥在加密数据上进行加密,并生成数字签名,具体的,源系统对加密数据使用哈希函数生成唯一的哈希值,哈希函数设计为单向函数,对于任何给定的数据都会产生一个固定长度的,独一无二的哈希值,但从哈希值不能反向推导出原始数据,在获取到加密数据的哈希值之后,源系统使用源系统私钥对哈希值进行加密,生成所谓的数字签名。在这一步骤中,源系统私钥作为加密的密钥,确保了只有拥有对应公钥的接收者才能验证签名,即只有源系统公钥才可解密哈希值。
S105、所述源系统将所述加密数据和所述数字签名发送至所述中转平台;
在本申请实施例中,源系统在获取到加密数据和对应的数字签名之后,为安全的将加密数据和数字签名传输到中转平台中,源系统与中转平台之间会搭建专门的数据传输通道,该数据传输通道可基于对称算法生成,确定在进行数据传输时,仅有源系统和中转平台之间进行通信,然后源系统将加密数据和数字签名共同打包后发送至中转平台。
S106、所述中转平台使用所述源系统公钥验证所述数字签名,当确定所述目标加密数据的完整性之后,所述中转平台与所述目的地系统进行目的地系统公钥和中转平台公钥的交换;
在本申请实施中,在中转平台接收到源系统发送的加密数据和对应的数字签名之后,为进一步验证在传输过程中加密数据未被解密或未被串改,保证加密数据的完整性,需要进一步对数字签名进行验证,由于源系统是使用源系统私钥对加密数据加密生成数字签名,因此仅可通过源系统公钥进行验证,具体的,中转平台将目标数据和数字签名进行分离,然后使用源系统公钥对数字签名进行解密,得到哈希值,由于源系统公钥和源系统私钥是一对匹配的密钥对,因此使用源系统公钥能成功解密源系统私钥加密的签名,从而得到原始的哈希值,进一步的,中转系统重新计算加密数据的哈希值,最后,源系统比较解密得到的哈希值和重新计算的哈希值,当确定两个哈希值相同,说明数据在传输过程中未被篡改,并且确定加密数据是来自源系统。
当源系统确定加密数据的完整性之后,中转平台会暂存加密数据,并依据加密数据上的标识确定接入中转平台的目的地系统,待确定目的地系统之后,中转平台与目的地系统进行目的地系统公钥和中转平台公钥的交换,即中转平台将中转平台公钥发送至目的地系统中,待目的地系统接收到中转平台公钥之后,根据中转平台公钥上的标识或IP地址,目的地系统将目的地系统公钥发送至中转平台中,以此完成双方的公钥交换。
S107、所述中转平台使用所述目的地系统公钥对所述加密数据进行加密得到目标加密数据,并将所述目标加密数据和所述源系统公钥发送至所述目的地系统;
在本申请实施例中,中转平台与目的地系统建立通信连接,并完成中转平台公钥和中转平台私钥的交换之后,中转平台使用得到的目的地系统公钥对加密数据进行加密,然后得到目标加密数据,其中,需要说明的是,中转平台使用目的地系统公钥对加密数据进行加密的方法与前述源系统对目标数据进行加密得到加密数据的方法类似,在此不再赘述,可根据实际情况进行选择。中转平台在得到目标加密数据之后,进一步的将目标加密数据和源系统公钥一起发送至目的地系统中。
S108、所述目的地系统使用所述目的地系统私钥解密所述目标加密数据得到所述加密数据;
在本申请实施例中,目的地系统接收中转平台发送的目标加密数据和源系统公钥,然后将源系统公钥进行暂存处理,由于目标加密数据是在加密数据的基础上使用目的地系统公钥进行加密,因此,即使在中转平台和目的地系统传输过程中数据被盗取,不法分子也无法获取到真正的目标数据。目的地系统会使用独有的目的地系统私钥解密目标加密数据之后得到加密数据,需要说明的事,在加密数据上会有源系统生成的数字签名,在目的地系统打开加密数据之前,为进一步验证加密数据的完整性,保证加密数据在被目的地系统进一步加密之前未被篡改,进一步的,目的地系统需要对数字签名进行验证,执行步骤S109。
S109、所述目的地系统使用源系统公钥对所述加密数据上的数字签名进行验证;
在本申请实施例中,目的地系统将源系统公钥调出,并对加密数据上的数字签名进行验证,对于数字签名的验证过程,可参考前述中转平台使用源系统公钥验证数字签名的过程,在此不再赘述。
S110、在验证成功之后,所述中转平台将所述对称密钥对发送至目的地系统,以使得所述目的地系统使用对称密钥对解锁所述加密数据,以得到所述源系统传输的所述目标数据。
在本申请实施例中,在目的地系统确定加密数据上的数字签名验证成功之后,进一步的,目的地系统将验证成功的反馈信息发送至中转平台,反馈信息包括加密数据的标识信息;之后中转平台根据反馈信息中的标识信息将对应的对称密钥调出,并将对应的对称密钥发送至目的地系统,以使得目的地系统使用对称密钥解锁加密数据,从而得到源系统传输的目标数据。
对于数据流通处理方法的处理过程的代码示例可参考以下内容:
import hashlib
import hmac
from cryptography.hazmat.primitives import serialization
from cryptography.hazmat.primitives.asymmetric import rsa
from cryptography.hazmat.primitives import hashes
from cryptography.hazmat.primitives.asymmetric import padding
from cryptography.hazmat.primitives.ciphers import Cipher,algorithms, modes
from cryptography.hazmat.primitives import padding as symmetric_padding
# 生成密钥对
def generate_key_pair():
private_key =rsa.generate_private_key(public_exponent=65537, key_size=2048)
public_key = private_key.public_key()
return private_key, public_key
# 密钥交换
def exchange_public_keys(source_system, relay_platform):
source_system.public_key = relay_platform.public_key
relay_platform.public_key = source_system.public_key
# 密钥协商
def negotiate_symmetric_key(source_system, relay_platform):
symmetric_key = os.urandom(32)
source_system.symmetric_key = symmetric_key
relay_platform.symmetric_key = symmetric_key
return symmetric_key
# 加密目标数据
def encrypt_data(source_system, data):
cipher = Cipher(algorithms.AES(source_system.symmetric_key),modes.ECB())
encryptor = cipher.encryptor()
padder =symmetric_padding.PKCS7(algorithms.AES.block_size).padder()
padded_data = padder.update(data) + padder.finalize()
encrypted_data = encryptor.update(padded_data) + encryptor.finalize()
return encrypted_data
# 生成数字签名
def sign_data(source_system, data):
signature = source_system.private_key.sign(
data,
padding.PSS(
mgf=padding.MGF1(hashes.SHA256()),
salt_length=padding.PSS.MAX_LENGTH
),
hashes.SHA256()
)
return signature
# 验证数字签名
def verify_signature(destination_system, data, signature):
try:
destination_system.public_key.verify(
signature,
data,
padding.PSS(
mgf=padding.MGF1(hashes.SHA256()),
salt_length=padding.PSS.MAX_LENGTH
),
hashes.SHA256()
)
return True
except:
return False
# 解密数据
def decrypt_data(destination_system, encrypted_data):
cipher = Cipher(algorithms.AES(destination_system.symmetric_key),modes.ECB())
decryptor = cipher.decryptor()
decrypted_data = decryptor.update(encrypted_data) +decryptor.finalize()
unpadder = symmetric_padding.PKCS7(algorithms.AES.block_size).unpadder()
data = unpadder.update(decrypted_data) + unpadder.finalize()
return data.
该代码示例中涉及到几个加密和数据传输的过程中,具体的,在数据传输的安全保障中,源系统、中转平台和目的地系统各自生成RSA密钥对,包括公钥和私钥,源系统与中转平台首先交换公钥,随后中转平台与目的地系统也进行公钥交换,源系统和中转平台通过协商生成一个对称密钥,用于对目标数据进行AES加密,源系统对加密数据使用自己的私钥生成数字签名,以确保数据的完整性和身份验证,加密数据和数字签名被发送至中转平台,中转平台使用源系统的公钥验证签名后,将加密数据转发给目的地系统,中转平台与目的地系统交换公钥,并对加密数据再次加密,增加保护层,目的地系统接收后,使用自己的私钥解密,得到原始加密数据,并使用源系统的公钥验证数字签名,验证成功后,中转平台将协商出的对称密钥传输给目的地系统,目的地系统使用该密钥解密加密数据,最终获得源系统传输的原始目标数据,这一流程通过加密和签名确保了数据在传输过程中的安全性和完整性。
本申请数据流通处理方法有效地提升了数据传输的安全性和效率。具体来说,源系统、中转平台和目的地系统各自生成自己的密钥对,并通过密钥协商生成对称密钥,确保了数据加密的强度,源系统不仅使用对称密钥加密数据,还利用自己的私钥对加密数据生成数字签名,增加了数据传输的安全层级,且中转平台在验证数字签名无误后,负责与目的地系统交换公钥,并使用目的地系统公钥进一步加密已加密的数据,再将其发送给目的地系统,目的地系统通过自己的私钥解密数据,再用源系统公钥验证数字签名,确保了数据的完整性和发送方的身份验证,最后,中转平台将对称密钥安全地发送至目的地系统,以解锁加密数据,实现安全的数据传输。
本申请方案中利用了对称和非对称加密的优点,结合数字签名确保了数据传输的机密性、完整性和发送方身份的真实性,中转平台的介入,减轻了密钥管理的复杂性,同时降低了直接密钥交换的安全风险,确保了整个传输过程的高效性和安全性,从而有效减少或避免大规模数据泄露的事件发生,极大的提高数据传输的安全性。
请参阅图2至图3,本申请提供了一个数据流通处理方法的另一个实施例,所述数据流通处理方法应用在源系统、中转平台和目的地系统,该实施例包括:
S201、所述源系统、所述中转平台和所述目的地系统分别生成源系统密钥对、中转平台密钥对和目的地系统密钥对,所述源系统密钥对包括源系统公钥和源系统私钥,所述中转平台密钥对包括中转平台公钥和中转平台私钥,所述目的地系统密钥对包括目的地系统公钥和目的地系统私钥;
在本申请实施例中,对于源系统、中转平台和目的地系统生成对应的源系统密钥对、中转平台密钥对和目的地系统密钥对,具体的,是通过ECC椭圆曲线算法进行生成,对于使用ECC椭圆曲线算法生成的步骤和过程,现进行如下说明:
源系统密钥对的生成过程:
确定第一素数P1,P1是有限域的基础;
定义第一椭圆曲线:,其中,a和b是所述第一椭圆曲线方程上的曲线参数,a和b需满足以下条件:,以确保所述第一椭圆曲线上无奇点;
在第一椭圆曲线上选择一个基点G1;
定义源系统私钥d1,d1是一个随机定义的一个正整数,d1的范围[1,n-1],其中n是基点G1的阶,即是最小的正整数n;
根据所述第一椭圆曲线上的点乘运算计算源系统公钥Q1,Q1=d1*G1;
获取所述源系统公钥Q1和源系统私钥d1;
中转平台密钥对的生成过程:
确定第二素数P2,P2是有限域的基础;
定义第二椭圆曲线:,其中,a和b是所述第二椭圆曲线方程上的曲线参数,a和b需满足以下条件:,以确保所述第二椭圆曲线上无奇点;
在第二椭圆曲线上选择一个基点G2;
定义中转平台私钥d2,d2是一个随机定义的一个正整数,d2的范围[1,n-1],其中n是基点G2的阶,即是最小的正整数n;
根据所述第二椭圆曲线上的点乘运算计算源系统公钥Q2,Q2=d2*G2;
获取所述中转平台公钥Q2和中转平台私钥d2。
目的地系统密钥对的生成过程:
确定第三素数P3,P3是有限域的基础;
定义第三椭圆曲线:,其中,a和b是所述第三椭圆曲线方程上的曲线参数,a和b需满足以下条件:,以确保所述第三椭圆曲线上无奇点;
在第三椭圆曲线上选择一个基点G3;
定义目的地系统私钥d3,d3是一个随机定义的一个正整数,d3的范围[1,n-1],其中n是基点G3的阶,即是最小的正整数n;
根据所述第三椭圆曲线上的点乘运算计算源系统公钥Q3,Q3=d3*G3;
获取所述目的地公钥Q3和所述目的地系统私钥d3。
其中,需要说明的是,对于生成源系统密钥对,中转平台密钥对和目的地系统密钥对的第一椭圆曲线、第二椭圆曲线和第三椭圆曲线之间,可采用相同的椭圆曲线方程也可使用不同的椭圆曲线方程,可通过调整椭圆曲线方程上的a和b进行选定。
尽管均是采用ECC椭圆曲线算法计算对应的密钥对,但生成的源系统密钥对、中转平台密钥对和目的地系统密钥对均不相同,以使得在后续进行加密和传输过程中进行有效的区分。在获取得到源系统密钥对、中转平台密钥对和目的地系统密钥对之后,执行步骤S202。
S202、所述源系统与所述中转平台之间进行所述源系统公钥和所述中转平台公钥的交换;
在本申请实施例中,当源系统和中转平台均生成各种的密钥对之后,进一步的,源系统为安全的将目标数据传输至中转平台,以使得中转平台将目标数据传输至目的地系统中,源系统首先会与源系统进行密钥协商以生成对称密钥,生成的对称密钥仅是在中转平台和源系统之间传输,具体的,对于对称密钥的生成可参考如下方法:
Diffie-Hellman密钥交换:这是一种非常流行的方法,允许双方在没有共享秘密的情况下通过不安全的通道安全地生成对称密钥。
RSA密钥交换:一方可以生成一个临时的RSA密钥对,并将RSA密钥对中的公钥发送给另一方,接收方使用这个公钥加密对称密钥,并将其发送回去。
预共享密钥协商:双方会预先共享一个密钥,这个预共享密钥可以直接作为对称密钥使用,或用于在不安全的通道上安全地协商新的密钥。
传输层安全性协议:尽管TLS通常用于客户端和服务器之间的安全通信,但它也可以用于安全的密钥协商。
量子密钥分发:QKD代表了一种利用量子力学原理来生成并分配绝对安全的密钥对的方法。
在实际应用中,选择哪一种密钥协商方法取决于具体的安全需求、性能要求以及双方的能力,例如,在计算资源受限的环境中,会选择更加轻量级的密钥协商方法,而在需要极高安全保证的情况下,则会采用更加复杂的协议,在本申请中,中转平台和源系统可根据对应的方法生成对称密钥。
S203、所述源系统根据所述中转平台公钥对认证信息进行加密,并将加密后的认证信息发送至所述中转平台;
在本申请实施例中,源系统在将源系统公钥发送至中转平台,中转平台将中转平台公钥发送至源系统之后,进一步的,在源系统与中转平台进行通信之前,双方需要先进行验证,具体的,源系统使用得到的中转平台公钥对认证信息进行加密,具体的,可使用ECC椭圆曲线算法或其他对称算法进行加密,通过此过程是为了保证源系统与中转平台之间的交互独立性,即使认证信息被第三方获取,但由于第三方不存在中转平台私钥,因此无法准确的获取认证信息,从而也就无法得到是哪一个源系统正在与中转平台进行交互,起到隐蔽并保护源系统的作用。源系统将认证信息通过中转平台公钥进行加密之后,并将加密后的认证信息发送至中转平台中,从而进行下一步的认证过程。
S204、所述中转平台使用所述中转平台私钥对所述认证信息进行解密;
在本申请实施例中,中转平台在接收到认证信息之后,进一步的,当中转平台获知是从源系统上获取时,则中转平台直接调用中转平台私钥,并使用中转平台私钥对认证信息进行解密,从而得到认证信息的内容,在该认证信息中包括但不限于以下信息:源系统的IP地址、源系统所要传输的数据类型、源系统的认证信息类型等。
S205、当所述中转平台验证所述认证信息正确之后,所述中转平台和所述源系统进行密钥协商以生成对称密钥;
在本申请实施例中,当中转平台确定认证信息正确之后,源系统与中转平台之间则构建对应的数据传输通道,以使得中转平台与源系统之间进行秘钥协商以生成对称密钥,生成对称密钥的过程可参照如下方式:
中转平台和源系统选定目标椭圆曲线以及目标椭圆曲线上的一个基点G,其中,该目标椭圆曲线是中转平台和源系统共同选定,该基点则是一个随机的点数,且该基点G是双方均认同的。然后中转平台随机选择一个私钥dA,并计算相应的公钥QA = dA times G,其中G是基点,“times”表示乘法操作,"dA times G"可以理解为"将dA乘以G",用于进行数学运算,计算QA的值,之后出现的“times”与此相同,之后不做赘述。接着中转平台将公钥QA发送给源系统;源系统随机选择一个私钥dB,并计算相应的公钥QB = dB times G,其中G是基点;源系统将公钥QB发送给所述中转平台;
中转平台使用私钥dA和公钥QB计算共享密钥S = dAtimesQB);源系统使用私钥dB和公钥QA计算共享密钥S = dBtimesQA;根据算法原理可知,中转平台和源系统计算得到的共享密钥S是相同的,为进一步提高共享密钥的安全性,源系统和中转平台使用共享密钥S作为种子,并通过共享密钥派生函数KDF生成对称密钥。
进一步的:在通过共享密钥派生函数KDF生成对称密钥中,具体可参照如下方法:
首先确定HMAC的密钥派生函数,并为HMAC的密钥派生函数设置迭代次数和密钥长度信息,对于迭代次数和密钥长度信息,可预先进行选定,选定后的信息是双方均认同的,之后选定目标随机数D,并将目标随机数D、共享密钥S、预先设定的迭代次数信息和密钥长度信息输入HMAC的密钥派生函数中进行派生处理,在经过派生处理之后得到对称密钥。
S206、所述源系统计算所述目标数据的哈希值,并将哈希值与所述对称密钥结合生成目标对称密钥;
在本申请实施例中,源系统与中转平台共同协商生成对称密钥之后,对称密钥会保存在源系统和中转平台中,双方均可进行调用,并使用对称密钥进行后续的会话通信或数据传输。具体的,为进一步提高数据传输的安全性,源系统首先计算目标数据的哈希值,并将哈希值与对称密钥结合后生成目标对称密钥,由于在对称密钥的基础上再结合哈希值生成的目标对称密钥会具有很强的安全性,哈希值是由散列函数生成的一个固定大小的数字,通常是一串字母和数字的组合,它是任意大小的数据的数字“指纹”或“摘要”,散列函数的设计使得它能将不定长度的输入数据映射到固定长度的输出,且哈希值具有不可逆性,两者结合之后可生成强安全性的目标对称密钥。
S207、所述源系统通过所述目标对称密钥对所述目标数据进行加密后得到所述加密数据;
在本申请实施例中,源系统在获取得到目标对称密钥之后,进一步的,会选择对应的密钥加密算法,如高级加密标准算法、数据加密标准算法和三重数据加密算法等,源系统使用目标对称密钥和所选的加密算法对目标数据进行加密,在这个过程中,目标数据在所选的加密算法和目标对称密钥的作用转换成了加密数据,在整个目标数据的加密过程通常涉及多个转换和替换步骤,这些步骤共同确保了目标数据的安全性。
S208、所述源系统计算所述加密数据的目标哈希值;
在本申请实施例中,源系统在获取到加密数据之后,进一步的,为提高加密数据传输至中转平台的完整性,并使得中转平台进行验证,具体的,源系统计算加密数据的目标哈希值,加密数据的目标哈希值可通过如下方式获取:
一、所述源系统使用SHA-256算法和SHA-3算法分别计算所述加密数据的第一哈希值和第二哈希值;所述源系统将所述第一哈希值和所述第二哈希值结合后得到所述目标哈希值。
在本申请实施例中,源系统首先使用SHA-256算法计算出加密数据的第一哈希值之后,接着使用SHA-3算法计算出加密数据的第二哈希值,其中,
通过结合SHA-256算法和SHA-3算法可以降低碰撞攻击的风险,SHA-256算法和SHA-3算法是基于不同的设计原理,SHA-256是基于Merkle-Damgård结构,而SHA-3是基于Keccak算法,它们对抗攻击的方式不同,这种多样性可以提供更多层次的安全保障,数据在传输或存储期间会遭受破坏,两个独立计算的哈希值可以提供更强的数据完整性检查,减少数据错误和篡改的风险。
在计算得到第一哈希值和第二哈希值之后,进一步的,源系统将第一哈希值和第二哈希值结合后得到目标哈希值,具体的,可通过串联的方式将第一哈希值和第二哈希值进行结合,当串联两个哈希值时,最终的目标哈希值的长度会是第一哈希值和第二哈希值长度的总和。
二、所述源系统将所述加密数据分成若干块数据,并分别计算每块数据的哈希值;所述源系统使用默克尔树来组合每块数据的哈希值以得到所述目标哈希值。
在本申请实施例中,在将加密数据分成若干块数据,并分别计算每块数据的哈希值之后,应用默克尔树来组合每块数据的哈希值以得到目标哈希值,其中,默克尔树是一种二叉树,其中每个叶节点包含了数据块的哈希值,而非叶节点则存储着其子节点哈希值的组合,通过这种方式可验证数据的完整性。
具体的,在处理加密数据时,首先将数据分成若干块,每块的大小可以根据实际需求进行调整,这样做的好处是可以并行处理,提高数据处理效率。然后进一步计算每块数据的哈希值,哈希值是一种固定长度的字符串,它是对数据块内容的唯一标识,即使数据块的内容发生微小的改变,其哈希值也会发生显著的变化,这使得哈希值成为数据完整性和真实性的重要指标。
然后利用默克尔树的结构,将每块加密数据的哈希值作为叶节点,通过哈希函数组合相邻叶节点的哈希值,生成非叶节点的哈希值。这个过程一直向上进行,直到生成一个根节点,这个根节点的哈希值就是所谓的“目标哈希值”。这个目标哈希值是对整个数据集的一个简洁表示,它可以用来验证整个加密数据集的完整性和真实性。
当需要验证加密数据时,只需计算目标哈希值并与原始的目标哈希值进行比较,如果两者一致,那么就说明加密数据在传输或存储过程中没有被篡改,保持了完整性,如果目标哈希值不一致,那则说明加密数据存在问题,需要进一步处理。通过这种使用默克尔树的方法,不仅提高了加密数据处理的效率,也保证了加密数据的安全性和完整性。
三、所述源系统使用SHA-256算法计算所述加密数据的一类哈希值;所述源系统使用SHA-3算法计算所述源系统公钥和所述源系统私钥的二类哈希值和三类哈希值;所述源系统使用默克尔树来组合所述一类哈希值、所述二类哈希值和所述三类哈希值以得到所述目标哈希值;
在本申请实施例中,源系统使用了SHA-256算法来计算加密数据的一类哈希值,SHA-256算法是一种先进的加密哈希算法,具有极高的安全性和稳定性,能够有效保证数据的完整性和真实性。通过这种算法,源系统能够将加密数据转化为一个固定长度的哈希值,这个哈希值具有唯一的标识性,即使原始数据发生微小的变化,也会导致哈希值发生显著的变化。
除了计算加密数据得到一类哈希值外,源系统还使用了SHA-3算法来计算源系统公钥和源系统私钥的二类哈希值和三类哈希值,通过对源系统公钥和源系统私钥进行哈希计算,源系统能够进一步确保数据传输的安全性,防止密钥被窃取或篡改。
为了进一步增强数据的安全性,源系统采用了默克尔树来组合一类哈希值、二类哈希值和三类哈希值,从而得到最终的目标哈希值。默克尔树是一种高效的数据结构,它能够将多个哈希值组合成一个唯一的哈希值,这样就能够检测出数据的任何微小改动。通过默克尔树的应用,源系统能够在数据传输过程中实现端到端的数据完整性验证,确保数据在传输过程中没有被篡改或伪造。
因此,源系统通过使用SHA-256和SHA-3算法以及默克尔树来生成目标哈希值的方法,实现了对数据的高效、安全传输和验证,这种机制不仅具有强大的加密能力和抗破解能力,还能够及时发现并应对数据被篡改的风险,为数据传输的安全性提供了坚实的保障。
S209、所述源系统使用所述源系统私钥对所述目标哈希值进行加密以生成数字签名;
在本申请实施例中,源系统在获取到目标哈希值之后,使用源系统私钥对目标哈希值进行加密以生成数字签名,具体的,源系统首先从非对称算法RSA、ECDSA或DSA等算法中挑出对应的算法之后,再将目标哈希值传递给挑出的非对称加密算法,该算法使用私钥对哈希值进行加密,产生加密后的输出,这就是数字签名。生成的数字签名具备极高的独特性和不可伪造性,数字签名中蕴含了源系统的身份信息和哈希值的加密结果。
S210、所述源系统将所述加密数据和所述数字签名发送至所述中转平台;
在本申请实施例中,源系统在获取到加密数据和对应的数字签名之后,为安全的将加密数据和数字签名传输到中转平台中,源系统与中转平台之间会搭建专门的数据传输通道,该数据传输通道可基于对称算法生成,确定在进行数据传输时,仅有源系统和中转平台之间进行通信,然后源系统将加密数据和数字签名共同打包后发送至中转平台。
S211、所述中转平台使用所述源系统公钥验证所述数字签名,当确定所述目标加密数据的完整性之后,所述中转平台与所述目的地系统进行目的地系统公钥和中转平台公钥的交换;
在本申请实施中,在中转平台接收到源系统发送的加密数据和对应的数字签名之后,为进一步验证在传输过程中加密数据未被解密或未被串改,保证加密数据的完整性,需要进一步对数字签名进行验证,由于源系统是使用源系统私钥对加密数据加密生成数字签名,因此仅可通过源系统公钥进行验证,具体的,中转平台将目标数据和数字签名进行分离,然后使用源系统公钥对数字签名进行解密,得到哈希值,由于源系统公钥和源系统私钥是一对匹配的密钥对,因此使用源系统公钥能成功解密源系统私钥加密的签名,从而得到原始的哈希值,进一步的,中转系统重新计算加密数据的哈希值,最后,源系统比较解密得到的哈希值和重新计算的哈希值,当确定两个哈希值相同,说明数据在传输过程中未被篡改,并且确定加密数据是来自源系统。
当源系统确定加密数据的完整性之后,中转平台会暂存加密数据,并依据加密数据上的标识确定接入中转平台的目的地系统,待确定目的地系统之后,中转平台与目的地系统进行目的地系统公钥和中转平台公钥的交换,即中转平台将中转平台公钥发送至目的地系统中,待目的地系统接收到中转平台公钥之后,根据中转平台公钥上的标识或IP地址,目的地系统将目的地系统公钥发送至中转平台中,以此完成双方的公钥交换。
S212、所述中转平台使用所述目的地系统公钥对所述加密数据进行加密得到目标加密数据,并将所述目标加密数据和所述源系统公钥发送至所述目的地系统;
在本申请实施例中,中转平台与目的地系统建立通信连接,并完成中转平台公钥和中转平台私钥的交换之后,中转平台使用得到的目的地系统公钥对加密数据进行加密,然后得到目标加密数据,其中,需要说明的是,中转平台使用目的地系统公钥对加密数据进行加密的方法与前述源系统对目标数据进行加密得到加密数据的方法类似,在此不再赘述,可根据实际情况进行选择。中转平台在得到目标加密数据之后,进一步的将目标加密数据和源系统公钥一起发送至目的地系统中。
S213、所述目的地系统使用所述目的地系统私钥解密所述目标加密数据得到所述加密数据;
在本申请实施例中,目的地系统接收中转平台发送的目标加密数据和源系统公钥,然后将源系统公钥进行暂存处理,由于目标加密数据是在加密数据的基础上使用目的地系统公钥进行加密,因此,即使在中转平台和目的地系统传输过程中数据被盗取,不法分子也无法获取到真正的目标数据。目的地系统会使用独有的目的地系统私钥解密目标加密数据之后得到加密数据,需要说明的事,在加密数据上会有源系统生成的数字签名,在目的地系统打开加密数据之前,为进一步验证加密数据的完整性,保证加密数据在被目的地系统进一步加密之前未被篡改,进一步的,目的地系统需要对数字签名进行验证。
S214、所述目的地系统使用源系统公钥对所述加密数据上的数字签名进行验证;
在本申请实施例中,目的地系统将源系统公钥调出,并对加密数据上的数字签名进行验证,对于数字签名的验证过程,可参考前述中转平台使用源系统公钥验证数字签名的过程,在此不再赘述。
S215、在验证成功之后,所述中转平台将所述对称密钥对发送至目的地系统,以使得所述目的地系统使用对称密钥对解锁所述加密数据,以得到所述源系统传输的所述目标数据。
在本申请实施例中,在目的地系统确定加密数据上的数字签名验证成功之后,进一步的,目的地系统将验证成功的反馈信息发送至中转平台,反馈信息包括加密数据的标识信息;之后中转平台根据反馈信息中的标识信息将对应的对称密钥调出,并将对应的对称密钥发送至目的地系统,以使得目的地系统使用对称密钥解锁加密数据,从而得到源系统传输的目标数据。
请参阅图4至图5,本申请提供了一个数据流通处理方法的另一个实施例,所述数据流通处理方法应用在源系统、中转平台和目的地系统,该实施例包括:
S301、所述源系统、所述中转平台和所述目的地系统分别生成源系统密钥对、中转平台密钥对和目的地系统密钥对,所述源系统密钥对包括源系统公钥和源系统私钥,所述中转平台密钥对包括中转平台公钥和中转平台私钥,所述目的地系统密钥对包括目的地系统公钥和目的地系统私钥;
在本申请实施例中,生成密钥对的过程通常涉及以下步骤:
选择算法:首先根据安全需求和应用环境选择一个非对称加密算法;
生成参数:对于例如ECC和DSA算法中,必须首先生成或选择一组适当的参数;
生成密钥对:使用选择的算法和参数生成一对密钥,其中一个被称为公钥,另一个被称为私钥,公钥可以公开分享,而私钥必须保密。
对于上述密钥对的生成方法,源系统、中转平台和目的地系统可根据实际情况自行选择对应的密钥对生成方法来生成密钥对,优选的,在本申请中,为方便后续密钥对之间的加密和解密,本申请优选的选用ECC椭圆加密算法生成密钥对。其中,生成的源系统密钥对中包含源系统公钥和源系统私钥,源系统公钥是公开的,源系统私钥为私密的,仅保存在源系统中;生成的中转平台密钥对中包含中转平台公钥和中转平台私钥,中转平台公钥是公开的,中转平台私钥为私密,仅保存在中转平台中;同样的,生成的目的地系统密钥对中包含目的地系统公钥和目的地系统私钥,目的地系统公钥是公开的,目的地系统私钥为私密,仅保存在目的地系统中。以上获取得到的公钥均可对外公开,但是对应的私钥均保存在各种的系统中,不会对外公开。
S302、所述源系统与所述中转平台之间进行所述源系统公钥和所述中转平台公钥的交换;
S303、所述中转平台和所述源系统进行密钥协商以生成对称密钥;
在本申请实施例中,当源系统和中转平台均生成各种的密钥对之后,进一步的,源系统为安全的将目标数据传输至中转平台,以使得中转平台将目标数据传输至目的地系统中,源系统首先会与源系统进行密钥协商以生成对称密钥,生成的对称密钥仅是在中转平台和源系统之间传输,具体的,对于对称密钥的生成可参考如下方法:
Diffie-Hellman密钥交换:这是一种非常流行的方法,允许双方在没有共享秘密的情况下通过不安全的通道安全地生成对称密钥。
RSA密钥交换:一方可以生成一个临时的RSA密钥对,并将RSA密钥对中的公钥发送给另一方,接收方使用这个公钥加密对称密钥,并将其发送回去。
预共享密钥协商:双方会预先共享一个密钥,这个预共享密钥可以直接作为对称密钥使用,或用于在不安全的通道上安全地协商新的密钥。
传输层安全性协议:尽管TLS通常用于客户端和服务器之间的安全通信,但它也可以用于安全的密钥协商。
量子密钥分发:QKD代表了一种利用量子力学原理来生成并分配绝对安全的密钥对的方法。
在实际应用中,选择哪一种密钥协商方法取决于具体的安全需求、性能要求以及双方的能力,例如,在计算资源受限的环境中,会选择更加轻量级的密钥协商方法,而在需要极高安全保证的情况下,则会采用更加复杂的协议,在本申请中,中转平台和源系统可根据对应的方法生成对称密钥。
S304、所述源系统使用所述对称密钥对目标数据进行加密得到加密数据,并使用源系统私钥在所述加密数据上进行加密并生成数字签名;
在本申请实施例中,当源系统和中转平台生成对称密钥之后,进一步的,源系统调取出需要发送至目的地系统的目标数据,并使用跟中转平台协商生成的对称密钥对目标数据进行加密得到加密数据,具体的,首先要确保加密数据是加密算法可以处理的形式,需要先进行数据压缩以减少加密数据的大小,若要加密的加密数据大小不符合加密算法的要求,则需要进行填充,以使数据符合加密算法块的大小要求。然后选定的对称加密算法和对称密钥对目标数据进行加密,加密完成后,生成的加密数据可以安全地存储在源系统中。进一步的,为保证传输到中转平台之后,加密数据的完整性和安全性,源系统会使用源系统私钥在加密数据上进行加密,并生成数字签名,具体的,源系统对加密数据使用哈希函数生成唯一的哈希值,哈希函数设计为单向函数,对于任何给定的数据都会产生一个固定长度的,独一无二的哈希值,但从哈希值不能反向推导出原始数据,在获取到加密数据的哈希值之后,源系统使用源系统私钥对哈希值进行加密,生成所谓的数字签名。在这一步骤中,源系统私钥作为加密的密钥,确保了只有拥有对应公钥的接收者才能验证签名,即只有源系统公钥才可解密哈希值。
S305、所述源系统将所述加密数据分割成若干个数据包;
在本申请实施例中,源系统在得到加密数据之后,需要先将加密数据分割成若干个数据包,数据包会经过多个网络节点和传输介质,如果整个加密数据作为一个整体进行传输,一旦数据包在传输过程中被截取,攻击者会获得整个加密数据的内容,从而威胁到数据的安全性,因此,通过将加密数据分割成若干个数据包,可以降低数据包被截取的风险。
在加密数据分包过程中,源系统会根据加密数据的大小和网络的带宽等因素,将加密数据分割成适当大小的数据包,每个数据包都会包含一部分加密数据以及必要的元数据,如数据包的序号、源地址和目标地址等,这样,即使数据包在传输过程中发生丢失或损坏,接收系统也可以通过元数据来重新构建原始的加密数据。
此外,为了进一步提高数据传输的安全性,还可以采用一些先进的加密技术和传输协议。例如,可以使用公钥加密技术对每个数据包进行加密,确保只有拥有相应私钥的接收系统才能解密数据包的内容。同时,也可以采用可靠的传输协议,如TCP(传输控制协议),确保数据包能够按照正确的顺序到达目的地,并避免数据包在传输过程中被篡改或重复。
S306、所述源系统确定传输至所述中转平台的若干个传输通道;
在本申请实施例中,在将加密数据分割成若干个数据包之后,为了进一步确定源系统与中转平台的传输通道,传输通道需要多个,以使得若干个数据包均可通过不同的传输通道传输至中转平台中,每个数据包可以通过预先设定的或动态选择的传输通道进行发送,要确保不同传输通道的负载均衡,避免某一传输通道过载而导致的延迟或数据丢失,这可通过软件定义网络(SDN)或其他网络负载均衡技术来实现。
其中,需要说明的是,所有的传输通道均应使用TLS或SSL等加密协议加密,这是为了保护数据在传输过程中的安全性和隐私,且在传输通道中应部署入侵检测系统(IDS)和入侵防御系统(IPS),以识别并阻止潜在的恶意流量和攻击尝试。
S307、所述源系统将所述若干个数据包和所述数字签名通过所述若干个传输通道传输至所述中转平台,所述若干个数据包上均对应有所述数字签名;
在本申请实施例中,在将传输通道搭建完成之后,进一步的,源系统将若干个数据包和对应的数字签名通过传输通道传输至中转平台中,在进行传输时,每个数据包都有一个唯一的序列号,以便在中转平台进行组装时能够正确地恢复为原始数据,且每个数据包到达中转平台后需要经过完整性校验,确保数据在传输过程中未被篡改,这个过程可通过数字签名进行验证,如果某个数据包在传输过程中丢失或被损坏,中转平台检测到这一情况之后,会发送一个重传响应给到源系统,以使得源系统重新发送数据包至中转平台中。
S308、所述中转平台使用所述源系统公钥验证所述数字签名;
在本申请实施例中,中转平台接收若干个传输通道的若干个数据包和数字签名,为确保传输过来的若干个数据包的完整性,中转平台将源系统公钥进行调取,并使用源系统公钥验证若干个数据包上的数字签名,验证成功后,中转平台将确认数据包的完整性和真实性,从而避免数据在传输过程中被篡改或损坏。同时,中转平台还将对数据包进行排序和整合,以确保它们按照正确的顺序和格式重新合成加密数据。
S309、当确定所述加密数据的完整性之后,所述中转平台与所述目的地系统进行目的地系统公钥和中转平台公钥的交换;
在本申请实施例中,当中转平台得到目标加密数据,并确定目标加密数据的完整性之后,进一步的,中转平台要将加密数据发送至目的地系统中,从而完成源系统到目的地系统的数据传输,具体的,中转平台根据加密数据上的标识确定目的地系统,然后中转平台向目的地系统发送接收指令;当中转平台获取目的地系统反馈的确认指令后,中转平台和所述目的地系统构建安全传输通道;中转平台将中转平台公钥通过安全传输通道发送至目的地系统;待目的地系统获取到中转平台公钥之后,验证中转平台公钥的IP地址与接收指令的IP地址是否一致;若是,则目的地系统将所述目的地系统公钥发送至中转平台。
中转平台接收到目的地系统公钥后,会进行公钥验证,以确保数据传输的安全性。验证过程包括检查公钥的有效期、公钥的签名等。一旦验证通过,中转平台就可以使用这对公钥和私钥进行加密和解密操作,确保数据在传输过程中的安全性。
S310、所述中转平台使用所述目的地系统公钥对所述加密数据进行加密得到目标加密数据,并将所述目标加密数据和所述源系统公钥发送至所述目的地系统;
在本申请实施例中,中转平台与目的地系统建立通信连接,并完成中转平台公钥和中转平台私钥的交换之后,中转平台使用得到的目的地系统公钥对加密数据进行加密,然后得到目标加密数据,其中,需要说明的是,中转平台使用目的地系统公钥对加密数据进行加密的方法与前述源系统对目标数据进行加密得到加密数据的方法类似,在此不再赘述,可根据实际情况进行选择。中转平台在得到目标加密数据之后,进一步的将目标加密数据和源系统公钥一起发送至目的地系统中。
S311、所述目的地系统使用所述目的地系统私钥解密所述目标加密数据得到所述加密数据;
在本申请实施例中,目的地系统接收中转平台发送的目标加密数据和源系统公钥,然后将源系统公钥进行暂存处理,由于目标加密数据是在加密数据的基础上使用目的地系统公钥进行加密,因此,即使在中转平台和目的地系统传输过程中数据被盗取,不法分子也无法获取到真正的目标数据。目的地系统会使用独有的目的地系统私钥解密目标加密数据之后得到加密数据,需要说明的事,在加密数据上会有源系统生成的数字签名,在目的地系统打开加密数据之前,为进一步验证加密数据的完整性,保证加密数据在被目的地系统进一步加密之前未被篡改,进一步的,目的地系统需要对数字签名进行验证,执行步骤S312。
S312、所述目的地系统使用源系统公钥对所述加密数据上的数字签名进行验证;
在本申请实施例中,目的地系统将源系统公钥调出,并对加密数据上的数字签名进行验证,对于数字签名的验证过程,可参考前述中转平台使用源系统公钥验证数字签名的过程,在此不再赘述。
S313、在验证成功之后,所述中转平台将所述对称密钥对发送至目的地系统,以使得所述目的地系统使用对称密钥对解锁所述加密数据,以得到所述源系统传输的所述目标数据。
在本申请实施例中,在目的地系统确定加密数据上的数字签名验证成功之后,进一步的,目的地系统将验证成功的反馈信息发送至中转平台,反馈信息包括加密数据的标识信息;之后中转平台根据反馈信息中的标识信息将对应的对称密钥调出,并将对应的对称密钥发送至目的地系统,以使得目的地系统使用对称密钥解锁加密数据,从而得到源系统传输的目标数据。
本申请数据流通处理方法有效地提升了数据传输的安全性和效率。具体来说,源系统、中转平台和目的地系统各自生成自己的密钥对,并通过密钥协商生成对称密钥,确保了数据加密的强度,源系统不仅使用对称密钥加密数据,还利用自己的私钥对加密数据生成数字签名,增加了数据传输的安全层级,且中转平台在验证数字签名无误后,负责与目的地系统交换公钥,并使用目的地系统公钥进一步加密已加密的数据,再将其发送给目的地系统,目的地系统通过自己的私钥解密数据,再用源系统公钥验证数字签名,确保了数据的完整性和发送方的身份验证,最后,中转平台将对称密钥安全地发送至目的地系统,以解锁加密数据,实现安全的数据传输。
请参阅图6至图7,本申请提供了一个数据流通处理方法的另一个实施例,所述数据流通处理方法应用在源系统、中转平台和目的地系统,该实施例包括:
S401、所述源系统、所述中转平台和所述目的地系统分别生成源系统密钥对、中转平台密钥对和目的地系统密钥对,所述源系统密钥对包括源系统公钥和源系统私钥,所述中转平台密钥对包括中转平台公钥和中转平台私钥,所述目的地系统密钥对包括目的地系统公钥和目的地系统私钥;
在源系统、中转平台和目的地系统进行数据流通处理之前,首先源系统、中转平台和目的地系统首先生成各位的密钥对,其中,密钥对生成通常涉及到非对称加密技术,其中最常用的方法包括:
RSA (Rivest-Shamir-Adleman):是最早和最广泛使用的非对称加密算法之一,RSA 是基于一个简单的数论事实,将两个大质数相乘是容易的,但是对其乘积进行因数分解却极其困难,RSA算法的安全性建立在大数分解问题的难度上。
ECC (Elliptic Curve Cryptography):相比于RSA,ECC可以提供相同级别的安全性,同时使用更短的密钥长度,这意味着更快的处理速度和更低的资源消耗。
DSA (Digital Signature Algorithm):是一种标准的数字签名算法,也可以用于生成密钥对。它基于模素数的离散对数问题,特别适合用于签名验证过程。
Diffie-Hellman密钥交换协议:虽然它本身不直接生成密钥对,但它允许两个无先前共享秘密的通信方,在不安全的通信渠道上生成一个共同的秘密密钥,这个密钥可以用于后续的通信加密。
生成密钥对的过程通常涉及以下步骤:
选择算法:首先根据安全需求和应用环境选择一个非对称加密算法;
生成参数:对于例如ECC和DSA算法中,必须首先生成或选择一组适当的参数;
生成密钥对:使用选择的算法和参数生成一对密钥,其中一个被称为公钥,另一个被称为私钥,公钥可以公开分享,而私钥必须保密。
对于上述密钥对的生成方法,源系统、中转平台和目的地系统可根据实际情况自行选择对应的密钥对生成方法来生成密钥对,优选的,在本申请中,为方便后续密钥对之间的加密和解密,本申请优选的选用ECC椭圆加密算法生成密钥对。其中,生成的源系统密钥对中包含源系统公钥和源系统私钥,源系统公钥是公开的,源系统私钥为私密的,仅保存在源系统中;生成的中转平台密钥对中包含中转平台公钥和中转平台私钥,中转平台公钥是公开的,中转平台私钥为私密,仅保存在中转平台中;同样的,生成的目的地系统密钥对中包含目的地系统公钥和目的地系统私钥,目的地系统公钥是公开的,目的地系统私钥为私密,仅保存在目的地系统中。
以上获取得到的公钥均可对外公开,但是对应的私钥均保存在各种的系统中,不会对外公开。
S402、所述源系统与所述中转平台之间进行所述源系统公钥和所述中转平台公钥的交换;
S403、所述中转平台和所述源系统进行密钥协商以生成对称密钥;
在本申请实施例中,当源系统和中转平台均生成各种的密钥对之后,进一步的,源系统为安全的将目标数据传输至中转平台,以使得中转平台将目标数据传输至目的地系统中,源系统首先会与源系统进行密钥协商以生成对称密钥,生成的对称密钥仅是在中转平台和源系统之间传输,具体的,对于对称密钥的生成可参考如下方法:
Diffie-Hellman密钥交换:这是一种非常流行的方法,允许双方在没有共享秘密的情况下通过不安全的通道安全地生成对称密钥。
RSA密钥交换:一方可以生成一个临时的RSA密钥对,并将RSA密钥对中的公钥发送给另一方,接收方使用这个公钥加密对称密钥,并将其发送回去。
预共享密钥协商:双方会预先共享一个密钥,这个预共享密钥可以直接作为对称密钥使用,或用于在不安全的通道上安全地协商新的密钥。
传输层安全性协议:尽管TLS通常用于客户端和服务器之间的安全通信,但它也可以用于安全的密钥协商。
量子密钥分发:QKD代表了一种利用量子力学原理来生成并分配绝对安全的密钥对的方法。
在实际应用中,选择哪一种密钥协商方法取决于具体的安全需求、性能要求以及双方的能力,例如,在计算资源受限的环境中,会选择更加轻量级的密钥协商方法,而在需要极高安全保证的情况下,则会采用更加复杂的协议。在本申请中,中转平台和源系统可根据对应的方法生成对称密钥,在生成对称密钥之后,进一步的执行步骤S403。
S404、所述源系统使用所述对称密钥对目标数据进行加密得到加密数据,并使用源系统私钥在所述加密数据上进行加密并生成数字签名;
在本申请实施例中,当源系统和中转平台生成对称密钥之后,进一步的,源系统调取出需要发送至目的地系统的目标数据,并使用跟中转平台协商生成的对称密钥对目标数据进行加密得到加密数据,具体的,首先要确保加密数据是加密算法可以处理的形式,需要先进行数据压缩以减少加密数据的大小,若要加密的加密数据大小不符合加密算法的要求,则需要进行填充,以使数据符合加密算法块的大小要求。然后选定的对称加密算法和对称密钥对目标数据进行加密,加密完成后,生成的加密数据可以安全地存储在源系统中。进一步的,为保证传输到中转平台之后,加密数据的完整性和安全性,源系统会使用源系统私钥在加密数据上进行加密,并生成数字签名,具体的,源系统对加密数据使用哈希函数生成唯一的哈希值,哈希函数设计为单向函数,对于任何给定的数据都会产生一个固定长度的,独一无二的哈希值,但从哈希值不能反向推导出原始数据,在获取到加密数据的哈希值之后,源系统使用源系统私钥对哈希值进行加密,生成所谓的数字签名。在这一步骤中,源系统私钥作为加密的密钥,确保了只有拥有对应公钥的接收者才能验证签名,即只有源系统公钥才可解密哈希值。
S405、所述源系统将所述加密数据和所述数字签名发送至所述中转平台;
在本申请实施例中,源系统在获取到加密数据和对应的数字签名之后,为安全的将加密数据和数字签名传输到中转平台中,源系统与中转平台之间会搭建专门的数据传输通道,该数据传输通道可基于对称算法生成,确定在进行数据传输时,仅有源系统和中转平台之间进行通信,然后源系统将加密数据和数字签名共同打包后发送至中转平台。
S406、所述中转平台使用所述源系统公钥验证所述数字签名,当确定所述目标加密数据的完整性之后,所述中转平台与所述目的地系统进行目的地系统公钥和中转平台公钥的交换;
在本申请实施中,在中转平台接收到源系统发送的加密数据和对应的数字签名之后,为进一步验证在传输过程中加密数据未被解密或未被串改,保证加密数据的完整性,需要进一步对数字签名进行验证,由于源系统是使用源系统私钥对加密数据加密生成数字签名,因此仅可通过源系统公钥进行验证,具体的,中转平台将目标数据和数字签名进行分离,然后使用源系统公钥对数字签名进行解密,得到哈希值,由于源系统公钥和源系统私钥是一对匹配的密钥对,因此使用源系统公钥能成功解密源系统私钥加密的签名,从而得到原始的哈希值,进一步的,中转系统重新计算加密数据的哈希值,最后,源系统比较解密得到的哈希值和重新计算的哈希值,当确定两个哈希值相同,说明数据在传输过程中未被篡改,并且确定加密数据是来自源系统。
当源系统确定加密数据的完整性之后,中转平台会暂存加密数据,并依据加密数据上的标识确定接入中转平台的目的地系统,待确定目的地系统之后,中转平台与目的地系统进行目的地系统公钥和中转平台公钥的交换,即中转平台将中转平台公钥发送至目的地系统中,待目的地系统接收到中转平台公钥之后,根据中转平台公钥上的标识或IP地址,目的地系统将目的地系统公钥发送至中转平台中,以此完成双方的公钥交换。
S407、所述中转平台使用所述目的地系统公钥对所述加密数据进行加密得到目标加密数据;
在本申请实施中,中转平台调出目的地系统公钥,并对应的生成一串随机数;中转平台使用目标哈希函数计算目的地系统公钥和随机数结合得到的哈希值hash,接着中转平台使用计算出的哈希值hash作为密钥派生函数的输入,并生成目标密钥K;中转平台使用目标密钥K和目的地系统公钥将加密数据进行加密后得到目标加密数据。
目标加密数据是确保数据在传输过程中安全性的关键,通过将原始数据加密,并使用目标密钥K和目的地系统公钥进行二次加密,可以确保只有拥有相应私钥的目的地系统才能解密和访问这些数据,这种双重加密的方式大大增强了数据的安全性,即使数据在传输过程中被截获,攻击者也无法直接获取到原始数据的内容。
S408、所述中转平台与所述目的地系统进行密钥协商以生成通话密钥;
在本申请实施例中,中转平台在根据目的地系统公钥和目标密钥K对加密数据进行加密得到目标加密数据之后,为进一步确保中转平台与目的地系统之间的数据传输,中转平台与目的地系统进行密钥协商以生成通话密钥,具体的,中转平台确定素数p和一个基数g,并将素数p和基数g发送至目的地系统;目的地系统随机选择一个私钥a,并计算出其公钥A = g^a mod p,中转平台随机选择一个私钥b,计算出其公钥B = g^b mod p,目的地系统将其公钥a发送给中转平台,且中转平台将其公钥b发送给目的地系统;当目的地系统接收到中转平台公钥b后,使用私钥a计算共享密钥S = B^a mod p;当中转平台接收到目的地系统公钥a后,使用自己的私钥b计算共享密钥S = A^b mod p;由于目的地系统和中转平台所计算出来的共享密钥相同,因此,中转平台和目的地系统使用密钥派生函数并结合共享密钥S和会话ID生成通话密钥,以使得中转平台和目的地系统根据通话密钥构建数据传输通道。
S409、所述中转平台将所述目标加密数据和所述源系统公钥发送至所述目的地系统;
在本申请实施例中,中转平台和目的地系统在根据通话密钥构建数据传输通道之后,进一步的,中转平台将目标加密数据和源系统公钥通过数据传输通道发送至目的地系统中,目的地系统将接收到的目标加密数据和源系统公钥进行暂存,并用于执行后续的数据处理。
S410、所述目的地系统使用所述目的地系统私钥解密所述目标加密数据得到所述加密数据;
S411、所述目的地系统使用源系统公钥对所述加密数据上的数字签名进行验证;
S412、在验证成功之后,所述中转平台将所述对称密钥对发送至目的地系统;所述目的地系统使用对称密钥对解锁所述加密数据,以得到所述源系统传输的所述目标数据。
在本申请实施中,步骤S410至步骤S412与前述步骤S108至步骤S110类似,在此不再赘述。
请参阅图8至图9,本申请提供了一个数据流通处理方法的另一个实施例,所述数据流通处理方法应用在源系统、中转平台和目的地系统,该实施例包括:
S501、所述源系统、所述中转平台和所述目的地系统分别生成源系统密钥对、中转平台密钥对和目的地系统密钥对,所述源系统密钥对包括源系统公钥和源系统私钥,所述中转平台密钥对包括中转平台公钥和中转平台私钥,所述目的地系统密钥对包括目的地系统公钥和目的地系统私钥;
S502、所述源系统与所述中转平台之间进行所述源系统公钥和所述中转平台公钥的交换;
S503、所述中转平台和所述源系统进行密钥协商以生成对称密钥;
S504、所述源系统使用所述对称密钥对目标数据进行加密得到加密数据,并使用源系统私钥在所述加密数据上进行加密并生成数字签名;
S505、所述源系统将所述加密数据和所述数字签名发送至所述中转平台;
S506、所述中转平台使用所述源系统公钥验证所述数字签名,当确定所述目标加密数据的完整性之后,所述中转平台与所述目的地系统进行目的地系统公钥和中转平台公钥的交换;
S507、所述中转平台使用所述目的地系统公钥对所述加密数据进行加密得到目标加密数据,并将所述目标加密数据和所述源系统公钥发送至所述目的地系统;
在本申请实施例中,步骤S501至步骤S507与前述步骤S101至步骤S107类似,在此不再赘述。
S508、所述目的地系统接收所述中转平台发送的所述目标加密数据和一串随机数;
在本申请实施例中,中转平台将目标加密数据和源系统公钥发送至目的地系统之后,进一步的,还将一串随机数也一起发送至目的地系统中,以使得目的地系统从中转平台处接收到目标加密数据、一串随机数和源系统公钥。
具体的,中转平台在将目标加密数据和源系统公钥发送至目的地系统之后,采取了进一步的安全措施,为了增强数据传输过程中的安全性,中转平台还生成了一串随机数,并将其与目标加密数据和源系统公钥一同发送至目的地系统。这样,目的地系统在接收到数据时,不仅能够获得目标加密数据和源系统公钥,还能够获得这串随机数,从而确保数据传输的完整性和安全性。
具体来说,这串随机数在数据传输过程中起到了重要作用。首先,它可以作为一种校验机制,用于验证数据的完整性,当目的地系统接收到数据时,可以通过对比中转平台所持有的随机数是否一致来判断数据在传输过程中是否发生了篡改或损坏,如果随机数一致,那么可以认为数据是完整无损的;如果随机数不一致,则说明数据在传输过程中出现了问题,需要进行相应的处理。
其次,这串随机数还可以作为一种加密机制,用于增强数据的安全性。在发送数据之前,中转平台可以使用这串随机数对目标加密数据进行进一步的加密处理,以确保数据在传输过程中不被非法截取或篡改。当目的地系统接收到加密后的数据时,可以使用相应的解密算法和这串随机数进行解密操作,从而还原出原始的目标加密数据。这样,即使数据在传输过程中被非法截取,攻击者也无法直接获取到目标加密数据的内容,从而保证了数据的安全性。
此外,这串随机数还可以作为一种身份验证机制,用于确认中转平台和目的地系统的身份,在中转平台发送数据之前,中转平台可以将这串随机数作为一种身份验证信息附加在目标加密数据上。当目的地系统接收到目标加密数据时,可以通过验证这串随机数是否与预期的一致来确认发送方的身份是否正确。同样地,中转平台也可以通过验证目的地系统所持有的随机数来确认接收方的身份是否正确。这样,就可以有效地防止假冒身份的攻击者进行非法操作。
S509、所述目的地系统使用目的地系统公钥和一串随机数通过所述目标哈希函数计算哈希值;
在本申请实施例中,这串随机数被用作输入的一部分,与目的地系统公钥一起传递给目标哈希函数,通过这样的操作,可以获得了一个哈希值,这个哈希值是独特且不可预测,哈希函数具有单向性,即无法通过哈希值反向推导出原始输入,这使得哈希值成为一种非常有效的数据校验机制,可以确保数据的完整性和未被篡改。
S510、所述目的地系统使用哈希值通过密钥派生函数生成解密密钥;
在本申请实施例中,使用哈希值和密钥派生函数来生成解密密钥的方式,既保证了数据的安全性,又保证了数据的完整性,它使得只有拥有正确密钥和哈希值的接收者才能解密和读取数据,从而有效地防止了数据的非法访问和篡改。
S511、所述目的地系统使用解密密钥和目的地系统私钥解密所述目标加密数据后得到加密数据;
在本申请实施例中,解密后的加密数据在目的地系统中扮演了关键的角色,这个数据不仅代表了原始信息的核心,还是确保信息在传输过程中未被篡改的关键。为了确保数据的完整性和安全性,目的地系统采用了先进的加密技术来保护这些数据。
在解密过程中,目的地系统首先使用解密密钥来解开目标加密数据的外部保护层。这一步骤至关重要,因为它确保了只有拥有正确密钥的接收者才能访问数据的内容,一旦外部保护层被解开,系统就会暴露出加密数据的真实面貌。
接下来,目的地系统利用自身的私钥对解密后的数据进行进一步的解密操作,私钥是目的地系统独有的,它确保了只有该系统能够访问和解密这些数据,这一步骤不仅增强了数据的安全性,还保证了数据的私密性。
解密后的数据现在可以在目的地系统中自由流通,但系统仍然会对其进行严格的监控和管理,通过实施一系列的安全措施,如访问控制、数据审计和加密存储等,目的地系统确保了解密后的数据不会被未经授权的第三方获取或滥用。
S512、所述目的地系统使用源系统公钥对所述加密数据上的数字签名进行验证;
S513、在验证成功之后,所述中转平台将所述对称密钥对发送至目的地系统,以使得所述目的地系统使用对称密钥对解锁所述加密数据,以得到所述源系统传输的所述目标数据。
在本申请实施例中,步骤S512至步骤S513与前述步骤S109这步骤S110类似,在此不再赘述。
请参阅图10、本申请第二方面提供了一种数据流通处理系统,所述数据流通处理系统包括:
源系统1、中转平台2和目的地系统3,所述源系统1、所述中转平台2和所述目的地系统3执行如下操作:
所述源系统1、所述中转平台2和所述目的地系统3分别生成源系统1密钥对、中转平台2密钥对和目的地系统3密钥对,所述源系统1密钥对包括源系统1公钥和源系统1私钥,所述中转平台2密钥对包括中转平台2公钥和中转平台2私钥,所述目的地系统3密钥对包括目的地系统3公钥和目的地系统3私钥;
所述源系统1与所述中转平台2之间进行所述源系统公钥和所述中转平台公钥的交换;
所述中转平台2和所述源系统1进行密钥协商以生成对称密钥;
所述源系统1使用所述对称密钥对目标数据进行加密得到加密数据,并使用源系统1私钥在所述加密数据上进行加密并生成数字签名;
所述源系统1将所述加密数据和所述数字签名发送至所述中转平台2;
所述中转平台2使用所述源系统1公钥验证所述数字签名,当确定所述目标加密数据的完整性之后,所述中转平台2与所述目的地系统3进行目的地系统3公钥和中转平台2公钥的交换;
所述中转平台2使用所述目的地系统3公钥对所述加密数据进行加密得到目标加密数据,并将所述目标加密数据和所述源系统1公钥发送至所述目的地系统3;
所述目的地系统3使用所述目的地系统3私钥解密所述目标数据包得到所述加密数据;
所述目的地系统3使用源系统1公钥对所述加密数据上的数字签名进行验证;
在验证成功之后,所述中转平台2将所述共享密钥对发送至目的地系统3,以使得所述目的地系统3使用对称密钥对解锁所述加密数据,以得到所述源系统1传输的所述目标数据。
请参阅图11,本申请还提供了一种数据流通处理装置,包括:
处理器701、存储器702、输入输出单元703、总线704;
处理器701与存储器702、输入输出单元703以及总线704相连;
存储器702保存有程序,处理器701调用程序以执行如上任一方法。
本申请还涉及一种计算机可读存储介质,计算机可读存储介质上保存有程序,其特征在于,当程序在计算机上运行时,使得计算机执行如上任一方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,read-onlymemory)、随机存取存储器(RAM,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (22)
1.一种数据流通处理方法,其特征在于,所述数据流通处理方法应用在源系统、中转平台和目的地系统三个系统中,所述方法包括:
所述源系统、所述中转平台和所述目的地系统分别生成源系统密钥对、中转平台密钥对和目的地系统密钥对,所述源系统密钥对包括源系统公钥和源系统私钥,所述中转平台密钥对包括中转平台公钥和中转平台私钥,所述目的地系统密钥对包括目的地系统公钥和目的地系统私钥;
所述源系统与所述中转平台之间进行所述源系统公钥和所述中转平台公钥的交换;
所述源系统根据所述中转平台公钥对认证信息进行加密,并将加密后的认证信息发送至所述中转平台;
所述中转平台使用所述中转平台私钥对所述认证信息进行解密;
当所述中转平台验证所述认证信息正确之后,所述中转平台和所述源系统选定目标椭圆曲线以及所述目标椭圆曲线上的一个基点G;
所述中转平台随机选择一个私钥dA,并计算相应的公钥QA = dAtimesG,其中G是基点,times表示乘法运算;
所述中转平台将公钥QA发送给所述源系统;
所述源系统随机选择一个私钥dB,并计算相应的公钥QB = dBtimesG,其中G是基点;
所述源系统将公钥QB发送给所述中转平台;
所述中转平台使用私钥dA和公钥QB计算共享密钥S = dAtimesQB;
所述源系统使用私钥dB和公钥QA计算共享密钥S = dBtimesQA;
所述源系统和所述中转平台使用共享密钥S作为种子,通过所述共享密钥派生函数KDF生成对称密钥;
所述源系统使用所述对称密钥对目标数据进行加密得到加密数据,并使用源系统私钥在所述加密数据上进行加密并生成数字签名;
所述源系统将所述加密数据和所述数字签名发送至所述中转平台;
所述中转平台使用所述源系统公钥验证所述数字签名,当确定所述目标加密数据的完整性之后,所述中转平台与所述目的地系统进行目的地系统公钥和中转平台公钥的交换;
所述中转平台使用所述目的地系统公钥对所述加密数据进行加密得到目标加密数据,并将所述目标加密数据和所述源系统公钥发送至所述目的地系统;
所述目的地系统使用所述目的地系统私钥解密所述目标加密数据得到所述加密数据;
所述目的地系统使用源系统公钥对所述加密数据上的数字签名进行验证;
在验证成功之后,所述中转平台将所述对称密钥对发送至目的地系统,以使得所述目的地系统使用对称密钥对解锁所述加密数据,以得到所述源系统传输的所述目标数据。
2.根据权利要求1所述的数据流通处理方法,其特征在于,所述源系统和所述中转平台使用共享密钥S作为种子,通过所述共享密钥派生函数KDF生成对称密钥,包括:
确定HMAC的密钥派生函数,并为所述HMAC的密钥派生函数设置迭代次数和密钥长度信息;
选定目标随机数D;
将所述目标随机数D、所述共享密钥S、所述迭代次数信息和密钥长度信息输入所述HMAC的密钥派生函数中进行派生处理;
通过所述派生处理后获取所述对称密钥。
3.根据权利要求1所述的数据流通处理方法,其特征在于,所述源系统使用所述对称密钥对目标数据进行加密得到加密数据,并使用源系统私钥在所述加密数据上进行加密并生成数字签名,包括:
所述源系统计算所述目标数据的哈希值,并将哈希值与所述对称密钥结合生成目标对称密钥;
所述源系统通过所述目标对称密钥对所述目标数据进行加密后得到所述加密数据;
所述源系统计算所述加密数据的目标哈希值;
所述源系统使用所述源系统私钥对所述目标哈希值进行加密以生成数字签名。
4.根据权利要求3所述的数据流通处理方法,其特征在于,所述源系统计算所述加密数据的目标哈希值,包括:
所述源系统使用SHA-256算法和SHA-3算法分别计算所述加密数据的第一哈希值和第二哈希值;
所述源系统将所述第一哈希值和所述第二哈希值结合后得到所述目标哈希值。
5.根据权利要求3所述的数据流通处理方法,其特征在于,所述源系统计算所述加密数据的目标哈希值,包括:
所述源系统将所述加密数据分成若干块数据,并分别计算每块数据的哈希值;
所述源系统使用默克尔树来组合每块数据的哈希值以得到所述目标哈希值。
6.根据权利要求3所述的数据流通处理方法,其特征在于,所述源系统计算所述加密数据的目标哈希值,包括:
所述源系统使用SHA-256算法计算所述加密数据的一类哈希值;
所述源系统使用SHA-3算法计算所述源系统公钥和所述源系统私钥的二类哈希值和三类哈希值;
所述源系统使用默克尔树来组合所述一类哈希值、所述二类哈希值和所述三类哈希值以得到所述目标哈希值。
7.根据权利要求1所述的数据流通处理方法,其特征在于,在所述源系统根据所述中转平台公钥对认证信息进行加密之前,所述方法还包括:
所述源系统和所述中转平台基于通话密钥构建数据安全传输通道。
8.根据权利要求1所述的数据流通处理方法,其特征在于,所述源系统生成源系统密钥对,包括:
确定第一素数P1,P1是有限域的基础;
定义第一椭圆曲线:,其中,a和b是所述第一椭圆曲线方程上的曲线参数,a和b需满足以下条件:,以确保所述第一椭圆曲线上无奇点;
在第一椭圆曲线上选择一个基点G1;
定义源系统私钥d1,d1是一个随机定义的一个正整数,d1的范围[1,n-1],其中n是基点G1的阶,即是最小的正整数n;
根据所述第一椭圆曲线上的点乘运算计算源系统公钥Q1,Q1=d1*G1;
获取所述源系统公钥Q1和源系统私钥d1。
9.根据权利要求1所述的数据流通处理方法,其特征在于,所述中转平台生成中转平台密钥对,包括:
确定第二素数P2,P2是有限域的基础;
定义第二椭圆曲线:,其中,a和b是所述第二椭圆曲线方程上的曲线参数,a和b需满足以下条件:,以确保所述第二椭圆曲线上无奇点;
在第二椭圆曲线上选择一个基点G2;
定义中转平台私钥d2,d2是一个随机定义的一个正整数,d2的范围[1,n-1],其中n是基点G2的阶,即是最小的正整数n;
根据所述第二椭圆曲线上的点乘运算计算源系统公钥Q2,Q2=d2*G2;
获取所述中转平台公钥Q2和中转平台私钥d2。
10.根据权利要求1所述的数据流通处理方法,其特征在于,所述目的地系生成目的地密钥对,包括:
确定第三素数P3,P3是有限域的基础;
定义第三椭圆曲线:,其中,a和b是所述第三椭圆曲线方程上的曲线参数,a和b需满足以下条件:,以确保所述第三椭圆曲线上无奇点;
在第三椭圆曲线上选择一个基点G3;
定义目的地系统私钥d3,d3是一个随机定义的一个正整数,d3的范围[1,n-1],其中n是基点G3的阶,即是最小的正整数n;
根据所述第三椭圆曲线上的点乘运算计算源系统公钥Q3,Q3=d3*G3;
获取所述目的地公钥Q3和所述目的地系统私钥d3。
11.根据权利要求1所述的数据流通处理方法,其特征在于,所述源系统将所述加密数据和所述数字签名发送至所述中转平台,包括:
所述源系统将所述加密数据分割成若干个数据包;
所述源系统确定传输至所述中转平台的若干个传输通道;
所述源系统将所述若干个数据包和所述数字签名通过所述若干个传输通道传输至所述中转平台,所述若干个数据包上均对应有所述数字签名。
12.根据权利要求11所述的数据流通处理方法,其特征在于,所述中转平台使用所述源系统公钥验证所述数字签名,包括:
所述中转平台接收若干个传输通道的若干个数据包和所述数字签名;
所述中转平台调取所述源系统公钥;
所述中转平台使用所述源系统公钥验证若干个数据包上的数字签名;
当所述中转平台确定所述若干个数据包的数字签名验证无误之后,将所述若干个数据结合生成所述加密数据。
13.根据权利要求1所述的数据流通处理方法,其特征在于,所述中转平台与所述目的地系统进行目的地系统公钥和中转平台公钥的交换,包括:
所述中转平台根据所述加密数据上的标识确定目的地系统;
所述中转平台向所述目的地系统发送接收指令;
当所述中转平台获取所述目的地系统反馈的确认指令后,所述中转平台和所述目的地系统构建安全传输通道;
所述中转平台将所述中转平台公钥通过所述安全传输通道发送至所述目的地系统;
待所述目的地系统获取到所述中转平台公钥之后,验证所述中转平台公钥的IP地址与所述接收指令的IP地址是否一致;
若是,则所述目的地系统将所述目的地系统公钥发送至所述中转平台。
14.根据权利要求1所述的数据流通处理方法,其特征在于,所述中转平台使用所述目的地系统公钥对所述加密数据进行加密得到目标加密数据,包括:
所述中转平台调出所述目的地系统公钥;
所述中转平台生成一串随机数;
所述中转平台使用目标哈希函数计算目的地系统公钥和随机数结合得到的哈希值hash;
所述中转平台使用计算出的哈希值hash作为密钥派生函数的输入,并生成目标密钥K;
所述中转平台使用目标密钥K和所述目的地系统公钥将所述加密数据进行加密后得到目标加密数据。
15.根据权利要求1所述的数据流通处理方法,其特征在于,在将所述目标加密数据和所述源系统公钥发送至所述目的地系统之前,所述方法还包括:
所述中转平台与所述目的地系统进行密钥协商以生成通话密钥;
所述中转平台和所述目的地系统根据所述通话密钥构建数据传输通道。
16.根据权利要求15所述的数据流通处理方法,其特征在于,所述中转平台与所述目的地系统进行密钥协商以生成通话密钥,包括:
所述中转平台确定素数p和一个基数g,并将所述素数p和基数g发送至所述目的地系统;
所述目的地系统随机选择一个私钥a,并计算出其公钥A = g^a mod p;
所述中转平台随机选择一个私钥b,计算出其公钥B = g^b mod p;
所述目的地系统将其公钥a发送给中转平台,且所述中转平台将其公钥b发送给所述目的地系统;
当所述目的地系统接收到公钥b后,使用私钥a计算共享密钥S = B^a mod p;
当所述中转平台接收到公钥a后,使用自己的私钥b计算共享密钥S = A^b mod p;
所述中转平台和所述目的地系统使用密钥派生函数并结合共享密钥S和会话ID生成通话密钥。
17.根据权利要求1所述的数据流通处理方法,其特征在于,在所述目的地系统使用所述目的地系统私钥解密所述目标数据包得到所述加密数据之前,所述方法还包括:
所述目的地系统接收所述中转平台发送的所述目标加密数据和一串随机数。
18.根据权利要求17所述的数据流通处理方法,其特征在于,所述目的地系统使用所述目的地系统私钥解密所述目标数据包得到所述加密数据,包括:
所述目的地系统使用目的地系统公钥和一串随机数通过所述目标哈希函数计算哈希值;
所述目的地系统使用哈希值通过密钥派生函数生成解密密钥;
所述目的地系统使用解密密钥和目的地系统私钥解密所述目标加密数据后得到加密数据。
19.根据权利要求1所述的数据流通处理方法,其特征在于,在验证成功之后,所述中转平台将所述对称密钥对发送至目的地系统之前,所述方法还包括:
所述目的地系统将验证成功的反馈信息发送至所述中转平台,所述反馈信息包括所述加密数据的标识信息;
所述中转平台根据所述反馈信息中的标识信息将对应的对称密钥发送至所述目的地系统。
20.一种数据流通处理系统,其特征在于,所述数据流通处理系统包括:
源系统、中转平台和目的地系统,所述源系统、所述中转平台和所述目的地系统执行如下操作:
所述源系统、所述中转平台和所述目的地系统分别生成源系统密钥对、中转平台密钥对和目的地系统密钥对,所述源系统密钥对包括源系统公钥和源系统私钥,所述中转平台密钥对包括中转平台公钥和中转平台私钥,所述目的地系统密钥对包括目的地系统公钥和目的地系统私钥;
所述源系统与所述中转平台之间进行所述源系统公钥和所述中转平台公钥的交换;
所述中转平台和所述源系统进行密钥协商以生成对称密钥;
所述源系统使用所述对称密钥对目标数据进行加密得到加密数据,并使用源系统私钥在所述加密数据上进行加密并生成数字签名;
所述源系统将所述加密数据和所述数字签名发送至所述中转平台;
所述中转平台使用所述源系统公钥验证所述数字签名,当确定所述目标加密数据的完整性之后,所述中转平台与所述目的地系统进行目的地系统公钥和中转平台公钥的交换;
所述源系统根据所述中转平台公钥对认证信息进行加密,并将加密后的认证信息发送至所述中转平台;
所述中转平台使用所述中转平台私钥对所述认证信息进行解密;
当所述中转平台验证所述认证信息正确之后,所述中转平台和所述源系统选定目标椭圆曲线以及所述目标椭圆曲线上的一个基点G;
所述中转平台随机选择一个私钥dA,并计算相应的公钥QA = dAtimesG,其中G是基点,times表示乘法运算;
所述中转平台将公钥QA发送给所述源系统;
所述源系统随机选择一个私钥dB,并计算相应的公钥QB = dBtimesG,其中G是基点;
所述源系统将公钥QB发送给所述中转平台;
所述中转平台使用私钥dA和公钥QB计算共享密钥S = dAtimesQB;
所述源系统使用私钥dB和公钥QA计算共享密钥S = dBtimesQA;
所述源系统和所述中转平台使用共享密钥S作为种子,通过所述共享密钥派生函数KDF生成对称密钥;
所述中转平台使用所述目的地系统公钥对所述加密数据进行加密得到目标加密数据,并将所述目标加密数据和所述源系统公钥发送至所述目的地系统;
所述目的地系统使用所述目的地系统私钥解密所述目标数据包得到所述加密数据;
所述目的地系统使用源系统公钥对所述加密数据上的数字签名进行验证;
在验证成功之后,所述中转平台将所述对称密钥对发送至目的地系统,以使得所述目的地系统使用对称密钥对解锁所述加密数据,以得到所述源系统传输的所述目标数据。
21.一种数据流通处理装置,其特征在于,所述装置包括:
处理器、存储器、输入输出单元以及总线;
所述处理器与所述存储器、所述输入输出单元以及所述总线相连;
所述存储器保存有程序,所述处理器调用所述程序以执行如权利要求1至19任一项所述方法。
22.一种计算机可读存储介质,所述计算机可读存储介质上保存有程序,所述程序在计算机上执行时执行如权利要求1至19中任一项所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410632457.8A CN118214558B (zh) | 2024-05-21 | 2024-05-21 | 一种数据流通处理方法、系统、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410632457.8A CN118214558B (zh) | 2024-05-21 | 2024-05-21 | 一种数据流通处理方法、系统、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN118214558A CN118214558A (zh) | 2024-06-18 |
CN118214558B true CN118214558B (zh) | 2024-08-23 |
Family
ID=91454904
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410632457.8A Active CN118214558B (zh) | 2024-05-21 | 2024-05-21 | 一种数据流通处理方法、系统、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118214558B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118573473B (zh) * | 2024-07-31 | 2024-10-11 | 飞驰云联(南京)科技有限公司 | 一种基于可信平台的网络数据安全传输方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021009554A1 (en) * | 2019-07-18 | 2021-01-21 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and system for secured information exchange between intermediate and endpoint nodes in a communications network |
CN117879833A (zh) * | 2024-01-15 | 2024-04-12 | 郑州盛见网络科技有限公司 | 一种基于改进椭圆曲线的数字签名生成方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220385453A1 (en) * | 2021-05-28 | 2022-12-01 | Atakama LLC | Secure file transfer |
-
2024
- 2024-05-21 CN CN202410632457.8A patent/CN118214558B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021009554A1 (en) * | 2019-07-18 | 2021-01-21 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and system for secured information exchange between intermediate and endpoint nodes in a communications network |
CN117879833A (zh) * | 2024-01-15 | 2024-04-12 | 郑州盛见网络科技有限公司 | 一种基于改进椭圆曲线的数字签名生成方法 |
Also Published As
Publication number | Publication date |
---|---|
CN118214558A (zh) | 2024-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102619383B1 (ko) | 에폭 키 교환을 이용한 종단간 이중 래칫 암호화 | |
CN104023013B (zh) | 数据传输方法、服务端和客户端 | |
US12010216B2 (en) | Computer-implemented system and method for highly secure, high speed encryption and transmission of data | |
US12284270B2 (en) | Systems and methods for providing signatureless, confidential and authentication of data during handshake for classical and quantum computing environments | |
US20020056040A1 (en) | System and method for establishing secure communication | |
TW201733302A (zh) | 用於基於區塊鏈的系統結合錢包管理系統中的安全多方防遺失儲存及加密金鑰轉移 | |
JP2022537733A (ja) | 認証付き鍵共有 | |
CN109274502B (zh) | 公钥加密及密钥签名的创建方法、设备及可读存储介质 | |
CN102724041A (zh) | 一种基于隐写术的密钥传输与密钥更新方法 | |
EP3883178A1 (en) | Encryption system and method employing permutation group-based encryption technology | |
US11528127B2 (en) | Computer-implemented system and method for highly secure, high speed encryption and transmission of data | |
CN118784337B (zh) | 基于自主安全交互协议的数据安全传输方法及系统 | |
CN113242129B (zh) | 一种基于格加密的端到端数据机密性和完整性保护方法 | |
TW201537937A (zh) | 統一身份認證平臺及認證方法 | |
CN118540165B (zh) | 国密IPSec VPN协议的抗量子安全增强方法 | |
CN117201000A (zh) | 基于临时密钥协商的海量数据安全通信方法、设备及介质 | |
CN118214558B (zh) | 一种数据流通处理方法、系统、装置及存储介质 | |
CN114386020A (zh) | 基于量子安全的快速二次身份认证方法及系统 | |
CN114553420B (zh) | 基于量子密钥的数字信封封装方法及数据保密通信网络 | |
CN118540163B (zh) | 国密ssl vpn协议的抗量子安全增强方法 | |
WO2020042023A1 (zh) | 一种即时通信的数据加密方法及装置 | |
EP4305800A1 (en) | Devices and methods for performing cryptographic handshaking | |
CN117749909A (zh) | 数据传输方法、数据处理方法和计算机设备 | |
Arora et al. | Handling Secret Key Compromise by Deriving Multiple Asymmetric Keys based on Diffie-Hellman Algorithm | |
CN113691373A (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 |