CN106295267B - 一种访问电子设备的物理内存中私密数据的方法和装置 - Google Patents

一种访问电子设备的物理内存中私密数据的方法和装置 Download PDF

Info

Publication number
CN106295267B
CN106295267B CN201510314210.2A CN201510314210A CN106295267B CN 106295267 B CN106295267 B CN 106295267B CN 201510314210 A CN201510314210 A CN 201510314210A CN 106295267 B CN106295267 B CN 106295267B
Authority
CN
China
Prior art keywords
data
access
electronic equipment
private
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.)
Active
Application number
CN201510314210.2A
Other languages
English (en)
Other versions
CN106295267A (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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201510314210.2A priority Critical patent/CN106295267B/zh
Priority to PCT/CN2016/084440 priority patent/WO2016197850A1/zh
Publication of CN106295267A publication Critical patent/CN106295267A/zh
Priority to US15/836,724 priority patent/US10719456B2/en
Application granted granted Critical
Publication of CN106295267B publication Critical patent/CN106295267B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • 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/31User authentication
    • 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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • 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/145Protection 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 virtual, e.g. for virtual blocks or segments before a translation mechanism
    • 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
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • 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
    • 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
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1041Resource optimization
    • G06F2212/1044Space efficiency improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1052Security improvement

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Abstract

本申请提供了一种访问电子设备的物理内存中私密数据的方法和装置,其中所述方法包括:接收来自电子设备中运行的进程、访问物理内存中私密数据的请求;通过电子设备的虚拟机监视器中加入的安全内存访问接口来访问物理内存中特定物理地址区间中的私密数据,其中在电子设备的内存管理单元中不建立该特定物理地址区间的映射关系,所述安全内存访问接口被预先设计成实现对物理内存中所述特定物理地址区间中的私密数据的访问。本申请的方法和装置可以提升私密数据在物理内存中的安全性。

Description

一种访问电子设备的物理内存中私密数据的方法和装置
技术领域
本申请涉及电子技术领域,尤其涉及一种访问电子设备的物理内存中私密数据的方法和装置。
背景技术
对于目前的大多数电子设备而言,例如计算机、手机等,由于现有技术中缺乏对电子设备物理内存中私密数据(诸如用户付款的账户名称、支付密码等)的保护,私密数据和普通数据都无差别地基于内存管理单元来管理,而操作系统在任何情况下都可以基于内存管理单元所建立的地址映射关系来访问物理内存中的私密数据,因而黑客可以利用恶意程序或病毒攻击操作系统来获得操作系统的访问权限,从而随意地访问电子设备中的私密数据,从而严重威胁到用户的隐私安全。
发明内容
本申请的目的之一是提升私密数据在物理内存中的安全性。
根据本申请的一个方面,提供了一种访问电子设备的物理内存中私密数据的方法,所述方法包括:
接收来自电子设备中运行的进程、访问物理内存中私密数据的请求;
通过电子设备的虚拟机监视器中加入的安全内存访问接口来访问物理内存中特定物理地址区间中的私密数据,其中在电子设备的内存管理单元中不建立该特定物理地址区间的映射关系,所述安全内存访问接口被预先设计成实现对物理内存中所述特定物理地址区间中的私密数据的访问。
根据本申请的另一个方面,还提供了一种访问电子设备的物理内存中私密数据的装置,所述装置包括:
接收单元,被配置为接收来自电子设备中运行的进程、访问物理内存中私密数据的请求;
访问单元,被配置为通过电子设备的虚拟机监视器中加入的安全内存访问接口来访问物理内存中特定物理地址区间中的私密数据,其中在电子设备的内存管理单元中不建立该特定物理地址区间的映射关系,所述安全内存访问接口被预先设计成实现对物理内存中所述特定物理地址区间中的私密数据的访问。
与现有技术相比,本申请通过在电子设备的虚拟机监视器中加入安全内存访问接口,从而实现对物理内存中私密数据的访问只有通过安全内存访问接口才能进行,而无法通过操作系统正常地访问物理内存中的私密数据,进而防止恶意程序或病毒通过获取操作系统的访问权限来截取物理内存中的私密数据(截取的方式包括dump内存(dump内存可以指将内存中的数据转存到另一个存储装置)、复制内存等),提升私密数据在物理内存中的安全性。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1为根据本申请一个优选实施例的访问电子设备的物理内存中私密数据的方法的流程图;
图2提供了现有技术中基于内存管理单元对电子设备中的物理内存的地址设置映射关系的示意图;
图3提供了本实施例中对安全物理内存地址空间的私密数据的访问的结构示意图;
图4为根据本申请另一个优选实施例的访问电子设备的物理内存中私密数据的方法的流程图;
图5为根据本申请一个优选实施例的访问电子设备的物理内存中私密数据的装置的示意性框图;
图6为根据本申请一个优选实施例的访问电子设备的物理内存中私密数据的装置的示意性框图;
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本申请作进一步详细描述。
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
在上下文中所称“计算机”,也称为“电脑”,是指可以通过运行预定程序或指令来执行数值计算和/或逻辑计算等预定处理过程的智能电子设备,其可以包括处理器与存储器,由处理器执行在存储器中预存的存续指令来执行预定处理过程,或是由ASIC、FPGA、DSP等硬件执行预定处理过程,或是由上述二者组合来实现。计算机包括但不限于服务器、个人电脑、笔记本电脑、平板电脑、智能手机等。
所述计算机包括用户设备与网络设备。其中,所述用户设备包括但不限于电脑、智能手机、PDA等;所述网络设备包括但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(Cloud Computing)的由大量计算机或网络服务器构成的云,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。其中,所述计算机可单独运行来实现本申请,也可接入网络并通过与网络中的其他计算机的交互操作来实现本申请。其中,所述计算机所处的网络包括但不限于互联网、广域网、城域网、局域网、VPN网络等。
需要说明的是,所述用户设备、网络设备和网络等仅为举例,其他现有的或今后可能出现的计算机或网络如可适用于本申请,也应包含在本申请保护范围以内,并以引用方式包含于此。
后面所讨论的方法(其中一些通过流程图示出)可以通过硬件、软件、固件、中间件、微代码、硬件描述语言或者其任意组合来实施。当用软件、固件、中间件或微代码来实施时,用以实施必要任务的程序代码或代码段可以被存储在机器或计算机可读介质(比如存储介质)中。(一个或多个)处理器可以实施必要的任务。
这里所公开的具体结构和功能细节仅仅是代表性的,并且是用于描述本申请的示例性实施例的目的。但是本申请可以通过许多替换形式来具体实现,并且不应当被解释成仅仅受限于这里所阐述的实施例。
应当理解的是,虽然在这里可能使用了术语“第一”、“第二”等等来描述各个单元,但是这些单元不应当受这些术语限制。使用这些术语仅仅是为了将一个单元与另一个单元进行区分。举例来说,在不背离示例性实施例的范围的情况下,第一单元可以被称为第二单元,并且类似地第二单元可以被称为第一单元。这里所使用的术语“和/或”包括其中一个或更多所列出的相关联项目的任意和所有组合。
应当理解的是,当一个单元被称为“连接”或“耦合”到另一单元时,其可以直接连接或耦合到所述另一单元,或者可以存在中间单元。与此相对,当一个单元被称为“直接连接”或“直接耦合”到另一单元时,则不存在中间单元。应当按照类似的方式来解释被用于描述单元之间的关系的其他词语(例如“处于...之间”相比于“直接处于...之间”,“与...邻近”相比于“与...直接邻近”等等)。
这里所使用的术语仅仅是为了描述具体实施例而不意图限制示例性实施例。除非上下文明确地另有所指,否则这里所使用的单数形式“一个”、“一项”还意图包括复数。还应当理解的是,这里所使用的术语“包括”和/或“包含”规定所陈述的特征、整数、步骤、操作、单元和/或组件的存在,而不排除存在或添加一个或更多其他特征、整数、步骤、操作、单元、组件和/或其组合。
还应当提到的是,在一些替换实现方式中,所提到的功能/动作可以按照不同于附图中标示的顺序发生。举例来说,取决于所涉及的功能/动作,相继示出的两幅图实际上可以基本上同时执行或者有时可以按照相反的顺序来执行。
根据本申请的一个实施例,提供了一种访问电子设备的物理内存中私密数据的方法。
其中所述访问包括读数据和/或写数据。
所述电子设备包括但不限于本地计算机、云端计算机、平板电脑、手机等。
所述物理内存可以指电子设备上主板内存槽上的内存条的存储空间。
所述私密数据可以指使用电子设备的用户不愿意对外公开的、存储在所述电子设备的物理内存中的信息,如个人照片、视频、银行账户等等,也可以指与电子设备运行安全有关的数据(这些数据即使对电子设备的用户也是不可见的)。本实施例中,所述私密数据包括但不限于存储器上的密文文件解密成的明文、电子设备的程序运行时产生的私密数据、电子设备从外部输入设备(例如通过数据线外连的手机)获取的私密数据(包括视频、音频、照片或/和图片)等。
所述访问电子设备的物理内存中私密数据的方法可以在电子设备的内存管理系统中执行。
请参考图1,所述访问电子设备的物理内存中私密数据的方法包括:
S100,接收来自电子设备中运行的进程访问物理内存中私密数据的请求。
所述进程通常可以指电子设备(例如计算机)中正在运行的程序实例,例如当运行某一个即时通信应用程序A时,则该应用程序在该电子设备上运行的进程可能包括Aprotect.exe和A.exe两个进程。
通常对于在电子设备上运行的每个应用程序的进程而言,每个进程都可以被赋予它自己的私有的物理地址区间,并且通常只可以访问(读或/和写)属于自己私有的物理地址区间的数据。
所述私密数据如上文所述,包括但不限于存储器上的密文文件解密成的明文、电子设备的程序运行时产生的数据、电子设备从外部获取的数据(包括视频、音频、照片或/和图片)等。
所述访问物理内存中私密数据的请求包括为私密数据分配该物理内存中的存储区间、将该私密数据写入物理内存的某一存储区间、从物理内存中的某一存储区间读取所述私密数据或/和释放为该私密数据预先分配的物理内存中的某一存储区间等请求。
可选地,所述S100包括:
-接收来自电子设备中运行的进程访问物理内存中数据的请求;
-判断所述请求要访问的数据是私密数据。
其中所述判断可以通过电子设备中的应用程序自动执行来实现,也可以通过响应于用户的操作来实现。
例如,所述判断可以通过以下中的至少之一来实现:
1)如果所述请求要访问的数据是将存储器上的密文文件解密成的明文,判断所述请求要访问的数据是私密数据。
2)如果所述请求要访问的数据是电子设备的程序运行时产生的数据,通过判断例程判断出所述请求要访问的数据是私密数据。
其中所述判断例程可以预先存储在电子设备的数据库里,当电子设备的程序运行时,该判断例程可以自动判断出程序运行过程中产生的数据是否为私密数据。
电子设备的程序运行时产生的数据,有些是不需要私密保护的普通参数,有些是需要私密保护的数据,因此,通过事先编好的例程进行判断属于哪类数据。目前,这种例程对于本领域技术人员来说是已知的。
3)如果所述请求要访问的数据是电子设备从外部获取的数据,向用户提示是否需要将从外部获取的数据作为私密数据存储,响应于用户确认需要将从外部获取的数据作为私密数据存储,判断出所述请求要访问的数据是私密数据。
从外部获取的数据,情况比较复杂。有些从外部获取的数据仅是一般性的数据,不需要作为私密数据保护,有的则是一些机密数据,需要作为私密数据保护。而且,这样的数据是无法通过编写例程来判断的,因为从外部获取的数据情况很复杂。因此,往往需要让用户确认该数据是否需要私密保护。
例如,当通过数据线将所述电子设备与手机关联,而该电子设备上安装有管理该手机应用的手机应用管理程序m,进而在所述电子设备上运行该手机应用管理程序m的过程中,该手机应用管理程序m所包括的在该电子设备上运行的进程要访问从外连的手机获取的数据,则在这种情况下,则可以由该电子设备向用户提示是否需要将从外连的手机获取的数据作为私密数据存储,如果用户确认需要,则响应于用户确认需要,将从外部获取的数据作为私密数据存储,并判断所述请求要访问的数据是私密数据。
请继续参考图1,所述访问电子设备的物理内存中私密数据的方法包括:
S110,通过电子设备的虚拟机监视器中加入的安全内存访问接口来访问物理内存中特定物理地址区间中的私密数据,其中在电子设备的内存管理单元中不建立该特定物理地址区间的映射关系,所述安全内存访问接口(API)被预先设计成实现对物理内存中所述特定物理地址区间中的私密数据的访问。
其中所述虚拟机监视器(Hypervisor)可以指运行在电子设备(例如计算机)的系统软件,用于维护不同进程之间相对独立的环境,该环境支持不同进程去访问物理内存上存储的相应数据。
其中所述安全内存访问接口(API)可以指预先定义的函数或子程序、程序,并被设计成使安全应用程序实现对物理内存中特定物理地址区间中的私密数据的访问。
其中所述安全应用程序可以指基于该安全内存访问接口所开发的应用程序,例如,将该安全内存访问接口提供给某通讯软件应用程序的开发者,该开发者基于该安全内存访问接口将该通讯软件应用程序中的一段代码A替换成另一段代码B,进而使该通信软件应用程序转变为安全的通信软件应用程序,从而该安全的通信软件应用程序可以基于所述安全内存访问接口(API)实现对物理内存中特定物理地址区间中的私密数据的访问。
为了安全起见,该安全内存访问接口(API)由所述电子设备的厂商定制,从而针对每台电子设备而言,从设备级的维度来提升电子设备的物理内存中私密数据的安全。
所述物理内存中特定物理地址区间可以指在物理内存中预留的一段连续的安全物理内存地址区间,该安全物理内存地址区间不在电子设备的内存管理单元中设置映射关系。
对于所述映射关系的理解可以参考图2,图2提供了现有技术中基于内存管理单元对电子设备中的物理内存的地址设置映射关系的示意图。
在现有技术中,以电子设备为计算机举例,由于计算机的物理内存有限,现有技术往往采用虚拟内存技术(诸如虚拟内存分页管理技术、虚拟内存段页式存储管理等)来缓解内存的紧张。在采用虚拟内存技术的情况下,通过内存管理单元(为了区别于下文中的虚拟内存管理单元,在此也可以称为真实内存管理单元)设置物理内存中的地址与虚拟计算机的伪物理地址之间的映射关系,并设置所述伪物理地址与进程被赋予的虚拟地址的映射关系,由此,计算机操作系统则可以利用地址的映射关系对物理内存进行访问。
更具体地,参考图2而言,在应用虚拟内存技术对计算机物理内存进行管理的过程中,往往为每个进程分配属于它自己的虚拟地址空间,并且通过建立在计算机基础上的虚拟计算机操作系统的虚拟内存管理单元(虚拟MMU)将该虚拟地址空间与虚拟计算机上的伪物理地址映射,以及通过虚拟机监视器(Hypervisor)将该伪物理地址与物理内存中的物理内存地址映射。实际上,无论是从虚拟地址映射到伪物理地址,还是从伪物理地址映射到物理内存地址,都可以看作是由计算机的真实内存管理单元来统一设置的,只是该统一设置是基于真实内存管理单元对虚拟内存管理单元(虚拟MMU)和虚拟机监视器(Hypervisor)的管理来实现的。
如上文所述,对于设置了映射关系的物理内存,计算机操作系统则可以利用地址的映射关系对物理内存进行访问,因而黑客可以利用恶意程序攻击计算机操作系统来获取计算机操作系统的操作权限而随意地访问电子设备中的私密数据,从而严重威胁到用户的隐私安全。
为了解决上述问题,提升私密数据在物理内存的安全性,请参考图3,本实施例中,在电子设备的内存管理单元中不建立所述特定物理地址区间的映射关系,而是通过在虚拟机监视器中加入的安全内存访问接口来访问特定物理地址区间(即安全物理内存地址空间)的私密数据,也即对于私密数据的访问而言,在虚拟内存管理单元(虚拟MMU)中不为该私密数据的访问建立虚拟地址与伪物理地址之间的映射关系,而是由虚拟内存管理单元基于安全内存访问接口来访问安全物理内存地址空间中的私密数据。
由于本实施例中的该安全内存访问接口(API)由所述电子设备的厂商定制,只会提供给该厂商认证过的安全程序的开发者,因而该安全内存访问接口(API)通常不会被恶意程序的开发者获取,进而恶意程序在未通过该安全内存访问接口访问电子设备的物理内存的情况下,无法通过攻击计算机操作系统利用地址映射关系对物理内存中的私密数据进行访问,提升了私密数据在物理内存的安全性。
对于图3,需要说明的是,虽然没有在图3中示出如图2所示的伪物理地址,但是这只是为了更清楚地描述对安全物理内存地址空间中的私密数据进行访问的结构,并不表示对计算机物理内存中除安全物理内存地址空间以外的数据的访问就不可以参考图2所示的虚拟内存技术来管理。
可选地,所述S110包括:
-通过该安全内存访问接口为要访问的私密数据分配对应的位于所述特定物理地址区间中的物理地址子区间。
例如,所述特定物理地址区间大于1GB(起始地址例如为0x80000000),则为该私密数据分配位于所述特定物理地址区间中的物理地址子区间为1GB(起始地址例如为0x80000000,结束地址为0xBFFFFFFF)
-在所述物理地址子区间中执行对所述私密数据的访问。
例如,将所述私密数据写入所述分配的物理地址子区间中。
可选地,所述访问电子设备的物理内存中私密数据的方法还包括:
-响应于预定条件,释放所述特定物理地址区间中的私密数据对应的物理地址子区间。
其中,所述预定条件可以指需要访问该私密数据的进程的运行终止。当一个进程运行终止时,为了提升物理内存的利用率,可以将该进程的私密数据之前所占有的物理地址子区间释放。
可选地,请参考图4,所述访问电子设备的物理内存中私密数据的方法还包括:
S120,提示用户输入用于访问私密数据的认证信息;以及
S130,对用户输入的认证信息进行鉴权,其中只有在鉴权通过的前提下才执行通过电子设备的虚拟机监视器中加入的安全内存访问接口来访问物理内存中特定物理地址区间中的私密数据的步骤。
其中,所述用户输入用于访问私密数据的认证信息的方式包括但不限于用户输入个人身份认证信息(诸如登录账户和密码、头像认证等)、运行安全应用程序等。
以用户输入的个人身份认证信息为例,所述鉴权可以指对该个人身份认证信息进行验证,判断是否为用户本人的信息;以运行安全应用程序为例,所述鉴权可以指判断所述安全应用程序是否为提供安全内存访问接口的厂商认证的安全应用程序。
根据本发明的一个实施例,提供了一种访问电子设备的物理内存中私密数据的装置,所述访问电子设备的物理内存中私密数据的装置可以实现为电子设备上管理物理内存的完全软件,也可以实现为电子设备上管理物理内存的软件或硬件的结合。
请参考图5,所述访问电子设备的物理内存中私密数据的装置包括:
接收单元200,被配置为接收来自电子设备中运行的进程、访问物理内存中私密数据的请求。
访问单元210,被配置为通过电子设备的虚拟机监视器中加入的安全内存访问接口来访问物理内存中特定物理地址区间中的私密数据,其中在电子设备的内存管理单元中不建立该特定物理地址区间的映射关系,所述安全内存访问接口被预先设计成实现对物理内存中所述特定物理地址区间中的私密数据的访问。
可选地,所述访问包括读和/或写。
可选地,所述接收单元200被配置为:
-接收来自电子设备中运行的进程、访问物理内存中数据的请求;
-判断所述请求要访问的数据是私密数据。
可选地,所述接收单元200判断所述请求要访问的数据是私密数据的过程包括:
-如果所述请求要访问的数据是将存储器上的密文文件解密成的明文,判断所述请求要访问的数据是私密数据。
可选地,所述接收单元200判断所述请求要访问的数据是私密数据的过程包括:
-如果所述请求要访问的数据是电子设备的程序运行时产生的数据,通过判断例程判断出所述请求要访问的数据是私密数据。
可选地,所述接收单元200判断所述请求要访问的数据是私密数据的过程包括:
-如果所述请求要访问的数据是电子设备从外部获取的数据,向用户提示是否需要将从外部获取的数据作为私密数据存储;
-响应于用户确认需要将从外部获取的数据作为私密数据存储,判断出所述请求要访问的数据是私密数据。
可选地,所述访问单元210被配置为:
-通过该安全内存访问接口为要访问的私密数据分配对应的位于所述特定物理地址区间中的物理地址子区间;
-在所述物理地址子区间中执行对所述私密数据的访问。
可选地,所述访问单元210被配置为:
-响应于预定条件,释放所述特定物理地址区间中的私密数据对应的物理地址子区间。
可选地,请参考图6,所述访问电子设备的物理内存中私密数据的装置还包括:
提示单元220,被配置为提示用户输入用于访问私密数据的认证信息;
鉴权单元230,被配置为对用户输入的认证信息进行鉴权,
其中所述访问单元210被配置为只有在鉴权通过的前提下才通过电子设备的虚拟机监视器中加入的安全内存访问接口来访问物理内存中特定物理地址区间中的私密数据。
应当理解,图5和图6所述的结构框图仅仅是为了示例的目的,而不是对本申请范围的限制。在某些情况下,可以根据具体情况增加或减少某些单元。
所属技术领域的技术人员知道,本申请可以实现为系统、方法或计算机程序产品。本领域技术人员应能理解,上述各单元仅为示例,在实践中,它们可以是分别独立的单元,或者任意两个单元集成在一个单元中,也可全部集成在一个单元中。
附图中的流程图和框图显示了根据本申请的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。

