CN108713194A - 使用虚拟资源视图的数据保护 - Google Patents

使用虚拟资源视图的数据保护 Download PDF

Info

Publication number
CN108713194A
CN108713194A CN201780016506.3A CN201780016506A CN108713194A CN 108713194 A CN108713194 A CN 108713194A CN 201780016506 A CN201780016506 A CN 201780016506A CN 108713194 A CN108713194 A CN 108713194A
Authority
CN
China
Prior art keywords
resource
computing device
owner
request entity
request
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
CN201780016506.3A
Other languages
English (en)
Inventor
M·克里斯托铎雷斯古
D·杜尔亚蒂
N·伊斯兰
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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN108713194A publication Critical patent/CN108713194A/zh
Pending legal-status Critical Current

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/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • G06F12/1433Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a module or a part of a module
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1483Protection against unauthorised use of memory or access to memory by checking the subject access rights using an access-table, e.g. matrix or list
    • 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/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • 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/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • 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/45583Memory management, e.g. access or allocation
    • 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
    • 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/45591Monitoring or debugging support

Abstract

实施例包含用于使用资源内容的虚拟视图保护数据的计算装置、系统及方法。虚拟化接口监视器可监视第一请求实体对存取计算装置资源的请求且确定所述第一请求实体是否为所述计算装置资源的拥有者。数据保护系统可响应于确定所述第一请求实体是所述计算装置资源的所述拥有者而将所述计算装置资源的资源内容的无遮掩虚拟视图提供给所述第一请求实体。资源内容密码编译装置可响应于确定所述第一请求实体是所述计算装置资源的非拥有者而遮掩所述计算装置资源的所述资源内容的虚拟视图。所述数据保护系统可将所述计算装置资源的资源内容的遮掩虚拟视图提供给所述第一请求实体。

Description

