CN112199703B - 一种基于客户端的web数据动态加密传输方法及其系统 - Google Patents
一种基于客户端的web数据动态加密传输方法及其系统 Download PDFInfo
- Publication number
- CN112199703B CN112199703B CN202011136936.9A CN202011136936A CN112199703B CN 112199703 B CN112199703 B CN 112199703B CN 202011136936 A CN202011136936 A CN 202011136936A CN 112199703 B CN112199703 B CN 112199703B
- Authority
- CN
- China
- Prior art keywords
- encryption
- request
- data
- server
- encrypted
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/606—Protecting data by securing the transmission between two devices or processes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2107—File encryption
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Computer And Data Communications (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供了一种基于客户端的web数据动态加密传输方法,该方法为:步骤S1、客户端web页面进行初始化,即客户端加载服务端一加密协议文件,web页面初始化后加载加密协议文件并进行解析;步骤S2、web页面向服务端提交请求数据,则将请求数据与加密协议文件中的参数名称进行匹配,匹配到对应的参数名称后,使用参数对应的非对称加密算法和公钥对请求数据进行加密,将加密后的数据发送给服务端,在请求数据的列表中加入当前的加密版本号;步骤S3、服务端接收加密后的数据进行解密,解密失败时,返回解密失败信息与当前默认的加密版本配置,客户端使用返回的加密版本配置,对原始请求数据进行再次加密请求。本发明提高了数据传输的安全性。
Description
技术领域
本发明涉及计算机通讯技术领域,特别是一种基于客户端的web数据动态加密传输方法及其系统。
背景技术
从前端(客户端)页面到服务端的数据传输,分为大致两种:链表数据传输、单表数据传输;而在页面显示的数据为多表数据字段。国内关于web前后端数据传输的方案,大部分加密方案的协议比较固定,被抓包后容易被破解。即现有的数据传输方案多是对称加密,密钥存在客户端的话,容易被攻击者获取。或者固定一种非对称加密算法,私钥泄漏后,也容易被破解。
发明内容
为克服上述问题,本发明的目的是提供一种基于客户端的web数据动态加密传输方法,提高了数据传输的安全性。
本发明采用以下方案实现:一种基于客户端的web数据动态加密传输方法,所述方法包括如下步骤:
步骤S1、客户端web页面进行初始化,即客户端加载服务端一加密协议文件,所述加密协议文件包括需要加密的参数名称、参数对应的非对称加密算法和公钥、以及当前的加密版本号;web页面初始化后加载加密协议文件并进行解析;
步骤S2、web页面向服务端提交请求数据,则将请求数据与加密协议文件中的参数名称进行匹配,匹配到对应的参数名称后,使用参数对应的非对称加密算法和公钥对请求数据进行加密,将加密后的数据发送给服务端,同时在请求数据的列表中加入当前的加密版本号;
步骤S3、服务端接收加密后的数据进行解密,解密成功,返回当前业务请求的处理结果,其中,解密失败时,返回解密失败信息与当前默认的加密版本配置,客户端使用返回的加密版本配置,对原始请求数据进行再次加密请求,同时异步请求最新的加密协议文件,更新被客户端缓存的旧版本。
进一步的,所述步骤S3进一步具体为:步骤S31、接收服务端响应,如果服务端解密成功后,服务端会继续执行对应的业务逻辑;
步骤S32、步骤S32、如果服务端响应返回解密失败,客户端根据服务端返回信息中的加密版本配置,对原始数据进行再次加密请求,即重复执行一次步骤S2的请求,同时异步请求最新的加密协议文件,更新被客户端缓存的旧版本,客户端重新加载最新的加密协议文件,保证下一次的请求使用的是最新的加密协议;
步骤S33、如果重复执行一次步骤S2的请求还是失败,则本次请求失败。
进一步的,所述非对称加密算法为RSA加密算法、Elgamal加密算法、背包算法、Rabin加密算法、D-H加密算法、或者ECC加密算法。
进一步的,所述服务端接收加密后的数据进行解密,该解密为根据对应的非对称加密算法和私钥对加密数据进行解密。
本发明还提供了一种基于客户端的web数据动态加密传输系统,所述系统包括加密协议设置模块、加密数据传输模块、信息反馈模块;
所述加密协议设置模块,用于客户端web页面进行初始化,即客户端加载服务端一加密协议文件,所述加密协议文件包括需要加密的参数名称、参数对应的非对称加密算法和公钥、以及当前的加密版本号;web页面初始化后加载加密协议文件并进行解析;
所述加密数据传输模块,用于web页面向服务端提交请求数据,则将请求数据与加密协议文件中的参数名称进行匹配,匹配到对应的参数名称后,使用参数对应的非对称加密算法和公钥对请求数据进行加密,将加密后的数据发送给服务端,同时在请求数据的列表中加入当前的加密版本号;
所述信息反馈模块,用于服务端接收加密后的数据进行解密,解密成功,返回当前业务请求的处理结果,其中,解密失败时,返回解密失败信息与当前默认的加密版本配置,客户端使用返回的加密版本配置,对原始请求数据进行再次加密请求。
进一步的,所述信息反馈模块的实现方式进一步具体为:接收服务端响应,如果服务端响应返回成功,业务继续执行;
如果服务端响应返回解密失败,客户端根据服务端返回信息中的加密版本配置,对原始数据进行再次加密请求,即重复执行一次加密数据传输模块的请求,同时异步请求最新的加密协议文件,更新被客户端缓存的旧版本,客户端重新加载最新的加密协议文件,保证下一次的请求使用的是最新的加密协议;
如果重复执行一次加密数据传输模块的请求还是失败,则本次请求失败。
进一步的,所述非对称加密算法为RSA加密算法、Elgamal加密算法、背包算法、Rabin加密算法、D-H加密算法、或者ECC加密算法。
进一步的,所述服务端接收加密后的数据进行解密,该解密为根据对应的非对称加密算法和私钥对加密数据进行解密。
本发明的有益效果在于:1、根据服务端返回的信息,动态加密请求参数,提高数据传输过程的安全性。2、对缓存数据进行自更新,在加密文件过期后,依然可以从服务端的相应数据中,获取最新的版本信息,再次请求,用户无感知。3、在二次请求后,异步刷新加密协议文件,保证下次请求的数据为最新版本。
附图说明
图1是本发明的方法流程示意图。
图2是本发明的一实施例的方法流程示意图。
图3是本发明的系统原理框图。
具体实施方式
下面结合附图对本发明做进一步说明。
请参阅图1所示,本发明的一种基于客户端的web数据动态加密传输方法,所述方法包括如下步骤:
步骤S1、客户端web页面进行初始化,即客户端加载服务端一加密协议文件,所述加密协议文件包括需要加密的参数名称、参数对应的非对称加密算法和公钥、以及当前的加密版本号;web页面初始化后加载加密协议文件并进行解析;
步骤S2、web页面向服务端提交请求数据,则将请求数据与加密协议文件中的参数名称进行匹配,匹配到对应的参数名称后,使用参数对应的非对称加密算法和公钥对请求数据进行加密,将加密后的数据发送给服务端,同时在请求数据的列表中加入当前的加密版本号;
步骤S3、服务端接收加密后的数据进行解密,解密成功,返回当前业务请求的处理结果,其中,解密失败时,返回解密失败信息与当前默认的加密版本配置,客户端使用返回的加密版本配置,对原始请求数据进行再次加密请求,同时异步请求最新的加密协议文件,更新被客户端缓存的旧版本。
下面结合一具体实施例对本发明作进一步说明:
本发明的一种基于客户端的web数据动态加密传输方法,所述方法为:
A:web页面初始化阶段
1客户端设置一加密协议文件,加载参数加密协议文件;
2解析加密协议文件包含需要加密的参数名称,参数对应的非对称加密算法和公钥以及当前的加密版本号;所述非对称加密算法为包括但不限于RSA加密算法、Elgamal加密算法、背包算法、Rabin加密算法、D-H加密算法、或者ECC加密算法。本专利设置非对称加密算法、公钥和密钥,根据这个类型去匹配,这样不易被破解;客户端暴露公钥也不会使数据被解密。让被抓包的数据的破解难度加大,保证传输数据的安全。
B:web页面提交请求阶段
1web页面向服务端提交请求数据,遍历请求数据,则将请求数据与加密协议文件中的参数名称进行匹配,匹配到对应的参数名称后,对包含在加密协议文件内的参数,使用指定的非对称加密算法和公钥进行加密;
2用加密后的值,替代原值(即如原参数question的值是123,实际处理后,发送到服务端的值是123使用对应公钥RAS加密后的值),同时请求数据的列表中加入当前的加密版本号(比如原来请求到服务端的只有question一个参数,现在要变成question、version。请求数据里多出了一个参数Version来标记本次请求的版本号,这个版本号就是加密协议文件中的version。)
C:web页面获取服务端响应阶段
1请求服务端,如果服务端解密成功后,服务端会继续执行对应的业务逻辑;
2如果服务端响应返回解密失败,客户端根据服务端返回信息中的加密版本配置,对原始数据进行再次加密请求(即重复一次B阶段的请求),同时异步请求最新的加密协议文件(即加密的参数名称,参数对应的非对称加密算法和公钥、当前的加密版本号;),更新被客户端缓存的旧版本,客户端重新加载包含参数加密协议文件(带随机数请求,该文件可能被浏览器缓存了,使用了已下线的加密版本),保证下一次的请求使用的是最新的加密协议。其中,所述服务端接收加密后的数据进行解密,该解密为根据该加密版本配置中,该参数的非对称加密算法和私钥进行解密。
3如果还是失败,则弹窗提示本次请求失败。
请参阅图3所示,本发明还提供了一种基于客户端的web数据动态加密传输系统,所述系统包括加密协议设置模块、加密数据传输模块、信息反馈模块;
所述加密协议设置模块,用于客户端web页面进行初始化,即客户端加载服务端一加密协议文件,所述加密协议文件包括需要加密的参数名称、参数对应的非对称加密算法和公钥、以及当前的加密版本号;web页面初始化后加载加密协议文件并进行解析;
所述加密数据传输模块,用于web页面向服务端提交请求数据,则将请求数据与加密协议文件中的参数名称进行匹配,匹配到对应的参数名称后,使用参数对应的非对称加密算法和公钥对请求数据进行加密,将加密后的数据发送给服务端,同时在请求数据的列表中加入当前的加密版本号;
所述信息反馈模块,用于服务端接收加密后的数据进行解密,解密成功,返回当前业务请求的处理结果,所述服务端接收加密后的数据进行解密,该解密为根据对应的非对称加密算法和私钥对加密数据进行解密。其中,解密失败时,返回解密失败信息与当前默认的加密版本配置,客户端使用返回的加密版本配置,对原始请求数据进行再次加密请求。
其中,所述信息反馈模块的实现方式进一步具体为:接收服务端响应,如果服务端解密成功后,服务端会继续执行对应的业务逻辑;
如果服务端响应返回解密失败,客户端根据服务端返回信息中的加密版本配置,对原始数据进行再次加密请求,即重复执行一次加密数据传输模块的请求,同时异步请求最新的加密协议文件,更新被客户端缓存的旧版本,客户端重新加载最新的加密协议文件,保证下一次的请求使用的是最新的加密协议;
如果重复执行一次加密数据传输模块的请求还是失败,则本次请求失败。
所述非对称加密算法为包括但不限于RSA加密算法、Elgamal加密算法、背包算法、Rabin加密算法、D-H加密算法、或者ECC加密算法。
总之,本发明可以让每个传输参数都有自己的加密协议,也可以在同一时间段支持多种加密协议混合使用,采用非对称加密协议,这样即使客户端暴露公钥也不会使数据被解密;让被抓包的数据的破解难度加大,保证传输数据的安全。
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。
Claims (6)
1.一种基于客户端的web数据动态加密传输方法,其特征在于:所述方法包括如下步骤:
步骤S1、客户端web页面进行初始化,即客户端加载服务端一加密协议文件,所述加密协议文件包括需要加密的参数名称、参数对应的非对称加密算法和公钥、以及当前的加密版本号;web页面初始化后加载加密协议文件并进行解析;
步骤S2、web页面向服务端提交请求数据,则将请求数据与加密协议文件中的参数名称进行匹配,匹配到对应的参数名称后,使用参数对应的非对称加密算法和公钥对请求数据进行加密,将加密后的数据发送给服务端,同时在请求数据的列表中加入当前的加密版本号;
步骤S3、服务端接收加密后的数据进行解密,解密成功,返回当前业务请求的处理结果,其中,解密失败时,返回解密失败信息与当前默认的加密版本配置,客户端使用返回的加密版本配置,对原始请求数据进行再次加密请求,同时异步请求最新的加密协议文件,更新被客户端缓存的旧版本;
所述步骤S3进一步具体为:步骤S31、接收服务端响应,如果服务端解密成功后,服务端会继续执行对应的业务逻辑;
步骤S32、如果服务端响应返回解密失败,客户端根据服务端返回信息中的加密版本配置,对原始数据进行再次加密请求,即重复执行一次步骤S2的请求,同时异步请求最新的加密协议文件,更新被客户端缓存的旧版本,客户端重新加载最新的加密协议文件,保证下一次的请求使用的是最新的加密协议;
步骤S33、如果重复执行一次步骤S2的请求还是失败,则本次请求失败。
2.根据权利要求1所述的一种基于客户端的web数据动态加密传输方法,其特征在于:所述非对称加密算法为RSA加密算法、Elgamal加密算法、背包算法、Rabin加密算法、D-H加密算法、或者ECC加密算法。
3.根据权利要求1所述的一种基于客户端的web数据动态加密传输方法,其特征在于:所述服务端接收加密后的数据进行解密,该解密为根据加密版本配置中,该参数的非对称加密算法和私钥对加密数据进行解密。
4.一种基于客户端的web数据动态加密传输系统,其特征在于:所述系统包括加密协议设置模块、加密数据传输模块、信息反馈模块;
所述加密协议设置模块,用于客户端web页面进行初始化,即客户端加载服务端一加密协议文件,所述加密协议文件包括需要加密的参数名称、参数对应的非对称加密算法和公钥、以及当前的加密版本号;web页面初始化后加载加密协议文件并进行解析;
所述加密数据传输模块,用于web页面向服务端提交请求数据,则将请求数据与加密协议文件中的参数名称进行匹配,匹配到对应的参数名称后,使用参数对应的非对称加密算法和公钥对请求数据进行加密,将加密后的数据发送给服务端,同时在请求数据的列表中加入当前的加密版本号;
所述信息反馈模块,用于服务端接收加密后的数据进行解密,解密成功,返回当前业务请求的处理结果,其中,解密失败时,返回解密失败信息与当前默认的加密版本配置,客户端使用返回的加密版本配置,对原始请求数据进行再次加密请求;
所述信息反馈模块的实现方式进一步具体为:接收服务端响应,如果服务端解密成功后,服务端会继续执行对应的业务逻辑;
如果服务端响应返回解密失败,客户端根据服务端返回信息中的加密版本配置,对原始数据进行再次加密请求,即重复执行一次加密数据传输模块的请求,同时异步请求最新的加密协议文件,更新被客户端缓存的旧版本,客户端重新加载最新的加密协议文件,保证下一次的请求使用的是最新的加密协议;
如果重复执行一次加密数据传输模块的请求还是失败,则本次请求失败。
5.根据权利要求4所述的一种基于客户端的web数据动态加密传输系统,其特征在于:所述非对称加密算法为RSA加密算法、Elgamal加密算法、背包算法、Rabin加密算法、D-H加密算法、或者ECC加密算法。
6.根据权利要求4所述的一种基于客户端的web数据动态加密传输系统,其特征在于:所述服务端接收加密后的数据进行解密,该解密为根据加密版本配置中,该参数的非对称加密算法和私钥对加密数据进行解密。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011136936.9A CN112199703B (zh) | 2020-10-22 | 2020-10-22 | 一种基于客户端的web数据动态加密传输方法及其系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011136936.9A CN112199703B (zh) | 2020-10-22 | 2020-10-22 | 一种基于客户端的web数据动态加密传输方法及其系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112199703A CN112199703A (zh) | 2021-01-08 |
CN112199703B true CN112199703B (zh) | 2022-09-06 |
Family
ID=74010797
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011136936.9A Active CN112199703B (zh) | 2020-10-22 | 2020-10-22 | 一种基于客户端的web数据动态加密传输方法及其系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112199703B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114189573B (zh) * | 2022-02-15 | 2022-05-17 | 中国汽车技术研究中心有限公司 | 一种can信号解析方法和系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108156120A (zh) * | 2016-12-06 | 2018-06-12 | 阿里巴巴集团控股有限公司 | 加密传输数据、加密协议控制及被探测的方法、装置及系统 |
CN109587149A (zh) * | 2018-12-11 | 2019-04-05 | 许昌许继软件技术有限公司 | 一种数据的安全通信方法及装置 |
CN111324901A (zh) * | 2020-02-19 | 2020-06-23 | 陈灿阳 | 一种用于创建和解密企业安全加密文件的方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8812877B2 (en) * | 2011-11-11 | 2014-08-19 | Nec Corporation | Database encryption system, method, and program |
-
2020
- 2020-10-22 CN CN202011136936.9A patent/CN112199703B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108156120A (zh) * | 2016-12-06 | 2018-06-12 | 阿里巴巴集团控股有限公司 | 加密传输数据、加密协议控制及被探测的方法、装置及系统 |
CN109587149A (zh) * | 2018-12-11 | 2019-04-05 | 许昌许继软件技术有限公司 | 一种数据的安全通信方法及装置 |
CN111324901A (zh) * | 2020-02-19 | 2020-06-23 | 陈灿阳 | 一种用于创建和解密企业安全加密文件的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112199703A (zh) | 2021-01-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1522167B1 (en) | A method and an apparatus for retrieving a value secured in a key management system | |
US8484480B2 (en) | Transmitting information using virtual input layout | |
US8302169B1 (en) | Privacy enhancements for server-side cookies | |
US7890643B2 (en) | System and method for providing program credentials | |
CN112929172A (zh) | 基于密钥库动态加密数据的系统、方法及装置 | |
US8271788B2 (en) | Software registration system | |
US20210306150A1 (en) | Computer implemented methods and systems for managing a cryptographic service | |
CN112511295B (zh) | 接口调用的认证方法、装置、微服务应用和密钥管理中心 | |
CN114338239B (zh) | 一种数据加密传输的方法及其系统 | |
US11321471B2 (en) | Encrypted storage of data | |
CN115422570B (zh) | 一种分布式存储的数据处理方法及系统 | |
CN114443718A (zh) | 一种数据查询方法及系统 | |
CN113301036A (zh) | 通信加密方法和装置、设备及存储介质 | |
CN112199703B (zh) | 一种基于客户端的web数据动态加密传输方法及其系统 | |
US20060031680A1 (en) | System and method for controlling access to a computerized entity | |
CN112199704B (zh) | 一种基于服务端对web数据进行动态加解密处理的方法 | |
WO2001047176A1 (en) | Method and apparatus for a revolving encrypting and decrypting process | |
CN113783867A (zh) | 一种请求认证方法及终端 | |
CN111010408B (zh) | 一种分布式加密和解密方法及系统 | |
CN113922973B (zh) | 基于密文的登录方法和设备 | |
CN112202810B (zh) | 一种web数据动态加密传输方法 | |
US20230299978A1 (en) | Digital certificate request system | |
EP4154149B1 (en) | Data storage server and client devices for securely storing data | |
US20240097899A1 (en) | Rotation key mechanism for security enhancement | |
CN116436647A (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 |