安全 - 授权与认证

作者: 撸帝 | 来源:发表于2019-03-04 11:01 被阅读8次

学习完整课程请移步 互联网 Java 全栈工程师

认证与授权是计算机安全方面的两个基础概念。认证解决你是谁的问题 (who),授权解决你能干什么的问题 (what)。计算机系统解决你是谁的问题,是依靠识别与人绑定的某种凭证来做判断的,比如通过判定预设的用户名和密码是否匹配,或者读取人持有的 IC 卡、RFID、NFC 等信息来识别人的身份,当然随着科技的发展计算机的外设已经可以识别生物特征比如指纹识别、虹膜、人脸等特征。当然,计算机系统的用户不仅仅是人,也可能是其他的机器或系统,所以有必要对各种认证的手段做一个抽象,基于声明 (claims-based) 的认证就是这样一种抽象。

一个登机的例子

解释基于声明的认证这个概念之前先介绍一个大家比较熟悉的机场登机的场景。假定你准备从上海到北京出差并且已经通过携程、艺龙或者去哪儿买了一张从上海到北京的机票。那么接下来的流程是这样:

  1. 换登机牌。到值机柜台出示必要证件,工作人员核实你的身份以及购票记录给你一张登机牌。登机牌除了显示姓名、性别、航班号等基础信息外还包括登机口、登机时间等专有信息。登机牌还包含有条码可以被机场的专有扫描设备识别。
  2. 安全检查,用登机牌以及必要证件通过安全检查进入候机大厅。
  3. 候机及登机。根据登机牌指示登记时间和登机口等候并登机。

基本概念

身份 (Identity)

标识一个用户或者一个实体。在上面的例子中,身份是坐飞机的人。

声明 (Claim)

Identity 的一系列属性比如姓名、email、角色等。在上面的例子中,声明指的是登机牌中展示的信息包括示姓名、性别、航班号等基础信息以及登机口、登机时间等专有信息。

安全令牌 (Security Token)

将 Claim 的信息通过数字签名等技术手段得到的一个载体,由发行机构(机场)颁发。在上面的例子中,安全令牌就是登机牌,里面包含条形码等不可伪造的信息可以被机场的专有设备识别。通常在计算机系统中令牌可以仅仅是一个加密的信息,通过令牌可以向发行机构请求申明信息。

发行机构 (Issuing Authroty)

签发安全令牌的受信机构,可以是 Web 应用或 Web 服务。在上面的例子中发行机构是机场,它颁发登机牌。

安全令牌服务 (Security Token Service)

提供构建安全令牌、签名、验证等服务。在上面的例子中,机场提供的值机台、安检口、登机口就是这种类型的服务。

信任方应用 (Repling Party Application)

信任发行机构,使用其颁发的安全令牌获得 Claim 的应用。在上面的例子中,这个信任方应用就是某航空公司提供的指定班次的飞行服务。

基于申明的认证模型

image

这幅图说明一个 Web 站点(信任方应用,relying party application, RP)使用基于申明的进行认证,被用户通过浏览器访问的过程。

  1. 未授权用户访问 Web 站点的页面会被重定向到身份提供者的页面。
  2. 身份提供者要求用户提供凭证,比如用户名和密码。
  3. 身份提供者颁发安全令牌返回到浏览器。
  4. 浏览器重定向到刚开始要访问的那个页面,Web 站点根据安全令牌决定是否允许访问。

相关文章

  • 安全 - 授权与认证

    学习完整课程请移步 互联网 Java 全栈工程师 认证与授权是计算机安全方面的两个基础概念。认证解决你是谁的问题 ...

  • iOS网络之认证和授权(Authorization)

    一 什么是认证和授权 认证与授权是计算机安全的两个基础概念.简单的说: 认证:解决你是谁的问题,就是系统对用户的合...

  • spring security oauth2.0学习

    认证流程 授权流程 分布式下认证 统一认证授权 统一认证配置 客户端配置,tokenserver端配置,令牌端安全...

  • 数据安全

    网络安全的演进 隔离网络:防火墙 联通网络:vpn 合规与认证:堡垒机、4A(账户、认证、授权、审计) 安全产品:...

  • 安全性测试

    安全性测试 • 认证与授权 • Session和cookie • 文件上传漏洞 • SQL 注入 • XSS 跨站...

  • 【白帽子】认证与会话管理

    1、认证与授权的区别 认证(Authentication) 授权(Authorization)认证的目的是为了认出...

  • 认证与授权 - 基于声明的认证

    认证与授权是计算机安全方面的两个基础概念。认证解决你是谁的问题 (who),授权解决你能干什么的问题 (what)...

  • kubernetes 安全控制认证与授权

    1. 概述 Kubernetes 对于访问 API 来说提供了两个步骤的安全措施:认证和授权。认证解决用户是谁的问...

  • OTP一次性动态密码工具实现

    对于企业内部信息安全或行业安全合规性需求,3A认证、授权、审计是必要的基础安全审查项。认证安全机制要求双因素认证,...

  • Section-7 JWT 在 Koa 框架中实现用户的认证与授

    Lesson-1 Session Session是什么 其实就是用户的认证与授权。认证与授权又是什么?认证,就是让...

网友评论

    本文标题:安全 - 授权与认证

    本文链接:https://www.haomeiwen.com/subject/dtmvuqtx.html