CN112199703B - 一种基于客户端的web数据动态加密传输方法及其*** - Google Patents

一种基于客户端的web数据动态加密传输方法及其*** Download PDF

Info

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
Application number
CN202011136936.9A
Other languages
English (en)
Other versions
CN112199703A (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.)
Fujian TQ Digital Co Ltd
Original Assignee
Fujian TQ Digital 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 Fujian TQ Digital Co Ltd filed Critical Fujian TQ Digital Co Ltd
Priority to CN202011136936.9A priority Critical patent/CN112199703B/zh
Publication of CN112199703A publication Critical patent/CN112199703A/zh
Application granted granted Critical
Publication of CN112199703B publication Critical patent/CN112199703B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing 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/2107File encryption
    • 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)
  • 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数据动态加密传输方法,提高了数据传输的安全性。
本发明采用以下方案实现:一种基于客户端的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数据动态加密传输***,其特征在于:所述服务端接收加密后的数据进行解密,该解密为根据加密版本配置中,该参数的非对称加密算法和私钥对加密数据进行解密。
CN202011136936.9A 2020-10-22 2020-10-22 一种基于客户端的web数据动态加密传输方法及其*** Active CN112199703B (zh)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114189573B (zh) * 2022-02-15 2022-05-17 中国汽车技术研究中心有限公司 一种can信号解析方法和***

Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013069776A1 (ja) * 2011-11-11 2013-05-16 日本電気株式会社 データベース暗号化システムと方法及びプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
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
CN108123800B (zh) 密钥管理方法、装置、计算机设备及存储介质
US8484480B2 (en) Transmitting information using virtual input layout
US8302169B1 (en) Privacy enhancements for server-side cookies
US10346627B2 (en) Privacy preserving data querying
US7890643B2 (en) System and method for providing program credentials
US6601170B1 (en) Secure internet user state creation method and system with user supplied key and seeding
CN112929172A (zh) 基于密钥库动态加密数据的***、方法及装置
US8271788B2 (en) Software registration system
US20210306150A1 (en) Computer implemented methods and systems for managing a cryptographic service
CN112511295B (zh) 接口调用的认证方法、装置、微服务应用和密钥管理中心
CN115422570B (zh) 一种分布式存储的数据处理方法及***
CN114443718A (zh) 一种数据查询方法及***
CN113301036A (zh) 通信加密方法和装置、设备及存储介质
CN114338239B (zh) 一种数据加密传输的方法及其***
CA3086236A1 (en) Encrypted storage of data
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
CN111010408B (zh) 一种分布式加密和解密方法及***
CN106972928B (zh) 一种堡垒机私钥管理方法、装置及***
CN113922973B (zh) 基于密文的登录方法和设备
CN112202810B (zh) 一种web数据动态加密传输方法
US20230299978A1 (en) Digital certificate request system

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