CN113225336A - 信息加密传输方法、加解密装置、可读介质以及电子设备 - Google Patents

信息加密传输方法、加解密装置、可读介质以及电子设备 Download PDF

Info

Publication number
CN113225336A
CN113225336A CN202110490221.1A CN202110490221A CN113225336A CN 113225336 A CN113225336 A CN 113225336A CN 202110490221 A CN202110490221 A CN 202110490221A CN 113225336 A CN113225336 A CN 113225336A
Authority
CN
China
Prior art keywords
key
encryption
execution
decryption
memory
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
CN202110490221.1A
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.)
ARM Technology China Co Ltd
Original Assignee
ARM Technology China 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 ARM Technology China Co Ltd filed Critical ARM Technology China Co Ltd
Priority to CN202110490221.1A priority Critical patent/CN113225336A/zh
Publication of CN113225336A publication Critical patent/CN113225336A/zh
Pending legal-status Critical Current

Links

Images

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

本申请涉及一种信息加密传输方法、加解密装置、可读介质以及电子设备。信息加密传输方法用于电子设备,其中,电子设备包括第一执行主体、第二执行主体和独立于第一和第二执行主体的加解密模块,并且信息加密传输包括:第一执行主体向第二执行主体发送加密数据和密钥存储标识;第二执行主体将接收到的加密数据和密钥存储标识发送给加解密模块;加解密模块根据密钥存储标识,从存储器中由密钥存储标识所标识的存储区域获取解密加密数据的密钥,并采用密钥对加密数据进行解密得到解密数据。通过本申请的信息加密传输方法可以实现执行主体之间不直接传输密钥,也可以共享密钥,进而使得在不增加系统复杂性的情况下,提高共享密钥的安全性。

Description

