CA、证书、公钥、私钥、加密算法 常识摘要
数据传输安全要满足的要求:
- 发送方能够确定消息只有预期的接收方可以解密(不保证第三方无法获得,但保证第三方无法解密)
- 接收方可以确定消息是由谁发送的(接收方可以确定消息的发送方)
- 接收方可以确定消息在途中没有被篡改过(必须确认消息的完整性)
加密和认证
- 加密是将数据资料加密,使别人即使获取加密数据,也无法获取正确的资料内容,重点在于数据的安全性
通常发送者使用自己的私钥进行加密,接收者使用发送者的公钥进行解密
- 认证是是确定数据的真实发送方,使别人无法伪造或冒充,重点在于用户的真实性
公钥算法和私钥算法
- 摘要算法(散列,无需密钥)
一般有MD5(128位)和SHA1(160位),不可逆
- 对称加密算法(DES,AES)
又称 对称加密算法,因为这种算法解密密钥和加密密钥是相同的。也正因为同一密钥既用于加密又用于解密,所以这个密钥是不能公开的
但是密钥不能手把手交给对方
- 非对称加密算法(RSA,DSA)
这种算法加密和解密的密钥不一样,一个是公钥,另一个是私钥,安全性最高,但加解密速度慢,通常比对称加密算法慢1-2个数量级
利用的是两个大质数相乘十分容易,而对其乘积进行因素分解十分困难。这样就可以将乘积作为密钥了
这个乘积为N值,根据两个大质数选择e和生成d,删掉两个大质数。这样(N,e)为公钥,(N,d)为私钥
公钥无法破解出私钥。由于非对称加密的密钥生成麻烦,所以无法做到一次一密,而且其加密速度很慢,无法对大量数据加密
因此最常用的使用场景就是数字签名和密码传输,用作数字签名时使用私钥加密,公钥解密;用作加密解密时,使用公钥加密,私钥解密。
大部分情况都使用对称加密,而对称加密的密钥交换时使用非对称加密来保护密钥的安全
公钥和私钥(密钥对)
记住这句:公钥加密,私钥解密;私钥签名,公钥验签。
必须实现如下目的:
- 发送方将数据加密,在数据传输过程中不能被别人看到真实数据内容
- 接收方能确定数据是发送方发送的数据,不是别人冒充
意义和作用:
- 公钥:是公布出去给别人用的,可以被很多人获取。用来加密和验签
-
私钥:只能自己持有,并且不可以被其他人知道,用来解密和签名
关系:
- 一个公钥对应一个私钥
- 密钥对中,让大家都知道的是公钥,自己知道是私钥
- 用公钥加密的数据只有对应的私钥可以解密
- 用私钥加密的数据只有对应的公钥可以解密
- 如果用其中一个密钥加密数据,则只有对应的那个密钥才能解密
- 如果用其中一个密钥可以解密数据,则该数据必然由对应密钥进行加密(最后两个类似当且仅当,充分必要条件)
CA证书:
证书主要内容:
- 电子签证机关的信息
- 公钥用户信息
- 公钥
- 权威机构的签字
- 有效期
证书原理:
证书作用:
根证书:
根证书是CA认证中心给自己颁发的证书,是信任链的起始点。安装根证书意味着对这个CA认证中心的信任。
使用证书验证需要先验证该证书的真伪,这样会构成一条证书链,证书链由根证书终结
根证书是一份特殊的证书,它的签发者是它本身,下载根证书就表明您对该根证书以下所签发的证书都表示信任,
而技术上则是建立起一个验证证书信息的链条,证书的验证追溯至根证书即为结束。
所以说用户在使用自己的数字证书之前必须先下载根证书。
上一篇: 了解 SSH 私钥和公钥加密
下一篇: ssh 公钥和私钥原则
推荐阅读
-
PKI 公钥基础设施、公有私钥、信息摘要、数字签名、数字证书
-
CA、证书、公钥、私钥、加密算法 常识摘要
-
了解公钥和私钥 - 公钥加密算法又称非对称加密算法,使用不同的密码进行加密和解密,其中一个用于公钥,另一个用于私钥: 公钥和私钥成对使用 公钥称为公钥,私钥称为私钥。 用公钥加密的数据只能用相应的私钥解密 用私钥加密的数据只能用相应的公钥解密。 如果数据可以用公钥解密,则必须用相应的私钥加密。 如果数据可以用私钥解密,则必须用相应的公钥加密。 公钥和私钥是相对的,没有规定哪一个必须是公钥或私钥。 第二,实现数据的安全传输 要实现数据的安全传输,当然要对数据进行加密。 如果使用对称加密算法,加密和解密使用同一个密钥,除了自己要保存外,对方也必须知道密钥才能解密数据。如果把密钥传给对方,就有可能泄露密码。所以我们使用非对称算法,过程如下: 首先,接收方生成一对密钥,即私钥和公钥; 然后,接收方将公钥发送给发送方; 发送方用收到的公开密钥加密数据并发送给接收方; 接收方收到数据后使用自己的私钥解密。 由于在非对称算法中,用公钥加密的数据必须用相应的私钥解密,而私钥只有接收方知道,这就确保了数据传输的安全性。 第三,信息的数字签名 除了确保数据的安全传输,公钥系统的另一个用途是对数据进行签名。通常,"数字签名 "用于验证发送者的身份,帮助保护数据的完整性。 例如,发送者 A 想向所有人发送一些信息,他用自己的私人密钥对信息进行了加密,即签名。这样,每个收到数据的人都能用发送者的公开密钥验证数据,并确认数据是由 A 发送的(因为只有 A 用他的私人密钥签署了数据,所以无法验证发送者的身份)。(因为只有用 A 的私钥签名的信息才能用公钥解密)。使用数字签名可以确认两件事: 保证信息是由签名者本人签名发送的,签名者无法否认或难以否认。 保证信息从发出到收到都没有被以任何方式修改过。 之所以能确认这两点,是因为公钥的解密必然要有相应的私钥加密,而私钥只有签名者持有。 四、公钥算法的缺陷 在现实中,公钥机制也有其缺点,那就是效率很低,比常用的私钥算法(如 DES 和 AES)慢上一两个数量级都有可能。因此,它不适合对大量原始信息进行加密。为了兼顾安全性和效率,我们通常会将公钥算法和私钥算法结合起来使用: 首先,发送方使用对称算法加密原始信息。 接收方使用公钥机制生成一对密钥,一个是公钥,一个是私钥。 接收方将公钥发送给发送方。 发送方用公钥加密对称算法的密钥,然后发送给接收方。 接收方用私人密钥解密对称算法的密钥。 发送方将加密后的原始信息发送给接收方。 接收方使用对称算法的密钥解密信息。 摘要
-
一篇关于 HTTPS、证书颁发机构(CA)、证书、数字签名、私钥、公钥的文章
-
公钥和私钥、加密和解密、签名验证过程、什么是 CA 证书的说明
-
公钥、私钥、摘要、数字签名、证书
-
TLS、SSL、CA 证书、公钥、私钥。今天就来学习一下!
-
网络安全体系--PKI体系--CA向用户签发的证书实际上是用户的公钥,使用CA的私钥为其签名,这样任何人都可以使用CA的公钥验证证书的合法性,验证成功的证书将在证书中承认用户提供的公钥内容,实现用户公钥的安全分发。 用户证书的发放有两种方式。一般来说,CA 可以直接生成证书(包含公钥)和相应的私钥,并发送给用户;用户也可以自己生成公钥和私钥,然后由 CA 对公钥内容进行签名。 PKI 实体通过以下两种方式向 CA 申请本地证书:(1) 在线申请 (2) 离线申请 证书撤销