常见身份、数据安全协议总结

今天早上把之前了解到的一些常见加密方法给简单总结了一下,今天晚上抽一点时间再来总结一些常见的身份、数据安全协议总结吧。

  1. HTTPS协议
  1. OAuth2 协议
  2. SSH 协议

1.HTTPS协议

简单理解,HTTPS协议就是由HTTP over SSL,即HTTP协议的上层还有一个SSL(Security Socket Layer)协议层,最后两者组合形成HTTPS层。

** 注:TLS是SSL在3.0版本之后的名字,TLS针对SSL的许多缺点进行了改进**

SSL/TLS实现的基本过程:

  1. 客户端向服务器索要并验证公钥。
  2. 双方协商生成"对话密钥"。
  3. 双方采用"对话密钥"进行加密通信。

其中1,2过程称之为握手阶段,3过程称之为正式加密通信阶段

首先来了解一下握手阶段在客户端和服务器之间到底发生了哪些事情:

  1. 客户端发起加密通信的请求,这被叫做ClientHello请求。客户端提供以下信息:

  2. 支持的协议版本,比如TLS 1.0版。

  3. 一个客户端生成的随机数,稍后用于生成"对话密钥"。

  4. 支持的加密方法,比如RSA公钥加密。

  5. 支持的压缩方法。

  6. 服务器收到客户端请求后,向客户端发出回应,这叫做SeverHello。服务器的回应包含以下内容:

  7. 确认使用的加密通信协议版本,比如TLS 1.0版本。如果浏览器与服务器支持的版本不一致,服务器关闭加密通信。

  8. 一个服务器生成的随机数,稍后用于生成"对话密钥"。

  9. 确认使用的加密方法,比如RSA公钥加密。

  10. 服务器证书。

  11. 客户端收到服务器回应以后,首先验证服务器证书。如果证书不是可信机构颁布、或者证书中的域名与实际域名不一致、或者证书已经过期,就会向访问者显示一个警告,由其选择是否还要继续通信。如果证书没有问题,客户端就会从证书中取出服务器的公钥。然后,向服务器发送下面三项信息:

  12. 一个随机数。该随机数用服务器公钥加密,防止被窃听。

  13. 编码改变通知,表示随后的信息都将用双方商定的加密方法和密钥发送。

  14. 客户端握手结束通知,表示客户端的握手阶段已经结束。这一项同时也是前面发送的所有内容的hash值,用来供服务器校验。

  15. 服务器收到客户端的第三个随机数pre-master key之后,计算生成本次会话所用的"会话密钥"。然后,向客户端最后发送下面信息:

  16. 编码改变通知,表示随后的信息都将用双方商定的加密方法和密钥发送。

  17. 服务器握手结束通知,表示服务器的握手阶段已经结束。这一项同时也是前面发送的所有内容的hash值,用来供客户端校验。

2. OAuth2协议

什么是OAuth2协议?
An open protocol to allow secure authorization in a simple and standard method from web, mobile and desktop applications.

一句话,OAuth2协议是一个安全验证协议,不仅应用在Web端,也可以在移动端、桌面应用等。

OAuth2模型:了解在OAuth2中涉及到的几个角色:

  1. Third-party application:第三方应用程序,又称"客户端"(client)。
  2. HTTP service:HTTP服务提供商。
  3. Resource Owner:资源所有者,又称"用户"(user)。
  4. User Agent:用户代理,常指浏览器
  5. Authorization server:认证服务器,即服务提供商专门用来处理认证的服务器。
  6. Resource server:资源服务器,即服务提供商存放用户生成的资源的服务器。它与认证服务器,可以是同一台服务器,也可以是不同的服务器。

点击查看OAuth2应用的一个具体场景

OAuth2实现的一个大致过程如下图:

OAuth2大致实现过程

上边这幅图总结一下其实就四个步骤:

  1. 获取用户授权(比如通过Web UI)
  2. 向服务器提交用户授权
  3. 获取授权许可之后的令牌(token)
  4. 利用令牌来访问受保护的资源

OAuth2实现的具体过程:

OAuth2具体实现过程

上边这幅图其实是对上边第2、3步的一个细化。首先客户(即User-Agent)与服务器交互,确定向该第三方系统(即图中的Client)授权,然后服务器会返回一个Authorization Code授权码,然后第三方系统(即图中的Client)再利用这个授权码去获取到一个Access Token访问令牌。最后第三方系统拿着这个令牌去访问系统上的一些资源。

点击查看一个具体的应用例子

另外,在这个过程中还有一个比较有意思的点:为什么先需要一个Authorization Code再去获取一个Access Token,为什么不直接获取到一个Access Token,这样多省事高效。其实这与客户端(即User-Agent的安全性有关),具体是怎么回事,点击这里查看

3. SSH协议

SSH(Secure Shell)是一个提供数据通信安全、远程登录、远程指令执行等功能的安全网络协议,由芬兰赫尔辛基大学研究员Tatu Ylönen,于1995年提出,其目的是用于替代非安全的Telnet、rsh、rexec等远程Shell协议。之后SSH发展了两个大版本SSH-1和SSH-2。

SSH的主要特性:

  1. 加密:避免数据内容泄漏
    通信的完整性:避免数据被篡改,以及发送或接受地址伪装
    (检查数据是否被篡改,数据是否来自发送者而非攻击者) SSH-2通过MD5和SHA-1实现该功能,SSH-1使用CRC-32
  2. 认证:识别数据发送者和接收者身份 客户端验证SSH服务端的身份:防止攻击者仿冒SSH服务端身份,避免中介人攻击和重定向请求的攻击;OpenSSH通过在know-hosts中存储主机名和host key对服务端身份进行认证 服务端验证请求者身份:提供安全性较弱的用户密码方式,和安全性更强的per-user public-key signatures;此外SSH还支持与第三方安全服务系统的集成,如Kerberos等
  3. 授权:用户访问控制
  4. Forwarding or tunneling to encrypt other TCP/IP-based sessions 可以通过SSH为Telnet、FTP等提供通信安全保障,支持三种类型的Forwarding操作:Port Forwarding;X Forwarding;Agent Forwarding

点击这里查看SSH的实现过程

参考文章:

  1. 也许,这样理解HTTPS更容易
  2. SSL/TLS协议运行机制的概述
  3. 图解SSL/TLS协议
  4. OAuth2.0认证和授权机制讲解
  5. 理解OAuth 2.0
  6. SSH原理简介
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,904评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,581评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,527评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,463评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,546评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,572评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,582评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,330评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,776评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,087评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,257评论 1 344
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,923评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,571评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,192评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,436评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,145评论 2 366
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,127评论 2 352

推荐阅读更多精彩内容