CN102708069A - 安卓系统中内存数据的保护方法 - Google Patents

安卓系统中内存数据的保护方法 Download PDF

Info

Publication number
CN102708069A
CN102708069A CN2012101458126A CN201210145812A CN102708069A CN 102708069 A CN102708069 A CN 102708069A CN 2012101458126 A CN2012101458126 A CN 2012101458126A CN 201210145812 A CN201210145812 A CN 201210145812A CN 102708069 A CN102708069 A CN 102708069A
Authority
CN
China
Prior art keywords
data
access interface
unit
application program
key
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
CN2012101458126A
Other languages
English (en)
Other versions
CN102708069B (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.)
Beijing Senseshield Technology Co Ltd
Original Assignee
Beijing Senselock Software Technology 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 Beijing Senselock Software Technology Co Ltd filed Critical Beijing Senselock Software Technology Co Ltd
Priority to CN201210145812.6A priority Critical patent/CN102708069B/zh
Publication of CN102708069A publication Critical patent/CN102708069A/zh
Application granted granted Critical
Publication of CN102708069B publication Critical patent/CN102708069B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明提出了一种Android(安卓)系统内存数据保护方法。将要保护的内存数据打包成一个黑盒,只保存明文经过一定转换后的密文数据和校验信息,不保存明文,应用程序只能通过访问接口对黑盒进行访问(如读取、增减等),更新数据时同时更新数据的校验信息,可以随时校验数据的合法性。对数据的转换、反转换以及生成校验信息和校验数据操作均由访问接口自动完成,对应用程序完全透明。由于数据在内存中没有明文存在,可以有效防止通过内存扫描来获得相应的信息,同时校验信息可以有效防止数据被非法篡改。

Description

安卓系统中内存数据的保护方法
技术领域
本发明涉及移动操作系统中的信息安全,特别是涉及安卓操作系统中的数据安全保护。
背景技术
随着移动设备(智能手机、平板电脑)的普及和性能增加,移动设备上的应用也越来越多,范围也越来越广,不仅涉及娱乐、工具,更有网银等应用。移动设备中的软件版权保护和敏感数据保护也越发重要。
Android(安卓)是一种以Linux为基础的开放源码操作系统,主要使用于移动设备。Android系统作为重要的移动设备操作系统,由于其开放性,更为软件破解者大开了方便之门,版权保护和敏感数据的保护也变得更为棘手。安卓系统下,扫描应用程序内存是破解软件、窃取数据的常用手段。
现有技术中,移动应用程序版权保护只在软件的安装流程方面进行了有限的控制,但是由于Android系统的开放性,这很难给破解者造成障碍。而且目前很多移动应用程序,比如游戏类应用程序,都采取了应用内收费的模式,这样破解者更是可以通过扫描内存的方式获得程序的内部数据,分析出关键数据后加以修改,从而轻易破解软件或使用需要付费才能使用的内容或功能。这种破坏应用程序安全性的情况是安卓系统当前所面对的主要安全问题。
但是,目前Android系统中对应用程序内存数据的保护缺少有效的保护方案。因此亟需提供相应的安全保护安卓系统应用程序内部数据的技术方案。
发明内容
有鉴于此,本发明提供了一种用于Android系统应用程序内存数据保护的方法。该方法可以有效抵御扫描内存和修改内存等破解软件或窃取信息等恶意行为。
根据本发明的一个方面,提高一种安卓系统中保护内存数据的方法,用于保护应用程序中所使用到的内存数据,
   所述应用程序向访问接口单元发送获取数据请求;
   所述访问接口单元根据所述获取数据请求,从数据黑盒单元中的第一内存位置处读取已加密的第一签名密文并解码为第一签名明文;
   所述访问接口单元根据所述获取数据请求,从所述数据黑盒单元中的第二内存位置处读取已加密的第一数据加密密文并解码为第一原文数据;其中,第二内存位置不同于第一内存位置;
   利用第一解码明文验证第一原文数据,校验第一原文数据是否被篡改过;
   如果未被篡改,则将第一原文数据返回给所述应用程序;
   如果已被篡改,则向所述应用程序返回警告信息。
