服务器公钥是一长串由数字和字母组成的、公开的加密密钥,它是非对称加密技术中的一半,与一个严格保密的私钥成对出现。
它的核心作用是:验证服务器身份并建立安全通信通道。
想象一个带透明投递口的信箱:
公钥就像这个透明的投递口,任何人都可以看到它,并且任何人都能通过它把信件(加密数据)投进去。
私钥就像只有信箱主人拥有的钥匙,只有用这把钥匙才能打开信箱,取出里面的信件(解密数据)。
关键点: 任何人都能用投递口投信,但只有主人能取信,同样,任何人都能用公钥加密数据,但只有持有私钥的服务器才能解密它。
服务器公钥最常见的应用场景有两个:
1. HTTPS 网站安全(SSL/TLS 证书)
当您在浏览器地址栏里看到一个小锁图标,并显示“连接是安全的”时,您就在使用服务器公钥。
这个过程大致如下:
1、客户端问候:您的浏览器访问一个网站(例如https://www.example.com
)。
2、服务器发送证书:网站服务器将它的SSL/TLS 证书发送给您的浏览器,这个证书里就包含了服务器的公钥,以及网站的身份信息(域名等)。
3、验证证书:您的浏览器会检查这个证书是否由它信任的证书颁发机构(CA) 签发,以确认这个公钥确实是example.com
的,而不是黑客伪造的。
4、生成会话密钥:验证通过后,浏览器会生成一个临时的对称加密密钥(称为会话密钥)。
5、用公钥加密:浏览器用服务器的公钥加密这个会话密钥,然后发送给服务器。
6、用私钥解密:只有拥有对应私钥的example.com
服务器才能解密这个信息,得到会话密钥。
7、安全通信:从此,浏览器和服务器就使用这个高效的会话密钥来加密和解密所有传输的数据。
在这里,服务器公钥的作用是:
身份验证证明“我就是example.com
这个网站”。
安全密钥交换安全地将后续通信要用的会话密钥传递给服务器。
系统管理员通过 SSH 协议远程登录到服务器时,也会用到服务器公钥。
这个过程大致如下:
1、首次连接:当您第一次用 SSH 连接一台服务器时,您的客户端会收到该服务器的公钥。
2、确认指纹:客户端会显示一个“公钥指纹”(一串简短的字符),并问您是否信任这个服务器,您需要确认这个指纹与您所知的服务器指纹一致。
3、存储公钥:确认后,客户机会将这个服务器的公钥保存在一个名为known_hosts
的文件里。
4、后续连接:以后每次连接,客户机都会用存储的公钥来验证服务器的身份,如果服务器的公钥突然变了,客户端就会发出严重警告,提示您可能正在连接到一个假冒的服务器(中间人攻击)。
在这里,服务器公钥的作用是:
主机身份验证确保您连接的是您想连接的那台服务器,而不是一个冒名顶替者。
特性 | 描述 |
本质 | 一个公开的、用于加密和验证身份的字符串。 |
配对 | 总是与一个严格保密的私钥成对出现。 |
核心功能 | 1.加密:用来加密只有对应私钥才能解密的信息。 2.验证:用来验证服务器的真实身份。 |
常见应用 | HTTPS 网站安全、SSH 远程登录、API 安全通信等。 |
关键原则 | 公钥可以公开给任何人,但私钥必须绝对保密在服务器上。 |
服务器公钥就是服务器的“公开身份证”和“公开的加密锁”,它让客户端能够安全地确认“我是谁”,并安全地开启一段加密对话。
文章摘自:https://idc.huochengrm.cn/js/16880.html
评论