SSL虚拟私有网络技术让用户能够在企业外部,随时、随地访问企业内部资源,其是通过TLS/DTLS协议协商建立:远端用户与服务器之间的加密通信隧道。
远端用户与服务器之间的数据包,使用对称加密算法,例如AES、DES等。数据包四层以下为明文,以上为密文。对称加密算法需要加、解密双方,即远端用户、服务器拥有相同的密钥。该密钥是由远端用户产生的随机数衍生得出。那么远端用户产生的随机数是怎么安全的发送给服务器的呢?答案是使用非对称加密算法,例如RSA。远端用户利用服务器的公钥加密该随机数,加密后发送给服务器。服务器收到加密的随机数后,用私钥解密,得到随机数,并衍生出对称加密算法所使用的密钥。至此,远端用户与服务器之间的加密通信隧道就建立了。
下面是远端用户获取服务器的公钥的过程。服务器将自身的身份证书(identity certificate)发送给远端用户,身份证书中带有服务器使用的RSA密钥对的公钥。常见的证书文件后缀为.pem、.crt,其都能通过写字板打开,打开后可以看到Base64格式的证书,并且.pem和.crt文件打开以后看到的内容是完全相同的。以下两图是用写字板分别打开.pem和.crt文件后所看到的内容。
ASA支持两种方式导入证书,即Base64和pkcs12。如果使用Base64的方式导入证书,那么ASA必须有该Base64格式证书中的公钥所对应的私钥,反之如果ASA没有该私钥,即会报错,如下图示。
.pksc12文件可以理解为证书与私钥的集合。由于私钥的敏感性,其默认是用口令来保护的。因此,在导入.pkcs12文件时,需要输入对应的口令。如下图示。