当前位置:文档之家› 保留格式加密技术研究

保留格式加密技术研究

保留格式加密技术研究
保留格式加密技术研究

软件学报ISSN 1000-9825, CODEN RUXUEW E-mail: jos@https://www.doczj.com/doc/5e4574695.html,

Journal of Software,2012,23(1):152?170 [doi: 10.3724/SP.J.1001.2012.04096] https://www.doczj.com/doc/5e4574695.html,

+86-10-62562563 ?中国科学院软件研究所版权所有. Tel/Fax:

?

保留格式加密技术研究

刘哲理1,2, 贾春福1,2, 李经纬1,2+

1(南开大学信息技术科学学院计算机与信息安全系,天津 300071)

2(福建师范大学网络安全与密码技术重点实验室,福建福州 350007)

Research on the Format-Preserving Encryption Techniques

LIU Zhe-Li1,2, JIA Chun-Fu1,2, LI Jing-Wei1,2+

1(Department of Computer and Information Security, College of Information Technical Science, Nankai University, Tianjin 300071,

China)

2(Key Laboratory of Network Security and Cryptology, Fujian Normal University, Fuzhou 350007, China)

+ Corresponding author: E-mail: lijw1987@https://www.doczj.com/doc/5e4574695.html,

Liu ZL, Jia CF, Li JW. Research on the format-preserving encryption techniques. Journal of Software, 2012,

23(1):152?170. https://www.doczj.com/doc/5e4574695.html,/1000-9825/4096.htm

Abstract: The paper reviews the current research situation of FPE (format-preserving encryption) including basic

constructing methods, encryption modes and security. When describing the basic constructing methods, it introduces

the basic principles of Prefix, Cycle-Walking and Generalized-Feistel and their application scopes. When explaining

the encryption modes, it mainly analyzes the construction features of FPE modes or schemes, introduces the

principles of three classical modes, summarizes the different types of Feistel networks and presents an overview of

their applications in FPE. When talking about the security, it describes the security notions of FPE and their

corresponding games, analyzing the relationship among them. In the end, it introduces the application scopes of

FPE and points out that performance, integrity authentication and key problems of database encryption with FPE,

such as making range query and arithmetic operation on encrypted data, are the major problems to be solved in the

future. All these works will play a role in promoting research of format-preserving encryption.

Key words: format-preserving encryption; rank-then-encipher; Feistel network; security goal; order preserving

encryption; privacy homomorphism

摘要: 围绕基本构建方法、加密模型和安全性等方面,对保留格式加密(format-preserving encryption,简称FPE)

的研究现状进行了综述.在基本构建方法方面,介绍了Prefix,Cycle-Walking和Generalized-Feistel方法的工作原理及

适用范围;在加密模型方面,分析了FPE模型或方案所呈现的构造特点,介绍了典型模型的工作原理,总结了Feistel

网络的类型及其在FPE中的应用情况;在安全性方面,描述了保留格式加密的安全目标及相关的游戏模型,分析了各

安全目标之间的关系.最后介绍了保留格式加密的应用领域,指出性能、完整性认证以及FPE在数据库加密应用中

? 基金项目: 国家自然科学基金(60973141); 天津市自然科学基金(09JCYBJ00300); 高等学校博士学科点专项科研基金

(20100031110030); 网络安全与密码技术福建省高校重点实验室开放课题(2011004); 中央高校基本科研业务费专项资金

收稿时间:2010-07-21; 修改时间: 2011-04-02; 定稿时间: 2011-07-21; jos在线出版时间: 2011-09-09

CNKI优先出版时间: 2011-09-08 17:19, https://www.doczj.com/doc/5e4574695.html,/kcms/detail/11.2560.TP.20110908.1719.003.html

刘哲理等:保留格式加密技术研究153

如何对密文进行范围查询、算术运算将是进一步需要解决的问题.这些研究工作将对保留格式加密的研究起到一定的促进作用.

关键词: 保留格式加密;排序后加密;Feistel网络;安全目标;保序加密;秘密同态

中图法分类号: TP309文献标识码: A

在实际应用中,对数据库中的信用卡号、身份证号等敏感数据进行加密非常必要,然而使用传统分组密码通常会扩展数据,使数据长度和类型发生变化,需要修改数据库结构或应用程序来适应这些变化,成本非常高.

此类加密要求密文与明文具有相同的格式,是一类新的加密问题,称为“保留格式加密(format-preserving encryption,简称FPE)”.

FPE的初衷是为了解决数据库或者应用系统中敏感数据的加密问题,随着研究的进展,其应用并不仅限于此.比如:FPE可以应用于数据遮蔽(data masking)[1]领域,通过克隆原始数据进行掩码转换,输出一个与原数据格式、关联一模一样的数据,用于解决从生产环境的数据向测试环境(或者开发环境)导入时可能产生的数据内容安全问题.此外,FPE对于网络数据安全一样有用,可以使数据报在不改变格式的情况下在传输过程中受到保护.目前,国外已公开发表多篇有关FPE的理论研究成果,美国Voltage公司已将FPE技术应用到其安全产品SecureData中.

本文关注近年来保留格式加密研究的进展,描述了保留格式加密的研究历史,并主要围绕基本方法、加密模型以及安全性等方面对已有的研究成果进行综述,指出已有加密模型的构造特点,全面介绍了与FPE相关的安全目标和相应的游戏模型,以期对保留格式加密在国内的研究起到一定的推动作用.

1 保留格式加密

1.1 FPE问题

保留格式加密是一种对称密码,要求密文与明文具有相同的格式.

在1997年,Smith和Brightwell[2]认为,FPE有助于增强数据库和数据仓库的安全性,并指出使用传统分组密码解决该问题的困难:“数据库中敏感数据加密后,密文要和明文具有大致的相似性.使用DES算法对一个社会保险号加密后,密文不仅不像社会保险号,甚至不包含任何数字,由于社会保险号在数据库中被定义为长度为9的字符型字段,因此无法存储DES算法加密后的数据,应用程序也无法正确读取和显示,除非在应用程序和数据库中进行大量的修改来适应加密后数据格式的变化”.

对于数据库敏感数据的保留格式加密,需要保证密文满足数据库对于数据格式的约束,主要包括:(1) 数据不能被扩充.例如,当加密N位的数字时,必须输出另外一个N位的数字;(2) 数据类型不能被改变;(3) 数据必须能被确定性地加密.对于数据库中作为主键或者索引字段的数据,被加密后将保留其所在的列作为主键或者索引的特性;(4) 加、解密过程可逆.

1.2 研究历史

FPE问题自提出以来已有大约30年的研究历史,可以划分为两个阶段:早期的研究学者致力于探索可行的解决方法,最近的研究学者则致力于解决复杂消息空间上的保留格式加密问题和提出高效的加密模型.其中,具有代表性的有关FPE的文献及其所做的贡献可见表1.

1.2.1 基本方法探索阶段

基本方法探索阶段主要致力于提出简单问题域上FPE问题的解决方法.自1981年提出FPE问题以来,直到2002年才提出了适用于整数集上的3种基本的FPE构建方法.

FPE问题最早可以追溯到1981年,文献[3]描述了一种使用DES算法加密字符串的方法.与分组密码算法不同,该方法要求密文与明文具有相同的格式:假设密文和明文是由确定字母表chars中字母组成的字符串,比如chars={0,1,…,9},则加、解密必须在集合chars n(由chars中字符组成的长度为n的字符串构成的集合)中完

154 Journal of Software软件学报 V ol.23, No.1, January 2012

成,即对于每个明文x∈chars n,其将被映射成密文y∈chars n.然而随着2005年5月FIPS 74标准[3]的停止使用,该方法也被废弃.

Table 1History of format-preserving encryption researches

表1保留格式加密的研究历史

时间论文方法或贡献解决的问题域

1981

Guidelines for implementing and

using the NBS data encryption standard[3]

一种基于DES的加密方案chars n

1997 Using datatype-preserving encryption to

enhance data warehouse security[2]

一种基于DES的

CFB模式的加密方案

chars n

Prefix

Cycle-Walking

2002 Ciphers with arbitrary finite domains[4]

Generalized-Feistel

整数集

2004 Security of random Feistel schemes

with 5 or more rounds[6]

证明了Feistel网络的轮数

与由其安全性的关系

2008

Voltage security whitepaper:

Format preserving encryption[7]

提出使用FPE来保护数据

库中的个人识别信息

2008 Feistel finite set encryption mode[8] FFSEM

整数集

Rank-then-Encipher 任意正则语言2009 Format-Preserving

encryption[9]一种基于非平衡Feistel

网络的整数FPE方案

整数集

2009 The FFX mode of operation for

format-preserving encryption[10]

FFX chars n

2009 How to encipher messages on a small domain—

Deterministic encryption and the thorp shuffle[17]

一种基于Thorp Shuffle的

解决方案

小型整数集

2010 BPS: A format-preserving encryption proposal[13]BPS chars n

2010 A new FPE scheme based on Feistel network[18]基于Type-2 Feistel网络的

整数FPE方案

整数集

2010 Format-Preserving encryption for DateTime[19]基于随机基准值的

加密方案

数据库中日期

时间型字段

注:chars为一个有限字符表

1997年,文献[2]考虑了更一般的情况,描述了对数据库中特定类型字段进行加、解密的困难,试图寻找一种保留数据类型不变的加、解密方法,将其定义为保留数据类型加密(datatype-preserving encryption,简称DPE),并指出传统的分组密码不适合解决该问题.文献[2]的作者提供了可参考的解决方法:使用DES算法基于CFB (cipher-feedback)模式来产生一个偏移量向量,并与明文字符串的索引向量求和,得到密文字符串的索引向量,最后再将其转化为密文字符串.然而,该方法在固定密钥的情况下,当两个明文字符串具有相同的前缀时,所得的密文也具有相同的前缀,这会造成明文部分信息的泄露.

2002年,文献[4]首次从密码学角度研究了FPE问题,认为核心是设计某密码E:K×X→X.其中,K是密钥空间, X是有限的消息空间.文献[4]关注整数集X=]n={0,1,…,n?1}上的FPE问题,提出了3种FPE构建方法:Prefix, Cycle-Walking和Generalized-Feistel.Prefix密码在内存中建立一个伪随机置换,利用该置换来加密数据,仅适合于较小整数集(6位以内十进制整数).Cycle-Walking方法能够使用传统分组密码(分组大小为2m)在小于但接近于22m的整数集上产生一个安全置换,然而,如果待加密整数集的大小远远小于所采用密码分组的长度时,则Cycle-Walking会消耗更高的代价.实验证明,采用64位加密算法,适合加密的范围为二进制位数为54~64位的整数集(16~19位十进制整数).Generalized-Feistel方法利用Feistel网络[5]构造分组长度为2m的分组密码(这里使22m略大于待加密整数集的大小),并结合Cycle-Walking方法,理论上可对任意大小的整数集进行保留格式加密.实验证明,该方法较适合二进制位数为40~240位的整数集(12~80位十进制整数).文献[4]还证明,当攻击者拥有的明文密文对少于2m/2时,Generalized-Feistel方法具有足够的安全性.2004年,Patarin[6]简单扩展了Black和Rogaway的结论,用更多轮次的Feistel运算替代原来的3轮运算,证明了攻击者至少需要拥有2m的明文密文对时才可能破译密码,使得Feistel网络能够在更大范围内得以应用.

刘哲理等:保留格式加密技术研究155

1.2.2 加密模型研究阶段

2008年,美国Voltage公司公布了其安全产品中所采用的FPE技术的白皮书[7],介绍了已有的FPE研究成果,提出了社会保险号和信用卡号的FPE方案.自此,FPE得到了更多关注,研究学者们基于已提出的简单问题域上的FPE方法,试图解决更复杂问题域上的FPE问题,并提出高效的加密模型.

2008年,文献[8]基于平衡Feistel网络,以截断基础分组密码AES输出的方式构造所需的伪随机函数,提出了FFSEM(Feistel finite set encryption mode)模型.该模型使用Cycle-Walking方法,理论上可以解决任意整数集上的FPE问题,已被NIST(美国国家标准和技术协会)所采纳.

2009年,Bellare在文献[9]中对FPE问题进行了更深入的研究,充分考虑了消息空间的复杂性,完整地定义了FPE的密码学概念及安全目标,提出了一种通用的FPE构建方法“Rank-then-Encipher”,简称RtE方法.该方法主要包括两个步骤,即排序和加密,能否在待加密消息空间中找到高效的排序算法是该方法的关键.然而,并不是所有消息空间都存在高效的排序算法,Bellare等人将此作为开放性问题保留下来,即在实际问题中寻找一个不需要使用排序算法的高效FPE方法.

同年,Bellare在消息空间、Feistel网络类型和轮运算等方面对FFSEM进行了扩展,提出了FFX(format- preserving,Feistel-based,X是参数选择等相关因素)模型[10].该模型使用非平衡Feistel网络[11],可以解决长度为n 的字符串构成的消息空间chars n(chars为某固定字符表)上的FPE问题.与FFSEM相比,FFX所解决的FPE问题的消息空间更加复杂,加入了对调整因子(tweak)[12]的支持,支持非二进制字母表和非平衡划分,并且在加密信用卡号、社会保险号等信息时,可以避免使用Cycle-Walking.

2010年,文献[13]对FFX进行了改进,详细描述了调整因子的使用方法,提出了BPS模型.在该模型中,可以使用TDES[14],AES[15]或SHA-2[16]构建内部分组加密算法,通过CBC模式(cipher-block chaining mode)可以加密任意长度的字符串并保留其格式.

除了上述典型的加密模型外,在2009年,文献[17]针对文献[4]中所提出的方法(Prefix,Cycle-Walking和Generalized-Feistel)不能解决的较小整数集(比如6~12位十进制整数)内的FPE问题,提出了基于Thorp Shuffle 的解决方案,并详细分析了其安全性.在2010年,文献[18]基于k-分割的Type-2 Feistel网络提出了新的整数FPE 方案.同年,文献[19]针对RtE方法在对日期型数据进行FPE时效率较低的问题,提出了基于随机基准值的日期类型的解决方案,基本思想是“随机选取一个日期作为基准值,通过对待加密的日期相对于该基准值的偏移量进行加、解密的方法,将日期类型的FPE问题转移为整数域上的FPE问题”,极大地提高了效率.

1.3 两种定义

基于FPE已有的研究成果,从两个角度对FPE进行了定义:基本FPE和一般化FPE.基本FPE描述了FPE 要解决的问题,即确保密文属于明文所在的消息空间;一般化FPE则强调FPE问题的复杂性在于待加密消息空间的复杂性.

定义1(基本FPE). FPE可以简单描述为一个密码E:K×X→X,其中,K为密钥空间,X为消息空间.

基本FPE强调明文和密文处于相同的消息空间,因此具有相同的格式.以n位信用卡号的保留格式加密为例,密文要求与明文一样,都是由十进制数字组成的长度为n的字符串,即两者均为消息空间{0,…,9}n内的元素.根据基本FPE的定义,分组密码也是一种特殊的FPE,它是由分组长度n决定的{0,1}n字符串集合上的置换.然而,FPE要处理的消息空间远比分组密码复杂的多,比如格式为“YYYY-MM-DD”的日期型消息空间,不仅有长度为10的字符串长度限制,还需要满足特定位置是字符‘-’、年、月、日在合理范围内等格式要求.