Claims (16)

1.一种访问电子设备的物理内存中私密数据的方法,所述方法包括:
接收来自电子设备中运行的进程、访问物理内存中私密数据的请求;
通过电子设备的虚拟机监视器中加入的安全内存访问接口来访问物理内存中特定物理地址区间中的私密数据,通过该安全内存访问接口为要访问的私密数据分配对应的位于所述特定物理地址区间中的物理地址子区间,在所述物理地址子区间中执行对所述私密数据的访问,其中在电子设备的内存管理单元中不建立该特定物理地址区间的映射关系,所述安全内存访问接口被预先设计成实现对物理内存中所述特定物理地址区间中的私密数据的访问。
2.根据权利要求1所述的方法,其中所述访问包括读和/或写。
3.根据权利要求1所述的方法,还包括:
响应于预定条件,释放所述特定物理地址区间中的私密数据对应的物理地址子区间。
4.根据权利要求1所述的方法,其中接收来自电子设备中运行的进程、访问物理内存中私密数据的请求的步骤包括:
接收来自电子设备中运行的进程的、访问物理内存中数据的请求;
判断所述请求要访问的数据是私密数据。
5.根据权利要求4所述的方法,其中判断所述请求要访问私密数据的步骤包括:
如果所述请求要访问的数据是将存储器上的密文文件解密成的明文,判断所述请求要访问的数据是私密数据。
6.根据权利要求4所述的方法,其中判断所述请求要访问私密数据的步骤包括:
如果所述请求要访问的数据是电子设备的程序运行时产生的数据,通过判断例程判断出所述请求要访问的数据是私密数据。
7.根据权利要求4所述的方法,其中判断所述请求要访问私密数据的步骤包括:
如果所述请求要访问的数据是电子设备从外部获取的数据,向用户提示是否需要将从外部获取的数据作为私密数据存储;
响应于用户确认需要将从外部获取的数据作为私密数据存储,判断出所述请求要访问的数据是私密数据。
8.根据权利要求1所述的方法,还包括:
提示用户输入用于访问私密数据的认证信息;
对用户输入的认证信息进行鉴权,其中只有在鉴权通过的前提下才执行通过电子设备的虚拟机监视器中加入的安全内存访问接口来访问物理内存中特定物理地址区间中的私密数据的步骤。
9.一种访问电子设备的物理内存中私密数据的装置,所述装置包括:
接收单元,被配置为接收来自电子设备中运行的进程、访问物理内存中私密数据的请求;
访问单元,被配置为通过电子设备的虚拟机监视器中加入的安全内存访问接口来访问物理内存中特定物理地址区间中的私密数据,通过该安全内存访问接口为要访问的私密数据分配对应的位于所述特定物理地址区间中的物理地址子区间,在所述物理地址子区间中执行对所述私密数据的访问,其中在电子设备的内存管理单元中不建立该特定物理地址区间的映射关系,所述安全内存访问接口被预先设计成实现对物理内存中所述特定物理地址区间中的私密数据的访问。
10.根据权利要求9所述的装置,其中所述访问包括读和/或写。
11.根据权利要求9所述的装置,其中所述访问单元还被配置为:
响应于预定条件,释放所述特定物理地址区间中的私密数据对应的物理地址子区间。
12.根据权利要求9所述的装置,其中所述接收单元被配置为:
接收来自电子设备中运行的进程、访问物理内存中数据的请求;
判断所述请求要访问的数据是私密数据。
13.根据权利要求12所述的装置,其中所述接收单元判断所述请求要访问的数据是私密数据的过程包括:
如果所述请求要访问的数据是将存储器上的密文文件解密成的明文,判断所述请求要访问的数据是私密数据。
14.根据权利要求12所述的装置,其中所述接收单元判断所述请求要访问的数据是私密数据的过程包括:
如果所述请求要访问的数据是电子设备的程序运行时产生的数据,通过判断例程判断出所述请求要访问的数据是私密数据。
15.根据权利要求12所述的装置,其中所述接收单元判断所述请求要访问的数据是私密数据的过程包括:
如果所述请求要访问的数据是电子设备从外部获取的数据,向用户提示是否需要将从外部获取的数据作为私密数据存储;
响应于用户确认需要将从外部获取的数据作为私密数据存储,判断出所述请求要访问的数据是私密数据。
16.根据权利要求9所述的装置,还包括:
提示单元,被配置为提示用户输入用于访问私密数据的认证信息;
鉴权单元,被配置为对用户输入的认证信息进行鉴权,
其中所述访问单元被配置为只有在鉴权通过的前提下才通过电子设备的虚拟机监视器中加入的安全内存访问接口来访问物理内存中特定物理地址区间中的私密数据。
CN201510314210.2A 2015-06-09 2015-06-09 一种访问电子设备的物理内存中私密数据的方法和装置 Active CN106295267B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201510314210.2A CN106295267B (zh) 2015-06-09 2015-06-09 一种访问电子设备的物理内存中私密数据的方法和装置
PCT/CN2016/084440 WO2016197850A1 (zh) 2015-06-09 2016-06-02 一种访问电子设备的物理内存中私密数据的方法和装置
US15/836,724 US10719456B2 (en) 2015-06-09 2017-12-08 Method and apparatus for accessing private data in physical memory of electronic device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510314210.2A CN106295267B (zh) 2015-06-09 2015-06-09 一种访问电子设备的物理内存中私密数据的方法和装置

