CN116506188B - 一种基于b/s架构的非对称加密算法的操作方法和系统 - Google Patents

一种基于b/s架构的非对称加密算法的操作方法和系统 Download PDF

Info

Publication number
CN116506188B
CN116506188B CN202310490052.0A CN202310490052A CN116506188B CN 116506188 B CN116506188 B CN 116506188B CN 202310490052 A CN202310490052 A CN 202310490052A CN 116506188 B CN116506188 B CN 116506188B
Authority
CN
China
Prior art keywords
asymmetric encryption
public key
class
server
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.)
Active
Application number
CN202310490052.0A
Other languages
English (en)
Other versions
CN116506188A (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.)
Beijing Joinnet Technology Co ltd
Original Assignee
Beijing Joinnet 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 Beijing Joinnet Technology Co ltd filed Critical Beijing Joinnet Technology Co ltd
Priority to CN202310490052.0A priority Critical patent/CN116506188B/zh
Publication of CN116506188A publication Critical patent/CN116506188A/zh
Application granted granted Critical
Publication of CN116506188B publication Critical patent/CN116506188B/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
    • 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
    • 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/40Network security protocols
    • 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)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种基于B/S架构的非对称加密算法的操作方法和系统,通过浏览器向服务器请求公钥;服务器创建一个非对称加密类,并使用静态内部类的方式实现单例模式,服务器通过所述非对称加密类调用公钥获取方法获取公钥并响应给浏览器端;浏览器端获取到公钥后,使用公钥将所述明文加密生成密文,服务器端获取到所述密文后,调用所述非对称加密类封装后的解密方法解密所述密文,生成明文。与现有方式相比,使用这种方式加密,无需过多开销,无需额外代码编写。解决了高频次请求公钥时的处理器资源过多占用或资源耗尽的情况。且内存中的私钥不允许拷贝,无需落地,降低了信息泄露的安全风险。

Description