根据本发明的一个方面,在将第一原文数据返回给所述应用程序,应用程序经过数据变更操作之后,通过所述访问接口单元保存数据信息,还包括如下步骤:
   对第一原文数据中的数据进行数据值变更操作,得到第二原文数据;
   所述访问接口单元根据所述应用信息从密钥服务器获取第二签名密钥和第二加密密钥;
   根据第二签名密钥对第二原文数据进行签名,形成第二签名密文,并将加密后的第二签名密文存储到所述第一内存位置;
   根据第二加密密钥对第二原文数据进行加密,形成第二数据加密密文,并将加密后的第二数据加密密文存储到所述第二内存位置。
根据本发明的一个方面,在所述应用程序向访问接口单元发送获取数据请求之前,还包括如下步骤:
   所述应用程序向访问接口单元发送初始化请求,初始化请求包括所述应用程序的应用信息;
   所述访问接口单元根据所述应用信息从密钥服务器获取第一签名密钥和第一加密密钥;
   根据第一签名密钥对第一原文数据进行签名,形成第一签名密文,并将加密后的第一签名密文存储到第一内存位置;
   根据第一加密密钥对第一原文数据进行加密,形成第一数据加密密文,并将加密后的第一数据加密密文存储到第二内存位置;
   将第一内存位置与第二内存位置组成数据黑盒单元,其中,所述数据黑盒单元保存在一段内存地址中,或者保存在多段内存地址中。
根据本发明的一个方面,所述访问接口单元至少包括:读取单元、数据转换单元、校验单元、存储单元、计算单元;其中
   读取单元用于从数据黑盒中读取密文数据及校验信息或从密钥服务器中读取密钥信息;
   数据转换单元用于处理数据的加解密转换;
   校验单元用于数据校验;
   存储单元用于将密文数据及校验信息存储至所述数据黑盒单元中;
   计算单元用于执行对原文数据的数据值变更操作。