Publications (2)

Publication Number Publication Date
CN106295267A CN106295267A (zh) 2017-01-04
CN106295267B true CN106295267B (zh) 2019-04-19

Family

ID=57502887

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510314210.2A Active CN106295267B (zh) 2015-06-09 2015-06-09 一种访问电子设备的物理内存中私密数据的方法和装置

Country Status (3)

Country Link
US (1) US10719456B2 (zh)
CN (1) CN106295267B (zh)
WO (1) WO2016197850A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107133517B (zh) * 2017-05-08 2020-01-07 成都德涵信息技术有限公司 一种基于内存中数据加密和计算的数据还原方法
CN109901911B (zh) * 2018-11-22 2023-07-07 海光信息技术股份有限公司 一种信息设置方法、控制方法、装置及相关设备
CN112417470B (zh) * 2020-11-06 2023-06-27 上海壁仞智能科技有限公司 实现gpu数据安全访问的方法、装置、电子设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102523215A (zh) * 2011-12-15 2012-06-27 北京海云捷迅科技有限公司 基于kvm虚拟化平台的虚拟机在线杀毒系统
CN104169891A (zh) * 2013-10-29 2014-11-26 华为技术有限公司 一种访问内存的方法及设备
CN104751050A (zh) * 2015-04-13 2015-07-01 成都睿峰科技有限公司 一种客户端应用程序管理方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7496695B2 (en) * 2005-09-29 2009-02-24 P.A. Semi, Inc. Unified DMA
CN101349980B (zh) * 2007-07-18 2010-10-06 深圳市顶星数码网络技术有限公司 硬盘资料备份与保护方法
US20090113111A1 (en) * 2007-10-30 2009-04-30 Vmware, Inc. Secure identification of execution contexts
CN101281580B (zh) * 2008-05-14 2011-08-10 北京深思洛克软件技术股份有限公司 一种扩展信息安全设备的存储器的方法
US9191394B2 (en) * 2012-02-08 2015-11-17 Microsoft Technology Licensing, Llc Protecting user credentials from a computing device
US9396011B2 (en) * 2013-03-12 2016-07-19 Qualcomm Incorporated Algorithm and apparatus to deploy virtual machine monitor on demand
TWI488093B (zh) 2013-03-19 2015-06-11 Au Optronics Corp 觸控位置的偵測方法及使用其之光學式觸控裝置
CN103309819B (zh) * 2013-05-30 2016-06-22 苏州亮智科技有限公司 嵌入式系统及其中的内存安全管理方法
CN103678175B (zh) * 2013-12-05 2016-09-07 长城信息产业股份有限公司 一种地址隐藏方法及基于地址隐藏技术的嵌入式设备
JP6186387B2 (ja) * 2015-03-19 2017-08-23 株式会社日立製作所 秘匿データ処理システム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102523215A (zh) * 2011-12-15 2012-06-27 北京海云捷迅科技有限公司 基于kvm虚拟化平台的虚拟机在线杀毒系统
CN104169891A (zh) * 2013-10-29 2014-11-26 华为技术有限公司 一种访问内存的方法及设备
CN104751050A (zh) * 2015-04-13 2015-07-01 成都睿峰科技有限公司 一种客户端应用程序管理方法

