本篇是关于HTTP Security的介绍和用途.

攻略模板

  • 总结归纳常见加密方法和使用

学习后总结

一般我们是通过TLS或者SSL来进行加密连接。

最简单的方式为:

1
2
3
4
A端 Secret Key Secret Key B端
"String" =============> "dfafdalf4311" ==============> "String"
加密 Encrypt 解密 Decrypt

弊端:Secret Key can be stolen. 因为密钥是public的,任何人拥有key都可以解密知晓内容,安全性得不到保证。

因此,出现以下方法:

1
2
3
4
B端
/ \
/ \
public key private key
1
2
3
4
A端 B's public key B's private key B端
"String" =============> "dfafdalf4311" ===============> "String"
加密 Encrypt 解密 Decrypt

好处:所有人都可以拥有public key来进行加密,但是只有拥有private key的人才可以解密,从而达到安全目的。

所谓的 数字签名
引用上面的例子

1
2
3
4
B端 B's private key B's public key A端
"String" ===============> "dfafdalf4311" ===================> "String"
Sign and Encrypt Verify and Decrypt

使用B的private key 给自己的信息加密贴上标签,只要是拥有B的public key的人都可以使用公开的public key来试一下解密,如果可以解开则表明这条信息一定是来自于B端发出,以此达到数字签名的目的。