OpenSSL

xiaoxiao2021-02-28  62

OpenSSL:

NIST: 保密性: 数据保密性 隐私性 完整性: 数据完整性 系统完整性 可用性 安全攻击: 被动攻击:窃听 主动攻击:伪装、重放、消息篡改、拒绝服务 安全机制: 加密、数字签名、访问控制、数据完整性、认证交换、流量填充、路由控制、公证 安全服务: 认证 访问控制 数据保密性 连接保密性 无连接保密性 选择域保密性 流量保密性 数据完整性 不可否认性 密码算法和协议: 对称加密 公钥加密 单向加密 认证协议 Linux系统:OpenSSL, gpg(pgp) 加密算法和协议: 对称加密:加密和解密使用同一个密钥; DES:Data Encryption Standard 3DES: AES:Advanced (128bits, 192bits, 258, 384, 512bits) Blowfish Twofish IDEA RC6 CAST5 特性: 1、加密、解密使用同一个密钥; 2、将原始数据分割成固定大小的块,逐个进行加密; 缺陷: 1、密钥过多; 2、密钥分发; 公钥加密:密钥是成对儿出现 公钥:公开给所有人;pubkey 私钥:自己留存,必须保证其私密性;secret key 特点:用公钥加密的数据,只能使用与之配对儿的私钥解密;反之亦然; 数字签名:主要在于让接收方确认发送方身份; 密钥交换:发送方用对方的公钥加密一个对称密钥,并发送给对方; 数据加密: 算法:RSA, DSA, ELGamal 单向加密:只能解密,不能解密;提取数据指纹; 特性:定长输出、雪崩效应; 算法: md5: 128bits sha1: 160bits sha224 sha256 sha384 sha512 功能: 完整性; 密钥交换:IKE 公钥加密: DH (Deffie-Hellman) A: p, g B: p, g A: x --> p^x%g p^y%g^x = p^xy%g B: y --> p^y%g p^x%g^y = p^xy%g PKI: Public Key Infrastructure 签证机构:CA 注册机构:RA 证书吊销列表:CRL 证书存取库 X.509:定义了证书的结构以及认证协议标准 版本号 序列号 签名算法ID 发行者名称 有效期限 主体名称 主体公钥 发行者惟一标识 主体的惟一标识 扩展 发行者签名 SSL: Secure Socket Layer TLS: Transport Layer Security 1995:SSL 2.0, Netscape 1996: SSL 3.0 1999: TLS 1.0 2006: TLS 1.1 RFC 4346 2008:TLS 1.2 2015: TLS 1.3 分层设计: 1、最低层:基础算法原语的实现,aes, rsa, md5 2、向上一层:各种算法的实现 3、再向上一层:组合算法实现的半成品 4、用各种组件拼装而成的种种成品密码学协议/软件: tls, ssh, OpenSSL:开源项目 三个组件: openssl: 多用途的命令行工具; libcrypto: 公共加密库; libssl: 库,实现了ssl及tls; openssl命令: openssl version:程序版本号 标准命令、消息摘要命令、加密命令 标准命令: enc, ca, req, ... 对称加密: 工具:openssl enc, gpg 算法:3des, aes, blowfish, twofish enc命令: 加密:~]# openssl enc -e -des3 -a -salt -in fstab -out fstab.ciphertext 解密:~]# openssl enc -d -des3 -a -salt -in fstab.ciphertext -out fstab -des3 openssl ? 单向加密: 工具:md5sum, sha1sum, sha224sum, sha256sum,..., openssl dgst dgst命令: openssl dgst -md5 /PATH/TO/SOMEFILE MAC: Message Authentication Code,单向加密的一种延伸应用,用于实现在网络通信中保证所传输的数据的完整性; 机制: CBC-MAC HMAC:使用md5或sha1算法 生成用户密码: passwd命令 openssl passwd -1 -salt SALT 生成随机数: openssl rand -base64|-hex NUM NUM: 表示字节数;-hex时,每个字符4位,出现的字符数为NUM*2; 公钥加密: 加密: 算法:RSA, ELGamal 工具:gpg, openssl rsautl 数字签名: 算法:RSA, DSA, ELGamal 密钥交换: 算法:dh DSA: Digital Signature Algorithm DSS:Digital Signature Standard RSA: 生成密钥对儿: openssl genrsa -out /PATH/TO/PRIVATEKEY.FILE NUM_BITS # (umask 077; openssl genrsa -out key.pri 2048) 提取出公钥: # openssl rsa -in /PATH/FROM/PRIVATEKEY.FILE -pubout 随机数生成器: /dev/random:仅从熵池返回随机数;随机数用尽,阻塞; /dev/urandom:从熵池返回随机数;随机数用尽,会利用软件生成伪随机数;非阻塞;
转载请注明原文地址: https://www.6miu.com/read-2631382.html

最新回复(0)