Shinkai005
2023/03/04阅读:9主题:极简黑
【CSF】网安基础-第七节课-身份识别与认证
【CSF】网安基础-第七节课-身份识别与认证
身份, 识别, 认证

定义
身份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 -
假设
-
试用每个密码所需的时间长度是恒定的 -
所有密码被选中的可能性相同
结果

所以最小密码长度为6
密码选择
定理
-
当从一组可能的密码中选择一个密码的可能性相同时,猜测一个密码所需的预期时间是最长的。
强密码
-
至少有一个数字 -
至少一个字母(大写和小写) -
至少一个特殊字符,例如:标点符号, 控制字符
避免密码猜测的方法
指数式回避Exponential back-off
-
等待 n是尝试次数, t是系统设置值
断线Disconnection
-
在指定的尝试失败次数后断开连接
禁用Disabling
-
在指定的失败次数后停用
监禁(蜜罐)Jailing (Honey pot)
-
愚弄攻击者,然后记录攻击者进行的所有活动
Biometrics生物统计学
目的
-
利用对生物或行为特征的自动测量来描述,从而识别一个实体。
方法(需要特殊的传感器)
-
指纹 -
语音识别 -
眼睛 -
脸部 -
按键(压力、时间间隔、持续时间、位置等) -
步态和运动生物识别
强认证
认证机制利用一个或多个流程来建立用户的身份。
实体知道什么--基于知识的认证
-
密码、PIN、DoB、母亲的婚前姓名等。
实体拥有什么--基于令牌的认证
-
徽章、ID卡、钥匙等。
实体是什么--生物识别认证
-
指纹、个人特征、步态和动作生物识别等。
实体在哪里
-
特定终端、特殊访问设备等
将这些认证机制中的两个或多个结合起来,可以加强认证过程
Kerberos 认证
这里ppt很抽象, 我做了一点补充
这个认证主要是用在分布式环境下的网络认证
用户在 Kerberos 认证中心(KDC)注册并获取到一份 Kerberos 密钥(ticket-granting ticket)。 用户向 KDC 发送请求,请求获取目标服务的访问权限。 KDC 返回一份包含临时密钥(ticket-granting ticket)的票据,用户使用该票据向目标服务请求访问权限。 目标服务使用用户的临时密钥来验证用户的身份,并授权用户访问相应的资源。
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提交给服务器进行访问

认证:

-
t是创建认证器的时间戳。
-
是一个备选的会话密钥
-
为了向服务器证明Alice拥有会话密钥
完整过程

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

Kerberos的意义
单点登录
-
用户只需要在认证服务器(AS)上登录一次; 向用户发放票证,以访问票证授予服务器(TGS)。
-
TGS向用户发放票据以访问应用服务器 ; 登录到应用服务器对用户来说是透明的。
广泛应用于金融系统和大规模电子商务应用中
- END -作者介绍
Shinkai005
公众号:深海笔记Shinkai