SSL与TLS之https凭证系统秘辛

概论[编辑]

TLS协定采用主从式架构模型,用于在两个应用程式间透过网络建立起安全的连线,防止在交换资料时受到窃听及篡改。

TLS协定的优势是与高层的应用层协定(如HTTPFTPTelnet等)无耦合。应用层协定能透明地执行在TLS协定之上,由TLS协定进行建立加密通道需要的协商和认证。应用层协定传送的资料在通过TLS协定时都会被加密,从而保证通讯的私密性。

TLS协定是可选的,必须组态客户端和服务器才能使用。主要有两种方式实现这一目标:一个是使用统一的TLS协定通讯埠(例如:用于HTTPS的埠443);另一个是客户端请求服务器连接到TLS时使用特定的协定机制(例如:邮件、新闻协定和STARTTLS)。一旦客户端和服务器都同意使用TLS协定,他们通过使用一个交握过程协商出一个有状态的连接以传输资料[1]。通过交握,客户端和服务器协商各种参数用于建立安全连接:

  • 当客户端连接到支援TLS协定的服务器要求建立安全连接并列出了受支援的密码组合(加密密码算法和加密杂凑函式),交握开始。
  • 服务器从该列表中决定加密和杂凑函式,并通知客户端。
  • 服务器发回其数码凭证,此凭证通常包含服务器的名称、受信任的凭证颁发机构(CA)和服务器的公钥。
  • 客户端确认其颁发的凭证的有效性。
  • 为了生成对谈金钥用于安全连接,客户端使用服务器的公钥加密随机生成的金钥,并将其传送到服务器,只有服务器才能使用自己的私钥解密。
  • 利用乱数,双方生成用于加密和解密的对称金钥。这就是TLS协定的交握,交握完毕后的连接是安全的,直到连接(被)关闭。如果上述任何一个步骤失败,TLS交握过程就会失败,并且断开所有的连接。