IAM中的基本概念

360 阅读4分钟

登录、认证、授权

登录 [logging in (or logging on, signing in, or signing on]在计算机安全中,登录是个人通过识别和验证自己来访问计算机系统的过程。 用户凭据通常是某种形式的用户名和匹配的密码,这些凭据本身有时也称为登录。实际上,现代安全系统通常需要第二个因素,例如电子邮件或短信 确认额外的安全性。

单点登录 (SSO) 是一种会话和用户身份验证服务。允许用户使用一组登录凭据(例如,用户名和密码)来访问多个应用程序。企业、中小型组织和个人可以使用 SSO 来简化对多个凭据的管理。一般涉及的标准协议类型有 CAS、OAuth、OpenID Connect、SAML。

image.png

从用户视角,**登录**是使用应用程序之前的一个步骤,填写我的帐户、密码并单击登录。

作为开发者,这意味着最终用户说他或它需要登录,而服务器需要验证他的帐户和密码,并给予请求者表明自我身份的**令牌**

认证 Authentication是确定某人或某物是否确实如其所说的那样的过程。身份认证技术通过检查用户的凭据是否与授权用户数据库或数据身份验证服务器中的凭据相匹配,为系统提供访问控制。为此,身份认证可确保安全系统、安全流程和企业信息安全。 认证信息往往需要频繁在客户端和服务端间传递使用,一般常用的途径有以下几种方式:

image.png

Session[会话]

image.png

    会话用于临时将信息存储在服务器上,以便跨网站的多个页面使用。 
    为了消除限制,用户信息不会从一个网页传输到另一个网页,因为使用了无状态 HTTP 协议和会话。
    每当访问者首次进入网站时,会话就会开始。 
    会话值非常安全,因为它们以二进制形式或加密形式存储,并且只能在服务器上解密。
    当用户关闭系统或从应用程序注销时,会话值将自动删除。
    每个会话对于每个用户都是唯一的,一个应用程序可以使用无限数量的会话。
    在 sessionID 的帮助下识别用户,sessionID 是保存在服务器内的唯一编号。它保存为 cookie、表单域或 URL。

Cookie

    Cookie 是存储在用户计算机上的一个小文本文件[最大文件大小为 4KB]。
    每当用户首次访问网站时,该网站都会以 cookie 的形式向用户的计算机发送数据包。 
    Cookie 帮助网站在用户访问其网站时跟踪用户的浏览历史或购物车信息。 
    它仅存储“字符串”数据类型。 
    存储在 cookie 中的信息是不安全的,因为此信息以文本格式存储在客户端,任何人都可以读取。
    用户需要可以要求启用或禁用 cookie。
    用户生成的 cookie 仅向他们显示,其他用户无法看到这些 cookie。
    Cookie 是在 HTTP 标头的帮助下在服务器和浏览器之间创建和共享的。
    Cookie 的保存路径由浏览器决定。
    当我们访问 YouTube 频道并搜索一些歌曲时,每当我们下次访问 YouTube 时,Cookie 都会读取我们的浏览历史记录并显示相似的歌曲或上次播放的歌曲。

JWT[Json Web Token]

image.png

    JWT 是一种开放标准,它定义了一种紧凑且独立的方式,用于在各方之间将信息安全地传输为JSON对象。
    此信息可以被验证和信任,因为它是经过数字签名的。

授权 是一种安全机制,用于确定与系统资源(包括文件、服务、计算机程序、数据和应用程序功能)相关的访问级别或用户/客户端权限。这是授予或拒绝访问网络资源的过程,允许用户根据用户身份访问各种资源。常用的权限划分方式有RBAC模型和ACL模型。

单点登录虽然方便了用户,但也给企业安全带来了风险。获得对用户 SSO 凭据的控制权的攻击者被授予访问该用户有权访问的每个应用程序的权限,从而增加了潜在损害的数量。为了避免恶意访问,SSO 应该与身份治理相结合。组织还可以通过 SSO 使用多因素身份验证来提高安全性。