使用虚拟资源视图的数据保护
背景技术
在具有一或多个处理器及一或多个外围装置的任何计算机系统中,资源管理软件以高权限执行。使用保护环模型化作为一实例,操作系统在环0中执行,具有对所有硬件的完全存取,且超管理器在环0以下执行,具有对所有硬件的完全存取。当资源管理器将资源指派给任务时(例如,当操作系统将存储器页指派给程序时),资源管理器维持对资源的完全存取。维持对资源的完全存取使得资源管理器能够稍后代表任务来管理资源。资源管理器还可具有对资源的读取/写入存取,此可使得资源能够实施资源管理。举例来说,操作系统读取指派给程序的存储器页,以重定位存储器页或将程序转出存储器。
资源管理器(包含操作系统、超管理器及TrustZone)是软件的易损坏片段。归因于资源管理器的固有复杂度,消除所有缺陷接近于不可能。利用资源管理器中的漏洞的攻击可导致计算机系统的故障。由于资源管理器的高权限,攻击者可具有对计算机系统的全面存取。因此,攻击者有动机发现及利用资源管理器中的瑕疵。
发明内容
各种实施例的方法及设备提供用于使用资源内容的虚拟视图保护数据的设备及方法。各种实施例可包含计算装置的虚拟化接口监视器,其监视第一请求实体对存取计算装置资源的请求。所述虚拟化接口监视器可确定所述第一请求实体是否为所述计算装置资源的拥有者。所述计算装置的数据保护系统可响应于确定所述第一请求实体是所述计算装置资源的所述拥有者,而将所述计算装置资源的资源内容的无遮掩虚拟视图提供给所述第一请求实体。所述数据保护系统可响应于确定所述第一请求实体是所述计算装置资源的非拥有者,而将所述计算装置资源的资源内容的遮掩虚拟视图提供给所述第一请求实体。
在一些实施例中,资源内容密码编译装置可确定所述第一请求实体是否具有认证功能,且响应于确定所述第一请求实体具有认证功能而确定用于所述第一请求实体的存取类型。资源内容密码编译装置可响应于确定所述第一请求实体是所述计算装置资源的非拥有者,而基于所述存取类型使用遮掩水平来遮掩所述计算装置资源的资源内容的虚拟视图。
在一些实施例中,存取类型可包含部分遮掩及遮掩。通过响应于确定用于所述第一请求实体的所述存取类型为部分遮掩,使用同态加密对计算装置资源的资源内容的虚拟视图加密,资源内容密码编译装置可基于所述存取类型使用遮掩水平来遮掩计算装置资源的资源内容的虚拟视图。资源内容密码编译装置可响应于确定用于所述第一请求实体的所述存取类型为遮掩,而使用强加密对计算装置资源的资源内容的虚拟视图加密。
在一些实施例中,所述虚拟化接口监视器可关于计算装置资源的所有权变化对虚拟化接口进行监视,且存储与用于所述第一请求实体的计算装置资源的虚拟资源识别符相关的所述第一请求实体的第一拥有者识别符。在此些实施例中,所述第一拥有者识别符可指示所述第一请求实体经授予计算装置资源的所有权且所述虚拟资源识别符经映射到计算装置资源的物理资源识别符。
在一些实施例中,关于计算装置资源的所有权变化监视虚拟化接口可包含监视第二请求实体对计算装置资源的所有权的请求。
在一些实施例中,通过将存取计算装置资源的请求的虚拟资源识别符与相关于计算装置资源的虚拟资源识别符的所存储拥有者识别符进行比较,所述虚拟化接口监视器可确定所述第一请求实体是否为计算装置资源的拥有者。在存取计算装置资源的请求的虚拟资源识别符与计算装置资源的虚拟资源识别符匹配时,所述虚拟化接口监视器可确定所述第一请求实体是计算装置资源的拥有者。
在一些实施例中,计算装置资源的拥有者可包含应用程序,且计算装置资源的非拥有者可包含资源管理器,包含操作系统内核、超管理器及TrustZone中的一个。
各种实施例可包含经配置用于使用资源内容的虚拟视图保护数据的计算装置。所述计算装置可包含数据保护系统,其包含虚拟化接口监视器及资源内容密码编译装置。所述计算装置的一或多个处理器可用数据保护系统可执行指令、虚拟化接口监视器可执行指令及资源内容密码编译装置可执行指令来配置以执行上文概述的实施例方法中的一或多个的操作。
各种实施例可包含经配置用于使用资源内容的虚拟视图保护数据的计算装置,其具有用于执行上文概述的实施例方法中的一或多个的功能的装置。
各种实施例可包含非暂时性处理器可读存储媒体,其上存储有处理器可执行指令,所述指令经配置以使计算装置的一或多个处理器执行上文概述的实施例方法中的一或多个的操作。
附图说明
并入本文中且构成本说明书的部分的随附图式说明各种实施例的实例实施例,且连同上文给出的一般描述及下文给出的详细描述用以解释权利要求书的特征。
图1为说明适用于实施一实施例的计算装置的组件框图。
图2为说明适合于实施一实施例的实例多核心处理器的组件框图。
图3为适合于实施一实施例的数据保护系统的组件框图。
图4为根据一实施例的资源所有权表。
图5为根据一实施例的存取请求凭证表。
图6为说明用于使用虚拟资源视图保护数据的一实施例方法的程序流程图。
图7为说明用于跟踪计算装置资源的所有权的一实施例方法的程序流程图。
图8为说明用于使用凭证以用于将加密应用于资源内容的虚拟视图的一实施例方法的程序流程图。
图9为说明适合于与各种实施例一起使用的实例移动计算装置的组件框图。
图10为说明适合于与各种实施例一起使用的实例移动计算装置的组件框图。
图11说明适合于与各种实施例一起使用的实例服务器的组件框图。
具体实施方式
将参考随附图式来详细地描述各种实施例。在任何可能之处,将贯穿图式使用相同参考数字来指相同或相似部分。对特定实例及实施例的参考为出于说明的目的,且并不打算限制权利要求书的范围。
术语“计算装置”及“移动计算装置”在本文中可互换地使用,以指以下项中的任一个或全部:蜂窝式电话、智能型电话、个人或移动多媒体播放器、个人数据助理(PDA)、膝上型计算机、平板计算机、可转换的膝上型计算机/平板计算机(2合1计算机)、智能笔记型计算机、超级本、迷你笔记型计算机、掌上型计算机、无线电子邮件接收器、具备多媒体因特网能力的蜂窝式电话、移动游戏控制台、无线游戏控制器,及包含存储器及多核心可编程处理器的类似个人电子装置。术语“计算装置”可进一步指固定计算装置,包含个人计算机、台式计算机、一体式计算机、工作站、超级计算机、大型计算机、嵌入型计算机、服务器、家庭影院计算机及游戏控制台。各种实施例特别适用于具有有限存储器及电池资源的移动计算装置,例如智能型电话。然而,所述实施例大体上适用于多个存储器装置及有限电力预算的任何电子装置,其中减少处理器的电力消耗可延长移动计算装置的电池工作时间。
实施例可包含用于将资源管理任务与资源管理器(例如,操作系统,包含操作系统内核、超管理器及/或TrustZone)的高权限存取准许分离的方法、系统及装置。对用以翻译针对各种资源的存取请求的虚拟化接口的监视可用以区分拥有者应用程序存取与对资源的资源管理器存取。同一资源的不同视图可经提供给拥有者应用程序及资源管理器。与存取请求相关的不同水平的资源内容保护可基于资源的存取者的计划操作及资源数据的敏感性来提供。
资源可由资源管理器在不存取资源的内容(例如,资源数据)的情况下进行管理(例如,移动、复制等),而应用需要存取资源内容以实施各种程序。虚拟化接口可受监视以确定是否遮蔽来自资源管理器的资源内容,同时允许资源管理器实施管理功能,且同时允许资源拥有应用程序存取资源内容以实施程序。虚拟化接口监视器及资源内容密码编译装置可实施于硬件中,所述硬件经配置以区分对资源的拥有者应用程序存取及资源管理器存取且限制资源管理器对资源内容的存取。
虚拟化接口监视器可包含经配置以存储及更新计算装置系统的资源的所有权的资源所有权跟踪器。虚拟化接口监视器可经配置以确定对资源的存取请求是否由资源的拥有者应用程序或计算装置系统的资源管理器发出。资源内容密码编译装置可响应于存取请求是由资源管理器发出的确定而对资源的内容加密。资源内容密码编译装置可响应于存取请求是由拥有者应用程序发出的确定而以未加密形式提供资源的内容。
资源管理器可将资源指派给应用程序。应用程序可请求资源的所有权,且虚拟化接口监视器可更新资源的拥有者。
资源管理器及资源的拥有者应用程序可被提供资源的不同虚拟表示。资源的每一虚拟表示可包含资源的虚拟存储器地址到物理存储器地址的不同映射。
虚拟化接口监视器可接收、检测或拦截存取所拥有资源的请求。虚拟化接口监视器可通过存取请求的虚拟存储器地址来识别请求实体是否为资源管理器或资源拥有者应用程序。响应于确定请求实体是资源拥有者应用程序,资源内容密码编译装置可为拥有者应用程序提供对资源内容的未加密虚拟表示的存取。响应于确定请求实体是资源管理器,资源内容密码编译装置可对资源的内容的虚拟表示加密且为资源管理器提供经加密虚拟表示的存取。
在一些实施中,资源内容密码编译装置可基于请求实体的计划操作及资源内容的敏感性来改变对资源内容的保护。资源内容密码编译装置可支持不同类型的加密,例如强加密及签名要求,或部分同态加密。
凭证装置可存储及更新用于应用程序及资源管理器的编译器凭证,从而阐述:编译器保证某些操作通过特定软件组件执行。编译器凭证可与指定加密类型相关。资源内容密码编译装置可基于对请求实体的确定及各种资源拥有者应用程序、非拥有者应用程序及资源管理器的由凭证装置维持的相关性而实施不同类型的加密。
图1说明一种系统,所述系统包含适合于与各种实施例一起使用的与远程计算装置50通信的计算装置10。计算装置10可包含芯片上系统(SoC)12,其具有处理器14、存储器16、通信接口18及存储存储器接口20。计算装置10可进一步包含例如有线或无线调制解调器的通信组件22、存储存储器24、用于建立到无线网络30的无线连接32的天线26,及/或用于连接到到因特网40的有线连接44的网络接口28。处理器14可包含多种硬件核心中的任一个,例如数个处理器核心。
术语“芯片上系统”(SoC)在本文中用以指通常(但非独占式地)包含硬件核心、存储器及通信接口的一组互连电子电路。硬件核心可包含多种不同类型的处理器,例如通用处理器、中央处理单元(CPU)、数字信号处理器(DSP)、图形处理单元(GPU)、加速处理单元(APU)、辅助处理器、单核心处理器及多核心处理器。硬件核心可进一步体现其它硬件及硬件组合,例如现场可编程门阵列(FPGA)、专用集成电路(ASIC)、其它可编程逻辑装置、离散闸逻辑、晶体管逻辑、性能监视硬件、看门狗硬件及时间参考。集成电路可经配置以使得集成电路的组件驻留在单块半导体材料(例如,硅)上。SoC 12可包含一或多个处理器14。计算装置10可包含多于一个的SoC 12,由此增加处理器14及处理器核心的数目。计算装置10还可包含不与SoC 12相关联的处理器14。个别处理器14可为如下文参看图2所描述的多核心处理器。处理器14可出于可与计算装置10的其它处理器14相同或不同的特定目的而各自经配置。具有相同或不同配置的处理器14及处理器核心中的一或多个可分组在一起。处理器14或处理器核心的群组可被称为多处理器丛集。
SoC 12的存储器16可为经配置用于存储数据及处理器可执行码以供通过处理器14存取的易失性或非易失性存储器。计算装置10及/或SoC 12可包含经配置以用于各种目的的一或多个存储器16。在一实施例中,一或多个存储器16可包含例如随机存取存储器(RAM)或主存储器的易失性存储器,或高速缓存存储器。此些存储器16可经配置以暂时保持有限量的从数据传感器或子系统接收的数据。此些存储器16可经配置以暂时保持向非易失性存储器请求、基于多种因素预想到未来存取而从非易失性存储器载入到存储器16的数据及/或处理器可执行码指令。此些存储器16可经配置以暂时保持由处理器14产生且暂时存储以供未来快速存取的中间处理数据及/或处理器可执行码指令,无需存储在非易失性存储器中。
存储器16可经配置以至少暂时地存储从另一存储器装置(例如,另一存储器16或存储存储器24)载入到存储器16的数据及处理器可执行码,以供由处理器14中的一或多个存取。载入到存储器16的数据或处理器可执行码可响应于通过处理器14执行功能而予以载入。响应于功能的执行将数据或处理器可执行码载入到存储器16可起因于对存储器16的不成功或错过的存储器存取请求,这是因为所请求的数据或处理器可执行码不位于存储器16中。响应于错过,可进行对另一存储器16或存储存储器24的存储器存取请求,以将所请求的数据或处理器可执行码从另一存储器16或存储存储器24载入到存储器装置16。响应于功能的执行而将数据或处理器可执行码载入到存储器16可起因于对另一存储器16或存储存储器24的存储器存取请求,且数据或处理器可执行码可载入到存储器16以供稍后存取。
通信接口18、通信组件22、天线26及/或网络接口28可一致工作以使得计算装置10能够经由无线连接32在无线网络30上通信及/或经由有线网络44与远程计算装置50通信。无线网络30可使用包含(例如)用于无线通信的射频频谱的多种无线通信技术实施,以为计算装置10提供给因特网40的连接,通过所述因特网,所述计算装置可与远程计算装置50交换数据。
存储存储器接口20及存储存储器24可一致工作,以允许计算装置10将数据及处理器可执行码存储在非易失性存储媒体上。存储存储器24可更类似存储器16的实施例进行配置,其中存储存储器24可存储数据或处理器可执行码,以供通过处理器14中的一或多个存取。非易失性的存储存储器24可甚至在计算装置10的电力已被切断之后保留信息。当电力恢复且计算装置10重启时,存储在存储存储器24上的信息可能可用于计算装置10。存储存储器接口20可控制对存储存储器24的存取,且允许处理器14从存储存储器24读取数据及将数据写入到所述存储存储器。
计算装置10的组件中的一些或全部可以不同方式布置及/或组合,同时仍为必要功能提供服务。此外,计算装置10可不受限于组件中的每一个中的一个,且每一组件的多个个例可包含在计算装置10的各种配置中。
图2说明适合于实施一实施例的多核心处理器14。多核心处理器14可具有多个均质的或异质的处理器核心200、201、202、203。处理器核心200、201、202、203可为均质的,这是因为单一处理器14的处理器核心200、201、202、203可经配置用于相同目的且具有相同或类似性能特性。举例来说,处理器14可为通用处理器,且处理器核心200、201、202、203可为均质的通用处理器核心。替代地,处理器14可为图形处理单元或数字信号处理器,且处理器核心200、201、202、203可分别为均质的图形处理器核心或数字信号处理器核心。为了易于参考,术语“处理器”及“处理器核心”可在本文中互换地使用。
处理器核心200、201、202、203可为异质的,这是因为单一处理器14的处理器核心200、201、202、203可经配置用于不同目的及/或具有不同性能特性。此些异质处理器核心的异质性可包含不同指令集架构、管线、操作频率等。此些异质处理器核心的一实例可包含被称为“大小核(big.LITTLE)”架构之物,其中较慢的低功率处理器核心可与较强大的及功耗大的处理器核心耦合。在类似实施例中,SoC 12可包含数个均质的或异质的处理器14。
在图2中所说明的实例中,多核心处理器14包含四个处理器核心200、201、202、203(即,处理器核心0、处理器核心1、处理器核心2及处理器核心3)。为了易于解释,本文中的实例可指图2中所说明的四个处理器核心200、201、202、203。然而,图2中所说明且本文中所描述的四个处理器核心200、201、202、203仅作为一实例而提供,而绝非打算将各种实施例限于四核心处理器系统。计算装置10、SoC 12或多核心处理器14可个别地或以组合包含少于或多于本文中所说明且描述的四个处理器核心200、201、202、203的处理器核心。
图3说明根据一实施例的数据保护系统。数据保护系统300可经配置以监视计算装置资源的虚拟化接口,且通过对资源内容的一些加密以及将资源内容的加密的及未加密的虚拟视图提供给请求存取或使用资源的计算装置10的不同组件(“请求组件”)来保护资源内容。数据保护系统300可包含虚拟化接口监视器302及资源内容密码编译装置304。
虚拟化接口监视器302可经配置以跟踪计算装置资源的所有权,例如存储器16的地址位置、存储存储器24的磁盘块及通信组件22的网络卡伫列识别符。资源的所有权可归因于在计算装置10上执行的应用程序312、操作系统306、超管理器308及/或TrustZone310。
计算装置资源的所有权的贡献可由虚拟化接口监视器302以经配置以连结及/或布置多个数据的表或数据结构进行存储。不限制揭露内容,为了易于解释,本文中参考了由虚拟化接口监视器302存储且在本文中参看图4进一步进行描述的所有权表(图中未示)。所有权表可将经配置以指示操作系统306、超管理器308、TrustZone 310及/或应用程序312中的一个的拥有者识别符(ID)与所拥有的计算装置资源的虚拟资源识别符(例如,虚拟地址)关联。
计算装置资源的到物理资源识别符映射(例如,虚拟地址到物理地址映射)的不同虚拟资源识别符可用于潜在及实际拥有者,例如不同的潜在拥有者可使用映射到同一物理地址的不同虚拟地址。由于到物理资源识别符映射的不同虚拟资源识别符,虚拟化接口监视器302可使用对计算装置资源的声明或请求的虚拟资源识别符而将拥有者与所拥有的计算装置资源关联。
虚拟化接口监视器302可接收、检测或拦截指派存储器资源管理器及计算装置资源的物理指派所有权对计算装置资源的所有权的声明或请求。指派存储器资源管理器可包含操作系统306、超管理器308及/或TrustZone 310。计算装置资源的物理指派所有权可包含操作系统306、超管理器308、TrustZone 310及/或应用程序312。在一些实施例中,虚拟化接口监视器302可管理所有权表,以使得指示计算装置资源的所有权的输入项可在计算装置资源的所有权有变化后被删除或指示为无效。对于计算装置资源的新拥有者,输入项可添加或标记为有效。
在一些实施例中,虚拟化接口监视器302可跟踪指示资源存取请求者的所允许功能的凭证。功能的凭证可由功能的开发人员预先编程或由执行于计算装置10上的编译器来识别。凭证可适用于应用程序312、操作系统306、超管理器308及/或TrustZone 310的功能。在一些实施例中,需要实施认证功能的对资源内容的存取的类型可与凭证相关。
需要实施功能的存取的类型可指示功能需要对资源内容的完全、无遮掩存取、对资源内容的部分遮掩存取抑或对资源内容的遮掩存取。对资源内容的无遮掩存取可允许资源内容的视图在存储时无任何变化或操控而遮掩资源内容,且可允许对资源内容进行读取及写入。对资源内容的部分遮掩存取可允许资源内容的搜索或算术操控,且可经由应用部分或完全同态加密(homomorphic encryption)来达成。对资源内容的遮掩存取可允许可执行而不对资源内容进行读取或写入存取的资源管理操作,且可经由应用强加密(strongencryption)及签名要求来达成。
虚拟化接口监视器302可将功能凭证对存取计算装置资源的请求者的贡献以经配置以连结及/或布置多个数据的表或数据结构进行存储。在一些实施例中,虚拟化接口监视器302还可存储需要实施认证功能的存取的类型。不限制揭露内容,为了易于解释,本文中参考了由虚拟化接口监视器302存储且在本文中参看图5进一步进行描述的凭证表(图中未示)。
虚拟化接口监视器302可接收、检测或拦截存取请求者对计算装置资源的存取的请求。以类似于本文中所描述的跟踪计算装置资源的所有权的方式,虚拟化接口监视器302可使用存取计算装置资源的请求的虚拟资源识别符来确定请求实体是否为拥有者。虚拟化接口监视器302可发现与存取计算装置资源的请求的虚拟资源识别符相关的请求实体。在一些实施例中,虚拟化接口监视器302可使用所有权表,通过将请求的虚拟资源识别符及请求实体识别符与所有权识别符进行比较来确定请求实体是否为拥有者。在一些实施例中,虚拟化接口监视器302可使用请求实体识别符及/或存取计算装置资源的请求的所请求的存取或功能而在凭证表中定位请求实体的功能凭证。虚拟化接口监视器302可识别与请求实体识别符及/或存取计算装置资源的请求的功能凭证相关的存取的类型。在此些实施例中的任一个中,虚拟化接口监视器302可将存储在所有权表及/或凭证表中的与存取计算装置资源的请求相关的任何数据传输到资源内容密码编译装置304。
资源内容密码编译装置304可经配置以确定将应用于资源内容的虚拟视图的遮掩的类型及/或水平,且响应于存取计算装置资源的请求而提供资源内容的虚拟视图。遮掩的类型及/或水平可包含加密的各种类型及水平。应用于计算装置资源的虚拟视图的加密可包含强加密及签名要求,其用以向请求实体完全遮掩资源内容。应用于计算装置资源的虚拟视图的加密可包含部分或完全的同态加密,其用以向请求实体遮掩资源内容,但允许请求实体搜索或算术地操控由同态加密引起的密文。对密文的操作可产生经解密资源内容中的对应结果,但不允许请求实体读取经解密资源内容。应用于计算装置资源的虚拟视图的加密可包含可由拥有者解密以允许拥有者存取资源内容的虚拟复本的加密。在一些实施例中,无加密可应用于计算装置资源的虚拟视图,从而允许拥有者存取资源内容的虚拟复本。
为确定将应用于资源内容的虚拟视图的加密的类型及/或水平,资源内容密码编译装置304可将从虚拟化接口监视器302接收的数据与加密的类型及/或水平关联。从虚拟化接口监视器302接收的数据可包含(例如)拥有者识别符、请求实体识别符、请求实体是否为计算装置资源的拥有者、功能凭证、存取的类型及/或虚拟资源识别符(例如,虚拟地址),或存取计算装置资源的请求的对应物理地址。
资源内容密码编译装置304可来自虚拟化接口监视器302的数据且识别与来自虚拟化接口监视器302的数据相关的加密的类型及/或水平。在一些实施例中,加密的类型及/或水平可作为存取数据的类型的部分由虚拟化接口监视器302提供。在一些实施例中,资源内容密码编译装置304可使用从虚拟化接口监视器302接收的数据与加密的类型及/或水平之间的编程相关性来确定加密的类型及/或水平。举例来说,指示请求实体是拥有者的数据可与轻或无加密相关,而指示请求实体并非拥有者的数据可与强加密相关。类似地,指示所请求功能是非拥有者的认证功能的数据可与完全或部分的同态加密相关,且指示所请求功能是非拥有者的非认证功能的数据与强加密相关。
数据保护系统300可从计算装置资源检索所请求的资源内容,且资源内容密码编译装置304可将加密的类型及/或水平应用于所检索的资源内容的虚拟视图。数据保护系统300可将所请求的资源内容的遮掩或无遮掩虚拟视图传回给请求实体。
在一些实施例中,数据保护系统300可从计算装置资源检索所请求的资源内容,且虚拟化接口监视器302可基于用于存取计算装置资源的请求的存取的类型而传输信号。不同信号可触发资源内容密码编译装置304以将遮掩的类型及/或水平应用于所检索资源内容的虚拟视图。数据保护系统300可将所请求的资源内容的经加密或未加密的虚拟视图传回给请求实体。
如图3中所说明,数据保护系统300可以硬件来实施。计算装置10可执行软件,包含操作系统306、超管理器308、TrustZone 310及/或应用程序312。计算装置10可包含硬件组件,例如存储器16(其可包含存储页表的随机存取存储器(RAM))、翻译后援缓冲器314、处理器14(其可包含CPU)及数据保护系统300。数据保护系统300可包含经配置以实施数据保护系统300的专用硬件或通用硬件,例如SoC 12或处理器14。虚拟化接口监视器302可包含专用硬件或通用硬件,例如处理器14或处理器核心200、201、202、203,及可包含缓冲器的存储器16。资源内容密码编译装置304可包含专用硬件或通用硬件,例如处理器14、处理器核心200、201、202、203及加密发动机或硬件加速器,及可包含缓冲器的存储器16。
图4说明数据保护系统300可使用以存储计算装置资源的所有权的数据的所有权表400的非限制性实例。各种实施可包含所有权数据的不同组合及排序,所有权数据包含拥有者识别符、虚拟资源识别符(例如,虚拟地址)、物理资源识别符(例如,物理地址)及有效性指示符。在一些实施中,术语虚拟资源识别符及物理资源识别符可互换地使用。
实例所有权表400可包含拥有者识别符数据栏402及虚拟资源识别符数据栏404。如下文所进一步论述,所有权表400还可包含可选有效性指示符数据栏406。所有权表400可包含多个行(例如,行408到414),每一行表示计算装置资源的不同所有权。
拥有者识别符数据栏402可包含用于计算装置的每一拥有者或潜在拥有者的特有识别符。所述拥有者识别符可用以传达作为计算装置资源的拥有者的请求存取计算装置资源的实体的身分。
虚拟资源识别符数据栏404可包含用于同一输入项的相关拥有者或潜在拥有者的虚拟资源识别符(例如,虚拟地址),其例如根据虚拟地址到物理地址映射而映射到计算装置资源的物理资源识别符,如在行408到414中。如所述,其它数据可用以将拥有者或潜在拥有者与计算装置资源关联,包含计算装置资源的物理地址及物理计算装置资源识别符。
在一些实施中,所有权表400仅包含用于计算装置资源的当前拥有者的输入项。在此些实施中,输入项可响应于计算装置资源的所有权的变化而从所有权表400去除。去除输入项可涉及删除、无效化或覆写经去除输入项。
在一些实施中,所有权表400可包含可选有效性指示符数据栏406,其可包含用于指示输入项是否指示与同一输入项的拥有者识别符相关联的拥有者的计算装置资源的当前所有权的值。包含可选有效性指示符数据栏406可允许存储计算装置资源的拥有者的过去、当前及潜在输入项。包含指示计算装置资源的当前所有权的值的输入项可包含可选有效性指示符数据栏406中的指定值,例如如行408、410及414中所说明的布尔值“1”。包含指示计算装置资源的过去或潜在所有权的值的输入项可包含可选有效性指示符数据栏406中的不同指定值,例如如行412中所说明的布尔值“0”。包含可选有效性指示符数据栏406的实施可响应于计算装置资源的所有权的变化而保持非当前所有权的输入项。包含可选有效性指示符的实施例可在计算装置资源的所有权经取得时将新输入项添加到所有权表400,或所有权表400可预先填入计算装置资源及其潜在拥有者的可能组合中的一些或全部。在一些实施中,可存在所有权表400中的输入项的数目的极限“N”,且输入项可根据替换准则而去除以便添加当前或潜在所有权。
实例所有权表400说明在各种实施中可解释的多种所有权情形。举例来说,行408说明:由拥有者识别符“O1”指定的拥有者实体可拥有根据用于拥有者及计算装置资源的虚拟资源识别符到计算装置资源映射、由虚拟资源识别符“VA1”表示的计算装置资源。在各种实施中,虚拟资源识别符“VA1”可为映射到拥有者及计算装置资源的物理地址的虚拟地址。在不包含可选有效性指示符数据栏406的实施中,行408中存在数据可指示:由拥有者识别符“O1”指定的拥有者实体当前拥有由虚拟资源识别符“VA1”表示的计算装置资源。当有效性指示符的值为“1”时,相同结果可指示于包含可选有效性指示符数据栏406的实例中。
进一步包含行410说明:行408的同一拥有者实体还可拥有根据用于拥有者及计算装置资源的虚拟资源识别符到计算装置资源映射、由虚拟资源识别符“VA2”表示的计算装置资源。
行412说明:由拥有者识别符“O2”指定的拥有者实体可为根据用于拥有者及计算装置资源的虚拟资源识别符到计算装置资源映射、由虚拟资源识别符“VB1”表示的计算装置资源的拥有者。然而,可选有效性指示符数据栏406中的有效性指示符值“0”可指示:由拥有者识别符“O2”指定的拥有者实体是由虚拟资源识别符“VB1”指示的计算装置资源的过去或潜在拥有者,而非当前拥有者。在不包含可选有效性指示符数据栏406的一些实施中,行412可从所有权表400省略。
图5说明数据保护系统300可使用以存储计算装置资源的过去、当前及/或潜在请求实体的功能凭证的数据的凭证表500的非限制性实例。各种实施可包含功能凭证数据的不同组合及排序,功能凭证数据包含请求实体识别符、凭证数据或凭证数据参考及存取类型。
在一些实施中,术语凭证数据及凭证数据参考可互换地使用。实例凭证表500包含请求实体识别符数据栏502及凭证数据栏504。如本文中进一步所论述,凭证表500还可包含可选存取类型数据栏506。凭证表500可包含多个行(例如行508到514),每一行表示计算装置资源的请求实体的不同认证功能。
请求实体识别符数据栏502可包含针对计算装置的每一请求实体或潜在请求实体的特有识别符。所述请求实体识别符可用以传达请求存取计算装置资源的实体的身分。
凭证数据栏504可包含到凭证存储所在的位置的用于请求实体或请求实体的功能的凭证或参考(例如,指标)。在一些实施中,凭证表500仅包含计算装置资源的当前请求实体的输入项。在此些实施中,输入项可响应于计算装置资源的所有权的变化而从凭证表500去除,使得请求存取各别所拥有计算装置资源的拥有者不可在凭证表500中列出。去除输入项可涉及删除、无效化或覆写经去除输入项。
在一些实施中,凭证表500的输入项可在作出对存取计算装置资源的请求时添加,或凭证表500可预想填入潜在请求实体及其凭证的可能组合中的一些或全部。在一些实施中,即使计算装置资源的所有权有变化,仍可保持输入项。在将拥有者作为请求实体包含在凭证表500中的一些实施中,计算装置资源的所有权可在对资源内容的虚拟视图加密之前经确认。在一些实施中,可存在凭证表500中的输入项的数目的极限“M”,且输入项可根据替换准则而去除以便添加当前或潜在请求实体。
在一些实施中,凭证表500可包含可选存取类型数据栏506,其可包含用于指示请求实体所准许的对资源内容的存取的类型的值。包含可选存取类型数据栏506可允许较快加密,这是因为较少时间及资源可用在确定将使用的加密类型上。包含指示请求实体的存取类型的值及认证功能的输入项可包含与加密的类型及/或水平相关的存取类型的识别符,或包含加密的类型及/或水平的识别符。可选存取类型数据栏506中的值可与认证功能及/或请求实体是否为拥有者相关。
在一些实施中,拥有者请求实体可关于认证功能或不论所述功能而被授予对资源内容的无遮掩存取。行508说明还作为所请求的计算装置资源的拥有者的请求实体的实例。行510到514说明并非所请求的计算装置资源的拥有者的请求实体。行510到514中的请求实体中的每一个的认证功能可与规定存取类型相关,所述规定存取类型控制数据保护系统300可应用于提供给请求实体的所请求的资源内容的虚拟视图的加密的类型及/或水平。举例来说,行510指示:请求实体“R1”的凭证“CA2”可允许所请求的资源内容的虚拟视图的仅部分遮掩。数据保护系统300可将完全或部分同态加密应用于由请求实体“R1”所作出的请求的所请求的资源内容的虚拟视图。类似地,行512及514指示:请求实体“R2”及“RN”的凭证“CB1”及“CC1”分别可仅允许所请求的资源内容的虚拟视图的遮掩。数据保护系统300可将强加密应用于由请求实体“R2”及“RN”所作出的请求的所请求的资源内容的虚拟视图。
数据保护系统300的组件(虚拟化接口监视器302、资源内容密码编译装置304)、所有权表400及凭证表500在各种实施中可以不同方式布置而不背离权利要求书的范围。在一些实施中,所有权表400及凭证表500可组合、分裂成更多表,或包含经描述将包含在所有权表400及凭证表500中的另一个中的一或多个项目。
图6说明根据各种实施例的用于使用虚拟资源视图保护数据的方法600。方法600可在计算装置中使用执行于通用硬件(例如,处理器)上及/或实施数据保护系统、虚拟化接口监视器及/或资源内容密码编译装置的专用硬件上的软件来执行。
在块602中,计算装置可执行资源管理器以将计算装置资源的所有权指派给拥有者。如上文所论述,资源管理器可包含操作系统、超管理器及/或TrustZone,且拥有者可包含应用程序、操作系统、超管理器及/或TrustZone。将计算装置资源的所有权指派给拥有者允许资源管理器在拥有者准备好取得计算装置资源的所有权的情况下向拥有者授予所有权。举例来说,计算装置资源的所有权可指派给拥有者,但拥有者可在准备好取得计算装置资源的所有权之前等待其它资源变得可用或其它程序完成。计算装置资源的所有权的指派在所有权在一时间段未取得的情况下可到期,由此使得计算装置资源可用于指派给其它拥有者。在一些实施例中,对计算装置资源的所有权的指派可响应于对所有权的请求、所有权伫列中的下一个拥有者、对直接信号或资源的可获得性的广播作出响应的第一拥有者,或用于基于各种准则(包含电力及性能参数)确定下一个拥有者的算法。
在块604中,计算装置可监视经指派拥有者对计算装置资源的所有权的请求。在一些实施例中,计算装置资源的经指派拥有者可请求计算装置对计算装置资源的所有权的指派的应答接受的所有权。在一些实施例中,对计算装置资源的所有权的请求可发信到其它组件、系统及/或计算装置资源的所有权的经指派拥有者的潜在拥有者。为监视经指派拥有者对于计算装置资源的所有权的请求,计算装置的组件(例如,处理器、数据保护系统及/或虚拟化接口监视器)可接收、检测或拦截计算装置资源的所有权的请求。
在块606中,计算装置可跟踪计算装置资源的所有权的变化。计算装置的组件(例如,处理器、数据保护系统及/或虚拟化接口监视器)可使用对计算装置资源的所有权的请求的信息来确定作为计算装置资源的拥有者的实体。为跟踪计算装置资源的所有权,计算装置可更新表或数据结构,例如关于参看图7的方法700进一步所描述的所有权表。
在块608中,计算装置可监视任何实体、拥有者或非拥有者的存取计算装置资源的请求。在一些实施例中,计算装置资源的拥有者可请求存取计算装置资源以读取或写入资源内容。在一些实施例中,非拥有者可正当地请求存取计算装置资源,以实施资源内容的管理功能,例如移动、复制或搜索资源内容。然而,非拥有者的存取计算装置资源的一些请求可通过对非拥有者取得控制或有影响以达成对资源内容的存取的恶意演员(maliciousactors)促使。为监视存取计算装置资源的请求,计算装置的组件(例如,处理器、数据保护系统及/或虚拟化接口监视器)可接收、检测或拦截对存取计算装置资源的请求。计算装置可从存取计算装置资源的请求抽取信息,例如目标在存取计算装置资源的请求中的虚拟资源识别符。由此,计算装置可监视计算装置的虚拟化接口(其负责翻译存取计算装置资源的请求中所使用的计算装置资源的虚拟资源识别符),且响应所述请求。举例来说,计算装置可抽取计算装置资源的虚拟地址且监视负责虚拟地址及物理地址翻译的虚拟化接口。
在确定块610中,计算装置可确定受监视的存取计算装置资源的请求是否来源于目标在存取计算装置资源的请求中的计算装置资源的拥有者。不同实体(拥有者及非拥有者)对于同一计算装置资源可使用不同的虚拟资源识别符到计算装置资源映射。虚拟化接口可用以识别计算装置的实体中的哪一个发出存取计算装置资源的请求。
作为确定块610中的操作的部分,计算装置的组件(例如,处理器、数据保护系统及/或虚拟化接口监视器)可使用从存取计算装置资源的请求抽取的信息且将所述信息与所有权表中的信息进行比较。在一些实施中,目标在存取计算装置资源的请求中的虚拟资源识别符可与请求实体相关。相关可使用虚拟化接口映射作出,以识别可请求目标在存取计算装置资源的请求中的虚拟资源识别符的物理。在一些实施中,经识别请求者可与可为所有权表中的拥有者识别符的双倍的物理识别符相关。
在一些实施中,与存取计算装置资源的请求相关的物理识别符及/或虚拟资源识别符可与所有权表中的相同类型的信息的输入项进行比较,以确定是否发现匹配。在一些实施中,所有权表可仅含有当前拥有者的输入项,且匹配可指示请求者是拥有着,而不匹配可指示请求者是非拥有者。在一些实施中,所有权表可包含计算装置资源的过去、当前及/或潜在拥有者的输入项,且来自所有权表的额外信息(如有效性指示符)可经检查以确定匹配是否还指示请求者是拥有着或非拥有者。举例来说,有效性指示符可指示匹配输入项有效,从而指示请求者是拥有着。相反地,有效性指示符可指示匹配输入项无效,从而指示请求者是非拥有者。
响应于确定受监视的存取计算装置资源的请求来源于目标在存取计算装置资源的请求中的计算装置资源的拥有者(即,确定块610=“是”),在块612中,计算装置可提供响应于存取计算装置资源的请求所提供的资源内容的无遮掩/未加密的虚拟视图。针对规定虚拟资源识别符的存取计算装置资源的请求可提示计算装置将计算装置资源的资源内容传回给请求者。在一些实施中,计算装置可经配置以提供资源内容作为虚拟视图。因而,计算装置可能够保护资源内容免于在请求实体对资源内容的处理期间有缺陷或错误的情况下变得损坏。计算装置还可能够通过使用虚拟视图而同时为多个实体提供资源内容的不同存取。在一些实施中,计算装置资源的拥有者可受信任而未被用于资源内容的恶意存取,因此拥有者具备来自拥有者计算装置资源的资源内容的无遮掩/未加密的虚拟视图。在一些实施中,计算装置的组件(包含处理器、数据保护系统及/或资源内容密码编译装置)可在不遮掩/不加密虚拟视图的情况下产生或传递资源内容的虚拟视图。在一些实施中,计算装置组件可被绕过,这是因为不需要遮掩/加密资源内容的虚拟视图。
响应于确定受监视的存取计算装置资源的请求来源于目标在存取计算装置资源的请求中的计算装置资源的非拥有者(即,确定块610=“否”),在块614中,计算装置可遮掩响应于存取计算装置资源的请求所提供的资源内容的虚拟视图。计算装置可确定用以遮掩资源内容的虚拟视图的加密的类型及/或水平,如关于参看图8的方法800进一步所描述。计算装置的组件(包含处理器、数据保护系统及/或资源内容密码编译装置)可遮掩资源内容的虚拟视图,以保护资源内容免于经由非拥有者的恶意存取。在一些实施中,遮掩资源内容的虚拟视图并不禁止非拥有者在不具有资源内容的清楚视图的情况下实施合法存取及管理功能。在一实例中,资源内容在以块移动时可能无意义,这是因为资源内容无变化,仅所述资源内容的位置有变化,或移动资源内容的实体不必知道资源内容的数据的细节。在另一实例中,部分遮掩资源内容可允许对密文的某一搜索及算术操控,其可足以通过非拥有者提供必需反馈或无遮掩资源内容的对应变化而实施功能。
在块616中,计算装置可提供资源内容的遮掩/经加密虚拟视图。类似于块612中的提供无遮掩/未加密的虚拟视图,计算装置可将资源内容的虚拟视图提供给请求实体。然而,提供给非拥有者的虚拟视图经遮掩/经加密。
在块618中,计算装置可跟踪所拥有的计算装置资源的释放。以类似于块604中的监视计算装置资源的所有权的请求的方式,计算装置可接收、检测或拦截指示所拥有的计算装置资源的释放的信号。释放信号可告知其它实体及计算装置的组件:计算装置资源可用于所有权。在一些实施例中,计算装置的组件(例如,处理器、数据保护系统及/或虚拟化接口监视器)可响应于释放信号而更新所有权表。在一些实施例中,指示先前拥有者对计算装置资源的所有权的输入项可从所有权表去除或在所有权表中标记无效。
图7说明根据各种实施例的用于跟踪计算装置资源的所有权的方法700。方法700可在计算装置中使用执行于通用硬件(例如,处理器)上及/或实施数据保护系统、虚拟化接口监视器及/或资源内容密码编译装置的专用硬件上的软件来执行。
在确定块702中,计算装置可确定输入项是否存在于计算装置资源的数据结构或表(例如,所有权表)中。计算装置的组件(例如,处理器、数据保护系统及/或虚拟化接口监视器)可将存取计算装置资源的请求的虚拟资源识别符与存储在所有权表的输入项中的对应信息的值进行比较。具有存取计算装置资源的请求的相同虚拟资源识别符的输入项可指示针对计算装置分量的输入项存在。此外,由于不同拥有者可使用不同虚拟资源识别符而映射到同一计算装置资源,因此具有虚拟资源识别符的输入项可指示针对请求拥有者所拥有的计算装置分量的输入项存在。缺少具有存取计算装置资源的请求的相同虚拟资源识别符的输入项可指示针对计算装置分量的输入项不存在。然而,与存取计算装置资源的请求具有相同虚拟资源识别符的输入项的缺少可实际上指示请求计算装置资源的所有权的当前拥有者在过去、当前或潜在地拥有的计算装置组件的输入项的缺少。由于不同拥有者可使用不同虚拟资源识别符映射到同一计算装置资源,因此输入项可针对计算装置的其它过去、当前或潜在拥有者存在。在一些实施中,计算装置还可检查供其它过去、当前或潜在拥有者使用的计算装置组件的虚拟资源识别符。
响应于确定输入不存在于计算装置资源的所有权表中(即,确定块702=“否”),在块710中,计算装置可在计算装置资源的所有权表中建立一输入项。计算装置的组件(例如,处理器、数据保护系统及/或虚拟化接口监视器)可将数据(包含计算装置资源的所有权的请求的虚拟资源识别符及/或相关于虚拟资源识别符的经识别拥有者识别符)写入到所有权表,以编辑现有输入项或建立新输入项。在一些实施中,现有输入项可能陈旧或不再与计算装置的资源的所有权的状态相关且可被覆写。
在一些实施例中,在可选块712中,计算装置可将计算装置资源的请求拥有者的新输入项标记为有效,如本文中将更详细描述。计算装置可前进到监视任何实体的存取计算装置资源的请求(在块608中),如参看图6所描述。
响应于确定输入项存在于计算装置资源的所有权表中(即,确定块702=“是”),在确定块704中,计算装置可确定计算装置资源的请求拥有者是否与计算装置资源的先前拥有者相同。如本文中所论述,计算装置资源的过去、当前或潜在拥有者可通过计算装置资源的所有权的请求的虚拟资源识别符或相关拥有者识别符来识别。计算装置的组件(例如,处理器、数据保护系统及/或虚拟化接口监视器)可将计算装置资源的所有权请求的数据与经识别输入项进行比较,以确定请求拥有者是否与同一计算装置资源的输入项中所列出的拥有者相同。
响应于确定计算装置资源的请求拥有者不与计算装置资源的先前拥有者相同(即,确定块704=“否”),在可选块708中,计算装置可将具有不同拥有者的计算装置资源的输入项去除或标记无效。计算装置的组件(例如,处理器、数据保护系统及/或虚拟化接口监视器)可去除与计算装置资源所有权请求相同的计算装置资源的具有不同拥有者的任何输入项。在一些实施例中,与计算装置资源所有权请求相同的计算装置资源的具有不同拥有者的输入项可经维持,但通过设定所有权表中的输入项的有效性指示符而标记为无效。同一计算装置资源的其它输入项可通过所述输入项的虚拟资源识别符及所述输入项的同一计算装置资源的各别映射来识别。
在块710中,计算装置可关于计算装置资源在所有权表中建立输入项,且在可选块712中,计算装置可将计算装置资源的请求拥有者的新输入项标记为有效,如本文中进一步描述。在块608中,计算装置可监视任何实体的存取计算装置资源的请求,如参看图6所描述。
响应于确定计算装置资源的请求拥有者与计算装置资源的先前拥有者相同(即,确定块704=“是”),在可选确定块706中,计算装置可确定与计算装置资源的请求拥有者相同的拥有者的输入项是否有效。计算装置的组件(例如,处理器、数据保护系统及/或虚拟化接口监视器)可检查同一计算装置资源及拥有者的所有权表中的输入项的有效性指示符的值。
响应于确定与计算装置资源的请求拥有者相同的拥有者的输入项有效(即,确定块706=“是”),在块608中,计算装置可监视任何实体的存取计算装置资源的请求,如参看图6所描述。
响应于确定计算装置资源的相同拥有者的输入项无效(即,确定块706=“否”),在可选块712中,计算装置可将计算装置资源的相同拥有者的输入项标记为有效。计算装置的组件(例如,处理器、数据保护系统及/或虚拟化接口监视器)可修改所有权表中的有效性指示符的值以指示输入项有效而非无效。在块608中,计算装置可监视任何实体的存取计算装置资源的请求,如参看图6所描述。
图8说明用于使用凭证以用于将加密应用于资源内容的虚拟视图的一实施例方法800。方法800可在计算装置中使用执行于通用硬件(例如,处理器)上及/或实施数据保护系统、虚拟化接口监视器及/或资源内容密码编译装置的专用硬件上的软件来执行。
在块802中,计算装置可确定非拥有者计算装置资源存取请求者针对功能是否与凭证相关联。如本文中所论述,非拥有者资源管理器及应用程序或非拥有者请求实体可对其并不拥有的计算装置资源做出计算装置资源存取请求。资源管理器及应用程序可经配置以执行通过开发人员或通过计算装置的编译器认证的功能。功能的凭证可指示对于非拥有者请求实体所允许的存取资源内容的水平。计算装置的组件(包含处理器、数据保护系统及/或资源内容密码编译装置)可确定输入项是否存在于非拥有者请求实体的数据结构或表(例如,凭证表)中。请求实体识别符可指示针对相关非拥有者请求实体的凭证表中的输入项。缺少凭证表中的输入项可指示请求实体未经认证。
响应于确定非拥有者请求实体与功能的凭证相关联(即,确定块802=“是”),在确定块804中,计算装置可确定存取资源内容指定为部分遮掩抑或完全遮掩。计算装置的组件(包含处理器、数据保护系统及/或资源内容密码编译装置)可从与非拥有者请求实体相关的各别凭证或从及凭证表中的非拥有者请求实体的输入项检索存取类型。在一些实施中,凭证或凭证的参考可存储在凭证表中的非拥有者请求实体的输入项中。计算装置可从凭证表或从凭证的参考的位置检索凭证。从凭证的数据,计算装置检索非拥有者请求实体的存取。在一些实施中,凭证表可包含非拥有者请求实体的输入项中的存取类型,且计算装置可从凭证表中的对应输入项检索存取类型。如本文中所论述,存取类型可指定在将资源内容的虚拟视图提供给非拥有者请求实体时所使用的加密的类型及/或水平或遮掩的水平。
响应于确定存取资源内容经指定为部分遮掩(即,确定块804=“部分”),在块806中,计算装置可遮掩资源内容的虚拟视图/对其加密。计算装置的组件(包含处理器、数据保护系统及/或资源内容密码编译装置)可使用部分或完全同态加密来遮掩资源内容的虚拟视图/对资源内容的虚拟视图加密,部分或完全同态加密经配置以防止对资源内容的观察、使用或操控,但允许对密文的搜索或算术操控。如本文中所论述,非拥有者请求实体仍然可实施一些功能(搜索或算术操控密文)而不存取资源内容,此导致如同对资源内容实施所述功能的类似结果。换句话说,非拥有者请求实体可在不能够读取、写入、操控或解译资源内容的情况下实施特定功能,但仍然可产生类似于能够读取、写入、操控或解译资源内容的情况下的结果的结果。
响应于确定非拥有者请求实体不与功能的凭证相关联(即,确定块802=“否”),或响应于确定存取资源内容经指定为完全遮掩(即,确定块804=“完全”),在块808中,计算装置可遮掩资源内容的虚拟视图/对虚拟视图加密,如本文中进一步描述。计算装置的组件(包含处理器、数据保护系统及/或资源内容密码编译装置)可使用强加密来遮掩资源内容的虚拟视图/对虚拟视图加密,强加密经配置以防止对资源内容的观察、使用或操控。如本文中所论述,非拥有者请求实体仍然可实施一些功能(例如,管理功能),不存取资源内容,但能够存取具有资源内容的数据的不透明块。换句话说,非拥有者请求实体可在不能够读取、写入、操控或解译资源内容的情况下实施特定功能。
如参看图6所描述,在块616中,计算装置可将资源内容的遮掩/经加密虚拟视图提供给请求实体。
各种实施例(包含(但不限于)上文参看图1到8所论述的实施例)可实施于广泛多种计算系统中,所述计算系统可包含适合于与图9中所说明的各种实施例一起使用的实例移动计算装置。移动计算装置900可包含耦合到内部存储器906的处理器902。处理器902可为经指定用于一般或特定处理任务的一或多个多核心集成电路。内部存储器906可为易失性或非易失性存储器,且还可为安全及/或加密存储器,或不安全及/或未加密的存储器,或其任何组合。可利用的存储器类型的实例包含(但不限于)DDR、LPDDR、GDDR、WIDEIO、RAM、SRAM、DRAM、P-RAM、R-RAM、M-RAM、STT-RAM,及嵌入型动态随机存取存储器(DRAM)。
处理器902可耦合到移动计算装置的显示器912,其可具有或可不具有触控屏幕能力。在一些实施中,显示器912可为触控屏幕面板912,例如电阻性感测触控屏幕、电容性感测触控屏幕、红外线感测触控屏幕等。触控屏幕显示器912可耦合到触控屏幕控制器904及处理器902。
移动计算装置900可具有用于发送及接收通信、彼此耦合及/或耦合到处理器902的一或多个无线电信号收发器908(例如,花生(Peanut)、蓝牙、ZigBee、Wi-Fi、RF无线电)及天线910。收发器908及天线910可与上文所提及的电路一起使用,以实施各种无线传输协议堆叠及接口。移动计算装置900可包含蜂窝式网络无线调制解调器芯片916,其实现经由蜂窝式网络的通信且耦合到处理器。
移动计算装置900可包含耦合到处理器902的外围装置连接接口918。外围装置连接接口918可单一地经配置以接受一种类型的连接,或可经配置以接受共同或专有的各种类型的物理及通信连接,例如USB、FireWire、Thunderbolt或PCIe。外围装置连接接口918还可耦合到经类似地配置的外围装置连接端口(图中未示)。
移动计算装置900还可包含用于提供音频输出的扬声器914。移动计算装置900还可包含用于含有本文中所论述的组件的全部或一些的外壳920,其由塑料、金属或材料的组合构建。移动计算装置900可包含耦合到处理器902的电源922,例如一次性或可再充电电池。可再充电电池还可耦合到外围装置连接端口以从移动计算装置900外部的电源接收充电电流。移动计算装置900还可包含用于接收用户输入的物理按钮924。移动计算装置900还可包含用于打开及关闭移动计算装置900的电源按钮926。
各种实施例(包含(但不限于)如上文参看图1到8所论述的实施例)可实施于广泛多种计算系统中,所述计算系统可包含多种移动计算装置,例如图10中所说明的膝上型计算机1000。许多膝上型计算机包含充当计算机的指标装置的触控板触控表面1017,且因此可接收类似于在配备有触控屏幕显示器及上文所描述的计算装置上实施的那些手势的拖曳(drag)、卷动(scroll)及拨动(flick)手势。膝上型计算机1000将通常包含耦合到易失性存储器1012及大容量非易失性存储器(例如,快闪存储器的磁盘机1013)的处理器1011。另外,计算机1000可具有用于发送及接收电磁辐射的一或多个天线1008,天线可连接到耦合到处理器1011的无线数据链路及/或蜂窝式电话收发器1016。计算机1000还可包含耦合到处理器1011的软盘驱动机1014及紧密光盘(CD)驱动机1015。在笔记型计算机配置中,计算机壳体包含触控板1017、键盘1018及显示器1019,其均耦合到处理器1011。计算装置的其它配置可包含所熟知的耦合到处理器(例如,经由通用串行总线(USB)输入端)的计算机鼠标或轨迹球,其还可结合各种实施例而使用。
各种实施例(包含(但不限于)上文参看图1到8所论述的实施例)可实施于广泛多种计算系统中,所述计算系统可包含多种可购得的计算装置(例如,服务器)中的任一个。实例服务器1100说明于图11中。此服务器1100通常包含耦合到易失性存储器1102及大容量非易失性存储器(例如,磁盘机1104)的一或多个多核心处理器组合件1101。如图11中所说明,多核心处理器组合件1101可通过插入到组合件的机架中而添加到服务器1100。服务器1100还可包含耦合到处理器1101的软盘驱动机、紧密光盘(CD)或DVD光盘驱动机1106。服务器1100还可包含耦合到多核心处理器组合件1101以用于建立与网络1105的网络接口连接的网络存取端口1103,所述网络例如耦合到其它广播系统计算机及服务器的局域网、因特网、公众交换电话网络及/或蜂窝式数据网络(例如,CDMA、TDMA、GSM、PCS、3G、4G、LTE,或任何其它类型的蜂窝式数据网络)。
用于在可编程处理器上执行以用于进行各种实施例的操作的计算机程序码或“程序码”可以例如C、C++、C#、Smalltalk、Java、JavaScript、Visual Basic、结构化查询语言(例如,交易SQL)、Perl的高阶编程语言或以各种其它编程语言写入。如本申请案中所使用的存储在计算机可读存储媒体上的程序码或程式可指机器语言程序码(例如,目标程序码),其格式可由处理器理解。
前述方法描述及程序流程图是仅作为说明性实例而提供,且并不打算要求或暗示必须以所呈现的次序执行各种实施例的操作。如将由所属领域的技术人员了解,可以任何次序执行前述实施例中的操作的次序。例如“此后”、“接着”、“随后”等的词并不打算限制操作的次序;此些词仅用以引导读者阅读方法的描述。此外,对呈单数形式的权利要求书元件的任何提及(例如,使用词“一”或“所述”)不应解释为将元件限于单数形式。
结合各种实施例所描述的各种说明性逻辑块、模块、电路及算法操作可实施为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件与软件的此互换性,已在上文中就各种说明性组件、块、模块、电路及操作的功能性对其加以大体描述。将此功能性实施为硬件或软件视特定应用及强加于整个系统的设计约束而定。所属领域的技术人员可针对每一特定应用而以不同方式实施所描述的功能性,但所述实施决策不应被解释为引起脱离权利要求书的范围。
通过通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑装置、离散闸或晶体管逻辑、离散硬件组件或其经设计以执行本文中所描述的功能的任何组合,可实施或执行用以实施结合本文中所公开的实施例所描述的各种说明性逻辑、逻辑块、模块及电路的硬件。通用处理器可为微处理器,但在替代方案中,处理器可为任何常规的处理器、控制器、微控制器或状态机。处理器还可实施为计算装置的组合,例如,一DSP与一微处理器的组合、多个微处理器、一或多个微处理器结合DSP核心或任何其它此配置。替代地,一些操作或方法可由特定于给定功能的电路来执行。
在一或多个实施例中,所描述功能可以硬件、软件、固件或其任何组合来实施。如果以软件来实施,那么所述功能可作为一或多个指令或程序码存储在非暂时性计算机可读媒体或非暂时性处理器可读媒体上。本文中所公开的方法或算法的操作可体现于处理器可执行软件模块中,处理器可执行软件模块可驻留在非暂时性计算机可读或处理器可读存储媒体上。非暂时性计算机可读或处理器可读存储媒体可为可由计算机或处理器存取的任何存储媒体。作为实例而非限制,此非暂时性计算机可读或处理器可读媒体可包含RAM、ROM、EEPROM、FLASH存储器、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置,或可用于以指令或数据结构的形式存储所要程序码且可由计算机存取的任何其它媒体。如本文所使用的磁盘及光盘包含紧密光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软盘及蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘用激光以光学方式再现数据。以上各者的组合还包含在非暂时性计算机可读及处理器可读媒体的范围内。另外,方法或算法的操作可作为程序码及/或指令中的一个或任何组合或集合而驻留在可并入到计算机程序产品中的非暂时性处理器可读媒体及/或计算机可读媒体上。
提供对所公开实施例的先前描述以使任何所属领域的技术人员能够制作或使用权利要求书。对此些实施例的各种修改将对所属领域的技术人员显而易见,且可在不脱离权利要求书的范围的情况下将本文中所定义的一般原理应用于其它实施例。因此,本发明并不打算受限于本文中展示的实施例,而应符合与以下权利要求书及本文中公开的原理及新颖特征一致的最广范围。

