CN117061091A - 一种分布式云场景下基于sm4的重要数据传输的机密性方法 - Google Patents

一种分布式云场景下基于sm4的重要数据传输的机密性方法 Download PDF

Info

Publication number
CN117061091A
CN117061091A CN202311191545.0A CN202311191545A CN117061091A CN 117061091 A CN117061091 A CN 117061091A CN 202311191545 A CN202311191545 A CN 202311191545A CN 117061091 A CN117061091 A CN 117061091A
Authority
CN
China
Prior art keywords
encryption
byte array
algorithm
character string
distributed cloud
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
CN202311191545.0A
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.)
Inspur Cloud Information Technology Co Ltd
Original Assignee
Inspur Cloud Information Technology 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 Inspur Cloud Information Technology Co Ltd filed Critical Inspur Cloud Information Technology Co Ltd
Priority to CN202311191545.0A priority Critical patent/CN117061091A/zh
Publication of CN117061091A publication Critical patent/CN117061091A/zh
Pending legal-status Critical Current

Links

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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network 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/0435Network 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 symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Storage Device Security (AREA)

Abstract

本发明涉及云计算技术领域,具体为一种分布式云场景下基于SM4的重要数据传输的机密性方法,包括如下步骤:SM4密码算法实现;数据处理实现;系统改造实现;有益效果为:本发明提出的分布式云场景下基于SM4的重要数据传输的机密性方法,在分布式云场景下,实现了系统之间重要数据的传输机密性,保护了业务支撑系统中的订单、实例、费用等重要数据,即便使用非法手段窃取了传输报文,也是加密后的密文,不用担心信息泄露,增强了数据安全;使用国家密码算法SM4进行加密解密,摆脱了对国外密码技术的依赖,更加符合政府对政务云提出的系统商用密码应用安全性评估的要求。

Description