信息加密传输方法、加解密装置、可读介质以及电子设备
技术领域
本申请涉及计算机安全技术领域,特别涉及一种信息传输方法、加解密装置、可读介质以及电子设备。
背景技术
在多虚拟设备的加解密引擎中,根据上下文信息,每个虚拟设备相对于其他虚拟设备是独立的。相反,在某些情况下,虚拟设备之间共享密钥的方法期望简化整体系统架构。但是,由于每个虚拟设备的上下文信息是独立的,很难在不同虚拟设备之间共享密钥。在某些情况下,跨虚拟设备边界传递密钥时,密钥很容易被其他设备截获,最终导致密文被泄露的情形。现有的信息加密传输方法通常以增加系统复杂性,降低效率或降低安全性等为代价共享密钥。
例如,如图1所示,虚拟设备200-1与虚拟设备200-2、虚拟设备200-n共享密文和密钥,该密钥用于解密密文;虚拟设备200-1向虚拟设备200-2、虚拟设备200-n发送密文和密钥,虚拟设备200-2、虚拟设备200-n将接收的密钥和密文分别发送给加解密引擎100,密钥和密文输入到加解密单元1002,输出解密的密文(即明文)。加解密引擎100将明文分别发送给虚拟设备200-2、虚拟设备200-n。
由图1可知,在虚拟设备200-1与虚拟设备200-2、虚拟设备200-n共享密钥时,虚拟设备200-1直接将密钥分别发送给虚拟设备200-2、虚拟设备200-n,导致密钥传输的过程中,密钥的安全性过低,密钥本身处于危险状态,进而可能会出现密钥被其他设备截获,密文被泄露的情形。
发明内容
本申请的目的在于提供一种信息加密传输方法、加解密装置、可读介质以及电子设备,通过本申请的信息加密传输方法可以实现虚拟设备之间不直接传输密钥,也可以共享密钥,进而使得在不增加系统复杂性的情况下,提高共享密钥的安全性。
本申请的第一方面提供了一种信息加密传输方法,用于电子设备,电子设备包括第一执行主体、第二执行主体和独立于第一和第二执行主体的加解密模块,并且
该方法包括:第一执行主体向第二执行主体发送加密数据和密钥存储标识;第二执行主体将接收到的加密数据和密钥存储标识发送给加解密模块;加解密模块根据密钥存储标识,从存储器中由密钥存储标识所标识的存储区域获取解密加密数据的密钥,并采用密钥对加密数据进行解密得到解密数据;加解密模块向第二执行主体发送解密数据。
在本申请的一些实施例中,加解密模块也可以称作“加解密装置”或“加解密引擎”。例如,第一执行主体与第二执行主体可以为虚拟设备(即虚拟机),第一虚拟设备需要与第二虚拟设备共享密钥时,第一虚拟设备将生成的密钥保存在加解密引擎的密钥槽1001中,将保存该密钥的密钥槽的标识符共享给第二虚拟设备,接收到密钥槽(即存储器中保存密钥的存储区域)的标识符的第二虚拟设备可以将密钥槽的标识符和密文发送给加解密单元,由加解密单元获取标识符对应的密钥对密文进行解密。其中,加解密引擎包括加解密单元和密钥槽;如前,由于加解密引擎(即加解密模块)是由特定的处理器来执行的,如协处理器,而在对密文解密时,直接由加解密引擎中的加解密单元从密钥槽获取密钥进行解密,无需将密钥槽中的密钥传输给虚拟设备,故在虚拟设备之间、以及虚拟设备和密钥槽之间都不会传输密钥,即虚拟设备之间不直接传输密钥,也可以共享密钥,进而使得在不增加系统复杂性的情况下,提高共享密钥的安全性。
在上述第一方面的一种可能的实现中,加解密模块为芯片、处理器、专用集成电路中的至少一种。
在上述第一方面的一种可能的实现中,存储器位于加解密模块中。
在上述第一方面的一种可能的实现中,第一执行主体和第二执行主体为虚拟机或引导程序。
在上述第一方面的一种可能的实现中,第一执行主体的安全级别高于第二执行主体的安全级别。
在上述第一方面的一种可能的实现中,第一执行主体采用密钥对待加密数据进行加密得到加密数据,并将密钥存储在存储器的存储区域中,并从加解密模块获取标识存储区域的密钥存储标识。
在上述第一方面的一种可能的实现中,第一执行主体对存储区域中的密钥进行删除或替换操作。
在上述第一方面的一种可能的实现中,存储器对获取密钥存储标识的主体身份进行验证,并在验证通过后允许主体访问存储器以得到密钥。
在上述第一方面的一种可能的实现中,存储器通过访问控制位验证主体的身份。
本申请的第二方面提供了一种电子设备,包括第一执行主体、第二执行主体以及独立于第一和第二执行主体的加解密模块;第一执行主体能够向第二执行主体发送加密数据和密钥存储标识;第二执行主体能够将接收到的加密数据和密钥存储标识发送给加解密模块;加解密模块能够根据密钥存储标识,从存储器中由密钥存储标识所标识的存储区域获取解密加密数据的密钥,并采用密钥对加密数据进行解密得到解密数据;并且,加解密模块能够向第二执行主体发送解密数据。
在上述第二方面的一种可能的实现中,加解密模块为芯片、处理器、专用集成电路中的至少一种。
在上述第二方面的一种可能的实现中,第一执行主体和第二执行主体为虚拟机或引导程序。
在上述第二方面的一种可能的实现中,第一执行主体的安全级别高于第二执行主体的安全级别。
在上述第二方面的一种可能的实现中,还包括:第一执行主体采用密钥对待加密数据进行加密得到加密数据,并将密钥存储在存储器的存储区域中,并从加解密模块获取标识存储区域的密钥存储标识。
在上述第二方面的一种可能的实现中,第一执行主体对存储区域中的密钥进行删除或替换操作。
在上述第二方面的一种可能的实现中,还包括:存储器对获取密钥存储标识的主体身份进行验证,并在验证通过后允许主体访问存储器以得到密钥。
在上述第二方面的一种可能的实现中,存储器通过访问控制位验证主体的身份。
本申请的第三方面提供了一种信息加密传输方法,该方法应用于加解密装置,包括:获取由密钥加密的加密数据和密钥存储标识,其中密钥存储标识用于标识电子设备的存储器中用于存储密钥的存储区域;根据密钥存储标识从存储区域中获取密钥;采用获取的密钥解密加密数据。
本申请的第四方面提供了一种加解密装置,包括:存储器,用于存储密钥;处理器,是加解密装置的处理器之一,用于执行权利要求第三方面描述的信息加密传输方法。
在上述第四方面的一种可能的实现中,加解密装置为芯片、处理器、专用集成电路中的至少一种。
本申请的第五方面提供了一种可读介质,包括:电子设备的可读介质上存储有指令,该指令在电子设备上执行时使电子设备执行第一方面的信息加密传输方法。
本申请的第六方面提供了一种电子设备,包括:存储器,用于存储由电子设备的一个或多个处理器执行的指令,以及多个处理器,用于运行存储器中的指令,以执行第一方面的信息加密传输方法。
附图说明
图1为根据本申请的实施例,示出的一种信息加密传输场景示意图;
图2为根据本申请的实施例,示出的一种信息加密传输场景示意图;
图3为根据本申请的实施例,示出了一种加解密单元工作示意图;
图4为根据本申请的实施例,示出了一种密钥槽结构示意图;
图5为根据本申请的实施例,示出了一种控制标志位的位数示意图;
图6为根据本申请的实施例,示出了一种信息加密传输方法的流程图;
图7为根据本申请的实施例,示出了一种信息加密传输场景示意图;
图8为根据本申请的实施例,示出了一种信息加密传输方法的流程图;
图9为根据本申请的实施例,示出了一种信息加密传输场景示意图;
图10为根据本申请的实施例,示出了一种信息加密传输方法的流程图;
图11为根据本申请的实施例,示出了一种电子设备的框图;
图12为根据本申请的实施例,示出了一种片上系统的框图。
具体实施方式
本申请的实施例包括但不限于一种信息加密传输方法、加解密装置、可读介质以及电子设备;
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请的实施方式做进一步地详细描述。
可以理解,在本申请中,加解密引擎是指设置在片上系统的硬件模块,该加解密引擎可以通过总线与片上系统的处理器和/或存储器连接并进行信息传输。在本申请的实施例中,加解密引擎可以包括协处理器、静态随机存取存储器(Static random accessmemory,SRAM)单元;其中,SRAM单元包含存储密钥的存储区域;协处理器可以是专门用于加解密运算的处理器并且集成至少一种加解密算法,用于获取存储区域上存储的密钥并解密密文。
为解决上述密钥在不同虚拟设备之间传输不安全的问题,本申请提出了一种信息加密传输方法,在该方法中,虚拟设备200-1需要与虚拟设备200-2、虚拟设备200-n共享密钥时,虚拟设备200-1将生成的密钥保存在加解密引擎100的密钥槽1001中,将保存该密钥的密钥槽的标识符共享给虚拟设备200-2、虚拟设备200-n等,这些接收到密钥槽的标识符的虚拟设备可以将密钥槽的标识符和密文发送给加解密单元1002,由加解密单元1002获取标识符对应的密钥对密文进行解密。如前所述,由于加解密引擎是由特定的处理器来执行的,如协处理器,而在对密文解密时,直接由加解密引擎100中的加解密单元1002从密钥槽获取密钥进行解密,无需将密钥槽中的密钥传输给虚拟设备,故在虚拟设备之间、以及虚拟设备和密钥槽之间都不会传输密钥,即虚拟设备之间不直接传输密钥,也可以共享密钥,进而使得在不增加系统复杂性的情况下,提高共享密钥的安全性。
图2为根据本申请的实施例,示出了一种密钥共享场景图。如图2所示,电子设备10包括加解密引擎100、虚拟设备200-1、虚拟设备200-2、……虚拟设备200-n。其中,加解密引擎100包括密钥槽1001、加解密单元1002;密钥槽1001用于保存密钥。
在本申请的一些实施例中,虚拟设备200-1、虚拟设备200-2、……虚拟设备200-n可以通过接口访问加解密引擎100,也可以通过接口向加解密引擎100发送或接收密钥、密钥槽1001的标识符、明文、密文等。可以理解,加解密引擎100可以通过接口信息识别发送或待接收密钥、密钥槽1001的描述符、明文、密文的不同的虚拟设备。
在本申请的一些实施例中,如图2所示,虚拟设备200-1、虚拟设备200-2、……虚拟设备200-n可以是任何设置于电子设备10中的虚拟装置,这里的虚拟设备是指通过软件实现的可以像真实机器一样具有完整硬件系统功能的、运行在与电子设备10的操作系统内的完整计算机系统。
在本申请的一些实施例中电子设备10可以是个人计算机(personal computer,PC)、笔记本电脑或者服务器等。其中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群,还可以是提供云数据库、云存储和CDN等基础云计算服务的服务器,本申请实施例对此不做限制。下文会对电子设备10的具体结构做详细描述,在此不做赘述。
在本申请的一些实施例中,加解密单元1002可以用于加密明文或解密密文。如图3(a)所示,加解密单元1002用于解密密文;密文和密钥输入到加解密单元1002,输出解密的密文(即明文)。如图3(b)所示,加解密单元1002用于加密明文;明文和密钥输入到加解密单元1002,输出加密的明文(即密文)。
具体地,在本申请的实施例中,加解密单元1002可以是提供加解密算法的实体或硬件加解密单元。其中,加解密算法可以包括但不限于以下算法的至少一种:高级加密标准(advanced encryption standard,AES)算法、数据加密标准(data encryption standard,DES)算法、三重数据加密标准(triple data encryption standard,3DES)算法、商业密码(SM4)算法等。
在本申请的一些实施例中,加解密引擎100包含至少一个密钥槽1001,其中,每个密钥槽1001用于存储单个密钥,密钥槽的标识符用于唯一标识密钥槽,用于标识保存密钥的密钥槽,通过密钥槽的标识符可以确定需要获取的密钥所在的密钥槽。
图4为根据本申请的实施例,示出了一种密钥槽结构示意图。如图4所示,每个密钥槽均关联有一个密钥属性块,每个密钥属性块上均包含三个密钥属性,三个密钥属性分别是有效标志位,访问控制位,基准计数器。
具体地,如图4所示,加解密引擎100包含m个密钥槽,分别是密钥槽1001-1、密钥槽1001-2、...、密钥槽1001-m;每个密钥槽均有一个标识符,密钥槽的标识符用于唯一标识该密钥槽,例如,密钥槽1001-1的标识符为1、密钥槽的标识符为2、...、密钥槽1001-m的标识符为m。可以理解,加解密单元1002可以根据标识符,确定待获取的密钥所在的密钥槽。
在本申请的实施例中,每个密钥槽关联一个密钥属性块,该密钥属性块包含三个密钥属性,分别是:有效标志位,访问控制位,基准计数器。
例如,如图4所示,密钥槽1001-1关联的三个密钥属性分别是:有效标志位1003-1,访问控制位1003-2,基准计数器1003-3;密钥槽1001-2关联的三个密钥属性分别是:有效标志位1004-1,访问控制位1004-2,基准计数器1004-3。可以理解,每个密钥属性块的三个密钥属性用于确定与该密钥属性块关联的密钥槽的属性。
下面以密钥槽1001-1关联的密钥属性块的有效标志位1003-1,访问控制位1003-2,基准计数器1003-3为例对密钥槽关联的三个密钥属性做详细说明。
有效标志位1003-1:用于确定密钥槽1001-1是否保存密钥。当密钥槽1001-1已保存有效的密钥时,有效标志位1003-1被设置为有效状态;当密钥槽1001-1中未保存密钥时,有效标志位1003-1设置为无效状态。例如,当有效标志位1003-1被设置为1’b1时,有效标志位1003-1为有效状态;当有效标志位被设置为0时,有效标志位1003-1为无效状态。可以理解,每个密钥槽只能保存一个密钥,通过判断密钥槽关联的有效标志位是否为有效状态,确定该密钥槽是否可以保存密钥。
访问控制位1003-2:用于验证虚拟设备是否被允许驱动加解密单元1002来使用保存在密钥槽1001-1中的密钥。具体地,例如,虚拟设备200-1将密钥保存在密钥槽1001-1后,虚拟设备200-1的驱动程序软件通过设置访问控制位1003-2的位数,确定虚拟设备200-1和虚拟设备200-2等是否被允许驱动加解密单元1002来使用密钥槽1001-1中保存的密钥。
图5为根据本申请的实施例,示出的一种访问控制位1003-2的位数示意图,如图5所示,访问控制位1003-2的位数共i位,i为不小于1的整数,访问控制位1003-2的一个位数表示一个虚拟设备是否可以使用密钥槽1001-1中的密钥。根据访问控制位1003-2的每个位数设置为有效状态或无效状态来确定每个虚拟设备是否可以使用密钥槽1001-1中的密钥。例如,第0位表示虚拟设备200-1是否可以使用密钥槽1001-1中的密钥,第1位表示虚拟设备200-2是否可以使用密钥槽1001-1中的密钥,等等。例如,当第0位被设置为无效时表示虚拟设备200-1不可以使用密钥槽1001-1中的密钥;第0位被设置为有效时,表示虚拟设备200-1可以使用密钥槽1001-1中的密钥。
可以理解,访问控制位1003-2的第0位设置有效,当加解密单元1002请求获取保存在密钥槽1001-1中的密钥用于虚拟设备200-1解密密文时,密钥槽1001-1允许加解密单元1002获取密钥;访问控制位1003-2的第1位设置有效,当加解密单元1002请求获取保存在密钥槽1001-1中的密钥用于虚拟设备200-2解密密文时,密钥槽1001-1允许加解密单元1002获取密钥,以此类推,在此不做赘述。
基准计数器1003-3:用于记录当前使用密钥槽1001-1进行加解密的会话的个数。其中,单个虚拟设备可以请求一个或多个加解密的会话。只有当计数器为零时,密钥槽1001-1中的密钥才能被清除。
在本申请的实施例中,每个密钥槽均可以被执行设置操作和/或清除操作。具体地,安全级别最高的虚拟设备的驱动程序软件可以有选择地将密钥导入到任意一个未保存密钥的密钥槽,并且安全级别最高的虚拟设备的驱动程序软件还可以将密钥槽中的密钥清除。其中,在电子设备10给n个虚拟设备分配硬件配置或软件功能时,确定了n个虚拟设备的安全级别;例如,在电子设备10给n个虚拟设备分配硬件配置或软件功能时,确定虚拟设备200-1的安全级别高于其他虚拟设备的安全级别,即虚拟设备200-1为最高安全级别。下文以虚拟设备200-1为最高安全级别为例说明本申请的方案。
例如,当有效标志位1003-1为无效状态时表示密钥槽1001-1中没有密钥,虚拟设备200-1的驱动程序软件可以将密钥导入到密钥槽1001-1中,并将有效标志位1003-1设置为有效状态。
例如,密钥保存在密钥槽1001-1后,虚拟设备200-1的驱动程序软件可以设置控制标志位1003-2的位数,使得密钥槽1001-1确定加解密单元1002是否可以获取密钥槽1001-1中的密钥。
例如,基准计数器1003-3的计数为零的情况下表示没有虚拟设备正在请求加解密单元1002解密密文即当前没有使用密钥槽1001-1进行加解密的会话,则密钥槽1001-1可以被执行清除操作;驱动程序软件可以将密钥槽1001-1中的密钥清除,释放密钥槽1001-1的存储空间,以备后续保存密钥。
可以理解,每个虚拟设备都可以生成密钥,但是只有安全级别最高的虚拟设备的驱动程序软件才可以将生成的密钥有选择地保存在任意一个密钥槽中和/或清除任意一个密钥槽中的密钥。在本申请的其他一些实施例中,安全级别低的虚拟设备生成的密钥可以发送给加解密引擎100,由安全级别最高的虚拟设备的驱动程序软件对加解密引擎100接收的安全级别低的虚拟设备发送的密钥执行设置操作和/或清除操作。
下面结合图2至图12详细说明本申请的密钥共享的技术方案。
图6为根据本申请的实施例,示出了一种信息加密传输方法的流程图。具体地,参考图2所示的场景,如图6所示,虚拟设备200-1与虚拟设备200-2共享密钥的过程包括:
S601:虚拟设备200-1将密钥发送给密钥槽1001。
在本申请的一些实施例中,密钥可以是虚拟设备200-1生成的密钥,也可以是其他设备发送给虚拟设备200-1用于信息加密的密钥。另一个方面,密钥可以是虚拟设备200-1随机生成的随机码,也可以是基于源密钥,通过密钥派生功能模块(Key DerivationFunction,KDF)派生的至少一个密钥,还可以是保存在虚拟设备200-1或者与其他设备协商的密钥。在此本申请对密钥的具体内容和/或来源不做具体限定。
S602:密钥槽1001-1保存密钥,设置控制标志位。
在本申请的实施例中,虚拟设备200-1为有最高安全级别的虚拟设备,可以对密钥槽1001进行设置和清除操作,虚拟设备200-1将密钥发送给密钥槽1001-1。可以理解,虚拟设备200-1通过接口发送密钥给密钥槽1001-1时,虚拟设备200-1的驱动程序软件对密钥槽1001-1执行设置和清除操作,并且虚拟设备200-1的驱动程序软件可有选择地将密钥保存任意一个有效标志位为无效的密钥槽中。例如,有效标志位1003-1为无效状态,即密钥槽1001-1未保存密钥,则虚拟设备200的驱动程序软件可以选择的将密钥保存在密钥槽1001-1中,下文以密钥保存在密钥槽1001-1为例说明图6的密钥共享的过程。
另外,密钥槽1001-1保存密钥后,虚拟设备200-1的驱动程序软件设置控制标志位1003-2的位数,使得密钥槽1001-1允许加解密单元1002获取密钥用于需要共享密钥的虚拟设备解密密文。下文的步骤中以设置控制标志位1003-2的位数使得密钥槽1001-1允许加解密单元1002获取密钥用于虚拟设备200-1发送的明文的解密、虚拟设备200-2发送的密文的解密为例进行说明。
S603:密钥槽1001-1向虚拟设备200-1发送密钥槽1001-1的标识符。
S604:虚拟设备200-1将明文、密钥槽1001-1的标识符发送给加解密单元1002。
在本申请的一些实施例中,明文可以是镜像、图像、网页的网址、数字、会话消息等。另一个方面,明文可以来自于其他设备发送的明文,也可以是虚拟设备200-1生成的明文。在此本申请对明文的具体内容和/或来源不做具体限定。
S605:密钥槽1001基于获知的虚拟设备200-1相关联的加解密引擎100的主机ID,校验加解密单元1002是否可以获取密钥。
在本申请的实施例中,当虚拟设备200-1通过接口向加解密单元1002发送明文、标识符并请求加密明文时,密钥槽1001-1获知了虚拟设备200-1相关联的加解密引擎100的主机唯一ID。密钥槽1001-1基于获知的加解密引擎100的主机ID通过控制标志位1003-2的位数校验加解密单元1002是否可以获取密钥槽1001-1中的密钥。
例如,当表示虚拟设备200-1的控制标志位的位数为有效时,密钥槽1001-1基于获知的虚拟设备200-1相关联的加解密引擎100的主机唯一ID,允许加解密单元1002获取密钥用于虚拟设备200-1的明文加密。
S606:加解密单元1002基于密钥槽1001-1的标识符,从密钥槽1001-1的标识符标识的密钥槽1001-1中获取密钥。
S607:加解密单元1002根据获取的密钥对接收到明文进行加密得到密文。
在本申请的实施例中,加解密单元1002将获取的密钥和接收的明文作为输入,对明文进行加密,输出加密后的密文。
S608:加解密单元1002将密文发送给虚拟设备200-1。
S609:虚拟设备200-1将密文和密钥槽1001-1的标识符发送给虚拟设备200-2;
在本申请的实施例中,虚拟设备200-1可以与至少一个虚拟设备共享密文,即虚拟设备200-1可以将加密的明文(即密文)以及密钥槽1001-1的标识符发送给虚拟设备200-2、虚拟设备200-3、……虚拟设备200-n。
例如,如图2所示,虚拟设备200-1可以与虚拟设备200-2共享密钥,则虚拟设备200-1可以将接收的密文和密钥槽1001-1的标识符发送给虚拟设备200-2;虚拟设备200-2将密文和密钥槽1001-1的标识符发送给加解密单元1002并请求加解密单元1002获取密钥解密密文。下文以虚拟设备200-1与虚拟设备200-2共享密钥为例进行说明。
S610:虚拟设备200-2将接收的密钥槽1001-1的标识符、密文发送给加解密单元1002。
S611:密钥槽1001基于获知的虚拟设备200-2相关联的加解密引擎100的主机ID,校验加解密单元1002是否可以获取密钥。
在本申请的实施例中,当虚拟设备200-2通过接口向加解密单元1002发送密文、标识符时,密钥槽1001-1获知了虚拟设备200-2相关联的加解密引擎100的主机唯一ID。密钥槽1001基于获知的加解密引擎100的主机ID通过控制标志位1003-2的位数校验加解密单元1002是否可以获取密钥槽1001-1中的密钥。
例如,当表示虚拟设备200-2的控制标志位的位数为有效时,密钥槽1001-1基于获知的虚拟设备200-2相关联的加解密引擎100的主机唯一ID,允许加解密单元1002获取密钥用于虚拟设备200-2的密文解密。当表示虚拟设备200-2的控制标志位的位数为无效时,密钥槽1001-1虽然获知了虚拟设备200-2相关联的加解密引擎100的主机唯一ID,但是密钥槽1001-1仍不允许加解密单元1002获取密钥用于虚拟设备200-2的密文解密。
S612:加解密单元1002基于密钥槽1001-1的标识符,从密钥槽1001-1的标识符标识的密钥槽1001-1中获取密钥。
S613:加解密单元1002根据获取的密钥对接收到的密文进行解密得到明文。
在本申请的实施例中,加解密单元1002将获取的密钥和接收的密文作为输入,对密文进行解密,输出解密后的明文。
S614:加解密单元1002将明文发送给虚拟设备200-2。
可以理解,虚拟设备200-1还可以与虚拟设备200-3、……虚拟设备200-n共享密钥,密钥共享的过程与上述描述的虚拟设备200-1与虚拟设备200-2共享密钥的过程描述相同,本申请在此不做赘述。
可以理解,图6的信息加密传输方法是按照步骤S601至步骤S612的顺序执行,在本申请的其他实施例中步骤S601至步骤S612的执行顺序还可以是其他顺序,例如,可以是虚拟设备200-1先将明文、密钥发送给加解密单元1002,加解密单元1002基于密钥对明文进行加密得到密文;加解密单元1002将密文和密钥发送给虚拟设备200-1;然后,虚拟设备200-1将密钥发送给密钥槽1001-1;密钥槽1001-1保存密钥,并将密钥槽1001-1的标识符发送给虚拟设备200-1。具体执行顺序本申请不做限定。
在本申请的其他实施例中,本申请的信息加密传输方法不仅适用于多个虚拟设备之间信息加密传输,还适用于安全模块和非安全模块之间的信息加密传输。
图7为根据本申请的实施例,示出了另一种信息加密传输场景示意图。如图7所示,电子设备10可以包括安全模块300、非安全模块400以及加解密引擎100。其中,加解密引擎100的描述详见图2的描述,在此不作赘述。
在本申请的一些实施例中,安全模块300用于处理一些安全相关的事务,比如加解密,支付,生物信息等,非安全模块400用于处理除安全事务以外的所有事务,例如linux系统,android系统等。
在本申请的一些实施例中,安全模块300可以是片上系统安全等级最高的模块,非安全模块400可以是片上系统安全等级低的模块。安全模块300还可以是运行在片上系统的安全等级最高的引导程序(bootloader),非安全模块400也可以是运行在片上系统的安全等级低的引导程序(bootloader)。下文详细描述片上系统,这里不做赘述。
在本申请的实施例中,安全模块300和非安全模块400可以通过接口访问加解密引擎100,也可以通过接口向加解密引擎100发送或接收密钥、密钥槽1001的描述符、明文、密文等。可以理解,加解密引擎100可以通过接口信息识别发送或待接收密钥、密钥槽1001的描述符、明文、密文的安全模块300或非安全模块400。
在本申请的一些实施例中,在电子设备10分配安全模块300和非安全模块400的硬件配置时,电子设备10设定安全模块300的安全级别高于非安全模块400的安全级别并且安全模块300具有最高安全级别。安全模块300和非安全模块400都可以生成密钥,只有安全模块300的驱动程序软件可以对密钥槽1001执行设置操作或者清除操作。安全模块300和非安全模块400分别通过接口访问加解密引擎100或者向加解密引擎100发送或接收密文、明文、密钥、密钥槽的描述符等。
如图7所示,安全模块300和非安全模块400从其他模块或其他电子设备获取加密的镜像(即密文),安全模块300生成密钥并与非安全模块共享密钥,该密钥用于解密加密的镜像。下面结合图8详细说明图7的信息加密传输场景。
图8为根据本申请的实施例,示出了一种信息加密传输方法的流程图。具体地,参考图7所示的场景,如图8所示,安全模块300与非安全模块400共享密钥的过程包括:
S801:安全模块300将密钥1、密钥2发送给密钥槽1001。
在本申请的一些实施例中,安全模块300可以获取其他模块(包括非安全模块400)或其他电子设备生成的密文。其他模块生成的密文包括加密的镜像、加密的网页的网址、加密的数字、加密的会话消息等;下文以安全模块300获取加密的镜像为例进行详细说明。
在本申请的一些实施例中,安全模块300可以通过接口调用密钥派生功能(KeyDerivation Function,KDF)模块,基于高安全级别的源密钥派生出密钥1、密钥2。其中,密钥1用于解密安全模块300获取的加密的镜像;密钥2用于解密非安全模块400获取的加密的镜像。
S802:密钥槽分别保存密钥1、密钥2,设置控制标志位,密钥保存和设置控制标志位的具体内容请参考图6的步骤S602,在此不做赘述。
例如,安全模块300可以有选择地将密钥1、密钥2保存在密钥槽中,保存密钥1的密钥槽的描述符为描述符1,保存密钥2的密钥槽的描述符为描述符2。例如,密钥1可以保存在密钥槽中1001-1中,密钥槽中1001-1的描述符为描述符1;密钥2保存在密钥槽中1001-2中,密钥槽中1001-2的描述符为描述符2。
S803:密钥槽1001向安全模块300发送描述符1、描述符2。
S804:安全模块300将加密的镜像、标识符1发送给加解密单元1002。
S805:密钥槽1001基于获知的安全模块300相关联的加解密引擎100的主机ID,校验加解密单元1002是否可以获取密钥1。其中,校验是否可以获取密钥1的具体过程请参考图6的步骤S605,在此不做赘述。
S806:加解密单元1002基于标识符1,从标识符1标识的密钥槽中获取密钥1。
S807:加解密单元1002根据获取的密钥1对接收的加密的镜像进行解密得到解密后的镜像。
在本申请的实施例中,加解密单元1002将获取的密钥1和加密的镜像作为输入,对加密的镜像进行解密,输出解密后的镜像。
S808:加解密单元1002将解密后的镜像发送给安全模块300。
S809:安全模块300将标识符2发送给非安全模块400。
S810:非安全模块400将接收的标识符2、加密的镜像发送给加解密单元1002。
在本申请的实施例中,非安全模块400可以获取其他模块(包括安全模块300)或其他电子设备生成的密文,其中,其他模块生成的密文包括加密的镜像、加密的网页的网址、加密的数字、加密的会话消息等。
可以理解,非安全模块400获取的加密的镜像与步骤S801安全模块300获取的加密的镜像的内容可以相同,也可以不同,本申请在此不做限定。
S811:密钥槽1001基于获知的非安全模块400相关联的加解密引擎100的主机ID,校验加解密单元1002是否可以获取密钥2。其中,校验是否可以获取密钥2的具体过程请参考图6的步骤S611,在此不做赘述。
S812:加解密单元1002从标识符2标识的密钥槽中获取密钥2。
S813:加解密单元1002根据密钥2对加密镜像进行解密,得到解密后的镜像。
S814:加解密单元1002将解密后的镜像发送给非安全模块400。
在本申请的一些实施例中,安全模块300和/或非安全模块400请求解密加密的镜像完成之后,安全模块300的驱动程序可以分别清除密钥槽中密钥1和密钥槽中密钥2。
由图8描述的过程可知,在加密的镜像解密的过程中,非安全模块400向加解密单元1002发送标识符2和加密的镜像,并请求加解密单元1002获取密钥解密加密的镜像,非安全模块400不需要获取密钥槽中的密钥2或获知密钥2的密钥内容,并且密钥2并没有在安全模块300与非安全模块400之间或者非安全模块400与密钥槽1001之间传递也能实现密钥共享并解密加密的镜像,从而保护了密钥2的安全。
可以理解,图8所描述的步骤的先后顺序可以根据实际情况进行调整,并非限制为图8所示的顺序,例如,安全模块300不保存密钥1;安全模块300将加密的镜像、密钥1发送给加解密单元1002;解密模块1002基于密钥1对加密的镜像进行解密得到解密后的镜像,并且加解密单元1002将解密后的镜像发送给安全模块300;安全模块300再将密钥2发送给密钥槽1001,密钥槽1001保存密钥2,并将标识符2发送给安全模块300。或者,步骤S804至S807与步骤S808至S812同时执行。具体执行顺序本申请不做限定。
由上述描述的密钥共享过程可知,安全模块300和/或非安全模块400获取密文,安全模块300通过接口调用密钥派生功能(Key Derivation Function,KDF)模块,基于高安全级别的源密钥派生出密钥1、密钥2,其中,密钥1用于解密安全模块300获取的加密的镜像;密钥2用于解密非安全模块400获取的加密的镜像。在本申请的其他实施例中,安全模块300也可以基于高安全级别的源密钥只派生出密钥1,密钥1用于解密安全模块300、非安全模块400获取的加密的镜像。具体的过程与图8描述的信息加密传输的过程思想相同,本申请在此不做赘述。
在本申请的其他一些实施例中,在安全传输层协议(Transport Layer Security,TLS)通信过程中,需要在传输加密的消息。其中,TLS里面的证书用于TLS通信双方协商密钥时鉴别双方身份;通过双方多次握手在TLS双方之间协商出后续用于通信的会话密钥。在TLS应用场景中,握手阶段用于鉴定身份并协商会话密钥的凭据是最值得保护的高价值目标。因此,握手阶段仅在安全模块300中进行。
图9为根据本申请的实施例,示出了另一种信息加密传输场景图。如图9所示,电子设备10可以包括安全模块300、非安全模块400以及加解密引擎100。其中,加解密引擎100、安全模块300以及非安全模块400的具体描述与上文描述相同,本申请在此不作赘述。
图10为根据本申请的实施例,示出了一种信息加密传输方法的流程图。具体地,参考图9所示的场景,如图10所示,具体过程包括:
S1001:安全模块300将密钥发送给密钥槽1001;
例如,在TLS通信过程中,TLS里面的通过证书鉴别会话双方身份,双方多次握手在TLS双方之间协商出后续用于通信的会话密钥,该会话密钥用于解密加密的会话消息并且只能存在于安全模块300或密钥槽1001中,安全模块300的软件主要负责TLS最开始的握手部分逻辑以及将会话密钥发送给密钥槽1001,这部分一般情况只需要在TLS建立握手的最初阶段发生一次,非安全模块400的软件负责TLS通信过程的需要长时间维持的会话部分。其中,会话过程中消息都是加密传送的。
S1002:密钥槽1001保存密钥,设置控制标志位。密钥的保存和设置控制标志位的过程请详见图6的步骤S602,在此不做赘述。
S1003:密钥槽1001向安全模块300发送密钥槽的标识符。
S1004:安全模块300将密钥槽的标识符发送给非安全模块400。
S1005:非安全模块400将加密的消息以及密钥槽的标识符发送给加解密单元1002。
例如,非安全模块400的软件负责TLS通信过程的长时间维持的会话部分,即在会话过程中非安全模块400接收其他设备发送的加密的消息(密文)。非安全模块400可以将从其他设备接收的密文以及从安全模块300接收的密钥槽1001的标识符发送给加解密单元1002。
在本申请的一些实施例中,在TLS通信过程中,加密的消息可以是通过即时通话软件发送的加密的文本或图像消息,加密的消息也可以是加密的网页的网址等等,在此本申请对加密的消息的具体内容不做限定。
S1006:密钥槽1001基于获知的非安全模块400相关联的加解密引擎100的主机ID,校验加解密单元1002是否可以获取密钥。其中,其中,校验是否可以获取密钥的具体过程请参考图6的步骤S605,在此不做赘述。
S1007:加解密单元1002从标识符标识的密钥槽中获取密钥。
S1008:加解密单元1002根据获取的密钥对接收的加密的消息进行解密,得到解密后的消息。具体内容详见图6的步骤S611,在此不做赘述。
S1009;加解密单元1002将解密后的消息发送给非安全模块400。
在本申请的其他实施例中,非安全模块400也可以向其他设备发送密文(即加密的消息),则非安全模块400可以生成消息(即明文),并将明文,密钥槽1001-1的标识符发送给加解密单元1002,加解密单元1002引用密钥槽1001-1中的密钥,并将密钥和明文输入到对称加密模块1002-1,输出加密后的密文。则加解密单元1002将密文发送给非安全模块400,非安全模块400将密文发送给其他设备。
由图10的流程描述可知,在TLS通信过程中,安全模块300的软件主要负责TLS最开始的握手部分逻辑,这部分逻辑一般情况只需要在TLS建立握手的最初阶段发生一次,非安全模块400的软件负责TLS通信过程中长时间维持的会话部分。即TLS通信过程中,安全模块300只需要一次将密钥保存在密钥槽中,非安全模块400长时间保持会话(即向其他设备接收或发送密文)时,加解密单元1002从密钥槽中获取密钥解密密文即可。最后,在会话结束以后,安全模块300的驱动程序软件可以从密钥槽1001中清除密钥,已清除密钥的密钥槽1001可以用于后续新的密钥的保存。
可以理解,加解密单元1002获取保存在密钥槽1001-1中的密钥,用于解密会话过程中非安全模块400接收的加密的消息(即密文)。非安全模块400向加解密单元1002发送密钥槽的标识符和加密的消息,并请求加解密单元1002获取密钥解密加密的消息,非安全模块400不需要获取密钥槽中的密钥或获知密钥的密钥内容就可以解密加密的消息;并且密钥不会在安全模块300与非安全模块400之间或者非安全模块400与密钥槽1001之间传递也能实现密钥共享并解密加密的消息,从而保护了密钥的安全。
图11所示为根据本申请的一些实施例,示出了一种电子设备10的框图。图11示意性地示出了根据多个实施例的示例电子设备10。
在一些实施例中,电子设备10可以包括一个或多个处理器1104,与处理器1104中的至少一个连接的系统控制逻辑1108,与系统控制逻辑1108连接的系统内存1112,与系统控制逻辑1108连接的非易失性存储器(NVM)1116,以及与系统控制逻辑1108连接的网络接口1120。
在一些实施例中,处理器1104可以包括一个或多个单核或多核处理器。在其他一些实施例中,处理器1104也可以包括通用处理器和专用处理器(例如,图形处理器,应用处理器,基带处理器等)的任意组合。
在一些实施例中,系统控制逻辑1108可以包括任意合适的接口控制器,以向处理器1104中的至少一个和/或与系统控制逻辑1108通信的任意合适的设备或组件提供任意合适的接口。
在一些实施例中,系统控制逻辑1108可以包括一个或多个存储器、控制器,以提供连接到系统内存1112的接口。系统内存1112可以用于加载以及存储数据和/或指令。在一些实施例中电子设备10的内存1112可以包括任意合适的易失性存储器,例如合适的动态随机存取存储器(DRAM)。
NVM/存储器1116可以包括用于存储数据和/或指令的一个或多个有形的、非暂时性的计算机可读介质。在一些实施例中,NVM/存储器1116可以包括闪存等任意合适的非易失性存储器和/或任意合适的非易失性存储设备,例如HDD(Hard Disk Drive,硬盘驱动器),CD(Compact Disc,光盘)驱动器,DVD(Digital Versatile Disc,数字通用光盘)驱动器中的至少一个。
NVM/存储器1116可以包括安装电子设备10的装置上的一部分存储资源,或者它可以由设备访问,但不一定是设备的一部分。例如,可以经由网络接口1120通过网络访问NVM/存储1116。
特别地,系统内存1112和NVM/存储器1116可以分别包括:指令1124的暂时副本和永久副本。指令1124可以包括:由处理器1104中的至少一个执行时导致电子设备10实施上述方法的指令。在一些实施例中,指令1124、硬件、固件和/或其软件组件可另外地/替代地置于系统控制逻辑1108,网络接口1120和/或处理器1104中。
网络接口1120可以包括收发器,用于为电子设备10提供无线电接口,进而通过一个或多个网络与任意其他合适的设备(如前端模块,天线等)进行通信。在一些实施例中,网络接口1120可以集成于电子设备10的其他组件。例如,网络接口1120可以集成于处理器1104,系统内存1112,NVM/存储器1116,和具有指令的固件设备(未示出)中的至少一种,当处理器1104中的至少一个执行所述指令时,电子设备10实现上述信息加密传输方法。
网络接口1120可以进一步包括任意合适的硬件和/或固件,以提供多输入多输出无线电接口。例如,网络接口1120可以是网络适配器,无线网络适配器,电话调制解调器和/或无线调制解调器。
在一个实施例中,处理器1104中的至少一个可以与用于系统控制逻辑1108的一个或多个控制器的逻辑封装在一起,以形成系统封装(SiP)。在一个实施例中,处理器1104中的至少一个可以与用于系统控制逻辑1108的一个或多个控制器的逻辑集成在同一芯片上,以形成片上系统(SoC)。
电子设备10可以进一步包括:输入/输出(I/O)设备1132。I/O设备1132可以包括用户界面,使得用户能够与电子设备10进行交互;外围组件接口的设计使得外围组件也能够与电子设备10交互。在一些实施例中,电子设备10还包括传感器,用于确定与电子设备10相关的环境条件和位置信息的至少一种。
根据本申请的实施例,图12示出了一种SoC(System on Chip,片上系统)1200的框图。其中,SOC 1200为电子设备10硬件结构的的一部分,在图12中,相似的部件具有同样的附图标记。另外,虚线框是更先进的SoC的可选特征。在图12中,SoC 1200包括:互连单元1250,其被耦合至应用处理器1210;系统代理单元1270;总线控制器单元1280;集成存储器控制器单元1240;加解密引擎100;直接存储器存取(DMA)单元1260。
在本申请的实施例中,加解密引擎100可以包括一个或多个协处理器1220,静态随机存取存储器(SRAM)单元1230;其中,协处理器1220用于实施加解密单元1002的算法。SRAM1230的部分存储区域可以设置为密钥槽1001,即密钥槽1001作为专门存储密钥的专用SRAM。
在本申请的一些实施例中,加解密引擎100也可以称作“加解密装置100”或“加解密模块100”;加解密引擎100可以为芯片、处理器、专用集成电路中的至少一种。
可以理解,处理器1210可以运行第一执行主体和所述第二执行主体的驱动程序软件,其中,第一执行主体和所述第二执行主体可以为虚拟机或引导程序。协处理器1220可以是提供加解密算法的硬件加解密单元1002。
由图11可知,加解密引擎100包括协处理器1220、SRAM单元1230,使得加解密引擎100可以保存密钥并使得密钥在安全环境下(即加解密引擎100内)运行加解密算法加密明文和/或解密密文,实现密钥不会在安全模块300与非安全模块400之间或者非安全模块400与密钥槽1001之间传递并且非安全模块400在不直接获取密钥并获知密钥内容也能实现密钥共享并解密加密的消息。保证了共享密钥的安全性。
可以理解,如本文所使用的,术语“模块”可以指代或者包括专用集成电路(ASIC)、电子电路、执行一个或多个软件或固件程序的处理器(共享、专用、或群组)和/或存储器、组合逻辑电路、和/或提供所描述的功能的其他适当硬件组件,或者可以作为这些硬件组件的一部分。
可以理解,在本申请各实施例中,处理器可以是微处理器、数字信号处理器、微控制器等,和/或其任何组合。根据另一个方面,所述处理器可以是单核处理器,多核处理器等,和/或其任何组合。
本申请公开的机制的各实施例可以被实现在硬件、软件、固件或这些实现方法的组合中。本申请的实施例可实现为在可编程系统上执行的计算机程序或程序代码,该可编程系统包括至少一个处理器、存储系统(包括易失性和非易失性存储器和/或存储元件)、至少一个输入设备以及至少一个输出设备。
可将程序代码应用于输入指令,以执行本申请描述的各功能并生成输出信息。可以按已知方式将输出信息应用于一个或多个输出设备。为了本申请的目的,处理系统包括具有诸如例如数字信号处理器(DSP)、微控制器、专用集成电路(ASIC)或微处理器之类的处理器的任何系统。
程序代码可以用高级程序化语言或面向对象的编程语言来实现,以便与处理系统通信。在需要时,也可用汇编语言或机器语言来实现程序代码。事实上,本申请中描述的机制不限于任何特定编程语言的范围。在任一情形下,该语言可以是编译语言或解释语言。
在一些情况下,所公开的实施例可以以硬件、固件、软件或其任何组合来实现。所公开的实施例还可以被实现为由一个或多个暂时或非暂时性机器可读(例如,计算机可读)存储介质承载或存储在其上的指令,其可以由一个或多个处理器读取和执行。例如,指令可以通过网络或通过其他计算机可读介质分发。因此,机器可读介质可以包括用于以机器(例如,计算机)可读的形式存储或传输信息的任何机制,包括但不限于,软盘、光盘、光碟、只读存储器(CD-ROMs)、磁光盘、只读存储器(ROM)、随机存取存储器(RAM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、磁卡或光卡、闪存、或用于利用因特网以电、光、声或其他形式的传播信号来传输信息,例如,载波、红外信号数字信号等)的有形的机器可读存储器。因此,机器可读介质包括适合于以机器(例如,计算机)可读的形式存储或传输电子指令或信息的任何类型的机器可读介质。
在附图中,可以以特定布置和/或顺序示出一些结构或方法特征。然而,应该理解,可能不需要这样的特定布置和/或排序。而是,在一些实施例中,这些特征可以以不同于说明性附图中所示的方式和/或顺序来布置。另外,在特定图中包括结构或方法特征并不意味着暗示在所有实施例中都需要这样的特征,并且在一些实施例中,可以不包括这些特征或者可以与其他特征组合。
需要说明的是,本申请各设备实施例中提到的各单元/模块都是逻辑单元/模块,在物理上,一个逻辑单元/模块可以是一个物理单元/模块,也可以是一个物理单元/模块的一部分,还可以以多个物理单元/模块的组合实现,这些逻辑单元/模块本身的物理实现方式并不是最重要的,这些逻辑单元/模块所实现的功能的组合才是解决本申请所提出的技术问题的关键。此外,为了突出本申请的创新部分,本申请上述各设备实施例并没有将与解决本申请所提出的技术问题关系不太密切的单元/模块引入,这并不表明上述设备实施例并不存在其它的单元/模块。
需要说明的是,在本专利的示例和说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
虽然通过参照本申请的某些优选实施例,已经对本申请进行了图示和描述,但本领域的普通技术人员应该明白,可以在形式上和细节上对其作各种改变,而不偏离本申请的精神和范围。

