当前位置: 首页 > 专利查询>曹晓晶专利>正文

二进制应用程序的密码算法的还原方法技术

技术编号:6524108 阅读:494 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及一种二进制应用程序的密码算法的还原方法,本发明专利技术的方法特别适宜于将IEEEP1619.1所设计的认证加密具体地应用到磁盘的数据保护中;一方面,解决了其认证加密算法对初始化向量和消息认证码的存储问题,另一方面,解决了其认证加密算法不能对抗重放攻击的弱点。还有,本发明专利技术所提出的方法和装置直接作用于磁盘扇区上,从而能够保护磁盘中所存储的任何数据;并且,作为扇区层的底层保护机制,便于集成到现有系统中。总之,本发明专利技术所提出的方法和装置可以有效地提供数据存储的机密性与完整性保护。

【技术实现步骤摘要】

本专利技术涉及一种软件分析和密码学
的方法,具体是一种。
技术介绍
密码算法涉及诸多方面的技术,包括数学和密码学上的设计和安全性分析,同时也包括如何在实际应用中实现。其中,密码算法的软件实现和应用在目前个人计算机乃至服务器级别的软件上运用得极为广泛,此类实现将密码算法以二进制形式编译于软件之中,程序运行时调用密码算法进行加密解密运算。其中,密码算法的算法逻辑、使用的数据结构、密钥信息和加密解密的数据格式,都是密码学分析和信息安全分析所需要了解的内容。密码学理论的Kerdd1Off原理指出,密码学算法的安全性分析必须假设密码算法的内部结构是公开的,因此,对于软件中的密码算法的提取是对软件安全分析的必要步骤。包含密码算法的应用软件,通常可以按照其包含的密码算法类型分为两种,一种是包含标准密码学算法的软件,所谓标准密码学算法,即算法的设计、逻辑、结构等信息早已公开并接受了广泛的密码学分析;另一种是包含软件开发人员自行设计的加密算法的软件,其中可能存在与标准密码学算法的结构完全不同的算法,也可能存在基于标准密码学算法进行少量修改得到的算法。此外,按照软件中密码算法的工作方式,可以分为包含密钥和不包含密钥的软件。
技术实现思路
本专利技术的目的在于针对上述现有技术的不足,能够快速高效地从程序的二进制代码中提取标准和非标准的密码学算法及其相关信息,使得程序的安全性分析得以有效地开展。本专利技术是通过如下技术方案实现的,本专利技术中每一被保护扇区都有一个与之对应的初始化向量和一个消息认证码,且对于一个确定的被保护扇区的每一次写入磁盘操作而言,其对应的初始化向量具有唯一的取值,这种唯一是指既不与其它被保护扇区对应的初始化向量相同,也不与该被保护扇区的先前写入操作所对应的初始化向量相同;通过该初始化向量和不为攻击者所知的密钥,完成对相应被保护扇区的加密,并生成该被保护扇区对应的消息认证码;在全部被保护扇区所对应的全部初始化向量上构造哈希树,通过哈希树来保护这些初始化向量不可被篡改;将被保护扇区及其对应的初始化向量和消息认证码物理相邻地存储在磁盘上,实现这种物理相邻是将若干个初始化向量以及与该若干个初始化向量所对应的被保护扇区和被保护扇区的消息认证码存储在一起,且存储在一起是指存储在物理相邻的磁盘位置上,并且是存储在同一磁道的相邻位置上,以及在同一磁道不宜完全容纳时分布在相邻的一条或3多条磁道上;将除哈希树根节点之外的其它哈希树节点物理相邻地存储在磁盘上,实现这种物理相邻是将这些哈希树节点存储在物理相邻的磁盘位置上,并且是存储在同一磁道的相邻位置上,以及在同一磁道不宜完全容纳时分布在相邻的一条或多条磁道上。所述的初始化向量,仅是一个计数值,且是通过计数每一次磁盘写入操作而递增来得到的。所述的初始化向量,仅是一个随机数,且是通过为每一次磁盘写入操作而生成随机数来得到的。所述的初始化向量,其长度为64位。所述的初始化向量,其包含被保护扇区的地址信息。所述的初始化向量,对于确定地址的被保护扇区而言,其在磁盘上的存储位置是确定的。本专利技术所提出的方法特别适宜于将IEEE P1619. 1所设计的认证加密具体地应用到磁盘的数据保护中;一方面,解决了其认证加密算法对初始化向量和消息认证码的存储问题,另一方面,解决了其认证加密算法不能对抗重放攻击的弱点。还有,本专利技术所提出的方法和装置直接作用于磁盘扇区上,从而能够保护磁盘中所存储的任何数据;并且,作为扇区层的底层保护机制,便于集成到现有系统中。总之,本专利技术所提出的方法和装置可以有效地提供数据存储的机密性与完整性保护。具体实施例方式本实施例在以本专利技术技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本专利技术的保护范围不限于下述的实施例。本专利技术所考虑的,是从扇区层次上,保护磁盘数据的机密性与完整性。在本专利技术中,磁盘(Disk)是指硬盘或硬磁盘(Hard Disk),也称为磁盘驱动器(Disk Driver)或硬盘驱动器,或者作为存储设备(Storage Devices)的一般性代表。鉴于公知的原因,本专利技术不特别地描述磁盘结构、访问与延迟特性、接口等方面的内容。同样出于公知的原因, 对所使用的某些术语、名词和表达方式等不作显式的定义或说明,比如数据、数据块、位 (bit)、字节(byte)、节点、连接、数的表达方式、安全、可信、哈希(Hash,单向散列变换,也称散列)、Hash函数、哈希树(Hash Tree)、哈希树的叶节点(Leaf node)、哈希树的内部节点(Internal node)、哈希树的根节点(Root node)、子节点、父节点、加密(Encryption/ Cipher)、解密(Decryption/Decipher)、密钥(key)、IV(初始化向量,为加密、认证算法所需的输入参数)、MAC (消息认证码)、HMAC (Hash Message Authentication Code,散列消息认证码;是一种带有密钥的散列)、Sector (扇区)、磁道、地址(Address,用于识别扇区的编号或者位置),等等。对于磁盘扇区而言,除去标识、地址、纠错码等信息,用于存储数据的尺寸通常为 512字节;虽然存在其它尺寸的磁盘扇区,比如4K字节,本专利技术以512字节作为描述本专利技术所提出方法和装置的示例。通过对512字节扇区情形的描述,可以直接类推运用于4K字节扇区或其它尺寸扇区的情形。下面,给出本专利技术的具体应用示例,以更清晰地说明本专利技术所提出方法的具体实施。(示例)应用本专利技术的方法构造磁盘数据机密性与完整性保护系统的存储布局本示例依据本专利技术所给出的方法,结合IEEE P1619. 1 (Standard for AuthenticatedEncryption with Length Expansion for Storage Devices)的认证力口密算法,在实行磁盘数据保护时对数据、初始化向量和哈希树节点进行物理存储布局。在IEEE P1619. 1 中,认证加密的实现可以采用 AES-GCM (Galois Counter Mode)、 AES-CCM (Counter with CBC-MAC)、AES-CBC with HMAC 以及 XTS-AES with HMAC。以 AES-CCM为例,其工作过程为写扇区明文数据到磁盘时,生成一个对应的IV (要求是一个 nonce数值;其长度要求是96bit,并且在不为96bit时,算法会应用GHASH函数而将返回值作为内部计算过程所实际使用的IV),并基于IV和密钥得出扇区密文数据以及对应的 MAC ;在从磁盘读出扇区数据时,相应的IV被用于解密扇区密文数据以及重新计算MAC,并通过将重新计算的MAC和写扇区时得到的MAC相比较,判断数据是否为合法(即,是否未被篡改)。取磁盘扇区的尺寸为512byte,并以DatMector表示用于存储数据的磁盘扇区; 取IV为64bit(该长度能够满足AES-CCM对IV是一个nonce值的要求),MAC为128bit ;以 HMAC-MD5 (MD5为Message-digest Algorithm 5)函数计算哈希树诸节点,那么,哈希树叶节点和内部节点的尺寸均为128bi本文档来自技高网...