一种分布式云场景下基于SM4的重要数据传输的机密性方法
技术领域
本发明涉及云计算技术领域,具体为一种分布式云场景下基于SM4的重要数据传输的机密性方法。
背景技术
伴随着云计算技术的快速发展和分布式云概念的提出,很多地方的政府部门也跟一些云服务商进行合作,搭建了本地的政务云平台,成立了云中心,将自己的业务部署上云,客户可通过使用云平台的业务支撑系统来进行订单的创建、资源实例的开通等操作。
现有技术中,各个云中心的业务支撑系统,日常运作过程中产生的订单、实例、费用等数据,都定期发送到一个业务管理系统中进行汇总统计、整体数据分析、费用出账等,所以,这些数据在传输过程中的安全性也就尤为重要。业务支撑系统通过定期调用业务管理系统的接口推送这些重要数据,先进行加密再进行传输,可以有效的防止泄露,即使有人用非法手段拿到了这些数据,拿到的也是加密后的密文,不用担心数据的泄漏。
为了从根本上摆脱我国对国外密码技术的依赖,实现从密码算法层面掌握核心的信息安全技术,国家密码管理局推出了SM系列密码算法,并且,随着国家密码算法推广的延伸,金融领域引入SM2、SM3、SM4等算法,逐步替换了原有的RSA、ECC等国外算法,于是提出了一种分布式云场景下基于SM4的重要数据传输的机密性方法。
发明内容
本发明的目的在于提供一种分布式云场景下基于SM4的重要数据传输的机密性方法,了确保分布式云中,系统重要数据的安全性,防止商业机密被窃取、泄露,并摆脱对国外密码技术、国外加密算法的依赖,使用国家密码算法SM4对重要数据进行加密和解密,实现系统之间重要数据的传输机密性。
为实现上述目的,本发明提供如下技术方案:一种分布式云场景下基于SM4的重要数据传输的机密性方法,所述方法包括如下步骤:
SM4密码算法实现;
数据处理实现;
系统改造实现。
优选的,SM4密码算法实现的具体操作包括:
对于分布式云中的业务支撑系统和业务管理系统,直接根据算法原理,通过代码来实现SM4的加解密算法、密钥拓展算法;加密算法与密钥扩展算法都采用32轮非线性迭代结构,解密算法和加密算法的算法结构相同,只是轮密钥的使用顺序相反,解密轮密钥是加密轮密钥的逆序。
优选的,数据处理实现前,对数据进行加解密前、加解密后都需要进行格式转换处理。
优选的,数据处理实现的具体操作包括:
加密的时候,先把字符串格式的明文转换成字节数组,对明文字节数组进行SM4加密,得到密文字节数组;若把密文字节数组直接转换成字符串,得到字符串乱码,故先对密文字节数组进行Base64加密,再把Base64加密后的字节数组转换成字符串格式,字符串即为密文字符串。
优选的,数据处理实现的具体操作还包括:
解密的时候,先把字符串格式的密文转换成字节数组,由于加密的时候做过Base64加密,故把字节数组进行Base64解密,得到密文字节数组,对密文字节数组进行SM4解密,得到明文字节数组,将明文字节数组直接转换成字符串格式,即得到原始的明文字符串。
优选的,系统改造实现的具体操作包括:
将实现了SM4加解密算法的代码,封装成单独的代码包,由业务支撑系统及业务管理系统直接引入,实现系统直接调用api方法来对数据进行加密和解密。
优选的,各个业务支撑系统需定义生成自己的初始密钥并自行保存,以便加密的时候使用;业务管理系统则需要对这些密钥都进行保存,以保证分别解密不同云中心的业务支撑系统传输过来的加密数据。
与现有技术相比,本发明的有益效果是:
本发明提出的分布式云场景下基于SM4的重要数据传输的机密性方法,在分布式云场景下,实现了系统之间重要数据的传输机密性,保护了业务支撑系统中的订单、实例、费用等重要数据,即便使用非法手段窃取了传输报文,也是加密后的密文,不用担心信息泄露,增强了数据安全;使用国家密码算法SM4进行加密解密,摆脱了对国外密码技术的依赖,更加符合政府对政务云提出的系统商用密码应用安全性评估的要求。
附图说明
图1为本发明SM4的加解密流程图;
图2为本发明SM4密钥扩展的流程图;
图3为本发明数据处理流程图。
具体实施方式
为了使本发明的目的、技术方案进行清楚、完整地描述,及优点更加清楚明白,以下结合附图对本发明实施例进行进一步详细说明。应当理解,此处所描述的具体实施例是本发明一部分实施例,而不是全部的实施例,仅仅用以解释本发明实施例,并不用于限定本发明实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供一种技术方案:一种分布式云场景下基于SM4的重要数据传输的机密性方法,所述方法包括如下步骤:
1.SM4密码算法实现
SM4是中华人民共和国政府采用的一种分组密码标准,由国家密码管理局于2012年3月21日发布,相关标准为“GM/T 0002-2012《SM4分组密码算法》”。分组长度为128比特,密钥长度为128比特,加密算法与密钥扩展算法都采用32轮非线性迭代结构,解密算法和加密算法的算法结构相同,只是轮密钥的使用顺序相反,解密轮密钥是加密轮密钥的逆序。
SM4密码算法的原理是公开的,对于分布式云中的业务支撑系统和业务管理系统,可直接根据算法原理,通过代码来实现SM4的加解密算法、密钥拓展算法。
2数据处理实现
SM4算法处理的数据为字节数组格式,加密解密后的输出数据也是字节数组格式,而报文传输及保存至数据库中时,数据一般都是字符串格式,所以在对数据进行加解密前、加解密后都需要进行格式转换处理。
加密的时候,先把字符串格式的明文转换成字节数组,对明文字节数组进行SM4加密,得到密文字节数组。此时,若把密文字节数组直接转换成字符串,会得到字符串乱码,故先对密文字节数组进行Base64加密,再把Base64加密后的字节数组转换成字符串格式,该字符串即为密文字符串。
解密的时候,先把字符串格式的密文转换成字节数组,由于加密的时候做过Base64加密,故把该字节数组进行Base64解密,得到密文字节数组。对密文字节数组进行SM4解密,得到明文字节数组,将明文字节数组直接转换成字符串格式,即可得到原始的明文字符串。
3系统改造实现
将实现了SM4加解密算法的代码,封装成单独的代码包,由业务支撑系统及业务管理系统直接引入,这样系统可直接调用api方法来对数据进行加密和解密。
另外,各个业务支撑系统需定义生成自己的初始密钥并自行保存,以便加密的时候使用;业务管理系统则需要对这些密钥都进行保存,以保证可以分别解密不同云中心的业务支撑系统传输过来的加密数据。
SM4的加解密流程如图1所示,输入的明文为128bit数据,将其按位拆分为4个32bit的数据X0,X1,X2,X3;定义i=0,将Xi+1,Xi+2,Xi+3和轮密钥Ki+4做异或运算,得到一个32bit的数据,把该数据拆分成4个8bit数据分别进行盒变换,再将4个8bit盒变换结果合并成一个32bit的数据,记为y;将y分别循环左移2,10,18,24位,得到4个32bit的左移结果,再加上y和Xi,这6个32bit数据做异或运算,得到Xi+4,至此完成了一轮的加解密运算;使用32个不同的轮密钥,完成32轮运算后,将最后得到的4个32bit数据X35,X34,X33,X32合并成一个128bit的数据,最后输出即可。
SM4密钥扩展的流程如图2所示,输入128bit的原始密钥,将其按位拆分为4个32bit的数据,分别与固定系统参数FK0,FK1,FK2,FK3进行异或运算,得到用于循环的密钥K0,K1,K2,K3;定义i=0,将K1,K2,K3和固定参数CKi做异或运算,得到一个32bit的数据,把该数据拆分成4个8bit数据分别进行盒变换,再将4个8bit盒变换结果合并成一个32bit的数据,记为y;将y分别循环左移13位,23位,得到2个32bit的左移结果,再加上y和Ki,这4个32bit数据做异或运算,得到Ki+4,至此完成了一轮的运算,Ki+4即为用于加解密算法的密钥;使用32个不同的固定参数CKi完成32轮运算,便可获得32个用于加解密的密钥。
以上为SM4的加密算法和密钥拓展原理,若想要实现解密,将轮密钥Ki+4逆序后,执行一次32轮的加密运算即可实现。即将密文投入加密算法,进行每一轮的运算时,使用K35-i作为轮密钥(0≤i≤31),最后获得的结果便是加密前的明文。
数据处理流程如图3所示,加密明文字符串时,先将字符串转换为字节数组格式,同时确定密钥、分组模式(ECB、CBC等)、填充模式(PKCS5Padding、PKCS7Padding等),对字节数组进行SM4加密运算,得到加密后的字节数组,若把该密文字节数组直接转换成字符串,会得到字符串乱码,故先对密文字节数组进行Base64加密,再转换成字符串格式,即可得到密文字符串;解密密文字符串时,先把字符串转换为字节数组并进行Base64解密,保证密钥、分组模式、填充模式跟加密时的保持一致,然后进行SM4解密运算,得到解密后的字节数组,将该字节数组直接转换成字符串,即可得到明文字符串。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

