28
SSL 与 HTTPS 与与与与与 - 与与与与与 与与与

Ssl

Embed Size (px)

Citation preview

Page 1: Ssl

SSL 与 HTTPS

支撑软件部 - 计费结算组 于建波

Page 2: Ssl

第一章

SSL

Page 3: Ssl

SSL 定义

安全套接层( Secure Sockets Layer , SSL )是网景公司( Netscape )在推出 Web浏览器首版的同时,提出的协议。 SSL 协议集成了非对称加密、对称加密、数字签名以及信息校验等多项技术,能出色地完成三个保障信息安全的基本任务。

防冒充 防破解 防篡改

Page 4: Ssl

TLS定义

IETF ( www.ietf.org )将 SSL 作了标准化,即 RFC2246 ,并将其称为TLS ( Transport Layer Security )。从技术上讲, TLS1.0 与 SSL3.0 的差异非常微小。

Page 5: Ssl

OSI 参考模型总揽

Page 6: Ssl

SSL 协议所处的位置

Page 7: Ssl

SSL 协议的通讯过程 第一阶段,客户端向服务器发出 SSL 连接请求,并附上一段随机产生的信息,服务器

端在通讯之前会向证书颁发组织申请并获得自己的公钥、私钥以及证书。

第二阶段,服务器收到客户端的连接请求后,把收到的随机信息用私钥加密,然后连同公钥和身份信息发回给客户端。

第三阶段,客户端收到服务器端的回应后,将先用从服务器端发来的公钥解密信息,还原后与自己之前产生的随机信息比较异同,从而验证服务器端的身份。在 服务器端身份得到验证后,客户端将产生一个对称密钥,用于加密真正的传输信息,并将该对称密钥用公钥加密后发给服务器端。

第四阶段,服务器端得到信息后,用自己私钥解密并获得该对称密钥,之后客户端和服务器之间就可以用这个对称密钥进行加密通讯了。

在整个通讯过程中,服务器端只要保护好私钥不被泄漏就可以保证自己的身份不会被冒充,对称密钥也不会被破解,从而保证了加密信息不会被破解,再加上校验信息也采用公钥和私钥加密机制,因此信息篡改也不可能发生,保证了传输的安全性。

Page 8: Ssl

SSL 协议的通讯过程

Page 9: Ssl

SSL 协议使用到的技术 - 非对称加密(公钥密码体系) 该加密算法使用两个不同的金钥,各名为

加密金钥和解密金钥。前者公开,又称公开金钥,简称公钥。后者保密,又称私有金钥,简称私钥 。

常见 RSA 算法

Page 10: Ssl

SSL 协议使用到的技术 - 对称加密(私钥密码体系 ) 在对称加密算法中,数据发信方将明文(原始数据)和加密密钥一起

经过特殊加密算法处理后,使其变成复杂的加密密文发送出去。收信方收到密文后,若想解读原文,则需要使用加密用过的密钥及相同算法的逆算法对密文进行解密,才能使其恢复成可读明文。在对称加密算法中,使用的密钥只有一个,发收信双方都使用这个 密钥对数据进行加密和解密,这就要求解密方事先必须知道加密密钥。对称加密算法的特点是算法公开、计算量小、加密速度快、加密效率高。不足之处是,交易双 方都使用同样钥匙,安全性得不到保证。此外,每对用户每次使用对称加密算法时,都需要使用其他人不知道的惟一钥匙,这会使得发收信双方所拥有的钥匙数量成 几何级数增长,密钥管理成为用户的负担。

常见 AES 算法

Page 11: Ssl

SSL 协议客户端支持情况 -IE7

Page 12: Ssl

SSL 协议客户端支持情况 -FireFox

Page 13: Ssl

第二章

HTTPS

Page 14: Ssl