Claims (28)

1.一种使用资源内容的虚拟视图来保护数据的方法,其包括:
通过计算装置的虚拟化接口监视器来监视第一请求实体对存取计算装置资源的请求;
通过所述虚拟化接口监视器来确定所述第一请求实体是否为所述计算装置资源的拥有者;
响应于确定所述第一请求实体是所述计算装置资源的所述拥有者,通过所述计算装置的数据保护系统将所述计算装置资源的资源内容的无遮掩虚拟视图提供给所述第一请求实体;及
响应于确定所述第一请求实体是所述计算装置资源的非拥有者,通过所述数据保护系统将所述计算装置资源的所述资源内容的遮掩虚拟视图提供给所述第一请求实体。
2.根据权利要求1所述的方法,其进一步包括:
通过资源内容密码编译装置来确定所述第一请求实体是否具有认证功能;
响应于确定所述第一请求实体具有认证功能,通过所述资源内容密码编译装置来确定所述第一请求实体的存取类型;及
响应于确定所述第一请求实体是所述计算装置资源的非拥有者,通过所述计算装置的资源内容密码编译装置,使用基于所述存取类型的遮掩水平而遮掩所述计算装置资源的所述资源内容的所述虚拟视图。
3.根据权利要求2所述的方法,其中所述存取类型包含部分遮掩及遮掩,且其中使用基于所述存取类型的遮掩水平而遮掩所述计算装置资源的所述资源内容的所述虚拟视图包括:
响应于确定用于所述第一请求实体的所述存取类型为部分遮掩,通过所述资源内容密码编译装置,使用同态加密对所述计算装置资源的所述资源内容的所述虚拟视图加密;及
响应于确定用于所述第一请求实体的所述存取类型为遮掩,通过所述资源内容密码编译装置,使用强加密对所述计算装置资源的所述资源内容的所述虚拟视图加密。
4.根据权利要求1所述的方法,其进一步包括:
通过所述虚拟化接口监视器,关于所述计算装置资源的所有权变化对虚拟化接口进行监视;及
通过所述虚拟化接口监视器来存储与用于所述第一请求实体的所述计算装置资源的虚拟资源识别符相关的所述第一请求实体的第一拥有者识别符,其中所述第一拥有者识别符指示所述第一请求实体经授予所述计算装置资源的所有权且所述虚拟资源识别符经映射到所述计算装置资源的物理资源识别符。
5.根据权利要求4所述的方法,其中关于所述计算装置资源的所有权变化对虚拟化接口进行监视包括监视第二请求实体对所述计算装置资源的所有权的请求。
6.根据权利要求1所述的方法,其中确定所述第一请求实体是否为所述计算装置资源的拥有者包括:
通过所述虚拟化接口监视器,将存取所述计算装置资源的所述请求的虚拟资源识别符与相关于所述计算装置资源的虚拟资源识别符的所存储拥有者识别符进行比较;及
在存取所述计算装置资源的所述请求的所述虚拟资源识别符与所述计算装置资源的所述虚拟资源识别符匹配时,确定所述第一请求实体是所述计算装置资源的所述拥有者。
7.根据权利要求1所述的方法,其中:
所述计算装置资源的所述拥有者是应用程序;且
所述计算装置资源的所述非拥有者为资源管理器,包含操作系统内核、超管理器及TrustZone中的一个。
8.一种计算装置,其包括:
数据保护系统,其包括虚拟化接口监视器及资源内容密码编译装置,
其中所述虚拟化接口监视器经虚拟化接口监视器可执行指令配置以执行包括以下各者的操作:
监视第一请求实体对存取计算装置资源的请求;及
确定所述第一请求实体是否为所述计算装置资源的拥有者,且
其中所述数据保护系统经数据保护系统可执行指令配置以执行包括以下各者的操作:
响应于确定所述第一请求实体是所述计算装置资源的所述拥有者,将所述计算装置资源的资源内容的无遮掩虚拟视图提供给所述第一请求实体;及
响应于确定所述第一请求实体是所述计算装置资源的非拥有者,将所述计算装置资源的所述资源内容的遮掩虚拟视图提供给所述第一请求实体。
9.根据权利要求8所述的计算装置,其中所述资源内容密码编译装置经资源内容密码编译装置可执行指令配置以执行进一步包括以下各者的操作:
确定所述第一请求实体是否具有认证功能;
响应于确定所述第一请求实体具有认证功能,确定所述第一请求实体的存取类型;及
响应于确定所述第一请求实体是所述计算装置资源的非拥有者,遮掩所述计算装置资源的所述资源内容的虚拟视图。
10.根据权利要求9所述的计算装置,其中所述存取类型包含部分遮掩及遮掩,且其中所述资源内容密码编译装置经资源内容密码编译装置可执行指令配置以执行操作,以使得使用基于所述存取类型的遮掩水平而遮掩所述计算装置资源的所述资源内容的所述虚拟视图包括:
响应于确定用于所述第一请求实体的所述存取类型为部分遮掩,使用同态加密对所述计算装置资源的所述资源内容的所述虚拟视图加密;及
响应于确定用于所述第一请求实体的所述存取类型为遮掩,使用强加密对所述计算装置资源的所述资源内容的所述虚拟视图加密。
11.根据权利要求8所述的计算装置,其中所述虚拟化接口监视器经虚拟化接口监视器可执行指令配置以执行进一步包括以下各者的操作:
关于所述计算装置资源的所有权变化对虚拟化接口进行监视;及
存储与用于所述第一请求实体的所述计算装置资源的虚拟资源识别符相关的所述第一请求实体的第一拥有者识别符,其中所述第一拥有者识别符指示所述第一请求实体经授予所述计算装置资源的所有权且所述虚拟资源识别符经映射到所述计算装置资源的物理资源识别符。
12.根据权利要求11的计算装置,其中所述虚拟化接口监视器经虚拟化接口监视器可执行指令配置以执行操作,以使得关于所述计算装置资源的所有权变化对虚拟化接口进行监视包括监视第二请求实体对所述计算装置资源的所有权的请求。
13.根据权利要求8所述的计算装置,其中所述虚拟化接口监视器经虚拟化接口监视器可执行指令配置以执行操作,以使得确定所述第一请求实体是否为所述计算装置资源的拥有者包括:
将存取所述计算装置资源的所述请求的虚拟资源识别符与相关于所述计算装置资源的虚拟资源识别符的所存储拥有者识别符进行比较;及
在存取所述计算装置资源的所述请求的所述虚拟资源识别符与所述计算装置资源的所述虚拟资源识别符匹配时,确定所述第一请求实体是所述计算装置资源的所述拥有者。
14.根据权利要求8所述的计算装置,其进一步包括以通信方式连接到所述数据保护系统的多个处理器,且其中:
所述计算装置资源的所述拥有者是在所述多个处理器中的第一处理器上执行的应用程序;且
所述计算装置资源的所述非拥有者为在所述多个处理器中的第二处理器上执行的资源管理器,包含操作系统内核、超管理器及TrustZone中的一个。
15.一种经配置用于使用资源内容的虚拟视图来保护数据的计算装置,其包括:
用于监视第一请求实体对存取计算装置资源的请求的装置;
用于确定所述第一请求实体是否为所述计算装置资源的拥有者的装置;
用于响应于确定所述第一请求实体是所述计算装置资源的所述拥有者,将所述计算装置资源的资源内容的无遮掩虚拟视图提供给所述第一请求实体的装置;及
用于响应于确定所述第一请求实体是所述计算装置资源的非拥有者,将所述计算装置资源的资源内容的遮掩虚拟视图提供给所述第一请求实体的装置。
16.根据权利要求15所述的计算装置,其进一步包括:
用于确定所述第一请求实体是否具有认证功能的装置;及
用于响应于确定所述第一请求实体具有认证功能,确定所述第一请求实体的存取类型的装置;及
用于响应于确定所述第一请求实体是所述计算装置资源的非拥有者,使用基于所述存取类型的遮掩水平而遮掩所述计算装置资源的所述资源内容的所述虚拟视图的装置。
17.根据权利要求16所述的计算装置,其中所述存取类型包含部分遮掩及遮掩,且其中用于使用基于所述存取类型的遮掩水平而遮掩所述计算装置资源的所述资源内容的所述虚拟视图的装置包括:
用于响应于确定用于所述第一请求实体的所述存取类型为部分遮掩,使用同态加密对所述计算装置资源的所述资源内容的所述虚拟视图加密的装置;及
用于响应于确定用于所述第一请求实体的所述存取类型为遮掩,使用强加密对所述计算装置资源的所述资源内容的所述虚拟视图加密的装置。
18.根据权利要求15所述的计算装置,其进一步包括:
用于关于所述计算装置资源的所有权变化对虚拟化接口进行监视的装置;及
用于存储与用于所述第一请求实体的所述计算装置资源的虚拟资源识别符相关的所述第一请求实体的第一拥有者识别符,其中所述第一拥有者识别符指示所述第一请求实体经授予所述计算装置资源的所有权且所述虚拟资源识别符经映射到所述计算装置资源的物理资源识别符。
19.根据权利要求18所述的计算装置,其中用于关于所述计算装置资源的所有权变化对虚拟化接口进行监视的装置包括用于监视第二请求实体对所述计算装置资源的所有权的请求的装置。
20.根据权利要求15所述的计算装置,其中用于确定所述第一请求实体是否为所述计算装置资源的拥有者的装置包括:
用于将存取所述计算装置资源的所述请求的虚拟资源识别符与相关于所述计算装置资源的虚拟资源识别符的所存储拥有者识别符进行比较的装置;及
用于在存取所述计算装置资源的所述请求的所述虚拟资源识别符与所述计算装置资源的所述虚拟资源识别符匹配时,确定所述第一请求实体是所述计算装置资源的所述拥有者的装置。
21.根据权利要求15所述的计算装置,其中:
所述计算装置资源的所述拥有者是应用程序;且
所述计算装置资源的所述非拥有者为资源管理器,包含操作系统内核、超管理器及TrustZone中的一个。
22.一种非暂时性处理器可读存储媒体,其上存储有处理器可执行指令,所述指令经配置以使计算装置的处理器执行包括以下各者的操作:
监视第一请求实体对存取计算装置资源的请求;
确定所述第一请求实体是否为所述计算装置资源的拥有者;
响应于确定所述第一请求实体是所述计算装置资源的所述拥有者,将所述计算装置资源的资源内容的无遮掩虚拟视图提供给所述第一请求实体;及
响应于确定所述第一请求实体是所述计算装置资源的非拥有者,将所述计算装置资源的资源内容的遮掩虚拟视图提供给所述第一请求实体。
23.根据权利要求22所述的非暂时性处理器可读存储媒体,其中所述所存储的处理器可执行指令经配置以使所述处理器执行进一步包括以下各者的操作:
确定所述第一请求实体是否具有认证功能;
响应于确定所述第一请求实体具有认证功能,确定所述第一请求实体的存取类型;及
响应于确定所述第一请求实体是所述计算装置资源的非拥有者,使用基于所述存取类型的遮掩水平而遮掩所述计算装置资源的所述资源内容的虚拟视图。
24.根据权利要求23所述的非暂时性处理器可读存储媒体,其中所述存取类型包含部分遮掩及遮掩,且其中所述所存储的处理器可执行指令经配置以使所述处理器执行操作,以使得使用基于所述存取类型的遮掩水平而遮掩所述计算装置资源的所述资源内容的所述虚拟视图包括:
响应于确定用于所述第一请求实体的所述存取类型为部分遮掩,使用同态加密对所述计算装置资源的所述资源内容的所述虚拟视图加密;及
响应于确定用于所述第一请求实体的所述存取类型为遮掩,使用强加密对所述计算装置资源的所述资源内容的所述虚拟视图加密。
25.根据权利要求22所述的非暂时性处理器可读存储媒体,其中所述所存储的处理器可执行指令经配置以使所述处理器执行进一步包括以下各者的操作:
关于所述计算装置资源的所有权变化对虚拟化接口进行监视;及
存储与用于所述第一请求实体的所述计算装置资源的虚拟资源识别符相关的所述第一请求实体的第一拥有者识别符,其中所述第一拥有者识别符指示所述第一请求实体经授予所述计算装置资源的所有权且所述虚拟资源识别符经映射到所述计算装置资源的物理资源识别符。
26.根据权利要求25所述的非暂时性处理器可读存储媒体,其中所述所存储的处理器可执行指令经配置以使所述处理器执行操作,以使得关于所述计算装置资源的所有权变化对虚拟化接口进行监视包括监视第二请求实体对所述计算装置资源的所有权的请求。
27.根据权利要求22所述的非暂时性处理器可读存储媒体,其中所述所存储的处理器可执行指令经配置以使所述处理器执行操作,以使得确定所述第一请求实体是否为所述计算装置资源的拥有者包括:
将存取所述计算装置资源的所述请求的虚拟资源识别符与相关于所述计算装置资源的虚拟资源识别符的所存储拥有者识别符进行比较;及
在存取所述计算装置资源的所述请求的所述虚拟资源识别符与所述计算装置资源的所述虚拟资源识别符匹配时,确定所述第一请求实体是所述计算装置资源的所述拥有者。
28.根据权利要求22所述的非暂时性处理器可读存储媒体,其中:
所述计算装置资源的所述拥有者是应用程序;且
所述计算装置资源的所述非拥有者为资源管理器,包含操作系统内核、超管理器及TrustZone中的一个。
CN201780016506.3A 2016-03-22 2017-02-24 使用虚拟资源视图的数据保护 Pending CN108713194A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/076,936 2016-03-22
US15/076,936 US20170277903A1 (en) 2016-03-22 2016-03-22 Data Protection Using Virtual Resource Views
PCT/US2017/019396 WO2017165073A1 (en) 2016-03-22 2017-02-24 Data protection using virtual resource views

