初识密码学
在进行密码学学习之前,我们要先搞懂密码学是什么,他能帮我们解决什么问题,下面我们通过一个例子来更好的帮助理解。
约会难题
假设七夕快要到了,牛郎写了一封信给织女,约定七夕鹊桥相会。呢么这次约会能不能成行,很大程度上就取决于这封信的送达能不能成功。特别是银河这么长、这么宽,王母娘娘这么神通广大,这封信就更不好送了。
通过分析这次约会的成功与否取决于下面五个问题能不能解决:
1.怎么证明双方的身份?
2.怎么能使消息不泄露?
3.怎么防止内容被篡改?
4.怎么确保信件能收到?
5.怎么防止翻脸不认账?
由上面五个问题可以引申出信息系统中的以下六个需求:
- 识别身份,确定牛郎就是牛郎
- 认证身份,验证牛郎就是牛郎
- 管理特权,只授予织女看信权利
- 信息保密,进行权限控制
- 信息完整,保证信息不被篡改
- 信息可用,保证信息获取能力
在以上六个需求里面,前三个需求,说的是授权的过程,后三个需求,说的是安全的要素。
权限管理的基本问题
身份识别表述的是身份如何表述,也就是身份的记号。
身份认证其实就是识别和验证身份的过程。
授权是指定对资源的访问权限,也就是权利。
将前三个需求放在一起便是权限管理的基本问题: 该怎么识别身份,验证身份,以及一个身份拥有什么权利。
信息安全的基本问题
信息保密,也就是数据的“机密性”(Confidentiality),指的是数据未经授权,不得访问。授权的对象既包括个人、实体,也包括处理过程。
信息完整,也就是信息的“完整性”(Integrity),指的是数据未经授权,不得更改。信息的完整性,也意味着信息的准确性,信息不能残缺不全,或者来源不明、去向不明。
信息可用,也就是所谓的“可用性”(Availability),指的是数据经过授权,可以访问。也就是说, 需要的时候,经过授权,可以获取信息,能够获取信息。
将后三个需求放在一起,就是信息安全的基本问题:信息能够完整地、秘密地传递出去和接收进来。
如何解决约会难题
密码学的三基石
密码学最基础的分支有三个,第一个是单向散列函数,第二个是对称密码技术,第三个是非对称密码技术。这三项基础技术的组合运用,诞生出了丰富的安全协议和体系,比如说数字证书、安全传输、区块链、数字货币等。
如果粗陋地来看,对称密码技术可以通过加密、解密,解决“机密性”的问题;单向散列函数,可以解决“完整性”问题;非对称密码技术可以解决授权和认证的问题;通过我们对这三项基础技术的综合运用,就可以提高系统的“可用性”。
----本文总结自Geek Time密码学相关专栏。