根据本发明的一个方面,加密解密使用对称加密算法或非对称加密算法;或者使用自定义变换;或者是存储空间的变换,或者是前述多种变换方式的组合
根据本发明的一个方面,校验加密后的数据采用明文的数字签名数据;或者采用明文的HASH值;或者采用其他校验值;或者采用前述多种校验方式的组合。
根据本发明的一个方面,对称加密算法包括AES、DES、TDES;非对称加密算法包括RSA、ECC;自定义变换包括和私密数据异或;存储空间的变换包括明文分散存放于内存中;其他校验值可使用CRC校验或奇偶校验的值。
根据本发明的一个方面,所述多个密钥存放在远程服务器上,所述访问接口单元从所述远程服务器上以加密通信的方式获取所述多个密钥。
根据本发明的一个方面,所述访问接口单元是所述应用程序的一部分,或者是供所述应用程序调用的外部库,或者是独立于所述应用程序的服务应用。
附图说明
图1为根据本发明的一个实施例中的数据访问流程示意图;
图2为根据本发明的一个实施例中的对黑盒中的数据进行操作的流程示意图。
具体实施方式
该方法包含两个部分:形成数据黑盒和利用访问接口对数据黑盒进行访问。数据黑盒是内存中的密文数据和校验信息。数据黑盒对数据的使用者透明,由访问接口提供对数据黑盒的所有访问操作,如读取以及算数运算接口。数据黑盒存储在内存中,具体而言,数据黑盒可以保存在一段内存地址中,也可以保存在多段内存地址中。
应用程序向访问接口发出访问数据黑盒的请求,请求可包括读取、写入、增减等,对黑盒的访问通过访问接口实现。
数据黑盒中的密文,指明文经过某种变换后得到的数据。变换可以是公开的加密算法;可以是简单的自定义变换(如和私密数据异或等);也可以是存储空间的变换,如明文分散存放于内存中;也可以多种变换方式的组合。
数据黑盒中的校验信息,指可以用来验证明文的一段数据。可以是明文的数字签名数据;也可以是明文的HASH值;也可以是其它校验值如CRC校验或奇偶校验的值;也可以是多种校验方式的组合。
经过以上处理,内存中敏感数据不再有连续的明文存在,且含有校验信息,可以有效防止恶意扫描和篡改等行为。
具体操作流程如下:
1.  访问接口自动获得数据转换需要的信息。若数据变换方式需要密钥或其它私密数据(下文统称为密钥),则访问接口根据应用程序的相关信息获取密钥。其中,应用程序相关信息可包括应用ID等信息,或应用功能相关信息,应用程序会向访问接口发出访问请求,而请求中会包含应用程序的相关信息,使得访问接口从请求中获取相关信息。而密钥可以是预设的或保存在远程安全服务器上的,也可以是根据硬件及应用程序自身相关的数据计算出的,也可以和远程安全服务器之间临时交换的等等。
2.  访问接口还可以提供数据完整性校验功能。可以是预设的单纯的校验算法(如CRC校验等),也可以是某种签名算法,签名和签名验证使用的密钥来源同上。
3.  应用程序在内存中保存敏感数据时,不直接保存明文,而是通过访问接口保存,访问接口自动对明文实施变换,得到密文,将密文放入数据黑盒中,同时访问接口自动生成数据的校验信息也存入数据黑盒。黑盒数据的保存不一定是连续的区域,可以以一定的方式分散保存,这也作为一种数据变换方式,下面不再缀述。
4.  应用程序通过访问接口读取数据,访问接口自动将变换后的密文反变换得到明文,访问接口也读出数据黑盒中的校验信息,用校验信息校验反变换得到的明文,若校验通过则将明文返回给应用程序,否则通知应用程序内存数据被篡改。此时直接扫描内存将无法得到明文信息,可以有效防止内存扫描的攻击;同时,校验信息可以保证数据不被篡改;(具体数据流向参见图1)。如图1所示,应用程序向访问接口发出读取数据请求(步骤1),然后访问接口从数据黑盒中读取密文和校验信息,同时访问接口从特定的密钥来源(包括但不限于软件保护装置、加密硬件装置、加密狗、安全密钥数据库、密钥服务器之类的设备)中读取密钥等必要的私密数据(步骤2);最后由访问接口将明文数据或者错误信息返回给应用程序(步骤3)。
5.  应用程序可以通过访问接口提供的功能对黑盒中的数据进行操作(如针对数字的四则运算等),访问接口自动完成数据反变换、校验、运算、重新变换以及重新生成校验信息和更新数据黑盒的操作。(流程参见图2)其间若是数据校验失败,就通知应用程序,操作不能完成。如图2所示,访问接口针对应用程序发出的数据操作请求,读取密文和校验信息,并反变换出明文数据。访问接口对校验出的明文数据进行校验,如果校验失败,则退出访问流程。如果校验成功,则由访问接口对明文数据进行数据操作。数据操作完成之后,由访问接口单元重新生成校验信息,再次变换生成密文。然后用新的密文和校验信息更新数据黑盒,最后退出访问流程。
数据黑盒的组织格式以及数据的变换和反变换、校验等操作对应用程序完全透明,完全由访问接口自动完成。
为使本发明的目的、技术方案及优点更加清楚明白,以下举实施例,对本发明进一步详细说明。
实施例1
本案例应用场景为一个游戏应用程序,需要保护内存中的特定计数数值(比如金币数、积分之类的计数数值),防止被恶意访问和篡改。在访问接口中,使用AES算法对内存数据进行加密,使用RSA签名算法来校验加密后的数据,而相关的密钥存放在远程服务器上。访问接口向应用程序提供黑盒初始化、数据读取和增加计数值的操作,其中计数值可以为负数,增加计数值的实际效果是使得计数值的数量减少。访问接口可以从保存密钥的服务器上以加密通信的方式获取密钥。
1.1. 系统初始化过程
1.1.1 访问接口根据访问的应用程序从密钥服务器获取密钥信息。根据本发明的一个具体实施方式,访问接口中包括5个单元,分别为:读取单元、数据转换单元、校验单元、存储单元、计算单元。五个单元在动态库中可通过对应方法接口进行具体的实现。其中读取单元从数据黑盒中读取密文数据及校验信息或从密钥服务器中读取密钥信息;数据转换单元处理数据的加解密转换;校验单元校验明文信息是否被修改过;存储单元将密文数据及校验信息存储至数据黑盒中;计算单元则是执行相关的增减计算操作(例如游戏内部增减金币值或积分值等)。应用程序同时提供初始数据,此处即是整数形式的计数值(比如,游戏中的金币值或者积分值)。
1.1.2 访问接口从密钥服务器获取AES加密密钥以及RSA签名密钥。
1.1.3 访问接口使用RSA签名密钥对原文进行签名,将签名放到内存位置A。根据本发明的一个具体实施方式,签名可放置在内存中的任意一个位置,比如某个内存段中。
1.1.4 访问接口使用AES加密密钥对原文进行加密,将密文放到不同于内存位置A的内存位置B。
1.1.5 内存位置A和B处的签名密文和加密信息共同组成了数据黑盒。数据黑盒可以是一段内存地址,也可以是多段内存地址(因为内存位置A、B可能不是连续的,是分开的几段内存数据)。
1.2 数据读取过程
1.2.1 应用程序向访问接口请求读取特定计数值(比如金币数)。根据本发明的一个具体实施方式,当用户在使用应用程序的过程中,当需要使用某个功能时,例如点击某个按钮时,此时会向访问接口发出功能调用或数据获取请求,请求中会包含应用程序信息,应用程序信息包括但不限于应用程序ID、应用功能编号、数据值等。
1.2.2 访问接口从内存位置B读回密文,并使用AES密钥将其解密出明文。应用程序向访问接口发出请求,访问接口根据应用程序信息去数据黑盒中读取该应用程序对应的存储信息,根据上述1.1.1—1.1.5的说明,例如该应用程序的数据黑盒是两段内存地址,内存地址A为该应用程序校验信息,内存地址B为该应用程序的密文数据。根据本发明的一个具体实施方式,至于内存地址A、内存地址B哪块地址为密文,哪块地址为校验信息,对于应用程序来说是已知的,例如访问接口读取方法提供两个参数(a,b)。假设a为密文数据参数,b为校验信息参数,应用程序知道第一个参数是密文数据,第二个是校验信息。
1.2.3 访问接口从内存位置A读回原文的签名信息,并使用它对解密出的明文进行验签,若通过,则将明文返回给应用程序,否则报告应用程序内存数据被修改。访问接口运行的过程中是在内存中,访问接口可以是供应用程序调用的外部库,也可以是其它提供该功能的服务或程序。根据本发明的一个具体实施方式,向应用程序报告的形式为弹出MessageBox对话框。
1.3 增加计数值的过程。增加数据值的过程是指将增加的计数值在访问接口获取请求并获取明文数据(同1.2.2、1.2.3步骤)之后,经过计算将增加的计数值加密后写入数据黑盒中。
1.3.1 应用程序向访问接口请求将计数值(比如,金币数)加N,N为整数,并且N可以为负数;
1.3.2 同1.2.2和1.2.3步骤,访问接口获得计数值(比如,金币数)明文M,若校验不通过,直接报告应用程序内存数据被修改,操作失败。
1.3.3 若数据黑盒中原数据M校验无误,将M+N作为新的数据执行1.1.3和1.1.4步更新数据黑盒中的数据。
实施例2
本案例应用场景同上,在本实施例中,访问接口是一种提供了服务程序,该服务程序实现了访问接口读取、写入、增减等功能。访问接口向应用程序提供的操作也相同,不同的是在访问接口中,使用简单的明文与一段私密数据异或的方式获得密文。根据本发明的一个具体实施方式,假设私密数据为访问接口根据应用程序的进程信息、系统硬件信息和系统时间生成的,例如进程ID+系统信息+系统时间。使用明文与私密数据异或,例如可通过明文数值转换为二进制然后按位异或。根据本发明的一个具体实施方式,该应用程序的进程信息为test.exe,系统信息为Win7,系统时间为2012/4/19 17:59,则此私密数据为test.exe+win7+2012/4/19等组成,或者私密数据是test.exe+win7+2012/4/19组成后再加密而成。同时在内存中按每块最多M字节分散存放变换后的密文。例如M为正整数,例如 20,表示内存中按每块最多20个字节分散,即每隔20个字节存放一部分(无需考虑分散存放的内存是否被其他数据修改或覆盖,只要在校验时知道是否被修改过即可)。
数据校验使用哈希算法(MD5)。此案例在数据加密强度和校验的可靠性上比案例1稍有下降,但是获得了更高的性能,使用者可以根据应用程序的性能要求以及数据的私密程度来权衡选择合适的加密和校验方案。
2.1. 系统初始化过程
2.1.1 访问接口根据应用程序的进程信息、系统硬件信息和系统时间生成私密数据D。根据本发明的一个具体实施方式,此数据为加密的字符串,例如通过上述几种内容的组合然后加密后生成一个字符串,保存在内存中。同时,应用程序向访问接口提供初始数据,此处即是一整数形式的计数值(比如,游戏程序中的金币值);
2.1.2 访问接口对原文作MD5运算,将得到的HASH值放到内存位置A作为数据校验信息;
2.1.3 访问接口将原文与私密数据D异或得到密文,将密文按每块最多M字节分散存放在内存位置B1,B2,...,Bn,下文中这些位置统一称为B;
2.1.5 内存位置A和B处的签名信息和加密密文共同组成了数据黑盒。
读取数据和数据加的过程和方案1步骤相同,只的解密方式变为与私密数据异或,校验方式变为MD5校验。
实施例3:
本实施例假设用户正在使用的应用程序GameA,GameA为一种类似捕鱼达人类型的游戏应用程序,假设A中发射炮弹击中游动的鱼会增加10点金币值。
假定本实施例中访问接口是作为一种应用程序GameA的外部动态库展现的。访问接口中包括5个单元,分别为:读取单元、数据转换单元、校验单元、存储单元、计算单元。五个单元在外部动态库中可通过对应方法接口进行具体的实现。
其中读取单元从数据黑盒中读取密文数据及校验信息或从密钥服务器中读取密钥信息;数据转换单元处理数据的加解密转换;校验单元校验明文信息是否被修改过;存储单元将密文数据及校验信息存储至数据黑盒中;计算单元则是执行相关的增减计算操作(例如游戏内部增减金币值或积分值等)。
根据本发明的一个实施例 在访问接口中,使用DES算法对内存数据进行加密,使用ECC签名算法来校验加密后的数据,而相关的密钥存放在远程服务器上。访问接口可以从保存密钥的服务器上以加密通信的方式获取密钥。
首先,用户初次使用应用程序GameA时,会进行系统初始化,具体如下:
应用程序会向访问接口发送初始化请求,初始化请求中包括应用程序信息,应用信息包括但不限于应用程序ID、应用功能编号、初始数据值(例如初始金币值或积分值)等。
1.1访问接口根据应用信息通过读取单元从密钥服务器获取该应用程序对应的密钥信息,包括DES密钥以及ECC签名和验签密钥。
1.2访问接口通过数据转换单元使用签名密钥对原文进行签名,通过存储单元将签名放到内存位置A,内存位置A可以是内存中的任意一个位置。
1.3访问接口通过数据转换单元使用DES密钥对原文进行加密,通过存储单元将密文数据放到内存位置B中,内存位置B与内存位置A相邻或者不相邻皆可。
1.4内存A和B处的密文和签名信息共同组成了数据黑盒。
当用户在使用应用程序GameA时,此时应用程序向访问接口发送获取数据请求,例如显示金币数值,具体如下:
2.1访问接口根据读取单元从数据黑盒中的内存位置B读回密文,并通过数据转换单元使用DES密钥将读回的密文数据解密出明文。
2.2访问接口根据读取单元从内存位置A读取原文的签名信息,并通过校验单元使用签名信息对解密出的明文进行验签,校验数据信息是否被篡改过。若通过,则将明文返回给应用程序GameA,否则向GameA返回警告信息,报告应用程序内存数据被修改。
用户在玩GameA时,发射炮弹击中游动的鱼时,根据GameA游戏的规则,会将用户的金币数值加上10点金币值。具体增加数值的过程如下:
3.1应用程序向访问接口发送增加金币数值的请求,请求中包括应用程序信息,例如应用程序ID、计数值例如10点金币值等。当然游戏的规则亦可以进行其他的设置,比如发射炮弹未击中鱼时,扣除一定的金币数值(例如1点),发送增加金币数值时,计数值则为-1.
3.2同上述2.1-2.2的步骤,访问接口通过读取单元及数据转换单元获取GameA中的明文计数值(金币值或积分值,此实施中为金币值)M,通过校验单元对M进行验签,若校验不通过,则直接报告应用程序GameA内存数据被修改,操作失败。
3.3若数据黑盒中原数据M校验无误,则通过计算单元将M+10作为新的数据执行1.1-1.3中的步骤将新的密文数据及校验信息通过存储单元存储(更新)至数据黑盒中。
访问接口可以是任何形式的程序功能块,既可以是应用程序的一部分,也可以是供应用程序调用的外部库,也可以是其它提供该功能的服务或程序。
上述实施例举出了作为服务及外部动态库的实例,具体实现就是通过程序编码,针对对应的功能需求通过相关的方法接口来实现,访问接口与应用程序的数据交互过程是应用程序向访问接口发送请求,请求中包含应用程序或其他信息。其调用形式类似于调用一个接口方法,其中调用接口方法所需的参数就是请求的数据值的列表。
以上所述仅为本发明的基本实施例而已,并非用于限定本发明的保护范围。凡在本发明基本方法的精神和原则之内,所作的任何修改、等同替换以及改进等,均应包含在本发明的保护范围之内。