HTTPS 超文本传输协议安全(缩写 HTTPS ,英语: Hypertext Transfer Protocol Secure )是超文本传输协议和 SSL/TLS的组合,用以提供加密通讯及对网络服务器身份的鉴定。 HTTPS 连接经常被用于万维网上的交易支付和企业信息系统中敏感信息的传输。

HTTPS 的主要思想是在不安全的网络上创建一安全信道,并可在使用适当的加密套件和服务器证书可被验证且可被信任时,对窃听和中间人攻击提供合理的保护。

HTTPS 的信任继承基于预先安装在浏览器中的证书颁发机构(如 VeriSign 、 Microsoft 等)(意即“我信任证书颁发机构告诉我应该信任的”)。因此,一个到某网站的 HTTPS 连接可被信任,当且仅当:

用户相信他们的浏览器正确实现了 HTTPS且安装了正确的证书颁发机构; 用户相信证书颁发机构仅信任合法的网站;

被访问的网站提供了一个有效的证书,意即,它是由一个被信任的证书颁发机构签发的(大部分浏览器会对无效的证书发出警告);

该证书正确地验证了被访问的网站(如,访问 https://example 时收到了给“ Example Inc.” 而不是其它组织的证书)

或者互联网上相关的节点是值得信任的,或者用户相信本协议的加密层( TLS或 SSL )不能被窃听者破坏。

Page 15: Ssl

HTTPS 与 SSL关系超文本传输协议安全(缩写 HTTPS ,英语:

Hypertext Transfer Protocol Secure )是超文本传输协议和 SSL/TLS 的组合

Page 16: Ssl

HTTPS- 客户端浏览器实现当连接到一提供无效证书的网站时,较旧

的浏览器会使用一对话框询问用户是否继续,而较新的浏览器会在整个窗口中显示警告;大部分浏览器在网站含有由加密和未加密内容组成的混合内容时,会发出警告。

Page 17: Ssl

HTTPS-Firefox

Page 18: Ssl

HTTPS (客户端浏览器实现)大部分浏览器会对无效证书发出警告,图示 Firefox3 / IE7

Page 19: Ssl

第三章

电子证书

Page 20: Ssl

电子证书 数字证书颁发过程一般为:用户首先产生自己的密钥对

(非对称加密算法),并将公共密钥及部分个人身份信息传送给认证中心。认证中心在核实身份后,将执行一些必要的步骤,以确信请求确实由用户发送而来,然后,认证中心将发给用户一个数字证书,该证书内包含用户的个人信息和他的公钥信息,同时还附有认证中心的签名信息。用户就可以使用自己的数字证书进行相关的各种活动。数字证书由独立的证书发行机构发布。数字证书各不相同,每种证书可提供不同级别的可信度。可以从证书发行机构获得您自己的数字证书 。

Page 21: Ssl

电子证书如何查看客户端浏览器( IE7 )

Page 22: Ssl

电子证书如何查看客户端浏览器( FireFox )

Page 23: Ssl

第四章

JAVA

Page 24: Ssl

J2SE (标准版)安全机制 Java Authentication and Authorization Service (JAAS)

Java Generic Security Services (Java GSS-API)

Java Secure Sockets Extension (JSSE)

Simple Authentication and Security Layer (SASL)

Java SE also provides a set of tools for managing keystores, certificates, and policy files; generating and verifying JAR signatures; and obtaining, listing, and managing Kerberos tickets

Page 25: Ssl

J2EE (企业版)安全机制 Application-Layer Security

Transport-Layer Security

Message-Layer Security

Page 26: Ssl

例子 -SRTBOSS 项目 SSL 的实现 生成电子证书(自认证)

http://download.oracle.com/javaee/6/tutorial/doc/bnbxw.html#bnbyc

TOMCAT-WEB容器的配置 http://tomcat.apache.org/tomcat-5.5-doc/s

sl-howto.html

Page 27: Ssl

资源 http://www.startssl.com/ 可免费使用一年

的证书

谢谢 全文完

Page 28: Ssl