CN109150505A - 一种用于sap系统的信息传输方法及装置 - Google Patents

一种用于sap系统的信息传输方法及装置 Download PDF

Info

Publication number
CN109150505A
CN109150505A CN201710457187.1A CN201710457187A CN109150505A CN 109150505 A CN109150505 A CN 109150505A CN 201710457187 A CN201710457187 A CN 201710457187A CN 109150505 A CN109150505 A CN 109150505A
Authority
CN
China
Prior art keywords
key
data
fingerprint
encryption
plain text
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
CN201710457187.1A
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.)
Suning Commerce Group Co Ltd
Original Assignee
Suning Commerce Group 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 Suning Commerce Group Co Ltd filed Critical Suning Commerce Group Co Ltd
Priority to CN201710457187.1A priority Critical patent/CN109150505A/zh
Publication of CN109150505A publication Critical patent/CN109150505A/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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0863Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/32User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
    • 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
    • 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/3226Cryptographic 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 a predetermined code, e.g. password, passphrase or PIN
    • 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/3226Cryptographic 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 a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3231Biological data, e.g. fingerprint, voice or retina

Abstract

本发明实施例公开了一种用于SAP系统的信息传输方法及装置,涉及电子通信技术领域,能够提高SAP系统间或SAP系统与其它系统间敏感数据传输的安全性。本发明包括:发送方系统对原始数据进行加密,得到目标加密数据和加密指纹;所述发送方系统将所述目标加密数据和所述加密指纹传输给接收方系统;所述接收方系统利用与所述发送方系统的加密方式对应的对称加密密钥和指纹密钥,对所述目标加密数据进行解密;所述接收方系统利用所述加密指纹验证所述目标加密数据;其中,所述发送方系统和所述接收方系统中的至少一个属于SAP系统,所述加密方式采用对称加密算法。本发明适用于SAP系统中的通信加密。

Description