Claims (7)

1.一种分布式云场景下基于SM4的重要数据传输的机密性方法,其特征在于:所述方法包括如下步骤:
SM4密码算法实现;
数据处理实现;
系统改造实现。
2.根据权利要求1所述的一种分布式云场景下基于SM4的重要数据传输的机密性方法,其特征在于:SM4密码算法实现的具体操作包括:
对于分布式云中的业务支撑系统和业务管理系统,直接根据算法原理,通过代码来实现SM4的加解密算法、密钥拓展算法;加密算法与密钥扩展算法都采用32轮非线性迭代结构,解密算法和加密算法的算法结构相同,只是轮密钥的使用顺序相反,解密轮密钥是加密轮密钥的逆序。
3.根据权利要求2所述的一种分布式云场景下基于SM4的重要数据传输的机密性方法,其特征在于:数据处理实现前,对数据进行加解密前、加解密后都需要进行格式转换处理。
4.根据权利要求1所述的一种分布式云场景下基于SM4的重要数据传输的机密性方法,其特征在于:数据处理实现的具体操作包括:
加密的时候,先把字符串格式的明文转换成字节数组,对明文字节数组进行SM4加密,得到密文字节数组;若把密文字节数组直接转换成字符串,得到字符串乱码,故先对密文字节数组进行Base64加密,再把Base64加密后的字节数组转换成字符串格式,字符串即为密文字符串。
5.根据权利要求1所述的一种分布式云场景下基于SM4的重要数据传输的机密性方法,其特征在于:数据处理实现的具体操作还包括:
解密的时候,先把字符串格式的密文转换成字节数组,由于加密的时候做过Base64加密,故把字节数组进行Base64解密,得到密文字节数组,对密文字节数组进行SM4解密,得到明文字节数组,将明文字节数组直接转换成字符串格式,即得到原始的明文字符串。
6.根据权利要求1所述的一种分布式云场景下基于SM4的重要数据传输的机密性方法,其特征在于:系统改造实现的具体操作包括:
将实现了SM4加解密算法的代码,封装成单独的代码包,由业务支撑系统及业务管理系统直接引入,实现系统直接调用api方法来对数据进行加密和解密。
7.根据权利要求6所述的一种分布式云场景下基于SM4的重要数据传输的机密性方法,其特征在于:各个业务支撑系统需定义生成自己的初始密钥并自行保存,以便加密的时候使用;业务管理系统则需要对这些密钥都进行保存,以保证分别解密不同云中心的业务支撑系统传输过来的加密数据。
CN202311191545.0A 2023-09-15 2023-09-15 一种分布式云场景下基于sm4的重要数据传输的机密性方法 Pending CN117061091A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311191545.0A CN117061091A (zh) 2023-09-15 2023-09-15 一种分布式云场景下基于sm4的重要数据传输的机密性方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311191545.0A CN117061091A (zh) 2023-09-15 2023-09-15 一种分布式云场景下基于sm4的重要数据传输的机密性方法