Also Published As

Publication number Publication date
CN106295267A (zh) 2017-01-04
WO2016197850A1 (zh) 2016-12-15
US20180101485A1 (en) 2018-04-12
US10719456B2 (en) 2020-07-21

Similar Documents

Publication Publication Date Title
Sookhak et al. Security and privacy of smart cities: a survey, research issues and challenges
CN111201530B (zh) 用于安全应用监测的系统和方法
CN105391840B (zh) 自动创建目标应用程序
US8505084B2 (en) Data access programming model for occasionally connected applications
US9306954B2 (en) Apparatus, systems and method for virtual desktop access and management
CN105453102B (zh) 用于识别已泄漏的私有密钥的系统和方法
CN110580414A (zh) 基于区块链账户的隐私数据查询方法及装置
CN110580262A (zh) 基于智能合约的隐私数据查询方法及装置
US20140189880A1 (en) System and method for administrating access control rules on a secure element
CN110580413A (zh) 基于链下授权的隐私数据查询方法及装置
CN107851167A (zh) 在计算环境中保护计算数据的技术
EP3777082B1 (en) Trusted platform module-based prepaid access token for commercial iot online services
CN105718794B (zh) 基于vtpm对虚拟机进行安全保护的方法及系统
Akram et al. A paradigm shift in smart card ownership model
CN105408912A (zh) 处理认证和资源许可
CN110580412A (zh) 基于链代码的权限查询配置方法及装置
CN103366135A (zh) 在存储云中由租户驱动的安全系统与方法
KR20140043459A (ko) 디지털 자산들의 값을 결정하고 사용하기 위한 방법 및 장치
CN101159754A (zh) 一种运行在智能移动终端的互联网应用管理系统
CN109076054A (zh) 用于管理单点登录应用程序的加密密钥的系统和方法
CN104021335A (zh) 基于可扩展密码服务框架的密码服务方法
Akram et al. Trusted platform module for smart cards
CN106295267B (zh) 一种访问电子设备的物理内存中私密数据的方法和装置
US11146403B2 (en) Self-governed secure attestation policy for server data privacy logs
CN105814834A (zh) 用于公共云应用的基于推送的信任模型

Legal Events

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