Claims (9)

1.一种安卓系统中保护内存数据的方法,用于保护应用程序中所使用到的内存数据,其特征在于,
所述应用程序向访问接口单元发送获取数据请求;
所述访问接口单元根据所述获取数据请求,从数据黑盒单元中的第一内存位置处读取已加密的第一签名密文并解码为第一签名明文;
所述访问接口单元根据所述获取数据请求,从所述数据黑盒单元中的第二内存位置处读取已加密的第一数据加密密文并解码为第一原文数据;其中,第二内存位置不同于第一内存位置;
利用第一解码明文验证第一原文数据,校验第一原文数据是否被篡改过;
如果未被篡改,则将第一原文数据返回给所述应用程序;
如果已被篡改,则向所述应用程序返回警告信息。
2.根据权利要求1所述的安卓系统中保护内存数据的方法,其特征在于,在将第一原文数据返回给所述应用程序,应用程序经过数据变更操作之后,通过所述访问接口单元保存数据信息,还包括如下步骤:
对第一原文数据中的数据进行数据值变更操作,得到第二原文数据;
所述访问接口单元根据所述应用信息从密钥服务器获取第二签名密钥和第二加密密钥;
根据第二签名密钥对第二原文数据进行签名,形成第二签名密文,并将加密后的第二签名密文存储到所述第一内存位置;
根据第二加密密钥对第二原文数据进行加密,形成第二数据加密密文,并将加密后的第二数据加密密文存储到所述第二内存位置。
3.据权利要求1所述的安卓系统中保护内存数据的方法,其特征在于,在所述应用程序向访问接口单元发送获取数据请求之前,还包括如下步骤:
所述应用程序向访问接口单元发送初始化请求,初始化请求包括所述应用程序的应用信息;
所述访问接口单元根据所述应用信息从密钥服务器获取第一签名密钥和第一加密密钥;
根据第一签名密钥对第一原文数据进行签名,形成第一签名密文,并将加密后的第一签名密文存储到第一内存位置;
根据第一加密密钥对第一原文数据进行加密,形成第一数据加密密文,并将加密后的第一数据加密密文存储到第二内存位置;
将第一内存位置与第二内存位置组成数据黑盒单元,其中,所述数据黑盒单元保存在一段内存地址中,或者保存在多段内存地址中。
4.根据权利要求1-3所述的安卓系统中保护内存数据的方法,其特征在于,所述访问接口单元至少包括:读取单元、数据转换单元、校验单元、存储单元、计算单元;其中
读取单元用于从数据黑盒中读取密文数据及校验信息或从密钥服务器中读取密钥信息;
数据转换单元用于处理数据的加解密转换;
校验单元用于数据校验;
存储单元用于将密文数据及校验信息存储至所述数据黑盒单元中;
计算单元用于执行对原文数据的数据值变更操作。
5.根据权利要求1-3所述的安卓系统中保护内存数据的方法,其特征在于,加密解密使用对称加密算法或非对称加密算法;或者使用自定义变换;或者是存储空间的变换,或者是前述多种变换方式的组合。
6. 根据权利要求1-3所述的安卓系统中保护内存数据的方法,其特征在于,校验加密后的数据采用明文的数字签名数据;或者采用明文的HASH值;或者采用其他校验值;或者采用前述多种校验方式的组合。
7.根据权利要求5或6所述的安卓系统中保护内存数据的方法,其特征在于,对称加密算法包括AES、DES、TDES;非对称加密算法包括RSA、ECC;自定义变换包括和私密数据异或;存储空间的变换包括明文分散存放于内存中;其他校验值可使用CRC校验或奇偶校验的值。
8.据权利要求1-3所述的安卓系统中保护内存数据的方法,其特征在于,所述多个密钥存放在远程服务器上,所述访问接口单元从所述远程服务器上以加密通信的方式获取所述多个密钥。
9.根据权利要求1-3所述的安卓系统中保护内存数据的方法,其特征在于,所述访问接口单元是所述应用程序的一部分,或者是供所述应用程序调用的外部库,或者是独立于所述应用程序的服务应用。
CN201210145812.6A 2012-05-12 2012-05-12 安卓系统中内存数据的保护方法 Active CN102708069B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210145812.6A CN102708069B (zh) 2012-05-12 2012-05-12 安卓系统中内存数据的保护方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210145812.6A CN102708069B (zh) 2012-05-12 2012-05-12 安卓系统中内存数据的保护方法

