Shinkai005

V1

2023/03/04阅读:9主题:极简黑

【CSF】网安基础-第七节课-身份识别与认证

【CSF】网安基础-第七节课-身份识别与认证

身份, 识别, 认证

image-20230221112038957
image-20230221112038957

定义

身份identity

  • 一个实体在计算机系统中的代表
  • 它通常意味着为一个实体使用一个独特的名字 如: 一个人的身份可以改变或被伪造,例如,姓氏。

身份识别identification

  • 是指在系统中使用/运行的一个用户或一个应用程序的主张。
  • 这可以通过用户ID、程序ID、智能卡或其他任何可以唯一识别一个主体或一个人的东西来实现。 如: ID、智能卡可能被盗。

认证autentication

  • 对一个实体的身份进行验证/证明的过程

身份identity

目的

  • 用于访问控制
  • 用于问责: 记录和审计

安全系统中的身份

  • 一个数据文件(一般来说是一个对象)
  • 文件名:对于人类来说
  • 文件描述符:对于一个进程来说
  • 文件分配表条目:用于内核(MS-DOS和Windows 9x操作系统)。

用次级列表容易乱序~

一个用户

  • 由任意数量的字母数字字符组成的任何名称
  • 可能在某些方面受到限制,例如,名称+组织

Groups and Roles

一个身份可以指一个由一组实体组成的实体

  • 同时对一组实体进行访问控制和其他安全功能的一种方便方式

组的模式

  • 静态:对一组实体的别名
  • 动态:对一组实体进行分组的结构

一个身份可能指的是一个角色

  • 将实体联系在一起
  • 代表实体被分配或有权使用的权利或安全功能

身份和证书

由证书颁发机构(CA)颁发的证书

  • CA作为一个受信任的第三方

第1类

  • 电子邮件地址的认证,网络应用。

第2类

  • 通过在线数据库验证真实姓名和地址--在线购买

第3类

  • 由调查服务机构进行背景调查--更高层次的保证

例子: 证书颁发机构安全委员会(CASC)于2013年获得资助--致力于解决行业问题并对公众进行互联网安全教育。

身份信任

证书的可信度

  • 根据证书的可信度 取决于证书机构(CA)的可信度

  • 取决于CA所表示的信任程度

  • 高:一本护照

  • 低:未经宣誓的声明

  • 这都是相对的

重点

  • 身份有信任问题
  • 证书也有信任问题

主要是用证书保证身份, 证书不太行身份也不一定行~

认证

目的

  • 证实一个声明的身份确实属于正确的实体。

方法

  • 实体知道什么 - 基于知识的认证
    • 密码、PIN、DoB、母亲的婚前姓名等。
  • 实体拥有什么--基于令牌的认证
    • 徽章、ID卡、钥匙等。
  • 实体是什么--生物识别认证
    • 指纹、个人特征、步态和动作 生物识别技术等。
  • 实体在哪里
    • 特定终端、特殊访问设备等

认证组件

用于创建和存储认证信息

  • 认证信息。A: 用于一个实体证明其身份

补充性信息。C

  • 对于一个系统来说,将认证信息与相应的身份一起储存起来
  • 对于一个系统来说,要验证认证信息

补充功能。F

  • 对于一个系统来说,从认证信息中生成互补的信息
  • 对于f属于F,f: Aà C

