密码学与安全技术概要

目录

Hash算法

加解密算法

对称加密算法

非对称加密算法

混合加密机制

离散对数与Diffie-Hellman密钥交换协议

消息认证码(Hash-based Message Authentication Code)

数字签名

数字证书

X.509证书规范

证书格式

PKI体系

证书的撤销


Hash算法、数字摘要、加密算法、数字签名、数字证书、PKI体系

Hash算法

Hash(哈希或散列),能将任意长度的二进制明文映射为较短的(通常是固定长度的)二进制串(Hash值),并且不同的明文很难映射为相同的Hash值。

Hash值在应用中又常被称为指纹(fingerprint)或摘要(digest)。

一个优秀的Hash算法将能实现如下功能:

1)正向快速

2)逆向困难

3)输入敏感

4)冲突避免

目前常见的Hash算法包括MD5和SHA系列算法。

Hash算法是计算敏感型。

加解密算法

加解密算法是密码学的核心技术,从设计理念上可以分为两大基本类型,对称加密非对称加密

对称加密算法

对称秘钥从实现原理上可以分为两种:分组密码序列密码

分组对称加密代表算法包括DES3DESAESIDEA等。

1) DES(Data Encryption Standard)经典的分组加密算法

2) 3DES:三重DES 加密->解密->加密

3) AES(Advanced Encryption Algorithm)

4) IDEA(International Data Encryption Algorithm)

序列密码,又称流密码。

非对称加密算法

非对称加密中,私钥一般需要通过随机数算法生成,公钥可以根据私钥生成。

非对称加密算法的缺点是处理速度(特别是生成密钥和解密过程)往往比较慢,一般比对称加解密算法慢2~3个数量级;同时加密强度也往往不如对称加密算法。

非对称加密算法代表算法RSAElGamal椭圆曲线(ECC)SM2等系列算法。

RSA经典的公钥算法,利用了对大树进行质因子分解困难的特性。

Diffie-Hellman密钥交换:基于离散对数无法快速求解,可以在不安全的通道上,双方协商一个公共密钥。

椭圆曲线算法(Elliptic Curve Cryptography,ECC)基于对椭圆曲线上特定点进行特殊乘法逆运算难以计算的特性。

SM2(ShangMi2)国家商用密码算法,同样基于椭圆曲线算法,加密强度优于RSA系列算法。

混合加密机制

混合加密机制同时结合了对称加密和非对称加密的优点。

先用计算复杂度高的非对称加密协商出一个临时的对称加密密钥(也称会话密钥),然后双方再通过对称加密算法对传递的大量数据进行快速的加解密处理。

典型的应用案例是现在大家常用的HTTPS协议。

离散对数与Diffie-Hellman密钥交换协议

DH密钥交换协议是一个经典的协议,使用该协议可以在不安全信道完成对称密钥的协商,以便后续通信采用对称加密。

消息认证码(Hash-based Message Authentication Code)

消息认证码基于对称加密,可以用于对消息完整性(integrity)进行保护。

基本过程:对某个消息利用提前共享的对称密钥和Hash算法进行加密处理,得到HMAC值。

典型的HMAC(H,K,Message)算法包括三个因素,K为提前共享的对称密钥,H为提前商定的Hash算法,Message为要处理的消息内容。

数字签名

数字签名基于非对称加密(即私钥签名,公钥验签),既可以用于证实某数字内容的完整性,又同时可以确认来源(或不可抵赖,Non-Repudiation)。

知名的数字签名算法包括DSA(Digital Signature Algorithm)和安全强度更高的ECSDA(Elliptic Curve Digital Signature Algorithm)等。

数字证书

根据所保护的公钥的用途,可以分为加密数字证书(Encryption Certificate)和签名验证数字证书(Signature Certificate)。

两种类型的公钥也可以同时放在同一证书中。

X.509证书规范

一个数字证书内容可能包括基本数据(版本、序列号)、所签名对象信息(签名算法类型、签发者信息、有效期、被签发人、签发的公开密钥)、CA的数字签名,等等。

目前使用最广泛的标准是ITU和ISO联合制定的X.509的v3版本规范(RFC 5280)

其中定义了如下证书信息域:

1)版本号:规范的版本号,目前版本3,值为0x2

2)序列号:由CA维护的为它所颁发的每个证书分配的唯一的序列号

3)签名算法:数字签名所采用的算法,如sha256WithRSAEncryption或ecdsa-with-SHA256

4)颁发者:颁发证书单位的标识信息

5)有效者:证书的有效期限,包括起止时间

6)主体:证书拥有者的标识信息(Distinguished Name)

7)主体的公钥信息:所保护的公钥相关的信息(公钥算法和公钥内容)

8)颁发者唯一号:代表颁发者的唯一信息,仅2、3版本支持,可选

9)扩展:可选的一些拓展。

v3中可能包含:Subject Key Identifier,Basic Constraints,Authority Key Identifier,CRL Distribution Points,Key Usage

证书格式

X.509规范中一般推荐使用PEM(Privacy Enhanced Mail)格式来存储证书相关的文件。

PEM格式采用文本方式进行存储,一般包括首尾标记和内容块,内容采用Base64进行编码。

此外,还有DER(Distinguished Encoding Rules)格式,是采用二进制对证书进行保存,可以与PEM格式进行相互转换。

PKI体系

PKI体系提供了一套完整的证书管理的框架,包括生成、颁发、撤销过程等。

PKI至少包括如下核心组件:

(1)CA(Certification Authority)

(2)RA(Registration Authority)

(3)证书数据库

常见的操作流程为:用户通过RA登记申请证书,提供身份和认证信息等;CA审核后完成证书的制造,颁发给用户。用户如果需要撤销证书则需要再次向CA发出申请。

用户一般会首先自行生成一个私钥和证书申请文件(Certificate Signing Request,即csr文件),该文件中包括了用户对应的公钥和一些基本信息,如通用名(common name即cn)、组织信息、地理位置等。CA只需要对证书请求文件进行签名,生成证书文件,颁发给用户即可。

证书的撤销

由于CA无法强制收回已经颁发出去的数字证书,因此为了实现证书的作废,往往还需要维护一个撤销证书列表(Certificate Revocation List,CRL),用于记录已经撤销的证书序号。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值