Publications (2)

Publication Number Publication Date
CN102708069A true CN102708069A (zh) 2012-10-03
CN102708069B CN102708069B (zh) 2016-11-16

Family

ID=46900869

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210145812.6A Active CN102708069B (zh) 2012-05-12 2012-05-12 安卓系统中内存数据的保护方法

Country Status (1)

Country Link
CN (1) CN102708069B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105612729A (zh) * 2013-09-06 2016-05-25 微软技术许可有限责任公司 限制应用所请求的信息
CN105868587A (zh) * 2016-03-24 2016-08-17 深圳市新格林耐特通信技术有限公司 一种加密、解密mac地址的方法和装置
CN108196838A (zh) * 2017-12-30 2018-06-22 京信通信系统(中国)有限公司 内存数据管理方法、系统、存储介质及计算机设备
CN110535642A (zh) * 2019-09-02 2019-12-03 北京智游网安科技有限公司 一种分散存储密钥的方法、智能终端及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1645789A (zh) * 2005-02-04 2005-07-27 张亚武 一种带智能卡的电子邮件系统
CN101163044A (zh) * 2007-11-12 2008-04-16 北京深思洛克数据保护中心 信息安全设备的远程升级方法及系统
CN101441601A (zh) * 2007-11-22 2009-05-27 中国长城计算机深圳股份有限公司 一种硬盘ata指令的加密传输的方法
CN101631022A (zh) * 2009-08-04 2010-01-20 北京飞天诚信科技有限公司 一种签名方法和系统
CN102075322A (zh) * 2010-12-06 2011-05-25 中兴通讯股份有限公司 关键参数的存储方法及终端设备
US8145908B1 (en) * 2004-10-29 2012-03-27 Akamai Technologies, Inc. Web content defacement protection system

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8145908B1 (en) * 2004-10-29 2012-03-27 Akamai Technologies, Inc. Web content defacement protection system
CN1645789A (zh) * 2005-02-04 2005-07-27 张亚武 一种带智能卡的电子邮件系统
CN101163044A (zh) * 2007-11-12 2008-04-16 北京深思洛克数据保护中心 信息安全设备的远程升级方法及系统
CN101441601A (zh) * 2007-11-22 2009-05-27 中国长城计算机深圳股份有限公司 一种硬盘ata指令的加密传输的方法
CN101631022A (zh) * 2009-08-04 2010-01-20 北京飞天诚信科技有限公司 一种签名方法和系统
CN102075322A (zh) * 2010-12-06 2011-05-25 中兴通讯股份有限公司 关键参数的存储方法及终端设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
鲁志萍: "黑盒子加密系统的具体实现", 《网络安全技术与应用》, 31 August 2009 (2009-08-31), pages 93 - 95 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105612729A (zh) * 2013-09-06 2016-05-25 微软技术许可有限责任公司 限制应用所请求的信息
CN105612729B (zh) * 2013-09-06 2019-06-25 微软技术许可有限责任公司 限制应用所请求的信息
CN105868587A (zh) * 2016-03-24 2016-08-17 深圳市新格林耐特通信技术有限公司 一种加密、解密mac地址的方法和装置
CN108196838A (zh) * 2017-12-30 2018-06-22 京信通信系统(中国)有限公司 内存数据管理方法、系统、存储介质及计算机设备
CN110535642A (zh) * 2019-09-02 2019-12-03 北京智游网安科技有限公司 一种分散存储密钥的方法、智能终端及存储介质
CN110535642B (zh) * 2019-09-02 2022-09-13 北京智游网安科技有限公司 一种分散存储密钥的方法、智能终端及存储介质