一种用于SAP系统的信息传输方法及装置
技术领域
本发明涉及电子通信技术领域,尤其涉及一种用于SAP系统的信息传输方法及装置。
背景技术
随着信息技术的发展,SAP(Systems Applications and Products,企业管理解决方案)系统使用越来越广泛,其功能全面,覆盖了业务各个方面,如财务、采购、销售、生产、人事等等,因此被业内大多数互联网企业采用。并且在很多大型的互联网零售企业,SAP系统已上线十多年,很多业务场景下的数据都是存储在SAP系统中的,并逐步承担了企业内数据中心的功能,主要存储了人事、财务、物流、销售等各业务数据。
由于业务场景越来越多,对应的业务系统也在不断建设,外围系统需要从SAP系统中取数据,然后在各自业务系统中进行处理应用与展示,使得数据传输量大大增长。由于SAP系统中的数据交互主要是明文传输的形式,很多敏感信息,比如薪资信息、个人信息、销售数据、账号密码等都会被不同部门或者不同的业务系统获取到,这就导致了数据传输过程中可能会被偷窃、篡改。例如:非本人可以查看别人的人事数据(薪资、年终福利等敏感数据),或者不同部门的人查看本部门的数据等。随着企业人员流动的加快,员工离职前导出系统数据的行为屡禁不止,导致了应用SAP系统的企业经常出现信息泄露的事故。
但是,目前SAP系统官方提供的仅仅是一些简陋的加密方法,破解难度很低,保密效果差。使得具体实践中,很多企业还是采用提高人事管理程度的传统方式约束员工,增加了人工成本,且人工管理依然难以有效抑制应用SAP系统的企业的信息泄露问题。
发明内容
本发明的实施例提供一种用于SAP系统的信息传输方法及装置,能够提高SAP系统间或SAP系统与其它系统间敏感数据传输的安全性。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,本发明的实施例提供的方法,包括:
发送方系统对原始数据进行加密,得到目标加密数据和加密指纹;
所述发送方系统将所述目标加密数据和所述加密指纹传输给接收方系统;
所述接收方系统利用与所述发送方系统的加密方式对应的对称加密密钥和指纹密钥,对所述目标加密数据进行解密;
所述接收方系统利用所述加密指纹验证所述目标加密数据;
其中,所述发送方系统和所述接收方系统中的至少一个属于SAP系统,所述加密方式采用对称加密算法。
结合第一方面,在第一方面的第一种可能的实现方式中,还包括:
根据接收到的配置信息,在所述发送方系统和所述接收方系统中配置数据密钥和指纹密钥,所述数据密钥和所述指纹密钥为Base64格式的密钥;
在对原始数据进行加密之前,采用UTF-8变长编码方式对所述原始数据进行编码;
在对原始数据进行加密之后,以Base64编码输出所述目标加密数据的码流。
结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述发送方系统对原始数据进行加密,包括:
对所述对称加密密钥进行Base64解码,得到数据密码明文,并根据所述数据密码明文生成至少一个子密钥;
对所述指纹密钥进行Base64解码,得到指纹密码明文;
对所述原始数据进行UTF-8编码,得到待加密码流,并对所述待加密码流进行分块处理;
利用所生成的子密钥,采用标准对称加密算法中密码分组链接加密模式,对各所得分块进行加密处理后输出加密流;
对所述加密流进行Base64编码,得到Base64格式的密文,并将所述Base64格式的密文与所述指纹密码明文进行混洗操作,再采用MD5信息摘要算法提取指纹,得到所述加密指纹。
结合第一方面的第二种可能的实现方式,在第三种可能的实现方式中,所述根据所述数据密码明文生成至少一个子密钥,包括:
根据所述数据密码明文生成3个子密钥K1、K2、K3,其中,每个子密钥长度为56位。
结合第一方面的第三种可能的实现方式,在第四种可能的实现方式中,所述对所述待加密码流进行分块处理,包括:
将所述待加密码流以64位为一个单位进行分组分块。
结合第一方面的第四种可能的实现方式,在第五种可能的实现方式中,所述利用所生成的子密钥,采用标准对称加密算法中密码分组链接加密模式,对各所得分块进行加密处理后输出加密流,包括:
采用3DES标准对称加密算法中的密码分组链接加密模式(CBC),对每个所述待加密码流中分出的数据块依次进行初始转换、16轮位运算和末置换操作,并经过3次迭代操作后输出加密流。
结合第一方面的第五种可能的实现方式,在第六种可能的实现方式中,所述对所述目标加密数据进行解密,包括:
对所述对称加密密钥进行Base64解码,得到数据密码明文,并根据所述数据密码明文生成至少一个子密钥,其中,所生成的子密钥与加密阶段的子密钥相同;
对所述指纹密钥进行Base64解码,得到指纹密码明文;
根据所生成的子密钥对所述目标加密数据进行Base64解码,得到原始密文;
采用标准对称解密算法中密码分组链接解密模式,对所述原始密文进行解密处理后输出明文码流;
通过UTF-8编码方式对所述明文码流进行解码操作,得到明文;
将所得到的明文与所述指纹密码明文进行混洗操作,再采用MD5信息摘要算法提取指纹计算得到加密指纹,通过计算得到的加密指纹与所述发送方系统发送的加密指纹进行比对验证。
第二方面,本发明的实施例提供的装置,包括:
加密模块,用于对原始数据进行加密,得到目标加密数据和加密指纹;
发送模块,用于将所述目标加密数据和所述加密指纹传输给接收方系统;
解密模块,用于所述接收方系统利用与所述发送方系统的加密方式对应的对称加密密钥和指纹密钥,对所述目标加密数据进行解密;
校验模块,用于所述接收方系统利用所述加密指纹验证所述目标加密数据;
其中,所述发送方系统和所述接收方系统中的至少一个属于SAP系统,所述加密方式采用对称加密算法。
结合第二方面,在第二方面的第一种可能的实现方式中,还包括:
配置模块,用于根据接收到的配置信息,在所述发送方系统和所述接收方系统中配置数据密钥和指纹密钥,所述数据密钥和所述指纹密钥为Base64格式的密钥;在对原始数据进行加密之前,采用UTF-8变长编码方式对所述原始数据进行编码;在对原始数据进行加密之后,以Base64编码输出所述目标加密数据的码流;
所述加密模块,具体用于对所述对称加密密钥进行Base64解码,得到数据密码明文,并根据所述数据密码明文生成至少一个子密钥;对所述指纹密钥进行Base64解码,得到指纹密码明文;对所述原始数据进行UTF-8编码,得到待加密码流,并对所述待加密码流进行分块处理;利用所生成的子密钥,采用标准对称加密算法中密码分组链接加密模式,对各所得分块进行加密处理后输出加密流;之后对所述加密流进行Base64编码,得到Base64格式的密文,并将所述Base64格式的密文与所述指纹密码明文进行混洗操作,再采用MD5信息摘要算法提取指纹,得到所述加密指纹。
结合第二方面,在第二方面的第二种可能的实现方式中,所述解密模块,用于对所述对称加密密钥进行Base64解码,得到数据密码明文,并根据所述数据密码明文生成至少一个子密钥,其中,所生成的子密钥与加密阶段的子密钥相同;对所述指纹密钥进行Base64解码,得到指纹密码明文;根据所生成的子密钥对所述目标加密数据进行Base64解码,得到原始密文;采用标准对称解密算法中密码分组链接解密模式,对所述原始密文进行解密处理后输出明文码流;通过UTF-8编码方式对所述明文码流进行解码操作,得到明文;再将所得到的明文与所述指纹密码明文进行混洗操作,再采用MD5信息摘要算法提取指纹计算得到加密指纹,通过计算得到的加密指纹与所述发送方系统发送的加密指纹进行比对验证。
本发明实施例提供的用于SAP系统的信息传输方法及装置,在SAP系统采用对称加密密钥和加密指纹验证机制,使用密钥+指纹验证方式更能保证数据传输安全性,使得第三方在不知道密钥的情况下是不能解密,从而提高SAP系统间或SAP系统与其它系统间敏感数据传输的安全性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例提供的一种可能的系统架构示意图;
图2为本发明实施例提供的方法流程示意图;
图3为本发明实施例提供的具体实例的示意图;
图4为本发明实施例提供的装置的结构示意图。
具体实施方式
为使本领域技术人员更好地理解本发明的技术方案,下面结合附图和具体实施方式对本发明作进一步详细描述。下文中将详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的任一单元和全部组合。本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。
本实施例所提供的方案,具体用于SAP系统(具体可以称为基于SAP的业务系统)间或SAP系统与其它系统(具体可以称为基于非SAP的业务系统,比如JAVA系统)间的敏感数据传输。可以应用在如图1所示的系统环境中,该系统环境包括了发送方系统和接收方系统,且发送方系统和接收方系统中的至少一个属于SAP系统、也可以是都属于SAP系统。
本发明实施例提供一种用于SAP系统的信息传输方法,如图2所示,包括:
S1、发送方系统对原始数据进行加密,得到目标加密数据和加密指纹。
其中,发送方系统具体可以采用ABAP语言封装加密解密函数,在数据传输的过程中:发送方系统对原始数据进行加密,并设置对称加密密钥和指纹密钥,生成目标加密数据和加密指纹,之后将所述目标加密数据和所述加密指纹传输给接收方系统;接收方系统利用发送方提供的所述对称加密密钥和所述指纹密钥进行解密,通过加密指纹来验证数据的完整性和正确性。从而确保敏感数据传输的安全性、完整性和保密性。例如:
可采用ABAP语言封装加密解密函数。数据传输时,发送方对原始数据进行加密并设置对称加密密钥和MD5哈希密钥,生成目标加密数据和md5加密指纹。将加密数据和md5加密指纹传输给接收方系统。接收方系统必须利用发送方提供的对称加密密钥和MD5哈希秘钥进行解密,通过md5加密指纹来验证数据的完整性和正确性。
S2、所述发送方系统将所述目标加密数据和所述加密指纹传输给接收方系统。
具体的,在本实施例中,还包括:根据接收到的配置信息,在所述发送方系统和所述接收方系统中配置数据密钥和指纹密钥,所述数据密钥和所述指纹密钥为Base64格式的密钥;在对原始数据进行加密之前,采用UTF-8变长编码方式对所述原始数据进行编码;在对原始数据进行加密之后,以Base64编码输出所述目标加密数据的码流。
例如:为了密钥安全,输入的密钥都要求是Base64格式的密钥(包括数据密钥与指纹密钥);为了缩短密文长度,提高网络传输,对加密后的码流进行Base64编码输出;由于加密输出是Base64格式的,所以待解密的数据要求也是Base64格式的;为了支持其他非ASCII字符,数据加密前统一使用UTF-8变长编码方式进行编码;由于是对UTF-8格式码流进行加密的,所以解密后也需要使用UTF-8解码才能得到明文。
S3、所述接收方系统利用与所述发送方系统的加密方式对应的对称加密密钥和指纹密钥,对所述目标加密数据进行解密。
在本实施例中,结合使用了对称加密密钥和加密指纹验证机制,例如:可以实现为如图3所示的处理逻辑,即SAP系统或者与SAP系统之间建立通信的其它系统,都可以通过程序加载如图3所示的处理逻辑,并根据数据的收/发需要进行加密/解密,对一份原始数据进行了加密的并输出的系统可以称为发送方系统,接收被加密的数据的系统可以称为接收方系统。并且,在实际应用中,SAP系统和与SAP系统之间建立通信的其它系统也可以同时进行数据的发送和接收,即在一份数据的传输过程中作为发送方系统,在另一份数据的传输过程中作为接收方系统。
S4、所述接收方系统利用所述加密指纹验证所述目标加密数据。
其中,所述发送方系统和所述接收方系统中的至少一个属于SAP系统,所述加密方式采用对称加密算法。
在SAP系统首次结合使用了对称加密密钥和加密指纹验证机制,从而提高SAP系统间或SAP系统与其它系统间敏感数据传输的安全性。本实施例中采用的加解密方式,使用密钥+指纹验证方式更能保证数据传输安全性。本实施例的加密解密方法采可以用ABAP语言开发,通过自行设计的一系列逻辑处理,结合使用了对称加密密钥和MD5哈希密钥机制,加密指纹验证机制,适用于SAP系统里的数据加密传输。对敏感数据如薪资、个人信息、销售数据、账号密码等传输起很好的保护作用,使得第三方在不知道密钥的情况下是不能解密的。
本实施例中还具体提供一种加密方式,所述发送方系统对原始数据进行加密,包括:
对所述对称加密密钥进行Base64解码,得到数据密码明文,并根据所述数据密码明文生成至少一个子密钥;
对所述指纹密钥进行Base64解码,得到指纹密码明文;
对所述原始数据进行UTF-8编码,得到待加密码流,并对所述待加密码流进行分块处理;
利用所生成的子密钥,采用标准对称加密算法中密码分组链接加密模式,对各所得分块进行加密处理后输出加密流;
对所述加密流进行Base64编码,得到Base64格式的密文,并将所述Base64格式的密文与所述指纹密码明文进行混洗操作,再采用MD5信息摘要算法提取指纹,得到所述加密指纹。需要说明的是,本实施例中所述的混洗操作,可以理解为:在所述Base64格式的密文中的指定位置(比如密文前段、中段或者后端)插入指纹密码明文,将密文的字符与指纹密码明文的字符混合在一起。
在优选方案中,所述根据所述数据密码明文生成至少一个子密钥,包括:
根据所述数据密码明文生成3个子密钥K1、K2、K3,其中,每个子密钥长度为56位。其中,实为每组64位,每字节末位作用校验位),3个密钥组合起来总长可达168位,从而增强破解难度。
所述对所述待加密码流进行分块处理,包括:将所述待加密码流以64位为一个单位进行分组分块。其中,64位(8字节)进行分组分块,最后不足64位块采用PKCS5Padding填充方式(填充数量为缺少数量,且填充的每字节内容为缺少数)进行填充处理。
所述利用所生成的子密钥,采用标准对称加密算法中密码分组链接加密模式,对各所得分块进行加密处理后输出加密流,包括:采用3DES标准对称加密算法中的CBC(Cipher-block chaining,密码分组链接)加密模式,对每个所述待加密码流中分出的数据块依次进行初始转换、16轮位运算(包括扩展转换、S盒P盒置换、异或运算)和末置换操作,并经过3次迭代操作后输出加密流。
例如:
对输入的数据密钥和指纹密钥进行Base64解码,得到数据密码明文;对输入的指纹密码进行Base64解码,得到指纹密码明文;对输入的数据明文进行UTF-8编码,得到待加密码流;对经过Base64解码后的明文密码进行处理,如果不足24字节,则在末尾追加0字符。
根据输入的密码生成3对子密钥K1、K2、K3,每个子密钥长度为56位(实为每组64位,每字节末位作用校验位),3个密钥组合起来总长可达168位,增强破解难度。
将明文以64位(8字节)进行分组分块,最后不足64位块采用PKCS5Padding填充方式(填充数量为缺少数量,且填充的每字节内容为缺少数)进行填充处理;采用3DES标准对称加密算法,并使用CBC密码分组链接加密模式,对每个明文数据块进行初始转换、16轮位运算(包括扩展转换、S盒P盒置换、异或运算)、末置换等操作,经过3次迭代操作后输出加密流;对加密流进行Base64编码,得到Base64格式的密文。
最后,将明文与指纹密码进行混洗操作,然后采用MD5信息摘要算法提取指纹,得到加密指纹。将密文与指纹发送接收方系统,接收方系统进行解密后,根据指纹验证数据的完整性,也能够起到防篡改的作用。
举例来说:发送方系统调用函数加密:1、发送方系统只需加密数据,不使用md5加密指纹。赋值:INPUT赋为需加密的字符串;DES_KEY设为密钥,密钥需先经过Base64加密并记住(后面需提供给接收方);MODE赋为0;执行函数后得到OUTPUT加密后的字串。如果加密失败ERR会提示加密失败。2、发送方系统加密数据并需MD5加密指纹。赋值:INPUT赋为需加密的字符串;DES_KEY设为密钥。密钥需先经过Base64加密并记住(后面需提供给接收方);MD5_KEY设为MD5哈希秘钥,密钥需先经过Base64加密并记住(后面需提供给接收方)。MODE赋为0;执行函数后得到OUTPUT加密后的字串;TARGET_MD5_SING为md5加密指纹(需提供给接收方,用于验证数据正确性和完整性);如果加密失败ERR会提示加密失败。
其中,可能采用的各函数:传入参数:INPUT:需要加密或解密的数据;DES_KEY:对称加密密钥(需先用BASE64加密再赋值);MD5_SIGNATURE:待验签MD5加密指纹;MD5_KEY:MD5哈希密钥(需先用BASE64加密再赋值);传出参数:OUTPUT:被加密或解密过的字符串,加密时以UTF-8编码后再加密最后以Base4格式输出;TARGET_MD5_SING:md5加密指纹;VERIFICATION:验签结果F验签失败,T验签成功;ERR:对称加密加解密出错。
进一步的,本实施例中对所述目标加密数据进行解密的具体方式,可以包括:
对所述对称加密密钥进行Base64解码,得到数据密码明文,并根据所述数据密码明文生成至少一个子密钥,其中,所生成的子密钥与加密阶段的子密钥相同;并对所述指纹密钥进行Base64解码,得到指纹密码明文;
之后根据所生成的子密钥对所述目标加密数据进行Base64解码,得到原始密文;其中,采用标准对称解密算法中密码分组链接解密模式,对所述原始密文进行解密处理后输出明文码流;再通过UTF-8编码方式对所述明文码流进行解码操作,得到明文;
最后,将所得到的明文与所述指纹密码明文进行混洗操作,再采用MD5信息摘要算法提取指纹计算得到加密指纹,通过计算得到的加密指纹与所述发送方系统发送的加密指纹进行比对验证。
例如:
对输入的数据密码进行Base64解码,得到数据密码明文;对输入的指纹密码进行Base64解码,得到指纹密码明文;对输入的密文数据进行Base64解码,得到原始密文;对输入的密码进行处理,如果不足24字节,则在末尾追加0字符。
之后根据输入的密码生成3对密钥K1、K2、K3,每个密钥长度为56位(实为每组64位,每字节末位作用校验位),3个密钥组合起来总长可达168位,从而增强破解难度;采用3DES标准对称解密算法,并使用CBC密码分组链接解密模式,对每个密文数据块进行初始转换、16轮位运算(包括扩展转换、S盒P盒置换、异或运算)、末置换等操作,经过3次迭代操作后输出明文码流。
再对解密出来的明文码流,去除尾部PKCS5Padding填充数据,使用UTF-8编码进行解码操作,得到明文;将明文与指纹密码进行混洗操作,然后采用MD5信息摘要算法提取指纹,得到加密指纹;将计算出来的加密指纹与输入的指纹进行比对验证,验证数据是否完整,是否被篡改过。
举例来说:接收方系统调用函数解密(与发送方对应):1、接收方系统只解密数据,不使用md5加密指纹验证。赋值:INPUT赋为需解密的字符串;DES_KEY赋为发送方提供的密钥(经过Base64加密过的);MODE赋为1;执行函数后得到OUTPUT解密后的字符串。如果解密失败,ERR会提示解密失败。2、接收方系统解密数据并使用MD5加密指纹验证数据正确性完整性。赋值:INPUT赋为需解密的字符串;DES_KEY赋为发送方提供的密钥(经过Base64加密过的);MD5_SIGNATURE赋为发送方提供的加密指纹;MD5_KEY赋为发送方提供的MD5哈希密钥;MODE赋为1;执行函数后得到OUTPUT解密后的字符串;VERIFICATION为T则验证无误,为F则验证失败。如果解密失败,ERR会提示解密失败。
在现有方案中,因为SAP系统端的数据抛给接收方系统大都是明文数据,尤其是暴漏给其他员工,且现在人员流动大,离职人员往往会私自携带内部数据,造成了安全性无法保障。就目前而言,SAP系统官方提供的仅仅是一些简陋的加密方法,这些加密方法一是基于算法的保密,一旦算法被别人发现即可解密;二是经过SAP系统官方提供的简陋的算法进行加密后,传输给其它异构系统是无法解密的,因为对方(包括我们技术人员)是不知道加密算法的,所以无法解密。例如:在现有方案中,SAP已有多种加密解密方法:
(1)CONVERT_HASH
(2)COPY_CTAB_TO_STRINIG
(3)MD5_CALCULATE_HASH_FOR_CHAR
(4)MD5_CALCULATE_HASH_FOR_RAW
(5)CALCULATE_HASH_FOR_CHAR
(6)CALCULATE_HASH_FOR_RAW
(7)MD5_CONVERT_HASH
(8)MD5_GET_HASH_INTERACTIVE
(9)SCRAMBLE_STRING
(10)FIEB_PASSWORD_ENCRYPT和FIEB_PASSWORD_DECRYPT
(11)SCMS_BASE64_ENCODE_STR和SCMS_BASE64_DECODE_STR
这些加密或解密方法总体分为两类,(1)至(9)属于不可逆加密,(10)至(11)属于对称加密。但是,不可逆加密(1)至(9)只能加密,主要用于加密和验签,不可直接解密,无法还原,不能用于传输加密。对称加密(10)至(11),解密太容易,只要调用解密函数瞬间解密,这种加密是基于算法的,对方只要知道解密函数或加密算法即可轻易破解。
本实施例中采用的是标准对称加密算法选择的是3DES标准对称加密算法,信息摘要算法选择的MD5信息摘要算法,但不限于这两种实现算法,可以使用其他标准对称加密算法包括但不限于DES(Data Encryption Standard,数据加密标准)、AES(AdvancedEncryption Standard,高级加密标准)等来实现,信息摘要算法可以使用但不限于MD(Message Digest Algorithm,消息摘要算法)、SHA(Secure Hash Algorithm,安全哈希算法)、MAC等信息摘要算法来实现。
在SAP系统首次结合使用了对称加密密钥和加密指纹验证机制,从而提高SAP系统间或SAP系统与其它系统间敏感数据传输的安全性。本实施例中采用的加解密方式,使用密钥+指纹验证方式更能保证数据传输安全性。本实施例的加密解密方法采可以用ABAP语言开发,通过自行设计的一系列逻辑处理,结合使用了对称加密密钥和MD5哈希密钥机制,加密指纹验证机制,适用于SAP系统里的数据加密传输。对敏感数据如薪资、个人信息、销售数据、账号密码等传输起很好的保护作用,使得第三方在不知道密钥的情况下是不能解密的。
本发明实施例还提供一种用于SAP系统的信息传输装置,如图4所示,该装置包括:
加密模块,用于对原始数据进行加密,得到目标加密数据和加密指纹;
发送模块,用于将所述目标加密数据和所述加密指纹传输给接收方系统;
解密模块,用于所述接收方系统利用与所述发送方系统的加密方式对应的对称加密密钥和指纹密钥,对所述目标加密数据进行解密;
校验模块,用于所述接收方系统利用所述加密指纹验证所述目标加密数据;
其中,所述发送方系统和所述接收方系统中的至少一个属于SAP系统,所述加密方式采用对称加密算法。
需要说明的是,SAP系统或者与SAP系统之间建立通信的其它系统,都可以通过程序加载如图3所示的处理逻辑,并根据数据的收/发需要进行加密/解密,对一份原始数据进行了加密的并输出的系统可以称为发送方系统,接收被加密的数据的系统可以称为接收方系统。并且,在实际应用中,SAP系统和与SAP系统之间建立通信的其它系统也可以同时进行数据的发送和接收,即在一份数据的传输过程中作为发送方系统,在另一份数据的传输过程中作为接收方系统。因此,在各发送方系统和接收方系统中都可以部署一套该装置。
进一步的,还包括:
配置模块,用于根据接收到的配置信息,在所述发送方系统和所述接收方系统中配置数据密钥和指纹密钥,所述数据密钥和所述指纹密钥为Base64格式的密钥;在对原始数据进行加密之前,采用UTF-8变长编码方式对所述原始数据进行编码;在对原始数据进行加密之后,以Base64编码输出所述目标加密数据的码流;
所述加密模块,具体用于对所述对称加密密钥进行Base64解码,得到数据密码明文,并根据所述数据密码明文生成至少一个子密钥;对所述指纹密钥进行Base64解码,得到指纹密码明文;对所述原始数据进行UTF-8编码,得到待加密码流,并对所述待加密码流进行分块处理;利用所生成的子密钥,采用标准对称加密算法中密码分组链接加密模式,对各所得分块进行加密处理后输出加密流;之后对所述加密流进行Base64编码,得到Base64格式的密文,并将所述Base64格式的密文与所述指纹密码明文进行混洗操作,再采用MD5信息摘要算法提取指纹,得到所述加密指纹。
所述解密模块,用于对所述对称加密密钥进行Base64解码,得到数据密码明文,并根据所述数据密码明文生成至少一个子密钥,其中,所生成的子密钥与加密阶段的子密钥相同;对所述指纹密钥进行Base64解码,得到指纹密码明文;根据所生成的子密钥对所述目标加密数据进行Base64解码,得到原始密文;采用标准对称解密算法中密码分组链接解密模式,对所述原始密文进行解密处理后输出明文码流;通过UTF-8编码方式对所述明文码流进行解码操作,得到明文;再将所得到的明文与所述指纹密码明文进行混洗操作,再采用MD5信息摘要算法提取指纹计算得到加密指纹,通过计算得到的加密指纹与所述发送方系统发送的加密指纹进行比对验证。
通过在SAP系统首次结合使用了对称加密密钥和加密指纹验证机制,从而提高SAP系统间或SAP系统与其它系统间敏感数据传输的安全性。本实施例中采用的加解密方式,使用密钥+指纹验证方式更能保证数据传输安全性。本实施例的加密解密方法采可以用ABAP语言开发,通过自行设计的一系列逻辑处理,结合使用了对称加密密钥和MD5哈希密钥机制,加密指纹验证机制,适用于SAP系统里的数据加密传输。对敏感数据如薪资、个人信息、销售数据、账号密码等传输起很好的保护作用,使得第三方在不知道密钥的情况下是不能解密的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (10)