为了更准确地描述FPE问题,定义集合Ω为格式空间,任意一个格式ω∈Ω,可确定消息空间的一个与格式ω相关的子空间Xω.FPE与集合{Xω}ω∈Ω有关,称Xω为由格式ω确定的消息空间的一个分片,每个分片都是一个有

限集.当给定密钥k、格式ω和调整因子t后,FPE就是一个定义在Xω上的置换,.t

k

定义2(一般化FPE). FPE可以描述为一个密码E:K×Ω×T×X→X∪{⊥},其中,K为密钥空间,Ω为格式空间,T 为调整空间,X为消息空间.所有空间都非空,且⊥?X.

156

Journal of Software 软件学报 V ol.23, No.1, January 2012

为了有效地研究分析加密模型,可通过算法三元组E FPE =(Gen,Enc,Dec)来描述一般化FPE,其中:

? 算法Gen:初始化系统参数params .不同FPE 模型需要初始化的系统参数也有所差异,通常包含3部分: 1) 初始化具有足够安全性的对称加密算法所需的参数,比如Feistel 网络所需要的轮次数、轮函数和

分组长度等;

2) 初始化待解决的问题域,包括明确格式ω及由其确定的分片X ω;

3) 初始化用于加解密的对称密钥k ,该对称密钥需要安全存储,不对外公开.

? 算法Enc:输入为调整因子t 和明文x ,返回在分片X ω内的密文y 或者⊥.该算法执行,()T K E X Ω=E (K ,Ω,T ,

X )过程,,()T K E Ω?是X Ω上的一个置换.如果x ∈X ω,则返回,()t k y E x ω=;否则,返回⊥.

? 算法Dec:输入为调整因子t 和密文y ,返回相同分片X ω内的明文x 或者⊥.该算法是算法Enc 的逆运算,

定义如下:如果y ∈X ω,则返回,()t k x D y ω=;否则,返回⊥.

1.4 标准安全目标

保留格式加密是一种特殊的对称密码,基础模块是分组密码和伪随机函数.由于安全性通常可以归约到基础模块的安全性上,因此,保留格式加密的一个重要的安全目标是伪随机性.

2002年,Black 和Rogaway [4]首次描述了保留格式加密的安全性,认为标准的安全目标就是伪随机置换(pseudorandom permutation,简称PRP)安全.

根据基本FPE 的定义,对任意k ∈K ,E (k ,?)=E k (?)是消息空间X 上由对称密钥k 决定的一种置换.设Perm k (?)

表示消息空间X 上所有置换的集合,$()P Perm X ←??表示从Perm k (?)中随机抽取一个置换P .设A f 是一个可以查

询预言机f 的攻击者,f 要么是加密预言机E k (?),要么是一个随机置换预言机P (?).假定攻击者从不执行消息空间 之外的查询,而且不重复相同的查询,这样的攻击者A 可以认为是保留格式加密方案E FPE 的PRP 攻击者,并且定 义其在攻击中可获得的优势为

FPE $()$()PRP ()|[:1][():1]v |.Ad k def

E P k A Pr k K A Pr P Perm A ??=←??=?←???=E 上式度量了攻击者A 区分保留格式加密和随机置换的概率优势.

定义3(PRP 安全). 令FPE FPE PRP PRP Adv (,)max Adv ()A

t q A E E ,其中,t 为攻击者执行破解算法的时间,q 为攻击者查询的次数.如果FPE PRP

Adv (,)??E 是一个可忽略的量,则称该保留格式加密方案E FPE 为伪随机置换,也即达到了PRP 安全.

2 基本方法

2002年,Black 和Rogaway [4]提出了3种FPE 构建方法:Prefix,Cycle-Walking 和Generalized-Feistel.这3种方法不仅在一定程度上解决了整数集上的FPE 问题,而且成为构造FPE 模型的基本方法.其中,Cycle-Walking 和Generalized-Feistel 在后续的加密模型中得到了广泛使用,包括FFSEM [8],FFX [10],BPS [13]等.

2.1 Prefix

Prefix 方法很简单,首先在内存中建立一个随机的置换表,然后基于该置换表对数据进行加、解密.这意味着加、解密速度非常快,但在较大消息空间上建立置换表将会耗费更多的时间,因此只适用于较小的有限集X ={0,1,…,n ?1},n <106.

将Prefix 方法记为密码P FPE ,其密钥空间为K ,消息空间为整数集X ={0,1,…,n ?1},n <106.为了建立置换表,采 用基础分组密码E ,其对称密钥为k ∈K ,计算如下元组:I =(E k (0),E k (1),…,E k (n ?1)).由于I 中每个分量E k (i ),i ∈X 是长度为分组长度的不同二进制符号串,可以按照数值关系对其进行排序,由此得到E k (i )对应的排序值r i .进一步对I 进行操作,将分量E k (i )换成其对应的排序值并得到元组J =(r 0,r 1,…,r n ),这样就建立了消息空间X 上的一个置换表:给定任意明文x ∈X ,返回元组J 中相同序号的分量r x ,就得到了对应的密文.

举例:消息空间为X ={0,1,2,3,4},为了建立置换表,选择基础分组密码E 为AES,计算E k (0)=166;E k (1)=6; E k (2)=130;E k (3)=201;E k (4)=78(这里,AES 的加密结果原本为分组长度的二进制字符串,但为方便起见,将其用十

刘哲理等:保留格式加密技术研究157

进制数来表示),得到元组I=(166,6,130,201,78),将每个分量替换为其对应的排序值得到元组J=(3,0,2,4,1).从而,假设要加密明文0,返回元组J中序号为0的分量为其密文,即3.

实际应用中,通常会有对密钥进行更新的要求,然而对于Prefix方法来说,密钥的更新意味着重新建立置换表,需要消耗较高的代价(重新加密整个消息空间并进行排序和替换).因此,有必要在特定环境里对密码应用调整因子[12],可以使其不需要密钥更新而更改加密函数.文献[7]已经提出一些构建可调整密码的方法:为分组密码E引入调整因子t来加密明文x,可执行操作y=E k((E k(x)+t) MOD n).可见,引入调整因子后的加、解密过程执行了两次加密,但是对Prefix方法而言,加、解密是在内存中查表的操作,因此不会影响效率.

Prefix方法不会降低基础分组密码的安全性,即当E是PRP安全的时候,Prefix也能达到相同的安全性. 2.2 Cycle-Walking

Cycle-Walking方法为确保密文为消息空间内的元素提供了一种通用的解决思路,其加密的原理是利用基础分组密码(AES或3DES等)对中间输出值不断地进行处理,直至其在可接受的输出范围内.

设Cycle k(x)表示使用Cycle-Walking方法对明文x加密,密钥为k,加密过程为:要加密明文x∈{0,…,n?1},选用分组密码E(如AES),设y=E k(x),如果y∈{0,…,n?1},则返回y;否则,循环执行y=E k(y),直到有{0,…,n?1}范围内的y产生为止.Cycle-Walking可以将不在期望范围内的密文加密到此范围内,但是需要多次调用E.

举例:设X={0,1,…,106?1},首先确定所采用的基础分组密码,由于106<264,选用64位的DES来处理,可以保证其输出范围始终包含X.假设现在要加密明文x=314159,计算得到c1=E k(314159)=1040401(这里,E采用DES 算法,为方便起见,将其E的加密输出用十进制数表示),因为c1?X,迭代计算c2=E k(1040401)=1729.因为c2∈X,所以Cycle k(314159)=1729.

Cycle-Walking不会降低传统分组密码的安全性[4],但在效率方面,一次加密可能需要多次调用基础分组密码,当明文的二进制位数远小于分组长度时,会因为迭代次数增加而导致性能降低.因此,Cycle-Walking方法适合大小接近分组长度的整数集.比如,如果采用DES算法,适合的范围是54~64二进制位的整数集.

2.3 Generalized-Feistel

Generalized-Feistel方法要比Prefix和Cycle-Walking复杂,可以适用于更加广泛的加密范围.

由于Cycle-Walking方法对于接近分组密码大小的整数集完成保留格式加密时具有较高的性能,因此Generalized-Feistel方法的核心思想是基于Feistel网络来构建符合整数集大小的分组密码,并结合Cycle- Walking方法使最终密文输出在合理范围内.Generalized-Feistel方法由两部分组成:① 由Feistel网络构造的分组密码E,假设消息空间元素个数为n,则E的分组长度要略大于log2n;② Cycle-Walking方法,确保数据被加密到合理范围内.

Feistel网络是目前主流的分组密码设计模式之一,基于Feistel网络,可以通过自定义的分组大小、密钥长度、轮次数、子密钥生成、轮函数等来构造一个分组密码.它将输入的分组分为左半部分L和右半部分R,进行指定轮数的迭代运算,每次迭代执行轮函数f产生新的L和R(记为L′和R′)作为输出,如果没有完成指定轮数的迭代,输出结果将作为新一轮的输入参与下一轮迭代.

为了构建Generalized-Feistel密码GF n,f,r(x),使用一个基本的伪随机函数f和r轮Feistel运算来加密整数集X={0,1,…,n?1}内的值x,首先定义一个基于Feistel网络的对称密码E n,f,r(x):

1) 寻找最小的w使得22w≥n,2w就是需要构建的分组密码的分组长度;

2) 定义f′(x)=trunc(f(x),w)表示截取f(x)的低w位数据;

3) 定义轮运算Round(R,L)=L XOR f ′(R);

4) 计算E n,f,r(?):① 寻找R,L,使得x=L×2w+R;② 重复r次:{T=Round(R,L),L=R,R=T};③ 输出L×2w+R.

GF n,f,r(x)将使用所构建的分组密码E n,f,r(x)进行如下计算:①y=E n,f,r(x);② while (y≥n){y=E n,f,r(y)}.

很显然,GF n,f,r(x)使用了Cycle-Walking方法,确保数据加密到合理的范围内.由于其构建的分组密码的分组长度与待加密消息空间大小的二进制位数接近,因此具备较好的性能.

158 Journal of Software软件学报 V ol.23, No.1, January 2012

安全性方面,Black和Rogaway[4]证明了,当攻击者拥有明文密文对少于2w/2时,GF n,f,r(x)是足够安全的.

2.4 结论

Prefix,Cycle-Walking和Generalized-Feistel方法能够解决特定范围整数集上的FPE问题,见表2.

Table 2Applicable scopes of basic methods

表2基本方法的适用范围

方法处理的整数集大小(二进制位数)处理的整数集大小(十进制整数)

Cycle-Walking 50~63 16~19

Generalized-Feistel 40~240 12~80

表2描述了3种基本方法的适用范围,对于6~12位整数集的FPE问题,2009年,Morris和Rogaway[17]提出了基于Thorp Shuffle的解决方案.

3种基本方法为保留格式加密方案的构造提供了基本的思路:

1) Prefix方法揭示了保留格式加密的本质,即消息空间内的置换.Prefix方法采用建立预置换表的做法,

为复杂问题域上的FPE问题提供了一种思路,即通过某种方式(比如排序)来建立消息空间内的置

换,RtE方法排序后加密的思想[9]与此异曲同工;

2) Cycle-Walking方法是一种解决任意有限问题域的FPE问题的通用办法,目前所提出的FPE模型在解

决任意有限域上的FPE问题时,通常基于该方法来确保数据被加密到正确的范围内;

3) Generalized-Feistel方法允许用户通过定义Feistel网络的相关参数来构建合适分组长度的对称密码,

成为保留格式加密模型普遍适用的构造方法,目前所提出的FFSEM[8],FFX[10],BPS[13]等模型都基于

其完成模型的构造.

3 加密模型研究

首先,从构造角度对已有FPE模型进行了分析,总结出FPE模型的构造特点;然后,介绍了3种典型的保留格式加密模型,分析了其适用的问题域及存在的主要问题;最后,针对Feistel网络在FPE构造中的广泛应用,描述了Feistel网络的类型及其在FPE模型中的应用情况,并分析了其特点.

3.1 构造特点

Black和Rogaway在2002年提出的3种构建FPE方案的基本方法[4]成为后来FPE模型设计的主要参照,已提出的主要模型或方案及其采用的构建方法见表3.

Table 3Modes or schemes of format-preserving encryption

表3保留格式加密模型或方案

FPE基本方法时间 FPE模型或方案所解决的问题域

Prefix Cycle-Walking Generalized-Feistel 其他2008 社会保险号的FPE方案社会保险号√√

2008 FFSEM[8]整数集√√

RtE[9]任意正则语言√2009

基于Feistel网络的整数FPE整数集√2009 FFX[10]chars n√

2009 基于Thorp Shuffle的方案[17]小型整数集√

BPS chars√2010

基于Type-2 Feistel网络的整数FPE[18]整数集√注:chars为一有限字符表

由表3可以看出:

1) Generalized-Feistel方法得到了更多的关注.绝大多数FPE方案都用到了Feistel网络(RtE方法强调先

刘哲理 等:保留格式加密技术研究

159

排序后加密,其加密过程使用了整数FPE 方案,而目前已提出的整数FPE 方案,包括文献[9]中所提出

的两种整数FPE 方案,都是基于Feistel 网络来实现),这与Feistel 网络相对完备的研究成果和FPE 算

法本身对保留格式的要求相关;

2) 复杂问题域上的FPE 问题通常需要结合Cycle-Walking 方法.FPE 问题的复杂性除了表现在保留格式

上以外,也表现在待解决消息空间的复杂性上,这种复杂性使得很难发现对不同消息空间的通用解

决办法.消息空间越复杂,FPE 问题也就越难解决.Cycle-Walking 方法为确保密文输出,在消息空间内

提供了一种通用的解决思路,通常在解决复杂问题域上的FPE 问题时,需要使用Cycle-Walking 方法;

3) FPE 模型的设计思想逐渐向降低问题域复杂性的方向发展.在解决愈加复杂的消息空间上的FPE 问

题时,无论是RtE 模型还是FFX 模型,都不在复杂问题域上直接寻求FPE 问题的解决办法,而是将FPE

问题转化到等价的具有较低复杂度的整数集上.这种通过降低问题域的复杂性来解决复杂消息空间

上的FPE 问题的解决方法,将会成为保留格式加密领域的一种可采纳的有效研究手段.

3.2 主要模型

FFSEM,RtE 和FFX 模型是3类具有代表意义的FPE 模型,研究其构造特点和优缺点,对于研究分析FPE 加密模型具有重要意义.

3.2.1 FFSEM 模型

FFSEM 是基于Generalized-Feistel 方法的整数集上的典型FPE 方案,它由两个基本部分组成:① 平衡Feistel 网络,用来产生指定分组长度的分组密码;② Cycle-Walking,用2m 位的分组密码对大小为n (n <22m )的集合进行加解密的普遍方法.

? 算法Gen:FFESM 初始化阶段主要定义:① FFSEM-PRF,即平衡Feistel 网络中所使用的伪随机函数,

FFSEM 使用截断基础分组密码AES 输出的方式构造了FFSEM-PRF;② 基础分组密码的密钥k 、

消息空间的大小n 和轮次数r 等.详细的参数信息参阅文献[8];

? 算法Enc:输入为明文x ,输出为满足格式要求的密文y .

首先,将明文x 编码为l =?log 2n ?+1位的二进制数(这里,?x ?表示不超过x 的最大整数),不足的二进制位用0来填充;然后执行Cycle-Walking 过程,每次Cycle-Walking 都将执行r 轮Feistel 轮运算,直到产生合适的密文;最后,对密文进行二进制解码得到对应数值的整数,其加密过程如图1所示.

