CN114884697A - 基于国密算法的数据加解密方法及相关设备 - Google Patents

基于国密算法的数据加解密方法及相关设备 Download PDF

Info

Publication number
CN114884697A
CN114884697A CN202210381754.0A CN202210381754A CN114884697A CN 114884697 A CN114884697 A CN 114884697A CN 202210381754 A CN202210381754 A CN 202210381754A CN 114884697 A CN114884697 A CN 114884697A
Authority
CN
China
Prior art keywords
data
plaintext
key
encryption
ciphertext
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
CN202210381754.0A
Other languages
English (en)
Other versions
CN114884697B (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 International Smart City Technology Co Ltd
Original Assignee
Ping An International Smart City 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 Ping An International Smart City Technology Co Ltd filed Critical Ping An International Smart City Technology Co Ltd
Priority to CN202210381754.0A priority Critical patent/CN114884697B/zh
Publication of CN114884697A publication Critical patent/CN114884697A/zh
Application granted granted Critical
Publication of CN114884697B publication Critical patent/CN114884697B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • 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/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/0442Network 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 asymmetric encryption, i.e. different keys for encryption and decryption
    • 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

Abstract

本申请提出一种基于国密算法的数据加解密方法、装置、电子设备及存储介质,基于国密算法的数据加解密方法包括:获取应用系统的主密钥以及各用户的应用标识;数据传输时,基于发送方的应用标识判断明文数据的合法性;若明文数据合法则判断明文数据的敏感程度;若明文数据为敏感数据,对明文数据进行非对称加密得到密文传输数据;若明文数据为非敏感数据,依据发送方的应用标识、应用系统的主密钥和预设密钥表生成明文密钥,用明文密钥对明文数据进行对称加密得到密文传输数据;接收方依据加密方式解密密文传输数据以获取明文数据。本申请能够对不同的数据采用不同的加密方式,并实现密钥的动态更新,提高数据安全性的同时合理分配加密资源。

Description

基于国密算法的数据加解密方法及相关设备
技术领域
本申请涉及信息安全技术领域,尤其涉及一种基于国密算法的数据加解密方法、装置、电子设备及存储介质。
背景技术
国密算法是由国家密码管理局认定和公布的密码算法标准及其应用规范。从SM1-SM4分别实现了对称、非对称、摘要等算法功能:SM1算法为对称加密,其加密强度与AES相当,该算法不公开,调用该算法时,需要通过加密芯片的接口进行调用;SM2算法为基于ECC的非对称加密,该算法已公开,由于该算法基于ECC,故其签名速度与秘钥生成速度都快于RSA;SM3算法为消息摘要算法,输出的校验结果为256位;SM4算法为对称加密,为无线局域网标准的分组数据算法,密钥长度和分组长度均为128位。
随着网络安全上升到国家安全高度,近年来国家有关机关和监管机构站在国家安全和长远战略的高度提出了推动国密算法应用实施、加强行业安全可控的要求。建设行业网络安全环境,增强我国行业信息系统的“安全可控”能力显得尤为必要和迫切。
目前,在银行、保险等不同行业内涉及的应用系统中对不同数据一视同仁,采用单一密钥以固定的加密方式对数据进行加密,然而,这种加密方式不能满足日益增加的大量数据,不能合理调度加密资源,同时单一密钥降低了数据的安全性。
发明内容
鉴于以上内容,有必要提出一种基于国密算法的数据加解密方法及相关设备,以解决如何提高数据安全性的同时实现加密资源的合理分配这一技术问题,其中,相关设备包括基于国密算法的数据加解密装置、电子设备及存储介质。
本申请提供基于国密算法的数据加解密方法,所述方法包括:
依据密钥生成器生成应用系统的主密钥,并获取所述应用系统内每一个用户的应用标识,所述应用标识包括终端MAC地址和用户ID;
获取所述应用系统中数据传输时的明文数据和发送方的应用标识,并基于所述发送方的应用标识判断所述明文数据的合法性;
当所述明文数据合法时,基于所述明文数据的数据类型和预设关键词对所述明文数据进行分类得到分类结果,所述分类结果包括敏感数据和非敏感数据;
当所述分类结果为敏感数据时,依据所述密钥生成器生成密钥对,并基于所述密钥对对所述明文数据进行非对称加密得到密文传输数据;
当所述分类结果为非敏感数据时,依据所述发送方的应用标识、所述应用系统的主密钥和预设密钥表生成明文密钥,并基于所述明文密钥对所述明文数据进行对称加密得到密文传输数据;
当接收方接收到所述密文传输数据时,依据加密方式对所述密文传输数据进行解密以获取明文数据,所述加密方式包括对称加密和非对称加密。
在一些实施例中,所述获取所述应用系统中数据传输时的明文数据和发送方的应用标识,并基于所述发送方的应用标识判断所述明文数据的合法性包括:
获取所述数据传输时的接收方,并统计与所述接收方有传输权限的所有用户对应的应用标识以构成应用标识集合;
依据SM3算法对所述应用标识集合中的每一个应用标识进行加密获取数字签名,将所有数字签名作为接收方的权限集合;
依据SM3算法对所述发送方的应用标识进行加密获取发送方的数字签名;
匹配所述发送方的数字签名与所述接收方的权限集合中的数字签名以获取匹配结果,所述匹配结果包括匹配成功和匹配失败;
当匹配结果为匹配成功时,表示所述发送方与所述接收方有传输权限,则所述明文数据合法。
在一些实施例中,所述基于所述明文数据的数据类型和预设关键词对所述明文数据进行分类得到分类结果包括:
若所述明文数据的数据类型为非结构数据,则表示所述明文数据的分类结果为敏感数据;
若所述明文数据的数据类型为结构数据,则依据预设关键词对所述明文数据进行二次分类;
在二次分类过程中,若所述明文数据为预设关键词相应的内容,则所述明文数据的分类结果为敏感数据;
在二次分类过程中,若所述明文数据中不是预设关键词相应的内容,则所述明文数据的分类结果为非敏感数据。
在一些实施例中,所述依据所述密钥生成器生成密钥对,并基于所述密钥对对所述明文数据进行非对称加密得到密文传输数据包括:
依据所述密钥生成器为明文数据的发送方和接收方各生成一组密钥对,所述一组密钥对包括公钥和私钥;
依据发送方的私钥和SM2算法对所述明文数据进行非对称加密得到密文数据;
依据接收方的公钥和SM2算法对所述密文数据进行非对称加密得到密文摘要;
将所述密文摘要和预设的特殊字符作为所述密文传输数据,所述特殊字符表示所述密文传输数据由非对称加密产生。
在一些实施例中,所述依据所述发送方的应用标识、所述应用系统的主密钥和预设密钥表生成明文密钥包括:
依据预设筛选编号计算模型计算所述发送方的应用标识的筛选编号,所述预设筛选编号计算模型满足关系式:
Figure BDA0003592095900000031
其中,n为所述发送方的应用标识中不同字符的数量,N为所述发送方的应用标识中所有字符的总数,tanh函数为双曲正切函数,可以将输入变量映射至0到1之间,函数Round(x,num)的作用是保留数值x小数点后num位,k为所述发送方的筛选编号,取值范围为[0,1];
基于所述筛选编号筛选预设密钥表以获取初始密钥;
依据所述应用系统的主密钥和SM4算法对所述初始密钥进行对称加密得到明文密钥。
在一些实施例中,所述基于所述明文密钥对所述明文数据进行对称加密得到密文传输数据包括:
基于所述明文密钥和SM4算法对所述明文数据进行对称加密得到密文数据;
将所述密文数据和预设特殊字符作为所述密文传输数据,所述特殊字符表示所述密文传输数据由对称加密产生。
在一些实施例中,所述依据加密方式对所述密文传输数据进行解密以获取明文数据,所述加密方式包括对称加密和非对称加密包括:
基于所述密文传输数据中的特殊字符获取加密方式,所述加密方式包括对称加密和非对称加密;
当所述加密方式为对称加密时,依据所述发送方的应用标识、所述应用系统的主密钥和预设密钥表生成明文密钥,并基于所述明文密钥和SM4算法对所述密文传输数据中的密文数据进行解密得到明文数据;
当所述加密方式为非对称加密时,依据接收方的私钥和SM2算法对所述密文传输数据中的密文摘要进行解密得到密文数据,并依据发送方的公钥和SM2算法对所述密文数据进行解密得到明文数据。
本申请实施例还提供一种基于国密算法的数据加解密装置,所述装置包括:
获取单元,用于依据密钥生成器生成应用系统的主密钥,并获取所述应用系统内每一个用户的应用标识,所述应用标识包括终端MAC地址和用户ID;
判断单元,用于获取所述应用系统中数据传输时的明文数据和发送方的应用标识,并基于所述发送方的应用标识判断所述明文数据的合法性;
分类单元,用于当所述明文数据合法时,基于所述明文数据的数据类型和预设关键词对所述明文数据进行分类得到分类结果,所述分类结果包括敏感数据和非敏感数据;
非对称加密单元,用于当所述分类结果为敏感数据时,依据所述密钥生成器生成密钥对,并基于所述密钥对对所述明文数据进行非对称加密得到密文传输数据;
对称加密单元,用于当所述分类结果为非敏感数据时,依据所述发送方的应用标识、所述应用系统的主密钥和预设密钥表生成明文密钥,并基于所述明文密钥对所述明文数据进行对称加密得到密文传输数据;
解密单元,用于当接收方接收到所述密文传输数据时,依据加密方式对所述密文传输数据进行解密以获取明文数据,所述加密方式包括对称加密和非对称加密。
本申请实施例还提供一种电子设备,所述电子设备包括:
存储器,存储至少一个指令;
处理器,执行所述存储器中存储的指令以实现所述的基于国密算法的数据加解密方法。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一个指令,所述至少一个指令被电子设备中的处理器执行以实现所述的基于国密算法的数据加解密方法。
综上,本申请能够依据数据类型和数据内容判断数据的敏感程度,对不同敏感程度的数据采用不同的加密方式,同时在加密的过程中采用密钥自动生成的机制,实现了密钥的动态更新,从而在提高数据安全性的同时合理分配加密资源。
附图说明
图1是本申请所涉及的基于国密算法的数据加解密方法的较佳实施例的流程图。
图2是本申请所涉及的预设密钥表的示意图。
图3是本申请所涉及的基于国密算法的数据加解密装置的较佳实施例的功能模块图。
图4是本申请所涉及的基于国密算法的数据加解密方法的较佳实施例的电子设备的结构示意图。
具体实施方式
为了能够更清楚地理解本申请的目的、特征和优点,下面结合附图和具体实施例对本申请进行详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互结合。在下面的描述中阐述了很多具体细节以便于充分理解本申请,所述描述的实施例仅是本申请一部分实施例,而不是全部的实施例。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个所述特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请。本文所使用的术语“和/或”包括一个或多个相关的所列项目的任意的和所有的组合。
本申请实施例提供一种基于国密算法的数据加解密方法,可应用于一个或者多个电子设备中,电子设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
电子设备可以是任何一种可与客户进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、个人数字助理(Personal Digital Assistant,PDA)、游戏机、交互式网络电视(Internet Protocol Television,IPTV)、智能式穿戴式设备等。
电子设备还可以包括网络设备和/或客户设备。其中,所述网络设备包括,但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(Cloud Computing)的由大量主机或网络服务器构成的云。
电子设备所处的网络包括但不限于互联网、广域网、城域网、局域网、虚拟专用网络(Virtual Private Network,VPN)等。
如图1所示,是本申请基于国密算法的数据加解密方法的较佳实施例的流程图。根据不同的需求,该流程图中步骤的顺序可以改变,某些步骤可以省略。
S10,依据密钥生成器生成应用系统的主密钥,并获取所述应用系统内每一个用户的应用标识,所述应用标识包括终端MAC地址和用户ID。
在一个可选的实施例中,所述应用系统为企业为完成特定任务为开发出的以数据库为基础的计算机软件系统,示例性的,常见的应用系统有财务管理系统、人事管理系统、图书管理系统、保险交易系统等。企业在使用应用系统完成特定任务时,一个应用系统中可以注册多个用户,每一个用户在自己的终端电脑上注册时会产生唯一的用户ID。其中,所述用户ID可以是数字,也可以是字母,本申请不做限制。
该可选的实施例中,依据密钥生成工具获取所述应用系统的主密钥,同时将所述应用系统下每一个用户的用户ID和终端MAC地址组合在一起作为对应用户的应用标识,其中,所述密钥生成工具可以是RSA密钥生成工具、随机密钥生成器等多种现有的密钥生成工具,可以直接输出所述应用系统的主密钥,所述终端MAC地址为用户使用的电脑终端的唯一标识。示例性的,假设所述用户ID为P001,电脑终端MAC地址为18-31-BF,则是所述用户的应用标识为:P00118-31-BF。
如此,每一个应用系统对应一个主密钥,该主密钥参与当前应用系统下所有数据的加解密过程,同时可以为应用系统下每一个用户分配唯一应用标识,所述应用标识和用户登陆所述应用系统的用户ID以及用户使用的电脑终端有关。
S11,获取所述应用系统中数据传输时的明文数据和发送方的应用标识,并基于所述发送方的应用标识判断所述明文数据的合法性。
在一个可选的实施例中,所述获取所述应用系统中数据传输时的明文数据和发送方的应用标识,并基于所述发送方的应用标识判断所述明文数据的合法性包括:
S111,获取所述数据传输时的接收方,并统计与所述接收方有传输权限的所有用户对应的应用标识以构成应用标识集合;
S112,依据SM3算法对所述应用标识集合中的每一个应用标识进行加密获取数字签名,将所有数字签名作为接收方的权限集合;
S113,依据SM3算法对所述发送方的应用标识进行加密获取发送方的数字签名;
S114,匹配所述发送方的数字签名与所述接收方的权限集合中的数字签名以获取匹配结果,所述匹配结果包括匹配成功和匹配失败;
S115,当匹配结果为匹配成功时,表示所述发送方与所述接收方有传输权限,则所述明文数据合法。
在一个可选的实施例中,在所述应用系统运行的过程中,会产生大量的明文数据,明文数据会从发送方传输至接收方。同一个应用系统内,不同用户在明文数据传输过程中的权限是不同的,示例性的,用户B有向用户A传输明文数据的权限,但没有向用户C传输明文数据的权限,为了确保所述明文数据的真实性,需要对所述明文数据的来源进行验证,从而判断所述明文数据的合法性。
该可选的实施例中,统计应用系统内有向用户A传输明文数据权限的所有用户的应用标识构成应用标识集合,并使用国密算法中的SM3算法对所述应用标识集合内的每一个应用标识进行加密处理获取对应的数字签名,所述数字签名与应用标识一一对应,不同用户标识对应的数字签名不同,进一步,储存每一个所述应用标识对应的数字签名得到用户A的权限集合。其中,所述SM3算法为国密算法中的消息摘要算法,适用于商用密码应用中的数字签名和验证,是在SHA-256基础上改进实现的一种算法。
该可选的实施例中,按照上述方法获得所述应用系统中所有用户的权限集合,每一个用户的权限集合是公开的,由于权限集合中储存的是经加密处理后的应用标识,故不会暴露权限集合中用户真实的应用标识,保护了用户的隐私。
该可选的实施例中,当用户B向用户A传输明文数据时,首先利用SM3算法对用户B的应用标识进行加密处理得到用户B的数字签名,将用户B的数字签名作为模板,与用户A的权限集合中所有数字签名进行匹配,若匹配成功,说明用户B的数字签名在用户A的权限集合中,则用户B向用户A传输的明文数据为合法的;若匹配失败,说明用户B的数字签名不在用户A的权限集合中,则用户B向用户A传输的明文数据不合法,应用系统直接拦截所述明文数据,明文数据发送失败。
如此,能够依据数据来源判断明文信息的合法性,对不合法的明文数据直接拦截,保证传输的明文数据的合法性。
S12,当所述明文数据合法时,基于所述明文数据的数据类型和预设关键词对所述明文数据进行分类得到分类结果,所述分类结果包括敏感数据和非敏感数据。
在一个可选的实施例中,所述基于所述明文数据的数据类型和预设关键词对所述明文数据进行分类得到分类结果包括:
S121,若所述明文数据的数据类型为非结构数据,则表示所述明文数据的分类结果为敏感数据;
S122,若所述明文数据的数据类型为结构数据,则依据预设关键词对所述明文数据进行二次分类;
S123,在二次分类过程中,若所述明文数据为预设关键词相应的内容,则所述明文数据的分类结果为敏感数据;
S124,在二次分类过程中,若所述明文数据中不是预设关键词相应的内容,则所述明文数据的分类结果为非敏感数据。
该可选的实施例中,当所述明文数据合法时,在明文数据发送之前获取所述明文数据的数据类型,所述数据类型包括结构化数据和非结构化数据,其中,所述结构化数据是指可以用二维表结构来表现的数据,包括身份证号、姓名、出生日期、联系方式、家庭住址等常用字段,所述非结构化数据为所述应用系统处理业务的过程中的产生的MDB文件、XML文件、Word文件、配置文件等。
该可选的实施例中,所述预设关键词包括身份证号、家庭住址等与人员隐私密切相关的信息。
如此,能够对合法的明文数据进行分类,获取明文数据的敏感程度,对不同敏感程度的明文数据采用不同的加密方法,合理调度加密资源。
S13,当所述分类结果为敏感数据时,依据所述密钥生成器生成密钥对,并基于所述密钥对对所述明文数据进行非对称加密得到密文传输数据。
在一个可选的实施例中,所述依据所述密钥生成器生成密钥对,并基于所述密钥对对所述明文数据进行非对称加密得到密文传输数据包括:
S131,依据所述密钥生成器为明文数据的发送方和接收方各生成一组密钥对,所述一组密钥对包括公钥和私钥;
S132,依据发送方的私钥和SM2算法对所述明文数据进行非对称加密得到密文数据;
S133,依据接收方的公钥和SM2算法对所述密文数据进行非对称加密得到密文摘要;
S134,将所述密文摘要和预设的特殊字符作为所述密文传输数据,所述特殊字符表示所述密文传输数据由非对称加密产生。
在一个可选的实施例中,国密算法中包括对称加密SM4算法和非对称加密SM2算法,所述对称加密在加密和解密过程使用的密钥是相同的,其加解密速度快效率高,占用的加密资源较低,但由于需要将密钥在网络中传输,故对称加密的安全性不高;所述非对称加密在加密和解密过程使用的是一对密钥,即公钥和私钥,所以非对称加密的安全性较高,但是其加解密的速度慢,占用的加密资源较高。
该可选的实施例中,用户B向用户A传输的明文数据时,若所述明文数据的分类结果为敏感数据,则需要确保明文数据的安全性,使用安全性较高的非对称加密对所述明文数据进行加密获取密文传输数据,具体的加密过程如下:
首先依据所述密钥生成器为用户B和用户A分别生成各自的公钥和私钥,其中,用户A的私钥只有用户A知道,用户B的私钥也是只有用户B知道,而用户A和用户B的公钥是对外公开的;在明文数据传输之前,利用用户B的私钥通过SM2算法对所述明文数据进行加密得到密文数据;进一步利用用户A的公钥通过SM2算法对所述密文数据进行加密得到密文摘要,所述密文摘要计算公式如下:
MWZY=SM2A(g)(SM2g(s)(MWSJ))
其中,B(s),A(g)分别为所述用户B的私钥和用户A的公钥,MWSJ和MWZY分别为所述明文数据和所述密文摘要,SM2B(s)(MWSJ)为所述密文数据;所述密文数据为所述明文数据非对称加密后的输出结果;所述密文摘要为所述密文数据非对称加密后的输出结果,所述密文摘要可用于身份验证,只有利用用户A的私钥通过SM2算法对密文摘要进行解密后才能获得密文数据,而用户A的私钥只有用户A自己知道。
该可选的实施例中,将所述密文摘要和特殊字符“F”作为密文传输数据,将所述密文传输数据传输到接收方,即用户A。其中,所述特殊字符“F”表示所述密文传输数据由非对称加密产生。
如此,利用国密算法中的非对称加密SM2完成对数据类型为敏感数据的明文数据的加密,每次传输时均会进行一次密钥对的分配,采用“一文一密”的安全机制,确保传输过程中明文数据的安全性。
S14,当所述分类结果为非敏感数据时,依据所述发送方的应用标识、所述应用系统的主密钥和预设密钥表生成明文密钥,并基于所述明文密钥对所述明文数据进行对称加密得到密文传输数据。
一个可选的实施例中,用户B向用户A传输的明文数据时,若所述明文数据的分类结果为非敏感数据,在保障明文数据安全性的同时合理调度加密资源,使用对称加密对所述明文数据进行加密获取密文传输数据。
该可选的实施例中,所述依据所述发送方的应用标识、所述应用系统的主密钥和预设密钥表生成明文密钥包括:
依据预设筛选编号计算模型计算所述发送方的应用标识的筛选编号;
基于所述筛选编号筛选预设密钥表以获取初始密钥;
依据所述应用系统的主密钥和SM4算法对所述初始密钥进行对称加密得到明文密钥。
该可选的实施例中,获取用户B的应用标识,依据预设筛选编号计算模型计算所述用户B的应用标识对应的筛选编号,所述预设筛选编号计算模型如下:
Figure BDA0003592095900000121
其中,n为所述用户B的应用标识中不同字符的数量,N为所述用户B的应用标识中所有字符的总数,tanh函数为双曲正切函数,可以将输入变量映射至0到1之间,函数Round(x,num)的作用是保留数值x小数点后mum位,k为所述用户B的筛选编号,取值范围为[0,1]。
示例性的,当所述用户B的应用标识为:P00118-31-BF,所述应用标识中不同字符的数量为8,且应用标识中所有字符的总数为12,则所述用户B的应用标识对应的筛选编号为:
Figure BDA0003592095900000122
该可选的实施例中,从所述预设密钥表中提取所述用户B的应用标识对应的筛选编号下的预设密钥作为用户B的初始密钥,所述预设密钥表为M行2列,每一行代表一种预设密钥,本申请中M取值为11,即共设置了11种预设密钥,2列分别代表筛选编号列和预设密钥列,所述预设密钥表如图2所示。
该可选的实施例中,所述用户B的初始密钥是基于所述用户B的应用标识从固定的预设密钥表中筛选获得,由于所述预设密钥表是公开的,故在数据传输的过程中不再需要发送对称加密所使用的密钥,接受方(用户A)仅根据用户B的应用标识借助所述预设筛选编号计算模型即可获取对称加密使用的密钥,提高了对称加密的安全性,然而,由于预设密钥表给出的预设密钥数量有限,若以初始密钥直接对所述明文数据进行对称加密得到密文数据,遍历所述预设密钥即可破解所述密文数据。为了进一步提高对称加密的安全性,本申请利用所述应用系统主密钥采用SM4算法对初始密钥进行对称加密得到所述用户B的明文密钥,所述明文密钥的计算公式如下:
MWMY=SM4main(CSMY)
其中,MWMY为所述用户B的明文密钥,main为所述应用系统的主密钥,CSMY为所述用户B的初始密钥。需要说明的是,每隔固定时间会对所述预设密钥表更新,进而实现所述用户B的初始密钥的动态更新,提高对称加密过程中明文数据的安全性,所述固定时间优选为1个月。
该可选的实施例中,所述基于所述明文密钥对所述明文数据进行对称加密得到密文传输数据包括:
基于所述明文密钥和SM4算法对所述明文数据进行对称加密得到密文数据;
将所述密文数据和预设特殊字符作为所述密文传输数据,所述特殊字符表示所述密文传输数据由对称加密产生。
该可选的实施例中,利用所述用户B的明文密钥采用SM4算法对所述用户B的明文数据进行对称加密得到密文数据,所述密文数据的计算公式如下:
MW=SM4MWMy(MWSJ)
其中,MW为所述用户B明文数据MWSJ对应的密文数据。
该可选的实施例中,将所述用户B明文数据对应的密文数据以及特殊字符“D”作为密文传输数据,将所述密文传输数据传输到接收方,即用户A。其中,所述特殊字符“D”表示所述密文传输数据由对称加密产生。
如此,利用过密算法中的对称加密SM4完成对数据类型为非敏感数据的明文数据的加密,同时,借助用户的应用标识、预设密钥表和所述应用系统的主密钥自动实现密钥分配,避免明文密钥的直接传输,确保传输过程中明文数据的安全性。
S15,当接收方接收到所述密文传输数据时,依据加密方式对所述密文传输数据进行解密以获取明文数据,所述加密方式包括对称加密和非对称加密。
在一个可选的实施例中,所述依据加密方式对所述密文传输数据进行解密以获取明文数据,所述加密方式包括对称加密和非对称加密包括:
S151,基于所述密文传输数据中的特殊字符获取加密方式,所述加密方式包括对称加密和非对称加密;
S152,当所述加密方式为对称加密时,依据所述发送方的应用标识、所述应用系统的主密钥和预设密钥表生成明文密钥,并依据所述明文密钥和SM4算法对所述密文传输数据中的密文数据进行解密得到明文数据;
S153,当所述加密方式为非对称加密时,基于接收方的私钥和SM2算法对所述密文传输数据中的密文摘要进行解密得到密文数据,并依据发送方的公钥和SM2算法对所述密文数据进行解密得到明文数据。
在一个可选的实施例中,用户A接受到密文传输数据后,获取所述密文传输数据中的特殊字符,当所述特殊字符为“F”时,表示所述密文传输数据的加密方式为非对称加密,此时对应的解密流程为:利用用户A的私钥通过SM2算法对所述密文传输数据中的密文摘要进行解密得到密文数据;进一步利用用户B的公钥通过SM2算法对所述密文数据进行解密得到明文数据,所述明文数据的计算公式如下:
MWSJ=SM2B(g)(SM2A(s)(MWZY))
其中,A(s),B(g)分别为所述用户A的私钥和用户B的公钥,MWSJ和MWZY分别为所述明文数据和所述密文摘要,SM2A(s)(MWZY)为所述密文数据。
该可选的实施例中,当所述特殊字符为“D”时,表示所述密文传输数据的加密方式为对称加密,此时对应的解密流程为:获取用户B的应用标识,按照步骤S14对称加密过程中的方法得到所述用户B的明文密钥,利用所述用户B的明文密钥采用SM4算法对所述密文传输数据中的密文数据进行解密得到明文数据,所述明文数据的计算公式如下:
MWSJ=SM4MWMY(MW)
其中,MW为所述用户B明文数据MWSJ对应的密文数据。
如此,完成应用系统中数据的加解密过程,对不同的加密方法采用不同的解密方法,保障明文数据的安全性。
由以上技术方案可以看出,本申请能够依据数据类型和数据内容判断数据的敏感程度,对不同敏感程度的数据采用不同的加密方式,同时在加密的过程中采用密钥自动生成的机制,实现了密钥的动态更新,从而在提高数据安全性的同时合理分配加密资源。
请参见图3,图3是本申请基于国密算法的数据加解密装置的较佳实施例的功能模块图。基于国密算法的数据加解密装置11包括获取单元110、判断单元111、分类单元112、非对称加密单元113、对称加密单元114、解密单元115。本申请所称的模块/单元是指一种能够被处理器13所执行,并且能够完成固定功能的一系列计算机可读指令段,其存储在存储器12中。在本实施例中,关于各模块/单元的功能将在后续的实施例中详述。
在一个可选的实施例中,获取单元110用于依据密钥生成器生成应用系统的主密钥,并获取所述应用系统内每一个用户的应用标识,所述应用标识包括终端MAC地址和用户ID。
在一个可选的实施例中,所述应用系统为企业为完成特定任务为开发出的以数据库为基础的计算机软件系统,示例性的,常见的应用系统有财务管理系统、人事管理系统、图书管理系统、保险交易系统等。企业在使用应用系统完成特定任务时,一个应用系统中可以注册多个用户,每一个用户在自己的终端电脑上注册时会产生唯一的用户ID。其中,所述用户ID可以是数字,也可以是字母,本申请不做限制。
该可选的实施例中,依据密钥生成工具获取所述应用系统的主密钥,同时将所述应用系统下每一个用户的用户ID和终端MAC地址组合在一起作为对应用户的应用标识,其中,所述密钥生成工具可以是RSA密钥生成工具、随机密钥生成器等多种现有的密钥生成工具,可以直接输出所述应用系统的主密钥,所述终端MAC地址为用户使用的电脑终端的唯一标识。示例性的,假设所述用户ID为P001,电脑终端MAC地址为18-31-BF,则是所述用户的应用标识为:P00118-31-BF。
在一个可选的实施例中,判断单元111用于获取所述应用系统中数据传输时的明文数据和发送方的应用标识,并基于所述发送方的应用标识判断所述明文数据的合法性。
在一个可选的实施例中,所述获取所述应用系统中数据传输时的明文数据和发送方的应用标识,并基于所述发送方的应用标识判断所述明文数据的合法性包括:
获取所述数据传输时的接收方,并统计与所述接收方有传输权限的所有用户对应的应用标识以构成应用标识集合;
依据SM3算法对所述应用标识集合中的每一个应用标识进行加密获取数字签名,将所有数字签名作为接收方的权限集合;
依据SM3算法对所述发送方的应用标识进行加密获取发送方的数字签名;
匹配所述发送方的数字签名与所述接收方的权限集合中的数字签名以获取匹配结果,所述匹配结果包括匹配成功和匹配失败;
当匹配结果为匹配成功时,表示所述发送方与所述接收方有传输权限,则所述明文数据合法。
在一个可选的实施例中,在所述应用系统运行的过程中,会产生大量的明文数据,明文数据会从发送方传输至接收方。同一个应用系统内,不同用户在明文数据传输过程中的权限是不同的,示例性的,用户B有向用户A传输明文数据的权限,但没有向用户C传输明文数据的权限,为了确保所述明文数据的真实性,需要对所述明文数据的来源进行验证,从而判断所述明文数据的合法性。
该可选的实施例中,统计应用系统内有向用户A传输明文数据权限的所有用户的应用标识构成应用标识集合,并使用国密算法中的SM3算法对所述应用标识集合内的每一个应用标识进行加密处理获取对应的数字签名,所述数字签名与应用标识一一对应,不同用户标识对应的数字签名不同,进一步,储存每一个所述应用标识对应的数字签名得到用户A的权限集合。其中,所述SM3算法为国密算法中的消息摘要算法,适用于商用密码应用中的数字签名和验证,是在SHA-256基础上改进实现的一种算法。
该可选的实施例中,按照上述方法获得所述应用系统中所有用户的权限集合,每一个用户的权限集合是公开的,由于权限集合中储存的是经加密处理后的应用标识,故不会暴露权限集合中用户真实的应用标识,保护了用户的隐私。
该可选的实施例中,当用户B向用户A传输明文数据时,首先利用SM3算法对用户B的应用标识进行加密处理得到用户B的数字签名,将用户B的数字签名作为模板,与用户A的权限集合中所有数字签名进行匹配,若匹配成功,说明用户B的数字签名在用户A的权限集合中,则用户B向用户A传输的明文数据为合法的;若匹配失败,说明用户B的数字签名不在用户A的权限集合中,则用户B向用户A传输的明文数据不合法,应用系统直接拦截所述明文数据,明文数据发送失败。
在一个可选的实施例中,分类单元112用于当所述明文数据合法时,基于所述明文数据的数据类型和预设关键词对所述明文数据进行分类得到分类结果,所述分类结果包括敏感数据和非敏感数据。
在一个可选的实施例中,所述基于所述明文数据的数据类型和预设关键词对所述明文数据进行分类得到分类结果包括:
若所述明文数据的数据类型为非结构数据,则表示所述明文数据的分类结果为敏感数据;
若所述明文数据的数据类型为结构数据,则依据预设关键词对所述明文数据进行二次分类;
在二次分类过程中,若所述明文数据为预设关键词相应的内容,则所述明文数据的分类结果为敏感数据;
在二次分类过程中,若所述明文数据中不是预设关键词相应的内容,则所述明文数据的分类结果为非敏感数据。
该可选的实施例中,当所述明文数据合法时,在明文数据发送之前获取所述明文数据的数据类型,所述数据类型包括结构化数据和非结构化数据,其中,所述结构化数据是指可以用二维表结构来表现的数据,包括身份证号、姓名、出生日期、联系方式、家庭住址等常用字段,所述非结构化数据为所述应用系统处理业务的过程中的产生的MDB文件、XML文件、Word文件、配置文件等。
该可选的实施例中,所述预设关键词包括身份证号、家庭住址等与人员隐私密切相关的信息。
在一个可选的实施例中,非对称加密单元113用于当所述分类结果为敏感数据时,依据所述密钥生成器生成密钥对,并基于所述密钥对对所述明文数据进行非对称加密得到密文传输数据。
在一个可选的实施例中,所述依据所述密钥生成器生成密钥对,并基于所述密钥对对所述明文数据进行非对称加密得到密文传输数据包括:
依据所述密钥生成器为明文数据的发送方和接收方各生成一组密钥对,所述一组密钥对包括公钥和私钥;
依据发送方的私钥和SM2算法对所述明文数据进行非对称加密得到密文数据;
依据接收方的公钥和SM2算法对所述密文数据进行非对称加密得到密文摘要;
将所述密文摘要和预设的特殊字符作为所述密文传输数据,所述特殊字符表示所述密文传输数据由非对称加密产生。
在一个可选的实施例中,国密算法中包括对称加密SM4算法和非对称加密SM2算法,所述对称加密在加密和解密过程使用的密钥是相同的,其加解密速度快效率高,占用的加密资源较低,但由于需要将密钥在网络中传输,故对称加密的安全性不高;所述非对称加密在加密和解密过程使用的是一对密钥,即公钥和私钥,所以非对称加密的安全性较高,但是其加解密的速度慢,占用的加密资源较高。
该可选的实施例中,用户B向用户A传输的明文数据时,若所述明文数据的分类结果为敏感数据,则需要确保明文数据的安全性,使用安全性较高的非对称加密对所述明文数据进行加密获取密文传输数据,具体的加密过程如下:
首先依据所述密钥生成器为用户B和用户A分别生成各自的公钥和私钥,其中,用户A的私钥只有用户A知道,用户B的私钥也是只有用户B知道,而用户A和用户B的公钥是对外公开的;在明文数据传输之前,利用用户B的私钥通过SM2算法对所述明文数据进行加密得到密文数据;进一步利用用户A的公钥通过SM2算法对所述密文数据进行加密得到密文摘要,所述密文摘要计算公式如下:
MWZY=SM2A(g)(SM2B(s)(MWSJ))
其中,B(s),A(g)分别为所述用户B的私钥和用户A的公钥,MWSJ和MWZY分别为所述明文数据和所述密文摘要,SN2B(s)(MWSJ)为所述密文数据;所述密文数据为所述明文数据非对称加密后的输出结果;所述密文摘要为所述密文数据非对称加密后的输出结果,所述密文摘要可用于身份验证,只有利用用户A的私钥通过SM2算法对密文摘要进行解密后才能获得密文数据,而用户A的私钥只有用户A自己知道。
该可选的实施例中,将所述密文摘要和特殊字符“F”作为密文传输数据,将所述密文传输数据传输到接收方,即用户A。其中,所述特殊字符“F”表示所述密文传输数据由非对称加密产生。
在一个可选的实施例中,对称加密单元114用于当所述分类结果为非敏感数据时,依据所述发送方的应用标识、所述应用系统的主密钥和预设密钥表生成明文密钥,并基于所述明文密钥对所述明文数据进行对称加密得到密文传输数据。
一个可选的实施例中,用户B向用户A传输的明文数据时,若所述明文数据的分类结果为非敏感数据,在保障明文数据安全性的同时合理调度加密资源,使用对称加密对所述明文数据进行加密获取密文传输数据。
该可选的实施例中,所述依据所述发送方的应用标识、所述应用系统的主密钥和预设密钥表生成明文密钥包括:
依据预设筛选编号计算模型计算所述发送方的应用标识的筛选编号;
基于所述筛选编号筛选预设密钥表以获取初始密钥;
依据所述应用系统的主密钥和SM4算法对所述初始密钥进行对称加密得到明文密钥。
该可选的实施例中,获取用户B的应用标识,依据预设筛选编号计算模型计算所述用户B的应用标识对应的筛选编号,所述预设筛选编号计算模型如下:
Figure BDA0003592095900000201
其中,n为所述用户B的应用标识中不同字符的数量,N为所述用户B的应用标识中所有字符的总数,tanh函数为双曲正切函数,可以将输入变量映射至0到1之间,函数Round(x,num)的作用是保留数值x小数点后num位,k为所述用户B的筛选编号,取值范围为[0,1]。
示例性的,当所述用户B的应用标识为:P00118-31-BF,所述应用标识中不同字符的数量为8,且应用标识中所有字符的总数为12,则所述用户B的应用标识对应的筛选编号为:
Figure BDA0003592095900000202
该可选的实施例中,从所述预设密钥表中提取所述用户B的应用标识对应的筛选编号下的预设密钥作为用户B的初始密钥,所述预设密钥表为M行2列,每一行代表一种预设密钥,本申请中M取值为11,即共设置了11种预设密钥,2列分别代表筛选编号列和预设密钥列,所述预设密钥表如图2所示。
该可选的实施例中,所述用户B的初始密钥是基于所述用户B的应用标识从固定的预设密钥表中筛选获得,由于所述预设密钥表是公开的,故在数据传输的过程中不再需要发送对称加密所使用的密钥,接受方(用户A)仅根据用户B的应用标识借助所述预设筛选编号计算模型即可获取对称加密使用的密钥,提高了对称加密的安全性,然而,由于预设密钥表给出的预设密钥数量有限,若以初始密钥直接对所述明文数据进行对称加密得到密文数据,遍历所述预设密钥即可破解所述密文数据。为了进一步提高对称加密的安全性,本申请利用所述应用系统主密钥采用SM4算法对初始密钥进行对称加密得到所述用户B的明文密钥,所述明文密钥的计算公式如下:
MWMY=SM4main(CSMY)
其中,MWMY为所述用户B的明文密钥,main为所述应用系统的主密钥,CSMY为所述用户B的初始密钥。需要说明的是,每隔固定时间会对所述预设密钥表更新,进而实现所述用户B的初始密钥的动态更新,提高对称加密过程中明文数据的安全性,所述固定时间优选为1个月。
该可选的实施例中,所述基于所述明文密钥对所述明文数据进行对称加密得到密文传输数据包括:
基于所述明文密钥和SM4算法对所述明文数据进行对称加密得到密文数据;
将所述密文数据和预设特殊字符作为所述密文传输数据,所述特殊字符表示所述密文传输数据由对称加密产生。
该可选的实施例中,利用所述用户B的明文密钥采用SM4算法对所述用户B的明文数据进行对称加密得到密文数据,所述密文数据的计算公式如下:
MW=SM4MWMY(MWSJ)
其中,MW为所述用户B明文数据MWSJ对应的密文数据。
该可选的实施例中,将所述用户B明文数据对应的密文数据以及特殊字符“D”作为密文传输数据,将所述密文传输数据传输到接收方,即用户A。其中,所述特殊字符“D”表示所述密文传输数据由对称加密产生。
在一个可选的实施例中,解密单元115用于当接收方接收到所述密文传输数据时,依据加密方式对所述密文传输数据进行解密以获取明文数据,所述加密方式包括对称加密和非对称加密。
在一个可选的实施例中,所述依据加密方式对所述密文传输数据进行解密以获取明文数据,所述加密方式包括对称加密和非对称加密包括:
基于所述密文传输数据中的特殊字符获取加密方式,所述加密方式包括对称加密和非对称加密;
当所述加密方式为对称加密时,依据所述发送方的应用标识、所述应用系统的主密钥和预设密钥表生成明文密钥,并基于所述明文密钥和SM4算法对所述密文传输数据中的密文数据进行解密得到明文数据;
当所述加密方式为非对称加密时,依据接收方的私钥和SM2算法对所述密文传输数据中的密文摘要进行解密得到密文数据,并依据发送方的公钥和SM2算法对所述密文数据进行解密得到明文数据。
在一个可选的实施例中,用户A接受到密文传输数据后,获取所述密文传输数据中的特殊字符,当所述特殊字符为“F”时,表示所述密文传输数据的加密方式为非对称加密,此时对应的解密流程为:利用用户A的私钥通过SM2算法对所述密文传输数据中的密文摘要进行解密得到密文数据;进一步利用用户B的公钥通过SM2算法对所述密文数据进行解密得到明文数据,所述明文数据的计算公式如下:
MWSJ=SM2B(g)(SM2A(s)(MWZY))
其中,A(s),B(g)分别为所述用户A的私钥和用户B的公钥,MWSJ和MWZY分别为所述明文数据和所述密文摘要,SM2A(s)(MWZY)为所述密文数据。
该可选的实施例中,当所述特殊字符为“D”时,表示所述密文传输数据的加密方式为对称加密,此时对应的解密流程为:获取用户B的应用标识,按照步骤S14对称加密过程中的方法得到所述用户B的明文密钥,利用所述用户B的明文密钥采用SM4算法对所述密文传输数据中的密文数据进行解密得到明文数据,所述明文数据的计算公式如下:
MWSJ=SM4MWMY(MW)
其中,MW为所述用户B明文数据MWSJ对应的密文数据。
由以上技术方案可以看出,本申请能够依据数据类型和数据内容判断数据的敏感程度,对不同敏感程度的数据采用不同的加密方式,同时在加密的过程中采用密钥自动生成的机制,实现了密钥的动态更新,从而在提高数据安全性的同时合理分配加密资源。
请参见图4,是本申请实施例提供的一种电子设备的结构示意图。电子设备1包括存储器12和处理器13。存储器12用于存储计算机可读指令,处理器13用执行所述储器中存储的计算机可读指令以实现上述任一实施例所述的基于国密算法的数据加解密方法。
在一个可选的实施例中,电子设备1还包括总线、存储在所述存储器12中并可在所述处理器13上运行的计算机程序,例如基于国密算法的数据加解密程序。
图4仅示出了具有存储器12和处理器13的电子设备1,本领域技术人员可以理解的是,图4示出的结构并不构成对电子设备1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
结合图1,电子设备1中的所述存储器12存储多个计算机可读指令以实现一种基于国密算法的数据加解密方法,所述处理器13可执行所述多个指令从而实现:
依据密钥生成器生成应用系统的主密钥,并获取所述应用系统内每一个用户的应用标识,所述应用标识包括终端MAC地址和用户ID;
获取所述应用系统中数据传输时的明文数据和发送方的应用标识,并基于所述发送方的应用标识判断所述明文数据的合法性;
当所述明文数据合法时,基于所述明文数据的数据类型和预设关键词对所述明文数据进行分类得到分类结果,所述分类结果包括敏感数据和非敏感数据;
当所述分类结果为敏感数据时,依据所述密钥生成器生成密钥对,并基于所述密钥对对所述明文数据进行非对称加密得到密文传输数据;
当所述分类结果为非敏感数据时,依据所述发送方的应用标识、所述应用系统的主密钥和预设密钥表生成明文密钥,并基于所述明文密钥对所述明文数据进行对称加密得到密文传输数据;
当接收方接收到所述密文传输数据时,依据加密方式对所述密文传输数据进行解密以获取明文数据,所述加密方式包括对称加密和非对称加密。
具体地,所述处理器13对上述指令的具体实现方法可参考图1对应实施例中相关步骤的描述,在此不赘述。
本领域技术人员可以理解,所述示意图仅仅是电子设备1的示例,并不构成对电子设备1的限定,电子设备1可以是总线型结构,也可以是星形结构,电子设备1还可以包括比图示更多或更少的其他硬件或者软件,或者不同的部件布置,例如电子设备1还可以包括输入输出设备、网络接入设备等。
需要说明的是,电子设备1仅为举例,其他现有的或今后可能出现的电子产品如可适应于本申请,也应包含在本申请的保护范围以内,并以引用方式包含于此。
其中,存储器12至少包括一种类型的可读存储介质,所述可读存储介质可以是非易失性的,也可以是易失性的。所述可读存储介质包括闪存、移动硬盘、多媒体卡、卡型存储器(例如:SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器12在一些实施例中可以是电子设备1的内部存储单元,例如该电子设备1的移动硬盘。存储器12在另一些实施例中也可以是电子设备1的外部存储设备,例如电子设备1上配备的插接式移动硬盘、智能存储卡(Smart Media Card,SMC)、安全数字(Secure Digital,SD)卡、闪存卡(Flash Card)等。存储器12不仅可以用于存储安装于电子设备1的应用软件及各类数据,例如基于国密算法的数据加解密程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器13在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(Central Processing unit,CPU)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。处理器13是电子设备1的控制核心(Control Unit),利用各种接口和线路连接整个电子设备1的各个部件,通过运行或执行存储在所述存储器12内的程序或者模块(例如执行基于国密算法的数据加解密程序等),以及调用存储在所述存储器12内的数据,以执行电子设备1的各种功能和处理数据。
所述处理器13执行所述电子设备1的操作系统以及安装的各类应用程序。所述处理器13执行所述应用程序以实现上述各个基于国密算法的数据加解密方法实施例中的步骤,例如图1所示的步骤。
示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器12中,并由所述处理器13执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机可读指令段,该指令段用于描述所述计算机程序在电子设备1中的执行过程。例如,所述计算机程序可以被分割成获取单元110、判断单元111、分类单元112、非对称加密单元113、对称加密单元114、解密单元115。
上述以软件功能模块的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、计算机设备,或者网络设备等)或处理器(Processor)执行本申请各个实施例所述的基于国密算法的数据加解密方法的部分。
电子设备1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指示相关的硬件设备来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。
其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存储器及其他存储器等。
进一步地,计算机可读存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。
本申请所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
总线可以是外设部件互连标准(Peripheral Component Interconnect,简称PCI)总线或扩展工业标准结构(Extended Industry Standard Architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,在图4中仅用一根箭头表示,但并不表示仅有一根总线或一种类型的总线。所述总线被设置为实现所述存储器12以及至少一个处理器13等之间的连接通信。
本申请实施例还提供一种计算机可读存储介质(图未示),计算机可读存储介质中存储有计算机可读指令,计算机可读指令被电子设备中的处理器执行以实现上述任一实施例所述的基于国密算法的数据加解密方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。说明书陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一、第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本申请的技术方案而非限制,尽管参照较佳实施例对本申请进行了详细说明,本领域的普通技术人员应当理解,可以对本申请的技术方案进行修改或等同替换,而不脱离本申请技术方案的精神和范围。

Claims (10)

1.一种基于国密算法的数据加解密方法,其特征在于,所述方法包括:
依据密钥生成器生成应用系统的主密钥,并获取所述应用系统内每一个用户的应用标识,所述应用标识包括终端MAC地址和用户ID;
获取所述应用系统中数据传输时的明文数据和发送方的应用标识,并基于所述发送方的应用标识判断所述明文数据的合法性;
当所述明文数据合法时,基于所述明文数据的数据类型和预设关键词对所述明文数据进行分类得到分类结果,所述分类结果包括敏感数据和非敏感数据;
当所述分类结果为敏感数据时,依据所述密钥生成器生成密钥对,并基于所述密钥对对所述明文数据进行非对称加密得到密文传输数据;
当所述分类结果为非敏感数据时,依据所述发送方的应用标识、所述应用系统的主密钥和预设密钥表生成明文密钥,并基于所述明文密钥对所述明文数据进行对称加密得到密文传输数据;
当接收方接收到所述密文传输数据时,依据加密方式对所述密文传输数据进行解密以获取明文数据,所述加密方式包括对称加密和非对称加密。
2.如权利要求1所述的基于国密算法的数据加解密方法,其特征在于,所述获取所述应用系统中数据传输时的明文数据和发送方的应用标识,并基于所述发送方的应用标识判断所述明文数据的合法性包括:
获取所述数据传输时的接收方,并统计与所述接收方有传输权限的所有用户对应的应用标识以构成应用标识集合;
依据SM3算法对所述应用标识集合中的每一个应用标识进行加密获取数字签名,将所有数字签名作为接收方的权限集合;
依据SM3算法对所述发送方的应用标识进行加密获取发送方的数字签名;
匹配所述发送方的数字签名与所述接收方的权限集合中的数字签名以获取匹配结果,所述匹配结果包括匹配成功和匹配失败;
当匹配结果为匹配成功时,表示所述发送方与所述接收方有传输权限,则所述明文数据合法。
3.如权利要求1所述的基于国密算法的数据加解密方法,其特征在于,所述基于所述明文数据的数据类型和预设关键词对所述明文数据进行分类得到分类结果包括:
若所述明文数据的数据类型为非结构数据,则表示所述明文数据的分类结果为敏感数据;
若所述明文数据的数据类型为结构数据,则依据预设关键词对所述明文数据进行二次分类;
在二次分类过程中,若所述明文数据为预设关键词相应的内容,则所述明文数据的分类结果为敏感数据;
在二次分类过程中,若所述明文数据中不是预设关键词相应的内容,则所述明文数据的分类结果为非敏感数据。
4.如权利要求1所述的基于国密算法的数据加解密方法,其特征在于,所述依据所述密钥生成器生成密钥对,并基于所述密钥对对所述明文数据进行非对称加密得到密文传输数据包括:
依据所述密钥生成器为明文数据的发送方和接收方各生成一组密钥对,所述密钥对包括公钥和私钥;
依据发送方的私钥和SM2算法对所述明文数据进行非对称加密得到密文数据;
依据接收方的公钥和SM2算法对所述密文数据进行非对称加密得到密文摘要;
将所述密文摘要和预设的特殊字符作为所述密文传输数据,所述特殊字符表示所述密文传输数据由非对称加密产生。
5.如权利要求1所述的基于国密算法的数据加解密方法,其特征在于,所述依据所述发送方的应用标识、所述应用系统的主密钥和预设密钥表生成明文密钥包括:
依据预设筛选编号计算模型计算所述发送方的应用标识的筛选编号,所述预设筛选编号计算模型满足关系式:
Figure FDA0003592095890000031
其中,n为所述发送方的应用标识中不同字符的数量,N为所述发送方的应用标识中所有字符的总数,tanh函数为双曲正切函数,可以将输入变量映射至0到1之间,函数Round(x,num)的作用是保留数值x小数点后num位,k为所述发送方的筛选编号,取值范围为[0,1];
基于所述筛选编号筛选预设密钥表以获取初始密钥;
依据所述应用系统的主密钥和SM4算法对所述初始密钥进行对称加密得到明文密钥。
6.如权利要求1所述的基于国密算法的数据加解密方法,其特征在于,所述基于所述明文密钥对所述明文数据进行对称加密得到密文传输数据包括:
基于所述明文密钥和SM4算法对所述明文数据进行对称加密得到密文数据;
将所述密文数据和预设特殊字符作为所述密文传输数据,所述特殊字符表示所述密文传输数据由对称加密产生。
7.如权利要求1所述的基于国密算法的数据加解密方法,其特征在于,所述依据加密方式对所述密文传输数据进行解密以获取明文数据,所述加密方式包括对称加密和非对称加密包括:
基于所述密文传输数据中的特殊字符获取加密方式,所述加密方式包括对称加密和非对称加密;
当所述加密方式为对称加密时,依据所述发送方的应用标识、所述应用系统的主密钥和预设密钥表生成明文密钥,并基于所述明文密钥和SM4算法对所述密文传输数据中的密文数据进行解密得到明文数据;
当所述加密方式为非对称加密时,依据接收方的私钥和SM2算法对所述密文传输数据中的密文摘要进行解密得到密文数据,并依据发送方的公钥和SM2算法对所述密文数据进行解密得到明文数据。
8.一种基于国密算法的数据加解密装置,其特征在于,所述装置包括:
获取单元,用于依据密钥生成器生成应用系统的主密钥,并获取所述应用系统内每一个用户的应用标识,所述应用标识包括终端MAC地址和用户ID;
判断单元,用于获取所述应用系统中数据传输时的明文数据和发送方的应用标识,并基于所述发送方的应用标识判断所述明文数据的合法性;
分类单元,用于当所述明文数据合法时,基于所述明文数据的数据类型和预设关键词对所述明文数据进行分类得到分类结果,所述分类结果包括敏感数据和非敏感数据;
非对称加密单元,用于当所述分类结果为敏感数据时,依据所述密钥生成器生成密钥对,并基于所述密钥对对所述明文数据进行非对称加密得到密文传输数据;
对称加密单元,用于当所述分类结果为非敏感数据时,依据所述发送方的应用标识、所述应用系统的主密钥和预设密钥表生成明文密钥,并基于所述明文密钥对所述明文数据进行对称加密得到密文传输数据;
解密单元,用于当接收方接收到所述密文传输数据时,依据加密方式对所述密文传输数据进行解密以获取明文数据,所述加密方式包括对称加密和非对称加密。
9.一种电子设备,其特征在于,所述电子设备包括:
存储器,存储有计算机可读指令;及
处理器,执行所述存储器中存储的计算机可读指令以实现如权利要求1至7中任意一项所述的基于国密算法的数据加解密方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如权利要求1至7中任一项所述的基于国密算法的数据加解密方法。
CN202210381754.0A 2022-04-12 2022-04-12 基于国密算法的数据加解密方法及相关设备 Active CN114884697B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210381754.0A CN114884697B (zh) 2022-04-12 2022-04-12 基于国密算法的数据加解密方法及相关设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210381754.0A CN114884697B (zh) 2022-04-12 2022-04-12 基于国密算法的数据加解密方法及相关设备

Publications (2)

Publication Number Publication Date
CN114884697A true CN114884697A (zh) 2022-08-09
CN114884697B CN114884697B (zh) 2023-12-26

Family

ID=82670048

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210381754.0A Active CN114884697B (zh) 2022-04-12 2022-04-12 基于国密算法的数据加解密方法及相关设备

Country Status (1)

Country Link
CN (1) CN114884697B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116707801A (zh) * 2023-08-04 2023-09-05 北京滴普科技有限公司 程序测试用文件数据保护方法、装置、设备及存储介质
CN117556447A (zh) * 2023-11-29 2024-02-13 金网络(北京)数字科技有限公司 基于分类识别的数据加密方法、装置及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060104450A1 (en) * 2004-11-12 2006-05-18 International Business Machines Corporation Method and system for providing for security in communication
CN102624711A (zh) * 2012-02-27 2012-08-01 福建联迪商用设备有限公司 一种敏感信息传输方法及系统
CN109802825A (zh) * 2017-11-17 2019-05-24 深圳市金证科技股份有限公司 一种数据加密、解密的方法、系统及终端设备
CN114218592A (zh) * 2021-12-20 2022-03-22 平安壹钱包电子商务有限公司 敏感数据的加解密方法、装置、计算机设备及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060104450A1 (en) * 2004-11-12 2006-05-18 International Business Machines Corporation Method and system for providing for security in communication
CN102624711A (zh) * 2012-02-27 2012-08-01 福建联迪商用设备有限公司 一种敏感信息传输方法及系统
CN109802825A (zh) * 2017-11-17 2019-05-24 深圳市金证科技股份有限公司 一种数据加密、解密的方法、系统及终端设备
CN114218592A (zh) * 2021-12-20 2022-03-22 平安壹钱包电子商务有限公司 敏感数据的加解密方法、装置、计算机设备及存储介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
WANG, SHOU-XIANG等: "Preserving scheme for user\'s confidential information in smart grid based on digital watermark and asymmetric encryption", 《JOURNAL OF CENTRAL SOUTH UNIVERSITY》, vol. 29, no. 2, pages 726 - 740, XP037730519, DOI: 10.1007/s11771-022-4941-9 *
孙秀胜: "自助终端设备国密改造方法探究", 《中国信息化》 *
方粘粘: "结构化数据的通用隐私保护系统设计与实现", 《中国优秀硕士学位论文全文数据库信息科技辑》, no. 4, pages 138 - 41 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116707801A (zh) * 2023-08-04 2023-09-05 北京滴普科技有限公司 程序测试用文件数据保护方法、装置、设备及存储介质
CN117556447A (zh) * 2023-11-29 2024-02-13 金网络(北京)数字科技有限公司 基于分类识别的数据加密方法、装置及存储介质

Also Published As

Publication number Publication date
CN114884697B (zh) 2023-12-26

Similar Documents

Publication Publication Date Title
CN111914027B (zh) 一种区块链交易关键字可搜索加密方法及系统
US20190371106A1 (en) Voting system and method
KR20190075771A (ko) 블록체인을 이용한 개인정보 분리 후 분산저장을 통한 인증 시스템
CN112751852A (zh) 数据传输方法及相关设备
CN114884697B (zh) 基于国密算法的数据加解密方法及相关设备
WO2021239059A1 (zh) 密钥轮换方法、装置、电子设备及介质
WO2022179115A1 (zh) 用户认证方法、装置、服务器及存储介质
CN111881481B (zh) 基于区块链的医疗数据处理方法、装置、设备及存储介质
US8220040B2 (en) Verifying that group membership requirements are met by users
CN113822675A (zh) 基于区块链的报文处理方法、装置、设备及存储介质
CN113420049B (zh) 数据流通方法、装置、电子设备及存储介质
CN113259123B (zh) 一种区块链数据写入、访问方法及装置
CN113098697B (zh) 一种区块链数据写入、访问方法及装置
CN114422143B (zh) 基于人工智能的数据动态加密方法、装置、设备及介质
CN114172659B (zh) 区块链系统中的消息传输方法、装置、设备及存储介质
CN111241492A (zh) 一种产品多租户安全授信方法、系统及电子设备
CN106713256A (zh) 一种税控专用计算机软硬件绑定的认证方法
CN112699390A (zh) 数据处理方法、装置、电子设备、存储介质及程序产品
CN114697132B (zh) 重复访问请求攻击拦截方法、装置、设备及存储介质
WO2021239034A1 (zh) 基于身份加密的数据传送方法、装置、电子设备及存储介质
CN113259124A (zh) 一种区块链数据写入、访问方法及装置
CA3153370A1 (en) System and method for distributed storage of transactions
CN112685706A (zh) 请求鉴权方法及相关设备
CN117499159B (zh) 一种基于区块链的数据交易方法、装置及电子设备
CN116340984B (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