Claims (23)

1.一种信息加密传输方法,用于电子设备,其特征在于,所述电子设备包括第一执行主体、第二执行主体和独立于所述第一执行主体和所述第二执行主体的加解密模块,并且
所述方法包括:
所述第一执行主体向所述第二执行主体发送加密数据和密钥存储标识;
所述第二执行主体将接收到的所述加密数据和密钥存储标识发送给所述加解密模块;
所述加解密模块根据所述密钥存储标识,从存储器中由所述密钥存储标识所标识的存储区域获取解密所述加密数据的密钥,并采用所述密钥对所述加密数据进行解密得到解密数据;
所述加解密模块向所述第二执行主体发送所述解密数据。
2.根据权利要求1所述的方法,其特征在于,所述加解密模块为芯片、处理器、专用集成电路中的至少一种。
3.根据权利要求2所述的方法,其特征在于,所述存储器位于所述加解密模块中。
4.根据权利要求1所述的方法,其特征在于,所述第一执行主体和所述第二执行主体为虚拟机或引导程序。
5.根据权利要求4所述的方法,所述第一执行主体的安全级别高于所述第二执行主体的安全级别。
6.根据权利要求5所述的方法,其特征在于,还包括:
所述第一执行主体采用所述密钥对待加密数据进行加密得到所述加密数据,并将所述密钥存储在所述存储器的所述存储区域中,并从所述加解密模块获取标识所述存储区域的所述密钥存储标识。
7.根据权利要求6所述的方法,其特征在于,还包括:
所述第一执行主体对所述存储区域中的密钥进行删除或替换操作。
8.根据权利要求1所述的方法,其特征在于,还包括:所述存储器对获取所述密钥存储标识的主体身份进行验证,并在验证通过后允许所述主体访问所述存储器以得到所述密钥。
9.根据权利要求8所述的方法,其特征在于,所述存储器通过访问控制位验证所述主体的身份。
10.一种电子设备,其特征在于,包括第一执行主体、第二执行主体以及独立于所述第一执行主体和所述第二执行主体的加解密模块;
所述第一执行主体能够向所述第二执行主体发送加密数据和密钥存储标识;
所述第二执行主体能够将接收到的所述加密数据和密钥存储标识发送给所述加解密模块;
所述加解密模块能够根据所述密钥存储标识,从存储器中由所述密钥存储标识所标识的存储区域获取解密所述加密数据的密钥,并采用所述密钥对所述加密数据进行解密得到解密数据;并且,
所述加解密模块能够向所述第二执行主体发送所述解密数据。
11.根据权利要求10所述的电子设备,其特征在于,所述加解密模块为芯片、处理器、专用集成电路中的至少一种。
12.根据权利要求11所述的电子设备,其特征在于,所述存储器位于所述加解密模块中。
13.根据权利要求10所述的电子设备,其特征在于,所述第一执行主体和第二执行主体为虚拟机或引导程序。
14.根据权利要求13所述的电子设备,所述第一执行主体的安全级别高于所述第二执行主体的安全级别。
15.根据权利要求14所述的电子设备,其特征在于,还包括:
所述第一执行主体采用所述密钥对待加密数据进行加密得到所述加密数据,并将所述密钥存储在所述存储器的所述存储区域中,并从所述加解密模块获取标识所述存储区域的所述密钥存储标识。
16.根据权利要求15所述的电子设备,其特征在于,还包括:
所述第一执行主体对所述存储区域中的密钥进行删除或替换操作。
17.根据权利要求10所述的电子设备,其特征在于,还包括:所述存储器对获取所述密钥存储标识的主体身份进行验证,并在验证通过后允许所述主体访问所述存储器以得到所述密钥。
18.根据权利要求17所述的电子设备,其特征在于,所述存储器通过访问控制位验证所述主体的身份。
19.一种信息加密传输方法,应用于加解密装置,其特征在于,包括:
获取由密钥加密的加密数据和密钥存储标识,其中所述密钥存储标识用于标识电子设备的存储器中用于存储所述密钥的存储区域;
根据所述密钥存储标识从所述存储区域中获取所述密钥;
采用获取的所述密钥解密所述加密数据。
20.一种加解密装置,其特征在于,包括:
存储器,用于存储密钥;
处理器,是加解密装置的处理器之一,用于执行权利要求19所述的信息加密传输方法。
21.根据权利要求20所述的加解密装置,其特征在于,所述加解密装置为芯片、处理器、专用集成电路中的至少一种。
22.一种可读介质,其特征在于,所述电子设备的可读介质上存储有指令,该指令在电子设备上执行时使电子设备执行权利要求1至9中任一项所述的信息加密传输方法。
23.一种电子设备,包括:
存储器,用于存储由电子设备的一个或多个处理器执行的指令,以及多个处理器,用于运行存储器中的指令,以执行权利要求1至9中任一项所述的信息加密传输方法。
CN202110490221.1A 2021-05-06 2021-05-06 信息加密传输方法、加解密装置、可读介质以及电子设备 Pending CN113225336A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110490221.1A CN113225336A (zh) 2021-05-06 2021-05-06 信息加密传输方法、加解密装置、可读介质以及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110490221.1A CN113225336A (zh) 2021-05-06 2021-05-06 信息加密传输方法、加解密装置、可读介质以及电子设备

