用于保护数据的方法技术

技术编号:10895152 阅读:76 留言:0更新日期:2015-01-09 17:53
在本公开中,通过已知的映像计算散列函数,例如程序中的地址范围。已知散列函数的结果在两个不同的时间点处相同,即在运行程序之前,即在建立时间签名,和在程序运行期间,即运行时间。程序员希望隐藏的值,即秘密值,在建立时间也是已知的。在建立时间,以这样一种方式组合秘密值和散列使得可在运行时间反转该组合操作。该组合值,即salt,与程序一起被存储。之后,在运行时间,程序与在签名时间计算的那样计算相同的散列值,并且进行反向的组合操作,以便揭示该秘密值。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及,并且特别地关于向敏感数据提供保护。
技术介绍
敏感程序(即遭受攻击/篡改的程序)具有在其操作期间使用的被认为敏感的某 些数据。例如,在完成软件内的一组计算后,需要激活程序中的一大组子例程中的子例程。 然而,揭示哪个子例程将被激活可有助于攻击者破坏软件的操作。在这种情况下,子例程的 地址是需要保护的宝贵资产。在另一个例子中,视频流可能需要用钥匙来解密。因此,密钥 构成了需要保护的宝贵资产。 现有的软件实现适合于不同程度的静态分析。也就是说,一旦攻击者能够提取整 个软件负载,他们能够基于他们希望利用的功能优先化和反向工程化目标的组件。因为所 有的重要数据变量是静态的,所以攻击者可以简单地从反向工程化的代码读取它们。直接 嵌入在程序中的秘密易于被攻击者检索,例如函数地址和/或解密密钥。 这个问题的基本解决方案在于隐藏敏感数据。这样做的一种众所周知的方法是通 过分割秘密模型,从而该数据被分解成两部分,每一部分单独是无用的,但在组合时恢复 原始数据。 本文公开的系统和方法提供散列(hashing)数据的方法和系统,用于对敏感数据 提供保护以消除或减轻上述缺点中的至少一些。
技术实现思路
本专利技术的一个目的是提供保护敏感数据的改进方法。 因此,在本公开中,通过已知的映像(image)(例如程序中的地址范围)计算散列 函数。已知散列函数的结果在两个不同的时间点处相同,即在运行程序之前(即在建立时 间签名),和在程序运行期间(即运行时间)。程序员希望隐藏的值(即秘密值)在建立时 间也是已知的。仍然在建立时间,以这样一种方式组合秘密值和散列使得可在运行时间反 转该组合操作。该组合值(即salt(混淆值))与程序一起被存储。注意:salt决不静态 地揭示秘密值。之后,在运行时间,程序与在签名时间计算的那样计算相同的散列值,并且 进行反向组合操作,以便揭示该秘密值。进一步的细分显示如何在不进行与敏感值的直接 比较(这将不希望地揭示预期的正确值)的情况下验证敏感值是正确的。 根据本专利技术的一个方面,提供了一种保护敏感数据的方法,包括步骤:在建立时 间期间,对映像进行散列以产生第一散列,将敏感数据与第一散列组合以形成salt,存储 salt,并且在运行时间,对映像进行散列以产生第二散列,检索salt,将第二散列与salt组 合以恢复敏感数据。 【附图说明】 参照附图,将从下面的详细描述中进一步理解本专利技术,其中: 图1示出根据本公开第一实施例的保护敏感数据的方法; 图2示出根据本公开第一实施例的恢复敏感数据的方法; 图3示出根据本公开第二实施例的保护敏感数据的方法; 图4示出根据本公开第一实施例的恢复敏感数据的方法; 图5示出根据本公开第三实施例的保护敏感数据的方法; 图6示出根据本公开第三实施例的恢复敏感数据的方法; 图7示出根据本公开第四实施例的保护敏感数据的方法; 图8示出图7的方法的进一步的细节; 图9示出图7的方法的进一步的细节; 图10示出图7的方法的进一步的细节;以及 图11示出恢复由图8至10的方法所保护的敏感数据的方法。 【具体实施方式】 定义 本文档来自技高网...
<a href="http://www.xjishu.com/zhuanli/55/201280071962.html" title="用于保护数据的方法原文来自X技术">用于保护数据的方法</a>

【技术保护点】
一种保护敏感数据的方法,包括步骤:在建立时间期间,对映像进行散列以产生第一散列;将敏感数据与第一散列组合以形成salt;以及存储salt;在运行时间,对映像进行散列以产生第二散列;检索salt;将第二散列与salt组合以恢复敏感数据。

【技术特征摘要】
【国外来华专利技术】1. 一种保护敏感数据的方法,包括步骤: 在建立时间期间,对映像进行散列以产生第一散列; 将敏感数据与第一散列组合以形成salt ;以及 存储salt ; 在运行时间,对映像进行散列以产生第二散列; 检索salt ; 将第二散列与salt组合以恢复敏感数据。2. 如权利要求1的方法,还包括将第一值与映像组合的步骤。3. 如权利要求1的方法,还包括步骤:将敏感数据分割成至少两部分,将第一值与映像 组合,将敏感数据的第一部分与第一散列组合以形成第一 salt,以及将第二值与映像组合, 将敏感数据的第二部分与第一散列组合以形成第二salt。4. 如权利要求3的方法,其中检索salt的步骤检索第一和第二salt,并且组合第二散 列的步骤将第二散列与第一及第二salt组合以分别恢复敏感数据的第一和第二部分。5. 如权利要求4的任一项权利要求的方法,还包括步骤:对第一和第二散列进行散列 以产生第三和第四散列,以及比较第三和第四散列以确定它们是否相同,并且如果它们相 同则验证该敏感数据。6. 如权利要求5的方法,其中将敏感数据与第三散列值组合的步骤包括将敏感数据与 随机数据组合。7. 如权利要求6的方法,其中将敏感数据与第三散列值组合的步骤包括:将敏感数据 与随机数据组合,并且将输出与随机数据及第三散列值组合。8. 如权利要求7的方法,其中敏感数据是指令地址。9. 如权利要求8的方法,其中指令地址包括转移地址和回调函数地址中的至少一个。10. 如权利要求8或9的方法,其中指令地址具有32位和64位之一。11. 如权利要求1的方法,其中映像是任何文件的一部分。12. 如权利要求11的方法,其中映像是可执行文件的一部分。13. -种保护敏感数据的方...

【专利技术属性】
技术研发人员:R·克尔滕H·董C·利姆
申请(专利权)人:爱迪德加拿大公司
类型:发明
国别省市:加拿大;CA

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1