赞
踩
密码学 Cryptology : 涉及隐藏、伪装或加密信息的科学
密码系统 Cryptosystem: 是指密码操作整体,其中包括软件、算法、协议、密钥和密钥管理功能
**算法 Algorithm: ** 加密和解密流程的数学函数 (数学运算)
密钥 Key: 密码算法运算的输入(运算参数)
密钥空间 Key Space: 一个密码算法或其他安全措施(如口令)中密钥可能值的总数
工作因子 Work Factor: 击破一项保护措施所需要付出的时间和精力(破解难度)
明文 Plaintext/Cleartext: 消息的天然格式 (明文是人类可读的)
**密文 Ciphertext/Cryptogram:**明文加密后得到的信息。(人不可理解其内容)
编码 Encoding: 通过一种代码把一条消息转变成另一种格式的做法 (为了某种规范,通常用于确保消息的完整性而非保密性)
解码 Decoding: 编码的逆向流程
**加密 Encryption: ** 系把消息从明文转变成密文的过程
解密 Decryption: 系加密的逆向流程
替代 Substitution: 用一个字母或字节替换另一个字母或字节的过程 (非原文)
换位 Transposition: 重排明文顺序以隐藏消息的过程 (原文打乱顺序)
混淆(扰乱) Confusion: : 通过混合(改变)各轮次加密过程中使用的密钥值形成 (使密文与密钥统计关系变得更加复杂, 随机性替代
扩散 Diffusion: 让明文中的每一位影响密文中的许多位,或者说让密文中的每一位受明文中的许多位的影响 (隐蔽明文的统计特性, 随机性换位
雪崩效应 Avalanche Effect: 密钥或明文哪怕发生一点微小变化, 也会使得出的密文发生重大变化. 这也是强散列算法的一个特点
初始向量 Initialization Vector: 一种非保密二进制向量,在给密文块按顺序加密时用作初始化输入算法,引入附加密码方差,可提高安全性(增加破解难度)
同步 Synchronous: 每个加密或解密请求都被立即处理
异步Asynchronous: 加密/解密请求排队等待处理. 可以利用硬件设备和多处理器系统来加快加密运算速度
哈希函数 Hash function: 任意长度的输入, 通过散列算法, 变换成固定长度的输出, 该输出就是散列值 (输出固定, 输入不同输出不同, 无法逆推)
**密钥汇聚 Key Clustering: ** 不同的加密密钥从同一条明文消息生成相同的密文
密码分析 Cryptanalysis: 试图破解密码技术(分析算法、破解秘钥)
碰撞 Collision: 不同的信息散列值相同
数字签名 Digital Signatures: 原文(明文或加密后的密文)经哈希算法得出散列值,该散列值用发送者私钥加密得出的散列值密文。(完整性、抗抵赖性)
数字证书 Digital Certificate: 电子文件,内含机构名称或个人姓名、公司地址、发放该证书的发证机构的数字签名、证书持有人的公钥、证书序号和到期日
**证书颁发机构(CA) Certificate Authority:**发放 、撤销和管理数字证书的权威机构
注册机构(RA) Registration Authority: 代表CA提供证书注册服务的机构,对用户身份进行验证
不可抵赖 Nonreputation: 一项安全服务,保留了证据,使数据的发送者和接收者都不能否认自己参加过所涉通信。(分为原发不可抵赖,接收不可抵赖)
对称的 Symmetric: 加密、解密使用同一密钥
非对称的 Asymmetric: 加密、解密使用不同密钥(公钥、私钥。公钥可交换,私钥永远自己持有)
密码学的目标
机密性, 完整性, 身份验证(真实性), 不可否认性(抗抵赖)
密码学概念
- Cryptology(密码学) : Cryptography(密码术) Cryptanalysis(密码分析/密码破译)
- 扩散 Diffusion : 明文和密文的关系尽可能复杂,单独一个明文位会影响到若干密文位
- 混淆 Confusion : 密文和密钥之间的关系尽可能复杂。(很难通过只靠改动明文分析对应密文来确定密钥)
对称密钥算法 : 秘密密钥, 密钥共享
非对称密钥算法 : 公开密钥(公钥公开), 私钥不公开
散列算法(哈希算法): 保障完整性
对称密码技术:发件人和收件人使用其共同拥有的单个密钥 ,这种密钥既用于加密 ,也用于解密 ,叫做机密密钥(也称为对称密钥或会话密钥 ), 能够提供信息机密性 (没有密钥信息不能被解密)、 完整性 (被改变的信息不能被解密)的服务. 对称式密码学又称: 单钥密码学、秘密密钥密码学、会话密钥密码学、私钥密码学、共享秘钥密码学
对称式加密算法相关概念
- DES (数据加密标准):分组式加密,算法源于 Lucifer ,作为 NIST 对称式加密标准; 64 位(有效位 56 位、校验 8 位),分组算法
- 3DES : 128 位,分组算法
- IDEA (国际数据加密算法): 128 位,比 DES 快,分组算法
- Blowfish : 32-448 位,算法公开,分组算法
- **RC4 :**流密码,密钥长度可变 (已经被破解不安全)
- RC5 :分组密码,密钥长度可变,最大 2048 位
- Rijndael : 128 位 /196 位 /256 位
- AES (高级加密标准): DES 升级版,算法出自 Rinjindael
- Safer :分组算法
- Skipjack :分组算法
优点
用户只需记忆一个 密钥,就可用于加密、解密, 与非对称加密方法相比,加密解密的计算量小,速度快,效率髙 ,简单易用,**适合于对海量数据进行加密处理 **
缺点
如果密钥交换 不安全,密钥的安全性就会丧失, 特别是在电子商务环境下,当客户是未知的、不可信的实体时,如何使客户安全地获得密钥就成为一大难题(带外传输), 如果用户较多情况下的密钥管理问题(n x (n-1)/2)
AES(高级加密标准)
1997年NIST开始征集AES算法,要求是分组算法,支持128、192、256密钥长度
最终对决的5个算法是
- MARS:IBM设计
- RC6:RSA设计 (分组),
- Serpent:Ross Anderson等设计
- Twofish: Bruce Schneier 灯设计
- Rijindael:Joan Daemen和Vincent Rijmen设计
最终 Rijindael中选 ,它支持密钥及分组可以为 128、192、256位- 128位分租,10轮运算
- 192位分组,12轮运算
- 256位分组,14轮运算
RC4
是RSA三人组中的头Ronald Rivest在1987年设计的密钥长度可变( 8-2048位 )的 流加密 算法簇。之所以称其为簇,是由于其核心部分的S-box长度可为任意,但一般为256字节。该算法的速度可以达到DES加密的10倍左右,且具有很高级别的非线性。典型 应用于SSL/TLS, 802.11 WEP 协议. 已经被破解现在不安全
其它
DES/2DES/3DES/CCMP/IDEA/CAST/SAFER/Blowfish/Twofish/RC5
对称密钥管理
- 密钥分发
线下分发 固有缺陷(不安全)
公钥加密 需要 PKI (公钥基础设施)
Diffie-Hellman 最实用的机制- 存储和销毁
- 密钥托管和恢复
公平密码系统 秘密密钥被分解成两个或多个片段
受托加密标准
密钥托管 由 第三方 维护一个 私钥 或者用于加密信息的密钥的拷贝 双方必须彼此信任,密钥提供的条件必须被清晰地定义
三个阶段(密码/密钥的抗破解性随时间下降)
算法/协议治理
如何迁移存在的信息系统和密码学元素到新的平台,安全专家必须采取相应的治理过程确保这个过渡过程,相关的策略、标准、程序至少要关注:
- 被批准的密码算法和密钥大小
- 针对老的密码算法和密钥的过渡计划
- 在组织内对于加密系统的使用程序和标准,要表明哪些信息有加密的需求
- 密钥的生成、托管、销毁
- 加密系统弱点或密钥丢失的事件报告
- 算法可靠性、密钥强度、密钥管理方式
其他一些安全问题
- 知识产权 保护与个人隐私
- 国际出口控制
- 法律强制
- 安全专家需要理解密码如何被错误的使用给组织造成影响,进而采取适当的安全控制措施。一个典型的例子是 “ 密码时间炸弹 ” (密码时效性防护)
加密的基本原理、手段
替代 : 其他字符替代原文字符。单字母表替代密码、多字母表替代密码、Playfair密码
换位 (排列 Permutation) :
- 在换位密码中,所有字符都是混乱的,或者采取不同的顺序, 密钥决定了字符移动到的位置
- 栅栏密码 (The Rail Fence) (行列错位)
其他:- 滚动密码隐藏式密码 : 采用模块化数学以及用每个字母在字母表中的位置来表达每个字母,和密钥一起循环滚动计算。(公开书籍中的文字对应)
- 一次性密码本 : 1917年Gilbert Vernam提出的,被认为不可破译, 使用随 机的替换值 加密,在计算机中,使用随机的二进制位串 和明文位串进行异或/同或 操作(exclusive-OR, XOR ; exclusive-NOR, XNOR )
- 密文接收者必须有相同的一次性密码本
- 密码本 只使用一次
- 密码本 与明文消息长度一样
- 密码本必须要安全的分发并在发送端和接收端都 高度保护
- 密码本必须由 真随机值组成
- 隐写术
是一种将数据隐藏在另一种介质中以藏匿数据的方法。数据并未被加密而是被隐藏
要素: 载体 (如照片)、 隐写介质 (如JPEG)、 有效载荷 (信息)
例子:The saying “The time is right”is not cow language , so is now a dead subject. 每第三个单词组成 The right cow is dead .
隐藏:1. 藏头诗, 2. 数字水印
按照明文的处理方法(对称式加密算法)
消息被划分为若干分组,这些分组通过数学函数进行处理,每次一个分组
一个强密码具有两个属性:
- 扰乱(通过替代实现),使密钥和密文之间的关系尽可能复杂。
- 扩散(通过换位实现),单独一个明文位会影响到若干密文位
将消息作为位流对待,并且使用数学函数 分别作用在明文每一个位上。 流密码使用密码流生成器,它生成的位流与明文位进行异或,从而产生密文。 类似一次性加密 , 密钥流尽可能随机 。 (拉拉链)
典型流加密:RC4 (WEP)
其他密码学转换技术
初始向量(initialization vector,IV)
与密钥一同使用,传输时不用加密。算法使用IV和密钥来提高加密过程的随机性
雪崩效应
与扩散类似,算法输入值轻微的变化会引起输出值的显著变化
明文加密之前对其进行压缩
可以降低原始明文的长度
明文加密之前对其进行填充
目的是把明文的最后一个块增加到每一块需要的长度
混合使用子密钥(subkey)和主密钥(masterkey)以限制密钥暴露时间, 密钥方案中是由主密钥生成子密钥的( 密钥导出函数 )
按照加密方法分类(密钥特点)
混合加密
Kerckhoff原则
1883年,Auguste Kerckhoff 发表论文认为 “密码系统中 唯一需要保密的是密钥 ” “算法应该公开” “太多的秘密成分会引入更多的弱点”
密钥管理方面的进展
XML Key Management Specification 2.0 (XKMS),包含两个部分
- XML Key Information Service Specification (X-KISS)
- XML Key Registration Service Specification (X-KRSS)
XKMS提供- 操控复杂的语法和语义
- 从目录收回信息
- 撤销列表验证
- 信任链创建和处理
金融机构的标准 ANSI X9.17描述了确保密钥安全的方法
- 职责分离 : 不能实现职责分离的要考虑补偿控制
- 双人控制 : 关注两个或以上人参与完成一个工作
- 分割知识 : 关注参与的每个人都是唯一的且是必须的
密钥创建
要考虑可扩展性和密钥完整性, 采用自动化系统来创建密钥,不仅对用户透明也便于密钥策略实施, 工作因子与构成密钥的位的随机性水平有关
- 伪随机数
- 随机数生成器
非对称密钥长度- 1024位RSA密钥加密强度相当于80位的对称密钥
- 2048位RSA密钥加密强度相当于112位的对称密钥
- 3072位RSA密钥加密强度相当于128位的对称密钥
- 224位ECC密钥加密强度相当于112位的对称密钥
密钥包装和密钥加密密钥(KEK)- KEK是保护会话密钥的一个解决方案,用于密钥分发和密钥交换。使用KEK来保护会话密钥的过程被叫做密钥包装。
- 如果使用对称密码来封装会话密钥,那么发送方和接收方需要使用同一个密码;如果使用非对称密码来封装会话密钥,发送方和接收方需要彼此的公钥。
- SSL、S/MIME、PGP都是用KEK来保护会话密钥
密钥分发
密钥交换可以采用“带外管理”(out of band),但其可扩展性较差
一个可扩展的密钥交换方法是采用一个密钥分发服务器(KDC) 存放所有人的公钥
KDC 用户与KDC共享的密钥,用于KDC和用户之间传输加密信息用户和应用资源通信的会话密钥,需要使创建,用完则删除
密钥存储与销毁
所有密钥都需要被保护防止被修改,所有会话密钥和私钥需要被保护防止被非授权暴露。密钥保护方法包括:
可信的、防篡改的硬件安全模块,带密码保护的智能卡,分割密钥存储在不同地点,使用强口令保护密钥,密钥期限,等
相关标准
NIST SP800-21-1 联邦政府实施密码学指南
NIST SP800-57 密钥管理建议
简单的删除操作不能完全清除密钥,可能需要用不相关信息(如随机数、全为0或1)多次复写
证书替换成本和撤销
人员、设备规模大造成证书替换成本较高, 人员离职,人员岗位变更、丢失密钥等要注意撤销证书, 证书的生命周期
密钥恢复
从可信的目录或密钥注册的安全机构, 一种方法为多方密钥恢复 (密钥信封), 密钥恢复涉及到个人隐私和法律问题
优点 : 可以安全地交换公钥,保障了密钥的安全性, 公钥交换,私钥自己保存,便于密钥的管理, 可扩展性好,密钥数量 2n 个
**缺点 : ** 计算量大,速度慢,不适合与海量数据加密
Diffie-Hellman
用于交换会话密钥
第一个非对称密钥, 协商算法,重点解决密钥分发问题, 基于“有限域上的离散对数计算困难”的难题, 通信双方在不可信的网络上交换他们彼此的公钥,再在各自的系统上生成相同的对称密钥。不提供加密、数字签名功能。
RSA
是1977年由罗纳德·李维斯特(Ron Rivest), 阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的。RSA算法的安全性基于数论中 分解大因数为原始质数的困难性,在已提出的公开密钥算法中,RSA是最容易理解和实现的,这个算法也是最流行的。
ECC
最初由Koblitz和Miller两人于1985年提出,其数学基础是利用椭圆曲线上的有理点构成Abel加法群上 椭圆离散对数的计算困难性。效率高
- 160bit密钥相当于RSA 1024bit
- 210bit密钥相当于RSA 2048bit
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。