Publications (1)

Publication Number Publication Date
CN113225336A true CN113225336A (zh) 2021-08-06

Family

ID=77091026

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110490221.1A Pending CN113225336A (zh) 2021-05-06 2021-05-06 信息加密传输方法、加解密装置、可读介质以及电子设备

Country Status (1)

Country Link
CN (1) CN113225336A (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108123800A (zh) * 2017-12-19 2018-06-05 腾讯科技(深圳)有限公司 密钥管理方法、装置、计算机设备及存储介质
CN108429719A (zh) * 2017-02-14 2018-08-21 华为技术有限公司 密钥保护方法及装置
CN109728902A (zh) * 2018-06-01 2019-05-07 平安科技(深圳)有限公司 密钥管理方法、设备、存储介质及装置
CN111191252A (zh) * 2018-11-15 2020-05-22 航天信息股份有限公司 一种智能卡操作系统加解密方法、装置及存储介质
CN112632593A (zh) * 2021-03-09 2021-04-09 冷杉云(北京)科技股份有限公司 数据存储方法、数据处理方法、设备以及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108429719A (zh) * 2017-02-14 2018-08-21 华为技术有限公司 密钥保护方法及装置
CN108123800A (zh) * 2017-12-19 2018-06-05 腾讯科技(深圳)有限公司 密钥管理方法、装置、计算机设备及存储介质
CN109728902A (zh) * 2018-06-01 2019-05-07 平安科技(深圳)有限公司 密钥管理方法、设备、存储介质及装置
CN111191252A (zh) * 2018-11-15 2020-05-22 航天信息股份有限公司 一种智能卡操作系统加解密方法、装置及存储介质
CN112632593A (zh) * 2021-03-09 2021-04-09 冷杉云(北京)科技股份有限公司 数据存储方法、数据处理方法、设备以及存储介质

Similar Documents

Publication Publication Date Title
CN111181720B (zh) 基于可信执行环境的业务处理方法及装置
CN110214440B (zh) 计算系统,传送受保护数据的方法和可读存储介质
US10122713B2 (en) Method and device for the secure authentication and execution of programs
CN110249336B (zh) 使用签名密钥对可信执行环境的寻址
KR101201622B1 (ko) 보안 기능을 가진 시스템 온 칩 및 이를 이용한 디바이스 및 스캔 방법
US8495383B2 (en) Method for the secure storing of program state data in an electronic device
CN113691502B (zh) 通信方法、装置、网关服务器、客户端及存储介质
US20180205711A1 (en) Self-encrypting key management system
US10601590B1 (en) Secure secrets in hardware security module for use by protected function in trusted execution environment
WO2016164275A1 (en) Security system for data communications including key management and privacy
CN111191217B (zh) 一种密码管理方法及相关装置
CN111431718B (zh) 基于tee扩展的计算机通用安全加密转换层方法及系统
CN110235134B (zh) 使用洁净室供应来寻址可信执行环境
US11288381B2 (en) Calculation device, calculation method, calculation program and calculation system
CN114417362A (zh) 数据管理方法、装置及系统、存储介质
EP3720042B1 (en) Method and device for determining trust state of tpm, and storage medium
CN116346341A (zh) 私钥保护和服务端访问方法、系统、设备及存储介质
CN114697113B (zh) 一种基于硬件加速卡的多方隐私计算方法、装置及系统
CN114338091B (zh) 数据传输方法、装置、电子设备及存储介质
CN112363800B (zh) 一种网卡的内存访问方法、安全处理器、网卡及电子设备
CN115277078A (zh) 用于处理基因数据的方法、装置、设备和介质
CN113225336A (zh) 信息加密传输方法、加解密装置、可读介质以及电子设备
Akram et al. Recovering from a lost digital wallet: A smart cards perspective extended abstract
KR20210090635A (ko) 개인 키 클라우드 스토리지
CN113411347B (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: 20210806