Fig.1 Feistel finite set encryption mode

图1 FFSEM 模型

目前,该加密模型已被Voltage 公司广泛应用,而且被NIST 所采纳.然而,FFSEM 仅解决了整数集上的FPE 问题,并不能成为一种普遍适用的FPE 模型;而且Cycle-Walking 过程需要多次调用基础分组密码,存在不确定的性能问题.

3.2.2 RtE 方法

RtE 是一种较通用的方法,其基本思想是,对消息空间内的元素先排序后加密,将解决复杂有限域上的FPE 问题域

x

y 平衡Feistel 网络是否在X 中二进制编码二进制解码

输入输出Cycle-Walking

是否x ′y ′X =]n

(]2)l

160 Journal of Software 软件学报 V ol.23, No.1, January 2012

问题转化到建立索引与元素的对应关系和设计整数FPE 算法上.

为了实现对元素的排序,需要有效地描述消息空间.在编码理论研究领域,自1977年文献[20]发表以来,已经开始了对特定消息空间上高效rank 算法的研究.其中,文献[9]针对可用正则语言描述的消息空间,介绍了高效的rank 和unrank 算法.

RtE 方法的工作原理如图2所示.

Fig.2 Rank-then-Encipher approach

图2 RtE 方法

算法Gen:RtE 方法的初始化阶段,主要确定:

1) rank 和unrank 函数.对于消息空间X ,其上的排序函数可以描述为映射rank :X →]|X |∪{⊥}(对于有多个

分片的消息空间,通常对每个分片分别进行rank 、整数FPE 和unrank,这里假设待加密消息空间只有 一个分片),通过rank 算法可以找到x ∈X 在X 中的索引i ∈]|X |,如果x ?X ,则rank (x )=⊥.与此对应,反排

