HTTPS(Secure Hypertext Transfer Protocol)安全超文本传输协议 .
它是由 Netscape开发并内置于其浏览器中,用于对数据进行压缩和解压操作,并返回网络上传送回的结果。HTTPS实际上应用了Netscape的完全套接字层(SSL)作为HTTP应用层的子层。(HTTPS使用端口443,而不是象HTTP那样使用端口80来和TCP/IP进行通信。)SSL使用40 位关键字作为RC4流加密算法,这对于商业信息的加密是合适的。HTTPS和SSL支持使用X.509数字认证,如果需要的话用户可以确认发送者是谁。。
https是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,https的安全基础是SSL,因此加密的详细内容请看SSL。
它是一个URI scheme(抽象标识符体系),句法类同http:体系。用于安全的HTTP数据传输。https:URL表明它使用了HTTP,但HTTPS存在不同于HTTP的默认端口及一个加密/身份验证层(在HTTP与TCP之间)。这个系统的最初研发由网景公司进行,提供了身份验证与加密通讯方法,现在它被广泛用于万维网上安全敏感的通讯,例如交易支付方面。
限制
它的安全保护依赖浏览器的正确实现以及服务器软件、实际加密算法的支持.
一种常见的误解是“银行用户在线使用https:就能充分彻底保障他们的银行卡号不被偷窃。”实际上,与服务器的加密连接中能保护银行卡号的部分,只有用户到服务器之间的连接及服务器自身。并不能绝对确保服务器自己是安全的,这点甚至已被攻击者利用,常见例子是模仿银行域名的钓鱼攻击。少数罕见攻击在网站传输客户数据时发生,攻击者尝试窃听数据于传输中。
商业网站被人们期望迅速尽早引入新的特殊处理程序到金融网关,仅保留传输码(transaction number)。不过他们常常存储银行卡号在同一个数据库里。那些数据库和服务器少数情况有可能被未授权用户攻击和损害。
TLS 1.1之前
这段仅针对TLS 1.1之前的状况。因为SSL位于http的下一层,并不能理解更高层协议,通常SSL服务器仅能颁证给特定的IP/端口组合。这是指它经常不能在虚拟主机(基于域名)上与HTTP正常组合成HTTPS。
这一点已被更新在即将来临的TLS 1.1中—会完全支持基于域名的虚拟主机。
安装证书服务
要想使用SSL安全机制功能,首先必须为Windows Server 2003系统安装证书服务。
进入“控制面板”,运行“添加或删除程序”,接着进入“Windows组件向导”对话框,勾选“证书服务”选项,点击“下一步”按钮,接着选择CA类型。这里选择“独立根CA”,点击“下一步”按钮,为自己的CA服务器取个名字,设置证书的有效期限,最后指定证书数据库和证书数据库日志的位置,就可完成证书服务的安装。
配置SSL网站
1.创建请求证书文件
完成了证书服务的安装后,就可以为要使用SSL安全机制的网站创建请求证书文件。点击“控制面板→管理工具”,运行“Internet 信息服务-IIS 管理器”,在管理器窗口中展开“网站”目录,右键点击要使用SSL的网站,选择“属性”选项,在网站属性对话框中切换到“目录安全性”标签页(图1),然后点击“服务器证书”按钮。在“IIS证书向导”对话框中选择“新建证书”,点击“下一步”按钮,选择“现在准备证书请求,但稍后发送”。在“名称”输入框中为该证书取名,然后在“位长”下拉列表中选择密钥的位长。接着设置证书的单位、部门、站点公用名称和地理信息,最后指定请求证书文件的保存位置。这样就完成了请求证书文件的创建。
2.申请服务器证书
完成上述设置后,还要把创建的请求证书文件提交给证书服务器。在服务器端的IE浏览器地址栏中输入“http://localhost/CertSrv/default.asp”。在“Microsoft 证书服务”欢迎窗口中点击“申请一个证书”链接,接下来在证书申请类型中点击“高级证书申请”链接,然后在高级证书申请窗口中点击“使用BASE64编码的CMC或PKCS#10....”链接,再打开刚刚生成的“certreq.txt”文件,将其中的内容复制到“保存的申请”输入框后点击“提交”按钮即可。
3.颁发服务器证书
点击“控制面板→管理工具”,运行“证书颁发机构”。在主窗口中展开树状目录,点击“挂起的申请”项(图2),找到刚才申请的证书,然后右键点击该项,选择“所有任务→颁发”。颁发成功后,点击树状目录中的“颁发的证书”项,双击刚才颁发的证书,在弹出的“证书”对话框的“详细信息”标签页中,点击“复制到文件”按钮,弹出证书导出向导,连续点击“下一步”按钮,并在“要导出的文件”对话框中指定文件名,最后点击“完成”。
4.安装服务器证书
重新进入IIS管理器的“目录安全性”标签页,点击“服务器证书”按钮,弹出“挂起的证书请求”对话框,选择“处理挂起的请求并安装证书”选项,点击“下一步”按钮,指定刚才导出的服务器证书文件的位置,接着设置SSL端口,使用默认的“443”即可,最后点击“完成”按钮。
在“目录安全性”标签页,点击安全通信栏的“编辑”按钮,勾选“要求安全通道(SSL)”选项,最后点击“确定”按钮即可启用SSL。
为 Web 服务器配置 SSL
要在 IIS 中启用 SSL,首先必须获得用于加密和解密通过网络传输的信息的证书。IIS 具有自己的证书请求工具,您可以使用此工具向证书颁发机构发送证书请求。此工具简化了获取证书的过程。如果您使用的是 Apache,则必须手动获取证书。
在 IIS 和 Apache 中,您都会收到来自证书颁发机构的证书文件,此文件必须配置在计算机上。Apache 使用 SSLCACertificateFile 指令读取其源文件中的证书。而在 IIS 中,您可以使用网站或文件夹属性的目录安全性选项卡来配置和管理证书。
您可以将证书从 Apache 迁移到 IIS;但是 Microsoft 建议您重新创建或获取一个新的 IIS 证书。
此过程假定您的站点已经具备了证书。
1. 以管理员身份登录到 Web 服务器计算机。
2. 单击开始,指向设置,然后单击控制面板。
3. 双击管理工具,然后双击 Internet 服务管理器。
4. 从左窗格中的不同服务站点的列表中选择网站。
5. 右键单击希望为其配置 SSL 通信的网站、文件夹或文件,然后单击属性。
6. 单击目录安全性选项卡。
7. 单击编辑。
8. 如果希望网站、文件夹或文件要求 SSL 通信,请单击需要安全通道 (SSL)。
9. 单击需要 128 位加密以配置 128 位(而不是 40 位)加密支持。
10. 要允许用户不必提供证书就可以连接,请单击忽略客户证书。
或者,如果要让用户提供证书,请使用接受客户证书。
11. 要配置客户端映射,请单击启用客户证书映射,然后单击编辑将客户证书映射到用户。
如果配置了此功能,可以将客户证书分别映射到 Active Directory 中的每个用户。可以使用此功能以根据用户访问网站时提供的证书自动识别用户。可以将用户一对一映射到证书(一个证书标识一个用户),或者将许多证书映射到一个用户(根据特定的规则,对照证书列表来匹配特定的用户。第一个有效的匹配项成为映射。)
12. 单击确定。