【技术保护点】
1.一种二进制应用程序的密码算法的还原方法,其特征在于,具体如下:每一被保护扇区都有一个与之对应的初始化向量和一个消息认证码,且对于一个确定的被保护扇区的每一次写入磁盘操作而言,其对应的初始化向量具有唯一的取值,这种唯一是指既不与其它被保护扇区对应的初始化向量相同,也不与该被保护扇区的先前写入操作所对应的初始化向量相同;通过该初始化向量和不为攻击者所知的密钥,完成对相应被保护扇区的加密,并生成该被保护扇区对应的消息认证码;在全部被保护扇区所对应的全部初始化向量上构造哈希树,通过哈希树来保护这些初始化向量不可被篡改;将被保护扇区及其对应的初始化向量和消息认证码物理相邻地存储在磁盘上,实现这种物理相邻是将若干个初始化向量以及与该若干个初始化向量所对应的被保护扇区和被保护扇区的消息认证码存储在一起,且存储在一起是指存储在物理相邻的磁盘位置上,并且是存储在同一磁道的相邻位置上,以及在同一磁道不宜完全容纳时分布在相邻的一条或多条磁道上;将除哈希树根节点之外的其它哈希树节点物理相邻地存储在磁盘上,实现这种物理相邻是将这些哈希树节点存储在物理相邻的磁盘位置上,并且是存储在同一磁道的相邻位置上,以及在同一磁道不宜完全容纳时分布在相邻的一条或多条磁道上。...

【技术特征摘要】
1.一种二进制应用程序的密码算法的还原方法,其特征在于,具体如下每一被保护扇区都有一个与之对应的初始化向量和一个消息认证码,且对于一个确定的被保护扇区的每一次写入磁盘操作而言,其对应的初始化向量具有唯一的取值,这种唯一是指既不与其它被保护扇区对应的初始化向量相同,也不与该被保护扇区的先前写入操作所对应的初始化向量相同;通过该初始化向量和不为攻击者所知的密钥,完成对相应被保护扇区的加密,并生成该被保护扇区对应的消息认证码;在全部被保护扇区所对应的全部初始化向量上构造哈希树,通过哈希树来保护这些初始化向量不可被篡改;将被保护扇区及其对应的初始化向量和消息认证码物理相邻地存储在磁盘上,实现这种物理相邻是将若干个初始化向量以及与该若干个初始化向量所对应的被保护扇区和被保护扇区的消息认证码存储在一起,且存储在一起是指存储在物理相邻的磁盘位置上,并且是存储在同一磁道的相邻位置上,以及在同一磁道不宜完全容纳时分布在相邻的一条或多条磁道上;将除哈希树根节点之外的其...

【专利技术属性】
技术研发人员:曹晓晶
申请(专利权)人:曹晓晶
类型:发明
国别省市:31

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

1