Publications (1)

Publication Number Publication Date
CN108713194A true CN108713194A (zh) 2018-10-26

Family

ID=58264630

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780016506.3A Pending CN108713194A (zh) 2016-03-22 2017-02-24 使用虚拟资源视图的数据保护

Country Status (9)

Country Link
US (1) US20170277903A1 (zh)
EP (1) EP3433748A1 (zh)
JP (1) JP6903682B2 (zh)
KR (1) KR20180124048A (zh)
CN (1) CN108713194A (zh)
BR (1) BR112018069030A2 (zh)
CA (1) CA3014917A1 (zh)
TW (1) TW201737059A (zh)
WO (1) WO2017165073A1 (zh)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3140734B1 (en) 2014-05-09 2020-04-08 Nutanix, Inc. Mechanism for providing external access to a secured networked virtualization environment
CN105184154B (zh) * 2015-09-15 2017-06-20 中国科学院信息工程研究所 一种在虚拟化环境中提供密码运算服务的系统和方法
US10831465B2 (en) 2016-02-12 2020-11-10 Nutanix, Inc. Virtualized file server distribution across clusters
US11218418B2 (en) 2016-05-20 2022-01-04 Nutanix, Inc. Scalable leadership election in a multi-processing computing environment
US11562034B2 (en) 2016-12-02 2023-01-24 Nutanix, Inc. Transparent referrals for distributed file servers
US10728090B2 (en) 2016-12-02 2020-07-28 Nutanix, Inc. Configuring network segmentation for a virtualization environment
US11568073B2 (en) 2016-12-02 2023-01-31 Nutanix, Inc. Handling permissions for virtualized file servers
US10824455B2 (en) * 2016-12-02 2020-11-03 Nutanix, Inc. Virtualized server systems and methods including load balancing for virtualized file servers
US11294777B2 (en) 2016-12-05 2022-04-05 Nutanix, Inc. Disaster recovery for distributed file servers, including metadata fixers
US11288239B2 (en) 2016-12-06 2022-03-29 Nutanix, Inc. Cloning virtualized file servers
US11281484B2 (en) 2016-12-06 2022-03-22 Nutanix, Inc. Virtualized server systems and methods including scaling of file system virtual machines
US10558250B2 (en) * 2016-12-23 2020-02-11 Oracle International Corporation System and method for coordinated link up handling following switch reset in a high performance computing network
GB2563885B (en) * 2017-06-28 2019-10-23 Advanced Risc Mach Ltd Interrupting export of memory regions
CN109726580B (zh) * 2017-10-31 2020-04-14 阿里巴巴集团控股有限公司 一种数据统计方法和装置
CN110019475B (zh) * 2017-12-21 2021-07-20 华为技术有限公司 数据持久化处理方法、装置及系统
US11086826B2 (en) 2018-04-30 2021-08-10 Nutanix, Inc. Virtualized server systems and methods including domain joining techniques
US11194680B2 (en) 2018-07-20 2021-12-07 Nutanix, Inc. Two node clusters recovery on a failure
US11770447B2 (en) 2018-10-31 2023-09-26 Nutanix, Inc. Managing high-availability file servers
US11768809B2 (en) 2020-05-08 2023-09-26 Nutanix, Inc. Managing incremental snapshots for fast leader node bring-up
CN113992425B (zh) * 2021-11-12 2022-09-23 北京天融信网络安全技术有限公司 一种收发网络数据包的方法、网络设备以及通信系统

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080271015A1 (en) * 2007-04-26 2008-10-30 Ibrahim Wael M Virtual machine control
CN101520753A (zh) * 2008-02-29 2009-09-02 Arm有限公司 数据处理设备和控制虚拟机对安全存储器的访问的方法
CN102763098A (zh) * 2009-12-14 2012-10-31 思杰系统有限公司 用于在可信和不可信虚拟机之间通信的方法和系统
CN102971706A (zh) * 2010-05-10 2013-03-13 思杰系统有限公司 将信息从安全虚拟机重定向到不安全虚拟机
US20130097417A1 (en) * 2011-10-13 2013-04-18 Microsoft Corporation Secure private computation services
CN104106051A (zh) * 2012-02-09 2014-10-15 西里克斯系统公司 标记云计算环境中的物理资源
CN104303154A (zh) * 2012-06-20 2015-01-21 英特尔公司 监视由虚拟机的资源使用
US20150248357A1 (en) * 2014-02-28 2015-09-03 Advanced Micro Devices, Inc. Cryptographic protection of information in a processing system
JP2015532499A (ja) * 2012-10-19 2015-11-09 マカフィー, インコーポレイテッド リアルタイムモジュールプロテクション

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6772350B1 (en) * 1998-05-15 2004-08-03 E.Piphany, Inc. System and method for controlling access to resources in a distributed environment
US8819676B2 (en) * 2007-10-30 2014-08-26 Vmware, Inc. Transparent memory-mapped emulation of I/O calls
US8856504B2 (en) * 2010-06-07 2014-10-07 Cisco Technology, Inc. Secure virtual machine bootstrap in untrusted cloud infrastructures
US9503268B2 (en) * 2013-01-22 2016-11-22 Amazon Technologies, Inc. Securing results of privileged computing operations
US9396011B2 (en) * 2013-03-12 2016-07-19 Qualcomm Incorporated Algorithm and apparatus to deploy virtual machine monitor on demand

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080271015A1 (en) * 2007-04-26 2008-10-30 Ibrahim Wael M Virtual machine control
CN101520753A (zh) * 2008-02-29 2009-09-02 Arm有限公司 数据处理设备和控制虚拟机对安全存储器的访问的方法
CN102763098A (zh) * 2009-12-14 2012-10-31 思杰系统有限公司 用于在可信和不可信虚拟机之间通信的方法和系统
CN102971706A (zh) * 2010-05-10 2013-03-13 思杰系统有限公司 将信息从安全虚拟机重定向到不安全虚拟机
US20130097417A1 (en) * 2011-10-13 2013-04-18 Microsoft Corporation Secure private computation services
CN104106051A (zh) * 2012-02-09 2014-10-15 西里克斯系统公司 标记云计算环境中的物理资源
CN104303154A (zh) * 2012-06-20 2015-01-21 英特尔公司 监视由虚拟机的资源使用
JP2015532499A (ja) * 2012-10-19 2015-11-09 マカフィー, インコーポレイテッド リアルタイムモジュールプロテクション
US20150248357A1 (en) * 2014-02-28 2015-09-03 Advanced Micro Devices, Inc. Cryptographic protection of information in a processing system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
黄琛: ""存储虚拟化系统安全设计和实现"", 《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》 *