Also Published As

Publication number Publication date
CN102708069B (zh) 2016-11-16

Similar Documents

Publication Publication Date Title
CN105450620B (zh) 一种信息处理方法及装置
CN100421046C (zh) 安全运行特许软件的方法和计算装置
EP2795829B1 (en) Cryptographic system and methodology for securing software cryptography
KR101256149B1 (ko) 프로그램 카운터 인코딩을 이용한 간접 함수 호출 보호 방법 및 보호 장치
US11281769B2 (en) Software integrity verification
CN104318135B (zh) 一种基于可信执行环境的Java代码安全动态载入方法
JP5613232B2 (ja) コンピュータ・システム中の安全オブジェクトに対するサポート
CN103210396A (zh) 包括用于保护敏感代码和数据的架构的方法和装置
US20120216242A1 (en) Systems and Methods for Enhanced Security in Wireless Communication
WO2013012461A1 (en) Secure boot information with validation control data specifying a validation technique
CN109960903A (zh) 一种应用加固的方法、装置、电子设备及存储介质
Felsen et al. Secure and private function evaluation with Intel SGX
CN102855161B (zh) 用于安全微控制器的外部存储器的数据交织方案
CN107784207B (zh) 金融app界面的显示方法、装置、设备及存储介质
Cappaert et al. Towards tamper resistant code encryption: Practice and experience
CN106295257A (zh) 一种被加固软件的认证方法及装置
CN110825672A (zh) 用于联机加密处理的高性能自主硬件引擎
Unterluggauer et al. MEAS: Memory encryption and authentication secure against side-channel attacks
US20240028775A1 (en) Hardware protection of inline cryptographic processor
CN110210211A (zh) 一种数据保护的方法和计算设备
CN102708069A (zh) 安卓系统中内存数据的保护方法
CN110659506A (zh) 基于密钥刷新对存储器进行重放保护
US20210224042A1 (en) Apparatus and method for maintaining a counter value
US20230017231A1 (en) Securely executing software based on cryptographically verified instructions
CN111385083A (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
ASS Succession or assignment of patent right

Owner name: BEIJING SHENSI SHUDUN SCIENCE + TECHNOLOGY CO., LT

Free format text: FORMER OWNER: BEIJING SENSELOCK SOFTWARE TECHNOLOGY CO., LTD.

Effective date: 20150722

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150722

Address after: 100872 Zhongguancun street, Haidian District, a cultural building, No. 1706, No. 59, No.

Applicant after: BEIJING SHENSI SHUDUN TECHNOLOGY Co.,Ltd.

Address before: 100084 Beijing City, Haidian District Zhongguancun South Street No. 8 Building 1202 Zhucheng

Applicant before: Beijing Senselock Software Technology Co.,Ltd.

CB02 Change of applicant information

Address after: 100872 Zhongguancun street, Haidian District, a cultural building, No. 1706, No. 59, No.

Applicant after: BEIJING SENSESHIELD TECHNOLOGY Co.,Ltd.

Address before: 100872 Zhongguancun street, Haidian District, a cultural building, No. 1706, No. 59, No.

Applicant before: BEIJING SHENSI SHUDUN TECHNOLOGY Co.,Ltd.

COR Change of bibliographic data
C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee
CP02 Change in the address of a patent holder

Address after: 100193 Beijing, Haidian District, East West Road, No. 10, East Hospital, building No. 5, floor 5, layer 510

Patentee after: BEIJING SENSESHIELD TECHNOLOGY Co.,Ltd.

Address before: 100872 Zhongguancun street, Haidian District, a cultural building, No. 1706, No. 59, No.

Patentee before: BEIJING SENSESHIELD TECHNOLOGY Co.,Ltd.

CP01 Change in the name or title of a patent holder

Address after: 100193 5th floor 510, No. 5 Building, East Yard, No. 10 Wangdong Road, Northwest Haidian District, Beijing

Patentee after: Beijing Shendun Technology Co.,Ltd.

Address before: 100193 5th floor 510, No. 5 Building, East Yard, No. 10 Wangdong Road, Northwest Haidian District, Beijing

Patentee before: BEIJING SENSESHIELD TECHNOLOGY Co.,Ltd.

CP01 Change in the name or title of a patent holder