CN109347627A - 数据加解密方法、装置、计算机设备及存储介质 - Google Patents

数据加解密方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN109347627A
CN109347627A CN201811093948.0A CN201811093948A CN109347627A CN 109347627 A CN109347627 A CN 109347627A CN 201811093948 A CN201811093948 A CN 201811093948A CN 109347627 A CN109347627 A CN 109347627A
Authority
CN
China
Prior art keywords
target
data
packet
digital signature
service
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.)
Granted
Application number
CN201811093948.0A
Other languages
English (en)
Other versions
CN109347627B (zh
Inventor
徐唐生
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ping An Technology Shenzhen Co Ltd
Original Assignee
Ping An Technology Shenzhen 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 Ping An Technology Shenzhen Co Ltd filed Critical Ping An Technology Shenzhen Co Ltd
Priority to CN201811093948.0A priority Critical patent/CN109347627B/zh
Publication of CN109347627A publication Critical patent/CN109347627A/zh
Application granted granted Critical
Publication of CN109347627B publication Critical patent/CN109347627B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • 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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key 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 key encryption key
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Storage Device Security (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种数据加解密方法、装置、计算机设备及存储介质,其中,该数据加解密方法包括数据发送端执行的如下步骤:采用预置第一密码工具包生成预设长度的目标密钥对;获取目标业务数据,采用签名加密算法获取目标业务数据对应的第一数字签名;根据预设格式封装目标业务数据和第一数字签名,以形成目标数据包;采用目标私钥加密目标数据包,获取加密数据包。基于加密数据包生成业务请求,并将业务请求发送给数据接收端,业务请求包括业务指令、加密数据包和用户标识。该方法采用预设长度的目标私钥加密敏感数据并采用预设长度的目标公钥进行解密,保证数据传输的安全性的同时不影响数据加解密效率。

Description

数据加解密方法、装置、计算机设备及存储介质
技术领域
本发明涉及信息安全领域,尤其涉及一种数据加解密方法、装置、计算机设备及存储介质。
背景技术
非对称加密算法需要公钥和密钥两个密钥,公钥与私钥是一对,如果用公钥对数据进行加密,只有用对应的私钥才能解密,同理如果用私钥对数据进行加密,只有用对应的公钥才能解密。数字签名技术是将摘要信息用发送者的私钥加密,与原文一起传送给接收者,接收者只有用发送者的公钥才能解密被加密的摘要信息,然后用HASH函数对收到的原文产生一个摘要信息,与解密的摘要信息对比。如果相同,则说明收到的信息是完整的,在传输过程中没有被修改,否则说明信息被修改过,因此数字签名能够验证信息的完整性。数字签名是非对称密钥加密技术与数字摘要技术的应用。
当密钥应用到线上敏感业务(如支付交易时),若密钥太短影响安全性,密钥过长则解密花费时间长,牺牲解密效率。如何在线上敏感业务中保障信息解密效率同时保障信息安全性成为亟待解决的问题。
发明内容
本发明实施例提供一种数据加解密方法、装置、计算机设备及存储介质,以解决在线上敏感业务中保障信息解密效率同时保障信息安全性的问题。
一种数据加解密方法,包括数据发送端执行的如下步骤:
采用预置第一密码工具包生成预设长度的目标密钥对,目标密钥对包括目标公钥和目标私钥;
获取目标业务数据,采用签名加密算法获取目标业务数据对应的第一数字签名;
根据预设格式封装目标业务数据和第一数字签名,以形成目标数据包;
采用目标私钥加密目标数据包,获取加密数据包。
基于加密数据包生成业务请求,并将业务请求发送给数据接收端,业务请求包括业务指令、加密数据包和用户标识。
一种数据加解密装置,包括数据发送端,数据发送端包括:
生成目标密钥对模块,用于采用预置第一密码工具包生成预设长度的目标密钥对,目标密钥对包括目标公钥和目标私钥;
获取业务数据模块,用于获取目标业务数据,采用签名加密算法获取目标业务数据对应的第一数字签名;
形成目标数据包模块,用于根据预设格式封装目标业务数据和第一数字签名,以形成目标数据包;
获取加密数据包模块,用于采用目标私钥加密目标数据包,获取加密数据包。
生成业务请求模块,用于基于加密数据包生成业务请求,并将业务请求发送给数据接收端,业务请求包括业务指令、加密数据包和用户标识。
一种计算机设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述数据加解密方法的步骤。
一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现上述数据加解密方法的步骤。
一种数据加解密方法,包括数据接收端执行的如下步骤:
接收数据发送端发送的业务请求,业务请求包括业务指令、加密数据包和用户标识;
根据用户标识查询公钥存储库,获取数据发送端共享的与用户标识相对应的目标公钥,目标公钥为采用预置第一密码工具包生成预设长度的目标密钥对中的公钥;
采用目标公钥解密加密数据包,获取目标数据包;
根据预设格式解封装目标数据包,获取目标业务数据和第一数字签名;
采用签名加密算法获取目标业务数据对应的第二数字签名;
若第二数字签名和第一数字签名相同,则基于目标业务数据,执行业务指令。
一种数据加解密装置,包括数据接收端,数据接收端包括:
接收业务请求模块,用于接收数据发送端发送的业务请求,业务请求包括业务指令、加密数据包和用户标识;
获取目标公钥模块,用于根据用户标识查询公钥存储库,获取数据发送端共享的与用户标识相对应的目标公钥,目标公钥为采用预置第一密码工具包生成预设长度的目标密钥对中的公钥;
获取目标数据包模块,用于采用目标公钥解密加密数据包,获取目标数据包;
解封目标数据包模块,用于根据预设格式解封装目标数据包,获取目标业务数据和第一数字签名;
获取数字签名模块,用于采用签名加密算法获取目标业务数据对应的第二数字签名;
执行业务指令模块,用于若第二数字签名和第一数字签名相同,则基于目标业务数据,执行业务指令。
一种计算机设备,包括存储器、处理器以及存储在存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述数据加解密方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述数据加解密方法的步骤。
上述数据加解密方法、装置、计算机设备及存储介质,通过数据发送端的预置第一密码工具包生成预设长度的目标密钥对,采用签名加密算法获取业务数据对应的第一签名,将目标业务数据和第一签名形成的目标数据包通过目标私钥加密后形成加密数据包发送给数据接收端,数据接收端可基于解封加密数据包后的目标业务数据获取第二签名,通过对比第一签名和第二签名获取目标业务数据的真实性,本发明采用预设长度的目标私钥加密敏感数据并采用预设长度的目标公钥进行解密,保证数据传输的安全性的同时不影响数据加解密效率,提高在网上实现敏感业务往来数据传输的安全性和可靠性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例中数据加解密方法的应用环境示意图;
图2是本发明一实施例中数据加解密方法的流程图;
图3是本发明一实施例中数据加解密方法的另一流程图;
图4是本发明一实施例中数据加解密方法的另一流程图;
图5是本发明一实施例中数据加解密装置的示意图;
图6是本发明一实施例中计算机设备的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的数据加解密方法,可应用在如图1的应用环境中,该数据加解密方法应用在数据加解密系统中,该数据加解密系统包括数据发送端和数据接收端,其中,数据发送端通过网络与数据接收端进行通信。其中,数据发送端又称为用户方,是指与数据接收端相对应,为客户提供本地服务的程序。该数据发送端可安装在但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备等计算机设备上。数据接收端可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
该数据加解密方法包括数据发送端执行的如下步骤:
采用预置第一密码工具包生成预设长度的目标密钥对,目标密钥对包括目标公钥和目标私钥。
获取目标业务数据,采用签名加密算法获取目标业务数据对应的第一数字签名。
根据预设格式封装目标业务数据和第一数字签名,以形成目标数据包。
采用目标私钥加密目标数据包,获取加密数据包。
该数据加解密方法还包括数据接收端执行的如下步骤:
接收数据发送端发送的业务请求,业务请求包括业务指令、加密数据包和用户标识。
根据用户标识查询公钥存储库,获取数据发送端共享的与用户标识相对应的目标公钥,目标公钥为采用预置第一密码工具包生成预设长度的目标密钥对中的公钥。
采用目标公钥解密加密数据包,获取目标数据包。
根据预设格式解封装目标数据包,获取目标业务数据和第一数字签名。
采用签名加密算法获取目标业务数据对应的第二数字签名。
若第二数字签名和第一数字签名相同,则基于目标业务数据,执行业务指令。
在一实施例中,如图2所示,提供一种数据加解密方法,以该方法应用在图1中的数据发送端和数据接收端为例进行说明,包括如下步骤:
S11.数据发送端采用预置第一密码工具包生成预设长度的目标密钥对,目标密钥对包括目标公钥和目标私钥。
其中,预置第一密码工具包中包括密钥对生成工具,本实施例中通过预置第一密码工具包中的密钥对生成工具随机生成目标密钥对,该目标密钥对包括目标公钥和目标私钥。其中,第一密码工具包包括现有成熟算法的加密工具,包括但不限于RSA密码工具包,DES(Data Encryption Standard,数据加密标准)密码工具包或IDEA(International DataEncryption Algorithm,国际数据加密算法)密码工具包等。于本实施例,可采用RSA密钥工具包随机生成生成目标密钥对。
RSA密钥生成算法是一种非对称加密算法,是1977年由罗纳德·李维斯特(RonRivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的,RSA就是他们三人姓氏开头字母拼在一起组成的。通过RSA密钥生成算法得到的目标密钥对能保证在世界范围内是唯一的,提高目标密钥对的破解难度。
本实施例采用密钥对生成工具生成1024位的目标密钥对是安全性和程序性能平衡的结果,低于1024位的目标密钥对存在安全隐患,高于1024位的目标密钥对安全性虽好,同时加密解密所需的时间更长,影响线上敏感业务处理的时效性。
目标公钥(Public Key)和目标私钥(Private Key)是通过RSA密钥生成算法随机生成的密钥对,目标公钥是目标密钥对中公开的部分,目标私钥则是非公开的部分。目标公钥用于解密目标业务数据、验证数字签名或加密可以用相应的目标私钥解密的数据。本实施例中,使用目标密钥对的时候,如果用其中一个目标密钥(目标公钥或目标私钥)加密一段数据,必须用另一个目标密钥(目标私钥或目标公钥)进行解密。比如用目标私钥加密目标业务数据就必须用目标公钥解密,如果用目标公钥加密则必须用目标私钥解密,否则解密将不会成功。
公钥存储库是用以存储多个数据发送端发送的目标公钥的公钥库,每一目标公钥是基于不同的用户标识进行区别的。其中,用户标识是用于区别每一用户的唯一标识,比如,用户名、手机号或身份证号等。本实施例中,数据发送端将目标密钥对中的目标公钥共享到数据接收端指定的公钥存储库中,一般为数据接收端管理员账号下的.ssh文件夹中,以便于数据接收端获取该目标公钥。
步骤S11中,数据发送端采用密钥对生成工具随机生成1024位目标密钥对,保障目标业务数据传输的安全性同时不影响数据接收端获取目标业务数据的时效性;数据发送端将目标公钥与用户标识相对应存储在公钥存储库中,便于数据接收端基于用户标识匹配出对应的目标公钥,从而解密数据发送端发送的目标业务数据。
S12.数据发送端获取目标业务数据,采用签名加密算法获取目标业务数据对应的第一数字签名。
其中,目标业务数据是数据发送端根据线上敏感业务处理流程产生的相关数据,比如,对于线上交易业务就是产生的交易账户名、交易额和交易时间等。
签名加密算法是指生成数字签名的算法。数字签名,就是只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明。数字签名是通过一个单向函数,对要传送的信息进行处理得到的用以认证信息来源,并核实信息在传送过程中是否发生变化的一个字母数字串。目前应用最为广泛的签名加密算法包括:Rabin签名、DSS(Data Signature Standard,数字签名标准)签名、RSA签名和MD5(Message Digest Algorithm5,消息摘要算法第五版)等。于本实施例可采用MD5算法获取目标业务数据对应的第一数字签名。
MD5算法可以为任何文件(不管其大小、格式、数量)产生一个同样独一无二的“数字指纹”,如果任何人对文件做了任何改动,其MD5值也就是对应的“数字指纹”都会发生变化。每个文件的MD5值是不同的,如果任何人对文件做了任何改动,其MD5值也就是对应的“数字指纹”就会发生变化。比如,数据接收端针对目标业务数据预先保存由数据发送端提供的一个MD5值(第一数字签名),数据接收端再重新采用MD5算法计算目标业务数据的MD5值(第二数字签名),通过比较这两个值是否相同,就能判断数据接收端得到的目标业务数据是否出错,或者说下载的文件是否被篡改,用以确认目标业务数据传输时过程中的真实性。
步骤S12中,数据接收端通过MD5算法给目标业务数据生成第一数字签名,利于后续数据接收端基于该第一数字签名判定目标业务数据是否为数据发送端发送的真实数据(是否被篡改),从而有效确保线上敏感业务的真实性和安全性。
S13.数据发送端根据预设格式封装目标业务数据和第一数字签名,以形成目标数据包。
其中,预设格式是将目标业务数据和第一数字签名封装到目标数据包中所采用的格式,具体可以是在目标数据包中添加目标业务数据和第一数字签名的格式或顺序,包括但不限于,将第一数字签名置于目标业务数据之前、之后或隐藏到目标业务数据中等,此处不做限定。优选地,为了提高目标业务数据传输的安全性,数据发送端还可给目标业务数据添加业务标识,比如给目标业务数据和第一数字签名前添加指定的特殊字符开头,以区分两者,比如,数据发送端设定给目标业务数据前添加字符“##@data@##”,给第一数字签名前添加字符“%%sign%%”等,此处不做限定。
步骤S13中,数据发送端可依据预设格式封装目标业务数据和第一数字签名形成目标数据包,进一步提高数据发送端传输目标业务数据时的传输安全性。
S14.数据发送端采用目标私钥加密目标数据包,获取加密数据包。
其中,加密数据包是采用步骤S11获得的目标私钥对步骤S13获得的目标数据包进行加密后生成的加密数据包。
具体地,采用目标私钥加密目标数据包的基本过程就是对原来为明文的目标数据包按加密算法进行处理,使其成为不可读的一段代码,通常称为“密文”,于本实施例即为加密数据包。该加密数据包只能在输入相应的目标公钥之后才能显示出本来内容,通过这样的途径来达到目标数据包不被非法人窃取、阅读的目的。该过程的逆过程为解密,即将该“密文”转化为其原来明文的目标数据包的过程。
步骤S14中,数据发送端通过目标私钥加密目标数据包获取加密数据包,只有拥有目标公钥的数据接收端才能对该加密数据包进行解密,提高线上敏感业务传输加密数据包的安全性和可靠性。
优选地,步骤S14中,即采用目标私钥加密目标数据包,获取加密数据包,具体包括如下步骤:
数据发送端基于目标私钥,采用预置第一密码工具包的加密工具加密目标数据包,获取加密数据包。具体地,预置第一密码工具包的加密工具就是目标私钥对应的RSA加密算法。
具体地,首先步骤S11中可知,数据发送端生成目标密钥对的实现过程具体包括采用RSA密钥生成算法生成目标密钥对,具体包括:
1).随机选择两个大的质数p和q,p不等于q,且p和q的乘积为N,且N对应的二进制长度设置为1024。
2).根据欧拉函数,不大于N且与N互质的整数个数为φ(N)=(p-1)(q-1)。
3).随机选择一个整数e与φ(N)互质,并且e小于φ(N)。
4).计算e关于φ(N)的模反元素d:d×e≡1(modφ(N))。
5).将p和q的记录销毁,获得目标密钥对,其中,目标公钥(N,e),目标私钥(N,d)。
基于上述RSA密钥生成算法生成的目标密钥对,在本步骤S14中,数据发送端采用目标私钥SK对应的RSA加密算法将目标数据包M加密成为加密数据包CT的实现过程如下:
CT<--Encrypt(SK,M),RSA加密算法以目标私钥SK和目标数据包M作为输入,输出加密数据包CT:
CT=Me mod N
进一步地,后续数据接收端采用目标公钥SK对应的RSA解密算法将加密数据包CT解密出明文M(目标数据包)的实现过程如下:
M<--Decrypt(PK,CT),RSA解密算法以目标公钥PK和加密数据包CT作为输入,输出明文(目标数据包)M:
M=CTD mod N
由于e和d在φ(N)下互逆,因此有CTD=Med=M mod N
从上述算法的描述可以看出:目标私钥是数据发送端私有的,用于对包含有目标业务数据的目标数据包进行加密后生成加密数据包,目标公钥用于数据接收端对接收到的加密数据包进行解密。
步骤S14中,数据发送端通过目标私钥对应的RSA加密算法加密目标数据包获取加密数据包,只有拥有目标公钥的数据接收端依据对应的RAS解密算法才能对该加密数据包进行解密,提高线上敏感业务传输加密数据包的安全性和可靠性。
优选地,在步骤S14之后,即在获取加密数据包的步骤之后,该数据加解密方法还包括:
数据发送端基于加密数据包生成业务请求,并将业务请求发送给数据接收端,所述业务请求包括业务指令、所述加密数据包和所述用户标识。
其中,业务请求是数据发送端发送给数据接收端,用于请求对其携带的加密数据包进行验证,若验证通过执行该加密数据包中携带的线上敏感业务的请求。业务指令实现线上敏感业务请求的具体操作指令,比如,执行网上转账业务等。
具体地,本实施例主要应用于线上敏感业务,包括但不限于线上交易或线上密文传输等。以线上交易说明本实施例生成业务请求的实现过程:
用户准备在线上申请网上转账业务,首先通过数据发送端输入目标业务数据,主要包括转账金额和支付密码。数据发送端基于用户输入的目标业务数据生成对应的第一数字签名,并将该第一数字签名和目标业务数据封装成目标数据包。采用目标私钥加密该目标数据包生成包含目标业务数据的加密数据包后,数据发送端结合该加密数据包和用户对应的用户标识(比如用户名、手机号或身份证号等)生成线上转账指令(也即业务指令),用以发送给数据接收端验证该加密数据包成功后完成该线上转账业务。
本实施例中,用户通过其对应的用户标识登录数据发送端后,向数据发送端输入目标业务数据。数据接收端基于该目标业务数据进行处理后可形成加密数据包,并将加密数据包和用户标识可生成对应的业务请求发送给数据接收端,便于数据接收端根据业务请求中的用户标识在公钥存储库中获取对应的目标公钥解密该业务请求中携带的加密数据包。
步骤S11至S14中,数据发送端通过预置第一密码工具包生成1024位的目标密钥对,采用签名加密算法获取业务数据对应的第一签名,将目标业务数据和第一签名形成的目标数据包通过目标私钥加密后发送给数据接收端,使得后续数据接收端可通过目标公钥进行解密,本发明采用1024位的目标私钥加密敏感数据,保证数据传输的安全性的同时不影响数据加解密效率,提高在网上实现敏感业务往来数据传输的安全性和可靠性。数据发送端还可依据预设格式封装目标业务数据和第一数字签名形成目标数据包,进一步提高数据发送端传输目标业务数据时的传输安全性。数据发送端通过目标私钥加密目标数据包获取加密数据包,只有拥有目标公钥的数据接收端才能对该加密数据包进行解密,提高线上敏感业务传输加密数据包的安全性和可靠性。
S21.数据接收端接收数据发送端发送的业务请求,业务请求包括业务指令、加密数据包和用户标识。
具体地,数据接收端可通过已搭建的网络链路接收数据发送端发送的业务请求,其中,网络链路包括无线网络、有线网络和内部网络等,此处不做限定。
步骤S21中,数据接收端通过互联网接收数据发送端发送的业务请求,并获取业务请求中携带的用户标识,用于在数据接收端的公钥存储库中匹配出对应的目标公钥做技术准备。
S22.数据接收端根据用户标识查询公钥存储库,获取数据发送端共享的与用户标识相对应的目标公钥,目标公钥为采用预置第一密码工具包生成预设长度的目标密钥对中的公钥。
具体地,由步骤S11可知,数据发送端将其生成的目标公钥与用户标识共享到数据接收端的公钥存储库中,数据接收端只需获取业务请求中携带用户标识,即可在公钥存储库中匹配出对应的目标公钥,以对该业务请求中携带的加密数据包进行解密。
步骤S22中,数据接收端可基于业务请求中携带的用户标识匹配出对应的目标公钥,为后续采用该目标公钥对加密数据包进行解密准备技术基础。
S23.数据接收端采用目标公钥解密加密数据包,获取目标数据包。
具体地,目标私钥和目标公钥具有如下性质:
1,用目标公钥加密的数据只有对应的目标私钥可以解密。
2,用目标私钥加密的数据只有对应的目标公钥可以解密。
3,如果可以用目标公钥解密,则必然是对应的目标私钥加的密。
4,如果可以用目标私钥解密,则必然是对应的目标公钥加的密。
步骤S23中,根据目标私钥和目标公钥具有的性质可知,只有数据接收端存储的目标公钥可以解密数据发送端发送的加密数据包,以获取目标数据包,其它任何密钥都不能解密数据发送端通过目标私钥进行加密的加密数据包,该解密方式可有效保障数据接收端接收到的加密数据包的真实性。
S24.数据接收端根据预设格式解封装目标数据包,获取目标业务数据和第一数字签名。
具体地,数据接收端通过步骤S23解密后得到的是按步骤S13中的预设格式封装的目标业务数据和第一数字签名形成的目标数据包,数据接收端还需根据预设格式的规则提取出对应的目标业务数据和第一数字签名,才能验证目标业务数据的真实性。比如,数据发送端设定给目标业务数据前添加字符“##@data@##”,给第一数字签名前添加字符“%%sign%%”,则数据接收端将目标数据包中字符“##@data@##”后提取的数作为目标业务数据,将字符“%%sign%%”后提取的数据作为第一数字签名,数据接收端按照数据发送端设定的预设格式对目标数据包进行反解封实现获取目标业务数据和第一数字签名。
优选地,数据接收端可在指定文件夹内存储由数据发送端共享的每一用户标识对应的预设格式和反解封方法,形成预设格式列表,用以后续基于预设格式列表对每一用户标识对应的目标数据包进行反解封。
步骤S24中,数据接收端按照数据发送端设定的预设格式对目标数据包进行反解封实现获取目标业务数据和第一数字签名,进一步提高数据接收端提取目标业务数据时的安全性。
S25.数据接收端采用签名加密算法获取目标业务数据对应的第二数字签名。
具体地,为了判定步骤S24中提取的目标业务数据的真伪性,数据接收方需要采用与数据发送端同样的MD5算法获取提取出的目标业务数据的数字签名。为了与第一数字签名进行区别,于本实施例可将数据接收端提取出的目标业务数据的数字签名称为第二数字签名。
因MD5算法可以为任何文件(不管其大小、格式、数量)产生一个同样独一无二的“数字指纹”,如果任何人对文件做了任何改动,其MD5值也就是对应的“数字指纹”都会发生变化。每个文件的MD5值是不同的,如果任何人对文件做了任何改动,其MD5值也就是对应的“数字指纹”就会发生变化。
步骤S25中,数据接收端可采用与数据发送端同样的MD5签名加密算法获取与目标业务数据对应的第二数字签名,给数据接收端将第二数字签名和第一数字签名进行对比做技术准备。
优选地,在步骤S25之后,即在采用签名加密算法获取目标业务数据对应的第二数字签名的步骤之后,该数据加解密方法还包括:
若第二数字签名和第一数字签名不相同,则数据接收端通知数据发送端重新发送业务请求。
可以理解地,当第二数字签名和第一数字签名不相同,根据MD5算法本身的性质,说明第二数字签名对应的目标业务数据和第一数字签名对应的目标业务数据不相同,数据接收端不能确认接收到的目标业务数据的真实性,此时需要通过数据接收端重新发送业务请求,以保障业务请求的安全性和可靠性,维护。
本实施例在判定第二数字签名和第一数字签名不相同时,数据接收端没有直接拒绝响应数据发送端发送的业务请求,而是通知数据接收端重新发送业务请求,提高数据接收端处理业务请求的灵活性,同时保障处理业务请求的安全性。
S26.数据接收端若第二数字签名和第一数字签名相同,则基于目标业务数据,执行业务指令。
具体地,当第二数字签名和第一数字签名相同,根据MD5算法本身的性质,说明第二数字签名对应的目标业务数据和第一数字签名对应的目标业务数据相同,数据接收端可确认接收到的目标业务数据未经篡改,是由数据发送端发送的原始的目标业务数据。此时数据接收端可通过数据接收端发送的业务请求,并基于业务请求中携带的目标业务数据执行业务执行,完成该业务指令,以保障快速安全地完成业务请求。
步骤S21至S26中,数据接收端通过互联网接收数据发送端发送的业务请求,并获取业务请求中携带的用户标识,用于在数据接收端的公钥存储库中匹配出对应的目标公钥做技术准备。数据接收端可基于业务请求中携带的用户标识匹配出对应的目标公钥,为后续采用该目标公钥对加密数据包进行解密准备技术基础。根据目标私钥和目标公钥具有的性质可知,只有数据接收端存储的目标公钥可以解密数据发送端发送的加密数据包,以获取目标数据包,其它任何密钥都不能解密数据发送端通过目标私钥进行加密的加密数据包,该解密方式可有效保障数据接收端接收到的加密数据包的真实性。数据接收端按照数据发送端设定的预设格式对目标数据包进行反解封实现获取目标业务数据和第一数字签名,进一步提高数据接收端提取目标业务数据时的安全性。数据接收端可采用与数据发送端同样的MD5签名加密算法获取与目标业务数据对应的第二数字签名,给数据接收端将第二数字签名和第一数字签名进行对比做技术准备。数据接收端可通过数据接收端发送的业务请求,并基于业务请求中携带的目标业务数据执行业务执行,完成该业务指令,以保障快速安全地完成业务请求。
步骤S11至S26提供的实施例,通过数据发送端的预置第一密码工具包生成1024位的目标密钥对,采用签名加密算法获取业务数据对应的第一签名,将目标业务数据和第一签名形成的目标数据包通过目标私钥加密后形成加密数据包发送给数据接收端,数据接收端可基于解封加密数据包后的目标业务数据获取第二签名,通过对比第一签名和第二签名获取目标业务数据的真实性,本发明采用1024位的目标私钥加密敏感数据并采用1024位的目标公钥进行解密,保证数据传输的安全性的同时不影响数据加解密效率,提高在网上实现敏感业务往来数据传输的安全性和可靠性。
优选地,数据发送端还可给每一随机生成的目标密钥对设置秘钥有效期,当每一当前目标密钥对超过对应的秘钥有效期后,当前目标密钥对作废。若当前目标密钥对应的用户标识通过数据发送端再发送新的目标业务数据,则生成更新的带有秘钥有效期的更新密钥对,以采用更新密钥对对新的目标业务数据进行加密,保障目标业务数据的传输安全性。或者,对于安全指数级别高的线上敏感业务,为了进一步保障线上敏感业务涉及的目标业务数据的安全性,可给每一安全指数级别高的线上敏感业务单独生成目标密钥对,也即每一目标秘钥对不仅携带用户标识,还携带目标业务数据对应的目标业务ID,当数据接收端完成数据发送端发送的业务请求之后,基于其业务请求中的携带的目标业务ID完成与业务指令相对应的执行任务,该目标业务ID对应的目标密钥对作废。
在一实施例中,如图3所示,步骤S11中,即采用预置第一密码工具包生成预设长度的目标密钥对,具体包括如下步骤:
S111.获取生成密钥对指令,生成密钥对指令包括密钥对长度参数。
其中,生成密钥对指令是用户通过用户标识登陆数据发送端时,数据发送端给该用户标识对应生成目标密钥对的指令。
密钥对长度参数具体为1024,可使得后续采用密钥对生成工具对该密钥对长度参数进行处理时,可生成1024位的目标密钥对,以达到安全性和程序性能平衡,低于1024位的目标密钥对存在安全隐患,高于1024位的目标密钥对安全性虽好,同时加密解密所需的时间更长,影响线上敏感业务的时效性。
S112.基于生成密钥对指令调用预置第一密码工具包,随机生成与密钥对长度参数相对应的目标密钥对。
具体地,数据发送端调用预置第一密码工具包,随机生成与密钥对长度参数相对应的目标密钥对的实现过程如下:
1).随机选择两个大的质数p和q,p不等于q,且p和q的乘积为N,且N对应的二进制长度设置为1024。
2).根据欧拉函数,不大于N且与N互质的整数个数为φ(N)=(p-1)(q-1)。
3).随机选择一个整数e与φ(N)互质,并且e小于φ(N)。
4).计算e关于φ(N)的模反元素d:d×e≡1(modφ(N))。
5).将p和q的记录销毁,获得目标密钥对,其中,目标公钥(N,e),目标私钥(N,d)。
步骤S112中,数据发送端采用密钥对生成工具随机生成1024位目标密钥对,保障目标业务数据传输的安全性同时不影响数据接收端获取目标业务数据的时效性。
步骤S111至S112中,数据发送端采用密钥对生成工具生成1024位的目标密钥对是安全性和程序性能平衡的结果,可保障目标业务数据传输的安全性同时不影响数据接收端获取目标业务数据的时效性。
在一实施例中,如图4所示,步骤S12中,即采用签名加密算法获取目标业务数据对应的第一数字签名,具体包括如下步骤:
S121.采用第二密码工具包对目标业务数据进行加密处理,获取目标业务数据对应的四组信息分组输出。
具体地,采用第二密码工具包对目标业务数据进行加密处理,获取目标业务数据对应的四组信息分组输出的具体实现过程如下:
MD5算法以512位分组来处理输入的目标业务数据,每一分组又划分为16个32位子分组,算法的输出由四个32位分组组成。
首先填充目标业务数据对应的字符串使其长度恰好为一个比512位的倍数仅小64位的数。填充方法是附一个1在消息后面,后接所要求的多个0,然后在其后附上64位的消息长度(填充前)。这两步的作用是使消息长度恰好是512位的整数倍(算法的其余部分要求如此),同时确保不同的消息在填充后不相同。四个32位变量初始化为:
A=0×01234567
B=0×89abcdef
C=0xfedcba98
D=0×76543210
它们称为链接变量(chaining variable)
接着进行算法的主循环,循环的次数是消息中512位消息分组的数目。
将上面四个变量复制到另外的变量中:A到a,B到b,C到c,D到d。
主循环有四轮,每轮很相拟。第一轮进行16次操作。每次操作对a,b,c和d中的其中三个作一次非线性函数运算,然后将所得结果加上第四个变量,文本的一个子分组和一个常数。再将所得结果向右环移一个不定的数,并加上a,b,c或d中之一。最后用该结果取代a,b,c或d中之一。
以一下是每次操作中用到的四个非线性函数(每轮一个)。
F(X,Y,Z)=(X&Y)|((~X)&Z)
G(X,Y,Z)=(X&Z)|(Y&(~Z))
H(X,Y,Z)=X^Y^Z
I(X,Y,Z)=Y^(X|(~Z))
(&是与,|是或,~是非,^是异或)
这些函数是这样设计的:如果X、Y和Z的对应位是独立和均匀的,那么结果的每一位也应是独立和均匀的。
函数F是按逐位方式操作:如果X,那么Y,否则Z。函数H是逐位奇偶操作符。
设Mj表示消息的第j个子分组(从0到15),<<<s表示循环左移s位,则四种操作为:
FF(a,b,c,d,Mj,s,ti)表示a=b+((a+(F(b,c,d)+Mj+ti)<<<s)
GG(a,b,c,d,Mj,s,ti)表示a=b+((a+(G(b,c,d)+Mj+ti)<<<s)
HH(a,b,c,d,Mj,s,ti)表示a=b+((a+(H(b,c,d)+Mj+ti)<<<s)
II(a,b,c,d,Mj,s,ti)表示a=b+((a+(I(b,c,d)+Mj+ti)<<<s)
这四轮(64步)是:
第一轮:
FF(a,b,c,d,M0,7,0xd76aa478)
FF(d,a,b,c,M1,12,0xe8c7b756)
FF(c,d,a,b,M2,17,0×242070db)
FF(b,c,d,a,M3,22,0xc1bdceee)
FF(a,b,c,d,M4,7,0xf57c0faf)
FF(d,a,b,c,M5,12,0×4787c62a)
FF(c,d,a,b,M6,17,0xa8304613)
FF(b,c,d,a,M7,22,0xfd469501)
FF(a,b,c,d,M8,7,0×698098d8)
FF(d,a,b,c,M9,12,0×8b44f7af)
FF(c,d,a,b,M10,17,0xffff5bb1)
FF(b,c,d,a,M11,22,0×895cd7be)
FF(a,b,c,d,M12,7,0×6b901122)
FF(d,a,b,c,M13,12,0xfd987193)
FF(c,d,a,b,M14,17,0xa679438e)
FF(b,c,d,a,M15,22,0×49b40821)
第二轮:
GG(a,b,c,d,M1,5,0xf61e2562)
GG(d,a,b,c,M6,9,0xc040b340)
GG(c,d,a,b,M11,14,0×265e5a51)
GG(b,c,d,a,M0,20,0xe9b6c7aa)
GG(a,b,c,d,M5,5,0xd62f105d)
GG(d,a,b,c,M10,9,0×02441453)
GG(c,d,a,b,M15,14,0xd8a1e681)
GG(b,c,d,a,M4,20,0xe7d3fbc8)
GG(a,b,c,d,M9,5,0×21e1cde6)
GG(d,a,b,c,M14,9,0xc33707d6)
GG(c,d,a,b,M3,14,0xf4d50d87)
GG(b,c,d,a,M8,20,0×455a14ed)
GG(a,b,c,d,M13,5,0xa9e3e905)
GG(d,a,b,c,M2,9,0xfcefa3f8)
GG(c,d,a,b,M7,14,0×676f02d9)
GG(b,c,d,a,M12,20,0×8d2a4c8a)
第三轮:
HH(a,b,c,d,M5,4,0xfffa3942)
HH(d,a,b,c,M8,11,0×8771f681)
HH(c,d,a,b,M11,16,0×6d9d6122)
HH(b,c,d,a,M14,23,0xfde5380c)
HH(a,b,c,d,M1,4,0xa4beea44)
HH(d,a,b,c,M4,11,0×4bdecfa9)
HH(c,d,a,b,M7,16,0xf6bb4b60)
HH(b,c,d,a,M10,23,0xbebfbc70)
HH(a,b,c,d,M13,4,0×289b7ec6)
HH(d,a,b,c,M0,11,0xeaa127fa)
HH(c,d,a,b,M3,16,0xd4ef3085)
HH(b,c,d,a,M6,23,0×04881d05)
HH(a,b,c,d,M9,4,0xd9d4d039)
HH(d,a,b,c,M12,11,0xe6db99e5)
HH(c,d,a,b,M15,16,0×1fa27cf8)
HH(b,c,d,a,M2,23,0xc4ac5665)
第四轮:
II(a,b,c,d,M0,6,0xf4292244)
II(d,a,b,c,M7,10,0×432aff97)
II(c,d,a,b,M14,15,0xab9423a7)
II(b,c,d,a,M5,21,0xfc93a039)
II(a,b,c,d,M12,6,0×655b59c3)
II(d,a,b,c,M3,10,0×8f0ccc92)
II(c,d,a,b,M10,15,0xffeff47d)
II(b,c,d,a,M1,21,0×85845dd1)
II(a,b,c,d,M8,6,0×6fa87e4f)
II(d,a,b,c,M15,10,0xfe2ce6e0)
II(c,d,a,b,M6,15,0xa3014314)
II(b,c,d,a,M13,21,0×4e0811a1)
II(a,b,c,d,M4,6,0xf7537e82)
II(d,a,b,c,M11,10,0xbd3af235)
II(c,d,a,b,M2,15,0×2ad7d2bb)
II(b,c,d,a,M9,21,0xeb86d391)
常数ti可以如下选择:
在第i步中,ti是4294967296*abs(sin(i))的整数部分,i的单位是弧度
(4294967296是2的32次方)。
第一组完成之后,将a、b、c、d分别在原来基础上再加上A、B、C、D。
即a=a+A,b=b+B,c=c+C,d=d+D,
然后用下一分组数据继续运行以上算法,直至处理完所有分组数据,获取a,b,c和d四组32位信息分组输出。
步骤S121中可获取目标业务数据对应的四组32位信息分组输出,用以后续形成第一数字签名做技术准备。
S122.对四组信息分组输出进行拼接,获取第一数字签名。
具体地,数据发送端将步骤S121获取四个32位分组输出a,b,c和d,将它们首尾拼接起来,也即a+b+c+d形成一个128位散列值,该散列值就是第一数字签名。
步骤S122中,数据发送端通过拼接目标业务数据对应的四组32位信息分组形成128位的散列数组,可增强目标业务数据的“数字指纹”的代表性和唯一性。
步骤S121至S122中,数据发送端通过获取目标业务数据对应的四组32位信息分组输出,以便后续基于四组信息分组输出形成第一数字签名。数据发送端通过拼接目标业务数据对应的四组32位信息分组形成128位的散列数组,可增强目标业务数据的“数字指纹”的代表性和唯一性。
在一实施例中,提供一种数据加解密装置,该数据加解密装置与上述实施例中数据加解密方法一一对应。如图5所示,该数据加解密装置包括数据发送端10,该数据发送端包括生成目标密钥对模块11、获取业务数据模块12、形成目标数据包模块13、获取加密数据包模块14和生成业务请求模块15。各功能模块详细说明如下:
生成目标密钥对模块11,用于采用预置第一密码工具包生成预设长度的目标密钥对,目标密钥对包括目标公钥和目标私钥。
获取业务数据模块12,用于获取目标业务数据,采用签名加密算法获取目标业务数据对应的第一数字签名。
形成目标数据包模块13,用于根据预设格式封装目标业务数据和第一数字签名,以形成目标数据包。
获取加密数据包模块14,用于采用目标私钥加密目标数据包,获取加密数据包。
优选地,生成目标密钥对模块包括获取密钥对指令单元和生成目标密钥对单元。
获取密钥对指令单元,用于获取生成密钥对指令,生成密钥对指令包括密钥对长度参数。
生成目标密钥对单元,用于基于生成密钥对指令调用预置第一密码工具包,随机生成与密钥对长度参数相对应的目标密钥对。
优选地,获取业务数据模块包括获取分组输出单元和获取数字签名单元。
获取分组输出单元,用于采用第二密码工具包对目标业务数据进行加密处理,获取目标业务数据对应的四组信息分组输出。
获取数字签名单元,用于对四组信息分组输出进行拼接,获取第一数字签名。
在一实施例中,提供一种数据加解密装置,该数据加解密装置与上述实施例中数据加解密方法一一对应。该数据加解密装置包括数据接收端20,该数据接收端包括接收业务请求模块21、获取目标公钥模块22、获取目标数据包模块23、解封目标数据包模块24、获取数字签名模块25和执行业务指令模块26。各功能模块详细说明如下:
接收业务请求模块21,用于接收数据发送端发送的业务请求,业务请求包括业务指令、加密数据包和用户标识。
获取目标公钥模块22,用于根据用户标识查询公钥存储库,获取数据发送端共享的与用户标识相对应的目标公钥,目标公钥为采用预置第一密码工具包生成预设长度的目标密钥对中的公钥。
获取目标数据包模块23,用于采用目标公钥解密加密数据包,获取目标数据包。
解封目标数据包模块24,用于根据预设格式解封装目标数据包,获取目标业务数据和第一数字签名。
获取数字签名模块25,用于采用签名加密算法获取目标业务数据对应的第二数字签名。
执行业务指令模块26,用于若第二数字签名和第一数字签名相同,则基于目标业务数据,执行业务指令。
关于数据加解密装置的具体限定可以参见上文中对于数据加解密方法的限定,在此不再赘述。上述数据加解密装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一实施例中,提供一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储数据加解密方法中需保存的数据。该计算机设备的网络接口用于与外部的终方通过网络连接通信。该计算机程序被处理器执行时以实现一种数据加解密方法。
在一实施例中,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例数据加解密方法的步骤,例如图2所示的步骤S11至步骤S26。或者,处理器执行计算机程序时实现上述实施例中数据加解密装置的各模块/单元的功能,例如图5所示模块11至模块26的功能。为避免重复,此处不再赘述。
在一实施例中,提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例数据加解密方法的步骤,例如图2所示的步骤S11至步骤S26。或者,该计算机程序被处理器执行时实现上述装置实施例中数据加解密装置中各模块/单元的功能,例如图5所示模块11至模块26的功能。为避免重复,此处不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

Claims (10)

1.一种数据加解密方法,其特征在于,包括数据发送端执行的如下步骤:
采用预置第一密码工具包生成预设长度的目标密钥对,所述目标密钥对包括目标公钥和目标私钥;
获取目标业务数据,采用签名加密算法获取所述目标业务数据对应的第一数字签名;
根据预设格式封装所述目标业务数据和所述第一数字签名,以形成目标数据包;
采用所述目标私钥加密目标数据包,获取加密数据包。
2.如权利要求1所述的数据加解密方法,其特征在于,所述采用预置第一密码工具包生成预设长度的目标密钥对,包括:
获取生成密钥对指令,所述生成密钥对指令包括密钥对长度参数;
基于生成密钥对指令调用预置第一密码工具包,随机生成与密钥对长度参数相对应的目标密钥对。
3.如权利要求1所述的数据加解密方法,其特征在于,采用签名加密算法获取所述目标业务数据对应的第一数字签名,包括:
采用第二密码工具包对目标业务数据进行加密处理,获取所述目标业务数据对应的四组信息分组输出;
对四组信息分组输出进行拼接,获取第一数字签名。
4.如权利要求1所述的数据加解密方法,其特征在于,在所述获取加密数据包的步骤之后,所述数据加解密方法还包括:
基于所述加密数据包生成业务请求,并将业务请求发送给所述数据接收端,所述业务请求包括业务指令、所述加密数据包和所述用户标识。
5.一种数据加解密方法,其特征在于,包括数据接收端执行的如下步骤:
接收所述数据发送端发送的业务请求,所述业务请求包括业务指令、加密数据包和用户标识;
根据所述用户标识查询公钥存储库,获取数据发送端共享的与所述用户标识相对应的目标公钥,所述目标公钥为采用预置第一密码工具包生成预设长度的目标密钥对中的公钥;
采用所述目标公钥解密所述加密数据包,获取目标数据包;
根据预设格式解封装所述目标数据包,获取目标业务数据和第一数字签名;
采用签名加密算法获取所述目标业务数据对应的第二数字签名;
若所述第二数字签名和所述第一数字签名相同,则基于所述目标业务数据,执行所述业务指令。
6.如权利要求5所述的数据加解密方法,其特征在于,在所述采用签名加密算法获取所述目标业务数据对应的第二数字签名的步骤之后,所述数据加解密方法还包括:
若所述第二数字签名和所述第一数字签名不相同,则通知所述数据发送端重新发送业务请求。
7.一种数据加解密装置,其特征在于,包括数据发送端,所述数据发送端包括:
生成目标密钥对模块,用于采用预置第一密码工具包生成预设长度的目标密钥对,所述目标密钥对包括目标公钥和目标私钥;
获取业务数据模块,用于获取目标业务数据,采用签名加密算法获取所述目标业务数据对应的第一数字签名;
形成目标数据包模块,用于根据预设格式封装所述目标业务数据和所述第一数字签名,以形成目标数据包;
获取加密数据包模块,用于采用所述目标私钥加密目标数据包,获取加密数据包;
生成业务请求模块,用于基于所述加密数据包生成业务请求,并将业务请求发送给所述数据接收端,所述业务请求包括业务指令、所述加密数据包和所述用户标识。
8.一种数据加解密装置,其特征在于,包括数据接收端,所述数据接收端包括:
接收业务请求模块,用于接收所述数据发送端发送的业务请求,所述业务请求包括业务指令、加密数据包和用户标识;
获取目标公钥模块,用于根据所述用户标识查询公钥存储库,获取数据发送端共享的与所述用户标识相对应的目标公钥,所述目标公钥为采用预置第一密码工具包生成预设长度的目标密钥对中的公钥;
获取目标数据包模块,用于采用所述目标公钥解密所述加密数据包,获取目标数据包;
解封目标数据包模块,用于根据预设格式解封装所述目标数据包,获取目标业务数据和第一数字签名;
获取数字签名模块,用于采用签名加密算法获取所述目标业务数据对应的第二数字签名;
执行业务指令模块,用于若所述第二数字签名和所述第一数字签名相同,则基于所述目标业务数据,执行所述业务指令。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至4任一项所述数据加解密方法的步骤,或者,所述处理器执行所述计算机程序时实现如权利要求5至6任一项所述数据加解密方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述数据加解密方法的步骤,或者,所述计算机程序被处理器执行时实现如权利要求5至6任一项所述数据加解密方法的步骤。
CN201811093948.0A 2018-09-19 2018-09-19 数据加解密方法、装置、计算机设备及存储介质 Active CN109347627B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811093948.0A CN109347627B (zh) 2018-09-19 2018-09-19 数据加解密方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811093948.0A CN109347627B (zh) 2018-09-19 2018-09-19 数据加解密方法、装置、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
CN109347627A true CN109347627A (zh) 2019-02-15
CN109347627B CN109347627B (zh) 2023-08-29

Family

ID=65305613

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811093948.0A Active CN109347627B (zh) 2018-09-19 2018-09-19 数据加解密方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN109347627B (zh)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109948375A (zh) * 2019-03-21 2019-06-28 北京深思数盾科技股份有限公司 一种加密锁的验证方法及加密机
CN109981667A (zh) * 2019-04-01 2019-07-05 北京纬百科技有限公司 一种用户数据传输方法和装置
CN110727949A (zh) * 2019-09-06 2020-01-24 上海陆家嘴国际金融资产交易市场股份有限公司 数据存储方法、装置、计算机设备和存储介质
CN110868298A (zh) * 2019-11-22 2020-03-06 深圳供电局有限公司 一种电网通信加密方法
CN111181723A (zh) * 2019-09-09 2020-05-19 腾讯科技(深圳)有限公司 物联网设备间离线安全认证的方法和装置
CN111490988A (zh) * 2020-04-10 2020-08-04 海南简族信息技术有限公司 一种数据传输方法、装置、设备及计算机可读存储介质
CN111988133A (zh) * 2020-08-18 2020-11-24 浪潮商用机器有限公司 系统sm4加密解密验证方法、装置、设备、及存储介质
CN112287364A (zh) * 2020-10-22 2021-01-29 同盾控股有限公司 数据共享方法、装置、系统、介质及电子设备
CN112822177A (zh) * 2020-12-30 2021-05-18 中国长城科技集团股份有限公司 数据传输方法、装置、设备和存储介质
CN113961956A (zh) * 2021-10-28 2022-01-21 平安科技(深圳)有限公司 标签化网络信息服务生成及应用方法、装置、设备、介质
CN114221784A (zh) * 2021-11-12 2022-03-22 招银云创信息技术有限公司 数据传输方法和计算机设备
CN114745195A (zh) * 2022-04-25 2022-07-12 上海海阳气象导航技术有限公司 一种气象导航数据交换方法、系统、存储介质及终端
CN114900338A (zh) * 2022-04-20 2022-08-12 岚图汽车科技有限公司 一种加密解密方法、装置、设备和介质
CN115589305A (zh) * 2022-08-25 2023-01-10 重庆长安汽车股份有限公司 一种车控数据的处理方法、装置、设备及介质

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1780413A (zh) * 2004-11-25 2006-05-31 华为技术有限公司 一种组播广播业务密钥控制方法
CN1835434A (zh) * 2006-04-10 2006-09-20 北京易恒信认证科技有限公司 一种基于cpk安全认证的电子邮件系统和方法
US20060212706A1 (en) * 2005-03-18 2006-09-21 Microsoft Corporation Scalable session management
US20130051551A1 (en) * 2011-08-29 2013-02-28 Laila EL AIMANI Signcryption method and device and corresponding signcryption verification method and device
CN111903244B (zh) * 2010-12-16 2014-06-11 中国电子科技集团公司第五十四研究所 一种在高度机动性骨干通信系统中分布式位置管理方法
CN105978693A (zh) * 2016-04-19 2016-09-28 北京奇虎科技有限公司 一种终端关联的方法及系统
CN106453430A (zh) * 2016-12-16 2017-02-22 北京瑞卓喜投科技发展有限公司 验证加密数据传输路径的方法及装置
CN106559402A (zh) * 2015-09-30 2017-04-05 展讯通信(上海)有限公司 用户终端及其加密语音电话业务的身份认证方法及装置
US20170171219A1 (en) * 2015-12-11 2017-06-15 Amazon Technologies, Inc. Signed envelope encryption
CN106878016A (zh) * 2017-04-27 2017-06-20 上海木爷机器人技术有限公司 数据发送、接收方法及装置
CN107104788A (zh) * 2017-04-18 2017-08-29 深圳奥联信息安全技术有限公司 终端及其不可抵赖的加密签名方法和装置

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1780413A (zh) * 2004-11-25 2006-05-31 华为技术有限公司 一种组播广播业务密钥控制方法
US20060212706A1 (en) * 2005-03-18 2006-09-21 Microsoft Corporation Scalable session management
CN1835434A (zh) * 2006-04-10 2006-09-20 北京易恒信认证科技有限公司 一种基于cpk安全认证的电子邮件系统和方法
CN111903244B (zh) * 2010-12-16 2014-06-11 中国电子科技集团公司第五十四研究所 一种在高度机动性骨干通信系统中分布式位置管理方法
US20130051551A1 (en) * 2011-08-29 2013-02-28 Laila EL AIMANI Signcryption method and device and corresponding signcryption verification method and device
CN106559402A (zh) * 2015-09-30 2017-04-05 展讯通信(上海)有限公司 用户终端及其加密语音电话业务的身份认证方法及装置
US20170171219A1 (en) * 2015-12-11 2017-06-15 Amazon Technologies, Inc. Signed envelope encryption
CN105978693A (zh) * 2016-04-19 2016-09-28 北京奇虎科技有限公司 一种终端关联的方法及系统
CN106453430A (zh) * 2016-12-16 2017-02-22 北京瑞卓喜投科技发展有限公司 验证加密数据传输路径的方法及装置
CN107104788A (zh) * 2017-04-18 2017-08-29 深圳奥联信息安全技术有限公司 终端及其不可抵赖的加密签名方法和装置
CN106878016A (zh) * 2017-04-27 2017-06-20 上海木爷机器人技术有限公司 数据发送、接收方法及装置

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109948375A (zh) * 2019-03-21 2019-06-28 北京深思数盾科技股份有限公司 一种加密锁的验证方法及加密机
CN109981667A (zh) * 2019-04-01 2019-07-05 北京纬百科技有限公司 一种用户数据传输方法和装置
CN110727949A (zh) * 2019-09-06 2020-01-24 上海陆家嘴国际金融资产交易市场股份有限公司 数据存储方法、装置、计算机设备和存储介质
CN110727949B (zh) * 2019-09-06 2022-11-08 未鲲(上海)科技服务有限公司 数据存储方法、装置、计算机设备和存储介质
CN111181723B (zh) * 2019-09-09 2021-10-15 腾讯科技(深圳)有限公司 物联网设备间离线安全认证的方法和装置
CN111181723A (zh) * 2019-09-09 2020-05-19 腾讯科技(深圳)有限公司 物联网设备间离线安全认证的方法和装置
CN110868298A (zh) * 2019-11-22 2020-03-06 深圳供电局有限公司 一种电网通信加密方法
CN111490988A (zh) * 2020-04-10 2020-08-04 海南简族信息技术有限公司 一种数据传输方法、装置、设备及计算机可读存储介质
CN111490988B (zh) * 2020-04-10 2022-07-15 海南简族信息技术有限公司 一种数据传输方法、装置、设备及计算机可读存储介质
CN111988133A (zh) * 2020-08-18 2020-11-24 浪潮商用机器有限公司 系统sm4加密解密验证方法、装置、设备、及存储介质
CN111988133B (zh) * 2020-08-18 2023-05-16 浪潮商用机器有限公司 系统sm4加密解密验证方法、装置、设备、及存储介质
CN112287364A (zh) * 2020-10-22 2021-01-29 同盾控股有限公司 数据共享方法、装置、系统、介质及电子设备
CN112822177A (zh) * 2020-12-30 2021-05-18 中国长城科技集团股份有限公司 数据传输方法、装置、设备和存储介质
CN112822177B (zh) * 2020-12-30 2023-09-19 中国长城科技集团股份有限公司 数据传输方法、装置、设备和存储介质
CN113961956A (zh) * 2021-10-28 2022-01-21 平安科技(深圳)有限公司 标签化网络信息服务生成及应用方法、装置、设备、介质
CN114221784A (zh) * 2021-11-12 2022-03-22 招银云创信息技术有限公司 数据传输方法和计算机设备
CN114221784B (zh) * 2021-11-12 2024-04-09 招银云创信息技术有限公司 数据传输方法和计算机设备
CN114900338A (zh) * 2022-04-20 2022-08-12 岚图汽车科技有限公司 一种加密解密方法、装置、设备和介质
CN114745195A (zh) * 2022-04-25 2022-07-12 上海海阳气象导航技术有限公司 一种气象导航数据交换方法、系统、存储介质及终端
CN115589305A (zh) * 2022-08-25 2023-01-10 重庆长安汽车股份有限公司 一种车控数据的处理方法、装置、设备及介质

Also Published As

Publication number Publication date
CN109347627B (zh) 2023-08-29

Similar Documents

Publication Publication Date Title
CN109347627A (zh) 数据加解密方法、装置、计算机设备及存储介质
CN111740828B (zh) 一种密钥生成方法以及装置、设备、加解密方法
CN100559751C (zh) 伪公钥加密方法和系统
CN109756343A (zh) 数字签名的认证方法、装置、计算机设备和存储介质
US20110058672A1 (en) Message deciphering method, system and article
CN105553951A (zh) 数据传输方法和装置
EP3476078B1 (en) Systems and methods for authenticating communications using a single message exchange and symmetric key
CN105162772A (zh) 一种物联网设备认证与密钥协商方法和装置
CN103746800A (zh) 一种终端主密钥tmk安全下载方法及系统
CN103036684B (zh) 降低主密钥破解和泄露危害的ibe数据加密系统及方法
WO2020155622A1 (zh) 提高影像数据传输安全的方法、装置、系统及存储介质
EP3664360A1 (en) Certificateless public key encryption using pairings
CN106027247A (zh) Pos密钥远程下发方法
CN108768924A (zh) 现金处理终端安全认证方法、装置及现金处理终端
CN104200154A (zh) 一种基于标识的安装包签名方法及其装置
EP3002904A1 (en) Method for ciphering/deciphering and processing vectors of dimension n, where n is an integer greater or equal to 1
CN102916810B (zh) 传感器认证方法、系统和装置
CN110198320B (zh) 一种加密信息传输方法和系统
CN111224958A (zh) 一种数据传输方法和系统
CN114499857A (zh) 一种实现大数据量子加解密中数据正确性与一致性的方法
CN117527419A (zh) 一种标识数据的安全传输方法
CN109299618A (zh) 基于量子密钥卡的抗量子计算云存储方法和系统
CN108933659A (zh) 一种智能电网的身份验证系统及验证方法
US20060136714A1 (en) Method and apparatus for encryption and decryption, and computer product
CN115499118A (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