一种基于B/S架构的非对称加密算法的操作方法和系统
技术领域
本申请涉及基于B/S架构的非对称加密算法的操作技术领域,特别是涉及一种基于B/S架构的非对称加密算法的操作方法和系统。
背景技术
B/S架构系统,对于敏感数据(如:手机号,密码,身份证号等)从浏览器到服务端的传输,为了保障数据安全,通常采用非对称加密的方式。即一串字符的加密和解密使用一对不同的密钥,公钥加密,私钥解密。
现有B/S架构平台浏览器端对于非对称加密算法的操作方式,大多分为为以下三步:
在字符串需要加密前,从服务器端请求用来加密的公钥。
服务器端接收到请求后,立即使用对应加密算法,生成一对用来加密和解密的密钥对,将公钥和私钥以字典的形式存储在内存或磁盘里。并将公钥发送给客户端浏览器。
浏览器端接收到公钥后,用公钥加密完成后。将密文和公钥一同回传给服务器端。服务器端接收到密文和公钥后。通过公钥,在步骤2创建的字典中找到对应私钥并解密,获得数据明文,并删除当前使用过的公私钥。
这种解决方案存在以下几个问题:每次请求公钥时,都会立即生成一对公私钥,生成算法复杂,耗时稍长,且会额外占用处理器资源。每次生成的公私钥,都会以键值对的形式存储在内存或磁盘中以便随时获取私钥用来解密。这个步骤有两个隐患,首先私钥可以在系统中随意获取,甚至在磁盘上能找到对应的键值,对于信息安全是极为不利的;第二但如果客户端只是请求了公钥,并没有将加密结果回传就停止了操作关闭浏览器,则服务器的内存或磁盘中将会永久存储密钥对,造成存储空间浪费,甚至会导致OOM问题。若服务器端为了解决脏数据占用,还必须给每对密钥一个生命周期,即定时擦除。对于系统来讲,擦除密钥对的定时器也是额外的处理器和内存开销。且擦除的密钥对有可能客户端还在使用,只是提交的慢了。那此次提交会失败。
为了保障服务器端精准找到对应的私钥,客户端提交密文的同时,还要将公钥一起回传给服务器端,一定程度上加大了本次请求的网络IO。
现有的B/S架构系统对于各种加密算法实现的调用都存在一定的安全漏洞、计算资源和内存脏数据过多占用的问题。
发明内容
基于此,针对上述技术问题,提供一种基于B/S架构的非对称加密算法的操作方法和系统以解决现有的B/S架构系统对于各种加密算法实现的调用都存在一定的安全漏洞、计算资源和内存脏数据过多占用的问题。
第一方面,一种基于B/S架构的非对称加密算法的操作方法,所述方法包括:
在本地明文需要加密前,浏览器向服务器请求公钥;服务器创建一个非对称加密类,并使用静态内部类的方式实现单例模式;其中,所述非对称加密类可以实现对多种非对称加密算法二次封装;
服务器通过所述非对称加密类调用公钥获取方法获取公钥并响应给浏览器端;
浏览器端获取到公钥后,使用公钥将所述明文加密生成密文,并将所述密文提交给服务器;
服务器端获取到所述密文后,调用所述非对称加密类封装后的解密方法解密所述密文,生成明文。
上述方案中,可选地,所述服务器创建一个非对称加密类,并使用静态内部类的方式实现单例模式,具体为:使用静态内部类的方式将非对称加密类封装为单例模式,实现对现有非对称加密的二次封装。
上述方案中,进一步可选地,所述使用静态内部类的方式将非对称加密类封装为单例模式,实现对现有非对称加密的二次封装,包括:
所述服务器每次启动或重启时,通过静态块实例化单例,生成一对公私钥,密钥存储在内存中,其中,仅公钥可以被请求获取,私钥放在私有变量中且不提供获取方法;服务器端每次启动或重启时,密钥对随之更新。
上述方案中,进一步可选地,所述非对称加密算法包括:RSA、Elgamal、背包算法、Rabin和D-H、ECC。
上述方案中,进一步可选地,所述服务器通过所述非对称加密类调用公钥获取方法获取公钥并响应给浏览器端包括:
根据所述非对称加密类的构造调用密钥对获取方法,并将公钥和私钥以私有变量的形式保存在内存中;
在实例化非对称加密类对象时,同时得到密钥对,所述密钥对包括所述公钥。
上述方案中,进一步可选地,所述浏览器端获取到公钥后,使用公钥将所述明文加密生成密文,包括:
屏蔽所述公钥参数,输入参数只对外提供所述明文,并从所述非对称加密类封装后的加密方法内部调用原生加密方法时传入公钥和明文,通过封装后的加密方法返回加密后的密文。
上述方案中,进一步可选地,所述服务器端获取到所述密文后,调用所述非对称加密类封装后的解密方法解密所述密文,生成明文,包括:
屏蔽私钥参数,输入参数只传入密文,并从所述非对称加密类封装后的解密方法内部调用原生解密方法,传入私钥和密文,通过封装后的解密方法返回解密后的明文。
第二方面,一种基于B/S架构的非对称加密算法的操作系统,所述系统包括:
创建模块:用于在本地明文需要加密前,浏览器向服务器请求公钥;服务器创建一个非对称加密类,并使用静态内部类的方式实现单例模式;其中,所述非对称加密类可以实现对多种非对称加密算法二次封装;
公钥获取模块:用于服务器通过所述非对称加密类调用公钥获取方法获取公钥并响应给浏览器端;
加密模块:用于浏览器端获取到公钥后,使用公钥将所述明文加密生成密文,并将所述密文提交给服务器;
解密模块:用于服务器端获取到所述密文后,调用所述非对称加密类封装后的解密方法解密所述密文,生成明文。
第三方面,一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
在本地明文需要加密前,浏览器向服务器请求公钥;服务器创建一个非对称加密类,并使用静态内部类的方式实现单例模式;其中,所述非对称加密类可以实现对多种非对称加密算法二次封装;
服务器通过所述非对称加密类调用公钥获取方法获取公钥并响应给浏览器端;
浏览器端获取到公钥后,使用公钥将所述明文加密生成密文,并将所述密文提交给服务器;
服务器端获取到所述密文后,调用所述非对称加密类封装后的解密方法解密所述密文,生成明文。
第四方面,一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
在本地明文需要加密前,浏览器向服务器请求公钥;服务器创建一个非对称加密类,并使用静态内部类的方式实现单例模式;其中,所述非对称加密类可以实现对多种非对称加密算法二次封装;
服务器通过所述非对称加密类调用公钥获取方法获取公钥并响应给浏览器端;
浏览器端获取到公钥后,使用公钥将所述明文加密生成密文,并将所述密文提交给服务器;
服务器端获取到所述密文后,调用所述非对称加密类封装后的解密方法解密所述密文,生成明文。
本发明至少具有以下有益效果:
本发明基于对现有技术问题的进一步分析和研究,认识到现有的B/S架构系统对于各种加密算法实现的调用都存在一定的安全漏洞、计算资源和内存脏数据过多占用的问题。
本发明通过在本地明文需要加密前,浏览器向服务器请求公钥;服务器创建一个非对称加密类,并使用静态内部类的方式实现单例模式;其中,所述非对称加密类可以实现对多种非对称加密算法二次封装;服务器通过所述非对称加密类调用公钥获取方法获取公钥并响应给浏览器端;浏览器端获取到公钥后,使用公钥将所述明文加密生成密文,并将所述密文提交给服务器;服务器端获取到所述密文后,调用所述非对称加密类封装后的解密方法解密所述密文,生成明文。
与现有方式相比,系统使用这种方式加密,无需过多开销,无需额外代码编写(如字典维护、数据过期擦除等代码编写)。解决了高频次请求公钥时的处理器资源过多占用或资源耗尽的情况。且内存中的私钥不允许拷贝,无需落地,降低了信息泄露的安全风险。
附图说明
图1为本发明一个实施例提供的基于B/S架构的非对称加密算法的操作方法的流程示意图;
图2为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的基于B/S架构的非对称加密算法的操作方法,如图1所示,包括以下步骤:
在本地明文需要加密前,浏览器向服务器请求公钥;服务器创建一个非对称加密类,并使用静态内部类的方式实现单例模式;其中,所述非对称加密类可以实现对多种非对称加密算法二次封装;
服务器通过所述非对称加密类调用公钥获取方法获取公钥并响应给浏览器端;
浏览器端获取到公钥后,使用公钥将所述明文加密生成密文,并将所述密文提交给服务器;
服务器端获取到所述密文后,调用所述非对称加密类封装后的解密方法解密所述密文,生成明文。
在一个实施例中,所述服务器创建一个非对称加密类,并使用静态内部类的方式实现单例模式,具体为:使用静态内部类的方式将非对称加密类封装为单例模式,实现对现有非对称加密的二次封装。
在一个实施例中,所述使用静态内部类的方式将非对称加密类封装为单例模式,实现对现有非对称加密的二次封装,包括:
所述服务器每次启动或重启时,通过静态块实例化单例,生成一对公私钥,密钥存储在内存中,其中,仅公钥可以被请求获取,私钥放在私有变量中且不提供获取方法;服务器端每次启动或重启时,密钥对随之更新。
在一个实施例中,所述非对称加密算法包括:RSA、Elgamal、背包算法、Rabin和D-H、ECC。
在一个实施例中,所述服务器通过所述非对称加密类调用公钥获取方法获取公钥并响应给浏览器端包括:
根据所述非对称加密类的构造调用密钥对获取方法,并将公钥和私钥以私有变量的形式保存在内存中;
在实例化非对称加密类对象时,同时得到密钥对,所述密钥对包括所述公钥。
在一个实施例中,所述浏览器端获取到公钥后,使用公钥将所述明文加密生成密文,包括:
屏蔽所述公钥参数,输入参数只对外提供所述明文,并从所述非对称加密类封装后的加密方法内部调用原生加密方法时传入公钥和明文,通过封装后的加密方法返回加密后的密文。
在一个实施例中,所述服务器端获取到所述密文后,调用所述非对称加密类封装后的解密方法解密所述密文,生成明文,包括:
屏蔽私钥参数,输入参数只传入密文,并从所述非对称加密类封装后的解密方法内部调用原生解密方法,传入私钥和密文,通过封装后的解密方法返回解密后的明文。
本实施例中,通过在本地明文需要加密前,浏览器向服务器请求公钥;服务器创建一个非对称加密类,并使用静态内部类的方式实现单例模式;其中,所述非对称加密类可以实现对多种非对称加密算法二次封装;服务器通过所述非对称加密类调用公钥获取方法获取公钥并响应给浏览器端;浏览器端获取到公钥后,使用公钥将所述明文加密生成密文,并将所述密文提交给服务器;服务器端获取到所述密文后,调用所述非对称加密类封装后的解密方法解密所述密文,生成明文。
与现有方式相比,系统使用这种方式加密,无需过多开销,无需额外代码编写(如字典维护、数据过期擦除等代码编写)。解决了高频次请求公钥时的处理器资源过多占用或资源耗尽的情况。且内存中的私钥不允许拷贝,无需落地,降低了信息泄露的安全风险。
在一个实施例中,前提本着不去重复造轮子的理念,对于市面上各种非对称加密算法任何高级语言的算法实现部分,无需重复实现。本发明重点是对非对称加密的二次封装和调用,因此本思路适合任何非对称加密。
在一个实施例中,对于任何一种编程语言实现的非对称加密算法,都必须包含密钥对获取、加密、解密的方法。其中密钥对包含一个用于加密的公钥和一个用于解密的私钥。加密方法输入参数为公钥和待加密的明文,输出数据为加密完成的密文。解密方法输入参数为密文以及与生成该密文的公钥成对的私钥,输出为解密后的明文。
在一个实施例中,本实施例的处理思路和方法如下:主线思路:创建非对称加密类型,并将该类型封装为单例模式。封装加密方法隐藏公钥参数、封装解密方法隐藏私钥参数、提供公钥获取方法。下面拆解主线思路。创建非对称加密类型:服务器端创建一个“非对称加密类”,用来调用任何非对称加密的算法实现部分(前提中已经提到)。该类型需要私有化构造方法,并使用静态内部类的方式实现单例模式。(将加密算法封装为单例模式,方法提供公钥获取方法和解密方法。系统每次启动或重启时,通过静态块实例化单例,并生成一对公私钥,密钥存储在内存中,其中仅公钥可以被请求获取,私钥放在私有变量中且不提供获取方法。服务器端每次启动或重启时,密钥对随之更新。)
在一个实施例中,封装密钥获取方法:在“非对称加密类”的构造方法中调用上述“前提”中提到的密钥对获取方法,并将公钥和私钥以私有变量的形式保存在内存中。由于“非对称加密类”是单例模式,只有一个实例化对象。因此在获取封装后的非对称加密类对象时,我们同步拥有了密钥对。
在一个实施例中,封装加密方法:“前提”中提到:原生加密方法需要提供两个参数:用来加密的公钥以及需要被加密的明文。由于公钥已经在创建本“非对称加密类”对象时已经获取到,因此封装后的加密方法我们屏蔽公钥参数,输入参数只对外提供明文,并从封装后的加密方法内部调用原生加密方法时传入公钥和明文。封装后的加密方法返回加密后的密文即可。
在一个实施例中,封装解密方法:“前提”中提到:原生解密方法需要提供密文和用来解密的私钥。由于私钥在创建本“非对称加密类”对象时已经获取到,因此封装后的解密方法我们屏蔽私钥参数,输入参数只传入密文,并从封装后的解密方法内部调用原生解密方法,传入私钥和密文。封装后的解密方法返回解密后的明文即可。
在一个实施例中,提供公钥获取方法:上述四个步骤中我们隐藏了公钥和私钥。如果全系统的加密和解密都在同一台服务器完成,则该方案已经完成。但如果解密在本服务器完成,加密在客户端获取他服务器端完成,则需要对外提供一个公钥获取的方法,负责将本“非对称加密类”对象的公钥通过内存深拷贝(防止公钥被修改)的方式提供给加密方用来加密。本端充当解密方。
在一个实施例中,B/S架构的使用方法:
浏览器向服务器请求公钥;
服务器端调用公钥获取方法获取公钥并响应给浏览器端;
浏览器端获取到公钥后,使用公钥将本地明文加密成密文;
浏览器端将密文提交给服务器端;
服务器端获取到密文后,调用封装后的解密方法解密,并获取到明文,全过程完毕。
本实施例方案,减少了密钥对的创建次数,极大降低了由于创建密钥对导致的处理器资源占用。公钥直接从内存被拷贝请求走,无需实时创建,请求效率高。不允许私钥在内存中拷贝,降低了私钥暴露的安全风险。密钥对不存储在磁盘中,减少了泄密的风险。系统每次启动或重启生成的密钥对不相同,也可以保障数据安全。系统只是用一套密钥对,无需考虑无效密钥对对内存或磁盘的空间占用。不用对密钥对设置有效期,不会出现由于密钥对被擦除掉而数据提交失败的情况。
浏览器端提交密钥对的同时,无需同步提交公钥以协助服务器端解密。应该理解的是,虽然图1的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,提供了一种基于B/S架构的非对称加密算法的操作系统,包括以下程序模块:创建模块:用于在本地明文需要加密前,浏览器向服务器请求公钥;服务器创建一个非对称加密类,并使用静态内部类的方式实现单例模式;其中,所述非对称加密类可以实现对多种非对称加密算法二次封装;
公钥获取模块:用于服务器通过所述非对称加密类调用公钥获取方法获取公钥并响应给浏览器端;
加密模块:用于浏览器端获取到公钥后,使用公钥将所述明文加密生成密文,并将所述密文提交给服务器;
解密模块:用于服务器端获取到所述密文后,调用所述非对称加密类封装后的解密方法解密所述密文,生成明文。
关于基于B/S架构的非对称加密算法的操作系统的具体限定可以参见上文中对于基于B/S架构的非对称加密算法的操作方法的限定,在此不再赘述。上述基于B/S架构的非对称加密算法的操作系统中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图2所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入系统。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种基于B/S架构的非对称加密算法的操作方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入系统可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图2中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,涉及上述实施例方法中的全部或部分流程。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,涉及上述实施例方法中的全部或部分流程。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random AccessMemory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(StaticRandomAccessMemory,SRAM)或动态随机存取存储器(DynamicRandomAccessMemory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (7)

1.一种基于B/S架构的非对称加密算法的操作方法,其特征在于,所述方法包括:
在本地明文需要加密前,浏览器向服务器请求公钥;服务器创建一个非对称加密类,并使用静态内部类的方式实现单例模式;其中,所述非对称加密类可以实现对多种非对称加密算法二次封装;
服务器通过所述非对称加密类调用公钥获取方法获取公钥并响应给浏览器端;
浏览器端获取到公钥后,使用公钥将所述明文加密生成密文,并将所述密文提交给服务器;
服务器端获取到所述密文后,调用所述非对称加密类封装后的解密方法解密所述密文,生成明文;
所述服务器创建一个非对称加密类,并使用静态内部类的方式实现单例模式,具体为:使用静态内部类的方式将非对称加密类封装为单例模式,实现对现有非对称加密的二次封装;
所述使用静态内部类的方式将非对称加密类封装为单例模式,实现对现有非对称加密的二次封装,包括:
使用静态内部类的方式将非对称加密类封装为单例模式,非对称加密类实现对非对称加密方法的二次封装,其中,封装后屏蔽了私钥获取方法、屏蔽了加密方法的公钥参数和解密方法的私钥参数;
对外只提供封装后的加密、解密方法和公钥获取方法,公钥获取方法通过内存深拷贝实现,防止内存中的公钥被篡改;
所述服务器每次启动或重启时,通过静态块实例化单例,生成一对公私钥,密钥存储在内存中,其中,仅公钥可以被请求获取,私钥放在私有变量中且不提供获取方法;服务器端每次启动或重启时,密钥对随之更新。
2.根据权利要求1所述的方法,其特征在于,所述多种非对称加密算法包括:RSA、Elgamal、背包算法、Rabin和D-H、ECC。
3.根据权利要求1所述的方法,其特征在于,所述服务器通过所述非对称加密类调用公钥获取方法获取公钥并响应给浏览器端包括:
根据所述非对称加密类的构造调用密钥对获取方法,并将公钥和私钥以私有变量的形式保存在内存中;
在实例化非对称加密类对象时,同时得到密钥对,所述密钥对包括所述公钥。
4.根据权利要求1至所述的方法,其特征在于,所述服务器端获取到所述密文后,调用所述非对称加密类封装后的解密方法解密所述密文,生成明文,包括:
屏蔽私钥参数,输入参数只传入密文,并从所述非对称加密类封装后的解密方法内部调用原生解密方法,传入私钥和密文,通过封装后的解密方法返回解密后的明文。
5.一种基于B/S架构的非对称加密算法的操作系统,其特征在于,所述系统包括:
创建模块:用于在本地明文需要加密前,浏览器向服务器请求公钥;服务器创建一个非对称加密类,并使用静态内部类的方式实现单例模式;其中,所述非对称加密类可以实现对多种非对称加密算法二次封装;
公钥获取模块:用于服务器通过所述非对称加密类调用公钥获取方法获取公钥并响应给浏览器端;
加密模块:用于浏览器端获取到公钥后,使用公钥将所述明文加密生成密文,并将所述密文提交给服务器;
解密模块:用于服务器端获取到所述密文后,调用所述非对称加密类封装后的解密方法解密所述密文,生成明文;
所述服务器创建一个非对称加密类,并使用静态内部类的方式实现单例模式,具体为:使用静态内部类的方式将非对称加密类封装为单例模式,实现对现有非对称加密的二次封装;
所述使用静态内部类的方式将非对称加密类封装为单例模式,实现对现有非对称加密的二次封装,包括:
使用静态内部类的方式将非对称加密类封装为单例模式,非对称加密类实现对非对称加密方法的二次封装,其中,封装后屏蔽了私钥获取方法、屏蔽了加密方法的公钥参数和解密方法的私钥参数;
对外只提供封装后的加密、解密方法和公钥获取方法,公钥获取方法通过内存深拷贝实现,防止内存中的公钥被篡改;
所述服务器每次启动或重启时,通过静态块实例化单例,生成一对公私钥,密钥存储在内存中,其中,仅公钥可以被请求获取,私钥放在私有变量中且不提供获取方法;服务器端每次启动或重启时,密钥对随之更新。
6.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至4中任一项所述的方法的步骤。
7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至4中任一项所述的方法的步骤。
CN202310490052.0A 2023-05-04 2023-05-04 一种基于b/s架构的非对称加密算法的操作方法和系统 Active CN116506188B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310490052.0A CN116506188B (zh) 2023-05-04 2023-05-04 一种基于b/s架构的非对称加密算法的操作方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310490052.0A CN116506188B (zh) 2023-05-04 2023-05-04 一种基于b/s架构的非对称加密算法的操作方法和系统

Publications (2)

Publication Number Publication Date
CN116506188A CN116506188A (zh) 2023-07-28
CN116506188B true CN116506188B (zh) 2024-03-29

Family

ID=87317946

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310490052.0A Active CN116506188B (zh) 2023-05-04 2023-05-04 一种基于b/s架构的非对称加密算法的操作方法和系统

Country Status (1)

Country Link
CN (1) CN116506188B (zh)

Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002175205A (ja) * 2000-12-05 2002-06-21 Nippon Telegr & Teleph Corp <Ntt> 情報カプセルの構成方法及び情報カプセルを記録した記録媒体
WO2012024872A1 (zh) * 2010-08-27 2012-03-01 中兴通讯股份有限公司 移动互联网加密通讯的方法、系统及相关装置
CN106407793A (zh) * 2016-11-16 2017-02-15 北京众谊越泰科技有限公司 Usb设备安全接入监控方法
US10157290B1 (en) * 2017-10-11 2018-12-18 Symantec Corporation Systems and methods for encrypting files
CN109361704A (zh) * 2018-12-12 2019-02-19 深圳市网心科技有限公司 云存储数据加密传输方法、系统、设备及存储介质
CN110289960A (zh) * 2019-06-28 2019-09-27 兆讯恒达微电子技术(北京)有限公司 一种公开密钥密码算法协处理器防注入式攻击的方法
CN111901105A (zh) * 2020-07-20 2020-11-06 上海龙旗科技股份有限公司 一种基于UEFI架构EDK2支持Openssl算法的方法与设备
CN113779538A (zh) * 2021-09-24 2021-12-10 邓建洲 一种利用单例模式提升服务器性能的身份验证方法
CN114172719A (zh) * 2021-12-03 2022-03-11 杭州安恒信息技术股份有限公司 一种加解密方法、装置、设备及计算机可读存储介质
WO2022067132A1 (en) * 2020-09-25 2022-03-31 John A Nix System and methods for secure communication using post-quantum cryptography
CN114329522A (zh) * 2021-12-14 2022-04-12 海光信息技术股份有限公司 一种私钥保护方法、装置、系统及存储介质
CN114844640A (zh) * 2021-02-01 2022-08-02 山东华软金盾软件股份有限公司 一种基于rsa算法的加解密方法
CN115085903A (zh) * 2022-06-16 2022-09-20 平安普惠企业管理有限公司 基于加密算法的数据加密解密方法、装置、设备和介质
CN115941809A (zh) * 2022-11-25 2023-04-07 北京众谊越泰科技有限公司 一种用于dcim的多种物联网终端协议的聚合处理方法及系统
CN116527282A (zh) * 2023-05-30 2023-08-01 北京天威诚信电子商务服务有限公司 用于算法过渡的多公钥数字证书的密钥使用方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7703144B2 (en) * 2005-04-12 2010-04-20 International Business Machines Corporation Method, apparatus, and program to post process applications encrypting sensitive objects that are logged
US10805281B2 (en) * 2017-09-25 2020-10-13 Palo Alto Research Center Incorporated System and method for secure two-party evaluation of utility of sharing data

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002175205A (ja) * 2000-12-05 2002-06-21 Nippon Telegr & Teleph Corp <Ntt> 情報カプセルの構成方法及び情報カプセルを記録した記録媒体
WO2012024872A1 (zh) * 2010-08-27 2012-03-01 中兴通讯股份有限公司 移动互联网加密通讯的方法、系统及相关装置
CN106407793A (zh) * 2016-11-16 2017-02-15 北京众谊越泰科技有限公司 Usb设备安全接入监控方法
US10157290B1 (en) * 2017-10-11 2018-12-18 Symantec Corporation Systems and methods for encrypting files
CN109361704A (zh) * 2018-12-12 2019-02-19 深圳市网心科技有限公司 云存储数据加密传输方法、系统、设备及存储介质
CN110289960A (zh) * 2019-06-28 2019-09-27 兆讯恒达微电子技术(北京)有限公司 一种公开密钥密码算法协处理器防注入式攻击的方法
CN111901105A (zh) * 2020-07-20 2020-11-06 上海龙旗科技股份有限公司 一种基于UEFI架构EDK2支持Openssl算法的方法与设备
WO2022067132A1 (en) * 2020-09-25 2022-03-31 John A Nix System and methods for secure communication using post-quantum cryptography
CN114844640A (zh) * 2021-02-01 2022-08-02 山东华软金盾软件股份有限公司 一种基于rsa算法的加解密方法
CN113779538A (zh) * 2021-09-24 2021-12-10 邓建洲 一种利用单例模式提升服务器性能的身份验证方法
CN114172719A (zh) * 2021-12-03 2022-03-11 杭州安恒信息技术股份有限公司 一种加解密方法、装置、设备及计算机可读存储介质
CN114329522A (zh) * 2021-12-14 2022-04-12 海光信息技术股份有限公司 一种私钥保护方法、装置、系统及存储介质
CN115085903A (zh) * 2022-06-16 2022-09-20 平安普惠企业管理有限公司 基于加密算法的数据加密解密方法、装置、设备和介质
CN115941809A (zh) * 2022-11-25 2023-04-07 北京众谊越泰科技有限公司 一种用于dcim的多种物联网终端协议的聚合处理方法及系统
CN116527282A (zh) * 2023-05-30 2023-08-01 北京天威诚信电子商务服务有限公司 用于算法过渡的多公钥数字证书的密钥使用方法

Also Published As

Publication number Publication date
CN116506188A (zh) 2023-07-28

Similar Documents

Publication Publication Date Title
US10839107B2 (en) Managing a smart contract on a blockchain
US9590963B2 (en) System and method for key management for issuer security domain using global platform specifications
CN113240519A (zh) 基于区块链的智能合约管理方法及装置、电子设备
CN109067528B (zh) 密码运算、创建工作密钥的方法、密码服务平台及设备
CN109672519B (zh) 一种密码装置及其数据加解密方法
US20210067326A1 (en) Cryptographic operation method, method for creating working key, cryptographic service platform, and cryptographic service device
CN110022199A (zh) 用于计数器模式存储器保护的间接目录
CN108449187B (zh) 一种令牌刷新的方法及装置
WO2023029447A1 (zh) 模型保护方法、装置、设备、系统以及存储介质
CN116506188B (zh) 一种基于b/s架构的非对称加密算法的操作方法和系统
CN114124440B (zh) 安全传输方法、装置、计算机设备和存储介质
CN117492636A (zh) 数据存储方法和电子设备
CN113141329B (zh) 大数据挖掘方法、装置、设备和存储介质
CN116821936B (zh) 一种数据交集的确定方法及装置
CN116028958B (zh) 一种密钥加解密方法、装置、安全机以及介质
Severinsen Secure programming with intel sgx and novel applications
CN117375804B (zh) 一种密钥派生方法、相关设备及存储介质
CN117375803B (zh) 密钥派生接口注册方法、调用方法、相关设备及存储介质
US20240211609A1 (en) Method and system of protecting model, device, and storage medium
US20230403138A1 (en) Agentless single sign-on techniques
US10339295B2 (en) Tracking work between system entities
CN117633795A (zh) 基于可信执行环境的内部接口用无干扰性系统
CN116112268A (zh) 数据处理方法、装置、计算机设备和存储介质
Hardin Information Provenance for Mobile Health Data
CN117113296A (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