Also Published As

Publication number Publication date
EP3433748A1 (en) 2019-01-30
JP6903682B2 (ja) 2021-07-14
TW201737059A (zh) 2017-10-16
BR112018069030A2 (pt) 2019-01-29
KR20180124048A (ko) 2018-11-20
CA3014917A1 (en) 2017-09-28
US20170277903A1 (en) 2017-09-28
WO2017165073A1 (en) 2017-09-28
JP2019512811A (ja) 2019-05-16

Similar Documents

Publication Publication Date Title
CN108713194A (zh) 使用虚拟资源视图的数据保护
KR102347562B1 (ko) 보안 제어 방법 및 컴퓨터 시스템
KR102107711B1 (ko) 처리 시스템에서의 직접 메모리 액세스 인가
US9529735B2 (en) Secure data encryption in shared storage using namespaces
US9792448B2 (en) Cryptographic protection of information in a processing system
KR101813481B1 (ko) 사용자 정보를 익명 처리하는 장치, 저장 매체 및 방법
CN104995895B (zh) 兼容扩展卸载令牌大小
US20170250802A1 (en) Information-processing system, information-processing apparatus, management apparatus, and processing method
JP2019522298A (ja) コンピューティングデバイスのメモリ内のページに対するアクセス制御
US10372628B2 (en) Cross-domain security in cryptographically partitioned cloud
CN107771335A (zh) 受保护区域
CN107735768A (zh) 安全初始化
CN107690628A (zh) 具有所有权表的数据处理装置和方法
CN109002706A (zh) 一种基于用户级页表的进程内数据隔离保护方法和系统
US20150078550A1 (en) Security processing unit with configurable access control
CN103488919B (zh) 一种可执行程序的保护方法及装置
JP2014086089A (ja) セキュリティ管理ユニットとそれを含むホストコントローラインターフェース及びその動作方法、並びにホストコントローラインターフェースを含むコンピュータシステム
US20090031142A1 (en) System, Method and Computer Program Product for Processing a Memory Page
US20150341371A1 (en) Systems and methods to provide secure storage
US20150227755A1 (en) Encryption and decryption methods of a mobile storage on a file-by-file basis
US20220129566A1 (en) Secure application execution in a data processing system
JP6696352B2 (ja) プログラマブルロジック装置、情報処理装置、処理方法、及び処理プログラム
CN109891425A (zh) 序列验证
CN114626084A (zh) 用于控制对数据的访问的安全智能容器
CN115298655A (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
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20181026