1.一种用于SAP系统的信息传输方法,其特征在于,包括:
发送方系统对原始数据进行加密,得到目标加密数据和加密指纹;
所述发送方系统将所述目标加密数据和所述加密指纹传输给接收方系统;
所述接收方系统利用与所述发送方系统的加密方式对应的对称加密密钥和指纹密钥,对所述目标加密数据进行解密;
所述接收方系统利用所述加密指纹验证所述目标加密数据;
其中,所述发送方系统和所述接收方系统中的至少一个属于SAP系统,所述加密方式采用对称加密算法。
2.根据权利要求1所述的方法,其特征在于,还包括:
根据接收到的配置信息,在所述发送方系统和所述接收方系统中配置数据密钥和指纹密钥,所述数据密钥和所述指纹密钥为Base64格式的密钥;
在对原始数据进行加密之前,采用UTF-8变长编码方式对所述原始数据进行编码;
在对原始数据进行加密之后,以Base64编码输出所述目标加密数据的码流。
3.根据权利要求2所述的方法,其特征在于,所述发送方系统对原始数据进行加密,包括:
对所述对称加密密钥进行Base64解码,得到数据密码明文,并根据所述数据密码明文生成至少一个子密钥;
对所述指纹密钥进行Base64解码,得到指纹密码明文;
对所述原始数据进行UTF-8编码,得到待加密码流,并对所述待加密码流进行分块处理;
利用所生成的子密钥,采用标准对称加密算法中密码分组链接加密模式,对各所得分块进行加密处理后输出加密流;
对所述加密流进行Base64编码,得到Base64格式的密文,并将所述Base64格式的密文与所述指纹密码明文进行混洗操作,再采用MD5信息摘要算法提取指纹,得到所述加密指纹。
4.根据权利要求3所述的方法,其特征在于,所述根据所述数据密码明文生成至少一个子密钥,包括:
根据所述数据密码明文生成3个子密钥K1、K2、K3,其中,每个子密钥长度为56位。
5.根据权利要求4所述的方法,其特征在于,所述对所述待加密码流进行分块处理,包括:
将所述待加密码流以64位为一个单位进行分组分块。
6.根据权利要求5所述的方法,其特征在于,所述利用所生成的子密钥,采用标准对称加密算法中密码分组链接加密模式,对各所得分块进行加密处理后输出加密流,包括:
采用标准对称加密算法中的密码分组链接加密模式(CBC),对每个所述待加密码流中分出的数据块依次进行初始转换、16轮位运算和末置换操作,并经过3次迭代操作后输出加密流。
7.根据权利要求6所述的方法,其特征在于,所述对所述目标加密数据进行解密,包括:
对所述对称加密密钥进行Base64解码,得到数据密码明文,并根据所述数据密码明文生成至少一个子密钥,其中,所生成的子密钥与加密阶段的子密钥相同;
对所述指纹密钥进行Base64解码,得到指纹密码明文;
根据所生成的子密钥对所述目标加密数据进行Base64解码,得到原始密文;
采用标准对称解密算法中密码分组链接解密模式,对所述原始密文进行解密处理后输出明文码流;
通过UTF-8编码方式对所述明文码流进行解码操作,得到明文;
将所得到的明文与所述指纹密码明文进行混洗操作,再采用MD5信息摘要算法提取指纹计算得到加密指纹,通过计算得到的加密指纹与所述发送方系统发送的加密指纹进行比对验证。
8.一种用于SAP系统的信息传输装置,其特征在于,包括:
加密模块,用于对原始数据进行加密,得到目标加密数据和加密指纹;
发送模块,用于将所述目标加密数据和所述加密指纹传输给接收方系统;
解密模块,用于所述接收方系统利用与所述发送方系统的加密方式对应的对称加密密钥和指纹密钥,对所述目标加密数据进行解密;
校验模块,用于所述接收方系统利用所述加密指纹验证所述目标加密数据;
其中,所述发送方系统和所述接收方系统中的至少一个属于SAP系统,所述加密方式采用对称加密算法。
9.根据权利要求8所述的装置,其特征在于,还包括:
配置模块,用于根据接收到的配置信息,在所述发送方系统和所述接收方系统中配置数据密钥和指纹密钥,所述数据密钥和所述指纹密钥为Base64格式的密钥;在对原始数据进行加密之前,采用UTF-8变长编码方式对所述原始数据进行编码;在对原始数据进行加密之后,以Base64编码输出所述目标加密数据的码流;
所述加密模块,具体用于对所述对称加密密钥进行Base64解码,得到数据密码明文,并根据所述数据密码明文生成至少一个子密钥;对所述指纹密钥进行Base64解码,得到指纹密码明文;对所述原始数据进行UTF-8编码,得到待加密码流,并对所述待加密码流进行分块处理;利用所生成的子密钥,采用标准对称加密算法中密码分组链接加密模式,对各所得分块进行加密处理后输出加密流;之后对所述加密流进行Base64编码,得到Base64格式的密文,并将所述Base64格式的密文与所述指纹密码明文进行混洗操作,再采用MD5信息摘要算法提取指纹,得到所述加密指纹。
10.根据权利要求8所述的装置,其特征在于,所述解密模块,用于对所述对称加密密钥进行Base64解码,得到数据密码明文,并根据所述数据密码明文生成至少一个子密钥,其中,所生成的子密钥与加密阶段的子密钥相同;对所述指纹密钥进行Base64解码,得到指纹密码明文;根据所生成的子密钥对所述目标加密数据进行Base64解码,得到原始密文;采用标准对称解密算法中密码分组链接解密模式,对所述原始密文进行解密处理后输出明文码流;通过UTF-8编码方式对所述明文码流进行解码操作,得到明文;再将所得到的明文与所述指纹密码明文进行混洗操作,再采用MD5信息摘要算法提取指纹计算得到加密指纹,通过计算得到的加密指纹与所述发送方系统发送的加密指纹进行比对验证。
CN201710457187.1A 2017-06-16 2017-06-16 一种用于sap系统的信息传输方法及装置 Pending CN109150505A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710457187.1A CN109150505A (zh) 2017-06-16 2017-06-16 一种用于sap系统的信息传输方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710457187.1A CN109150505A (zh) 2017-06-16 2017-06-16 一种用于sap系统的信息传输方法及装置

Publications (1)

Publication Number Publication Date
CN109150505A true CN109150505A (zh) 2019-01-04

Family

ID=64830492

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710457187.1A Pending CN109150505A (zh) 2017-06-16 2017-06-16 一种用于sap系统的信息传输方法及装置

Country Status (1)

Country Link
CN (1) CN109150505A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111447580A (zh) * 2020-03-06 2020-07-24 普联技术有限公司 室内定位方法、介质、网络管理系统及终端的控制方法
CN111506912A (zh) * 2020-04-21 2020-08-07 北京思特奇信息技术股份有限公司 一种接口安全化交互方法及系统
CN116886208A (zh) * 2023-09-06 2023-10-13 鼎铉商用密码测评技术(深圳)有限公司 信息加密传输方法、装置、终端设备以及存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101262341A (zh) * 2008-02-22 2008-09-10 北京航空航天大学 一种会务系统中混合加密方法
US20120158980A9 (en) * 2004-04-08 2012-06-21 Takayuki Itoh Web service simple object access protocol request response processing
CN102594842A (zh) * 2012-03-21 2012-07-18 江苏新大诚信息技术有限公司 一种基于设备指纹的网管消息认证与加密方案
CN102801743A (zh) * 2012-09-05 2012-11-28 国家电网公司 基于多方授权和动态密码的sap安全敏感信息系统
CN103034947A (zh) * 2012-12-20 2013-04-10 成都羿明科技有限公司 EminView移动商务平台系统
CN104202166A (zh) * 2014-09-15 2014-12-10 成都博智维讯信息技术有限公司 一种erp系统数据加密方法
CN104809490A (zh) * 2015-04-27 2015-07-29 华中科技大学 一种基于多维码的证卡防伪系统及其认证方法
CN106375481A (zh) * 2016-11-09 2017-02-01 江麓机电集团有限公司 一种分布式erp和mes数据同步连接系统、数据通讯方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120158980A9 (en) * 2004-04-08 2012-06-21 Takayuki Itoh Web service simple object access protocol request response processing
CN101262341A (zh) * 2008-02-22 2008-09-10 北京航空航天大学 一种会务系统中混合加密方法
CN102594842A (zh) * 2012-03-21 2012-07-18 江苏新大诚信息技术有限公司 一种基于设备指纹的网管消息认证与加密方案
CN102801743A (zh) * 2012-09-05 2012-11-28 国家电网公司 基于多方授权和动态密码的sap安全敏感信息系统
CN103034947A (zh) * 2012-12-20 2013-04-10 成都羿明科技有限公司 EminView移动商务平台系统
CN104202166A (zh) * 2014-09-15 2014-12-10 成都博智维讯信息技术有限公司 一种erp系统数据加密方法
CN104809490A (zh) * 2015-04-27 2015-07-29 华中科技大学 一种基于多维码的证卡防伪系统及其认证方法
CN106375481A (zh) * 2016-11-09 2017-02-01 江麓机电集团有限公司 一种分布式erp和mes数据同步连接系统、数据通讯方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111447580A (zh) * 2020-03-06 2020-07-24 普联技术有限公司 室内定位方法、介质、网络管理系统及终端的控制方法
CN111506912A (zh) * 2020-04-21 2020-08-07 北京思特奇信息技术股份有限公司 一种接口安全化交互方法及系统
CN116886208A (zh) * 2023-09-06 2023-10-13 鼎铉商用密码测评技术(深圳)有限公司 信息加密传输方法、装置、终端设备以及存储介质
CN116886208B (zh) * 2023-09-06 2023-12-29 鼎铉商用密码测评技术(深圳)有限公司 信息加密传输方法、装置、终端设备以及存储介质