Publications (1)

Publication Number Publication Date
CN117061091A true CN117061091A (zh) 2023-11-14

Family

ID=88666481

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311191545.0A Pending CN117061091A (zh) 2023-09-15 2023-09-15 一种分布式云场景下基于sm4的重要数据传输的机密性方法

Country Status (1)

Country Link
CN (1) CN117061091A (zh)

Similar Documents

Publication Publication Date Title
US8687800B2 (en) Encryption method for message authentication
CA2197915C (en) Cryptographic key recovery system
CN101340279B (zh) 数据加密及解密方法、系统及设备
US7894608B2 (en) Secure approach to send data from one system to another
CN112055022A (zh) 一种高效率高安全性的网络文件传输双重加密方法
CN111049738B (zh) 基于混合加密的电子邮件数据安全保护方法
CN114205090B (zh) 一种基于国密算法的安全的文件共享方法和系统
CN114499857A (zh) 一种实现大数据量子加解密中数据正确性与一致性的方法
CN104486756A (zh) 一种密笺短信的加解密方法及系统
CN116760651A (zh) 一种数据加密方法、装置、电子设备和可读存储介质
CN111510282A (zh) 信息加密算法、装置与信息解密算法、装置以及通讯方法
CN116707778A (zh) 数据混合加密传输方法、装置和电子设备
Shirole et al. Review paper on data security in cloud computing environment
CN112907247B (zh) 一种区块链授权计算控制方法
CN117061091A (zh) 一种分布式云场景下基于sm4的重要数据传输的机密性方法
CN111010386B (zh) 一种基于共享账本的隐私保护与数据监管控制方法
Mahmoud et al. Encryption based on multilevel security for relational database EBMSR
CN102647428A (zh) 一种基于通信网络的托管控制加解密系统及方法
CN108616351B (zh) 一种全动态加密解密方法及加密解密装置
Hussein et al. An enhanced ElGamal cryptosystem for image encryption and decryption
CN111865578A (zh) 一种基于sm2的多接收方公钥加密方法
CN103746793A (zh) 一种数形文载加密和解密方法
Abdelgader et al. Design of a secure file transfer system using hybrid encryption techniques
CN113014531B (zh) 一种应用于电子邮件数据加密传输的方法
Yue et al. MBCT: A Monero-Based Covert Transmission Approach with On-chain Dynamic Session Key Negotiation

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