《电子政务安全技术保障02数据加密技术.ppt》由会员分享,可在线阅读,更多相关《电子政务安全技术保障02数据加密技术.ppt(35页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、电子政务安全技术保障褚峻 苏震 编中国人民大学出版社 主 要 内 容1.电子政务系统安全2.数据加密技术3.信息隐藏技术4.安全认证技术5.病毒防范系统6.防火墙系统7.入侵检测系统8.物理隔离系统9.虚拟专用网10.电子政务安全解决方案2.数据加密技术2.1密码学基础l l数据加密中的概念数据加密中的概念l l两种主要的密码体制两种主要的密码体制l l柯克霍夫斯原则柯克霍夫斯原则2.2数据的加密2.3密钥的管理基本概念密码学l l 密码学(Cryptography)l l是是研研究究信信息息系系统统安安全全保保密密的的科科学学,把把有有意意义义的的信信息息编码为伪随机性的乱码,以实现信息保护
2、的目的。编码为伪随机性的乱码,以实现信息保护的目的。l l密密码码编编码码学学,是是研研究究密密码码体体制制的的设设计计,对对信信息息进进行行编码实现隐蔽信息的一门学问。编码实现隐蔽信息的一门学问。l l密码分析学,是研究如何破解被加密信息的学问。密码分析学,是研究如何破解被加密信息的学问。基本概念加/解密l l算法是一些公式、法则或程序,规定了明文与密文之算法是一些公式、法则或程序,规定了明文与密文之间的变换方法。间的变换方法。l l密钥可以看作是算法中的参数,即指示和控制明文与密钥可以看作是算法中的参数,即指示和控制明文与密文间变换的参数,也是唯一能控制明文与密文之间密文间变换的参数,也是
3、唯一能控制明文与密文之间变换的关键,它由使用密码体制的用户随机选取。变换的关键,它由使用密码体制的用户随机选取。Data3A78明 文 密 文加密过程解密过程加密算法及密钥解密算法及密钥密码体制私钥加密体制A用Private Key 对数据进行加密。1 1加密的数据在网络上进行传输 2 2B用Private Key 对数据进行解密。3 3Data3A78Data3A78密码体制公钥加密体制A用B的Public Key对数据进行加密。1 1加密的数据在网络上进行传输 2 2B用自己的Private Key对数据进行解密。3 3Data3A783A78 Data柯克霍夫斯原则l 柯克霍夫斯原则为什
4、么成为密码系统设计的重要原则l 算法是相对稳定的,经过一定次数或一定时间的使用,难免被攻击者所获取。l 其次,在某种场合可能使用某类密码更为合适,再加上某些设计家对某种密码系统有所偏爱等因素,都可能导致攻击者“猜出”密码算法。l 更为重要的是,通常只要经过一些统计实验和其它测试就不难分辨出不同的密码类型。l 因此,将安全性依赖于密码算法,认为密码分析员不可能掌握密码系统算法,是一种很危险的想法。密码系统中的算法即使被密码分析员所掌握,也应该无助于用来推导出明文或密钥。2.数据加密技术2.1密码学基础2.2数据的加密l l加密的基本方法加密的基本方法l l数据加密标准数据加密标准DESDESl
5、l国际数据加密算法国际数据加密算法IDEAIDEAl l公钥加密算法公钥加密算法RSARSA2.3密钥的管理加密的基本方法l l 换位密码密钥 T Y P E顺序 3 4 2 1矩阵 c a n yo u u nd e r st a n dy n s d n u r n c o d t a u e acan you understand加密的基本方法l l 替代密码单表替代密码l l明文的一个字符用相应的一个密文字符代替,是一明文的一个字符用相应的一个密文字符代替,是一种最简单的替代方法。种最简单的替代方法。l l凯撒密码是单表密码的典型例子,它是公元前约凯撒密码是单表密码的典型例子,它是公元
6、前约5050年,罗马皇帝朱利叶年,罗马皇帝朱利叶凯撒(凯撒(Julius CaesarJulius Caesar)发)发明的一种加密方法。明的一种加密方法。a b c d e f g h I j k l m n o p q r s t u v w x y za b c d e f g h I j k l m n o p q r s t u v w x y z a b ccan you understandfdqbrxxqghuvwdqga b c d e f g h I j k l m n o p q r s t u v w x y za b c d e f g h I j k l m n o
7、 p q r s t u v w x y z加密的基本方法l l替代密码替代密码同音替代密码同音替代密码l l 类似于单表替代方法,所不同的是单个字符明 类似于单表替代方法,所不同的是单个字符明文可以映射为密文的几个字符之一。文可以映射为密文的几个字符之一。l l 例如,例如,A A可能对应于 可能对应于5 5、13 13、26 26等,那么 等,那么A A在密 在密文中可能有 文中可能有5 5、13 13、26 26等不同的替代方法。这 等不同的替代方法。这样加密时的替换是随机不确定的,但解密时的 样加密时的替换是随机不确定的,但解密时的替换是唯一确定的。替换是唯一确定的。a51326d16
8、8740y233166day268766264023131631加密的基本方法l l 替代密码多字母替代密码l l它是单字母代替密码算法的扩展,可以将一组字符它是单字母代替密码算法的扩展,可以将一组字符(包括文字、单词、语句或短文)分别用各自不同(包括文字、单词、语句或短文)分别用各自不同的其它文字群来代替。例如,的其它文字群来代替。例如,ABAABA可以替换为可以替换为RTQRTQ,ABBABB可以替换为可以替换为SLLSLL等。等。l l例如,二战中使用的例如,二战中使用的playfairplayfair密码密码两字母替代两字母替代密码。密码。加密的基本方法l l 替代密码多表替代密码l
9、l由多个简单的代替密码构成,如可能使用由多个简单的代替密码构成,如可能使用55个不同个不同的单表替代密码,单独的一个字符用来改变明文的的单表替代密码,单独的一个字符用来改变明文的每个字符的位置。每个字符的位置。数据加密标准DES DES是由IBM公司在70年代发展起来的,并经过加密标准筛选后,于1976年11月被美国政府采用,并被美国国家标准局和美国国家标准协会(ANSI)承认。l l DES的算法思想l l将二进制序列的明文划分为若干组,每组的大小为将二进制序列的明文划分为若干组,每组的大小为64bit64bit;l l然后,用长度为然后,用长度为64bit64bit的密钥对的密钥对64bi
10、t64bit的明文分组进的明文分组进行行1616轮(每轮的密钥不同)的乘积变换和位置置换,轮(每轮的密钥不同)的乘积变换和位置置换,最后形成密文。最后形成密文。l l解密过程是上述过程的逆操作,解密过程是上述过程的逆操作,1616个密钥的使用顺个密钥的使用顺序和加密时相反。序和加密时相反。DES 的算法框图64bits明文/密文数据初始置换IP乘积变换(在16轮密钥控制下迭代)逆初始置换IP-164bits密文/明文数据输出输入DES的安全性l l对对DESDES的批评主要集中在以下几个方面的批评主要集中在以下几个方面 l l 作为分组密码,作为分组密码,DES DES的加密单位仅有 的加密单
11、位仅有64 64位二进制,这对于 位二进制,这对于数据传输来说太小,因为每个分组仅含 数据传输来说太小,因为每个分组仅含8 8个字符,而且其 个字符,而且其中某些位还要用于奇偶校验或其它通讯开销。中某些位还要用于奇偶校验或其它通讯开销。l l 迭代次数只有 迭代次数只有16 16轮,可能少了些,使得加密强度不够。轮,可能少了些,使得加密强度不够。l l 除去 除去8 8位校验位外,密钥仅有 位校验位外,密钥仅有56 56位二进制未免太短。同时,位二进制未免太短。同时,各次迭代中使用的密钥 各次迭代中使用的密钥ki ki是递推产生的,这种机制必然会 是递推产生的,这种机制必然会降低密码体制的安全
12、性。因此有人认为:在现有的技术条 降低密码体制的安全性。因此有人认为:在现有的技术条件下用穷举法寻找正确密钥已趋于可行,所以若要安全保 件下用穷举法寻找正确密钥已趋于可行,所以若要安全保护 护10 10年以上的数据最好不用 年以上的数据最好不用DES DES算法。算法。l l 实现迭代函数 实现迭代函数 f f的设计原理尚未公开,其中可能留有隐患。的设计原理尚未公开,其中可能留有隐患。更有人担心 更有人担心DES DES算法中有 算法中有“陷阱 陷阱”,知道秘密的人可以很,知道秘密的人可以很容易地进行密文解密。容易地进行密文解密。DES的应用l 计算机网络通信l 一般只限于民用敏感信息,不在政
13、府确定的保密范围之内的信息。l 电子资金传送系统l 可准确、快速地传送数据,并可较好地解决信息安全的问题。l 保护用户文件l 用户可自选密钥对重要文件加密,防止未授权用户窃密。l 用户识别l 用于计算机用户识别系统中。国际数据加密算法IDEAl l国际数据加密算法国际数据加密算法IDEAIDEAl l International Data Encryption Algorithm International Data Encryption Algorithm,是基于,是基于1990 1990年赖学家(年赖学家(XueJia Lai XueJia Lai)和梅西()和梅西(James L.Jam
14、es L.Massey Massey)开发的)开发的“建议的加密标准 建议的加密标准PES”PES”发展而成的。发展而成的。l l 经过强化改进,该算法于 经过强化改进,该算法于1992 1992年定名为 年定名为“国际加密标准 国际加密标准IDEA”IDEA”。l l 由于 由于IDEA IDEA是在美国之外提出并发展起来的,避开了美国 是在美国之外提出并发展起来的,避开了美国法律上对加密技术的诸多限制,因此,有关 法律上对加密技术的诸多限制,因此,有关IDEA IDEA算法和 算法和实现技术的书籍都可以自由出版和交流,可极大地促进 实现技术的书籍都可以自由出版和交流,可极大地促进IDEA
15、IDEA的发展和完善。的发展和完善。l l IDEA算法框图第17轮64bit明文输入 128bit密钥密钥扩展64bit密文输出第1轮第2轮密钥的产生l 加密循环密钥的产生l 1)将主密钥分成8个16bit块,即K1K8;l 2)将主密钥循环左移24位,再按前一步骤,产生K9K16;l 3)再将步骤2)重复4次,共得到48个循环密钥;l 4)将主密钥循环左移22位,从最左开始取4个16bit块作为K49K52;l 解密循环密钥的产生l 1)在奇数循环中,解密密钥是对应加密密钥的逆元,如解密密钥的K1是加密密钥K49的逆元,K4是加密密钥K52的逆元。l 2)在偶数循环中,根据运算的可逆性可知
16、两种密钥对应相同,如解密密钥的K47与加密密钥K5相同。IDEA IDEA算法的每一轮次中都使用多个子密钥,子密钥是由主 算法的每一轮次中都使用多个子密钥,子密钥是由主密钥生成,将 密钥生成,将128 128位的密钥扩展成 位的密钥扩展成52 52个 个16 16位的循环密钥,位的循环密钥,加密和解密的密钥扩展方式是不同的,但操作是一样的。加密和解密的密钥扩展方式是不同的,但操作是一样的。IDEA的安全性l IDEA算法的密钥长度为128位,其安全强度较64位的密钥有很大的提高。l 同时,IDEA密码能够抵抗差分分析和线性分析。设计者尽最大努力使该算法不受差分密码分析的影响,赖学家已证明IDE
17、A算法在其8圈迭代的第4圈之后便不受差分密码分析的影响了。假定穷举法攻击有效的话,那么即使设计一种每秒种可以试验10亿个密钥的专用芯片,并将10亿片这样的芯片用于此项工作,仍需1013年才能解决问题;另一方面,若用1024片这样的芯片,有可能在一天内找到密钥,不过人们还无法找到足够的硅原子来制造这样一台机器。公钥密码技术RSAl l 什么是RSAl lRSARSA是是19771977年由年由RivestRivest,ShamirShamir和和AdlemanAdleman共同开发共同开发的一种典型的公钥加密算法。的一种典型的公钥加密算法。l lRSARSA算法研制的最初目标是解决算法研制的最初
18、目标是解决DESDES算法秘密密钥的算法秘密密钥的利用公开信道传输分发的难题。利用公开信道传输分发的难题。l l实际结果不但很好地解决了这个难题,还可利用实际结果不但很好地解决了这个难题,还可利用RSARSA来完成对电文的数字签名以抗对电文的否认与来完成对电文的数字签名以抗对电文的否认与抵赖。抵赖。l l同时还可以利用数字签名较容易地发现攻击者对电同时还可以利用数字签名较容易地发现攻击者对电文的非法篡改,以保护数据信息的完整性。文的非法篡改,以保护数据信息的完整性。RSA的算法原理l lRSA的基础数学算法l l同余运算:若同余运算:若aabb可被可被mm整除,则整除,则aa,bb对对mm同余
19、。同余。l l欧拉同余定理:欧拉同余定理:,aa与与rr互质,互质,(1)(1)为为rr的欧拉指标函数。的欧拉指标函数。l lRSA的关键密钥对的生成l l利用欧拉定理,算出加密密钥利用欧拉定理,算出加密密钥PKPK和解密密钥和解密密钥SKSKl lRSA的实施加密与解密l l分别利用分别利用PKPK和和SKSK对明对明/密文进行加密和解密。密文进行加密和解密。RSA密钥对的生成随机选择两个秘密的大质数p和q计算公开的模数 r=p q计算秘密的欧拉函数(r)=(p-1)(q-1)求一对逆元e、d,ed,使e d1 mod(r)公开密钥PK(r,e)保密密钥SK(p,q,d)RSA的加密过程假设
20、:甲向乙传送一份文件,采用RSA加密方式。乙SK随机产生PKRSA算法甲明文密文Internet InternetPKPK密文RSA的安全性l l RSA安全性的理论基础l l将两个大的质数合成一个大数很容易,反之很难。将两个大的质数合成一个大数很容易,反之很难。l l RSA的安全性依赖于大数分解l l公钥和私钥都是两个大素数(大于公钥和私钥都是两个大素数(大于100100位)的函数。位)的函数。l l从一个密钥和密文推断出明文的难度等同于分解两从一个密钥和密文推断出明文的难度等同于分解两个大素数的积。个大素数的积。l l RSA的缺点主要有l l密密钥钥产产生生较较麻麻烦烦,受受素素数数产
21、产生生技技术术限限制制,难难以以做做到到一次一密。一次一密。l l分分组组长长度度太太大大,为为保保证证安安全全性性,nn至至少少也也要要 600 600 位位以以上上,使使运运算算代代价价很很高高,尤尤其其是是速速度度较较慢慢,随随着着大大数数分分解解技技术术的的发发展展,这这个个长长度度还还在在增增加加,不不利利于于数数据格式的标准化。据格式的标准化。密钥的破译能力成本密钥位数40 56 64 80 112 128$100K2 s 35 h 1 y 70000 y1014 y 1019 y$1M0.2 s 3.5 h 37 d 7000 y 1013 y 1018 y$10M0.02 s
22、21 m 4 d 700 y 1012 y 1017 y$100M2 ms 13 s 9 h 70 y 1011 y 1016 y注:据1995年的技术水平测算的。2.数据加密技术2.1密码学基础2.2数据的加密2.3密钥的管理l l密钥管理的需求密钥管理的需求l l密钥管理的内容密钥管理的内容密钥管理的需求l l 为什么要对密钥进行管理l l密钥的泄露将直接导致明文内容的泄露密钥的泄露将直接导致明文内容的泄露l l从密钥管理的角度寻找突破比密码破译的代价要小从密钥管理的角度寻找突破比密码破译的代价要小l l 密钥安全管理的要求l l密钥难以窃取密钥难以窃取l l密钥有使用范围和使用时间的限制
23、密钥有使用范围和使用时间的限制l l密钥的分配和更换过程对用户透明,用户不需要亲密钥的分配和更换过程对用户透明,用户不需要亲自掌管密钥自掌管密钥密钥管理的内容l l 密钥的生成l l应有专门的密钥管理部门或授权人负责应有专门的密钥管理部门或授权人负责l l密钥应由随机数生成器产生密钥应由随机数生成器产生l l加密设备可在其内部产生密钥加密设备可在其内部产生密钥l l密钥生成的算法应由有关机构审批密钥生成的算法应由有关机构审批l l 密钥的分发l l加密设备应采用经过认证的密钥分发技术加密设备应采用经过认证的密钥分发技术l l分发过程应采用安全的信道分发过程应采用安全的信道l l密钥传送方式:密钥传送方式:l 集中传送:将密钥整体传送,需要用主密钥来保护会话密钥的传递,并通过安全渠道传递主密钥。l 分散传送:将密钥分解成多个部分,用秘密分享的方法传递,只要有部分到达即可复原。l l 密钥的验证l l检验密钥是否出错检验密钥是否出错l l密钥传递时附带一个用该密钥加密的密文(接受者已密钥传递时附带一个用该密钥加密的密文(接受者已知明文)知明文)l l 密钥的保存l l密钥管理的重要内容,密钥在多数时间是静态的密钥管理的重要内容,密钥在多数时间是静态的l l整体保存整体保存l l分散保存分散保存l l 密钥的销毁l l密钥的销毁要有管理和仲裁机制密钥的销毁要有管理和仲裁机制
限制150内