Similar Documents

Publication Publication Date Title
CN102317904B (zh) 带有验证完整性的加密系统和方法
CN101447870B (zh) 一种基于分布式口令技术的私钥安全存储方法
CN103427987B (zh) 数据加密的方法、数据验证方法及电子装置
CN109245881A (zh) 一种照片视频云端加密存储方法
JPH1075240A (ja) データ送信を保護する方法およびデータを暗号化または解読化する装置
CN103684772B (zh) 动态缺失加密系统
WO2007071140A1 (fr) Procede de transmission de donnees de maniere securisee
CN106973056A (zh) 一种面向对象的安全芯片及其加密方法
CN108768617A (zh) 一种基于传统分组密码的保持格式加密方法
CN104348625A (zh) 加解密装置及其加解密方法
CN101938353B (zh) 一种远程重置密钥装置个人识别码的方法
Vyakaranal et al. Performance analysis of symmetric key cryptographic algorithms
CN109150505A (zh) 一种用于sap系统的信息传输方法及装置
CN114826590B (zh) 一种分组模式加密方法、解密方法及其装置、设备
CN106713349A (zh) 一种能抵抗选择密文攻击的群组间代理重加密方法
CN105915345B (zh) 一种家庭网关设备生产测试中授权生产和改制的实现方法
CN113591109B (zh) 可信执行环境与云端通信的方法及系统
CN101651538A (zh) 一种基于可信密码模块的数据安全传输方法
CN110138544A (zh) 一种物联网设备的加密解密系统及方法
CN103634113B (zh) 一种带用户/设备身份认证的加解密方法及装置
CN111130755A (zh) 一种基于签名的矩阵双重加密方法
ايناس طارق et al. Image encryption and decryption using CAST-128 with proposed adaptive key
CN114142994B (zh) 一种内核模块参数安全传递方法
Pawar et al. Survey of cryptography techniques for data security
CN106972920A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20190104

RJ01 Rejection of invention patent application after publication