记作:`

用于执行认证

  • 认证功能。L
  • 对于系统来说,要验证一个身份
  • 对于l∈L,l:A×C -> {true,false}。
  • 用于管理认证信息
  • 对于一个实体来说,创建或改变认证和相应的补充信息

密码

目的

  • 使用一个实体所知道的信息来验证 所述身份确实属于该实体

认证方法

  • 一个实体知道什么

密码保护

  • 在没有适当保护的情况下,密码不允许被传输 适当的保护
  • 对于f∈F,f:A-> C使用单向哈希函数

这里解释下"实体知道什么"是一个常见的认证方法.

主要是说 通过实体知道什么 来认证实体. 这么说更好理解一些

密码攻击

dictionary attack字典攻击

  • 大多数密码都不是字符和数字的随机序列,而是 "正常 "单词、专有名词、缩写等的组合。
  • 例如,"Betty23 "或 "ChocolateFrog"

在字典攻击中,一个可能的密码列表被用来闯入一个账户。

  • 该列表可能包含常见的单词、名字、首字母缩写、常用密码等。
  • 这极大地减少了搜索空间

Brute-Force Attacks粗暴攻击

暴力攻击(穷举式攻击)包括尝试每一种可能的字符组合,直到找到正确的密码为止

  • 破解一个密码所需的时间取决于密码的长度

  • 公开密码标准可能存在安全风险(比如必须纯数字, 就会缩小解密难度)

密码猜测的克制措施 Counter-Measures

目的:

  • 在密码被正确猜出之前,最大限度地延长消耗的时间

计算方法

  • P:在指定时间内正确猜出密码的概率,如0.5 (在单位时间的数量)

  • G:一个时间单位内可以进行的密码猜测次数

  • T:计算的时间单位数

  • N:可能的密码总数

  • 安德森的公式。P≥TG/N或N≥TG/P

密码猜测的例子

目标

  • 确定系统中密码的最小长度

参数

  • A=96个字符
  • P=0.5

假设

  • 试用每个密码所需的时间长度是恒定的
  • 所有密码被选中的可能性相同

结果

image-20230303225200868
image-20230303225200868

所以最小密码长度为6

密码选择

定理

  • 当从一组可能的密码中选择一个密码的可能性相同时,猜测一个密码所需的预期时间是最长的。

强密码

  • 至少有一个数字
  • 至少一个字母(大写和小写)
  • 至少一个特殊字符,例如:标点符号, 控制字符

避免密码猜测的方法

指数式回避Exponential back-off

  • 等待 n是尝试次数, t是系统设置值

断线Disconnection

  • 在指定的尝试失败次数后断开连接

禁用Disabling

  • 在指定的失败次数后停用

监禁(蜜罐)Jailing (Honey pot)

  • 愚弄攻击者,然后记录攻击者进行的所有活动

Biometrics生物统计学

目的

  • 利用对生物或行为特征的自动测量来描述,从而识别一个实体。

方法(需要特殊的传感器)

  • 指纹
  • 语音识别
  • 眼睛
  • 脸部
  • 按键(压力、时间间隔、持续时间、位置等)
  • 步态和运动生物识别

强认证

认证机制利用一个或多个流程来建立用户的身份。

实体知道什么--基于知识的认证

  • 密码、PIN、DoB、母亲的婚前姓名等。

实体拥有什么--基于令牌的认证

  • 徽章、ID卡、钥匙等。

实体是什么--生物识别认证

  • 指纹、个人特征、步态和动作生物识别等。

实体在哪里

  • 特定终端、特殊访问设备等

将这些认证机制中的两个或多个结合起来,可以加强认证过程

Kerberos 认证

这里ppt很抽象, 我做了一点补充

这个认证主要是用在分布式环境下的网络认证

  1. 用户在 Kerberos 认证中心(KDC)注册并获取到一份 Kerberos 密钥(ticket-granting ticket)。
  2. 用户向 KDC 发送请求,请求获取目标服务的访问权限。
  3. KDC 返回一份包含临时密钥(ticket-granting ticket)的票据,用户使用该票据向目标服务请求访问权限。
  4. 目标服务使用用户的临时密钥来验证用户的身份,并授权用户访问相应的资源。

ppt内容:

应用场景

场景

  • 一个系统包括一个中央认证服务器AS,一个票据授予服务器(ticket- granting server)TGS和一个或多个应用服务器记为s1,s2..
  • AS向Kerberos系统认证一个用户
  • TGS向用户发放票证,以便对应用服务器进行认证
  • 用户可以通过出示由TS签发的票证来访问应用服务器。
  • s1,s2,s3可由用户出示TGS签发的票据进入。

Kerberos 认证组成

基于秘钥的密码学

  • 认证服务器AS与每一个用户和票据授予服务器TGS共享一个秘密密钥

问题:如何实现上述目标?

  • 票证授予服务器TGS与每一个应用程序的分离者共享一个秘钥

票证:

  • 是由TGS生成的会话密钥,在 "Alice "和 "Server "之间共享,以便访问 "Server"。
  • 是 S 与 TGS 共享的密匙。
  • 将由Alice提交给服务器进行访问
image-20230303231943346
image-20230303231943346

认证:

image-20230303232034808
image-20230303232034808
  • t是创建认证器的时间戳。

  • 是一个备选的会话密钥

  • 为了向服务器证明Alice拥有会话密钥

完整过程

image-20230303232118114
image-20230303232118114

Kerberos协议信息受到保护,可以防止窃听和重放攻击。

image-20230303232151943
image-20230303232151943

Kerberos的意义

单点登录

  • 用户只需要在认证服务器(AS)上登录一次; 向用户发放票证,以访问票证授予服务器(TGS)。

  • TGS向用户发放票据以访问应用服务器 ; 登录到应用服务器对用户来说是透明的。

广泛应用于金融系统和大规模电子商务应用中

- END -

分类:

后端

标签:

后端

作者介绍

Shinkai005
V1

公众号:深海笔记Shinkai