CN110336819A - 基于机器学习的加解密自助组合方法 - Google Patents

基于机器学习的加解密自助组合方法 Download PDF

Info

Publication number
CN110336819A
CN110336819A CN201910613332.XA CN201910613332A CN110336819A CN 110336819 A CN110336819 A CN 110336819A CN 201910613332 A CN201910613332 A CN 201910613332A CN 110336819 A CN110336819 A CN 110336819A
Authority
CN
China
Prior art keywords
service
key
algorithm
encryption
decryption
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
CN201910613332.XA
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.)
Sichuan XW Bank Co Ltd
Original Assignee
Sichuan XW Bank 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 Sichuan XW Bank Co Ltd filed Critical Sichuan XW Bank Co Ltd
Priority to CN201910613332.XA priority Critical patent/CN110336819A/zh
Publication of CN110336819A publication Critical patent/CN110336819A/zh
Pending legal-status Critical Current

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
    • 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
    • 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

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)
  • Storage Device Security (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种基于机器学习的加解密自助组合方法,属于计算机信息安全技术领域,解决现有技术中,采用人为学习和编译进行加解密,不仅容易出错,而且智能低,还浪费人力。本发明基于交互信息是key‑value键值对数据结构存储的数据,获取本地服务的初始化状态,其中,交互信息即指明文;基于获取的本地服务的初始化状态,进行服务建立。本发明用于加解密自助组合。

Description

基于机器学习的加解密自助组合方法
技术领域
一种基于机器学习的加解密自助组合方法,用于加解密自助组合,属于计算机信息安全技术领域。
背景技术
计算机网络之间的重要信息通过加密传输已经成为日常,程序中使用的加密算法分为对称加密算法和非对称加密算法。对称加密算法使用同一个密钥进行加解密,非对称密钥则分为公钥和私钥,公钥可以对外开放而私钥则为个人或企业所私有,对称加密算法效率优于非对称加密算法,而非对称加密算法安全性能则高于对称加密算法,日常中为保障安全和高效性常使用对称和非对称加密算法组合的方式进行密文传输。
常见的对称密钥算法DES算法,3DES算法,TDEA算法,Blowfish算法,RC5算法,IbEA算法;常见的非对称密钥s算法有RSA、Elgamal、背包算法、Rabin、D-H、ECC算法,日常中根据具体需求使用对称或非对称加密算法、一种或者多种算法进行密文传输,实际上大多数密文传输过程中为保障高效和安全性常使用对称算法对密文进行加密,使用非对称算法进行签名。签名是为确认信息的发送方,而加密则是防止发送信息泄露。
在计算机网络信息传输过程中,针对不同的需求,对加密的信息以及加密的算法有不同的要求,程序开发工作人员需要消费大量的时间来学习和编译相应的程序以应对不同需求方对加解密的需求,采用人为学习和编译进行加解密,不仅容易出错,而且智能低,还浪费人力等。
发明内容
针对上述研究的问题,本发明的目的在于提供一种基于机器学习的加解密自助组合方法,解决现有技术中,采用人为学习和编译进行加解密,不仅容易出错,而且智能低,还浪费人力。
为了解决上述技术问题,本发明采用的技术方案为:
一种基于机器学习的加解密自助组合方法,如下步骤:
S1.基于交互信息是key-value键值对数据结构存储的数据,获取本地服务的初始化状态,其中,交互信息即指明文。
S2.基于获取的本地服务的初始化状态,进行服务建立。
进一步,所述步骤S1中,初始化状态包括具有本地或云端服务器中的算法库、具有响应服务请求机制、具有调度算法加载服务至内存中的算法、扫描请求报文字段的广度优先算法、以及对服务各阶段状态判断主动通知功能;
算法库包含算法名称、算法编码以及算法,算法库中的算法编码的编码形式由算法库自定义,算法是指所有常用的加密签名算法、解密验签算法和密钥生成算法,包括RSA算法和DES加密算法,RSA算法由5个算法组成:密钥生成算法KeyGen,加密算法Encrypt以及解密算法Decrypt,签名和验签所共同使用的签名算法和验签算法包括Sha1WithRSA;
具有响应服务请求机制是指本地服务中有对用户请求做出响应,然后异步建立请求的服务;
具有调度算法加载服务至内存中的算法的调度机制,根据用户的请求参数采用调度算法将本地或云端服务器中的算法库中的算法加载至内存,调度算法为顺序搜索算法。
进一步,所述步骤S2中,服务建立的整个生命周期包括用户自主选择加密解密签名验签服务要求、加密解密签名验签服务建立以及服务验证三个阶段。
进一步,所述用户自主选择加密解密签名验签服务要求是指用户需自主必选服务组合、服务算法、服务类型、服务范畴、密钥文件目录和可选的附属功能密钥生成服务;
其中,服务组合为独立的加密、签名服务或组合的加密签名服务中的一种;
服务算法包括自主选择算法以及密钥长度,算法包括加密签名算法,即加密算法以及签名算法,加密算法包括对称密钥加密算法、非对称密钥算法,签名算法包括对称密钥加密算法、非对称密钥算法;
服务类型为对称的加密签名和解密验签服务或非对称的加密签名和解密验签服务中的一种,用户选择非对称算法时,本地服务的初始化状态中对服务各阶段状态判断主动通知功能则会主动通知对方添加加密签名规则,加密签名规则指用户提交的自主选择的服务组合、服务算法和服务范畴、选择密钥文件目录以及是否选择密钥生成服务生成密钥;用户选择对称算法时本地服务的初始化状态中对服务各阶段状态判断主动通知功能则只会主动通知对方选择密钥文件目录和可选的附属功能密钥生成服务;
服务范畴为部分数据加密或分段式数据加密中的一种,部分加密表示用户加密字段只有一个或者为空,分别表示对请求报文的一部份字段进行加密或者对整个请求报文进行加密,加密字段为一个时则需要调用广度优先算法获取加密字段进行加密,对整个报文加密的时候不需要填写加密字段,即当本地服务获取到的加密字段为空时,不需要调用广度优先算法,直接对整个报文进行加密;分段式数据加密则是加密字段在请求报文中分散于各个字段内,不集中体现在请求报文的某一段,分段式加密采用机器学习中的广度优先算法访问加密字段名获取对应的加密字段值进行加密,部分数据加密与分段式数据加密调用广度优先算法的区别在于部分加密算法一旦搜索到目标加密字段进行加密即可以完成加密,而分段式加密则需使用广度优先算法搜索到目标加密字段后反复调用直至完成所有字段的加密;
密钥文件目录:指用户用于存放加密解密的密钥以及签名验签的密钥对,密钥文件包括本地服务加密的公钥、签名的私钥、解密的私钥、验签的公钥4个文件以及对方的密钥文件解密的私钥、验签的公钥2个密钥文件,其中,本地服务解密的私钥和验签的公钥2个文件以保障信息交互安全的方式传递给对方,密钥文件中的密钥是以参数的形式传递到加密签名解密验签算法中进行加密、签名、解密或验签;
可选的附属功能密钥生成服务为附加的密钥生成服务,是指若使用密钥生成服务,即选择了密钥生成算法,用户自主选择密钥的长度和加密签名算法,密钥长度与加密签名算法配合使用,使用与加密签名算法对应的密钥生成算法生成用户需求长度的密钥,其中,加密签名算法从用户自主选择的加密签名算法中获取,将加密签名算法从算法库中加载至内存中,使用对应的密钥生成算法生成用户要求长度的密钥后,生成本地文件,生成的本地文件存放在密钥文件目录中,同时将密钥直接附着在本地服务中,节省后续中调用本地的密钥文件对密钥参数赋值带来的资源消耗;
若未使用密钥生成服务,即未选择密钥生成算法,从本地的密钥文件中获取加密密钥,并将密钥附着在本地服务中,同时使用已有的密钥文件;
用户将生成的密钥文件或者已有的密钥文件中的验签的公钥和解密的私钥文件,通过保证信息交互安全的方式交付给信息交互的对方,即双方相互交付上述两个密钥文件,接收到对方的密钥文件,将其放置在密钥文件目录下,即验签的公钥和解密的私钥文件,这两个文件中的密钥将分别用于对对方的请求报文进行验签和解密;
进一步,所述加密解密签名验签服务建立步骤分为三个阶段:初步建立服务、服务交互、建立服务;
自主选择加密解密签名验签服务要求后,初步建立服务:
初步建立服务的步骤依次为加载算法库中的算法,可选的密钥生成服务生成密钥,建立签名加密模型;
加载算法库中的算法是基于本地服务接收到用户提交的加密签名规则请求,加密签名规则请求即本地服务接收到用户提交的自主选择的服务组合、服务算法和服务范畴、选择密钥文件目录以及是否选择密钥生成服务生成密钥,提取用户请求中的服务组合标志、用户请求中的算法和服务类型;提取服务组合标志代表用户建立的服务为纯加密、纯签名或加密签名服务中的一种,提取用户请求中的算法是完成从本地或云端服务器中的算法库中加载用户传递的一种或多种加密签名算法和密钥生成算法至内存中,其中密钥生成算法是在用户选择了使用密钥生成服务的情况下加载至内存,提取服务类型是指是否为对称服务,若为对称服务则需加载算法库存中对应的解密验签算法至内存中,否则不加载;
可选的密钥生成服务生成密钥是基于加载至内存中的密钥生成算法进行的,若用户选择了密钥生成服务生成密钥是指若用户选择使用密钥生成算法,则根据用户提交的服务算法及密钥长度,调用加载至内存中的加密签名算法和密钥生成算法生成密钥文件,存放在本地服务的4个密钥文件中,同时也可附着在本地服务中,即配置在公钥和私钥参数中;
若用户未选择使用密钥生成服务,则从密钥文件目录中加载加密和签名的密钥,其中,加载的密钥配置在本地服务中的加密的公钥和签名的私钥参数中;
建立签名加密模型,即本地服务接收到建立加密签名规则的请求,使用本地服务的加密签名规则,基于加载至内存中的算法和可选的密钥生成服务生成密钥建立签名算法模型和加密算法模型,签名算法模型是指根据用户是否选用附属功能密钥生成服务,使用已有的密钥文件或者使用附属的密钥生成算法生成的密钥文件中的签名的私钥文件中的私钥和加载到内存中的签名算法对整个请求报文进行签名;加密算法模型指将整个请求报文或请求报文中的加密字段值采用密钥文件中的公钥和加载到内存中的加密算法进行加密,即若是对整个请求报文进行加密,使用已有的密钥文件或者使用附属的密钥生成算法生成的密钥文件中的加密的公钥文件中的公钥和加载到内存中的加密算法对请求报文进行加密,若不是,请求报文是采用键值对的数据结构形式进行存储信息,为快速完成加密,调用广度优先算法,从请求报文的外层字段到内层字段遍历提取出加密字段值,使用已有的密钥文件或者使用附属的密钥生成算法生成的密钥文件中的加密的公钥文件中的公钥和加载到内存中的加密算法对外层字段加密,对外层字段加密的同时其内层字段也完成加密,加密后即得到密文,提取后调用签名算法模型和加密算法模型将密文放回原请求报文中,完成本地服务的加密签名规则,即初步建立服务;
服务交互:
服务交互指用户交互双方的本地服务需要知道交互双方的加密签名规则,在初步建立服务完成加密签名工作后,真正完成本地的服务还需要建立解密验签规则;要建立解密验签规则就需要获取对方的加密签名规则才能建立对应的特定的解密验签i
建立的服务是为特定的交互双方所独有,即服务交互为双方量体栽衣定制的专属服务,服务的交互双方的加密签名方式可分为对称和非对称两种情况,对称即双方加密签名规则完全保持一致,反之,非对称则交互双方之间的规则存在差异,其中加密签名规则包含服务组合、服务算法、加密字段名,本地的加密验签规则在用户请求服务建立过程中就已经获取,而对方的加密验签规则将本地的加密签名规则异步发送至对方,等待对方返回其本地的加密验签规则,用户信息交互采用异步的方式实现,不必等待对方返回其加密签名规则;
服务交互还包括用户双方传递双方解密验签所使用的密钥;
建立服务:
服务建立的主要目标是完成按照对方加密签名规则建立对应的解密验签规则完成本地服务;服务建立过程是在服务交互的基础之上获取对方的加密签名规则,加载本地密钥文件目录中存放的对方的解密验签的公私钥,若此时用户还未获取到对方的密钥文件,则本地服务响应给用户,提醒用户添加密钥文件,将对应的解密的私钥和验签的公钥放置在对应的参数中,便于接下来的过程调用密钥进行解密验签;
若服务类型是对称类型,则从初步建立服务时加载至内存中的解密验签算法中,若是对整个请求报文进行解密,从本地服务获取解密的私钥后,调用解密算法和解密的私钥进行解密;若不是,通过广度优先算法获取加密字段值及从本地服务获取解密的私钥后,反复调用解密算法和解密的私钥直至所有的加密字段值都被解密,解密完成后的请求报文调用验签算法和验签的公钥进行验签,确认请求报文的发送方,其中,解密的私钥和验签的公钥从密钥文件目录中加载,由密钥生成服务生成或者由用户已有的密钥文件提供;
若服务类型是非对称服务类型,若是对整个请求报文进行解密,从对方响应的加解密规则中获取加解密算法和整个请求报文,从算法库中加载解密验签算法至内存,对整个请求报名调用解密算法和解密的私钥进行解密,若不是,则从对方响应的加解密规则中获取加解密算法和加密字段名,从算法库中加载解密验签算法至内存;通过广度优先算法搜索出加密字段名后,对加密字段值调用解密算法和解密的私钥进行解密,然后循环使用此步骤,完成所有字段的解密服务,完成解密任务后,调用签名算法和验签的公钥进行验签,确认请求报文的发送方,其中,解密的私钥和验签的公钥从密钥文件目录中加载,由密钥生成服务生成或者由用户已有的密钥文件提供;
加密解密签名验签服务建立完成后,本地服务中的对服务各阶段状态判断主动通知功能则会将建立完成结果响应给双方用户,提醒用户进行服务验证。
进一步,所述服务验证是指交互双方模拟一次完整的信息交互过程,包括发送验证服务请求、响应服务请求、结果确认;
加密解密签名验签服务建立后;
验证服务请求是指用户发送服务验证报文至本地建立好的服务中;
响应服务请求是指用户发送带有关键字的服务验证报文至本地建立好的服务,在本地建立好的服务中进行加密加签后推送至接收方,接收方通过解密验签之后将服务验证关键字取出后置为1后,按照本地建立好的服务中的加密签名规则将关键字放置在加密字段内部,经本地建立好的服务加密签名后返回给服务的请求方;
结果确认是指请求方将返回来的请求报文经解密验签之后,取出关键字字段并确认字段值,即确认服务建立完成且成功建立,本地服务中的对服务各阶段状态判断主动通知功能则会通知双方用户验证成功。
进一步,所述算法库的维护采用爬虫算法来进行更新添加新的算法,爬虫算法为内嵌在算法库中的算法。
本发明同现有技术相比,其有益效果表现在:
一、现有技术需要为每个新的需求完成服务建立,需要投入大量的人力去手动完成服务建立,针对新的加解密算法也需要投入大力去学习并完成服务的建立。本发明不仅可以提供统一的接口,适配完成专属服务的建立。其服务的维护也可以作为单独的模块与现有的已建立的服务不产生直接联系,保证现有的服务功能的独立性。一旦服务建立完成,除了可终身使用以外还可以关闭本地服务的初始化状态,即将初始化状态的服务从本地服务中抽取出来不消耗内存。
二、本发明将加密签名服务(即指加密签名规则)作为一个独立的模块提取出来,不仅能解决信息交互的密文传输,也能适配性的完成交互双方的专属的密文加密渠道,且各加密渠道相互独立互不影响。将内存消耗大的算法库单独提取出来,建立本地服务不必消耗大量资源,一旦服务建立完成可终身使用。本发明的服务的维护也因此作为一个单独的模块进行维护和更新,其中最主要的算法库的更新也对本地服务的建立不产生影响。
三、本发明将密钥文件的传递单独独立出来,采用人工干预的方式,保证服务的安全性,保证密钥不会在服务建立过程中被截取,从而保证了信息的安全性。
附图说明
图1为本发明中用户建立模型交互流程图;
图2为本发明中用户请求服务建立自主选择示例图;
图3为本发明中服务建立流程图;
图4为本发明中服务验证流程图。
具体实施方式
下面将结合附图及具体实施方式对本发明作进一步的描述。
本申请实例是为了解决该沉重而冗余的工作,同时也解决开发人员面对新的加解密算法时消耗的学习时间。提供统一的服务,在提供足够的信息下自动化生成对应的加密签名以及相应的解密验签的算法,以提供给信息交互的双方使用的服务。届时交互双方不需要对信息进行加解密,透明化的方式也保障了信息在传递过程中的安全性。
基于key-value键值对数据结构存储数据的交互信息,获取本地服务的初始化状态;初始化状态包括具有本地或云端服务器的算法库、具有响应服务请求机制,具有调度算法加载服务至内存中的算法,以及扫描请求报文字段的广度优先算法;
算法库包含算法名称、算法编码以及算法,算法库中的算法编码的编码形式由算法库自定义,算法是指所有常用的加密签名算法、解密验签算法和密钥生成算法,包括RSA算法和DES加密算法,RSA算法由5个算法组成:密钥生成算法KeyGen,加密算法Encrypt以及解密算法Decrypt,签名和验签所共同使用的签名算法和验签算法包括Sha1WithRSA;
具有响应服务请求机制是指本地服务中有对用户请求做出响应,然后异步建立请求的服务;
具有调度算法加载服务至内存中的算法的调度机制,根据用户的请求参数采用调度算法将本地或云端服务器中的算法库中的算法加载至内存,调度算法为顺序搜索算法。
基于获取的本地服务的初始化状态,进行服务建立,具体如下:
如图2所示,用户自主选择加密解密签名验签服务要求是指用户需自主必选服务组合、服务算法、服务类型、服务范畴、密钥文件目录以及可选的附属功能密钥生成服务,自主选择完成后一并提交到本地服务中,其中,各项选择顺序与服务建立无关。
步骤一:用户自主选择服务组合:选择独立加密、独立签名或加密签名组合服务中的一种。
步骤二:服务算法:根据步骤一的选择结果填写对应的加密签名算法。
步骤三:用户选择服务类型:按照交互双方的约定,选择对应的服务类型,若双方能保证加密信息完全一致,则选择对称服务;否则,选择非对称服务。
步骤四:服务范畴:用户填写加密字段,字段之间以间隔符区分。
步骤五:密钥文件目录:用户选择密钥文件目录,以便本地服务从密钥文件目录加载对应的密钥,密钥文件分为用户的加密的公钥和签名的私钥以及对方的解密的私钥和验签的公钥,共4个必要的文件。若用户使用密钥生成服务,则生成后的4个本地的密钥文件保存在该目录下。用户验签的公钥和解密的私钥两个文件,需要用户从该密钥文件目录中提取出来以其他形式传递给对方(如通过邮件传递)。设定好密钥文件目录后用户若不使用密钥生成服务则需要将密钥文件提前放置在该密码文件目录下。密钥文件中的密钥是以参数的形式传递到加密签名解密验签算法中进行加密、签名、解密或验签,用户实际交易中使用本地服务进行加密签名或者解密验签时使用的密钥从密钥文件中获取,密钥文件与本地服务是相对独立,即无论是否使用本地服务中的密钥生成服务,为完成自主加解密都需要密钥文件,即包含上述6个文件。
步骤六:附属功能密钥生成服务,用户选择是否使用密钥生成算法,若否,则选择本地服务中已有的密钥文件提交至本地服务中;若是,用户填写加密密钥长度,密钥生成算法从用户自主选择的算法中获取,再将密钥生成算法从算法库中加载至内存中,基于密钥的长度和密钥生成算法使用附属的密钥生成算法生成密钥,并将密钥直接附着在本地服务中,节省调用本地服务的密钥文件带来的消耗,生成的密钥文件存放在密钥文件目录中,用户将生成的密钥文件或者已有的密钥文件,通过保证信息交互安全的方式交付给信息交互的对方,接收到密钥文件后,将其放置在对应的密钥文件目录下,解密的私钥、验签的公钥文件,这2个用于将对方的请求报文进行解密和验签;
如图3所示,自主选择加密解密签名验签服务;
初步建立服务:
初步建立服务的步骤依次为加载算法库中的算法,可选的密钥生成服务生成密钥,建立签名加密模型;
步骤七:加载算法库中的算法,基于本地服务接收到用户提交的加密签名规则请求,加密签名规则请求即本地服务接收到用户提交的自主选择的服务组合、服务算法和服务范畴、选择密钥文件目录以及是否选择密钥生成服务生成密钥,提取出加密签名算法,提取用户请求中的服务组合标志、用户请求中的算法和服务类型;提取服务组合标志代表用户建立的服务为纯加密、纯签名或加密签名服务中的一种,提取用户请求中的算法是完成从本地或云端服务器中的算法库中加载用户传递的一种或多种加密签名算法和密钥生成算法至内存中,其中密钥生成算法是在用户选择了使用密钥生成服务的情况下加载至内存,提取服务类型是指是否为对称服务,若为对称服务则需加载算法库存中对应的解密验签算法至内存中,以便在接下来的步骤中使用,否则不加载。
步骤八:可选的密钥生成服务生成密钥,密钥生成服务主要是为获取密钥文件配置密钥参数。用户使用密钥生成服务时,调用加载至内存的加密签名算法和密钥生成算法生成用户需求长度的密钥,密钥长度由用户提交的密钥长度决定。生成好的密钥存放在用户设定的密钥文件目录下,用户获取到密钥文件后将解密和验签的密钥采用其他形式传递给对方。
步骤九:建立签名加密模型,即使用本地服务的加密签名规则,本地服务接收到建立加密签名规则,基于加载至内存中的算法和可选的密钥生成服务生成密钥建立签名算法模型和加密算法模型,签名算法模型是指根据用户是否选用附属功能密钥生成服务,使用已有的密钥文件或者使用附属的密钥生成算法生成的密钥文件中的签名的私钥文件中的私钥和加载到内存中的签名算法对整个请求报文进行签名;加密算法模型指将整个请求报文或请求报文中的加密字段值采用密钥文件中的公钥和加载到内存中的加密算法进行加密,即若是对整个请求报文进行加密,使用已有的密钥文件或者使用附属的密钥生成算法生成的密钥文件中的加密的公钥文件中的公钥和加载到内存中的加密算法对请求报文进行加密,若不是,请求报文是采用键值对的数据结构形式进行存储信息,为快速完成加密,调用广度优先算法,从请求报文的外层字段到内层字段遍历提取出加密字段值,使用已有的密钥文件或者使用附属的密钥生成算法生成的密钥文件中的加密的公钥文件中的公钥和加载到内存中的加密算法对外层字段加密,对外层字段加密的同时其内层字段也完成加密,因此使用广度优先算法搜索字段加密效率较高,加密后即得到密文,提取后调用签名算法模型和加密算法模型将密文放回原请求报文中,完成本地服务的加密签名规则,即初步建立服务;
服务交互:
步骤十:服务交互指用户交互双方的本地服务需要知道交互双方的加密签名规则;
建立的服务是为特定的交互双方所独有,服务的交互双方的加密签名方式可分为对称和非对称两种情况,对称即双方加密签名规则完全保持一致,反之,非对称则交互双方之间的规则存在差异,其中加密签名规则包含服务组合、服务算法、加密字段名,本地服务的加密验签规则在用户请求加密解密签名验签服务建立过程中就已经获取,而对方的加密验签规则将本地服务的加密签名规则异步发送至对方,等待对方返回其本地服务的加密验签规则,用户信息的交互采异步的方式实现,不必等待对方返回其加密签名规则,即完成服务交互;
其中,服务交互还包括用户双方传递双方解密验签所使用的密钥;
建立服务:
步骤十一:服务建立的主要目标是完成按照对方加密签名规则建立对应的解密验签规则完成本地服务;服务建立过程是在服务交互的基础之上获取对方的加密签名规则,加载本地密钥文件目录中存放的对方的解密验签的公私钥,若此时用户还未获取到对方的密钥文件,则本地服务响应给用户,提醒用户添加密钥文件,将对应的解密的私钥和验签的公钥放置在对应的密钥文件目录下,便于接下来的过程调用密钥进行解密验签;
若服务类型是对称类型,则从初步建立服务时加载至内存中的解密验签算法中,若是对整个请求报文进行解密,从本地服务获取解密的私钥后,调用解密算法和解密的私钥进行解密;若不是,通过广度优先算法获取加密字段值及从本地服务获取解密的私钥后,反复调用解密算法和解密的私钥直至所有的加密字段值都被解密,解密完成后的请求报文调用验签算法和验签的公钥进行验签,确认请求报文的发送方,其中,解密的私钥和验签的公钥从密钥文件目录中加载,由密钥生成服务生成或者由用户已有的密钥文件提供;
若服务类型是非对称服务类型,若是对整个请求报文进行解密,从对方响应的加解密规则中获取加解密算法和整个请求报文,从算法库中加载解密验签算法至内存,对整个请求报文调用解密算法和解密的私钥进行解密,若不是,则从对方响应的加解密规则中获取加解密算法和加密字段名,从算法库中加载解密验签算法至内存;通过广度优先算法搜索出加密字段名后,对加密字段值调用解密算法和解密的私钥进行解密,然后循环使用此步骤,完成所有字段的解密服务,完成解密任务后,调用签名算法和验签的公钥进行验签,确认请求报文的发送方,其中,解密的私钥和验签的公钥从密钥文件目录中加载,由密钥生成服务生成或者由用户已有的密钥文件提供;
加密解密签名验签服务建立完成后,本地服务中的对服务各阶段状态判断主动通知功能则会将建立完成结果响应给双方用户,提醒用户进行服务验证。
如图4所示:加密解密签名验签服务建立后,用户双方可以开始进行服务验证。
步骤十二:验证服务请求:本地服务建立完成后,本地建立好的服务通知用户进行服务验证,用户需要模拟发送实际请求报文至本地建立好的服务中。模拟发送的请求报文要求符合用户设定的加密签名的规则。用户组装的请求报文要求服务验证关键字,如FLAG=0,服务验证的关键字段名称可由双方用户约定,放入到各加密字段的底层中。
步骤十三:响应服务请求:将用户的请求报文加载在本地服务中,调用本地建立好的服务,调用加密算法模型对各加密字段进行加密后,调用签名算法模型进行签名后交付至对方的服务中。接收方接收到请求后,调用解密验签规则之后提取出关键字,将关键字置为1后,将关键字按照本地建立好的服务中的加密签名规则返回给发起方,即请求方。请求方的本地建立好的服务接收到密文进行解密验签得到的明文交还给用户。
步骤十四:结果确认:用户查看对方返回回来的经过解密验签后的明文中的关键字段值是否都置为1。若都为1,则证明双方服务都建立正确,反之,则存在问题。
一旦确定服务建立后,则可将初始化的本地服务状态撤离本地服务中,即断开与算法库的连接,删除密钥生成服务,删除用户自主选择服务,服务验证服务等,因在接下来服务交互的双方不再需要再次进行加密验签服务的建立,同时也节省了内存空间。
本发明可用于金融开放平台,也可用于其它加解密平台。
以上仅是本发明众多具体应用范围中的代表性实施例,对本发明的保护范围不构成任何限制。凡采用变换或是等效替换而形成的技术方案,均落在本发明权利保护范围之内。

Claims (7)

1.一种基于机器学习的加解密自助组合方法,其特征在于,如下步骤:
S1.基于交互信息是key-value键值对数据结构存储的数据,获取本地服务的初始化状态,其中,交互信息即指明文。
S2.基于获取的本地服务的初始化状态,进行服务建立。
2.根据权利要求1所述的一种基于机器学习的加解密自助组合方法,其特征在于,所述步骤S1中,初始化状态包括具有本地或云端服务器中的算法库、具有响应服务请求机制、具有调度算法加载服务至内存中的算法、扫描请求报文字段的广度优先算法、以及对服务各阶段状态判断主动通知功能;
算法库包含算法名称、算法编码以及算法,算法库中的算法编码的编码形式由算法库自定义,算法是指所有常用的加密签名算法、解密验签算法和密钥生成算法,包括RSA算法和DES加密算法,RSA算法由5个算法组成:密钥生成算法KeyGen,加密算法Encrypt以及解密算法Decrypt,签名和验签所共同使用的签名算法和验签算法包括Sha1WithRSA;
具有响应服务请求机制是指本地服务中有对用户请求做出响应,然后异步建立请求的服务;
具有调度算法加载服务至内存中的算法的调度机制,根据用户的请求参数采用调度算法将本地或云端服务器中的算法库中的算法加载至内存,调度算法为顺序搜索算法。
3.根据权利要求1所述的一种基于机器学习的加解密自助组合方法,其特征在于,所述步骤S2中,服务建立的整个生命周期包括用户自主选择加密解密签名验签服务要求、加密解密签名验签服务建立以及服务验证三个阶段。
4.根据权利要求3所述的一种基于机器学习的加解密自助组合方法,其特征在于,所述用户自主选择加密解密签名验签服务要求是指用户需自主必选服务组合、服务算法、服务类型、服务范畴、密钥文件目录和可选的附属功能密钥生成服务;
其中,服务组合为独立的加密、签名服务或组合的加密签名服务中的一种;
服务算法包括自主选择算法以及密钥长度,算法包括加密签名算法,即加密算法以及签名算法,加密算法包括对称密钥加密算法、非对称密钥算法,签名算法包括对称密钥加密算法、非对称密钥算法;
服务类型为对称的加密签名和解密验签服务或非对称的加密签名和解密验签服务中的一种,用户选择非对称算法时,本地服务的初始化状态中对服务各阶段状态判断主动通知功能则会主动通知对方添加加密签名规则,加密签名规则指用户提交的自主选择的服务组合、服务算法和服务范畴、选择密钥文件目录以及是否选择密钥生成服务生成密钥;用户选择对称算法时本地服务的初始化状态中对服务各阶段状态判断主动通知功能则只会主动通知对方选择密钥文件目录和可选的附属功能密钥生成服务;
服务范畴为部分数据加密或分段式数据加密中的一种,部分加密表示用户加密字段只有一个或者为空,分别表示对请求报文的一部份字段进行加密或者对整个请求报文进行加密,加密字段为一个时则需要调用广度优先算法获取加密字段进行加密,对整个报文加密的时候不需要填写加密字段,即当本地服务获取到的加密字段为空时,不需要调用广度优先算法,直接对整个报文进行加密;分段式数据加密则是加密字段在请求报文中分散于各个字段内,不集中体现在请求报文的某一段,分段式加密采用机器学习中的广度优先算法访问加密字段名获取对应的加密字段值进行加密,部分数据加密与分段式数据加密调用广度优先算法的区别在于部分加密算法一旦搜索到目标加密字段进行加密即可以完成加密,而分段式加密则需使用广度优先算法搜索到目标加密字段后反复调用直至完成所有字段的加密;
密钥文件目录:指用户用于存放加密解密的密钥以及签名验签的密钥对,密钥文件包括本地服务加密的公钥、签名的私钥、解密的私钥、验签的公钥4个文件以及对方的密钥文件解密的私钥、验签的公钥2个密钥文件,其中,本地服务解密的私钥和验签的公钥2个文件以保障信息交互安全的方式传递给对方,密钥文件中的密钥是以参数的形式传递到加密签名解密验签算法中进行加密、签名、解密或验签;
可选的附属功能密钥生成服务为附加的密钥生成服务,是指若使用密钥生成服务,即选择了密钥生成算法,用户自主选择密钥的长度和加密签名算法,密钥长度与加密签名算法配合使用,使用与加密签名算法对应的密钥生成算法生成用户需求长度的密钥,其中,加密签名算法从用户自主选择的加密签名算法中获取,将加密签名算法从算法库中加载至内存中,使用对应的密钥生成算法生成用户要求长度的密钥后,生成本地文件,生成的本地文件存放在密钥文件目录中,同时将密钥直接附着在本地服务中,节省后续中调用本地的密钥文件对密钥参数赋值带来的资源消耗;
若未使用密钥生成服务,即未选择密钥生成算法,从本地的密钥文件中获取加密密钥,并将密钥附着在本地服务中,同时使用已有的密钥文件;
用户将生成的密钥文件或者已有的密钥文件中的验签的公钥和解密的私钥文件,通过保证信息交互安全的方式交付给信息交互的对方,即双方相互交付上述两个密钥文件,接收到对方的密钥文件,将其放置在密钥文件目录下,即验签的公钥和解密的私钥文件,这两个文件中的密钥将分别用于对对方的请求报文进行验签和解密。
5.根据权利要求3所述的一种基于机器学习的加解密自助组合方法,其特征在于,所述加密解密签名验签服务建立步骤分为三个阶段:初步建立服务、服务交互、建立服务;
自主选择加密解密签名验签服务要求后,初步建立服务:
初步建立服务的步骤依次为加载算法库中的算法,可选的密钥生成服务生成密钥,建立签名加密模型;
加载算法库中的算法是基于本地服务接收到用户提交的加密签名规则请求,加密签名规则请求即本地服务接收到用户提交的自主选择的服务组合、服务算法和服务范畴、选择密钥文件目录以及是否选择密钥生成服务生成密钥,提取用户请求中的服务组合标志、用户请求中的算法和服务类型;提取服务组合标志代表用户建立的服务为纯加密、纯签名或加密签名服务中的一种,提取用户请求中的算法是完成从本地或云端服务器中的算法库中加载用户传递的一种或多种加密签名算法和密钥生成算法至内存中,其中密钥生成算法是在用户选择了使用密钥生成服务的情况下加载至内存,提取服务类型是指是否为对称服务,若为对称服务则需加载算法库存中对应的解密验签算法至内存中,否则不加载;
可选的密钥生成服务生成密钥是基于加载至内存中的密钥生成算法进行的,若用户选择了密钥生成服务生成密钥是指若用户选择使用密钥生成算法,则根据用户提交的服务算法及密钥长度,调用加载至内存中的加密签名算法和密钥生成算法生成密钥文件,存放在本地服务的4个密钥文件中,同时也可附着在本地服务中,即配置在公钥和私钥参数中;
若用户未选择使用密钥生成服务,则从密钥文件目录中加载加密和签名的密钥,其中,加载的密钥配置在本地服务中的加密的公钥和签名的私钥参数中;
建立签名加密模型,即本地服务接收到建立加密签名规则的请求,使用本地服务的加密签名规则,基于加载至内存中的算法和可选的密钥生成服务生成密钥建立签名算法模型和加密算法模型,签名算法模型是指根据用户是否选用附属功能密钥生成服务,使用已有的密钥文件或者使用附属的密钥生成算法生成的密钥文件中的签名的私钥文件中的私钥和加载到内存中的签名算法对整个请求报文进行签名;加密算法模型指将整个请求报文或请求报文中的加密字段值采用密钥文件中的公钥和加载到内存中的加密算法进行加密,即若是对整个请求报文进行加密,使用已有的密钥文件或者使用附属的密钥生成算法生成的密钥文件中的加密的公钥文件中的公钥和加载到内存中的加密算法对请求报文进行加密,若不是,请求报文是采用键值对的数据结构形式进行存储信息,为快速完成加密,调用广度优先算法,从请求报文的外层字段到内层字段遍历提取出加密字段值,使用已有的密钥文件或者使用附属的密钥生成算法生成的密钥文件中的加密的公钥文件中的公钥和加载到内存中的加密算法对外层字段加密,对外层字段加密的同时其内层字段也完成加密,加密后即得到密文,提取后调用签名算法模型和加密算法模型将密文放回原请求报文中,完成本地服务的加密签名规则,即初步建立服务;
服务交互:
服务交互指用户交互双方的本地服务需要知道交互双方的加密签名规则,在初步建立服务完成加密签名工作后,真正完成本地的服务还需要建立解密验签规则;要建立解密验签规则就需要获取对方的加密签名规则才能建立对应的特定的解密验签;
建立的服务是为特定的交互双方所独有,即服务交互为双方量体裁衣定制的专属服务,服务的交互双方的加密签名方式可分为对称和非对称两种情况,对称即双方加密签名规则完全保持一致,反之,非对称则交互双方之间的规则存在差异,其中加密签名规则包含服务组合、服务算法、加密字段名,本地的加密验签规则在用户请求服务建立过程中就已经获取,而对方的加密验签规则将本地的加密签名规则异步发送至对方,等待对方返回其本地的加密验签规则,用户信息交互采用异步的方式实现,不必等待对方返回其加密签名规则;
服务交互还包括用户双方传递双方解密验签所使用的密钥;
建立服务:
服务建立的主要目标是完成按照对方加密签名规则建立对应的解密验签规则完成本地服务;服务建立过程是在服务交互的基础之上获取对方的加密签名规则,加载本地密钥文件目录中存放的对方的解密验签的公私钥,若此时用户还未获取到对方的密钥文件,则本地服务响应给用户,提醒用户添加密钥文件,将对应的解密的私钥和验签的公钥放置在对应的参数中,便于接下来的过程调用密钥进行解密验签;
若服务类型是对称类型,则从初步建立服务时加载至内存中的解密验签算法中,若是对整个请求报文进行解密,从本地服务获取解密的私钥后,调用解密算法和解密的私钥进行解密;若不是,通过广度优先算法获取加密字段值及从本地服务获取解密的私钥后,反复调用解密算法和解密的私钥直至所有的加密字段值都被解密,解密完成后的请求报文调用验签算法和验签的公钥进行验签,确认请求报文的发送方,其中,解密的私钥和验签的公钥从密钥文件目录中加载,由密钥生成服务生成或者由用户已有的密钥文件提供;
若服务类型是非对称服务类型,若是对整个请求报文进行解密,从对方响应的加解密规则中获取加解密算法和整个请求报文,从算法库中加载解密验签算法至内存,对整个请求报名调用解密算法和解密的私钥进行解密,若不是,则从对方响应的加解密规则中获取加解密算法和加密字段名,从算法库中加载解密验签算法至内存;通过广度优先算法搜索出加密字段名后,对加密字段值调用解密算法和解密的私钥进行解密,然后循环使用此步骤,完成所有字段的解密服务,完成解密任务后,调用签名算法和验签的公钥进行验签,确认请求报文的发送方,其中,解密的私钥和验签的公钥从密钥文件目录中加载,由密钥生成服务生成或者由用户已有的密钥文件提供;
加密解密签名验签服务建立完成后,本地服务中的对服务各阶段状态判断主动通知功能则会将建立完成结果响应给双方用户,提醒用户进行服务验证。
6.根据权利要求3所述的一种基于机器学习的加解密自助组合方法,其特征在于,所述服务验证是指交互双方模拟一次完整的信息交互过程,包括发送验证服务请求、响应服务请求、结果确认;
加密解密签名验签服务建立后;
验证服务请求是指用户发送服务验证报文至本地建立好的服务中;
响应服务请求是指用户发送带有关键字的服务验证报文至本地建立好的服务,在本地建立好的服务中进行加密加签后推送至接收方,接收方通过解密验签之后将服务验证关键字取出后置为1后,按照本地建立好的服务中的加密签名规则将关键字放置在加密字段内部,经本地建立好的服务加密签名后返回给服务的请求方;
结果确认是指请求方将返回来的请求报文经解密验签之后,取出关键字字段并确认字段值,即确认服务建立完成且成功建立,本地服务中的对服务各阶段状态判断主动通知功能则会通知双方用户验证成功。
7.根据权利要求2所述的一种基于机器学习的加解密自助组合方法,其特征在于,所述算法库的维护采用爬虫算法来进行更新添加新的算法,爬虫算法为内嵌在算法库中的算法。
CN201910613332.XA 2019-07-09 2019-07-09 基于机器学习的加解密自助组合方法 Pending CN110336819A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910613332.XA CN110336819A (zh) 2019-07-09 2019-07-09 基于机器学习的加解密自助组合方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910613332.XA CN110336819A (zh) 2019-07-09 2019-07-09 基于机器学习的加解密自助组合方法

Publications (1)

Publication Number Publication Date
CN110336819A true CN110336819A (zh) 2019-10-15

Family

ID=68143401

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910613332.XA Pending CN110336819A (zh) 2019-07-09 2019-07-09 基于机器学习的加解密自助组合方法

Country Status (1)

Country Link
CN (1) CN110336819A (zh)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030002663A1 (en) * 2001-06-29 2003-01-02 Kurdziel Michael Thomas Method and apparatus for data encryption
CN101882993A (zh) * 2009-05-04 2010-11-10 联发科技(新加坡)私人有限公司 密码系统及密码方法
CN103268669A (zh) * 2013-05-20 2013-08-28 广州广电运通金融电子股份有限公司 自助金融设备密码输入系统及输入方法
CN104462147A (zh) * 2013-09-25 2015-03-25 天津书生投资有限公司 一种文档的存储方法
CN104660583A (zh) * 2014-12-29 2015-05-27 国家电网公司 一种基于Web加密服务的加密服务方法
CN106972927A (zh) * 2017-03-31 2017-07-21 杭州翼兔网络科技有限公司 一种针对不同安全等级的加密方法及系统
CN109067700A (zh) * 2018-06-22 2018-12-21 江苏科技大学 一种跨平台信息输入输出保护系统
CN109361507A (zh) * 2018-10-11 2019-02-19 杭州华澜微电子股份有限公司 一种数据加密方法及加密设备
CN109376543A (zh) * 2018-08-28 2019-02-22 浙江工业大学 一种基于aes算法的数据库加密方法
CN109787768A (zh) * 2018-12-12 2019-05-21 平安科技(深圳)有限公司 一种身份验证配置方法、装置及计算机可读存储介质

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030002663A1 (en) * 2001-06-29 2003-01-02 Kurdziel Michael Thomas Method and apparatus for data encryption
CN101882993A (zh) * 2009-05-04 2010-11-10 联发科技(新加坡)私人有限公司 密码系统及密码方法
CN103268669A (zh) * 2013-05-20 2013-08-28 广州广电运通金融电子股份有限公司 自助金融设备密码输入系统及输入方法
CN104462147A (zh) * 2013-09-25 2015-03-25 天津书生投资有限公司 一种文档的存储方法
CN104660583A (zh) * 2014-12-29 2015-05-27 国家电网公司 一种基于Web加密服务的加密服务方法
CN106972927A (zh) * 2017-03-31 2017-07-21 杭州翼兔网络科技有限公司 一种针对不同安全等级的加密方法及系统
CN109067700A (zh) * 2018-06-22 2018-12-21 江苏科技大学 一种跨平台信息输入输出保护系统
CN109376543A (zh) * 2018-08-28 2019-02-22 浙江工业大学 一种基于aes算法的数据库加密方法
CN109361507A (zh) * 2018-10-11 2019-02-19 杭州华澜微电子股份有限公司 一种数据加密方法及加密设备
CN109787768A (zh) * 2018-12-12 2019-05-21 平安科技(深圳)有限公司 一种身份验证配置方法、装置及计算机可读存储介质

Similar Documents

Publication Publication Date Title
CN111191286B (zh) Hyperledger Fabric区块链隐私数据存储与访问系统及其方法
US11171789B2 (en) System and method for implementing a resolver service for decentralized identifiers
CN109067528B (zh) 密码运算、创建工作密钥的方法、密码服务平台及设备
US11025415B2 (en) Cryptographic operation method, method for creating working key, cryptographic service platform, and cryptographic service device
CN102088349B (zh) 一种智能卡个人化的方法及系统
CN110322678B (zh) 一种基于区块链的四表集抄系统及方法
US20240169092A1 (en) Data sharing method and electronic device
CN110134930A (zh) 电子合同管理方法、装置、计算机设备和存储介质
CN103457932A (zh) 一种云计算环境数据安全存储方法和系统
CN109800588A (zh) 条码动态加密方法及装置、条码动态解密方法及装置
CN106330934A (zh) 一种分布式数据库系统权限管理方法及装置
CN116308776A (zh) 基于区块链的交易监管方法、装置、电子设备和存储介质
CN107294955A (zh) 电子文件加密中间件管控系统及方法
CN109120399A (zh) 一种基于非对称加密的数据加密方法、解密方法及系统
CN111339177A (zh) 一种基于sap平台的数据导出方法及系统
US20230327863A1 (en) Data management and encryption in a distributed computing system
CN116049851B (zh) 一种基于全同态加密的密文处理系统及方法
US11777745B2 (en) Cloud-side collaborative multi-mode private data circulation method based on smart contract
CN110336819A (zh) 基于机器学习的加解密自助组合方法
CN101431403A (zh) 一种提供接口数据的装置与方法以及一种可信计算系统
CN111125734B (zh) 一种数据处理方法及系统
CN114298694A (zh) 区块链服务平台管理方法、装置、计算机设备和存储介质
Gao et al. Trusted Cloud Service System Based on Block Chain Technology
Shi et al. AUDITEM: toward an automated and efficient data integrity verification model using blockchain
CN112990904B (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20191015