笔试&&面试经验移动开发精华经典面试题

经典面试题21 - HTTPS 和 SSL证书原理

2017-08-18  本文已影响435人  豆志昂扬

问题

阐述HTTPS和SSL证书的原理。

解答

HTTPS (Hyper Text Transfer Protocol Secure) 对比HTTP而言,数据传输更安全,通常用来传输私密性的数据,如在线交易/订单处理/银行数据等,不过随着安全意识的普及,非传统安全领域的网站也在转向HTTPS。如苹果要求App Store内的应用都要支持HTTPS。

HTTPS 通过安全协议如SSL/TLS 来保证数据传输, SSL和TLS都是基于非对称加密算法,而RSA算法是非对称加密算法中的佼佼者。

RSA的公钥和私钥是互相对应的。RSA会生成两个密钥,持有者可以把任何一个用于公钥,另一个就是私钥。顾名思义,私钥会被严密保管,除了拥有者以外禁止其他角色接触,如在一个网站/远程服务商内,私钥妥善存储在服务器端。任何被公钥加密的东西只能被私钥解密,�反过来任何被私钥加密的东西也只能被公钥解密

私钥和密钥叠加使用,从而达到双方之间秘密通信,最终实现身份验证和秘密通信

假设用私钥加密,来传递数据,因为可能有多个公钥持有者,从而失去对信息保护的目的,这是不允许的。

另外通过签名还可以校验数据完整性,发送者把传输信息的原文做一次哈希,然后用私钥加密哈希作为签名,并一起发布出去。当公钥持有者接收数据后,可以利用持有的公钥解密签名,如果解密成功,并且解密出来的哈希值确实和数据原文一致,那么就证明了数据内容的完整性。

SSL 证书
在实现HTTPS过程中,SSL证书的作用是不可或缺的。

具体的看看SSL证书工作的过程:


当用户在使用HTTPS的网页时,网站会在开始时发送SSL证书到浏览器,证书内包含建立安全连接的公钥,浏览器和网站以此为基础开始"SSL 握手", 握手的过程中产生共用的密钥,这样安全连接在用户和网站之间就建立起来了。

当建立HTTPS使用可信任的证书时,浏览器会在地址栏显示挂锁标志, 地址栏会变为绿色如果网站安装了Extended Validation Certificate, 用户看到这个颜色会感到"绿坝"在保护着他。

SSL证书通常由权威的证书组织签发,浏览器,操作系统和移动设备里会维护一组受信任的CA根证书, 如果被访问网站返回的证书不被信任,浏览器将会显示不予信任的警告信息,而带来用户流失,�因为用户缺少安全感。

更多

经典面试100题 - 持续更新中
获取更多内容请关注微信公众号豆志昂扬:

上一篇下一篇

猜你喜欢

热点阅读