序函数将一个整数映射为其在X 中对应的元素,描述为unrank :`→X ∪{⊥}.通过unrank 算法,可以根

据索引i ∈]|X |找到其在X 内的对应元素x ∈X ,如果i ?]|X |,则unrank (i )=⊥.

2) 整数FPE 方案n E ]及其所需的参数,文献[9]基于非平衡Feistel 网络提出了两种整数FPE 方案,而RtE

方法并不限制所采用的整数FPE 方案,比如FFSEM [8]等.

算法Enc:输入为n E ]方案所需的密钥k 、明文x 、调整因子t 等,输出为满足格式要求的密文y .

加密过程首先执行rank 算法,获得明文x 在消息空间X 中的索引i ;然后,利用整数FPE 方案n E ]对i 加密得

到密文索引j ;最后执行unrank 算法,返回X 中索引为j 的元素y 而得到密文.

RtE 方法的安全性等同于整数FPE 方案的安全性,只要n E ]安全,它就是安全的.

RtE 方法的效率主要取决于消息空间内的排序算法,其时间复杂度约为rank 算法和unrank 算法时间的总和.Bellare 针对用正则语言描述的消息空间,描述了高效的排序算法[9].除此之外,对于无二义的上下文无关文法产生的语言,Bellare [9]指出,使用M?kinen 提出的rank 算法[21]可以对其进行排序.其他各种组合结构也存在高效的rank 算法,例如,如果想在域X n !(该问题域由n 个元素的所有置换集合组成)上加密,可以使用Lucas-Lehmer 编码提供的高效rank 算法[22].其他的例子还有伸展树、B 树[23]、DYCK 语言[24]等.然而,并不是所有消息空间都存在基于排序的高效FPE 算法,文献[9]将在实际问题中寻找一个不需要使用排序算法的高效FPE 作为有趣的开放性问题保留下来.

3.2.3 FFX 模型

Bellare 在消息空间、

Feistel 网络和运算等方面对FFSEM [8]进行了扩展,提出了扩展机制FFX 模型[10].该模型使用了非平衡Feistel 网络,通过自定义运算可以解决n 位字符串所构成的消息空间chars n 的FPE 问题.

FFX 模型的工作原理如图3所示.

刘哲理 等:保留格式加密技术研究

161

Fig.3 FFX mode

图3 FFX 模型

算法Gen:FFX 模型的初始化阶段,主要定义:

1)

字母表chars ={char 0,char 1,char 2,char 3,…,char radix ?1}及其基数radix =|chars |; 2)

所使用的非平衡Feistel 网络类型; 3)

消息空间中元素的长度n ; 4) 每轮中所用到的伪随机函数f 、所采用的运算类型、轮次数r 和调整因子t 等.

详细的参数信息参阅文献[10].

算法Enc:输入为基础分组密码的密钥k 、调整因子t 和字符串x ,输出为满足格式要求的字符串y .字符串x 和y 都是由字母表chars ={char 0,char 1,char 2,char 3,…,char radix ?1}中字符组成的长度为n 的字符串.

首先,将字符串x 中的字符编码替换为数字:建立字母表chars ={char 0,char 1,char 2,char 3,…,char radix ?1}与chars ′={0,1,2,3,…,radix ?1}的一一映射,将每个字符char i 编码为对应的第i 个数字.需要注意的是,chars ′中每个数字前面的0与其他字符一样计入长度,例如,chars ={a ,b ,c ,…,z },x =acz ,将x 编码后得到x =010326.

然后,执行r 轮指定非平衡Feistel 网络的运算:首先,将输入(字符串x 的编码)分割为左右两部分L 和R , |L |≠|R |;然后,执行伪随机函数f ,对L 和f k (R )执行选择的类型的运算得到L ′:① c i =(a i +b i ) MOD radix ,当radix =2 时,该运算就是异或运算;②()

MOD ;n i n i n i n i i i c radix a radix b radix radix ???=+∑∑∑最后,连接L ′与R 得到输出 L ′||R ,并将其作为下一轮非平衡Feistel 网络运算的输入.

可见,FFX 模型通过将非数字字母表与数字集合建立双射,将每个字符映射为对应的数字参与加密运算,实

现对消息空间chars n 的保留格式加密.与FFSEM 相比,FFX 适用的范围更广,而且在处理信用卡号、

社会保险号等FPE 问题时避免了Cycle-Walking,具有较高的效率.

3.3 Feistel 网络及其应用

自2002年Generalized-Feistel 方法首次使用Feistel 网络来构造FPE 算法以来,其后的FPE 方案大多都采用了这种结构,这与Feistel 网络相对完备的研究成果和FPE 算法本身对保留格式的要求相关.

Feistel 网络是目前主流的分组密码设计模式之一,基于Feistel 网络,可以通过定义分组大小、密钥长度、轮次数、子密钥生成、轮函数等来构造一个分组密码.在FPE 模型的构造过程中,Feistel 网络被广泛应用于构造合适分组长度的分组密码,其中,FFSEM 使用了平衡的Feistel 网络,FFX 模型中使用了两种非平衡Feistel 网络.本节总结了常见类型的Feistel 网络及其在不同FPE 模型中的应用.

3.3.1 Feistel 网络的类型

常见的Feistel 网络类型主要包括传统的Feistel 网络、非平衡Feistel 网络、交互式Feistel 网络及以上3种的数值形式.

传统的Feistel 网络[5],即平衡Feistel 网络,每一轮运算的基本原理如图4所示:输入为长度为2n 的字符串,

162 Journal of Software 软件学报 V ol.23, No.1, January 2012

首先将其等分为长度相等的两部分L 和R ,这里,|L |=|R |=n ,然后对R 执行轮函数f k (R )后并与L 异或得到L ′=f k (R ) XOR L ,最后将新的字符串R ||L ′作为下一轮迭代的输入.文献[25]证明了迭代(6/ε?1)轮次的传统Feistel 网络在选择密文攻击模型下能够抵御2n (1?ε)次恶意查询.

Schneier 和Kelsey 对传统Feistel 网络进行改进,引入扩张或收缩轮的伪随机函数,提出了非平衡Feistel 网络[11].非平衡Feistel 网络能够支持对输入字符串不平衡的划分,即|L |≠|R |.由于L 与R 不等长,这就需要对轮函数f 进行调整,使得在每一轮迭代中|f k (R )|=|L |恒成立.文献[25]证明,进行足够多轮次的迭代运算之后,该类型Feistel 网络能够抵御2n 次选择密文查询.

Anderson 和Lucks 分别在文献[26]和文献[27]中提出了交互式Feistel 网络.交互式Feistel 网络也支持对输入字符串的不平衡划分,其关键在于能够根据当前迭代轮次的奇偶性质来判定使用哪一种伪随机函数的类型(压缩还是扩张)及作用对象(L 或R ):① 在奇数轮次,伪随机函数f 作用于R ,并将作用结果与L 进行异或操作,得到下一轮迭代的左部分L ′,下一轮迭代的右部分直接由R 产生;② 在偶数轮次,伪随机函数g 作用于L ,并将作用结果与R 进行异或操作,得到下一轮迭代的右部分R ′,下一轮迭代的左部分直接由L 产生.

平衡、非平衡和交互式Feistel 网络每一轮运算的过程如图4所示.

Fig 4 Balanced, unbalanced and alternating Feistel networks

图4 平衡、非平衡和交互式Feistel 网络

数值的Feistel 网络是对以上各类Feistel 网络的输入进行优化,使其支持]n 范围内的加密.假设输入为整数x ∈]n ,一个可行的划分办法就是选定整数a ,b ,使得n =ab ,取L =?x /a ?(其中,???为向下取整运算),R =x MOD a ,则有L ∈]a ,R ∈]b .于是,再根据Feistel 网络的具体类型,进行相应的迭代运算.

在Feistel 网络中,每一轮迭代的输出都保持了长度(对输入为字符串的Feistel 网络)或范围(对输入为整数的Feistel 网络)不变,这一特点使其非常适合于处理FPE 问题.不同类型的Feistel 网络在FPE 方案中的应用现状可见表4.

Table 4 FPE modes and their Feistel networks

表4 FPE 模型及其采用的Feistel 网络

FPE 方案 Feistel 网络

Generalized-Feistel [4] 交互式Feistel 网络的数值形式

FFSEM [8] 传统Feistel 网络(平衡Feistel 网络)

FFX [10] 非平衡Feistel 网络,交互式Feistel 网络

基于Feistel 网络的整数FPE [9] 非平衡Feistel 网络的数值形式,交互式Feistel 网络的数值形式

BPS [13] 交互式Feistel 网络

通过表4可以看出,目前,典型的FPE 方案所采用的Feistel 网络类型都将输入划分为等长或不等长的L 和R 两部分,即所采用的都是2-分割的Feistel 网络类型.最近,文献[18]基于l -分割的Type-2 Feistel 网络类型提出了一种新的整数FPE 方案.

Type-1,Type-2和Type-3 Feistel 网络是Feistel 网络的3种扩展形式[28],将输入长度为lm 的比特串等分为l 个分组X 1,X 2,…,X l ,然后分别进行各自的轮运算(图5描述了l =4时的工作原理):

1) Type-1 Feistel 网络执行2

12()k X f X X ′=⊕,并连接2341||||||X X X X ′作为下一轮迭代的输入; L (n 位)f k + (n 位)R (n 位)R (n 位)L (m 位)R (n 位)

R (n 位) (m 位)f k +

R (n 位) (n 位)R (n 位) (m 位)L (m 位) (m 位)g k f k ++平衡Feistel 网络非平衡Feistel 网络交互式Feistel 网络

L ′ L ′L ′L ′R ′

刘哲理 等:保留格式加密技术研究

163

2) Type-2 Feistel 网络执行2

12()k X f X X ′=⊕和434()k X g X X ′=⊕,并连接2341||||||X X X X ′′作为下一轮迭

代的输入; 3) Type-3 Feistel 网络执行2

12323(),()k k X f X X X g X X ′′=⊕=⊕和434()k X h X X ′=⊕,并连接234||||||X X X ′′′

X 1作为下一轮迭代的输入.

Fig.5 Type-1, Type-2, Type-3 Feistel networks

图5 Type-1,Type-2,Type-3 Feistel 网络

3.3.2 基于Feistel 网络的FPE 模型和方案的特点

基于Feistel 网络的FPE 模型和方案,包括FFSEM [8],FFX [10],BPS [13]等,普遍具有如下特点:

1) 通常与Cycle-Walking 方法结合使用.在表4中,只有FFSEM [8]在内部构造中使用了Cycle-Walking 方

法.事实上,基于Feistel 网络的加密模型在解决任意有限域上的FPE 问题时,与Cycle-Walking 方法相

结合是一种通用的做法;

2) 具有可证明的安全性.Luby 和Rackoff 证明了,当分组长度为2m 且攻击者拥有明文密文对少于2m /2

时,Feistel 网络是安全的[5].如果用更多轮次运算替代Generalized-Feistel 方法中的3轮运算,只有当攻

击者至少拥有2m 的明文密文对时才可能破译密码[6],使得Feistel 结构能够在更大范围内得以应用;

3) 现有FPE 方案的Feistel 网络中所用到的伪随机函数的构造方法主要有两类:① 采用直接截断基础

分组密码输出的办法,构造伪随机函数,比如FFSEM 中FFSEM-PRF 的构造方法;② 以基础分组密码

为核心算法,采用CBC-MAC,HMAC 等消息认证码方案,将产生的消息认证码作为PRF 的输出,比如

FFX 中伪随机函数的构造方法[10].这两类构造方法都具有可证明的安全性.

4 安全性研究

在设计密码学方案时,主要考虑在可能面临的攻击模型下所要达到的安全目标,通常使用安全目标与攻击模型相结合的方式来定义密码学方案的安全性.

对于公钥密码体制而言,安全目标主要有:语义安全(semantic security)[29]、不可区分性(indistinguishability,简称IND)[29,30]、不可展性(non-malleability,简称NM)[31]和明文可意识性(plaintext awareness,简称PA)[32].由于明文可意识性是在随机预言机模型(random oracle model)[33]下定义的,而随机预言机模型又是一种理想化的模型,因此,对于实际系统中安全性的讨论较少提到明文可意识性.Goldwasser 和Micali [29,30,34,35]证明了,安全目标中的语义安全等价于不可区分性安全.

公钥密码体制的安全目标通常也适用于对称密码体制.除此之外,因为密码学方案一般建立在底层基础模块上,所以方案的安全性通常也可以规约到基础模块的安全性.由于对称密码体制的基础模块是分组密码和伪随机函数,因此,对称密码体制的另一个重要的安全目标是伪随机性.

保留格式加密是一种对称密码,因此,对称密码体制的安全目标对其通常都适用.在2009年,Bellare [9]对FPE 问题进行了深入研究,结合保留格式加密的特性,定义了相关的多种安全目标.

4.1 安全目标

对于保留格式加密而言,标准的安全目标是PRP 安全

.也就是说,FPE 本质是在特定消息空间内的伪随机置

Type-1 Feistel 网络Type-2 Feistel 网络Type-3 Feistel 网络

164 Journal of Software 软件学报 V ol.23, No.1, January 2012

换.较低的安全目标包括SPI(single point indistinguishability),MP(message privacy)和MR(message recovery),这些安全目标更容易实现,而且可以满足典型应用的安全性要求.

4.1.1 定 义

PRP 安全:PRP 的标准安全目标在第1.4节已经给出定义,要求攻击者不能区分是保留格式加密方案还是消息空间内置换集合中的某个随机置换.Bellare 进一步在文献[9]中,基于游戏模型定义了适用于FPE 一般定义的PRP 安全目标.

PRP 安全的定义基于游戏FPE PRP ,E 该游戏通过攻击者与挑战者之间的博弈,量化攻击者区分保留格式加密

或随机置换的能力.

首先从密钥空间随机选取一个密钥$k K ←??,从{0,1}中随机选择一个值${0,1}b ←??,从消息空间X 内的置

换集合中随机选取一个置换$()P Perm X ←?

?. FPE PRP E 拥有加密预言机Oracle(Enc),用于响应攻击者A 的加密查询,如果b =1,加密预言机Oracle(Enc)以保

留格式加密方案E 响应;如果b =0,加密预言机Oracle(Enc)以随机选取的方式置换P 响应.

攻击者A 的目标是:在查询加密预言机Oracle(Enc)一定次数后,给出一个判定——Oracle(Enc)使用的是E 还是P ,即输出一个判定值b ′.如果b ′=b ,说明攻击者A 判定成功,相反,则失败.A 在该游戏中具有的优势为

FPE FPE

PRP Adv ()2[PRP true] 1.A A Pr =???E E SPI 安全:SPI 要求攻击者即使能够访问真正的加密预言,也不能区分是对选定的消息还是对某个随机点的加密.

SPI 安全的定义基于游戏FPE SPI E .类似于FPE FPE PRP ,SPI E E 首先随机选取密钥k 和待猜测的布尔值b .攻击者A

首先对某个待猜测的明文单点执行一次Oracle(Test)查询,该预言机根据b 值返回FPE 密码下该单点的对应密文或消息空间中的某一个随机点.

攻击者A 的目标是:在对真正的加密预言机Oracle(Enc)(该加密预言机只以FPE 密码E 响应)进行一定次数适应性的查询后(在此查询过程中,禁止重复查询,禁止对待猜测单点进行查询),给出一个判定——首次执行的Oracle(Test)查询得到的结果是选定单点所对应的密文还是待加密消息空间中的某个随机点.即输出一个判定值b ′.如果b ′=b ,说明攻击者A 判定成功,相反,则失败.A 在该游戏中具有的优势为

FPE FPE SPI

Adv ()2[SPI true] 1.A A Pr =???E E

MR 安全:在对抗消息恢复攻击方面,MR 要求即使提供给攻击者加密预言机和明文的概率分布以及格式、调整因子等信息,攻击者也不能从密文得到明文.

通常情况下,如果加密是完全随机的,就要求已知的目标密文y *和能够访问加密预言机Oracle(Enc)对于恢复明文是无用的.但是这对确定性加密的要求太高,因为攻击者可以通过Oracle(Enc)查询消息x 1,…,x q ,得到其对应密文y 1,…,y q .如果存在某个y i =y *,那么攻击者就可以知道待猜测的目标明文x *=x i .MR 安全就是规范此类攻击 为针对密码方案最好的攻击方式(这里,最好以成功概率来衡量).即对于FPE 方案E FPE ,如果不存在成功概率明显大于上述攻击的攻击方式,则认为E FPE 达到了MR 安全.

MR 安全的定义基于游戏FPE FPE MR .MR E E 提供了3个供攻击者查询的预言机:Oracle(Enc),Oracle(Eq)和

Oracle(Test).其中,Oracle(Enc)用于以FPE 密码的加密方案E 响应攻击者的加密查询,Oracle(Eq)允许攻击者查询一个消息空间内的元素是否是目标密文所对应的原始明文x *,Oracle(Test)用于赋予攻击者获取目标密文y *的能力.

在游戏开始前,从攻击范围中随机选取一个目标明文x *,然后执行保留格式加密算法得到其对应密文y *,最后将加密所用到的格式信息和调整因子(ω,t )发布给攻击者.

FPE MR E 中定义了两类攻击者:攻击者A 执行一次Oracle(Test)查询和q 次Oracle(Enc)查询来获得有利的信

息以便做出判定;攻击者S 放弃Oracle(Test)查询,而使用q 次的Oracle(Eq)查询来替换Oracle(Enc)查询.无论是A 还是S ,其目标都是通过多次查询各自预言机后,输出一个对目标明文的猜测值x ,如果x =x *,说明攻击者判定成

刘哲理 等:保留格式加密技术研究 165

功,否则失败.事实上,MR 安全目标度量了攻击者在能够获取目标密文、并能q 次访问加密预言机的情况下,与最一般的攻击方式——从待加密消息空间中选取q 个候选值依次与目标密文判定相比,成功的概率差.即,攻击

者A 在该游戏FPE MR E 中具有的优势为FPE FPE MR Adv ()[MR true],A A Pr pa =??E E 其中,FPE

max [MR true].S S pa Pr =?E MP 安全:MP 试图量化拥有加密预言机的攻击者,从目标密文中计算其对应的目标明文被某函数作用后所得到的结果的能力.

MP 安全的定义基于游戏FPE MP .E 类似于FPE FPE MR ,MP E E 也提供了3个预言机:Oracle(Enc),Oracle(Eq)和

Oracle(Test),以及两类攻击者:A 和S ,其中,A 可以执行1次Oracle(Test)和q 次Oracle(Enc),S 可以执行q 次 Oracle(Eq).不同之处在于,在FPE MP E 中,攻击者不仅需要猜测明文信息,还需要计算出该明文在某个函数f 作用

后的输出值,并将该输出值与目标明文在f 下的作用结果进行比较,判断攻击是否成功.

事实上,MP 可以看作是MR 的一般形式:MR 仅仅是MP 中f 为恒等函数的情况.因此,攻击者A 在游戏

FPE MR E 中具有的优势为FPE FPE

MP Adv ()[MP true],A A Pr pa =??E E 其中,FPE max [MP true].S S pa Pr =?E 4.1.2 关 系

4个安全目标之间的关系如图6所示.

Fig.6 Relation of FPE security goals

图6 FPE 安全目标的关系

图6中,实箭头表示密切关联(就是能推导出),虚箭头表示有损.通过图6可以看出,PRP 是保留格式加密的标准安全目标,SPI 是PRP 的一个变种,与其具有类似的安全性,虽然安全性有损,但可以达到比PRP 更好的安全边界.为了适应更早的确定性加密概念,MP 把语义安全带给FPE,它要求密文不能泄露真实信息,安全性要比PRP 和SPI 安全性略低.最基本也是最常用的安全性要求就是对抗适应性或者非适应性攻击下的MR,MR 从整体上使对手无力从消息的密文得到信息.

SPI 概念来源于文献[36],PRP 安全就意味着SPI 安全,但在优势边界上有额外q /M 的损失,q 是攻击者执行查询的次数,M =max ω∈Ω|X ω|是消息空间最大分片的元素数目,但并不影响SPI 作为一种安全工具来使用.文献

[36,37]中的混合参数表明,SPI 安全同样也意味着PRP 安全.

Bellare [9]证明了SPI 可以推导出MP 安全,但是MP 安全不能推导出SPI 安全.而且,Bellare [9]证明了MP 可以推导出MR 安全,而相反不成立.事实上,MP 的目标与MR 的目标类似,不同之处就是,在后者中,攻击者A 从一开始就确定其所选用的函数为恒等函数,因此,MR 安全是MP 安全的一种特殊形式.

4.2 攻击模型

攻击者根据利用的条件可以采用不同的攻击模型,常见的攻击模型包括唯密文攻击(ciphertext only attack)、选择明文攻击(chosen plaintext attack)和选择密文攻击(chosen ciphertext attack)等.进一步地,根据询问预言机方式的不同,可分为非适应性攻击模型和适应性攻击模型.在非适应性攻击模型中,攻击者在开始询问之前就选好询问的全部内容,询问过程中内容不再发生变化;而在适应性攻击模型下,攻击者可以随时根据每次询问的结果来调整询问的内容.显然,适应性攻击强度比非适应性攻击要高.

在设计加密方案时主要关注的攻击模型有:非适应性选择明文攻击(non-adaptive chosen plaintext attack,简称CPA1)、适应性选择明文攻击(adaptive chosen plaintext attack,简称CPA2)、非适应性选择密文攻击(non-adaptive chosen ciphertext attack,简称CCA1)、适应性选择密文攻击(adaptive chosen ciphertext attack,简称CCA2).

一般使用安全目标与攻击模型相结合的方式来定义加密方案的安全性,这与保留格式加密的4种安全目标和上述的攻击模型相结合,就得到了保留格式加密主要的安全性,比如PRP-CPA1,PRP-CPA2,PRP-CCA1, PRP-CCA2,MR-CPA1,MR-CPA2,MR-CCA1,MR-CCA2等.很显然,PRP-CCA2具有最高的安全性,而MR-CPA1SPI MP MR

166

Journal of Software 软件学报 V ol.23, No.1, January 2012

是保留格式加密最基本的安全性. 如果攻击者只允许对加密预言机进行查询,而不允许查询解密预言机,就定义了选择明文安全的攻击模型.在这种情况下,如果要求攻击者在第1次查询加密预言机之前就必须准备好所有要查询的问题,则定义了非自适应性选择明文攻击的游戏模型,即PRP-CPA1;相反地,如果允许攻击者通过分析前面的查询结果再给出下一次要查询的问题,那么就定义了自适应性选择明文攻击的游戏模型,即PRP-CPA2.

上一节关于安全目标的描述都基于CPA 攻击模型.如果要达到CCA 安全标准,上述的游戏模型中可以通 过加入一个解密预言机来完成,比如在FPE PRP E 游戏中引入解密预言机Oracle(Dec),用于响应攻击者的解密查

询.如果b =1,解密预言机Oracle(Dec)以保留格式加密方案对输入的密文进行解密并响应;如果b =0,解密预言机Oracle(Dec)以随机选取的方式置换P 对输入的密文进行解密并响应.在这种情况下,如果攻击者既允许对加密预言机进行查询,又允许对解密预言机进行查询,同时要求攻击者在第1次查询加密预言机之前就必须准备好所有要查询的问题,于是定义了非自适应性选择密文攻击的游戏模型,即PRP-CCA1;相反地,如果允许攻击者通过分析前面的查询结果再给出下一次要查询的问题,那么就定义了自适应性选择密文攻击的游戏模型,即PRP-CCA2.

5 应用领域及待解决的问题

自2008年美国Voltage 公司公布其安全产品所使用的FPE 技术的白皮书[7]以来,FPE 得到了更多研究学者的关注,发展成为极具实用价值的密码学体系:在加密模型方面,提出的典型模型(如FFSEM [8],RtE [9]与FFX 模 型[10])为特定领域的FPE 问题提供了较好的解决办法;在应用研究方面,目前已提出了适用于支付卡行业安全的信用卡号[7]等FPE 方案、适用于数据库加密的日期型FPE 方法[19]、满足格式兼容要求的JPEG2000加密[38]等实用的解决方案,开拓了FPE 在不同领域的应用研究.

5.1 应用领域

由于FPE 保持密文与明文具有相同格式的特性,因此适合于格式敏感的数据加密领域,主要包括:

1) 增强数据库应用系统的安全性

在数据库中加密数据一直是一个难题,因为加密数据库中的信息就意味着扩充数据并改变格式.然而,多数大型商用应用系统都是基于数据库的应用系统,如金融、社保、电子政务、电子商务等,如果数据库中存储的大量用户敏感信息(如银行卡号、社保卡号、用户名和密码等)被窃取,将造成致命的破坏.引入FPE 技术,将极大地提高数据库的安全性.无论新部署还是已有的数据库应用系统,都可以引入FPE 技术增强系统安全性,因为其具有以下优势:① 不改动现有软件系统的代码;② 不改动现有数据库结构.

2) 数据遮蔽

数据遮蔽源于解决数据从生产环境向测试环境(或者开发环境)导入时可能产生的数据内容安全问题,它通过克隆原始数据进行掩码转换,输出一个与原数据格式、关联等一模一样的数据,用以进行功能测试、性能测试和模拟测试等.

数据遮蔽内嵌丰富的数据修改规则,通过各种复杂算法,可以自动批量、快速地完成对敏感数据的修改,同时保证克隆出来的数据库的数据量完全等同于生产库的数据量;敏感数据(如身份证号、电话号码、信用卡号码等)又作了伪装,看起来是真实数据,实际上是已经进行了修改的假数据,从而消除了敏感数据的泄露隐患.如果充分且合理利用的话,数据遮蔽必成为保障数据安全的重要技术.

3) 支付卡行业安全

支付卡行业数据安全标准(payment card industry data security standard,简称PCI DSS)是一套被广为接受的政策和程序,目的是为了保证信用卡、借记卡和现金卡交易的安全,保护持卡人的个人信息,防止被他人利用. PCI DSS 所规定和阐述的六大目标之一就是:持卡人信息无论存在哪里,都必须受到保护.应确保存放的社会保险号和身份证号等重要数据不被破解.当持卡人的数据通过公共网络进行传送时,这些数据必须经过有效的加

刘哲理等:保留格式加密技术研究167

密.数据加密技术在各种形式的信用卡交易中都是非常重要的.

金融交易过程很复杂、约束也很多,传统的分组密码加大了改变这些系统的复杂度,代价昂贵.而FPE因为实现简单,保留敏感信息的格式,避免了从根本上去设计和审查整个系统的繁杂.

4) 格式兼容的加密领域

除了对上述敏感信息的数据加密以外,FPE还非常适合于遵循既有协议格式、格式兼容的数据加密的应用领域,这将是保留格式加密在未来的一个重要的应用领域.

比如,2010年,Stütz[38]讨论了FPE在多媒体加密领域的应用,指出FPE方法可以应用到JPEG 2000的加密中.JPEG 2000的加密有两类解决方案:在图像压缩过程中进行加密;对压缩后的码流进行加密.FPE技术应用于后者.JPEG 2000标准将范围0xff90至0xffff之间的值分配作为限定码流的标记码,通常存在于包头中.因此, JPEG 2000压缩流的包体中不包括超过0xff8f的序列,且不以0xff结尾.为了保证加密后的图像仍然能被标准解码器识别并解码,必须满足不产生多余的标记字段,即加密后的码流也不包括超过0xff8f的序列,且不以0xff结尾这样的条件.Stütz[38]通过有限自动机描述了JPEG 2000压缩流的包体部分,从而将这个加密问题转化为了正则语言上的FPE问题.

5.2 待解决的问题

FPE问题的复杂性在于待解决问题消息空间的复杂性,已有的模型为特定领域的FPE问题提供了较好的解决办法.然而,目前的研究工作还存在很多亟待解决的问题,主要包括:

1) 性能问题

无论是应用FFSEM[8],还是FFX模型[10]来解决任意有限域上的FPE问题,理论上都需要使用Cycle- Walking,因而存在不确定的性能问题.

RtE方法[9]较通用,对于存在高效排序算法的可描述的消息空间,可以通过“排序后加密”的思想达到保留格式加密的目的.然而,并不是所有消息空间都存在高效的排序算法,而且不同空间的排序算法其效率也各不相同,因此无法定量考核RtE方法的性能.

现有的FPE方案多数基于Feistel网络来构造指定分组长度的对称密码,通常使用基础分组密码来构造伪随机函数,执行一次保留格式加密要执行数次基础分组密码,相比基础分组密码性能偏低.

因此,在保证安全性的基础上,优化Feistel网络,或者采用其他构建方式,设计高效的FPE算法,仍然是未来一个待解决的问题.

2) 完整性认证问题

目前的FPE加密模型都只能完成加密,而不能对消息提供完整性认证功能.消息认证通常需要通过附加认证码或进行签名来实现,这意味着要扩充密文空间,与FPE确保密文和明文在相同的消息空间是一种矛盾,该问题是对FPE的新挑战.

3) FPE解决实际应用存在的关键问题

FPE为保留数据的类型和长度提供了相对完美的解决方案,并具有较高的安全性.然而,每种应用问题都具有特定的格式要求或者某些约束,FPE需要为此量身定制,而且由于加密破坏了明文数值,可能会违背一些应用的约束,从而增加了FPE应用的难度.

一个FPE的典型应用难题是FPE在数据库加密中的关键问题,由于加密破坏了明文数值,使其无法满足常规数据库的一些查询和聚集操作,若要对加密的字段进行模糊查询或者统计、平均、求和等数学运算很困难,该问题也是制约保留格式加密应用到数据库加密中的关键问题.如果对所有加密数据进行解密,然后再执行查询、聚集操作,由于解密操作开销巨大,这将对查询性能造成极大影响.因此,如果将FPE广泛应用到数据库加密中,需要找到一种机制,既能保证其安全性,又不会对查询、聚集操作等性能产生较大影响.

与该问题相关的两类研究领域为保序加密和秘密同态.保序加密[39?42]是一种对数值型数据保留顺序的加密方案,它允许在密文上直接进行比较等操作,而不需要对其进行解密.秘密同态[43?45]是指通过构造明文空间上的秘密同态函数,实现在不进行解密的情况下直接对密文进行数学运算等.

168 Journal of Software软件学报 V ol.23, No.1, January 2012

如何在FPE中引入保序和同态的性质,使其支持常规数据库的一些查询和聚集操作,从而更好地应用到数据库加密领域,将是FPE未来研究的一个挑战.

6 结论

本文关注近年来保留格式加密研究的进展,主要从基本方法、加密模型的构造、安全性等角度对已有的研究成果进行了总结分析,以期对保留格式加密在国内的研究起到一定的推动作用.

从构造角度,一方面,Generalized-Feistel方法得到了更多的关注,FPE模型通常都采用Feistel网络来构造满足要求的对称密码.常见的Feistel网络类型主要包括传统Feistel网络(平衡Feistel网络)、非平衡Feistel网络、交互式Feistel网络及以上类型的数值形式,它们都是2-分割的Feistel网络类型,即将输入划分为左右两部分.最近,l-分割的Type-2 Feistel网络也被应用到构建FPE方案中;另一方面,FPE模型的设计思想逐渐向降低问题域的复杂性方向发展,无论是RtE方法还是FFX模型,都将FPE问题转化到等价的具有较低复杂度的整数集上.这种通过降低问题域的复杂性来解决复杂消息空间上的FPE问题的解决方法,将会成为保留格式加密领域的一种可采纳的有效研究手段.

从安全性角度,保留格式加密主要有4种安全目标:PRP,SPI,MP和MR,本文介绍了这些安全目标并详细描述了与之相关的游戏模型.PRP是保留格式加密的标准安全目标;SPI是PRP的一个变种,与其具有类似的安全性,虽然安全性有损,但可以达到比PRP更好的安全边界;MP把语义安全带给FPE,它要求密文不能泄露真实信息,安全性要比PRP和SPI略低;最基本也是最常用的安全性要求就是对抗适应性或者非适应性攻击下的MR, MR从整体上使对手无力从密文得到明文.保留格式加密主要关心的攻击模型主要包括4种:CPA1,CPA2,CCA1, CCA2.使用安全目标与攻击模型相结合,可以定义保留格式加密的安全性.在所定义的安全性中, PRP-CCA2具有最高的安全性,MR-CPA1是保留格式加密最基本的安全性.

随着2008年Voltage公司FPE白皮书[7]的公布,FPE问题逐渐成为密码学领域中的一个研究热点.当前已有一些研究成果:在加密模型方面,提出的典型模型(如FFSEM[8],RtE[9]与FFX模型[10])为特定领域的FPE问题提供了较好的解决办法;在应用研究方面,已提出了适用于支付卡行业安全的信用卡号等FPE方案[7]、适用于数据库加密的日期型FPE方法[19]、满足格式兼容要求的JPEG 2000加密等实用的解决方案[38],开拓了FPE在不同领域的应用研究.然而,由于保留格式加密待解决的问题域的复杂性,目前的研究工作还存在很多亟待解决的问题:如性能问题、完整性认证问题以及FPE解决实际应用存在的关键问题等,都是需要进一步解决的问题.

References:

[1] Radhakrishnan R, Kharrazi M, Memon N. Data masking: A new approach for steganography? The Journal of VLSI Signal

Processing, 2005,41(3):293?303. [doi: 10.1007/s11265-005-4153-1]

[2] Smith HE, Brightwell M. Using datatype-preserving encryption to enhance data warehouse security. In: Proc. of the 20th National

Information Systems Security Conf. 1997. 141?149. https://www.doczj.com/doc/5e4574695.html,/nissc/1997/proceedings/141.pd

[3] National Bureau of Standards. FIPS PUB 74, Guidelines for Implementing and Using the NBS Data Encryption Standard, 1981.

[4] Black J, Rogaway P. Ciphers with arbitrary finite domains. In: Preneel B, ed. Proc. of the Topics in Cryptology—CT-RSA 2002.

LNCS 2271, San Jose: Springer-Verlag, 2002. 114?130. [doi: 10.1007/3-540-45760-7_9]

[5] Luby M, Rackoff C. How to construct pseudorandom permutations from pseudorandom functions. SIAM Journal of Computing,

1988,17(2):373?386. [doi: 10.1137/0217022]

[6] Patarin J. Security of random Feistel schemes with 5 or more rounds. In: Franklin M, ed. Advances in Cryptology—CRYPTO 2004.

LNCS 3152, Santa Barbara: Springer-Verlag, 2004. 106?122. https://www.doczj.com/doc/5e4574695.html,/archive/crypto2004/31520105/Version%20courte %20Format%20Springer.pdf [doi: 10.1007/978-3-540-28628-8_7]

[7] Spies T. Format preserving encryption. Unpublished Voltage White Paper. 2008. https://https://www.doczj.com/doc/5e4574695.html,/pdf/Voltage-Security-

WhitePaper-Format-Preserving-Encryption.pdf

[8] Spies T. Feistel finite set encryption mode. 2008. https://www.doczj.com/doc/5e4574695.html,/groups/ST/toolkit/BCM/documents/proposedmodes/ffsem/

ffsem-spec.pdf

刘哲理等:保留格式加密技术研究169

[9] Bellare M, Ristenpart T, Rogaway P, Stegers T. Format-Preserving encryption. In: Jacobsn MJ, eds. Proc. of the Selected Areas in

Cryptography (SAC 2009). LNCS 5867, Calgary: Springer-Verlag, 2009. 295?312. [doi: 10.1007/978-3-642-05445-7_19]

[10] Bellare M, Rogaway P, Spies T. The FFX mode of operation for format-preserving encryption. 2010. https://www.doczj.com/doc/5e4574695.html,/groups/ST/

toolkit/BCM/documents/proposedmodes/ffx/ffx-spec.pdf

[11] Schneier B, Kelsey J. Unbalanced Feistel networks and block cipher design. In: Gollmann D, ed. Proc. of the Fast Software

Encryption’96. LNCS 1039, Cambridge: Springer-Verlag, 1996. 121?144. https://www.doczj.com/doc/5e4574695.html,/paper-unbalanced-feistel.pdf [doi: 10.1007/3-540-60865-6_49]

[12] Liskov M, Rivest RL, Wagner D. Tweakable block ciphers. In: Advances in Cryptology—CRYPTO 2002. LNCS 2442, Santa

Barbara: Springer-Verlag, 2002. 31?46. [doi: 10.1007/s00145-010-9073-y]

[13] Eric B, Thomas P, Jacques S. BPS: A format-preserving encryption proposal. An NIST Submitted Proposal, 2010. http://brutus.ncsl.

https://www.doczj.com/doc/5e4574695.html,/groups/ST/toolkit/BCM/documents/proposedmodes/bps/bps-spec.pdf

[14] National Institute of Standards and Technology. SP800-67: Recommendation for the triple data encryption algorithm (TDEA) block

cipher. 2004. https://www.doczj.com/doc/5e4574695.html,/GPO/LPS69978

[15] National Institute of Standards and Technology. FIPS 197: Advanced Encryption Standard. 2001. https://www.doczj.com/doc/5e4574695.html,/publications/

fips/fips197/fips-197.pdf

[16] National Institute of Standards and Technology. FIPS 180-2: Secure Hash Standard. 2002. https://www.doczj.com/doc/5e4574695.html,/publications/fips/

fips180-2/fips180-2.pdf

[17] Morris B, Rogaway P, Stegers T. How to encipher messages on a small domain—Deterministic encryption and the thorp shuffle. In:

Advances in Cryptology—CRYPTO 2009. Santa Barbara: Springer-Verlag, 2009. https://www.doczj.com/doc/5e4574695.html,/~rogaway/papers/ thorp.pdf [doi: 10.1007/978-3-642-03356-8_17]

[18] Jia CF, Liu ZL, Li JW, Dong ZQ, You XY. A new integer FPE scheme based on Feistel network. In: Zhu X, ed. Proc. of the Int’l

Conf. on Services Science Management and Engineering 2010. Tianjin: IEEE Press, 2010. 305?308.

[19] Liu ZL, Jia CF, Li JW, Cheng XC. Format-Preserving encryption for datetime. In: Chen W, ed. Proc. of the Intelligent Computing

and Intelligent Systems 2010, Vol.2. Xiamen: IEEE Press, 2010. 201?205. [doi: 10.1109/ICICISYS.2010.5658769]

[20] Cover T. Enumerative source encoding. IEEE Trans. on Information Theory, 1973,19(1):73?77. [doi: 10.1109/TIT.1973.1054929]

[21] M?kinen E. Ranking and unranking left Szilard languages. Int’l Journal of Computer Mathematics, 1998,68(1-2):29?38. [doi:

10.1080/00207169808804677]

[22] Knuth DE. The Art of Computer Programming, Vol. 2: Seminumerical Algorithms. 3rd ed., Addison-Wesley, 1997.

[23] Kelsen P. Ranking and unranking trees using regular reductions. In: Puech C, ed. Proc. of the 13th Annual Symp. on Theoretical

Aspects of Computer Science. LNCS 1046, Grenoble: Springer-Verlag, 1996. 581?592. https://www.doczj.com/doc/5e4574695.html,/index/ p2x337k42l09w032.pdf [doi: 10.1007/3-540-60922-9_47]

[24] Liebehenschel J. Ranking and unranking of a generalized DYCK language and the application to the generation of random trees. In:

Séminaire Lotharingien de Combinatoire. 2000. 43?62.

[25] Hoang VT, Rogaway P. On generalized Feistel networks. In: Rabin T, ed. Advances in Cryptology—CRYPTO 2010. LNCS 6223,

Santa Barbara: Springer-Verlag, 2010. 613?630. [doi: 10.1007/978-3-642-14623-7_33]

[26] Anderson R, Biham E. Two practical and provably secure block ciphers: BEAR and LION. In: Gollmann D, ed. Proc. of the Fast

Software Encryption’96. LNCS 1039, Cambridge: Springer-Verlag, 1996. 113?120. https://www.doczj.com/doc/5e4574695.html,/index/ P3L22063H7817J35.pdf [doi: 10.1007/3-540-60865-6_48]

[27] Lucks S. Faster Luby-Rackoff ciphers. In: Gollmann D, ed. Proc. of the Fast Software Encryption ’96. LNCS 1039, Cambridge:

Springer-Verlag, 1996. 189?203. https://www.doczj.com/doc/5e4574695.html,rmatik.uni-mannheim.de/people/lucks/papers/pdf/LR-fast.pdf.gz [doi: 10.

1007/3-540-60865-6_53]

[28] Zheng YL, Matsumoto T, Imai H. On the construction of block ciphers provably secure and not relying on any unproved

hypotheses. In: Brassard G, ed. Proc. of the 9th Annual Int’l Cryptology Conf. LNCS 435, Berlin: Springer-Verlag, 1990. 461?480.

ftp://www.hacktic.nl/pub/mirrors/Advances%20in%20Cryptology/HTML/PDF/C89/461.PDF [doi: 10.1007/0-387-34805-0_42] [29] Goldwasser S, Micali S. Probabilistic encryption. Journal of Computer and System Sciences, 1984,28(2):270?299. [doi: 10.1016/

0022-0000(84)90070-9]

[30] Micali S, Rackoff C, Sloan R. The notion of security for probabilistic cryptosystems. SIAM Journal on Computing, 1988,17(2):

412?426. [doi: 10.1137/0217025]

[31] Dolev D, Dwork C, Naor M. Nonmalleable cryptography. SIAM Journal on Computing, 2000,30(2):391?437. [doi: 10.1137/

S0097539795291562]

170 Journal of Software软件学报 V ol.23, No.1, January 2012

[32] Bellare M, Rogaway P. Optimal asymmetric encryption—How to encrypt with RSA. In: De Santis A, ed. Advances in

Cryptology-EUROCRYPT’94. LNCS 950, Perugia: Springer-Verlag, 1994. 92?111.

[33] Bellare M, Rogaway P. Random oracles are practical: A paradigm for designing efficient protocols. In: Proc. of the 1st ACM Conf.

on Computer and Communications Security. Fairfax: ACM Press, 1993. 62?73. https://www.doczj.com/doc/5e4574695.html,/papers/Rogaway/ro.pdf [doi: 10.1145/168588.168596]

[34] Goldreich O. A uniform complexity treatment of encryption and zero-knowledge. Journal of Cryptology, 1993,6(1):21?53. [doi:

10.1007/BF02620230]

[35] Goldreich O. Foundations of Cryptography, Vol II: Basic Applications. Cambridge: Cambridge University Press, 2004.

[36] Goldreich O, Goldwasser S, Micali S. How to construct random functions. Journal of the ACM, 1986,33(4):792?807. [doi:

10.1145/6490.6503]

[37] Desai A, Miner S. Concrete security characterizations of PRFs and PRPs: Reductions and applications. In: Okamoto T, ed.

Advanced in Cryptology- ASIACRYPT 2000. LNCS 1976, Kyoto: Springer-Verlag, 2000. 503?516. https://www.doczj.com/doc/5e4574695.html,/ viewdoc/download?doi=10.1.1.119.1491&rep=rep1&type=pdf [doi: 10.1007/3-540-44448-3_39]

[38] Stütz T, Uhl A. Efficient format-compliant encryption of regular languages: Block-Based Cycle-Walking. In: De Decker B, ed.

Proc. of the 11th IFIP TC 6/TC 11 Int’l Conf. LNCS 6109, Linz: Springer-Verlag, 2010. 81?92. http://wavelab.at/papers/Stuetz10a.

pdf [doi: 10.1007/978-3-642-13241-4_9]

[39] Ozsoyoglu, G, Singer DA, Chung SS. Anti-Tamper databases: Querying encrypted databases. In: Proc. of the 17th Annual IFIP WG,

Vol.11. 2003. https://www.doczj.com/doc/5e4574695.html,/~chung/Publication/TechnicalReportIFIP03RevisedPaper.pdf

[40] Agrawal R, Kiernan J, Srikant R, Xu YR. Order preserving encryption for numeric data. In: Proc. of the 2004 ACM SIGMOD Int’l

Conf. on Management of Data. New York: ACM Press, 2004. 563?574. https://www.doczj.com/doc/5e4574695.html,/papers/sigmod04.pdf [doi: 10.1145/ 1007568.1007632]

[41] Boldyreva A, Chenette N, Lee Y, O’Neill A. Order-Preserving symmetric encryption. In: Joux A, ed. Advances in

Cryptology-EUROCRYPT 2009. LNCS 5479, Perugia: Springer-Verlag, 2009. 224?241. https://www.doczj.com/doc/5e4574695.html,/archive/ eurocrypt2009/54790225/54790225.pdf [doi: 10.1007/978-3-642-01001-9_13]

[42] Lee S, Park TJ, Lee D, Nam T, Kim S. Chaotic order preserving encryption for efficient and secure queries on databases. IEICE

Trans. on Information and Systems, 2009,E92-D(11):2207?2217. [doi: 10.1587/transinf.E92.D.2207]

[43] Rivest RL, Adleman L, Dertouzos ML. On data banks and privacy homomorphisms. Foundations of Secure Computation, 1978,

169?178.

[44] Gentry C. Fully homomorphic encryption using ideal lattices. In: Proc. of the 41st Annual ACM Symp. on Theory of Computing

(STOC 2009). New York: ACM Press, 2009. 169?178. https://www.doczj.com/doc/5e4574695.html,/home/wstein/www/home/watkins/CG.pdf [doi: 10.1145/1536414.1536440]

[45] Van Dijk M, Gentry C, Halevi S, Vaikuntanathan V. Fully homomorphic encryption over the integers. In: Gilbert H, ed. Advances

in Cryptology-EUROCRYPT 2010. LNCS 6110, Perugia: Springer-Verlag, 2010. 24?43. [doi: 10.1007/978-3-642-13190-5_2]

刘哲理(1978-),男,山东潍坊人,博士,主要研究领域为密码学及应用,智能卡操作系统.

李经纬(1987-),男,博士生,主要研究领域为密码学

.

贾春福(1967-),男,博士,教授,博士生导

师,主要研究领域为信息安全与可信计算,

恶意代码发现与分析.

典型透明加密--技术解决方案

某某公司 文档透明加密系统解决方案 二〇〇九年十月

目录 2 业务解决方案 (7) 2.1文档安全保护体系在企业活动中的作用 (7) 2.2文档安全保护体系管理架构 (8) 2.3体系及文档处理流程 (9) 2.4文档管控流程 (9) 2.5技术支撑流程 (10) 3 技术解决方案 (11) 3.1文档加密保护技术综述 (11) 3.2技术平台解决方案 (11) 3.2.1动态加解密解决方案 (12) 3.2.2移动办公解决方案 (13) 3.2.3对外业务支持解决方案 (14) 3.2.4网络单点故障解决方案 (14) 4 产品要求 (15) 4.1产品主要功能要求 (15) 4.1.1系统加密功能 (15) 4.1.2该系统对文档的保护应涵盖所有介质 (15) 4.1.4完善的日志审计功能 (15) 4.1.5客户端管理 (15) 4.1.6完善的离线管理功能 (16) 4.1.7系统灾难应急措施 (16) 4.2产品详细功能要求描述 (16) 4.2.1动态加解密 (16) 4.2.2文件格式支持要求 (16) 4.2.3禁止屏幕打印功能 (17) 4.2.4不受限制的文件存储方式 (17) 4.2.5PC绑定及USB锁绑定实现离线浏览 (18) 4.2.6系统审计日志管理 (19) 4.2.7更多文件保护功能 (20) 4.3 方案基本运行环境 (21)

1需求概述 Internet是一个开放的网络,当用户享受其高速发展所带来的大量的信息流通和前所未有的工作效率,可曾注意过伴随网络所产生的严重的网络安全问题。目前,各企业都拥有自己的品牌或各自的业务范围,都利用信息化手段进行高效管理。随着计算机、互联网的广泛应用,信息的交流和共享已经成为各企业自身发展必要的手段。企业内部竞争性情报信息也就自然成为广受关注、为企业所青睐的重要活动,成为企业进行无形资产管理的重要部分。俗话说“知己知彼,百战不殆”,如何保护企业自身重要情报不被竞争对手窃取,使企业在使用网络来提高工作效率的同时避免企业重要的知识产权遭受侵害,将是文档安全管理的一个重要课题。 企业内部竞争性情报类型主要有: ?企业的机密技术文件、产品研发资料 ?设计图稿 ?会计账目、财务报表资料 ?战略计划书 ?外购竞标信息和供应链合作伙伴信息 ?重要研究成果 ?研究论文 ?市场营销策划资料 ?其他:如董事会、投融资等方面管理类资料,客户资料 大中型企业一般有着完善的书面文档涉密管理制度,并且由单独的文控中心负责制订、监督、审计企业内部重要情报信息使用状况,亦达到了很好的效果。但是这些电子文档存储的方式为明文方式存储在计算机硬盘中,电子格式存储的重要情报信息却由于传播的便利性和快捷性,对分发出去的文档无法控制,极大的增加了管理的负责程度,这部分的资产极易于受到损害。 隐藏的安全漏洞主要有文档明文存放、粗放的权限控制、无限期的文件权限、不可靠的身份认证和无法追踪文件的使用情况等五类,下面一一阐述。

公司技术文档格式规范

目录 一、页边距设置 (3) (一)、装订 (3) (二)、不装订 (3) 二、页面布局设置 (3) 三、目录 (3) (一)、目录选择 (3) (二)、字体 (3) (三)、段落 (3) 四、标题 (4) (一)、“字体”设置 (4) 1、主标题 (4) 2、副标题 (4) (二)、“段落” (4) 五、结构编号 (4) (一)、形式 (4) (二)、字体、段落 (5) 1、一级编号 (5) (1)、“字体” (5) (2)、“段落” (5) 2、二级编号 (5) (1)、“字体” (5) (2)、“段落” (5) 3、三级编号 (6) (1)、“字体” (6) (2)、“段落” (6) 4、四级编号 (6) (1)、“字体” (6) (2)、“段落” (6) 六、正文 (7) (一)、字体 (7) (二)、段落 (7)

(三)、落款、日期、签名规定 (7) (四)、图片 (7) (五)、附件 (9) 七、表格 (10) (一)、Excel电子表格。 (10) 1、页边距 (10) 2、标题 (10) 3、内容 (10) (1)、表头 (10) (2)、内容 (10) 4、列宽 (10) (二)、Word表格 (10) 八、页眉页脚 (11) (一)、格式 (11) (二)、内容 (11) 1、页眉 (11) 2、页脚 (12)

公司技术文档格式规范一、页边距设置 (一)、装订 纵向:上3cm,下2.5cm,左2.7cm,右2.5cm。 横向:上3cm,下2.5cm,左2.5cm,右2.5cm。 (二)、不装订 纵向:上3cm,下2.5cm,左2.5cm,右2.5cm。 横向:上3cm,下2.5cm,左2.5cm,右2.5cm。 二、页面布局设置 布局——页面设置——文档网格 选择“指定文档网格”,设置行数为每页40行。 三、目录 (一)、目录选择 使用引文目录,自动目录1. (二)、字体 “目录”两字:字体,宋体;字形,加粗;字号,四号。居中目录内容:字体,宋体;字形,不加粗;字号,五号。(三)、段落 自定义目录选项下修改目录段落格式。

计算机网络信息安全中数据加密技术的分析

计算机网络信息安全中数据加密技术的分析 发表时间:2018-10-10T10:02:54.457Z 来源:《建筑模拟》2018年第20期作者:葛晴 [导读] 随着科学技术的不断发展,计算机逐渐被应用于各个领域,为各行各业的进一步发展奠定了基础。 葛晴 中国汽车工业工程有限公司天津市 300113 摘要:随着科学技术的不断发展,计算机逐渐被应用于各个领域,为各行各业的进一步发展奠定了基础。信息化社会需要更加便捷的信息资源交流传递方式,而计算机信息安全也在一次次的冲击中得到了创新与发展。数据加密技术的开发为新时代计算机信息网络安全提供了保障,也为祖国的社会主义现代化建设做出了卓越的贡献。本文对数据加密技术在计算机信息安全中的应用进行了分析,希望对计算机信息安全的落实有所助益。 关键词:计算机网络;信息安全;数据加密技术 引言 社会科学技术不断发展,计算机信息技术和互联网技术的出现改变了人们的生活方式,但是网络时代在给人们带来便利的同时也会带来一定的风险,比如说个人和集体的计算机设备很容易受到网络病毒甚至是黑客的入侵,影响计算机内部数据和信息的安全性,也会给社会发展带来不可预计的负面影响,因此计算机网络信息数据加密技术的研究工作具有重要的现实意义。 1 计算机网络信息安全中数据加密技术的重要性 我国互联网信息技术不断发展,市场中的互联网企业变得越来越多,同时也会存在一些网络安全隐患问题,比如说黑客攻击或者是网络漏洞等,这些问题的出现影响了企业信息数据的安全性,因此加强计算机网络数据的加密技术非常重要。科技改变了生活,人们在工作和生活中都越来越依赖于网络,尤其是电子商务领域,更是需要计算机网络来传输大量的数据。比如,人们在使用网络购买商品时,需要买家通过网络来查看想要购买的物品信息,然后与卖家联系之后下单完成商品购买。购买的过程中需要使用支付宝进行网络支付,如果在付款过程中发生支付密码泄漏的情况,会对用户的财产造成很大的威胁。还有一部分社会企业在传输重要的企业文件时,也需要使用数据信息加密技术,能够有效防止重要文件被他人窃取。在计算机安全体系当中最重要的就是密码,如果发生密码泄露问题会导致计算机个人信息面临被入侵的威胁,人们在使用电脑登录个人信息时,如果密码泄露,那么黑客就能够使用密码登录电脑,破坏用户的服务器,很多用户会在再次登录时出现提醒登录异常的信息。因此为了能够保障信息的安全性,需要应用数据加密技术来提升计算机的安全防护能力。 2 计算机的安全问题 2.1 人为的因素 人为的因素主要是计算机网络安全的防范技术和安全管理不完善,安全管理措施也不完善。网络内部人员安全意识非常差,导致了文件的以及数据的泄密。人为侵入检测技术原本是为了保证现在的计算机的安全而设计产生的技术,但是现在由于技术的进步也有许多人通过此类技术对计算机进行侵入以及破坏。而且现在随着计算机的发展,攻击计算机网络的方法也越来越多,并且更加容易。用来攻击计算机网络的技术工具也逐渐增强,而现在的黑客也越来越多,所以导致我们计算机网络的数据安全也受到了威胁。 2.2 计算机病毒的不断增加,传播的速度也非常的迅速 计算机病毒可以分为操作时病毒、外壳型病毒,以及源码型病毒。而新型网络病毒会伴随着信息网络硬件设备的不断提升以及计算机的网络快速的传播。因为计算机网络的系统体系很大所以使得这些病毒相互传播,导致计算机的危害,从而也导致了网络信息的数据泄露或错乱等。 3 计算机网络信息安全中数据加密技术 3.1 链路数据加密技术的应用 在各种计算机数据加密技术中,链路数据加密技术能够有效地划分网络数据信息的传输路线,对不同传输区间的数据信息进行加密,大大提高了信息传输过程中的安全性。即使传输信息遭到非法窃取,也无法被即时解密。应用链路数据加密技术,数据传输中的加密过程不再只是简单的函数运算,针对不同传输区域的数据改变长度,有效地解决了数据窃取问题,窃取人员面对极其复杂的数据加密模式往往难以及时进行数据破译,使计算机网络工程的安全性得到了很大的提升。 3.2 节点加密技术 节点加密技术具体是指在信息传递链接节点位置对信息进行加密处理,以便对传递过程中的信息加以保护。利用节点加密技术要注意加密过后的数据在经过通信节点时同样不能以明文的形式出现,还是照旧以密文的形式来传递。在通信节点存在一个安全模块,安全模块和节点机器连接在一起,在整个通信过程中发挥信息保障的重要作用,数据加密和解码不是在节点同步进行的,而是在这个节点连接的安全模块中实施。 3.3 端端数据加密技术的应用 区别于链路数据加密技术,端端数据加密技术的应用过程十分简单。以专业密文作为信息传输基础,在应用时不必对信息数据进行不断地加密与解密过程,进一步提升了计算机信息安全性。无需大量成本维护的端端数据加密技术为计算机信息处理提供了全新的创新途径,也为社会的发展提供了保障。具备独立传输路线的加密方式不会受到其它线路的干扰,在出现意外情况时仍然可以继续运行,为计算机网络故障维修降低了成本。 3.4 数字签名信息认证技术的应用 随着科学技术的发展,数字签名信息认证技术在不断变化的网络环境中逐渐受到了广大人民群众的喜爱,应用范围也随之扩大。数字签名信息技术可以对用户的身份信息进行鉴别,杜绝用户信息被非法利用的情况发生,进一步保障了人民群众的合法权益。应用口令认证方式可以实现简单快捷的用户信息认证,并且节约了使用成本。随着社会的进步,数字签名信息认证方式必将使计算机信息安全得到更有效的保障。 3.5 VPN加密 通常局域网在生活中很常见,许多企业、商户都组建了独有的局域网络,通过专线将处于不同区域的用户所在的各局域网连接在一

数据加密技术

数据加密技术 摘要:由于Internet的快速发展,网络安全问题日益受到人们的重视。面对计算机网络存在的潜在威胁与攻击,一个计算机网络安全管理者要为自己所管辖的网络建造强大、安全的保护手段。数据加密技术是网络中最基本的安全技术,主要是通过对网络中传输的信息进行数据加密起来保障其安全性,这是一种主动安全防御策略,用很小的代价即可为信息提供相当大的安全保护。 现代社会对信息安全的需求大部分可以通过密码技术来实现。密码技术是信息安全技术中的心核,它主要由密码编码技术和密码分析技术两个分支组成。这两个分支既相互对立,又相互依存。信息的安全性主要包括两个方面即信息的保密性和信息的认证性。在用密码技术保护的现代信息系统的安全性主要取决于对密钥的保护,即密码算法的安全性完全寓于密钥之中。可见,密钥的保护和管理在数据系统安全中是极为重要的。人们目前特别关注的是密钥托管技术。 一、信息保密技术 信息的保密性是信息安全性的一个重要方面,加密是实现信息保密性的一种重要手段。加密算法和解密算法的操作通常都是在一组密钥控制下进行的,分别称为加密密钥和解密密钥。根据加密密钥和解密密钥是否相同,可将现有的加密体制分为两种:一种是私钥或对称加密体制,其典型代表是美国的数据加密标准(D E S);另一种是公钥或非对称加密体制,其典型代表是R S A体制。 目前国际上最关心的加密技术有两种:一种是分组密码。另一种是公钥密码。 1. 分组密码技术 DES是目前研究最深入、应用最广泛的一种分组密码。针对DES,人们研制了各种各样的分析分组密码的方法,比如差分分析方法和线性分析方法,这些方法对DES的安全性有一定的威胁,但没有真正对D E S的安全性构成威胁。 2. 公钥加密技术 私钥密码体制的缺陷之一是通信双方在进行通信之前需通过一个安全信道事先交换密钥。这在实际应用中通常是非常困难的。而公钥密码体制可使通信双方无须事先交换密钥就可建立起保密通信。在实际通信中,一般利用公钥密码体制来保护和分配密钥,而利用私钥密码体制加密消息。公钥密码体制主要用于认证和密钥管理等。 下面是A使用一个公钥密码体制发送信息给B的过程: (1)A首先获得B的公钥;

Windows驱动层透明加密技术解析-金甲加密

什么是Windows驱动层透明加密技术? 驱动层透明加密技术是通过Windows提供的可安装文件系统(Installable File System)开发接口写设计一个文件过滤驱动,通过此驱动实现透明加解密功能。由于驱动开发要与windows更核心层打交道,此方面的开发人才比较少,相对开发难度也高。驱动层的透明加密技术由于与操作系统的文件系统结合紧密,加解密效率更高,控制更加密灵活,运行更加稳定。 驱动层加密技术是基于windows的文件系统(过滤)驱动(IFS)技术,工作在windows的内核层。我们在安装计算机硬件时,经常要安装其驱动,如打印机、U盘的驱动。文件系统驱动就是把文件作为一种设备来处理的一种虚拟驱动。当应用程序对某种后缀文件进行操作时,文件驱动会监控到程序的操作,并改变其操作方式,从而达到透明加密的效果。 驱动加密技术与应用程序无关,他工作于windows API函数的下层。当API函数对指定类型文件进行读操作时,系统自动将文件解密;当进入写操作时,自动将明文进行加密。由于工作在受windows保护的内核层,运行速度更快,加解密操作更稳定。但是,驱动加密要达到文件保密的目的,还必须与用户层的应用程序打交道。通知系统哪些程序是合法的程序,哪些程序是非法的程序 金甲加密之Windows驱动层透明加密技术解析: 金甲企业数据保密系统是针对广大企业数据文件加密需求推出的一款网络版加密软件,可对Windows平台下任意格式的文件加密,特别适合对企业图纸,以及各类方案、合同等电子文件加密,并支持移动客户端。 保护数据的安全,同时兼顾数据使用时的效率。企业敏感数据,对内部人员是透明加密,如二战后期,美军招募印第安人担任各部队的通讯兵(时称“风语者”,“WindTalkers”)其所起的作用,对内之间的沟通是畅通的,对外是保密的 完整的内网行为审计,有效监督、管理保密文件的使用 可有效防范保密文件二次扩散,可对文件的打开机器、打开时间、次数进行限制、控制文件的编辑、复制、保存、打印、截屏等扩散性操作。 有效管理便携式计算机文件的安全使用,对离开局域网的便携式涉密计算机可制定具有时效的离线策略或通过授权Ukey的方式进行控制,既不会影响便携式计算机的正常使用,又可确保一旦发生计算机丢失,文件不会泄漏

几种常用的数据加密技术

《Network Security Technology》Experiment Guide Encryption Algorithm Lecture Code: 011184 Experiment Title:加密算法 KeyWords:MD5, PGP, RSA Lecturer:Dong Wang Time:Week 04 Location:Training Building 401 Teaching Audience:09Net1&2 October 10, 2011

实验目的: 1,通过对MD5加密和破解工具的使用,掌握MD5算法的作用并了解其安全性; 2,通过对PGP加密系统的使用,掌握PGP加密算法的作用并了解其安全性; 3,对比MD5和PGP两种加密算法,了解它们的优缺点,并总结对比方法。 实验环境: 2k3一台,XP一台,确保相互ping通; 实验工具:MD5V erify, MD5Crack, RSA-Tools,PGP8.1 MD5加密算法介绍 当前广泛存在有两种加密方式,单向加密和双向加密。双向加密是加密算法中最常用的,它将明文数据加密为密文数据,可以使用一定的算法将密文解密为明文。双向加密适合于隐秘通讯,比如,我们在网上购物的时候,需要向网站提交信用卡密码,我们当然不希望我们的数据直接在网上明文传送,因为这样很可能被别的用户“偷听”,我们希望我们的信用卡密码是通过加密以后,再在网络传送,这样,网站接受到我们的数据以后,通过解密算法就可以得到准确的信用卡账号。 单向加密刚好相反,只能对数据进行加密,也就是说,没有办法对加密以后的数据进行解密。这有什么用处?在实际中的一个应用就是数据库中的用户信息加密,当用户创建一个新的账号或者密码,他的信息不是直接保存到数据库,而是经过一次加密以后再保存,这样,即使这些信息被泄露,也不能立即理解这些信息的真正含义。 MD5就是采用单向加密的加密算法,对于MD5而言,有两个特性是很重要的,第一是任意两段明文数据,加密以后的密文不能是相同的;第二是任意一段明文数据,经过加密以后,其结果必须永远是不变的。前者的意思是不可能有任意两段明文加密以后得到相同的密文,后者的意思是如果我们加密特定的数据,得到的密文一定是相同的。不可恢复性是MD5算法的最大特点。 实验步骤- MD5加密与破解: 1,运行MD5Verify.exe,输入加密内容‘姓名(英字)’,生成MD5密文;

制定规范性文件的技术标准和格式规范

关于制定规范性文件的技术标准和格式规范的几个问题 佛山市中院研究室吴文志 2004-06-17 从去年开始,我院开始了为期两年的规范化建设。迄今,包括全院综合性和各部门的规范,我们共已经制定了数十项规范。前段时间,院里成立了专题小组对规范化建设进行了调查研究,发现从整体上而言,我院所制定的规范质量是较好的,特别是内容上都是较切合实际、具有可操作性的。但同时,我们也发现不少的规范中都存在着一些技术粗糙、用语不科学、格式不规范的情况。这一方面是由于我们的规范化建设任务重、时间紧迫,因此很多规范的制定过程较为仓促而没有经过较严格仔细的审查;但在另一方面也与我们各部门具体从事规范制定工作的人员缺乏必要的技术培训,因而对于一些基本的技术标准和格式规范不太了解有着密切的关系。因此,院规范化建设办公室决定在今天以讲座形式,安排大家共同就规范性文件的技术标准和格式规范方面的问题进行学习和探讨。在规范性文件的制定方面,本人其实也是资历不深、经验不多的,但既然受领导指派主讲这一讲座,也只能尽力而为,将自己从去年以来从事规范制定工作中的一些体会、以及参考了关于规范性文件制定方面的一些书籍文献的学习心得,拿出来跟大家交流,如果有什么不当的地方,请多多包涵。 今天,主要讲三个方面的问题:规范性文件的结构单位及其应用、规范性文件的结构及其组成部分、规范性文件的语言文字。 一、规范性文件的结构单位及其应用 作为规范性文件的结构单位,主要包括了:卷、编、章、节、条、款、项、目,这是为大家所熟知的。其中,卷、编、章、节是标题结构单位,条、款、项、目是条文结构单位。从另一角度而言,卷、编、章、条是独立的结构单位,它们不以其他结构单位(主要指上位的结构单位)的存在为前提,节、款、项、目则是附属的结构单位,它们必须以其他结构单位(指上位的结构单位)的存在为前提。 一般而言,卷作为最高层次的结构单位,只适用于一些巨型的、结构层次繁复的法典性规范文件,如外国的民法典、综合性法典等,在我国尚无以卷为单位的规范性文件,因此在此从略。 至于仅次于卷的编,在我国立法实践中也仅仅在刑法、刑诉法、民诉法等较为大型、条文众多的法典中才适用,对于我们规范化建设而言,所制定的各项内部管理规范,需要运用编作为结构单位的可能性不大。当然,在以后当我们将所有规范进行汇编时,或许会有适用的可能。因此,在这里我们也暂且忽略不提。 以下我们主要探讨一下有章、节、条、款、项、目等结构单位的应用。 (一)章的应用

数据保密之透明加密技术分析

数据保密之透明加密技术分析 透明加密技术是近年来针对企业数据保密需求应运而生的一种数据加密技术。所谓透明,是指对使用者来说是透明的,感觉不到加密存在,当使用者在打开或编辑指定文件时,系统将自动对加密的数据进行解密,让使用者看到的是明文。保存数据的时候,系统自动对数据进行加密,保存的是密文。而没有权限的人,无法读取保密数据,从而达到数据保密的效果。 自WindowsNT问世以来,微软提出的分层的概念,使透明加密有了实现的可能。自上而下, 应用软件,应用层APIhook(俗称钩子), 文件过滤驱动,卷过滤驱动,磁盘过滤驱动,另外还有网络过滤驱动,各种设备过滤驱动。其中应用软件和应用层apihook在应用层(R3),从文件过滤驱动开始,属于内核层(R0).数据透明加密技术,目前为止,发展了3代,分别为第一代APIHOOK应用层透明加密技术; 第二代文件过滤驱动层(内核)加密技术; 第三代内核级纵深加密技术; 第一代:APIHOOK应用层透明加密技术 技术及设计思路:应用层透明加密技术俗称钩子透明加密技术。这种技术就是将上述两种技术(应用层API和Hook)组合而成的。通过windows的钩子技术,监控应用程序对文件的打开和保存,当打开文件时,先将密文转换后再让程序读入内存,保证程序读到的是明文,而在保存时,又将内存中的明文加密后再写入到磁盘中。应用层APIHOOK加密技术,特点是实现简单,缺点是可靠性差,速度超级慢,因为需要临时文件,也容易破解。但由于直接对文件加密直观感觉非常好,对于当初空白的市场来讲,这一旗号确实打动了不少企业。 第二代:文件过滤驱动加密技术 驱动加密技术是基于windows的文件系统(过滤)驱动技术,工作在windows的内核层,处于应用层APIHook的下面,卷过滤和磁盘过滤的上面。设计思想是建立当应用程序(进程)和文件格式(后缀名)进行关联,当用户操作某种后缀文件时对该文件进行加密解密操作,从而达到加密的效果。 内核层文件过滤驱动技术,分IFS和Minifilter2类。IFS出现较早,Minfilter出现在xp 以后。两者的区别可以理解为VC++和MFC的区别,IFS很多事情需要自己处理,而Minifilter 是微软提供了很多成熟库,直接用。由于windows文件保存的时候,存在缓存,并不是立即写入文件,所以根据是否处理了双缓bug,后来做了些细分,但本质还是一样,都是问题的修正版本而已。但由于工作在受windows保护的内核层,运行速度比APIHOOK加密速度快,解决了很多问题和风险。 文件过滤驱动技术实现相对简单,但稳定性一直不太理想。 第三代:内核级纵深沙盒加密技术 之所以叫内核级纵深沙盒加密技术,主要原因是使用了磁盘过滤驱动技术,卷过滤驱动技术,文件过滤驱动技术,网络过滤驱动(NDIS/TDI)技术等一系列内核级驱动技术,从上到下,纵深防御加密。沙盒加密,是当使用者操作涉密数据的时候,对其过程进行控制,对其结果进行加密保存,每个模块只做自己最擅长的那块,所以非常稳定。加密的沙盒是个容器,

计算机网络信息的数据加密技术分析

计算机网络信息的数据加密技术分析 摘要数据挖掘技术主要指的是一种数据库技术与人工智能技术结合的技术,其通过一定算法,可以从大量的数据信息中搜索到所需信息。在电力调度自动化控制系统中应用数据挖掘技术具有重要意义,所以有必要对其进行分析和探讨。 关键词计算机;网络信息;数据加密技术 引言 计算机网络安全是指通过使用各种的技术和管理措施,来保证计算机当中网络的硬件和软件系统能够很好地运行,能使网络中的数据以及服务器运行,同时也要保证网络信息的保密性和完整性,使网络在传输数据的时候不会让数据发生一些错乱的信息或者是出现丢失、泄露的情况等。计算机网络对世界的影响很大,随着计算机网络技术的应用范围不断地扩大,网络信息的安全以及数据的泄露等问题也越来越明显。只有找到正确的方法并且进行有效的监控才能很好地解决这一问题。计算机网络信息安全也与多种学科相联系着,如何解决这计算机网络安全的问题已经成了现在的一个重要的课题。 1 数据加密技术在计算机网络信息安全中应用的意义 计算机网络信息的概念属于一种宏观概念,主要是由数据载体构成的。因此,计算机网络信息既能够被人为窃取或修改,又能够被人为破坏。为解决计算机网络信息的安全问题,在计算机网络信息安全中应用数据加密技术,即使数据加密文件被第三方人员窃取,未能正确的输入数据密码是无法阅读数据加密文件内容的,这样可以让计算机网络信息的传输获得了更加安全的保护。数据加密技术具有较好的信息保密性、安全性以及信息可辨识性,能够有效保证数据加密文件的收发双方收到安全可靠的网络信息文件[1]。 2 计算机网络信息安全常见的问题 在电脑或者手机上登录个人账户时,常会出现一些个人信息曝光的问题,很多个人信息被一些不法分子利用。除此之外,有些企业的数据也会出现泄漏。据不完全统计,网络信息安全问题正呈现不断上升的趋势。 2.1 计算机授权用户被伪造 计算机数据信息被窃取之后,窃取者多会对信息内容进行修改并加以利用,网络攻击者可以冒充计算机授权用户侵入计算机系统内部。 2.2 网络安全信息被窃取

数据加密方案

数据加密方案

一、什么是数据加密 1、数据加密的定义 数据加密又称密码学,它是一门历史悠久的技术,指通过加密算法和加密密钥将明文转变为密文,而解密则是通过解密算法和解密密钥将密文恢复为明文。数据加密目前仍是计算机系统对信息进行保护的一种最可靠的办法。它利用密码技术对信息进行加密,实现信息隐蔽,从而起到保护信息的安全的作用。 2、加密方式分类 数据加密技术要求只有在指定的用户或网络下,才能解除密码而获得原来的数据,这就需要给数据发送方和接受方以一些特殊的信息用于加解密,这就是所谓的密钥。其密钥的值是从大量的随机数中选取的。按加密算法分为对称密钥和非对称密钥两种。 对称密钥:加密和解密时使用同一个密钥,即同一个算法。如DES和MIT的Kerberos算法。单密钥是最简单方式,通信双方必须交换彼此密钥,当需给对方发信息时,用自己的加密密钥进行加密,而在接收方收到数据后,用对方所给的密钥进行解密。当一个文本要加密传送时,该文本用密钥加密构成密文,密文在信道上传送,收到密文后用同一个密钥将密文解出来,形成普通文体供阅读。在对称密钥中,密钥的管理极为重要,一旦密钥丢失,密文将无密可保。这种

方式在与多方通信时因为需要保存很多密钥而变得很复杂,而且密钥本身的安全就是一个问题。 对称加密 对称密钥是最古老的,一般说“密电码”采用的就是对称密钥。由于对称密钥运算量小、速度快、安全强度高,因而如今仍广泛被采用。 DES是一种数据分组的加密算法,它将数据分成长度为64位的数据块,其中8位用作奇偶校验,剩余的56位作为密码的长度。第一步将原文进行置换,得到64位的杂乱无章的数据组;第二步将其分成均等两段;第三步用加密函数进行变换,并在给定的密钥参数条件下,进行多次迭代而得到加密密文。 非对称密钥:非对称密钥由于两个密钥(加密密钥和解密密钥)各不相同,因而可以将一个密钥公开,而将另一个密钥保密,同样可以起到加密的作用。

技术文件格式要求

技术文件格式要求 1 目的 保证技术文件的规范化和标准化,体现公司的管理水平和专业技术人员的技术素质,便于技术文件的正确理解和实施。 2 范围 适用于公司范围内的所有项目部,当海外工程另有特殊要求时,可按具体规定执行。 3 一般要求 技术文件应贯彻国家、行业、企业的有关法令、规范、规程和标准,充分体现设计意图,针对作业项目,起到正确指导作用。 技术文件应表述简明、逻辑严谨、层次分明,优先选用图表方式描述。 技术文件应针对具体作业项目提出明确的要求,避免照抄各种规范标准。 文件中的称谓及名词,尽量使用中文,避免使用未经统一的英文字母代号。 行文语序必须符合汉语语言规范,不得英文直译。 正确使用数字、公式、符号、法定计量单位、代号、技术词汇、专业术语。 4 页面要求 纸张大小:A4,常规为纵向布置,特殊条件下横向布置。除附图附表外,不宜选用A3纸张。附图必须选用大于A4幅面的纸张时,应按国标折叠成A4幅面,以便于装订和存档 纵向页边距:上25mm,下20mm,左20mm,右20mm。 横向页边距:上20mm,下20mm,左20mm,右25mm。或在插入分节符后,设置页面横置,由WORD自动设置页边距。 页眉、页脚根据行文需要,当有页眉页脚需要时,页眉顶端距离,页脚底端距离厘米; 页眉页脚均不加隔离或标识性的横线及方框。 有装订需要时,纵向布置页面左侧装订,横行布置页面上部装订。装订线位置5mm。 根据文本内容需要,同一文本中页面变换时,应在本页面换页处设置分节符。 若无特殊要求,不宜设置水印、页面颜色及页面边框。 封面不设页眉、页脚以及公司标识等内容。 正文页眉可使用公司标识,标识尺寸要求见图(公司安全监督处文件《施工现场规范标识图册》)。 图页眉中公司标识示例 正文页脚可设置文件标识,如“XX装置XX施工技术方案”。 封面不设页码。目次多于一页时,以“i”、“ii”形式进行编页码。正文页码以“第 1 页

互联网数据加密技术

所谓数据加密(Data Encryption)技术是指将一个信息(或称明文,plain text)经过加密钥匙(Encryption key)及加密函数转换,变成无意义的密文(cipher text),而接收方则将此密文经过解密函数、解密钥匙(Decryption key)还原成明文。加密技术是网络安全技术的基石。 密码技术是通信双方按约定的法则进行信息特殊变换的一种保密技术。根据特定的法则,变明文(Plaintext)为密文(Ciphertext)。从明文变成密文的过程称为加密(Encryption); 由密文恢复出原明文的过程,称为解密(Decryption)。密码在早期仅对文字或数码进行加、解密,随着通信技术的发展,对语音、图像、数据等都可实施加、解密变换。密码学是由密码编码学和密码分析学组成的,其中密码编码学主要研究对信息进行编码以实现信息隐蔽,而密码分析学主要研究通过密文获取对应的明文信息。密码学研究密码理论、密码算法、密码协议、密码技术和密码应用等。随着密码学的不断成熟,大量密码产品应用于国计民生中,如USB Key、PIN EntryDevice、 RFID 卡、银行卡等。广义上讲,包含密码功能的应用产品也是密码产品,如各种物联网产品,它们的结构与计算机类似,也包括运算、控制、存储、输入输出等部分。密码芯片是密码产品安全性的关键,它通常是由系统控制模块、密码服务模块、存储器控制模块、功能辅助模块、通信模块等关键部件构成的。 数据加密技术要求只有在指定的用户或网络下,才能解除密码而获得原来的数据,这就需要给数据发送方和接受方以一些特殊的信息

用于加解密,这就是所谓的密钥。其密钥的值是从大量的随机数中选取的。按加密算法分为专用密钥和公开密钥两种。 分类 专用密钥 专用密钥,又称为对称密钥或单密钥,加密和解密时使用同一个密钥,即同一个算法。如DES和MIT的Kerberos算法。单密钥是最简单方式,通信双方必须交换彼此密钥,当需给对方发信息时,用自己的加密密钥进行加密,而在接收方收到数据后,用对方所给的密钥进行解密。当一个文本要加密传送时,该文本用密钥加密构成密文,密文在信道上传送,收到密文后用同一个密钥将密文解出来,形成普通文体供阅读。在对称密钥中,密钥的管理极为重要,一旦密钥丢失,密文将无密可保。这种方式在与多方通信时因为需要保存很多密钥而变得很复杂,而且密钥本身的安全就是一个问题。 对称密钥 对称密钥是最古老的,一般说“密电码”采用的就是对称密钥。由于对称密钥运算量小、速度快、安全强度高,因而如今仍广泛被采用。 DES是一种数据分组的加密算法,它将数据分成长度为64位的数据块,其中8位用作奇偶校验,剩余的56位作为密码的长度。第一步将原文进行置换,得到64位的杂乱无章的数据组;第二步将其分成均等两段;第三步用加密函数进行变换,并在给定的密钥参数条件下,进行多次迭代而得到加密密文。

ICHM通用技术文件的制定

I C H M通用技术文件的制 定 This manuscript was revised by the office on December 10, 2020.

工业指南 M4: 通用技术文件的制定 美国人类和卫生服务部 美国食品药品监督管理局 药品评价与研究中心(CDER) 生物评价与研究中心(CBER) 2001年8月 人用药品注册要求国际协调会 工业指南 M4: 通用技术文件的制定 本指南以下出处的副本同样有效: 美国食品药品监督管理局 药品评价与研究中心 HFD-240药学信息部 培训与通信处 5600 Fishers Lane, Rockville, MD 20857 (电话: 301-827-4573) 网址: . 或者 美国食品药品监督管理局 生物评价与研究中心 HFM-40通信、制造商援助培训处 1401 Rockville Pike, Rockville, MD 20852-1448 网址 传真: 1-888-CBERFAX 或者 301-827-3844 邮箱: the Voice Information System at 800-835-4709 or 301-827-1800. 美国人类和卫生服务部

美国食品药品监督管理局 药品评价与研究中心(CDER) 生物评价与研究中心(CBER) 2001年8月 人用药品注册要求国际协调会 内容目录 引言.................................................................. . (4) 背 景........................... ...................................... . (4) 通用技术件........................................................................ . (4) 通用技术文件的准备和组织........................................................................ . (4) 人用药品注册要求国际协调会工业指南的制定与格式 (7) 数字编码........................................................................ (8) 工业指南1 .M4: 通用技术文件的制定 药品注册申请通用技术文件(CTD)提供建议的。本指南介绍了向监管部门提交的申请书可以采用的通用技术文件格式。技术文件采用这些通用格式,可以大大降低人用药品注册申请资料撰写所需要的时间及资源,并且便于电子申请提交。通用技术文件的标准板块形式,更有利于监管审核以及与申请者之间的沟通。另外,这也将简化监管部门之间的信息交流。

计算机网络安全中数据加密技术的研究

计算机网络安全中数据加密技术的研究 摘要:大容量文件在网络传输过程中,保障数据文件安全是至关重要的。本文 针对网络数据传输安全问题,在阐述数据加密技术原理的基础上,设计了一种新 的2DES筛子和RSA混合加密算法,分析了该算法的原理以及在网络文件传输中 的应用,在网络应用程序开发中有很强的借鉴意义。 关键词:数据;加密算法;管理;设计;应用 引言 互联网是一种开放但不安全的媒体。在不安全的媒介上进行事务处理很容易 造成保密信息的泄漏和被窃取,为了保证信息安全不受侵犯,可以采用多种技术,如加密技术、访问控制技术、认证技术以及安全审计技术等。目前,最重要的网 络与通信自动化安全中工具是加密。通过数据加密技术,可以在一定程度上提高 数据传输的安全性,保证传输数据的完整性,是对信息进行保护的最可靠、最实 用的方法。数据加密算法应用较广泛的是DES算法和RSA算法,本文在此基础上 研究一种新的数据加密算法——2DES筛子加密算法和RSA算法混合加密在网络文 件传输中的应用,从而保证传输信息的安全。 1 数据加密技术原理 当前,数据加密技术主要从数据采样和分而治之两方面进行加密管理。 1.1 数据采样 数据采样主要是提取网络数据进而进行加密。数据采样是有针对性的对数据 进行提取,一般提取有敏感性和关键性的数据,然后对这部分数据进行加密管理,这种操作方式具备操作简单、处理时间短等优点,同时也具备缺乏全面性、安全 性能不够、容易受到攻击等缺点。 1.2 分而治之 分而治之在进行数据加密时,先对数据类型或者是数据数量进行划分,然后 采取不同的加密方式如加密算法对数据进行处理,这种加密方式提高了数据传输 的整体安全性,并且加密效率较高。 2 2DES筛子和RSA混合加密算法 2.1 2DES筛子加密算法 2.1.1 DES加密算法 DES是一个对称分组加密算法,在对数据进行加密时以64位为一组。64位一组的一端输入明文,另一端输出密文。除去密钥编排不同的情况,其加密和解密 用采用同一算法,密钥觉得其安全性,一般为64位的二进制数,但是忽略用于 奇偶校验的8位数,因此密钥可以为任意56位的数,通过初始置换对明文分组 进行操作,将明文分成等长的2部分,32位长的左半部分Li和32位长的右半部 分Ri,初始置换完成之后,再进行完全相同的16轮运算,在运算过程中数据和 密钥相结合。 2.1.2 2DES筛子加密算法加密过程 2DES筛子加密算法是在2个组合之间加入了一层“筛子”,这个筛子是一个“二维”可变量,通过筛子将明文数据分成上层数据Mu和下层数据Md两组,然后再 采用然DES算法对上下两组数据进行加密,得到密钥Ku、Kd及加密之后的上层 密文Cu和下层密文Cd,最后对这两层密文重新进行组合,得到最终的密文C。 2DES筛子加密算法的加密过程见图1。

数据加密技术在计算机网络信息通信 安全中的应用分析

数据加密技术在计算机网络信息通信安全中的应用分析 摘要:计算机网络通信技术已广泛应用于各行各业,成为人们生活中不可缺少 的重要技术,人们对于计算机网络通信的依赖性也越来越高,对于计算机网络通 信安全面临的各种问题也越来越重视,为了保障计算机网络通信安全,人们采取 了各种技术手段和防护策略,其中一个常用且十分有效的措施就是数据加密技术,采取数据加密技术可以实现数据的完整性、保密性和有效性,保证信息安全,促 进计算机网络通信技术健康有序发展。 关键词:数据加密技术;计算机;网络信息;通信安全;应用 1数据加密方法 1.1对称式加密 这一种加密方式最为突出的一项特征即采用同一个密钥来完成加密与解密过程。一般采用的对称加密算法,尽管较为简单但安全性较高,要想破译加密算法 难度极大。考虑到计算机网络系统的保密性主要是由密钥本身的安全性所决定的,因此,在公开化的计算机网络上安全传输与存储密钥均十分困难。也正是因为在 对称密码学内数据发送方与接收方均采取的是同一种密钥,所以难以确保数据签 名功能的实现。此外,考虑到加密与解密的便捷,这一种加密方式目前已经得到 了十分广泛的应用,如得到广泛应用的DES对称式加密方式,其作为分组加密算 法的典型代表,可将数据分成64位,8位通过奇偶性校对检验,其余位数表示密码长度。这一种加密方法在实际应用过程中先是将原文转换为64位数据组,且 数据组的构成无任何规律,然后把数据组等分为两部分,最终植入密钥,采用函 数实施运算处理,通过数次带入以后即可获取到经过加密处理的密文。但同时也 需注意到这一种加密方式,针对单一密钥管理安全性较差。 1.2非对称式加密 非对称式加密方法不同于对称式加密方法使用单一密钥,非对称式加密在加 密和解密的操作中使用完全不同的密钥,它使用两组密钥,分别是公钥和私钥。 在使用非对称式加密方法的过程中,公钥和私钥需要进行配对使用,否则不可以 打开加密文件,其中公钥可以进行公开使用,但是私钥只能由持有人保管,必须 绝对保密。非对称式加密相对于对称式加密的优点就在于不需要将私钥在网络中 进行传输,数据接收人在接收数据后将自己保管的私钥输入即可,这样便可以有 效避免密钥传递安全问题,但同时,非对称式加密相对耗时较长,加密和解密的 速度赶不上对称式加密方法。 2数据加密技术常见类型 2.1节点加密技术 节点加密顾名思义,发生的场所是在数据节点。在这种方法中,数据在到达 节点前采用的仍旧是普通编码方法,而在到达数据节点时,节点上预先设置的安 全模块就会启动,与数据进行有效互联,通过特定加密方式完成对数据的加密。 同理,在另一节点也可按照同样的方法对数据进行解密。这种技术有利于数据在 通信过程中的保密性和安全性。但其也有一定不足,即加密接收的数据或解密后 的数据均为普通编码方法,外部非法人员可在这两个区域内对数据进行窃取攻击。 2.2链路加密技术 所谓链路加密指的是在计算机网络通信链路上进行加密,这是对数据保护的 首次加密,通过反反复复的加密解密过程,保证信息传播过程中用户信息、数据 的安全。由于其在数据加密过程中处于先锋的位置,因此加密的程度偏弱,需要

数据加密技术的研究综述(模板)-大工论文(通过)

网络教育学院 本科生毕业论文(设计) 题目:数据加密技术的研究综述 学习中心: 层次: 专业: 年级: 学号: 学生: 指导教师: 完成日期:

数据加密技术的研究综述 内容摘要 Internet的迅猛发展,信息共享程度的日益增高,导致信息安全问题日渐突出。有人提出的解决办法是降低信息共享程度,这显然是不可取的。唯一的方法就是通过数据加密。 本文首先介绍了数据加密技术的基本原理,数据加密技术的分类及其应用,然后说明了数据加密系统的结构。之后介绍几种常见的数据加密技术,包括DES 加密、公开加密算法RSA、MD5、可变长密钥块Blowfish加密技术、椭圆曲线密码体制、伪随机数加密技术等。 关键词:数据加密;信息安全;密钥;加密算法 I

数据加密技术的研究综述 目录 内容摘要 ............................................................................................. I 引言.. (1) 1 概述 (2) 1.1 背景 (2) 1.2 本文的主要内容及组织结构 (3) 2 数据加密和加密系统 (4) 2.1 数据加密技术原理 (4) 2.2 数据加密技术的分类及其应用 (4) 2.3 加密系统体系 (5) 2.3.1加密系统的分类 (5) 2.3.2加密体制存在的问题 (5) 2.4 对称加密、非对称加密和数字签名 (6) 2.4.1 对称加密技术 (6) 2.4.2 非对称加密技术 (7) 2.4.3 数字签名 (7) 3 DES加密标准 (9) 3.1 DES介绍和DES算法框架 (9) 3.2 DES实例分析 (9) 3.3 DES的安全性和应用误区 (12) 3.4 DES的拓展 (12) 4 公开加密算法RSA (14) 4.1 RSA的简介 (14) 4.2 RSA算法的结构 (14) 4.3 RSA算法的案例 (16) 4.4 RSA探索 (17) 5 其他加密技术 (19) 5.1 MD5 (19) 5.2 可变长密钥块Blowfish加密技术 (19) I

相关主题
相关文档 最新文档