CN114692120B - 国密认证方法、虚拟机、终端设备、系统及存储介质 - Google Patents

国密认证方法、虚拟机、终端设备、系统及存储介质 Download PDF

Info

Publication number
CN114692120B
CN114692120B CN202011631414.6A CN202011631414A CN114692120B CN 114692120 B CN114692120 B CN 114692120B CN 202011631414 A CN202011631414 A CN 202011631414A CN 114692120 B CN114692120 B CN 114692120B
Authority
CN
China
Prior art keywords
national
authentication
virtual machine
encrypted
terminal equipment
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
CN202011631414.6A
Other languages
English (en)
Other versions
CN114692120A (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.)
Chengdu TD Tech Ltd
Original Assignee
Chengdu TD Tech 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 Chengdu TD Tech Ltd filed Critical Chengdu TD Tech Ltd
Priority to CN202011631414.6A priority Critical patent/CN114692120B/zh
Publication of CN114692120A publication Critical patent/CN114692120A/zh
Application granted granted Critical
Publication of CN114692120B publication Critical patent/CN114692120B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • 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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45587Isolation or security of virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Telephonic Communication Services (AREA)
  • Telephone Function (AREA)

Abstract

本申请提供一种国密认证方法、虚拟机、终端设备、系统及存储介质,在基于远程安卓系统进行国密认证的方法中,通过虚拟机获取调用指令,对调用指令进行加密。之后将加密后的调用指令,通过安全加密的虚拟通道发送至终端设备,最后接收终端设备通过虚拟通道返回的认证结果。本方法中,通过将加密后的调用指令发送给终端设备,从而获取终端设备返回的认证结果,相较于现有技术,使得虚拟机能够远程调用储存在终端设备中的国密证书进行认证、加密等操作,有效提高了认证的灵活性。

Description

