《电子政务安全技术保障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 A用用Private Key对对数据进行加密。数据进行加密。1 1加密的数据在网络加密的数据在网络上进行传输上进行传输 2 2B B用用Private Key对对数据进行解密。数据进行解密。3 3Data3A78Data3A78密码体制密码体制公钥加密体制公钥加密体制A A用用B B的的Public Key对数据进行加
4、密。对数据进行加密。1 1加密的数据在网络加密的数据在网络上进行传输上进行传输 2 2B B用自己的用自己的Private Key对数据进行解密。对数据进行解密。3 3Data3A783A78Data柯克霍夫斯原则柯克霍夫斯原则l柯克霍夫斯原则为什么成为密码系统设计的重要原则l算法是相对稳定的,经过一定次数或一定时间的使用,难免被攻击者所获取。l其次,在某种场合可能使用某类密码更为合适,再加上某些设计家对某种密码系统有所偏爱等因素,都可能导致攻击者“猜出”密码算法。l更为重要的是,通常只要经过一些统计实验和其它测试就不难分辨出不同的密码类型。l因此,将安全性依赖于密码算法,认为密码分析员不可能
5、掌握密码系统算法,是一种很危险的想法。密码系统中的算法即使被密码分析员所掌握,也应该无助于用来推导出明文或密钥。2.数据加密技术2.1密码学基础2.2数据的加密l l加密的基本方法加密的基本方法l l数据加密标准数据加密标准DESDESl 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加密的基本方法
6、加密的基本方法l l替代密码单表替代密码l l明文的一个字符用相应的一个密文字符代替,是一明文的一个字符用相应的一个密文字符代替,是一种最简单的替代方法。种最简单的替代方法。l l凯撒密码是单表密码的典型例子,它是公元前约凯撒密码是单表密码的典型例子,它是公元前约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
7、 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 p q r s t u v w x y z加密的基本方法加密的基本方法l l替代密码替代密码同音替代密码同音替代密码l l类似于单表替代方法,所不同的是单个字符明类似于单表替代方法,所不同的是单个字符明文可以映射为密文的几个字符之一。文可以映射为密文的几个字符之一。l l例如,例如,A A可能对应于可能对应于5 5、1313、2626等
8、,那么等,那么A A在密在密文中可能有文中可能有5 5、1313、2626等不同的替代方法。这等不同的替代方法。这样加密时的替换是随机不确定的,但解密时的样加密时的替换是随机不确定的,但解密时的替换是唯一确定的。替换是唯一确定的。a51326d168740y233166day268766264023131631加密的基本方法加密的基本方法l l替代密码多字母替代密码l l它是单字母代替密码算法的扩展,可以将一组字符它是单字母代替密码算法的扩展,可以将一组字符(包括文字、单词、语句或短文)分别用各自不同(包括文字、单词、语句或短文)分别用各自不同的其它文字群来代替。例如,的其它文字群来代替。例如
9、,ABAABA可以替换为可以替换为RTQRTQ,ABBABB可以替换为可以替换为SLLSLL等。等。l l例如,二战中使用的例如,二战中使用的playfairplayfair密码密码两字母替代两字母替代密码。密码。加密的基本方法加密的基本方法l l替代密码多表替代密码l l由多个简单的代替密码构成,如可能使用由多个简单的代替密码构成,如可能使用5 5个不同个不同的单表替代密码,单独的一个字符用来改变明文的的单表替代密码,单独的一个字符用来改变明文的每个字符的位置。每个字符的位置。数据加密标准数据加密标准DESDES是由IBM公司在70年代发展起来的,并经过加密标准筛选后,于1976年11月被美
10、国政府采用,并被美国国家标准局和美国国家标准协会(ANSI) 承认。 l lDES的算法思想l l将二进制序列的明文划分为若干组,每组的大小为将二进制序列的明文划分为若干组,每组的大小为64bit64bit;l l然后,用长度为然后,用长度为64bit64bit的密钥对的密钥对64bit64bit的明文分组进的明文分组进行行1616轮(每轮的密钥不同)的乘积变换和位置置换,轮(每轮的密钥不同)的乘积变换和位置置换,最后形成密文。最后形成密文。l l解密过程是上述过程的逆操作,解密过程是上述过程的逆操作,1616个密钥的使用顺个密钥的使用顺序和加密时相反。序和加密时相反。DES的的算法框图算法框
11、图64bits明文/密文数据初始置换IP乘积变换(在16轮密钥控制下迭代)逆初始置换IP-164bits密文/明文数据输出输入DES的安全性l l对对DESDES的批评主要集中在以下几个方面的批评主要集中在以下几个方面 l l作为分组密码,作为分组密码,DESDES的加密单位仅有的加密单位仅有6464位二进制,这对于位二进制,这对于数据传输来说太小,因为每个分组仅含数据传输来说太小,因为每个分组仅含8 8个字符,而且其个字符,而且其中某些位还要用于奇偶校验或其它通讯开销。中某些位还要用于奇偶校验或其它通讯开销。l l迭代次数只有迭代次数只有1616轮,可能少了些,使得加密强度不够。轮,可能少了
12、些,使得加密强度不够。 l l除去除去8 8位校验位外,密钥仅有位校验位外,密钥仅有5656位二进制未免太短。同时,位二进制未免太短。同时,各次迭代中使用的密钥各次迭代中使用的密钥kiki是递推产生的,这种机制必然会是递推产生的,这种机制必然会降低密码体制的安全性。因此有人认为:在现有的技术条降低密码体制的安全性。因此有人认为:在现有的技术条件下用穷举法寻找正确密钥已趋于可行,所以若要安全保件下用穷举法寻找正确密钥已趋于可行,所以若要安全保护护1010年以上的数据最好不用年以上的数据最好不用DESDES算法。算法。 l l实现迭代函数实现迭代函数f f的设计原理尚未公开,其中可能留有隐患。的设
13、计原理尚未公开,其中可能留有隐患。更有人担心更有人担心DESDES算法中有算法中有“陷阱陷阱”,知道秘密的人可以很,知道秘密的人可以很容易地进行密文解密。容易地进行密文解密。DES的应用l计算机网络通信l一般只限于民用敏感信息,不在政府确定的保密范围之内的信息。l电子资金传送系统l可准确、快速地传送数据,并可较好地解决信息安全的问题。l保护用户文件l用户可自选密钥对重要文件加密,防止未授权用户窃密。l用户识别l用于计算机用户识别系统中。国际数据加密算法国际数据加密算法IDEAl l国际数据加密算法国际数据加密算法IDEAIDEAl lInternational Data Encryption
14、AlgorithmInternational Data Encryption Algorithm,是基于,是基于19901990年赖学家(年赖学家(XueJiaXueJia Lai Lai)和梅西()和梅西(James L. James L. MasseyMassey)开发的)开发的“建议的加密标准建议的加密标准PESPES”发展而成的。发展而成的。l l经过强化改进,该算法于经过强化改进,该算法于19921992年定名为年定名为“国际加密标准国际加密标准IDEAIDEA”。l l由于由于IDEAIDEA是在美国之外提出并发展起来的,避开了美国是在美国之外提出并发展起来的,避开了美国法律上对加
15、密技术的诸多限制,因此,有关法律上对加密技术的诸多限制,因此,有关IDEAIDEA算法和算法和实现技术的书籍都可以自由出版和交流,可极大地促进实现技术的书籍都可以自由出版和交流,可极大地促进IDEAIDEA的发展和完善。的发展和完善。l lIDEA算法框图第17轮64bit明文输入128bit密钥密钥扩展64bit密文输出第1轮第2轮密钥的产生l加密循环密钥的产生l1)将主密钥分成8个16bit块,即K1K8;l2)将主密钥循环左移24位,再按前一步骤,产生K9K16;l3)再将步骤2)重复4次,共得到48个循环密钥;l4)将主密钥循环左移22位,从最左开始取4个16bit块作为K49K52;
16、l解密循环密钥的产生l1)在奇数循环中,解密密钥是对应加密密钥的逆元,如解密密钥的K1是加密密钥K49的逆元,K4是加密密钥K52的逆元。l2)在偶数循环中,根据运算的可逆性可知两种密钥对应相同,如解密密钥的K47与加密密钥K5相同。IDEAIDEA算法的每一轮次中都使用多个子密钥,子密钥是由主算法的每一轮次中都使用多个子密钥,子密钥是由主密钥生成,将密钥生成,将128128位的密钥扩展成位的密钥扩展成5252个个1616位的循环密钥,位的循环密钥,加密和解密的密钥扩展方式是不同的,但操作是一样的。加密和解密的密钥扩展方式是不同的,但操作是一样的。IDEA的安全性lIDEA算法的密钥长度为12
17、8位,其安全强度较64位的密钥有很大的提高。l同时,IDEA密码能够抵抗差分分析和线性分析。设计者尽最大努力使该算法不受差分密码分析的影响,赖学家已证明IDEA算法在其8圈迭代的第4圈之后便不受差分密码分析的影响了。假定穷举法攻击有效的话,那么即使设计一种每秒种可以试验10亿个密钥的专用芯片,并将10亿片这样的芯片用于此项工作,仍需1013年才能解决问题;另一方面,若用1024片这样的芯片,有可能在一天内找到密钥,不过人们还无法找到足够的硅原子来制造这样一台机器。公钥密码技术公钥密码技术RSAl l什么是RSAl lRSARSA是是19771977年由年由RivestRivest,Shamir
18、Shamir和和AdlemanAdleman共同开发共同开发的一种典型的公钥加密算法。的一种典型的公钥加密算法。l lRSARSA算法研制的最初目标是解决算法研制的最初目标是解决DESDES算法秘密密钥的算法秘密密钥的利用公开信道传输分发的难题。利用公开信道传输分发的难题。l l实际结果不但很好地解决了这个难题,还可利用实际结果不但很好地解决了这个难题,还可利用RSARSA来完成对电文的数字签名以抗对电文的否认与来完成对电文的数字签名以抗对电文的否认与抵赖。抵赖。l l同时还可以利用数字签名较容易地发现攻击者对电同时还可以利用数字签名较容易地发现攻击者对电文的非法篡改,以保护数据信息的完整性文
19、的非法篡改,以保护数据信息的完整性。RSA的算法原理l lRSA的基础数学算法l l同余运算:若同余运算:若a ab b可被可被m m整除,则整除,则a a,b b对对m m同余。同余。l l欧拉同余定理:欧拉同余定理: ,a a与与r r互质,互质,(1)(1)为为r r的欧拉指标函数。的欧拉指标函数。l lRSA的关键密钥对的生成l l利用欧拉定理,算出加密密钥利用欧拉定理,算出加密密钥PKPK和解密密钥和解密密钥SKSKl lRSA的实施加密与解密l l分别利用分别利用PKPK和和SKSK对明对明/ /密文进行加密和解密。密文进行加密和解密。RSA密钥对的生成随机选择两个秘密的大质数p和
20、q计算公开的模数 r = p q计算秘密的欧拉函数 (r) = (p-1) (q-1)求一对逆元e、d,ed,使e d1 mod (r) 公开密钥PK(r,e)保密密钥SK(p,q,d)RSA的加密过程假设:甲向乙传送一份文件,采用RSA加密方式。乙SK随机产生PKRSA算法甲明文密文InternetInternetPKPK密文RSA的安全性l lRSA安全性的理论基础l l将两个大的质数合成一个大数很容易,反之很难。将两个大的质数合成一个大数很容易,反之很难。l lRSA的安全性依赖于大数分解l l公钥和私钥都是两个大素数(大于公钥和私钥都是两个大素数(大于100100位)的函数。位)的函数
21、。l l从一个密钥和密文推断出明文的难度等同于分解两从一个密钥和密文推断出明文的难度等同于分解两个大素数的积。个大素数的积。 l lRSA的缺点主要有l l密密钥钥产产生生较较麻麻烦烦,受受素素数数产产生生技技术术限限制制,难难以以做做到到一次一密。一次一密。l l分分组组长长度度太太大大,为为保保证证安安全全性性,n n至至少少也也要要 600 600 位位以以上上,使使运运算算代代价价很很高高,尤尤其其是是速速度度较较慢慢,随随着着大大数数分分解解技技术术的的发发展展,这这个个长长度度还还在在增增加加,不不利利于于数数据格式的标准化。据格式的标准化。密钥的破译能力成本密钥位数4056648
22、0112128$ 100K2 s35 h1 y70000 y1014 y1019 y$ 1M0.2 s3.5 h37 d7000 y1013 y1018 y$ 10M0.02 s21 m4 d700 y1012 y1017 y$ 100M2 ms13 s9 h70 y1011 y1016 y注:据1995年的技术水平测算的。2.数据加密技术2.1密码学基础2.2数据的加密2.3密钥的管理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密钥生成的算法应由有关机构审批密钥生成的算法应由
24、有关机构审批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密钥的销毁要有管理和仲裁机制密钥的销毁要有管理和仲裁机制