280 likes | 442 Views
密码算法与应用基础. 一、信息安全引论 阳振坤 yzk@icst.pku.edu.cn 计算机科学技术研究所 http://www.icst.pku.edu.cn/cryptocourse/. 辅导老师. 李斌 老师 li_bin@icst.pku.edu.cn. 前言. 信息为什么不安全 为什么需要密码 有了密码 , 信息就安全了吗 “密码 + 协议”信息安全 ( 技术上 ). 内容提要. 信息安全引论 对称密钥密码 对称密钥密码应用基础 公开密钥密码 数字签名与 Hash 函数 公开密钥密码应用基础 密钥交换与密钥管理.
E N D
密码算法与应用基础 一、信息安全引论 阳振坤 yzk@icst.pku.edu.cn 计算机科学技术研究所 http://www.icst.pku.edu.cn/cryptocourse/
辅导老师 李斌 老师 li_bin@icst.pku.edu.cn
前言 • 信息为什么不安全 • 为什么需要密码 • 有了密码,信息就安全了吗 • “密码+协议”信息安全(技术上)
内容提要 • 信息安全引论 • 对称密钥密码 • 对称密钥密码应用基础 • 公开密钥密码 • 数字签名与Hash函数 • 公开密钥密码应用基础 • 密钥交换与密钥管理
参考书 • William Stallings, Cryptography and network security: principles and practice, Second Edition. • Bruce Shneier, Applied cryptography: protocols, algorithms, and sourcecode in C, Second Edition. • 密码学导引,冯登国,裴定一 • Alfred J. Menezes, Paul C. van Oorschot, Scott A. Vanstone, Handbook of applied cryptography.
基础知识与考试 所需基础知识: • 概率论、数论、代数学 • 数据结构、操作系统、计算机网络 • 资源需求: • 同学需自备Linux实验环境以完成实习作业(C/C++编程) 成绩: • 实习作业与期末考试各50%
师说 孔子曰:“三人行,则必有我师”。是故弟子不必不如师,师不必贤于弟子。闻道有先后,术业有专攻,如是而已。 韩愈
密码算法与应用基础 • 信息安全引论 • 对称密钥密码 • 对称密钥密码应用基础 • 公开密钥密码 • 数字签名与Hash函数 • 公开密钥密码应用基础 • 密钥交换与密钥管理
信息安全引论 • 传统方式下的信息安全 • 数字世界中的信息安全 • 信息安全的基本内容 • 攻击 • 密码分类 • 密码学发展简史
传统方式下的信息安全 • 复制品与原件存在不同 • 对原始文件的修改总是会留下痕迹 • 模仿的签名与原始的签名有差异 • 用铅封来防止文件在传送中被非法阅读或篡改 • 用保险柜来防止文件在保管中被盗窃、毁坏、非法阅读或篡改 • 用签名或者图章来表明文件的真实性和有效性 • 信息安全依赖于物理手段与行政管理 •
数字世界中的信息安全 • 复制后的文件跟原始文件没有差别 • 对原始文件的修改可以不留下痕迹 • 无法象传统方式一样在文件上直接签名或盖章 • 不能用传统的铅封来防止文件在传送中被非法阅读或篡改 • 难以用类似于传统的保险柜来防止文件在保管中被盗窃、毁坏、非法阅读或篡改 • 信息安全的危害更大: 信息社会更加依赖于信息,信息的泄密、毁坏所产生的后果更严重 • 信息安全无法完全依靠物理手段和行政管理 •
信息安全的基本内容 • 保密性(Confidentiality) • 真实性(Authentication) • 完整性(Integrity) • 不可否认性(Nonrepudiation) • 访问的可控制性(Access control) • 可用性(Availability) •
攻击(分类) • 攻击分类:被动攻击与主动攻击 • 被动攻击,如窃听或者偷窥,非常难以被检测到,但可以防范 • release of message content • traffic analysis • 主动攻击,常常是对数据流的修改,可以被检测到,但难以防范 • masquerade • replay • modification of message • denial of service
攻击(图示)
密码分类-i • 对称密钥密码(单钥密码) 流密码 分组密码 • 非对称密钥密码(公开密钥密码/双钥密码) 分组密码
密码分类-ii • 对称密钥密码:流密码 每次对一位或一字节加密 手机 One-time padding,Vigenére,Vernam • 对称密钥密码:分组密码 每次对一块数据加密 多数网络加密应用 DES,IDEA,RC6,Rijndael • 可作为流密码使用
密码分类-iii • 公开密钥密码:都是分组密码 每次对一块数据加密 数字签名,身份认证 RSA,ECC,ElGamal 加密解密速度慢
密码学发展简史 • 三个阶段: • 1949年之前 古典密码 • 1949~1975年 现代密码出现 • 1976年以后 公钥密码诞生
密码学发展简史-i • 1949年之前:古典密码 • 密码学还不是科学,而是艺术 • 出现一些密码算法和加密设备 • 密码算法的基本手段(substitution & permutation)出现 • 简单的密码分析手段出现 • 数据的保密基于加密算法的保密
密码学发展简史-ii • 1949~1975年: 现代密码出现 • 计算机使得基于复杂计算的密码成为可能 • 密码开始走出铁幕 • 1949年Shannon的“保密系统的信息理论” • 1967年Kahn的“The Codebreakers” • 1971-73年IBM的Feistel等的几篇技术报告 Smith,J.L.,The Design of Lucifer, A Cryptographic Device for Data Communication, 1971 Smith,J.L.,…,An Expremental Application of Cryptogrphy to a remotely Accessed Data System, Aug.1972 Feistel,H.,Cryptography and Computer Privacy, May 1973 • Lucifer DES • 数据的安全基于密钥而不是算法的保密
密码学发展简史-iii • 1976年以后: 公钥密码诞生 • 1976年Diffie & Hellman的“New Directions in Cryptography”提出了不对称密钥密码 • 1977年Rivest,Shamir & Adleman提出了RSA公钥算法 • 90年代逐步出现椭圆曲线等其他公钥算法 • 公钥密码使得加密者和解密者可以是两个分开的实体
密码学发展简史-iv • 1976年以后: 对称密钥密码算法进一步发展 • 1977年DES正式成为标准 • 80年代出现“过渡性”的“post DES”算法,如IDEA,RCx,CAST等 • 90年代对称密钥密码进一步成熟 Rijndael, RC6, MARS, Twofish, Serpent等出现 • 2001年Rijndael成为DES的替代者
信息为什么不安全 • 信息需要共享... • 信息需要使用... • 信息需要交换... • 信息需要传输...
为什么需要密码 • 信息的存储:在公开的地方 • 信息的交换:使用非隐秘界质 • 信息的传输:通过不安全信道 •
有了密码,信息就安全了吗?-1 • 客户C要银行B把¥1M转到商家D的账上,假定C与B之间使用加密算法足够安全,共享密钥KCB只有双方知道, C信任B,转账过程为: • CB: KCB(Hi,我是C) • BC: KCB(Hi,我是银行) • CB: KCB(我要转账到D) • BC: KCB(OK,转多少?) • CB: KCB(¥1M) • BC: KCB(OK,已经转账完毕) • 上述方案是否有漏洞?
有了密码,信息就安全了吗?-2 • 客户C与银行B的认证: • CB: {C,RC} • BC: {RB,KCB(RC)} • CB: {KCB(RB)} …...
有了密码,信息就安全了吗?-3 • 客户C与银行B认证的攻击: • DB: {C,RD} • BD: {RB,KCB(RD)} • DB: KCB(RB)} • D=>B: {C,RB} • B=>D: {RB2,KCB(RB)} • D=>B: KCB(RB)} …... •