国密认证方法、虚拟机、终端设备、系统及存储介质
技术领域
本申请涉及网络安全技术领域,尤其涉及一种国密认证方法、虚拟机、终端设备、系统及存储介质。
背景技术
随着算法不断的进步深入,在公安、金融等领域,使用国密算法完成身份认证和数据加解密等功能已非常成熟。国密算法是我国自主研发创新的由国家密码局认定的一套数据加密处理系列算法,包含商密1号(即SM1)算法、商密2号(即SM2)算法、商密3号(即SM3)算法以及商密4号(即SM4)算法,分别实现了对称、非对称、摘要等算法功能。目前基于国密证书的应用也越来越广,通常情况下国密证书存储在通用串行总线(Universal Serial Bus,USB)KEY、用户身份模块(Subscriber Identity Module,SIMKEY)、内部安全模块(innerSecure Element,inSE)芯片、微型安全数码(英文:microSD)加密卡、SIM贴芯卡中。
现有技术中,对用户进行身份认证主要通过获取待认证数据,使用国密证书对待认证数据进行认证。具体的,可以根据待认证数据的摘要值SM2算法计算验签函数的鉴定值,从而判断待认证数据是否通过认证,通过认证后对该数据进行加密或进一步操作。
然而,现有技术中除USB KEY以外的设备只能在本地设备上使用,无法完成远程认证,灵活性较差。
发明内容
本申请提供一种国密认证方法、虚拟机、终端设备、系统及存储介质,以解决现有技术中除USB KEY以外的设备只能在本地设备上使用,无法完成远程认证,灵活性较差的问题。
第一方面,本申请实施例提供一种基于远程安卓系统进行国密认证的方法,应用于虚拟机,所述方法包括:
获取调用指令,所述调用指令包括待认证数据和待调用国密应用接口标识;
对所述调用指令进行加密,得到加密后的调用指令;
将所述加密后的调用指令,通过安全加密的虚拟通道发送至终端设备,所述终端设备的系统为安卓系统;
接收所述终端设备通过所述虚拟通道返回的认证结果。
在第一方面的一种可能设计中,所述获取调用指令之前,所述方法还包括:
通过VDI服务与所述终端设备建立所述虚拟通道,所述虚拟通道用于数据的安全传输。
第二方面,本申请实施例提供一种基于远程安卓系统进行国密认证的方法,应用于终端设备,所述终端设备的系统为安卓系统,所述方法包括:
接收虚拟机安全加密的虚拟通道发送的加密后的调用指令,所述加密后的调用指令携带待认证数据和待调用国密应用接口标识;
对所述加密后的调用指令进行解析,得到所述待认证数据和待调用国密应用接口标识;
根据所述待调用国密应用接口标识获取对应的国密应用接口;
通过所述国密应用接口与国密驱动进行交互,对所述待认证数据进行认证和加密,得到认证结果;
将所述认证结果通过所述虚拟通道返回所述虚拟机。
在第二方面的一种可能设计中,所述接收虚拟机安全加密的虚拟通道发送的调用指令之前,所述方法还包括:
通过VDI客户端与所述虚拟机之间建立所述虚拟通道,所述虚拟通道用于数据的安全传输。
第三方面,本申请实施例提供一种虚拟机,包括:
国密应用模块,用于获取调用指令,所述调用指令包括待认证数据和待调用国密应用接口标识;
国密接口适配层,用于将所述调用指令进行加密,得到加密后的调用指令;
VDI服务模块,用于将所述加密后的调用指令,通过安全加密的虚拟通道发送至终端设备,所述终端设备的系统为安卓系统;
所述VDI服务模块还用于接收所述终端设备通过所述虚拟通道返回的认证结果。
在第三方面的一种可能设计中,所述虚拟机还包括:
建立模块,用于通过VDI服务与所述终端设备建立所述虚拟通道,所述虚拟通道用于数据的安全传输。
第四方面,本申请实施例提供一种终端设备,包括:
VDI客户端,用于接收虚拟机安全加密的虚拟通道发送的加密后的调用指令,所述加密后的调用指令携带待认证数据和待调用国密应用接口标识;
国密接口适配层,用于对所述加密后的调用指令进行解析,得到所述待认证数据和待调用国密应用接口标识;
国密应用接口,用于与国密驱动进行交互,根据国密证书对所述待认证数据进行认证和加密,得到认证结果;
所述国密接口适配层还用于将所述认证结果通过所述虚拟通道返回所述虚拟机。
在第四方面的一种可能设计中,所述虚拟机还包括:
建立模块,用于通过VDI客户端与所述虚拟机之间建立所述虚拟通道,所述虚拟通道用于数据的安全传输。
第五方面,本申请实施例提供一种电子设备,包括:处理器,存储器、通信接口及存储在所述存储器上并可在处理器上运行的计算机程序指令,所述处理器执行所述计算机程序指令时用于实现第一方面以及各可能设计提供的方法。
第六方面,本申请实施例提供一种终端设备,包括:处理器,存储器、通信接口及存储在所述存储器上并可在处理器上运行的计算机程序指令,所述处理器执行所述计算机程序指令时用于实现第二方面以及各可能设计提供的方法。
第七方面,本申请实施例提供一种基于远程安卓系统进行国密认证的系统,包括:第一方面的电子设备以及第二方面的终端设备。
第八方面,本申请实施例可提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现第一方面、第二方面以及各可能设计提供的方法。
第九方面,本申请实施例提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时用于实现第一方面、第二方面以及各可能设计提供的方法。
本申请实施例提供的国密认证方法、虚拟机、终端设备、系统及存储介质,在基于远程安卓系统进行国密认证的方法中,通过虚拟机获取调用指令,对调用指令进行加密。之后将加密后的调用指令,通过安全加密的虚拟通道发送至终端设备,最后接收终端设备通过所述虚拟通道返回的认证结果。本方法中,通过将加密后的调用指令发送给终端设备,从而获取终端设备返回的认证结果,相较于现有技术,虚拟机能够远程调用终端设备上的国密证书进行认证、加密等国密业务,不受国密证书所在的存储介质的限制,有效的提高了认证的灵活性。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1为本申请实施例提供的基于远程安卓系统进行国密认证的方法的一种应用场景示意图;
图2为本申请实施例提供的基于远程安卓系统进行国密认证的方法的流程示意图;
图3为本申请实施例提供的虚拟机实施例一的结构示意图;
图4为本申请实施例提供的虚拟机实施例二的结构示意图;
图5为本申请实施例提供的终端设备实施例一的结构示意图;
图6为本申请实施例提供的终端设备实施例二的结构示意图;
图7为本申请实施例提供的电子设备的结构示意图;
图8为本申请实施例提供的终端设备的结构示意图;
图9为本申请实施例提供的一种基于远程安卓系统进行国密认证的系统应用示意图;
图10为本申请实施例提供的一种基于远程安卓系统进行国密认证的系统架构示意图。
通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在介绍本申请的实施例之前,首先对本申请的背景技术进行解释说明。
21世纪以来,人们的生活与移动信息互联网变得息息相关,人们的交友活动、娱乐方式、网上购物等都留下了网络的烙印。尤其近几年来移动互联网以及云计算的飞速发展,越来越多的领域已经实现云上办公,大大提高了工作效率。
然而,由于网络的不可见性,使得信息安全隐患成为了人们之间信任的极大阻碍。网络发展的初期并没有诸多的安全问题,因此设计师们极少将安全因素考虑在范围之内。但随着网络交流的逐渐频繁,各种信息安全漏洞被不断发掘,信息安全也就成为人们日益关注的话题之一,因此,相关敏感信息在网络中传递和本地的存取过程中必须采取必要的保护措施。
数据加密技术的出现正是为了消除网络传输中的安全隐患,保证数据的安全性和可靠性。数据加密通过把网络传输过程中的数据流,使用某种特定的密钥、函数或算法,将原来的数据处理成一段不可读的代码(通常称之为"密文"),使数据免遭非法入侵,从而避免数据在传递的过程中被栏截和泄露,确保数据的安全性和私密性。数据解密即通过输入正确的密钥将接收到的密文还原,是加密的逆过程。
当前,我国正大力的推广由国家密码局认定的国产算法,即国密算法,包括商密1号(即SM1)算法、商密2号(即SM2)算法、商密3号(即SM3)算法以及商密4号(即SM4)算法等,此系列算法包含通用的对称加密技术,非对称加密技术和身份识别技术等,可应用于内容敏感的社交信息,行政事务信息和金融信息等领域。目前基于国密证书的应用也越来越广,通常情况下国密证书存储在通用串行总线(Universal Serial Bus,USB)KEY、用户身份模块(Subscriber Identity Module,SIM)KEY、内部安全模块(inner Secure Element,inSE)芯片、微型安全数码(英文:microSD)加密卡、SIM贴芯卡中。
在对数据加密首先需要进行用户验证,现有技术中,对用户进行身份认证主要通过获取待认证数据,使用国密证书对待认证数据进行认证。具体的,可以根据待认证数据的摘要值SM2算法计算验签函数的鉴定值,从而判断待认证数据是否通过认证,通过认证后对该数据进行进一步加密操作。然而,现有技术除USB KEY以外的设备只能在本地设备上使用,无法完成远程认证,灵活性较差。
针对上述问题,本申请的发明构思如下:在对用户进行身份认证时除USB KEY以外的设备只能在本地设备上使用,导致认证的灵活性较差。基于此,发明人发现,如果将国密算法接口调用映射至远程的国密接口适配层调用,进而完成国密业务,则可以解决现有技术中灵活性较差的问题。
示例性的,本申请实施例提供的基于远程安卓系统进行国密认证的方法可以应用于图1所示的一种应用场景示意图中。图1为本申请实施例提供的基于远程安卓系统进行国密认证的方法的一种应用场景示意图,用以解决上述技术问题。如图1所示,电子设备可以通过运行国密应用软件在屏幕上显示用户认证界面,便于用户通过操作用户认证界面与电子设备进行交互。具体的,电子设备通过响应用户对用户认证界面上的认证控件的操作,获取调用指令,并对该调用指令进行加密后发送给终端设备。终端设备接受到调用指令后根据该指令对待认证数据进行处理获得认证结果,并将该认证结果返回到电子设备。常规的处理方式,电子设备可以通过软件的方式提供虚拟机服务,可以通过的电子设备与终端设备直接建立的虚拟通道向终端设备发送加密后的调用指令以及接收终端设备返回的认证结果,也可以通过虚拟机部署的与终端设备连接的虚拟通道向终端设备发送加密后的调用指令以及接收终端设备返回的认证结果。
综上所述,电子设备可以是平板电脑、电脑,其他智能终端等等任一具备人机交互能力的移动设备,也可以是云端,或者服务器等具有处理功能实体,本申请对此不做过多限制;终端设备为系统为安卓系统的手机。
下面,通过具体实施例对本申请的技术方案进行详细说明。
需要说明的是,下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
图2为本申请实施例提供的基于远程安卓系统进行国密认证的方法的流程示意图。如图2所示,该基于远程安卓系统进行国密认证的方法可以包括如下步骤:
S101:虚拟机获取调用指令。
在本申请实施例中,电子设备需要通过运行软件的方式提供虚拟机服务,为用户提供用户认证界面,并且为了进行数据的存储和分析,还需要后台服务平台,以使用户能够通过安装在虚拟机上的应用程序对服务平台进行访问。
在本步骤中,当用户需要进行远程认证时,由于用于远程认证的国密证书储存在终端设备上,无法直接进行调用,因此需要向终端设备发送调用指令,方便终端设备根据该调用指令调用对应的国密应用接口,并根据国密证书完成用户认证以及加密。
具体的,当用户需要进行远程认证时,用户可以对虚拟机显示的用户认证界面上的认证控件进行选择操作。举例来说,用户点击认证界面上的认证控件,虚拟机在检测到认证控件被点击之后,根据用户的点击操作获取调用指令。
其中,调用指令包括待认证数据和待调用国密应用接口标识。
具体的,待认证数据储存在电子设备中,主要用于通过国密应用接口与国密驱动之间的交互进行认证和加密的数据。由于终端设备中存在多个国密应用接口,对不同的数据进行处理时需要调用不同的国密应用接口,因此需要确定处理待认证数据时所需要调用的国密应用接口。待调用国密应用接口标识主要用于根据该标识获取终端设备中需要调用的国密应用接口,需要调用的国密应用接口数量为至少一个。
可选的,调用指令中还可以包括签名信息,签名信息主要用来对用户进行认证。具体的,虚拟机可以对待认证数据进行散列函数(英文:hash)计算获取第一hash值,将该第一hash值作为签名信息。需要理解的是,对虚拟机可以对待认证数据进行hash计算的过程是不可逆的,也就是说无法通过第一hash值得出待认证数据。
S102:对调用指令进行加密,得到加密后的调用指令。
在本步骤中,为了保证数据的安全,避免调用指令被非法获取后带来的危害,需要对调用指令进行加密,从而提高调用指令传输过程的安全性。
示例性的,虚拟机可以通过加密算法或编码对调用指令进行加密。
在一种具体的实施方式中,虚拟机可以通过加密算法对调用指令进行加密,如对称加密算法以及非对称加密算法等。具体的,对称加密算法是加密和解密使用相同密钥的加密算法,加密解密的速度快,如数据加密标准(Data Encryption Standard,DES)以及高级加密标准(Advanced Encryption Standard,AES)等。
其中,非对称加密算法是加密和解密使用不同密钥的加密算法,也称为公私钥加密。在虚拟机向终端设备发送加密后的调用指令时,虚拟机需要用公钥加密,终端设备需要用私钥解密,其中公钥是可以公开的,终端设备只要保管好自己的私钥即可。非对称加密加解密速度要远远低于对称加密,但很难破解,一般用于对密钥的加密。
在另一种具体的实施方式中,虚拟机还可以通过编码对调用指令进行加密。举例来说,可以通过基于64个可打印字符来表示二进制数据(英文:Base64)编码对用指令进行加密
进一步的,虚拟机对调用指令加密后,获取加密后的调用指令,便于将该加密后的调用指令发送给终端设备。
S103:将加密后的调用指令,通过安全加密的虚拟通道发送至终端设备。
在本步骤中,为了使得终端设备能够对加密后的调用指令进行处理,虚拟机需要将加密后的调用指令发送给终端设备。
具体的,虚拟机可以通过虚拟桌面基础架构(Virtual Desktop Infrastructure,VDI)服务与终端设备建立虚拟通道。
其中,虚拟机可以通过VDI服务直接与终端设备建立虚拟通道,还可以是虚拟机所在的电子设备通过VDI服务与终端设备建立虚拟通道。
其中,虚拟通道用于数据的安全传输。示例性的,该虚拟通道可以为加密套接字协议层(Security Socket Layer,SSL)加密通道。虚拟机提交超文本传输安全协议(HyperText Transfer Protocol over SecureSocket Layer,HTTPS)请求,终端设备响应该HTTPS请求,并将证书公钥发给虚拟机。虚拟机接收并验证该证书公钥的有效性,如果验证有效会生成一个会话密钥,并证书公钥加密该会话密钥后,发送给终端设备。终端设备收到公钥加密的会话密钥后,用私钥解密,获取该会话密钥。之后终端设备使用虚拟机发送的证书公钥加密该会话密钥,并将加密后的会话密钥发送给虚拟机。虚拟机接收到该加密后的会话密钥后,用其专用的私钥进行解密,把得到的会话密钥和原来发出的会话密钥尽心对比。若两个会话密钥一致,则说明终端的身份已经通过,虚拟机和终端设备将使用这把会话密钥建立SSL加密通道。
进一步的,虚拟机与终端设备建立虚拟通道后,虚拟机将加密后的调用指令通过该虚拟通道传送至终端设备,方便终端设备对该加密后的调用指令进行处理。
S104:终端设备接收虚拟机安全加密的虚拟通道发送的加密后的调用指令。
在本步骤中,为了对加密后的调用指令进行处理,终端设备首先需要接收虚拟机通过安全加密的虚拟通道发送的加密后的调用指令。
具体的,终端设备可以通过VDI服务与虚拟机之间建立虚拟通道。其中,终端设备可以通过VDI服务与虚拟机建立虚拟通道,还可以通过VDI服务与虚拟机所在的电子设备建立虚拟通道。
其中,虚拟通道用于数据的安全传输,终端设备可以通过该虚拟通道接收加密后的调用指令。示例性的,虚拟通道可以为SSL加密通道。
进一步的,虚拟机将加密后的调用指令通过安全加密的虚拟通道发送给终端设备,终端设备接收虚拟机安全加密的虚拟通道发送的加密后的调用指令,便于后续对该加密后的调用指令进行处理。
S105:对加密后的调用指令进行解析,得到待认证数据和待调用国密应用接口标识。
在本步骤中,终端设备获取加密后的调用指令后,由于出于安全性的考虑,无法直接获取其中的调用指令,需要先对该加密后的调用指令进行解析。
具体的,终端设备获取加密后的调用指令后,根据对应的解析方式将该加密后的调用指令进行解析。
在一种具体的实施方式中,当虚拟机使用加密算法对调用指令进行加密时,需要使用对应的加密算法进行解密。示例性的,当虚拟机使用对称加密算法对调用指令进行加密时,则终端设备使用与加密相同密钥的加密算法进行解密。当虚拟机使用非对称加密算法对调用指令进行加密时,终端设备需要使用私钥对其解密。
在另一种具体的实施方式中,当虚拟机通过编码对调用指令进行加密时,终端设备需要对该加密后的调用指令进行解码处理。
进一步的,终端设备对加密后的调用指令进行解析后,获取调用指令。其中,调用指令包括待认证数据和待调用国密应用接口标识。也就是说,终端设备通过加密后的调用指令进行解析,从而获取待认证数据和待调用国密应用接口标识。
S106:根据待调用国密应用接口标识获取对应的国密应用接口。
在本步骤中,由于终端设备中存在多个国密应用接口,在对待认证数据进行认证和加密的操作之前,需要明确处理过程中需要调用的国密应用接口,以此保证操作的准确性,需要调用的国密应用接口数量为至少一个。
其中,待调用国密应用接口标志与国密应用接口之间存在映射关系。示例性的,终端设备获取待调用国密应用接口标识,根据该待调用国密应用接口标识获取其与国密应用接口之间的映射关系。终端设备通过待调用国密应用接口标识与国密应用接口之间的映射关系选取对应的国密应用接口,以便于终端设备通过国密应用接口与国密驱动进行交互,对待认证数据进行后续处理。
S107:通过国密应用接口与国密驱动进行交互,对待认证数据进行认证和加密,得到认证结果。
在本步骤中,终端设备根据待调用国密应用接口标识获取对应的国密应用接口后,可以通过国密应用接口与国密驱动进行交互,根据国密证书对待认证数据进行认证和加密,从而得到认证结果,便于后续将认证结果发送至虚拟机进行显示。
具体的,终端设备首先需要根据国密证书对待认证数据进行认证。示例性的,终端设备获取待认证数据,对该待认证数据进行hash计算获取第二hash值,并与第一hash值进行对比,获取对比结果作为认证信息。若第二hash值与第一hash值一致,则认为待认证数据通过认证,该认证信息即为认证通过;若第二hash值与第一hash值不一致,则认为待认证数据没通过认证,该认证信息即为认证不通过。
进一步的,当待认证数据通过认证后,可以根据国密证书对待认证数据加密,获取加密后数据。
示例性的,可以使用SM2,SM3,SM4对待认证数据进行认证以及加密。
具体的,SM2算法是我国自主设计的公钥密码算法,包括SM2-1椭圆曲线数字签名算法,SM2-2椭圆曲线密钥交换协议,SM2-3椭圆曲线公钥加密算法,分别用于实现数字签名密钥协商和数据加密等功能。
其中,SM3算法是我国自主设计的密码杂凑算法,适用于商用密码应用中的数字签名和验证消息认证码的生成与验证以及随机数的生成,可满足多种密码应用的安全需求。
其中,SM4算法是我国自主设计的分组对称密码算法,用于实现数据的加密/解密运算,以保证数据和信息的机密性。
进一步的,终端设备对待认证数据进行认证和加密后,获取认证结果。
其中认证结果包括认证信息以及加密后数据。
S108:将认证结果通过虚拟通道返回虚拟机。
在本步骤中,为了使得虚拟机能够获取认证结果,终端设备需要将认证结果返回虚拟机。
其中,为了保证安全信息传输的安全性,需要将认证结果通过虚拟通道返回虚拟机,方便虚拟机接收终端设备返回的认证结果。
具体的,虚拟通道用于数据的安全传输。示例性的,该虚拟通道可以为SSL加密通道,本方案对此不进行赘述。
S109:虚拟机接收终端设备通过虚拟通道返回的认证结果。
在本步骤中,为了使用户能够直观获取认证结果,虚拟机需要接受终端设备通过虚拟通道返回的认证结果,并将认证结果进行显示。
实例性的,虚拟机接受终端设备通过虚拟通道返回的认证结果,将该认证结果在用户认证界面上进行显示。如认证结果中的认证信息为认证通过时,则在用户认证界面上显示“认证通过”,并将加密后数据加载在用户认证界面上。如认证结果中的认证信息为认证不通过时,则在用户认证界面上显示“认证不通过”。
本申请实施例通过虚拟机获取调用指令,对调用指令进行加密。之后将加密后的调用指令,通过安全加密的虚拟通道发送至终端设备,最后接收终端设备通过虚拟通道返回的认证结果。本方法中,通过将加密后的调用指令发送给终端设备,从而获取终端设备返回的认证结果,相较于现有技术,使得用户能够完成远程认证,提高了认证的灵活性。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
图3为本申请实施例提供的虚拟机实施例一的结构示意图。如图3所示,该虚拟机包括:
国密应用模块31,用于获取调用指令,调用指令包括待认证数据和待调用国密应用接口标识;
国密接口适配层32,用于将调用指令进行加密,得到加密后的调用指令;
VDI服务模块33,用于将加密后的调用指令,通过安全加密的虚拟通道发送至终端设备,终端设备的系统为安卓系统;
VDI服务模块33还用于接收终端设备通过虚拟通道返回的认证结果。
在上述实施例的基础上,图4为本申请实施例提供的虚拟机实施例二的结构示意图。如图4所示,该虚拟机还包括:
建立模块34,用于通过VDI服务33与终端设备建立虚拟通道,虚拟通道用于数据的安全传输。
本申请实施例提供的虚拟机,可用于执行上述实施例中电子设备侧的基于远程安卓系统进行国密认证的方法,其实现原理和技术效果类似,在此不再赘述。
图5为本申请实施例提供的终端设备实施例一的结构示意图。如图5所示,该终端设备包括:
VDI客户端51,用于接收虚拟机安全加密的虚拟通道发送的加密后的调用指令,加密后的调用指令携带待认证数据和待调用国密应用接口标识;
国密接口适配层52,用于对加密后的调用指令进行解析,得到待认证数据和待调用国密应用接口标识;
国密应用接口53,用于与国密驱动进行交互,根据国密证书对所述待认证数据进行认证和加密,得到认证结果。
国密接口适配层52还用于将认证结果通过虚拟通道返回虚拟机。
在上述实施例的基础上,图6为本申请实施例提供的终端设备实施例二的结构示意图。如图6所示,该终端设备还包括:
建立模块54,用于通过VDI客户端31与虚拟机之间建立虚拟通道,虚拟通道用于数据的安全传输。
本申请实施例提供的装置,可用于执行上述实施例中的终端设备侧的基于远程安卓系统进行国密认证的方法,其实现原理和技术效果类似,在此不再赘述。
需要说明的是,应理解以上装置的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
图7为本申请实施例提供的电子设备的结构示意图。如图5所示,该电子设备可以包括:处理器71、存储器72、通信接口73及存储在所述存储器上并可在处理器上运行的计算机程序指令,所述处理器71执行所述计算机程序指令时实现上述所示实施例中的电子设备侧的基于远程安卓系统进行国密认证的方法。
本申请实施例提供的电子设备,可用于执行上述所示实施例中的电子设备侧的基于远程安卓系统进行国密认证的方法,其实现原理和技术效果类似,在此不再赘述。
图8为本申请实施例提供的终端设备的结构示意图。如图6所示,该终端设备可以包括:处理器81、存储器82、通信接口83及存储在所述存储器上并可在处理器上运行的计算机程序指令,所述处理器81执行所述计算机程序指令时实现上述实施例中的终端设备侧的基于远程安卓系统进行国密认证的方法。
本申请实施例提供的终端设备,可用于执行上述实施例中的终端设备侧的基于远程安卓系统进行国密认证的方法,其实现原理和技术效果类似,在此不再赘述。
可选的,上述电子设备以及终端设备的上述各个器件之间可以通过系统总线连接。
通信接口用于和其他设备进行通信。
存储器可以是单独的存储单元,也可以是集成在处理器中的存储单元。处理器的数量为一个或者多个。
应理解,处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:Application Specific Integrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
系统总线可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。系统总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。存储器可能包含随机存取存储器(randomaccess memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一可读取存储器中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储器(存储介质)包括:只读存储器(英文:read-only memory,简称:ROM)、RAM、快闪存储器、硬盘、固态硬盘、磁带(英文:magnetic tape)、软盘(英文:floppydisk)、光盘(英文:optical disc)及其任意组合。
图9为本申请实施例提供的一种基于远程安卓系统进行国密认证的系统应用示意图。如图9所示,一种基于远程安卓系统进行国密认证的系统包括电子设备以及终端设备。
其中,虚拟机部署在电子设备中。
具体的,国密应用模块31响应用户对用户认证界面的操作,获取调用指令,并将该调用指令发送给国密接口适配层32。国密接口适配层32接收该调用指令并对其进行加密,得到加密后的调用指令,并将其发送给VDI服务模块33。VDI服务模块33接收到加密后的调用指令后,将该指令通过安全加密的虚拟通道发送给VDI客户端51。VDI客户端51接收加密后的调用指令后,将该指令发送给国密接口适配层52,国密接口适配层52对该指令进行解析,得到待认证数据和待调用国密应用接口标识,根据待调用国密应用接口标识调用对应的国密应用接口53,并将待认证数据发送给该国密应用接口53。国密应用接口53与国密驱动进行交互,根据国密证书对待认证数据进行认证和加密,得到认证结果。最后国密接口适配层52获取认证结果并通过虚拟通道返回虚拟机。
本申请实施例提供的基于远程安卓系统进行国密认证的系统,可用于执行上述所示实施例中的基于远程安卓系统进行国密认证的方法,其实现原理和技术效果类似,在此不再赘述。
图10为本申请实施例提供的一种基于远程安卓系统进行国密认证的系统架构示意图。如图10所示,一种基于远程安卓系统进行国密认证的系统包括电子设备以及终端设备。
其中,虚拟机部署在电子设备中,国密接口适配层32包括代理模块321、执行模块322以及协议模块333,密接口适配层52包括处理模块521、协议模块522以及代理模块522。
具体的,国密应用模块31响应用户对用户认证界面的操作,获取调用指令,并将该调用指令发送给国密接口适配层32。国密接口适配层32接收该调用指令并对其进行加密,得到加密后的调用指令,并将其发送给VDI服务模块33。具体的,代理模块321获取调用指令并根据待调用国密应用接口标识对其创建与国密应用接口53的映射关系,之后执行模块322获取该调用指令并将该指令发送给协议模块333进行进一步的加密处理,协议模块333获取调用指令对其进行加密,生成加密后的调用指令,并将其发送给VDI服务模块33。
VDI服务模块33接收到加密后的调用指令后,将该指令通过安全加密的虚拟通道发送给VDI客户端51。VDI客户端51接收加密后的调用指令后,将该指令发送给国密接口适配层52,国密接口适配层52对该指令进行解析,得到待认证数据和待调用国密应用接口标识,根据待调用国密应用接口标识调用对应的国密应用接口53,并将待认证数据发送给该国密应用接口53。具体的,处理模块521获取该加密后的调用指令后将其发送给协议模块522进行解密处理。协议模块522获取加密后的调用指令对其进行解密获取待认证数据和待调用国密应用接口标识,代理模块523根据待调用国密应用接口标识获取其与国密应用接口53的映射关系,根据该映射关系调用对应的国密应用接口53,并将待认证数据发送给该国密应用接口53。国密应用接口53与国密驱动进行交互,根据国密证书对待认证数据进行认证和加密,得到认证结果。最后国密接口适配层52获取认证结果并通过虚拟通道返回虚拟机。
本申请实施例提供的基于远程安卓系统进行国密认证的系统,可用于执行上述所示实施例中的基于远程安卓系统进行国密认证的方法,其实现原理和技术效果类似,在此不再赘述。
本申请实施例提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机指令,当该计算机指令在计算机上运行时,使得计算机执行上述基于远程安卓系统进行国密认证的方法。
上述的计算机可读存储介质,上述可读存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。可读存储介质可以是通用或专用计算机能够存取的任何可用介质。
可选的,将可读存储介质耦合至处理器,从而使处理器能够从该可读存储介质读取信息,且可向该可读存储介质写入信息。当然,可读存储介质也可以是处理器的组成部分。处理器和可读存储介质可以位于专用集成电路(Application Specific IntegratedCircuits,ASIC)中。当然,处理器和可读存储介质也可以作为分立组件存在于设备中。
本申请实施例还提供一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在计算机可读存储介质中,至少一个处理器可以从该计算机可读存储介质中读取该计算机程序,所述至少一个处理器执行所述计算机程序时可实现上述基于远程安卓系统进行国密认证的方法。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求书来限制。

Claims (10)

1.一种基于远程安卓系统进行国密认证的方法,其特征在于,应用于虚拟机,所述方法包括:
获取调用指令,所述调用指令包括待认证数据、待调用国密应用接口标识和签名信息,所述签名信息用于对用户进行认证,所述待调用国密应用接口标识用于根据该标识获取终端设备中需要调用的国密应用接口;所述获取调用指令实现方式如下:电子设备通过软件的方式提供虚拟机服务,为用户提供运行国密应用软件在屏幕上显示的认证界面,电子设备通过响应用户对认证界面上的认证控件的操作,获取调用指令;
基于64个可打印字符所表示的二进制数据编码对所述调用指令进行加密,得到加密后的调用指令;
将所述加密后的调用指令,通过安全加密的虚拟通道发送至终端设备,所述终端设备的系统为安卓系统;
接收所述终端设备通过所述虚拟通道返回的认证结果。
2.根据权利要求1所述的方法,其特征在于,所述获取调用指令之前,所述方法还包括:
通过虚拟桌面基础架构VDI服务与所述终端设备建立所述虚拟通道,所述虚拟通道用于数据的安全传输。
3.一种基于远程安卓系统进行国密认证的方法,其特征在于,应用于终端设备,所述终端设备的系统为安卓系统,所述方法包括:
接收虚拟机安全加密的虚拟通道发送的加密后的调用指令,所述加密后的调用指令携带待认证数据、待调用国密应用接口标识和签名信息,所述签名信息用于对用户进行认证,所述待调用国密应用接口标识用于根据该标识获取终端设备中需要调用的国密应用接口;所述调用指令获取方式如下:电子设备通过软件的方式提供虚拟机服务,为用户提供运行国密应用软件在屏幕上显示的认证界面,电子设备通过响应用户对认证界面上的认证控件的操作,获取调用指令;
对所述加密后的调用指令进行解析,得到所述待认证数据和待调用国密应用接口标识;
根据所述待调用国密应用接口标识获取对应的国密应用接口;
通过所述国密应用接口与国密驱动进行交互,对所述待认证数据进行认证和加密,得到认证结果;
将所述认证结果通过所述虚拟通道返回所述虚拟机。
4.根据权利要求3所述的方法,其特征在于,所述接收虚拟机安全加密的虚拟通道发送的调用指令之前,所述方法还包括:
通过虚拟桌面基础架构VDI客户端与所述虚拟机之间建立所述虚拟通道,所述虚拟通道用于数据的安全传输。
5.一种虚拟机,其特征在于,包括:
国密应用模块,用于获取调用指令,所述调用指令包括待认证数据、待调用国密应用接口标识和签名信息,所述签名信息用于对用户进行认证,所述待调用国密应用接口标识用于根据该标识获取终端设备中需要调用的国密应用接口;所述获取调用指令实现方式如下:电子设备通过软件的方式提供虚拟机服务,为用户提供运行国密应用软件在屏幕上显示的认证界面,电子设备通过响应用户对认证界面上的认证控件的操作,获取调用指令;
国密接口适配层,用于基于64个可打印字符所表示的二进制数据编码将所述调用指令进行加密,得到加密后的调用指令;
虚拟桌面基础架构VDI服务模块,用于将所述加密后的调用指令,通过安全加密的虚拟通道发送至终端设备,所述终端设备的系统为安卓系统;
所述VDI服务模块还用于接收所述终端设备通过所述虚拟通道返回的认证结果。
6.一种终端设备,其特征在于,包括:
虚拟桌面基础架构VDI客户端,用于接收虚拟机安全加密的虚拟通道发送的加密后的调用指令,所述加密后的调用指令携带待认证数据、待调用国密应用接口标识和签名信息,所述签名信息用于对用户进行认证,所述待调用国密应用接口标识用于根据该标识获取终端设备中需要调用的国密应用接口;所述调用指令获取方式如下:电子设备通过软件的方式提供虚拟机服务,为用户提供运行国密应用软件在屏幕上显示的认证界面,电子设备通过响应用户对认证界面上的认证控件的操作,获取调用指令;
国密接口适配层,用于对所述加密后的调用指令进行解析,得到所述待认证数据和待调用国密应用接口标识;
国密应用接口,用于与国密驱动进行交互,根据国密证书对所述待认证数据进行认证和加密,得到认证结果;
所述国密接口适配层还用于将所述认证结果通过所述虚拟通道返回所述虚拟机。
7.一种电子设备,其特征在于,包括:处理器,存储器、通信接口及存储在所述存储器上并可在处理器上运行的计算机程序指令,所述处理器执行所述计算机程序指令时用于实现如权利要求1至2任一项所述的基于远程安卓系统进行国密认证的方法。
8.一种终端设备,其特征在于,包括:处理器,存储器、通信接口及存储在所述存储器上并可在处理器上运行的计算机程序指令,所述处理器执行所述计算机程序指令时用于实现如权利要求3至4任一项所述的基于远程安卓系统进行国密认证的方法。
9.一种基于远程安卓系统进行国密认证的系统,其特征在于,包括:权利要求7所述的电子设备以及权利要求8所述的终端设备。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1至4任一项所述的基于远程安卓系统进行国密认证的方法。
CN202011631414.6A 2020-12-30 2020-12-30 国密认证方法、虚拟机、终端设备、系统及存储介质 Active CN114692120B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011631414.6A CN114692120B (zh) 2020-12-30 2020-12-30 国密认证方法、虚拟机、终端设备、系统及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011631414.6A CN114692120B (zh) 2020-12-30 2020-12-30 国密认证方法、虚拟机、终端设备、系统及存储介质

Publications (2)

Publication Number Publication Date
CN114692120A CN114692120A (zh) 2022-07-01
CN114692120B true CN114692120B (zh) 2023-07-25

Family

ID=82133903

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011631414.6A Active CN114692120B (zh) 2020-12-30 2020-12-30 国密认证方法、虚拟机、终端设备、系统及存储介质

Country Status (1)

Country Link
CN (1) CN114692120B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117395084B (zh) * 2023-12-11 2024-04-09 中国联合网络通信集团有限公司 云存储资源访问方法、装置、设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8966581B1 (en) * 2011-04-07 2015-02-24 Vmware, Inc. Decrypting an encrypted virtual machine using asymmetric key encryption
CN107154848A (zh) * 2017-03-10 2017-09-12 深圳市盾盘科技有限公司 一种基于cpk认证的数据加密与存储方法及装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5640259B2 (ja) * 2010-06-09 2014-12-17 ルネサスエレクトロニクス株式会社 回路シミュレーション方法および回路シミュレーション装置
US8505083B2 (en) * 2010-09-30 2013-08-06 Microsoft Corporation Remote resources single sign on
CN102638475B (zh) * 2011-02-11 2014-12-10 运软网络科技(上海)有限公司 多维智能服务点虚拟桌面方法及基础架构
US8676937B2 (en) * 2011-05-12 2014-03-18 Jeffrey Alan Rapaport Social-topical adaptive networking (STAN) system allowing for group based contextual transaction offers and acceptances and hot topic watchdogging
US20130290234A1 (en) * 2012-02-02 2013-10-31 Visa International Service Association Intelligent Consumer Service Terminal Apparatuses, Methods and Systems
CN103701589A (zh) * 2013-12-19 2014-04-02 福建星网锐捷网络有限公司 基于虚拟桌面系统的信息传输方法、装置及相关设备
CN104348834A (zh) * 2014-10-27 2015-02-11 深圳市京华科讯科技有限公司 基于桌面虚拟化的图像传输加密的方法及系统
CN105337955A (zh) * 2015-09-22 2016-02-17 电子科技大学 一种虚拟桌面的管理控制系统和方法
US10083492B2 (en) * 2016-05-27 2018-09-25 Parish Episcopal School Method and system for collaborative learning
US10849172B2 (en) * 2017-02-02 2020-11-24 Intelligent Waves Llc System, method and computer program product for implementing Bluetooth in a virtual mobile device platform
CN111931158A (zh) * 2020-08-10 2020-11-13 深圳大趋智能科技有限公司 一种双向认证方法、终端以及服务器
CN111984352A (zh) * 2020-08-10 2020-11-24 南京江北新区生物医药公共服务平台有限公司 一种基于spice协议优化的桌面云服务平台系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8966581B1 (en) * 2011-04-07 2015-02-24 Vmware, Inc. Decrypting an encrypted virtual machine using asymmetric key encryption
CN107154848A (zh) * 2017-03-10 2017-09-12 深圳市盾盘科技有限公司 一种基于cpk认证的数据加密与存储方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
DEVELOPMENT OF A MATURITY ASSESSMENT TOOL TO IMPROVE SME HPC CAPABILITIES;Kerem Kayabay 等;UPSCALING SMEs for the EMERGING EUROPEAN SUPERCOMPUTER ECOSYSTEM;第1-34页 *
基于VMI技术的移动办公安全策略初探;徐鹤;阳亚平;;网络空间安全(第Z1期);第69-72、76页 *

Also Published As

Publication number Publication date
CN114692120A (zh) 2022-07-01

Similar Documents

Publication Publication Date Title
CN108092776B (zh) 一种基于身份认证服务器和身份认证令牌的系统
CN110995642B (zh) 使用预共享密钥提供安全连接
US9838205B2 (en) Network authentication method for secure electronic transactions
EP2999189B1 (en) Network authentication method for secure electronic transactions
US8689290B2 (en) System and method for securing a credential via user and server verification
CN106878245B (zh) 图形码信息提供、获取方法、装置及终端
US8495383B2 (en) Method for the secure storing of program state data in an electronic device
CN111431719A (zh) 一种移动终端密码保护模块、移动终端及密码保护方法
CN112823503B (zh) 一种数据访问方法、数据访问装置及移动终端
CN103546289A (zh) 一种基于USBKey的安全传输数据的方法及系统
CN111131416A (zh) 业务服务的提供方法和装置、存储介质、电子装置
WO2022048318A1 (zh) 一种建立通信信道的方法及用户终端
CN117081736A (zh) 密钥分发方法、密钥分发装置、通信方法及通信装置
CN111062059B (zh) 用于业务处理的方法和装置
CN115276978A (zh) 一种数据处理方法以及相关装置
CN113038463B (zh) 一种通讯加密认证实验装置
US20240106633A1 (en) Account opening methods, systems, and apparatuses
CN114692120B (zh) 国密认证方法、虚拟机、终端设备、系统及存储介质
CN112039857B (zh) 一种公用基础模块的调用方法和装置
CN2914498Y (zh) 基于通用串行总线人机交互类设备的信息安全设备
CN113722726B (zh) 基于软硬件协同的加解密方法及系统
CN110968878A (zh) 信息传输方法、系统、电子设备及可读介质
CN114697113A (zh) 一种基于硬件加速卡的多方隐私计算方法、装置及系统
WO2011060739A1 (zh) 一种安全系统及方法
CN113676468B (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