《深入浅出HTTPS》读书笔记(4):密码学

解决HTTP安全的方法就是采用HTTPS,理解HTTPS之前必须掌握基本的密码学知识,HTTPS本质上就是对密码学算法的组合。

【密码学的四个目标】

1)机密性(隐私性)

在网络中传递的数据如果具备机密性,那么传输的数据就是一串无意义的数字,只有拥有密钥的才能解释这些数据,密钥是加密算法的关键。

对称加密算法和公开密钥算法都能够保证机密性。

2)完整性

完整性表示接收方能够确保接收到的数据就是发送方发送的原始数据,假设数据被中间人篡改,接收方如果有策略知晓数据被篡改了,那么传递的数据就具备完整性。

在密码学中,主要使用消息验证码(MAC)算法保证完整性。

3)身份验证

互联网应用一般都有发送方和接收方,对于接收方来说,必须确认发送方的身份,才能确保收到的数据就是真实发送方发送的。

在密码学中,一般使用数字签名技术确认身份

4)不可抵赖性

数字签名技术能够避免抵赖。

【 OpenSSL】

OpenSSL项目,包括了底层密码库和命令行工具,大部分Linux发行版都预装了OpenSSL库。

相关推荐
掘金酱1 小时前
【10.24 特别活动】AI 时代,程序员的新饭碗在哪里?
前端·人工智能·后端
excel1 小时前
多进程环境下使用 PM2 部署 Socket.IO:需要注意什么
前端
NetX行者1 小时前
四语言 Hello World 背后:编译模型与运行时对比
开发语言
IT_陈寒1 小时前
Redis的原子性竟然失效了?记一次分布式锁翻车实录
前端·人工智能·后端
Pin_Qing2 小时前
账单没超,请求先被拒了
大数据·开发语言·人工智能
2601_962885722 小时前
如何用 Python 计算 VaR 和 CVaR(在险价值)?
开发语言·python
2501_915921432 小时前
iOS应用耗电测试:使用Energy Log、Keymob和Instruments进行性能监控与能源消耗分析
android·ios·小程序·https·uni-app·iphone·webview
郝亚军2 小时前
manifest 中 `sha256` 与 `signValue` 的作用
java·开发语言·数据结构
譕痕2 小时前
stripe 实例
java·开发语言·stripe·checksession
墨子夕3 小时前
设计模式——Java × Python 双语言精讲 · 23 个经典模式 + 现代演进(前言篇)
java·开发语言·设计模式