CN103679060A - 加密方法及加密装置 - Google Patents

加密方法及加密装置 Download PDF

Info

Publication number
CN103679060A
CN103679060A CN201210347705.1A CN201210347705A CN103679060A CN 103679060 A CN103679060 A CN 103679060A CN 201210347705 A CN201210347705 A CN 201210347705A CN 103679060 A CN103679060 A CN 103679060A
Authority
CN
China
Prior art keywords
cryptographic calculation
virtual opetrating
data
opetrating system
kernel
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.)
Granted
Application number
CN201210347705.1A
Other languages
English (en)
Other versions
CN103679060B (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201210347705.1A priority Critical patent/CN103679060B/zh
Priority to BR112015001950A priority patent/BR112015001950A2/pt
Priority to PCT/CN2013/083469 priority patent/WO2014044152A1/en
Priority to US14/082,715 priority patent/US9122894B2/en
Publication of CN103679060A publication Critical patent/CN103679060A/zh
Application granted granted Critical
Publication of CN103679060B publication Critical patent/CN103679060B/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/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • 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/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/74Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Storage Device Security (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明涉及一种加密方法,包括:在宿主操作***中加载虚拟***驱动模块并构建虚拟操作***,所述虚拟操作***包括微内核;所述虚拟***驱动程序准备处理器上下文以及内存页表并将其提供给所述微内核,在所述内存页表中映射原始数据及接收完成加密运算数据的缓冲区的物理地址;以及在所述虚拟操作***中完成加密运算并将运算结果存入所述缓冲区。上述的加密方法可以不被破解,也可以克服硬件加密成本高、运算速度慢的缺点。此外,本发明还提供一种加密装置。

Description

加密方法及加密装置
技术领域
无论是出于防盗版亦或是保护用户数据的目的,每种软件都有一些关键的数据需要保护,如各种软件的序列号,用户名、密码等。现阶段针对这些数据的保护,要么通过复杂数据变换,要么通过各种硬件的加密狗进行保护。
通过复杂算法保护的方式,破解者可以通过软件调试技术,跟踪并还原出算法逻辑,或者直接截取出原软件中的汇编代码,直接还原出数据加密过程。
通过加密狗保护的方式,一方面成本高,易用性差;另一方面加密狗的运算能力有限,在进行大批量高强度加密时,速度很慢;而且加密狗产品相对来说比较独立,一旦某一种品牌的加密狗被破解了(出现了软狗),所有使用该种品牌加密狗的软件都面临着风险;加密狗的加密算法无法灵活控制,在选用后无法灵活更改。
发明内容
有鉴于此,有必要提供一种加密方法及加密装置,其即可以不被破解,也可以克服硬件加密成本高、运算速度慢的缺点。
一种加密方法,包括:在宿主操作***中加载虚拟***驱动模块并构建虚拟操作***,所述虚拟操作***包括微内核;所述虚拟***驱动程序准备处理器上下文以及内存页表并将其提供给所述微内核,在所述内存页表中映射原始数据及接收完成加密运算数据的缓冲区的物理地址;以及在所述虚拟操作***中完成加密运算并将运算结果存入所述缓冲区。
一种加密装置,包括虚拟操作***以及驱动模块;所述虚拟操作***包括:微内核,用于运行汇编指令序列;所述驱动模块用于准备处理器上下文以及内存页表并将其提供给所述微内核,在所述内存页表中映射原始数据及接收完成加密运算数据的缓冲区的物理地址;所述虚拟操作***还包括:加密过程管理器,用于控制所述微内核根据所述原始数据完成加密运算并将加密运算结果存入所述缓冲区。
上述的加密方法及装置中,加密运算是在虚拟操作***中完成,由于虚拟操作***的CPU上下文与真实CPU完全不同,这使得传统的硬件跟踪调试技术如DR0-DR7寄存器、标志寄存器中的陷阱标志(Trap Flag, TF)在虚拟操作***中完全无效,从而可确保虚拟操作***中的加密运算过程无法被中断,避免破解者采用硬件跟踪调试技术破解加密算法。而且无须采用专门的硬件加密装置,因此成本低。
为让本发明的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。
附图说明
图1为第一实施例提供的加密方法的流程图。
图2为第一实施例提供的加密方法中页表映射示意图。
图3为第二实施例提供的加密装置的结构框图。
具体实施方式
为更进一步阐述本发明为实现预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明的具体实施方式、结构、特征及其功效,详细说明如后。
第一实施例提供一种加密方法,如图1所示,其包括:
步骤S110、在宿主操作***中加载虚拟***驱动程序并构建虚拟操作***,所述虚拟操作***包括微内核。
宿主操作***是指可安装于计算机或者类似的运算装置如智能手机、平板电脑等的各种操作***。
虚拟***驱动程序运行于宿主操作***中,用于供被保护的软件调用,换言之,被保护的软件向虚拟***驱动程序发送加密运算请求并提供原始数据。虚拟***驱动程序可在接收到加密运算请求后构建虚拟操作***,将原始数据提供给虚拟操作***。
所述微内核(Kernel)对于运行于虚拟操作***内的程序来说相当于一个独立的处理器(CPU),用于运行汇编指令集,以完成加密运算,但是其所能运行的指令集相比于真实的CPU可以进行削减,能满足加密运算即可。在实际的实现上,上述微内核将指令直接送给真实的CPU去执行而并不进行指令转换以及翻译等操作,并将真实CPU的执行结果存入特定的内存区域中作为运行于虚拟操作***中的程序的运算结果。
步骤S120、所述虚拟***驱动程序为所述微内核准备处理器上下文以及内存页表,在所述内存页表中映射原始数据及接收完成加密运算数据的缓冲区的物理地址。
可以理解,对于CPU来说,无论是真实的CPU还是虚拟出的CPU,要进行运算,均要为其准备CPU上下文(CPU内部寄存器的值),在内存中准备好代码(指令序列)、数据(指令序列操作的目标)。然后CPU逐条执行指令序列,不停的操作这些数据,从而完成数据运算过程。
参阅图2,其为物理内存空间的示意图。第一区域101用于存储需要进行加密运算的原始数据;第二区域102为用于存储完成加密运算后的数据的缓冲区。但是运行于操作***内的程序直接操作的是虚拟内存空间的数据,由操作***的页表实现从虚拟内存空间与物理内存空间的映射。
由上可知,若要直接通过物理内存在宿主操作***与虚拟操作***之间交换数据,需要分别在宿主操作***与虚拟操作***的页表中实现对同一物理内存空间的映射。由此,写入第一区域101的数据即成为虚拟操作***中的加密程序的数据来源。
步骤S130、在所述虚拟操作***中完成加密运算并将运算结果存入所述缓冲区。
在加密过程切入到虚拟操作***后,还可首先关闭中断,例如将标志寄存器的中断标志(Interrupt Flag)位设为0,以屏蔽微内核对于外部中断请求的响应。
在虚拟操作***中,加密程序通过页表可以顺利访问存储在物理内存第一区域101内的原始数据,并采用其内建的加密算法完成加密运算。在运算完成后将结果存入物理内存的第二区域102中。相应地,在宿主操作***中,通过页表可访问完成加密运算后的数据。
被保护软件提供原始数据即可以是单纯数据,也可是代码和数据的混合(通常用于解密)。
当提供的是单纯数据时,采用加密算法进行加密运算即可。
当提供的是代码和数据的混合体时,首先,根据预定的算法对原始数据进行解密得到真正的原始数据,例如采用压缩软件如7z的内置密码解压;其次,从真正的原始数据中提取出代码;然后运行提取的代码完成加密运算。
在完成加密运算后,可由虚拟***驱动程序将加密运算结果数据返回至被保护的软件。
本实施例的加密方法中,加密运算是在虚拟操作***中完成,由于虚拟操作***的CPU上下文与真实CPU完全不同,这使得传统的硬件跟踪调试技术如DR0-DR7寄存器、标志寄存器中的陷阱标志(Trap Flag, TF)在虚拟操作***中完全无效,从而可确保虚拟操作***中的加密运算过程无法被中断,避免破解者采用硬件跟踪调试技术破解加密算法。
进一步地,由于在虚拟操作***中使用全新的页表,宿主操作***中的内存地址(逻辑地址)对于虚拟操作***是无效的,所以CC断点对于虚拟操作***一般来说也是无效的。可以理解,上述的CC断点例如是指INT3指令,其机器码为CC,所以通常也称为CC指令。当被调试进程执行INT3指令导致一个异常时,调试器就会捕捉这个异常从而停在断点处,然后将断点处的指令恢复成原来的指令。当然,如果自己写调试器,也可以用其他一些指令代替INT3指令来触发异常。
然而,可以理解,破解者具有恶意伪造CC断点的可能,例如在上述的原始数据中包括代码的情形中,代码中就可能存在恶意伪造的CC断点。为解决此问题,可以通过检测到软中断(CC断点属于软中断)时返回宿主操作***来解决。可以理解,此时虽然实现了中断,但是加密运算过程没有完成就已经结束了,即使拿到了数据,也是无效的中间数据,并不能依据其对加密算法进行破解。
第二实施例提供一种加密装置,参阅图3,其包括宿主操作***210以及虚拟操作***220。宿主操作***210包括虚拟***驱动模块211以及被保护的软件212。虚拟操作***220包括微内核221以及加密过程管理器222。
宿主操作***210是指可安装于计算机或者类似的运算装置如智能手机、平板电脑等的各种操作***。
虚拟***驱动模块211运行于宿主操作***中,用于供被保护的软件调用,换言之,被保护的软件212向虚拟***驱动模块211发送加密运算请求并提供原始数据。虚拟***驱动模块211可在接收到加密运算请求后构建虚拟操作***220,将原始数据提供给虚拟操作***220。
微内核221对于运行于虚拟操作***210内的程序来说相当于一个独立的处理器(CPU),用于运行汇编指令集,以完成加密运算,但是其所能运行的指令集相比于真实的CPU可以进行削减,能满足加密运算即可。在实际的实现上,上述微内核221将指令直接送给真实的CPU去执行而并不进行指令转换以及翻译等操作,并将真实CPU的执行结果存入特定的内存区域中作为运行于虚拟操作***220中的加密运算程序的运算结果。
虚拟***驱动模块211为所述微内核221准备处理器上下文以及内存页表,在所述内存页表中映射原始数据及接收完成加密运算数据的缓冲区的物理地址。
对于CPU来说,无论是真实的CPU还是虚拟出的CPU,要进行运算,均要为其准备CPU上下文(CPU内部寄存器的值),在内存中准备好代码(指令序列)、数据(指令序列操作的目标)。然后CPU逐条执行指令序列,不停的操作这些数据,从而完成数据运算过程。
参阅图2,其为物理内存空间的示意图。第一区域101用于存储需要进行加密运算的原始数据;第二区域102为用于存储完成加密运算后的数据的缓冲区。但是运行于操作***内的程序直接操作的是虚拟内存空间的数据,由操作***的页表实现从虚拟内存空间与物理内存空间的映射。
由上可知,若要直接通过物理内存在宿主操作***210与虚拟操作***220之间交换数据,需要分别在宿主操作***210与虚拟操作***220的页表中实现对同一物理内存空间的映射。由此,写入第一区域101的数据即成为虚拟操作***220中的加密程序的数据来源。
在加密过程切入到虚拟操作***220后,加密过程管理器222可首先关闭虚拟操作***的中断,例如将标志寄存器的中断标志(Interrupt Flag)位设为0,以屏蔽微内核对于外部中断请求的响应。
在虚拟操作***220中,加密程序通过页表可以顺利访问存储在物理内存第一区域101内的原始数据,并采用其内建的加密算法完成加密运算。在运算完成后将结果存入物理内存的第二区域102中。相应地,在宿主操作***210中,通过页表可访问完成加密运算后的数据。
被保护软件212提供的原始数据即可以是单纯数据,也可是代码和数据的混合(通常用于解密)。
当提供的是单纯数据时,采用加密算法进行加密运算即可。
当提供的是代码和数据的混合体时,首先,根据预定的算法对原始数据进行解密得到真正的原始数据,例如采用压缩软件如7z的内置密码解压;其次,从真正的原始数据中提取出代码;然后运行提取的代码完成加密运算。
在完成加密运算后,可由虚拟***驱动模块211将加密运算结果数据返回至被保护的软件212。
本实施例的加密装置中,加密运算是在虚拟操作***220中完成,由于虚拟操作***的CPU上下文与真实CPU完全不同,这使得传统的硬件跟踪调试技术如DR0-DR7寄存器、标志寄存器中的陷阱标志(Trap Flag, TF)在虚拟操作***中完全无效,从而可确保虚拟操作***220中的加密运算过程无法被中断,避免破解者采用硬件跟踪调试技术破解加密算法。
进一步地,由于在虚拟操作***220中使用全新的页表,宿主操作***中210的内存地址(逻辑地址)对于虚拟操作***220是无效的,所以CC断点对于虚拟操作***220一般来说也是无效的。可以理解,上述的CC断点例如是指INT3指令,其机器码为CC,所以通常也称为CC指令。当被调试进程执行INT3指令导致一个异常时,调试器就会捕捉这个异常从而停在断点处,然后将断点处的指令恢复成原来的指令。当然,如果自己写调试器,也可以用其他一些指令代替INT3指令来触发异常。
然而,可以理解,破解者具有恶意伪造CC断点的可能,例如在上述的原始数据中包括代码的情形中,代码中就可能存在恶意伪造的CC断点。为解决此问题,加密过程管理器222可以通过检测到软中断(CC断点属于软中断)时返回宿主操作***来解决。可以理解,此时虽然实现了中断,但是加密运算过程没有完成就已经结束了,即使拿到了数据,也是无效的中间数据,并不能依据其对加密算法进行破解。
此外,本发明实施例还提供一种计算机可读存储介质,其内存储有计算机可执行指令,上述的计算机可读存储介质例如为非易失性存储器例如光盘、硬盘、或者闪存。上述的计算机可执行指令用于让计算机或者类似的运算装置完成上述的加密方法中的各种操作。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭示如上,然而并非用以限定本发明,任何本领域技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容做出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简介修改、等同变化与修饰,均仍属于本发明技术方案的范围内。

Claims (10)

1.一种加密方法,包括:
在宿主操作***中加载虚拟***驱动模块并构建虚拟操作***,所述虚拟操作***包括微内核;
所述虚拟***驱动程序准备处理器上下文以及内存页表并将其提供给所述微内核,在所述内存页表中映射原始数据及接收完成加密运算数据的缓冲区的物理地址;以及
在所述虚拟操作***中完成加密运算并将运算结果存入所述缓冲区。
2.如权利要求1所述的加密方法,其特征在于,所述虚拟操作***还包括加密过程管理器,所述加密方法还包括,在所述加密过程管理器检测到软中断信号后结束加密运算并返回所述宿主操作***。
3.如权利要求1所述的加密方法,其特征在于,在所述虚拟操作***中完成加密运算包括:
根据预定的算法对所述需要进行加密运算的数据进行解密得到原始数据;
从所述原始数据中提取出代码;
运行提取的代码以完成加密运算。
4.如权利要求1所述的加密方法,其特征在于,还包括:在所述虚拟***驱动程序准备内存页表之前接收被保护软件的加密运算请求;以及
在完成加密运算后返回加密运算结果至所述被保护软件。
5.如权利要求1所述的加密方法,其特征在于,还包括:在所述虚拟操作***中完成加密运算之前还关闭所述微内核对外部中断请求的响应。
6.一种加密装置,包括虚拟操作***以及驱动模块;
所述虚拟操作***包括:微内核,用于运行汇编指令序列; 
所述驱动模块用于准备处理器上下文以及内存页表并将其提供给所述微内核,在所述内存页表中映射原始数据及接收完成加密运算数据的缓冲区的物理地址;
所述虚拟操作***还包括:加密过程管理器,用于控制所述微内核根据所述原始数据完成加密运算并将加密运算结果存入所述缓冲区。
7.如权利要求6所述的加密装置,其特征在于,所述加密过程管理器还用于:检测到软中断信号后结束加密运算并返回所述宿主操作***。
8.如权利要求6所述的加密装置,其特征在于,在所述虚拟操作***中完成加密运算包括:
根据预定的算法对所述需要进行加密运算的数据进行解密得到原始数据;
从所述原始数据中提取出代码;
运行提取的代码以完成加密运算。
9.如权利要求6所述的加密装置,其特征在于,所述驱动模块还用于:
在准备所述内存页表之前接收被保护软件的加密运算请求;以及
在所述虚拟操作***完成加密运算后返回至所述被保护软件。
10.如权利要求6所述的加密装置,其特征在于,还包括:所述加密过程管理器还用于:在所述虚拟操作***中完成加密运算之前关闭所述微内核对外部中断请求的响应。
CN201210347705.1A 2012-09-19 2012-09-19 加密方法及加密装置 Active CN103679060B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201210347705.1A CN103679060B (zh) 2012-09-19 2012-09-19 加密方法及加密装置
BR112015001950A BR112015001950A2 (pt) 2012-09-19 2013-09-13 método para criptografia, e aparelho para criptografia
PCT/CN2013/083469 WO2014044152A1 (en) 2012-09-19 2013-09-13 Method and apparatus for encryption
US14/082,715 US9122894B2 (en) 2012-09-19 2013-11-18 Method and apparatus for encryption

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210347705.1A CN103679060B (zh) 2012-09-19 2012-09-19 加密方法及加密装置

Publications (2)

Publication Number Publication Date
CN103679060A true CN103679060A (zh) 2014-03-26
CN103679060B CN103679060B (zh) 2018-03-27

Family

ID=50316567

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210347705.1A Active CN103679060B (zh) 2012-09-19 2012-09-19 加密方法及加密装置

Country Status (4)

Country Link
US (1) US9122894B2 (zh)
CN (1) CN103679060B (zh)
BR (1) BR112015001950A2 (zh)
WO (1) WO2014044152A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104573556A (zh) * 2015-01-19 2015-04-29 浪潮集团有限公司 一种基于虚拟***的加密方法
CN106156229A (zh) * 2015-04-27 2016-11-23 宇龙计算机通信科技(深圳)有限公司 一种多操作***终端中文件的处理方法、装置及终端
CN107563228A (zh) * 2017-08-03 2018-01-09 致象尔微电子科技(上海)有限公司 一种内存数据加解密的方法
CN109543460A (zh) * 2018-11-29 2019-03-29 北京元心科技有限公司 基于微内核对数据进行加解密的方法、装置及电子设备
CN111124956A (zh) * 2019-11-22 2020-05-08 海光信息技术有限公司 一种容器保护方法、处理器、操作***及计算机设备
CN111246466A (zh) * 2019-12-31 2020-06-05 北京元心科技有限公司 Arm架构应用处理器的加密通信方法及***

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107688745B (zh) * 2016-08-04 2020-10-30 阿里巴巴集团控股有限公司 处理、生成内核镜像的方法、内核初始化方法、装置和设备
CN113656229B (zh) * 2021-08-17 2024-02-20 中金金融认证中心有限公司 计算机***密码模块的检测方法、装置及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101071463A (zh) * 2007-06-08 2007-11-14 北京飞天诚信科技有限公司 虚拟个人办公环境的方法和设备
CN101290569A (zh) * 2008-05-06 2008-10-22 国网南京自动化研究院 一种采用多密码芯片并行数据处理的方法
US20100306849A1 (en) * 2007-12-12 2010-12-02 Vmware, Inc. On-access anti-virus mechanism for virtual machine architecture
US7870153B2 (en) * 2006-01-24 2011-01-11 Citrix Systems, Inc. Methods and systems for executing, by a virtual machine, an application program requested by a client machine

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7356736B2 (en) * 2001-09-25 2008-04-08 Norman Asa Simulated computer system for monitoring of software performance
US7810133B2 (en) * 2002-08-23 2010-10-05 Exit-Cube, Inc. Encrypting operating system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7870153B2 (en) * 2006-01-24 2011-01-11 Citrix Systems, Inc. Methods and systems for executing, by a virtual machine, an application program requested by a client machine
CN101071463A (zh) * 2007-06-08 2007-11-14 北京飞天诚信科技有限公司 虚拟个人办公环境的方法和设备
US20100306849A1 (en) * 2007-12-12 2010-12-02 Vmware, Inc. On-access anti-virus mechanism for virtual machine architecture
CN101290569A (zh) * 2008-05-06 2008-10-22 国网南京自动化研究院 一种采用多密码芯片并行数据处理的方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104573556A (zh) * 2015-01-19 2015-04-29 浪潮集团有限公司 一种基于虚拟***的加密方法
CN106156229A (zh) * 2015-04-27 2016-11-23 宇龙计算机通信科技(深圳)有限公司 一种多操作***终端中文件的处理方法、装置及终端
CN107563228A (zh) * 2017-08-03 2018-01-09 致象尔微电子科技(上海)有限公司 一种内存数据加解密的方法
CN109543460A (zh) * 2018-11-29 2019-03-29 北京元心科技有限公司 基于微内核对数据进行加解密的方法、装置及电子设备
CN109543460B (zh) * 2018-11-29 2021-02-23 北京元心科技有限公司 基于微内核对数据进行加解密的方法、装置及电子设备
CN111124956A (zh) * 2019-11-22 2020-05-08 海光信息技术有限公司 一种容器保护方法、处理器、操作***及计算机设备
CN111124956B (zh) * 2019-11-22 2023-03-07 海光信息技术股份有限公司 一种容器保护方法、处理器、操作***及计算机设备
CN111246466A (zh) * 2019-12-31 2020-06-05 北京元心科技有限公司 Arm架构应用处理器的加密通信方法及***
CN111246466B (zh) * 2019-12-31 2021-06-15 北京元心科技有限公司 Arm架构应用处理器的加密通信方法及***

Also Published As

Publication number Publication date
WO2014044152A1 (en) 2014-03-27
BR112015001950A2 (pt) 2019-10-15
US20140095893A1 (en) 2014-04-03
CN103679060B (zh) 2018-03-27
US9122894B2 (en) 2015-09-01

Similar Documents

Publication Publication Date Title
US10152602B2 (en) Protecting state information for virtual machines
CN103679060A (zh) 加密方法及加密装置
EP3757855A1 (en) Data encryption based on immutable pointers
US10176122B2 (en) Direct memory access authorization in a processing system
EP3807797B1 (en) Pointer authentication and dynamic switching between pointer authentication regimes
EP3084614B1 (en) Secure enclaves for use by kernel mode applications
US11775659B2 (en) Cryptographic separation of memory on device with use in DMA protection
US20170277903A1 (en) Data Protection Using Virtual Resource Views
US9639671B2 (en) Secure execution of encrypted program instructions
JP6682752B2 (ja) セキュアエンクレーブを用いてデータ暗号化を強化するための技術
US11782829B2 (en) Cryptographic separation of MMIO on device
US20120159104A1 (en) Secure memory access system and method
US11048644B1 (en) Memory mapping in an access device for non-volatile memory
EP3314502B1 (en) Protecting state information for virtual machines
US10296432B2 (en) Systems and methods for invasive debug of a processor without processor execution of instructions
EP4202748A1 (en) Data oblivious cryptographic computing
US12050701B2 (en) Cryptographic isolation of memory compartments in a computing environment
CN104573556A (zh) 一种基于虚拟***的加密方法
CN114996725A (zh) 一种保护开发程序的方法以及处理器

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant