密码学基础知识 一、安全原则 信息安全三要素(CIA):机密性(confidential)、完整性(integrality)、可用性(availability) 机密性 机密性是指保证信息不被非授权访问,即使非授权用户得到信息也无法知晓信息内容,因而不能使用。他的任务是确保信息不会被未授权用户访问,通常是通过访问控制阻止非授权用户获得机密信息,通过加密变换阻止非授权用户获知信息内容。 完整性 完整性是指维护信息的一致性,即信息在生成、传输、存储和使用过程中不应该发生人为或非人为的非授权篡改。信息的完整性包括两个方面:1.数据完整性:数据没有被(未授权)篡改或者损坏; 2.系统完整性:系统未被非法操纵,按既定的目标运行。 可用性 可用性是指保障信息资源随时可提供服务的能力特性,即授权用户可根据需要可以随时访问所需信息。可用性是信息资源服务功能和性能可靠性的度量,涉及到物理、网络、系统、数据、应用和用户等多方面的因素,是对信息网络总体可靠性的要求。 二、密码学组件知识 如果把密码体系比作一栋积木搭建的房子,里面的房间、家具、装饰等就是各种基本构成组件了,它们包括:对称密码、公钥密码、单向散列函数、消息认证码、数字签名以及伪随机数生成器。 任何密码体系都可被拆分成各种密码组件,对于密码体系的攻击也可以从 密码组件 和 密码体系本身来进行。
1、对称密码算法 加密和解密密钥相同,加密强度高、速度快;密钥管理是最大的问题(要满足保密性、唯一性); 常见的对称密码算法有:DES(不安全不使推荐)、三重DES(在DES的基础上增长了密钥长度)、AES(在用)、IDEA (国际数据加密算法)。 1.1 分组密码 分组密码:在密码学中,分组加密(英语:Block cipher),又称分块加密或块密码,是一种对称密钥算法。它将明文分成多个等长的模块(block),使用确定的算法和对称密钥对每组分别加密解密。分组加密是极其重要的加密协议组成,其中典型的如AES和3DES作为美国政府核定的标准加密算法,应用领域从电子邮件加密到银行交易转帐,非常广泛。DES、AES都属于分组密码。 ECB模式容易被攻击,不推荐使用。
2、公钥密码算法 公钥密码算法 又称 非对称密码算法,加密和解密密钥不同,通常是 公钥加密、私钥解密(公钥默认公开、私钥保密),常用于对称加密过程中密钥的传递。 常见的公钥密码算法有:RSA、Elgamal、背包算法、Rabin、Diffie-Hellman、ECC(椭圆曲线加密算法),使用最广泛的是RSA算法(推荐使用密钥长度大于768的,常见密钥长度1024、2048、4096)。 3、单向散列函数 单向散列函数(也叫Hash算法、消息摘要算法、散列算法、杂凑算法),输入不同长度的消息,生成固定长度的摘要值,通过前后对比摘要值来判断消息是否有被篡改(但不能实现身份的认证),具有单向性的特点(消息不可被解密回明文)。 常见单向散列函数有: MD4,可被爆破、不推荐使用; MD5,强抗碰撞性已被攻破,彩虹表,不推荐使用; SHA-1,可被爆破、不推荐使用; SHA-2,包含 SHA-224、SHA-256、SHA-384、SHA-512、SHA-512/224、SHA-512/256; SHA-3,包含 SHA3-224、SHA3-256、SHA3-384、SHA3-512。 应用场景: 文件完整性保护,通过Hash值检查软件指纹、判断是否被篡改; 密码保护,不直接记录密码本身、记录加盐的密码hash值; 数字签名,对消息的Hash值进行签名; 消息认证码(HMAC),Hash(消息,密钥),用于防止消息被篡改; 伪随机数生成器; 一次性口令。 4、消息认证码(Message Authentication Code) 消息认证码(Message Authentication Code)是一种确认完整性并进行认证的技术(消息是否被篡改、发送者身份是否被伪装)。 输入 消息 + 双方共享的密钥,输出 固定长度的 MAC 值,通过比对 MAC 来完成消息完整性和认证;由于发送者和接收者共享相同的密钥,因此会产生无法向第三方证明以及无法防止否认的问题。 常见的一种实现方法是HAMC(Hash-based Message Authentication Code),HMAC(Message,Key);此外还有使用分组密码来实现的(AES CBC模式)。 常见应用场景: SWIFT IPsec SSL/TLS 5、数字签名 使用非对称加密算法实现数字签名:消息发送者使用自己的私钥加密、消息接收者使用消息发送者的公钥解密验证,用于识别篡改和伪装、防止否认。 和公钥加密是刚好相反的过程;例如在RSA算法中: 公钥加密:公钥加密、私钥解密 数字签名:私钥签名(加密)、公钥验签(解密)
实现方法: 直接对消息进行签名 对消息的散列值进行签名(较为常见的一种) 应用场景: 消息发布,加上发布者的签名以证明消息的真实性; 软件下载,证明其来自合法的渠道(配合单向散列函数,验证消息的完整性); 公钥证书 SSL/TLS
6、公钥基础设施(PKI) Referer:《信息安全技术公钥基础设施PKI 系统安全技术要求》 要保证所使用的数字证书是合法的,有个前提就是 保持公钥是合法的(没有被篡改和伪造),那么就要对该公钥进行签名、对为公钥进行签名的公钥进行签名、、、、、 需要构建一个可信的数字签名链条,就引入了PKI(Public Key Infrastructure)公钥基础设施。 证书的作用:对公钥进行认证(对公钥进行数字签名),证明该公钥是来自可信的公钥所有者。 PKI的组成: 用户:使用PKI的实体(人/服务) 认证机构(CA,Certification Authority):颁发证书 仓库:保存证书的数据库
6.1 PGP中的信任网 不依赖特定的证书机构,通过对用户对每个公钥进行互相签名从而建立起一个信任网络 7、密码协议 IPsec、SSL IPsec:网络层,站到站通信 SSL:应用层和传输层,端到站通信 ,TLS 1.2/1.3 二、密码组件的应用 1、SSL/TLS SSL/TLS是一种安全的密码协议,可以承载HTTP/SMTP/POP3/FTP等通信协议,在它们上面“套一层”安全协议,可以解决如下问题: 机密性——对称密码算法 完整性——消息认证码(HMAC) 认证——数字签名
2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/81277.html