1.71k likes | 1.92k Views
第 3 章 密码学基础. 本章知识点:. 保密与安全 安全保密与密码学的联系与区别 编码系统与密码系统的关系与区别 密码体系与密码系统 加密与解密之联系 常用及特殊密码体系 硬件加密与软件加密 保密技术的应用. 保密与安全 保密: 保守机密,让不该知道的人不知。 安全: 让自身不受任何方式的威胁与侵害。为此,提出了保密和安全问题。 这里必须了解: 安全的类别和层次(粒度)。 类别: 国家安全、部门安全、行业安全、商业安全 层次: 安全的敏感度、了解公开的范围、密级。. 什么是国家安全.
E N D
本章知识点: 保密与安全 安全保密与密码学的联系与区别 编码系统与密码系统的关系与区别 密码体系与密码系统 加密与解密之联系 常用及特殊密码体系 硬件加密与软件加密 保密技术的应用
保密与安全 保密:保守机密,让不该知道的人不知。 安全:让自身不受任何方式的威胁与侵害。为此,提出了保密和安全问题。 这里必须了解: 安全的类别和层次(粒度)。 类别:国家安全、部门安全、行业安全、商业安全 层次:安全的敏感度、了解公开的范围、密级。
什么是国家安全 国家安全是指主权国家独立自主地生存和发展的权利和利益的总和,指国家独立、主权和领土完整以及国家政治制度不受侵犯;经济发展、民族和睦、社会安定不受威胁;国家秘密不被窃取;国家工作人员不被策反;国家的机构不被渗透;人民生命、财产不受外来势力的威胁和侵犯。
什么是国家秘窑 《中华人民共和国保守国家秘密法》 第二条规定,国家秘密是关系国家的安全和利益,依照法定程序确定,在一定时间内只限一定范围的人员知悉的事项。
《保密法》第八条规定: “国家秘密包括符合本法第二条规定的下列秘密事项: 1)国家事务的重大决策中的秘密事项; 2)国防建设和武装力量活动中的秘密事项; 3)外交和外事活动中的秘密事项以及对外 承担保密义务的事项; 4)国民经济和社会发展中的秘密事项; 5)科学技术中的秘密事项;
6)维护国家安全活动和追查刑事犯罪中的 秘密事项; 7)其他经国家保密工作部门确定应当保守 的国家秘密事项; 不符合本法第二条规定的,不属于国家秘密。 政党的秘密事项中符合本法第二条规定的,属于国家秘密。
文档保密密级: 绝密: 机密: 秘密: 公开: 由于办公自动化的日益普及,计算机和通信技术的联姻,信息和数据也同样涉及到保密的密级问题。在实际的应用中,加密解密机制从另一个方面决定了保密的密级。
安全保密性: 数据与信息的价值 人对数据和信息的依赖性 信息的敏感性 信息的私有性 为什么要保密? 不愿被他人知晓的都要保密 信息决定生存、决定政治和社会稳定 信息决定发展、 信息决定主动、抢占制高点 个人隐私, 防窥视、窃取、泄露、滥用
安全机制的第三部分:安全保密 用户 认证 访问 控制 安全 保密 安全 审计 安全 恢复 信息隐藏:看不到,找不到 信息加密:看不懂,难理解 信息锁定:看到了,带不走 信息控制:看懂了,已无用
安全保密涉及的学科 信息论涉及:消息在运动中产生信息 在通信时才需要信息保护 现在无论静态和动态数据都需要保护 密码学涉及:早期作用是保密, 现在除保密外,还有认证、鉴别功能 保密学涉及:早期对文电、文档进行加密 现在除文电、文档外,对任何文字、图形、图象、声音等多媒体信息; 对硬件部件和电路等实体的保密; 对思路、思维、企图等虚体的保密;
第一节 系统防泄露与加解密 一、防泄漏的范围 防止计算机中的程序、数据、运行结果与执行过程的泄密,防止进入计算机系统、网络系统、信息系统的防御措施的泄密,防止个人专用信息和隐私的泄密。
二、防泄露的机制 1)隐藏:屏蔽,看不到、找不到 2)加密:能看到,看不懂,难理解 3)控制:看到了,拿不到,带不走 4)权限:拒绝读写,拒绝执行 5)时效:看懂了,已无用,过时
三、密码学 密码学是一门研究秘密信息的隐写技术的学科;密码学技术可以使消息的内容对(除发送者和接收者以外的)所有人保密;可以使接收者验证消息的正确性;是解决计算机与通信安全问题重要技术。
四、编码系统与密码系统的关系与区别 密码编码学(Cryptography): 主要研究对信息进行编码,实现对信息的隐蔽.虽然两者都可以用于隐藏传输信息,但是它们采用的是不同的替换技术。 在密码系统中,明文表示被加密以前的一组数据,在处理时并不注重它们实际的含义。而在编码系统中,单词或者词组被其他的单词或词组所替换,从而隐藏了它们的原义。
例如,消息: FIRE THE CORPORATE LAWYER 通过密码系统简单加密变为: GJSF UIF OPSQPSBUF MBXZFS 通过编码系统简单加密变为: SELL THE CORPORATE DONKEY, 这里,单词SELL对应于FIRE,而DONKEY则对应于LAWYER。
编码系统特点: * 一般不会改变太多的术语的含义 * 要求预先熟悉和掌握所有的替换码 * 复杂累赘的编码本(密码本),这种编码本含有成千上万条术语和对应的编码。编码本的准备不仅困难和耗时,而且一旦丢失、或者泄露,就形同噩梦缠身,不得不用新的编码本来替换。 * 较长的消息内容。要用编码本编码、译码非常费时,如果是现代,等译码后,消息已经无用。 * 编码系统获安全保护级别较低
密码系统特点: * 需要改变消息的真实含义,成为一堆乱码 * 要求预先熟悉和掌握必须的密钥 * 没有密码本,密钥可以经常替换、 * 无论消息多长。可以非常方便,可利用计算机处理,译码速度快 * 比编码系统获得更高的消息安全保护级别。
五、电子邮件传输与保密问题 将被加密的消息通过电子邮件传输的安全问题 计算机字符集:8位二进制表示一个字符, 那么,共有:28=256种唯一的字符能够被用来表示明文字符集和密文字符集。 但是,很多电子邮件系统把所传输的字符限制为7位,而把第8位作为传输字节的奇偶校验位。这里,字符传输的限制是27,即128种字符。那么,许多不限制密文字符集的密码系统,如DES算法,就不能直接地通过某些电子邮件系统传输数据。
密文应当能以8位字符集表示256种唯一的字符,并能通过7位的电子邮件系统发送。那么,就需要对每个8位字符进行一种变换。密文应当能以8位字符集表示256种唯一的字符,并能通过7位的电子邮件系统发送。那么,就需要对每个8位字符进行一种变换。 实现这种变换的计算机程序称为UUENCODE,将三个8位字符转换成四个7位字符。而另一个程序UUDECODE则完成逆向操作。这里,发送者和接收者都必须具有编码程序和对应的解码程序。 如果要通过某种电子邮件系统来传输密文,而又不需要接收者必须具有7位到8位字符的转换程序,我们就必须对明文字符集和用来产生密文的算法作出一定的限制。
第二节 密码学的基本概念 一、密码学与密码 密码学是关于加密和解密变换的一门科学,是保护数据和信息的有力武器。密码技术已经从早期的军事和外交领域逐步延伸到金融、交通、经济、科学、技术、信息、社会生活等各个方面,成为现代社会中保护信息的重要方法。 密码是什么? 密码就是变换。(信息代码变换、数据电平变换。 变换是什么?变换是一种算法实现过程。 谁来做变换?变换可以由硬件和软件实现。 (人、器件部件、计算机)
几个术语: 明文(plaintext):需要被隐蔽的消息 密文(cipertext): 明文经变换形成的隐蔽形式 加密 (encryption): 从明文到密文的变换过程 解密 (decryption): 从密文恢复到明文的过程。
几个术语: 变换函数所用的一个控制参数称为密钥(key) 加密和解密算法的操作通常是在一组密钥控制下进行的,分别称为加密密钥和解密密钥。 密钥未知情况下进行的解密推演过程,称为破译,也称为密码分析或者密码攻击。
变换的依据:密钥(Key) 密钥:计算的数据基(Database)。 密钥深度:计算的复杂性 加密的深度(程度) 获取密钥是入侵的关键,也是解密的关键。 破译与逆向工程: 密码破译:分析、统计、穷举 程序破译:反汇编、反编译 硬件破译:逆向工程
“魔高一尺,道高一丈” 加密和解密:矛盾在长期对抗中不断发展。 实际体现:加密和解密算法。 系统的保密性主要取决于密钥的安全性。 明文 x 加密过程 E 密文 y 密钥 k
密钥 密钥 密文 明文 明文 加密算法 解密算法 加解密过程示意图 加密和解密算法的操作通常都是在一组密钥的控制下进行的,分别称为加密密钥(Encryption Key) 和解密密钥(Decryption Key).
“魔高一尺,道高一丈” 加密与解密 加密密钥 加密过程 密文 y 明文 x 解密过程 解密密钥 密码破译
密钥分类: ①基本密钥(base key)。用于启动和控制某种算法结构的密钥产生器,产生用于加密数据的密钥流。 ②会话密钥(session key)。两个用户在一次通话或交换数据时采用的密钥,例如:数据加密密钥、文件加密密钥等。 ③密钥加密密钥(key encrypting key)。对密钥进行加密时采用的密钥。 ④主密钥(host master key)。对密钥加密密钥进行加密的密钥。
二、密码体制 密码体制目前分为单钥密码和双钥密码体制 ㈠单钥密码体制 也称为对称密码体制,其加密密钥和解密密钥相同,或者在实质上等同,即从一个很容易得出另一个。 它具有两种加密方式:
它具有两种加密方式: 流密码(stream cipher):又称序列密码.序列密码每次加密一位或一字节的明文。即 对明文按字符逐位加密 组密码(block cipher):将明文分成固定长度的组,用同一密钥和算法对每一块加密,输出也是固定长度的密文。 ● 序列密码是手工和机械密码时代的主流● 设计简单,密钥单一,加密效率高,特别适合点对点通信传输的数据加密。但其密钥的管理(如密钥产生、分配、存储、销毁等)工作比较复杂。
㈡双钥密码体制 也称非对称密码体制,其加密密钥与解密密钥不相同,从一个很难得出另一个。采用双密钥体制的每个用户都有一对选定的密钥,其中一个是秘密的,而另一个则可以公开,并可以象电话号码一样注册公布。因此,双钥密码体制也被称为公钥体制(public key system)。
公钥体制特点: 加密和解密能力分开,可实现多个用户加密的信息只能由一个用户解读(多对一),或者一个用户加密的信息可以由多个用户解读(一对多)。 前者可以用于公共网络中实现保密通信,后者可用于认证系统中对信息进行数字签名。由于该体制大大减少了多用户之间通信所需的密钥数,方便了密钥管理,这种体制特别适合多用户通信网络。
公钥体制特点: • 大部分是分组密码,只有概率密码体制属于流密码 每次对一块数据加密 数字签名,身份认证 RSA,ECC,ElGamal 加密解密速度慢
三、密码与系统安全 几个概念: 1)没有一种密码系统是无懈可击的,仅仅是 一个时间/空间复杂性问题。 2)有多种密码体制,每一种体制又派生出多 种算法,需要针对性折衷。 3)加密程度可以根据应用安全的级别来定, 一个系统可以有多种加密方式。 4)加密程度越高,算法越复杂,会降低系统 性能,需要实际性折衷。
如何对待密码体系? 1)有很多密码体系,各自产生的背景不同, 要了解他们各自适合的领域和范围。 2)每一种密码体系都有其优势和不足,扬 长避短。 3)每种密码体系算法是公开的,需要用的 时候可以知道到什么地方去查找这种标 准化文本?知道如何使用。 4)了解如何使用加密、解密工具。
如何对待密码体系? 5)了解其如何产生?解决什么问题?优势 和不足在哪里?还有什么问题没有解决? 我们能不能解决?怎样解决? 6)我们能够做的事: 改进已有的算法,加深加密深度,提高加解密速度,增强应用灵活性,检测和评估加解密的程度,发明新的加密解密算法和硬件。
第三节 密码系统 采用了密码体制的系统称为密码系统,密码系统是各种攻击的目标。非授权者、恶意攻击者通过各种办法来窃取机密信息。例如:网络侦察、数据流分析、软件跟踪、搭线窃听、电磁窃听等。 在一定的情况下,不知道密钥,仍然可能入侵密码系统。对一个密码系统采取截获密文,经过分析推断出明文的攻击称为被动攻击。而主动向系统串扰,采用删除、增添、更改、伪造等手段向系统注入假信息的攻击称为主动攻击。
常用的密码分析方法有四类: • 唯密文攻击(Ciphertext-only attack)。密码分析者拥有一些消息的密文,这些消息都是用同样的加密算法来加密的。密码分析者的任务是尽可能多地恢复出明文来。当然,最好能够得到加密消息所使用的密钥,以便利用该密钥尽可能多地去解读其他的密文。
已知明文攻击(Known-plaintext attack)。密码分析者不仅拥有一些消息的密文,而且还拥有这些密文对应的明文。密码分析者的任务就是根据这些明文和密文的对应关系来推出加密密钥或者推导出一个算法,使得该算法可以对用同一密钥加密的任何消息进行解密。
选择明文攻击(Chosen-plaintext attack)。分析者不仅拥有一些消息的密文和相应的明文,而且他们还可以进行有选择地加密明文。密码分析者可以选择特定的明文块,这些明文块可能会产生更多关于密钥的信息。分析者的任务就是推导用于加密的密钥或者产生一个算法,使得该算法可以对用同一密钥加密得到的任何密文进行解密。
选择密文攻击(Chosen-ciphertext attack)。密码分析者能够选择不同的密文,而且能够得到与之对应的明文。有时我们将选择明文攻击和选择密文攻击一起称作选择文本攻击(Chosen-text attack)
衡量密码攻击的复杂度有两个方面:数据复杂度和处理复杂度。数据复杂度是指为了实施攻击所需输入的数据量;而处理复杂度是指处理这些数据所需的计算量。
一、密码学的起源 三个阶段: • 1949年之前 密码学是一门艺术 • 1949~1975年 密码学成为科学 • 1976年以后 密码学的新方向——公钥密码学
密码学的起源 • 隐写术(steganography): 通过隐藏消息的存在来保护消息. • 隐形墨水 • 字符格式的变化 • 图象图像
例1 • (象形文字的修改)Modified Hieroglyphics, c. 1900 B.C. 密码学的第一个例子是对标准书写符号的修改 例如:古埃及法老坟墓上的文字 思想:代替(substitution)
例2 • Polybius’ Checkerboard , 205~123 B.C. 明文:POLYBIUS • 密文:3534315412244543
1949年之前: 古典密码(classical cryptography) • 密码学还不是科学,而是艺术 • 出现一些密码算法和加密设备 • 密码算法的基本手段(substitution & permutation)出现,针对的是字符 • 简单的密码分析手段出现
二、经典密码 1)代替密码(替换密码) 可分为单表密码、多表密码 单表密码:将明文中的字母或符号用另一种字母或符号来代替,这种代替是一一对应的。 明文与密文之间只有一种对应关系。 多表密码:代替不是一一对应的。 代替规律不同,密码体制也不同。 代替规律相同,明密文间字母对应关系不同, 代替出的密码也不同。 e.g.同余密码(加同余、乘同余、线性同余) 随机替代、密钥词组、多表组合
*一般单码替换密码 ♦ 简单的方法给出密钥 ♦ 写出密钥(删除重复字母) ♦ 在其下面依次写出剩余字母 (以横、纵行) ♦ 按列读取字母得到密文。
一般单码替换密码举例 ♦ 给定密钥字"STARWARS" ♦ 去掉重复字母得到"STARW" ♦ 填写剩余字母: STARW BCDEF GHIJK LMNOP QUVXY Z ♦ 按列读取字母得到密文 ♦ Plain: ABCDEFGHIJKLMNOPQRSTUVWXYZ ♦Cipher: SBGLQZTCHMUADINVREJOXWFKPY ♦ 可以用这个密钥加密、解密 ♦ 例如Plaintext: I KNOW ONLY THAT I KNOW NOTHING ♦ Ciphertext: H UINF NIAP OCSO H UINF INOCHIT