山东大学软件学院《大数据安全》复习纲要

文章目录

    • 大数据安全概念及目标
      • 大数据技术框架
      • 大数据安全与隐私保护需求
        • 大数据安全
        • 大数据隐私保护
        • 区别与联系
      • 大数据全生命周期安全风险分析
        • 数据采集
        • 数据传输
        • 数据存储阶段
        • 数据分析与使用阶段
        • 具体技术
    • 传统访问控制技术和基于密码的访问控制技术
      • 传统访问控制技术
        • 自主访问控制模型-DAC
          • 基于主体
          • 基于客体
          • 特点
        • 强制访问控制模型-MAC
          • BLP
          • Biba
          • 之间的关系
        • 基于角色的访问控制模型-RBAC
          • RBAC0
          • RBAC1
          • RBAC2
          • RBAC3
        • 基于属性的访问控制模型-ABAC
      • 基于密码的访问控制技术
        • 基于密钥管理的访问控制技术
          • 基于单发送者广播加密的访问控制
          • 基于公钥广播加密的访问控制
        • 基于属性加密的访问控制技术
    • 角色挖掘算法
      • 基于层次聚类的角色挖掘方法
        • 凝聚式角色挖掘
        • 分裂式角色挖掘
      • 生成式角色挖掘方法
    • 密码学基础
      • 绪论
        • 功能
        • 加密技术
          • 对称加密技术
          • 非对称加密技术(公钥加密)
        • 数字签名技术
        • 密钥交换技术
        • MAC&HMAC
        • Hash函数
      • 对称加密算法
        • 基本操作
          • 替代
          • 置换
        • DES 摆!
        • 3-DES 摆!
        • AES 摆!
        • 分组密码算法的工作模式
          • 电码本模式(ECB)
          • 密文分组链接模式(CBC)
          • 密文反馈模式(CFB)
          • 输出反馈模式(OFB)
          • 计数器模式(CTR)
      • 公钥加密技术
        • RSA
          • 安全性
      • Hash加密算法
        • 通用模型
        • MD5
        • SM3
    • 密文索引的基本思想及设计
        • 密文检索
          • 系统流程
      • PIR系列
        • 单轮交互的PIR问题
      • 非对称可搜索加密
        • BDOP-PEKS方案
    • 身份认证技术及实现
      • 身份认证的基本模型
      • 基于口令的身份认证技术
      • 双因子认证技术
        • 远程身份认证面临的风险和对策
        • 挑战-应答机制认证过程
      • 基于生物特征的身份认证技术
      • 多因素认证
        • FIDO
      • 基于生物特征的身份认证技术
      • 多因素认证
        • FIDO

大数据安全概念及目标

大数据技术框架

  1. 数据采集与预处理: 数据采集与预处理( Data Acquisition &Preparation) 是大数据应用的基础, 进行预处理、 数据清洗等。
  2. 数据分析: 数据分析(Data Analytics) 是大数据应用的核心流程。 根据不同层次大致可分为三类: 计算架构、查询与索引, 以及数据分析和处理。
  3. 数据解释: 数据解释(Data Interpretation) 旨在更好地支持用户对数据分析结果的使用, 涉及的主要技术有可视化技术和人机交互技术。
  4. 数据传输、 虚拟集群等其他支撑技术: 为大数据处理提供技术支撑。

山东大学软件学院《大数据安全》复习纲要_第1张图片

大数据安全与隐私保护需求

大数据安全

大数据普遍存在巨大的数据安全需求。在大数据场景带来如下各项新技术挑战:

  1. 如何在满足可用性的前提下实现大数据机密性和完整性。在大数据场景下,数据的高速流动特性以及操作多样性使得两者之间的矛盾更加突出。
  2. 如何实现大数据的安全共享。在大数据访问控制中,用户难以信赖服务商正确实施访问控制策略,且在大数据应用中实现用户角色与权限划分更为困难。
  3. 如何实现大数据真实性验证与可信溯源。当一定数量的虚假信息混杂在真实信息之中时,往往容易导致人们误判。最终影响数据分析结果的准确性。需要基于数据的来源真实性、传播途径、加工处理过程等,了解各项数据可信度,防止分析得出无意义或者错误的结果。

大数据隐私保护

大数据普遍还存在隐私保护需求。大量事实表明,未能妥善处理会对用户的隐私造成极大的侵害。

  1. 由于去匿名化技术的发展,实现身份匿名越来越困难。仅数据发布时做简单的去标识处理已经无法保证用户隐私安全,通过链接不同数据源的信息,攻击者可能发起身份重识别攻击(reidentification attack) ,逆向分析出匿名用户的真实身份,导致用户的身份隐私泄露
  2. 基于大数据对人们状态和行为的预测带来隐私泄露威胁随着深度学习等人工智能技术快速发展,通过对用户行为建模与分析,个人行为规律可以被更为准确的预测与识别,刻意隐藏的敏感属性可以被推测出来

区别与联系

  1. 大数据安全需求更为广泛, 关注的目标不仅包括数据机密性, 还包括数据完整性、 真实性、 抗抵赖性/不可否认性, 以及平台安全、 数据权属判定等。 而隐私保护需求一般仅聚焦于匿名性
  2. 虽然隐私保护中的数据匿名需求与安全需求之一的机密性需求看上去比较类似, 但后者显然严格得多, 要求非授权用户完全不可访问
  3. 在大数据安全问题下, 一般来说数据对象是有明确定义。 而在涉及隐私保护需求时, 所指的用户“隐私” 则较为笼统, 可能具有多种数据形态存在。

大数据全生命周期安全风险分析

大数据的生命周期包括数据产生、采集、传输、存储、使用、分享、销毁等诸多环节,每个环节都面临不同的安全威胁。

安全问题较为突出的是数据采集、数据传输、数据存储、数据分析与使用四个阶段。

数据采集

**采集方对于用户终端、智能设备、传感器等产生的数据进行记录与预处理的过程。**在大多数应用中数据不需要预处理直接上传,而在某些特殊场景下,例如传输带宽存在限制、或采集数据精度存在约束时,数据采集方需要先进行数据压缩、变换甚至加噪处理等步骤,以降低数据大小或精度。一旦真实数据被采集,则用户隐私保护完全脱离用户自身控制。

数据采集是数据安全与隐私保护的第一道屏障,可根据场景需求选择安全多方计算等密码学方法,或选择本地差分隐私(LDP)等隐私保护技术

数据传输

将采集到的大数据由用户端、智能设备、传感器等终端传送到大型集中式数据中心的过程。

数据传输阶段中的主要安全目标是数据安全性。为了保证数据在传输过程中内容不被恶意攻击者收集或破坏,有必要采取安全措施保证数据的机密性和完整性。

现有的密码技术已经能够提供成熟的解决方案,例如目前普遍使用的SSL通讯加密协议、或采用专用加密机、 VPN技术等。

数据存储阶段

大数据被采集后常汇集存储于大型数据中心,而大量集中存储的有价值数据无疑容易成为高水平黑客团体的攻击目标。

大数据存储面临的安全风险是多方面的,不仅包括来自外部黑客的攻击、来自内部人员的信息窃取,还包括不同利益方对数据的超权限使用等。

因此,该阶段集中体现了数据安全、平台安全、用户隐私保护等多种安全需求。

数据分析与使用阶段

大数据采集、传输、存储的主要目的是为了分析与使用,通过数据挖掘、机器学习等算法处理,从而提取出所需的知识。

本阶段焦点在于如何实现数据挖掘中的隐私保护,降低多源异构数据集成中的隐私泄露。防止数据使用者对用户数据挖掘,得出用户刻意隐藏的知识;防止分析者在进行统计分析时,得到具体用户的隐私信息。

具体技术

山东大学软件学院《大数据安全》复习纲要_第2张图片

传统访问控制技术和基于密码的访问控制技术

访问控制(Access Control): 确保数据等资产只能经过授权的用户才能访问、使用和修改。
访问控制策略(Policies): 是对系统中用户访问资源行为的安全约束需求的具体描述。
访问控制模型(Model): 是对访问控制策略的抽象、 简化和规范。
早期的访问控制技术都是建立在可信引用监控机基础上的, 1972年由Anderson提出, 它能够对系统中的主体和客体之间的授权访问关系进行监控。
一般来说, 这类访问控制技术都涉及如下的概念:

  • 主体: 能够发起对资源的访问请求的主动实体,通常为系统的用户或进程。

  • 客体: 能够被操作的实体,通常是各类系统和数据资源。

  • 操作: 主体对客体的读、写等动作行为。

  • 访问权限: 客体及对其的操作形成的二元组<操作,客体>。

  • 访问控制策略: 对系统中主体访问客体的约束需求描述。

  • 访问(引用)授权: 访问控制系统按照访问控制策略进行访问权限的赋予。

  • 引用监控机(Reference Monitor, RM) :指系统中监控主体和客体之间授权访问关系的部件。

    山东大学软件学院《大数据安全》复习纲要_第3张图片
  • 引用验证机制(Reference Validation Mechanism, RVM): 是RM的软硬件实现。引用验证机制RVM是真实系统中访问控制能够被可信实施的基础。它必须满足如下三个属性:
    (1) 具有自我保护能力;
    (2) 总是处于活跃状态;
    (3) 必须设计得足够小,以便于分析和测试。

传统访问控制技术

早期访问控制模型和技术在大数据应用场景下,主要存在三方面问题:

安全管理员的授权管理难度更大 严格的访问控制策略难以适用 外包存储环境下无法使用
工作量大
领域知识匮乏
访问需求无法预知
访问需求动态变化
数据所有者不具备海量存储能力
数据所有者不具备构建可信引用监控机的能力

自主访问控制模型-DAC

客体的属主决定主体对客体的访问权限。自主访问控制模型可以被表述为(S,O,A)三元组。其中, Subject表示主体集合, Oblect表示客体集合。Access matrix表示访问矩阵, A(si,oj)则表示主体si能够对客体oj执行的操作权限。

基于主体

能力表CL:基于主体的自主访问控制实现, 该表记录了每一个主体与一个权限集合的对应关系。 权限集合中每个权限被表示为一个客体以及其上允许的操作集合的二元组。

基于客体

访问控制列表ACL:基于客体的自主访问控制实现, 该表记录了每一个客体与一个权限集合的对应关系。权限集合中的每个权限被表示为一个主体以及其能够进行的操作集合的二元组。

特点

优点:在自主访问控制下,用户可以按自己的意愿,有选择地与其他用户共享他的文件。

缺点:在大数据环境下, 主体和客体数量巨大, 无论哪种实现方式, 自主访问控制模型都将面临权限管理复杂度爆炸式增长的问题。 因此,直接采用自主访问控制模型是非常困难的。

强制访问控制模型-MAC

强制访问控制模型:其访问控制策略由安全管理员统一管理。
安全管理员为系统中每个主客体分配安全标记,然后依据主客体安全标记之间的支配关系来进行访问控制。由于安全标记之间的支配关系是满足偏序性质的,可以形成格结构,如下图所示。 因此,强制访问控制模型又可称为基于格的访问控制模型。

山东大学软件学院《大数据安全》复习纲要_第4张图片

不足

  1. 随着主客体规模的急剧增长, 安全标记和完整性标记的定义和管理将变得非常繁琐;
  2. 来自多个应用的用户主体和数据客体也将使得安全标记和完整性标记难以统一。
BLP
  • 安全级别Level:公开( UC) 、 秘密( S) 、 机密( C) 、 绝密(TS) 。 它们之间的关系为 UC ≤ S ≤ C ≤ TS。
  • 范畴Category: 为一个类别信息构成的集合, 例如{ 中国, 军事, 科技} 。 具有该范畴的主体能够访问那些以该范畴子集为范畴的客体。
  • 安全标记Label: 由安全级别和范畴构成的二元组, 例如
  • 支配关系dom: 安全标记A dom B, 当且仅当LevelA ≥ LevelB,CategoryA ⊇ CategoryB。

BLP模型中在为系统中每个保护范围内的主客体都分配了安全标记后,主体对客体的访问行为应满足如下两条安全属性

  1. 简单安全属性: 主体S可以客体O, 当且仅当LabelS dom LabelO, 且S对O有自主型读权限
  2. 安全属性: 主体S可以写客体O, 当且仅当LabelO dom LabelS, 且S对O具有自主型写权限

从信息流角度看, 上述两条读/写操作所应遵循的安全属性阻止了信息从高安全级别流入低安全级别, 且使得信息仅被需要知悉的人所知悉 ,因此, 能够有效地确保数据的机密性。

山东大学软件学院《大数据安全》复习纲要_第5张图片

Biba
  • 完整性级别Level: 代表了主/客体的可信度。 完整性级别高的主体比完整性级别低的主体在行为上具有更高的可靠性;完整性级别高的客体比完整性级别低的客体所承载的信息更加精确和可靠。
  • 范畴Category: 若范畴CategoryA ⊇ CategoryB, 则A能写入B;否则, A不能写入B。
  • 完整性标记Label: 由完整性级别和范畴构成的二元组
  • 支配关系dom: 完整性标记A dom B, 当且仅当LevelA ≥ LevelB, CategoryA ⊇ CategoryB。

基于以下三条安全属性, 信息只能从高完整性级别的主客体流向低完整性级别的主客体,从而有效避免了低完整性级别的主客体对高安全级别主客体的完整性的“污染”

  1. 完整性属性: 主体S能够写入客体O, 当且仅当LabelS dom LabelO。
  2. 调用属性: 主体S1能够调用主体S2, 当且仅当LabelS1 dom LabelS2。
  3. 简单完整性属性: 主体S能够读取客体O, 当且仅当LabelO dom LabelS。
之间的关系

Biba模型是第一个关注完整性的访问控制模型,用于防止用户或应用程序等主体未授权地修改重要的数据或程序等客体。 该模型可以看作是BLP模型的对偶。

Biba模型不关注机密性,没有定义BLP模型的安全级别,而是定义了完整性级别。完整性级别高的主体比完整性级别低的主体在行为上具有更高的可靠性;完整性级别高的客体比完整性级别低的客体所承载的信息更加精确和可靠。

Biba模型中信息只能从高完整性级别的主客体流向低完整性级别的主客体,从而有效避免了低完整性级别的主客体对高完整性级别主客体的完整性的“污染”

BLP模型中阻止了信息从高安全级别流入低安全级别, 且使得信息仅被需要知悉的人所知悉

基于角色的访问控制模型-RBAC

基于角色的访问控制: 标准RBAC模型包括了RBAC0~3四个模型。

山东大学软件学院《大数据安全》复习纲要_第6张图片
  • 用户是访问控制的主体, 可以发起访问操作请求。
  • 对象是访问控制的客体, 指系统中受访问控制机制保护的资源。
  • 操作是指对象上能够被执行的一组访问操作。
  • 权限是指对象及其上指定的一组操作。
  • 角色是权限分配的载体, 是一组有意义的权限集合。
  • 会话用于维护用户和角色之间的动态映射关系。
RBAC0

RBAC0模型(Core RBAC), 定义了用户、角色、会话和访问权限等要素。

山东大学软件学院《大数据安全》复习纲要_第7张图片
  1. UA-用户分配: 用户和角色之间是多对多的映射关系, 记录了管理员为用户分配的所有角色。
  2. PA-特权分配: 角色与权限之间也是多对多的映射关系, 记录了管理员为角色分配的所有权限。
  3. user_sessions: 用户与会话之间的一对多映射关系。 即一个用户可通过登录操作开启一个或多个会话, 而每个会话只对应一个用户。
  4. session_roles: 会话与角色之间的多对多关系。 即用户可以在一个会话中激活多个角色, 而一个角色也可以在多个会话中被激活。
RBAC1

RBAC1(Hierarchal RBAC) 在RBAC0的基础上引入了角色继承的概念。

在CoreRBAC基础上,HierarchalRBAC增加了角色继承操作。即一个角色r1继承了另一个角色r2,那么r1就拥有r2的所有权限。

角色继承分为多重继承受限继承

  • 多重继承是指一个角色可以同时继承多个角色,且角色继承应满足偏序关系。

  • 受限继承除了要求角色继承满足偏序关系外,还要求只能继承一个角色,因此形成的继承关系为树形结构。

RBAC2

RBAC2(Constraint RBAC) 增加了角色之间的约束条件,例如互斥角色、最小权限等。

Constraint RBAC在Core RBAC的基础上引入了职责分离的概念。若角色r1和角色r2所拥有的某些权限是冲突的,那么就需要增加职责分离约束,使两个角色不能并存。

根据约束生效的时期不同,这些约束可以分为两类:静态职责分离(Static Separation of Duty,SSD)和动态职责分离(Dynamic Separation ofDuty ,DSD)。

  • SSD主要作用于管理员为用户分配角色和定义角色继承关系阶段。若角色r1和角色r2由于存在权限上的某种冲突被设定了SSD约束,那么r1和r2不能同时被分配给同一个用户,并且管理员在设置角色继承关系时,r1和r2之间不能存在继承关系。

  • DSD主要作用于用户激活角色的阶段。若角色r1和角色r2由于存在权限上的某种冲突被设定了DSD约束,那么r1和r2不能在一个会话中被用户同时激活。

RBAC3

RBAC3(Combines RBAC)是RBAC1和RBAC2的综合,探讨了角色继承和约束之间的关系。

基于属性的访问控制模型-ABAC

基于属性的访问控制(ABAC): 通过安全属性来定义授权,并实施访问控制。 由于安全属性可以由不同的属性权威分别定义和维护, 所以具备较高的动态性和分散性, 能够较好地适应开放式的环境。 具体地, 它包括如下几个重要概念:

  1. 实体: 系统中存在的主体、客体,以及权限和环境。

  2. 环境: 指访问控制发生时的系统环境。

  3. 属性: 用于描述上述实体的安全相关信息。它通常由属性名和属性值构成,又可分为:主体属性 客体属性 权限属性 环境属性

    访问请求处理流程

山东大学软件学院《大数据安全》复习纲要_第8张图片
  • AA为属性权威: 负责实体属性的创建和管理,并提供属性的查询。
  • PAP为策略管理点: 负责访问控制策略的创建和管理,并提供策略的查询。
  • PEP为策略执行点: 负责处理原始访问请求,查询AA中的属性信息生成基于属性的访问请求,并将其发送给PDP进行判定, 然后根据PDP的判定结果实施访问控制。
  • PDP为策略判定点: 负责根据PAP中的策略集对基于属性的访问请求进行判定,并将判定结果返回PEP。
优势 劣势
适合大数据的开放式数据共享环境。 属性的管理和标记对于安全管理员来说仍然是劳动密集型工作且需要一定的专业领域知识。
在大数据场景下, 数据规模和应用复杂度使得这一问题更加严重。

基于密码的访问控制技术

基于密钥管理的访问控制技术

在基于密钥管理的访问控制中,系统通过控制用户持有的密钥集合来区分用户,进而实施授权和访问控制。

基于单发送者广播加密的访问控制

基于对称加密实现

  1. 数据所有者: 拥有数据和完整的用户密钥树,负责根据数据分享的目标对象,有选择地从用户密钥树中选取加密密钥对数据进行加密,并将加密结果广播式发送给所有用户。
  2. 普通用户: 拥有用户密钥树中的与自己相关的部分密钥,负责接收数据密文并利用自己持有的密钥解密数据。

例如

山东大学软件学院《大数据安全》复习纲要_第9张图片

选择红色节点处的密钥集{k0, k10, k110}进行数据加密,则未授权的普通用户就是U7,他将无法解密数据。

基于公钥广播加密的访问控制

基于公钥加密(非对称加密)实现

  • 公钥服务器: 负责维护一个密钥集合。即将系统中的所有用户划分为子集,每个子集代表了可能的数据接收者集合。为每个子集产生公私钥对,并将私钥安全分发给其包含的用户。
  • 数据所有者: 负责将数据加密,并采用基于公钥广播加密技术对加密密钥进行分发,以实现对授权接收者的限定。
  • 数据服务者: 负责加密数据的存储,并向用户提供对数据的操作。
  • 用户: 是数据的访问者。只有被数据所有者授权的用户才能获得数据的加密密钥,并进一步解密出数据。

由于采用公钥加密方式,所以系统的所有用户都可以是数据所有者,并向其他用户分享数据,消除了单发送者广播加密方案对发送者范围的限制。

基于属性加密的访问控制技术

基于属性加密的访问控制是通过更加灵活的属性管理来实现访问控制, 即将属性集合作为公钥进行数据加密,要求只有满足该属性集合的用户才能解密数据

山东大学软件学院《大数据安全》复习纲要_第10张图片
  • 可信权威:维护了每个用户的属性与密钥的对应关系, 为用户发布属性密钥。
  • 数据所有者:具有数据的所有权,负责访问策略(访问结构T)的定义,并产生与策略绑定的密文数据,然后发送给服务提供者。
  • 用户:是数据的访问者。若该用户具有满足密文数据所绑定策略中要求的属性,即持有恰当属性密钥,那么就可以解密出数据明文。
  • 服务提供者:负责提供数据的外包存储。

角色挖掘算法

基于层次聚类的角色挖掘方法

山东大学软件学院《大数据安全》复习纲要_第11张图片

由于标准RBAC模型中角色可以继承并形成层次结构,所以在聚类时通常选择层次聚类算法以支持角色继承。根据层次聚类方式,又分为凝聚式角色挖掘和分裂式角色挖掘。

凝聚式角色挖掘

山东大学软件学院《大数据安全》复习纲要_第12张图片

权限集合求并 用户集合求交

距离最近的类簇对的寻找方式

先寻找出拥有共同用户最多的类簇对集合S,再从S中选出包含权限最多的类簇对集合E。

分裂式角色挖掘

权限集合求交 用户集合求并

在这里插入图片描述

生成式角色挖掘方法

从权限使用情况的历史数据来获得用户的权限使用模式,进而产生角色,并为它赋予合适的权限,同时根据用户属性数据为用户分配恰当的角色。

基本定义

山东大学软件学院《大数据安全》复习纲要_第13张图片

发现一个有k个角色的集合,使得对应的PA、UA能够让λ距离(判断角色挖掘结果的质量)最小。

获得用户的权限使用模式

文档的生成: 一篇文档包括了多个主题,文档中的每个词都是由其中一个主题产生的。也就是存在两个多项式概率分布θ和φ, θ是一个文档上的主题分布, φ是一个主题上的单词出现的概率分布。

文档生成问题 角色挖掘问题
包含多个文档的“语料库” 访问控制日志
一个文档u 用户u的权限使用记录
单词p 权限p
文档u中单词p的词频n 用户u对权限p的使用次数n
主题r 角色r

角色挖掘问题被映射为文档生成问题,采用LDA模型就能够挖掘出角色定义。

密码学基础

绪论

功能

  • 数据加密(Encryption):机密性(Confidentiality, Privacy),使数据内容对无法解密的人不可见。
  • 消息鉴别(Message Authentication):完整性(Integrity)、真实性(Authenticity),确认消息来源,以及检验是否被篡改或伪造。
  • 身份鉴别(Identification):真实性(Authenticity),可鉴别性,进行身份识别和认证。
  • 数字签名(Digital Signature):不可抵赖性(Nonrepudiation),用于电子合同、电子公文、网上交付等。

加密技术

  • 加密变换:密文 = 加密变换(明文,加密密钥)
  • 解密变换:明文 = 解密变换(密文,解密密钥)
在这里插入图片描述
对称加密技术

加密和解密密钥相同,或可以互相推导。就像需要用钥匙才能锁上的门锁。

具备机密性、可鉴别性、完整性;不保证抗抵赖性

非对称加密技术(公钥加密)

采用两个不同的密钥将加密和解密功能分开。

应用:数字签名 密钥交换

  • 一个密钥称为私钥,像对称密码中一样,该密钥被秘密保存。
  • 另一个密钥称为公钥,不需要保密。

公钥密码必须具有如下重要特性:给定公钥,要确定出私钥在计算上是不可行的。就像常见的门,锁门很容易,但开门需要钥匙

项目 对称加密技术 非对称加密技术
特征 双方信息对等 双方信息不对等,根据公钥计算私钥是困难的
优点 对称密码算法速度快,适合加密大批量数据 密钥数量小,密钥的分发十分方便
缺点 密钥数量大,密钥的分配和管理困难 解密加密效率低,适合完成对称密码算法的密钥分配以及数字签名、身份鉴别等
各种密码协议
密钥个数 n个人两两秘密通信需要 n(n-1)/2个密钥 n个人两两秘密通信需要n对密钥
数字签名 不能提供不可否认的数字签名功能 可提供不可否认的数字签名功能

数字签名技术

数字签名是一种可以验证的密码技术。

文件的数字签名是基于文件和签名者私人密钥的信息,目的是证明文件归签名者所有(不可抵赖性)。

是通过Hash函数的使用和私钥签名函数来完成的。

在这里插入图片描述

发送报文时,发送方用一个哈希函数从报文文本中生成报文摘要,然后用发送方的私钥对这个摘要进行加密,这个加密后的摘要将作为报文的数字签名和报文一起发送给接收方。

接收方首先用与发送方一样的哈希函数从接收到的原始报文中计算出报文摘要,接着再公钥来对报文附加的数字签名进行解密,如果这两个摘要相同、那么接收方就能确认该报文是发送方的。

在这里插入图片描述

密钥交换技术

讲故事

在这里插入图片描述

首先假设双方分别是Alice和Bob,他们就一个随机的初始的颜色达成了一致。这个颜色不需要被保密,但是每一次要不一样。在这个例子中,这个初始的颜色是黄色。然后他们两个人每一个人选择一个秘密的颜色,Alice只知道Alice的颜色,其他任何人都不知道Alice选的是什么颜色,Bob同理。在这个例子中,Alice选择的是红色,Bob选择的是蓝绿色。这个过程的关键部分是Alice和Bob每个人将他们自己的秘密颜色和他们对方彼此共享的颜色(初始的颜色即黄色)混合在一起,导致了分别是orang-tan色,和浅蓝色。他们公开的将混合之后的颜色进行交换。最终,他们每一个人将他们从对方收到的颜色和他们自己的private color进行混合。这个结果就是最终的混合颜色。在这个例子中是黄褐色。这个颜色和对方的颜色是一致的。

如果某个第三方听到了这个交换,他就会知道公共的颜色(黄色)和第一个混合的颜色(orange-tan和浅蓝色),但是对这个第三方来说,确定最终的秘密颜色(黄褐色)在计算上是很困难的。事实上,当在使用大的数字而不是颜色时,这个行为需要大量的计算。这个行为即使是现代超极计算机都是不可能在一个合理的时间内完成的。

算法

在这里插入图片描述

MAC&HMAC

消息鉴别码(认证码)——MAC(message authentication code)

消息鉴别码(认证码)的作用: 验证接收消息的真实性(的确是由它所声称的实体发来的)和完整性(未被篡改、插入、删除)。

消息鉴别码(认证码)是指消息被一密钥控制的公开函数作用后产生的、用作认证符的、固定长度的数值,也称为密码校验和

  • 通信双方A和B共享一密钥K;
  • 设A欲发送给B的消息是M, A首先计算MAC=CK(M),其中CK(·)是密钥控制的公开函数;
  • 然后, A向B发送M‖MAC, B收到后做与A相同的计算,求得一新MAC,并与收到的MAC做比较。

HMAC——基于HASH算法的、带密钥的消息鉴别码

Hash函数

Hash函数(也称哈希函数)可将任意长的消息压缩为固定长度的Hash值,Hash函数需满足如下性质:

  • 单向性:从Hash值得到原消息是计算上不可行的

  • 抗碰撞性:找到两个不同的报文Hash值相同,是计算上不可行的。

  • 可用于文件完整性检验,密码保存,软件下载等场景。

不使用密码,任何人都可以计算,因此不能避免恶意篡改。比如在流氓软件的场景中,可以通过同时修改软件和Hash的方式实现恶意篡改。

对称加密算法

基本操作

替代

将一个二进制串用其它二进制串替代

山东大学软件学院《大数据安全》复习纲要_第14张图片

置换

二进制串次序的被重新排列

山东大学软件学院《大数据安全》复习纲要_第15张图片

DES 摆!

特点:

  • 分组加密算法:明文以64位分组,64位明文输入,64位密文输出
  • 有效密钥长度为56位:密钥通常表示为64位数,但每个第8位用于奇偶校验
  • 易于实现: DES算法只是使用了标准的算术和逻辑运算,其作用的数最多也只有64位
  • 56-bit已可在24小时内被暴力破解

DES算法简述:

  1. 输入64位明文数据,进行初始置换:DES算法使用64位密钥Key将64位明文输入块变为64位的密文输出块,并将输出块分为L0、R0两部分,每部分均为32位
  2. 在密钥的控制下,进行完全相同的16轮运算f,运算过程中总数据和密钥结合,函数f由四步运算构成:密钥置换、扩展置换、S-盒替代、P-盒置换
  3. 16轮之后,左右两部分进行交换,再连接到一起,然后再进行逆置换
  4. 输出64位密文

3-DES 摆!

3DES加密算法是对DES算法的改进加强版,它相当于是对每个数据块应用三次DES加密算法

山东大学软件学院《大数据安全》复习纲要_第16张图片

  • 当3DES中所有的密钥都相同时,3DES等同于普通DES

  • 密钥长度增长,通过增加迭代次数提高了数据的安全性

  • 但处理速度也随之变慢,加密效率不高

AES 摆!

加密:明文P与密钥K分组后,对每组:明文组P与密钥组K处理->轮密钥加->10轮加密->密文组

解密:对每组:密文组->轮密钥加->10轮解密->明文组

以128位密钥分组为例:加密共10轮,第1轮到第9轮的轮函数一样,包括4个操作:字节代换、行位移、列混淆和轮密钥加。第十轮迭代不执行列混淆。解密同理。

轮数 ( Round) Block Length=128 Block Length=192 Block Length=256
Key Length=128 10 12 14
Key Length=192 12 12 14
Key Length=256 14 14 14

分组密码算法的工作模式

电码本模式(ECB)

概述

电码本模式(Electronic Code Book,ECB)就是使用相同的密钥对明文组进行加密,一次只加密一组明文。解密时也使用相同的密钥对密文组进行解密,一次解密一组密文。

明文分组

假设明文分组长度为b,则可以将明文分为b位一组的明文组,必要时,可对最后一个明文组进行填充。

加解密过程

如果每个明文分组被记为Pi ,密文分组被记为Ci,则加解密过程如下图所示:

山东大学软件学院《大数据安全》复习纲要_第17张图片

在这种工作模式下,一个明文组只能固定地被加密成一个对应的密文组,一个密文组也只能固定地被解密成对应的密文组。他们彼此是一一对应的。设想我们有一个厚厚的密码本,每次加密时,我们只需要从密码本中查出明文所对应的密文就可以。这也是电码本模式名称的由来。

ECB加解密方式可以表示为:

img

ECB模式的特点

简单高效, 可以实现并行操作。 ECB有良好的差错控制, 一个密文块(或明文块) 的改变, 在解密(或加密) 时, 只会引起相应的明文块(或密文块) 的改变, 不会影响其他分组。

对于短消息,ECB模式是比较适用的。但对于长消息,ECB模式就不太安全了。这是因为明文中相同的分组, 密文也是相同的。 这会导致频率特征暴露,造成安全隐患。

密文分组链接模式(CBC)

加解密方式:

密文分组链接模式(Cipher Block Chaining,CBC)中,加密算法的输入是明文分组和前一个密文分组的异或,同样均使用相同的密钥进行加密。其中第一个明文加密时,需先与初始向量 IV 异或,再进入加密算法进行加密。如下图所示:

山东大学软件学院《大数据安全》复习纲要_第18张图片

就像前面说的那样,图中第一个明文分组P1先与初始向量IV 异或,然后被加密为密文C1。接下来C1与下一个明文分组异或,得到的结果被加密为C2,以此类推。所有的加密和解密都使用同一个密钥K 。

解密时,先对密文分组进行解密,然后再与上一个密文分组进行异或,即可得到明文分组结果。同样,第一个密文分组C1在解密后,需与初始向量IV异或,才能得到明文P1 。

加解密方式如下图所示(左为加密,右为解密):

img

CBC模式的特点

  • 优点:安全性好

  • 缺点: 加密不能并行处理, 解密可以并行

密文反馈模式(CFB)

概述:

与ECB、CBC不同,在CFB(Cipher Feedback,CFB)模式下,明文本身并没有进入加密算法中进行加密,而是与加密函数的输出进行了异或,得到了密文。CFB以及后面要讲的OFB、CTR模式都具有这样的特征,这是流密码的典型特征。此外,CFB不需要将明文分组填充到分组长度的整数倍,可以实时操作。

加解密模式

加密算法的输入是一个b位移位寄存器的值,输出也是一个b位的值。在输出的b位值中,选择左边的高s位与s位的明文进行异或,得到s位的密文。以此同时,下一组的移位寄存器向左移动s位。然后将刚才得到的s位的密文填充到下一组移位寄存器的低s位。

山东大学软件学院《大数据安全》复习纲要_第19张图片

简化版本

山东大学软件学院《大数据安全》复习纲要_第20张图片

CFB模式的特点

  1. 每次加密时,初始向量必须有变化。而且初始向量不能公布,否则攻击者可以篡改初始向量,使得所有的密文解密失败。在密钥完全相同的情况下,由于初始向量的不同,相同的明文,加密结果也不相同。
  2. 密文块需要按顺序逐块加密。
  3. 存在错误传播的可能性:前部分密文出错,会影响后边的解密。这是因为一块密文在进入下一分组的移位寄存器后,会在接下来的几个分组中一直除以移位寄存器中。
  4. 有自同步功能:在若干分组加密后,前边错误加密的密文会移出移位寄存器,防止对后面分组的加密造成进一步影响。
输出反馈模式(OFB)

概述

与CFB类似,输出反馈模式(Output Feedback,OFB)也是一种类似于流密码的工作模式。在这种模式中,明文分组同样没有进入到加密算法中,加密算法只是用来计算密钥流的。

在CFB中,是将密文反馈到下一分组加密算法输入的移位寄存器中;而在OFB中,是直接将加密算法的输出反馈到下一分组加密算法的输入中

明文分组

在OFB中,明文分组一般要与加密算法的输入分组一致。但是,如果明文的最后一组不够加密算法的输入分组长度,也无需填充。(处理方法见下文)

加解密方式

山东大学软件学院《大数据安全》复习纲要_第21张图片

假设加密算法的分组长度为b位。从图中可以看出,加密算法的b位输入来自于上一个分组加密算法的b位输出。同样,如果是第一个分组,就需要一个初始向量时变值来充当加密算法的输入。

在经过加密算法后,得到b位输出结果。这个结果再与b位的明文分组进行异或,即得到密文分组。

另外,所有加密算法的密钥都是相同的。加密算法仅仅用来产生密钥流,而没有对明文进行加密。真正的加密过程是明文分组与密钥流的异或。

在加密时,如果最后一组明文分组的位数(假设为s位)不够b位(s

解密过程与加密过程类似,只是改用密钥流与密文组异或,得到明文组。

与CFB相同,解密过程也只用到了加密算法,并没有用到解密算法。

OFB模式的特点

  1. 每次加密时,初始向量必须有变化。而且初始向量不能公布,否则攻击者可以篡改初始向量,使得所有的密文解密失败。在密钥完全相同的情况下,由于初始向量的不同,相同的明文,加密结果也不相同。
  2. 一组明密文的错误不会影响下一分组明密文的加解密。这是因为,传递到下一分组的只是加密算法的输出,而不是明密文。
  3. OFB容易受到对消息的篡改攻击。比如,对密文进行一定的取反,则明文的相应位也会取反。这使得纠错码不能检测到明密文被篡改。
计数器模式(CTR)

概述

计数器模式(counter,CTR)也是一种类似于流密码的模式。加密算法只是用来产生密钥流与明文分组异或。

分组长度

CTR的分组长度一般也要与加密算法的输入分组一致。但是,如果明文的最后一组不够加密算法的输入分组长度,也无需填充。(处理方法见下文)

加解密方式

山东大学软件学院《大数据安全》复习纲要_第22张图片

假设加密算法的分组长度为b位。在图中,加密算法的输入是一个b位计数器的值,在密钥的作用下,产生了一系列b位的密钥流。然后密钥流与b位的明文分组进行异或,得到b位的密文分组。

在这个加密过程中,每个计数器的值都不能相同。为了便于处理,首先为第一个计数器设一个初始值,然后在接下来的每一个分组中,计数器逐个加一。

CTR模式的特点

  1. CTR可以并行:存在反馈(链接) 的模式都不能并行, 必须依次执行。 因此具有较高软件和硬件效率。 并行性也意味着密文间的独立性, 这意味着可以处理某个分组的密文使得随机访问某个明文分组。
  2. 可以预处理: 加密算法的执行不需要明文或密文的输入, 密钥流可以事先准备, 只要有足够的存储器。
  3. 和CFB和OFB一样, 不需要分组密码的解密算法, 只需要加密算法,这对某些加密和解密不同的分组加密算法(如AES), 是有优势的。
  4. 第一个计数器的值需要保密,否则会被攻击者篡改,使得加解密的所有过程失败。

总结

模式 优点 缺点
ECB 实现简单,不同分组可并行,速度快,无差错传播 对于长消息会导致频率特征暴露,造成安全隐患
CBC 安全性好 加密不能并行处理, 解密可以并行;有限差错传播
CFB 安全性好,可自同步(自同步密码流优点),加解密只需要加密算法 有差错传播,速度慢
OFB 安全性好,无差错传播,加解密只需要加密算法 对于密文被篡改难以检测,初始向量需要保密,速度慢
CTR 实现简单,可预处理,可并行处理,无差错传播,加解密只需要加密算法 对于密文被篡改难以检测,第一个计数器的值需要保密

公钥加密技术

RSA

RSA证明详解

安全性

影响RSA算法安全性的因素主要有以下几个方面:

  • 密码分析者若能分解n,则能计算φ(n),由定义ed=1mod φ(n) 。然后从公钥e计算就得出私钥d。

  • 在构造n时应选择p和q,使得p-1和q-1有大的素因子。一般选择p和(p-1)/2均是素数。

  • 不同用户之间不要共享整数n。同模攻击:通过截获来自不同用户的密文,密码分析者能有机会计算出明文。

Hash加密算法

通用模型

具体做法:

  • – 把原始消息M分成一些固定长度的块Yi
  • – 最后一块padding并使其包含消息M的长度
  • – 设定初始值CV0
  • – 压缩函数f, CVi=f(CVi-1,Yi-1)
  • – 最后一个CVi为hash值

MD5

  • 第一步: padding

    – 补长到512的倍数

    最后64位为消息长度的低64位

    – 一定要补长(1~512),内容为100…0

  • 第二步:消息块划分

    – 把结果分割为512位的块: Y0,Y1,…YL-1

  • 第三步:循环迭代运算

    – 初始化MD buffer, 128位常量(4个字),进入循环迭代,共L次

    – 每次:一个输入128位,另一个输入512位,结果输出128位,用于下一轮输入

  • 第四步:输出结果

    – 最后一步的输出即为散列结果128位

    山东大学软件学院《大数据安全》复习纲要_第23张图片

算法流程

山东大学软件学院《大数据安全》复习纲要_第24张图片

SM3

  • 第一步:padding 同MD5处理

  • 第二步:消息块划分

    – 把结果分割为512位的块: Y0,Y1,…YL-1

  • 第三步:消息扩展

    SM3的迭代压缩步骤没有直接使用数据分组进行运算,而是使用这个步骤产生的132个消息字。(一个消息字的长度为32位/4个字节)概括来说,先将一个512位数据分组划分为16个消息字,并且作为生成的132个消息字的前16个。再用这16个消息字递推生成剩余的116个消息字

    在最终得到的132个消息字中,前68个消息字构成数列 {Wj},后64个消息字构成数列 {Wj‘},其中下标j从0开始计数。

山东大学软件学院《大数据安全》复习纲要_第25张图片
  • 第四步:迭代压缩

    在上文已经提过,SM3的迭代过程和MD5类似,也是Merkle-Damgard结构。但和MD5不同的是,SM3使用消息扩展得到的消息字进行运算。这个迭代过程可以用这幅图表示:

    山东大学软件学院《大数据安全》复习纲要_第26张图片

每个512位的消息块都要经过64轮压缩函数的压缩

压缩函数CF:

山东大学软件学院《大数据安全》复习纲要_第27张图片

第五步:输出结果

– 最后一步的输出即为散列结果256位

密文索引的基本思想及设计

密文检索

为保证云数据的安全性,一种通用的方法是用户首先使用安全的加密机制对数据进行加密,然后再将密文数据上传至云服务器。由于只有用户知道解密密钥,而云存储服务提供商得到的信息是完全随机化的,数据的安全性完全掌握在用户手中。当用户需要对数据进行检索时,只能把全部密文下载到本地,将其解密后再查询。这个过程要求客户端具有较大的存储空间以及较强的计算能力,且没有充分发挥云存储的优势。

密文检索(Searchable Encryption,SE,叫做可搜索加密)技术支持云存储系统在密文场景下对用户数据进行检索,然后将满足检索条件的密文数据返回给用户。在检索过程中,云服务器无法获得用户的敏感数据和查询条件,即密文检索可以同时保护数据机密性以及查询机密性

系统流程
  1. 数据所有者首先为数据构造支持检索功能的索引,同时使用传统的加密技术加密全部数据,然后将密文数据和索引共同存储到服务器。
  2. 需要检索时,数据检索者为检索条件生成相应的陷门,并发送给服务器。
  3. 服务器使用索引和陷门进行协议预设的运算,并将满足检索条件的密文数据返回给数据检索者。
  4. 数据检索者使用密钥将检索结果解密,得到明文数据。
  5. 有时服务器返回的密文数据中可能包含不满足检索条件的冗余数据,此时数据检索者还需要对解密后的明文数据进行二次检索,即在本地剔除冗余数据。

PIR系列

单轮交互的PIR问题

设存在 ≥ 1个服务器, 其存储的内容完全相同, 均为个比特的信息 = {1, 2, … , }, 且服务器之间不会进行相互通信。 A希望对服务器中的数据进行查询, 并得到 , 其具体查询过程如下:

  1. A生成一个随机数, 并根据和生成个查询{1, 2, … , }, 然后将其分别发送给个服务器;
  2. 各服务器分别返回相应的查询结果: {(1), … , ()};
  3. A根据和{(1), … , ()}计算得到正确的 。

如果在上述查询过程中, 任意服务器均不了解关于的任何信息, 则称这一交互是PIR的。

用户想要查询索引为2 (i=2) 的二进制位信息,例子里 DB[2] =1 ; DB[0] = 0 ; DB[1] =0; DB[3] = 0

前提:

  1. 采用两个服务器各自存储相同的数据库(假设是一个n位的二进制串)
  2. 两个服务器不能共谋(两个服务器不能互相知道用户给对方发了什么请求)

构造两个请求,q1, q2, 满足:q1=S;q2=S ⨁ i

这里的⨁ 操作表示S集合中如果存在i 则剔除掉,如果不存在则加入i 到S中

也就是说 q1 与q2 相差索引i的查询

返回:

  1. 两个服务器各自返回 r1,r2,分别为所有索引对应二进制数字的异或值 r1 = 0 ; r2 = 1

  2. 用户最终查询结果 r_user = r1 XOR r2 = 1

山东大学软件学院《大数据安全》复习纲要_第28张图片

非对称可搜索加密

一个典型的非对称密文检索过程如下:

  • Setup算法:该算法由数据检索者执行, 生成公钥PK和私钥SK;
  • BuildIndex算法:该算法由数据所有者执行, 根据数据内容建立索引, 并将公钥加密后的索引和数据本身上传到服务器;
  • GenTrapdoor算法:该算法由数据检索者执行, 将私钥和检索关键词作为输入, 生成相应的陷门(又称“搜索凭证” ) , 然后将陷门发送给服务器;
  • Search算法:该算法由服务器执行, 将公钥、 接收到的陷门和本地存储的索引作为输入, 进行协议所预设的计算, 最后输出满足条件的搜索结果。

BDOP-PEKS方案

A:数据检索者(数据接收者)

B:数据所有者(数据发送者)

山东大学软件学院《大数据安全》复习纲要_第29张图片

在随机预言模型下, BDOP-PEKS方案对选择关键词攻击语义安全

非对称密文检索方案的安全性:IND-CKA(在选择关键词攻击下的不可区分性安全)

身份认证技术及实现

山东大学软件学院《大数据安全》复习纲要_第30张图片

身份认证的基本模型

山东大学软件学院《大数据安全》复习纲要_第31张图片

基于口令的身份认证技术

  • 足够的长度,并包含各种不同的字符数;
  • 和ID无关;
  • 包含特殊的字符;
  • 大小写;
  • 不容易被猜测到;
  • 定期更改其口令;
  • 使用字典式攻击的工具找出比较脆弱的口令:
    1. 网络管理员使用的工具:口令检验器
    2. 攻击者破获口令使用的工具:口令破译器

口令攻击方式

网络入侵 数据库入侵 编程漏洞 暴力攻击 短信劫持(攻击短信验证方式)

双因子认证技术

双因子认证(2FA)是指结合密码以及实物(信用卡、SMS手机、令牌或指纹等生物标志)两种条件对用户进行认证的方法。

在这一验证过程中,需要用户提供两种不同的认证因素来证明自己的身份,从而起到更好地保护用户证书和用户可访问的资源。双因子验证比基于单因子的验证方式提供了一种更高级别的保证。

But 复杂的身份验证方式

  • 增加了用户疲劳
  • 降低了客户满意度
  • 减低企业服务竞争力

远程身份认证面临的风险和对策

风险和攻击 解决方案
窃听 采用数据加密、密码杂凑算法等方法,对口令等敏感消息进行处理
重放攻击 采用随机数(Nonce)、时间戳等方法, 挑战-应答协议 (challenge-response protocol)
伪造消息 采用数字签名、消息鉴别码等方法
中间人攻击 采用数字签名等方法

远程身份认证面临的风险和对策:

  • 远程口令认证协议
  • 远程令牌认证协议
  • 远程静态生物认证协议
  • 远程动态生物认证协议
  • 基于公钥密码算法的远程身份认证协议

挑战-应答机制认证过程

顾名思义,基于挑战/应答(Challenge/Response)方式的身份认证系统就是每次认证时认证服务器端都给客户端发送一个不同的"挑战"字串,客户端程序收到这个"挑战"字串后,做出相应的"应答",以此机制而研制的系统。认证过程为:

  1. 客户向认证服务器发出请求,要求进行身份认证;
  2. 认证服务器从用户数据库中查询用户是否是合法的用户,若不是,则不做进一步处理;
  3. 认证服务器内部产生一个随机数,作为"提问",发送给客户;
  4. 客户将用户口令和随机数合并,使用单向Hash函数(例如MD5算法)生成一个字节串作为应答
  5. 认证服务器将应答串与自己的计算结果比较,若二者相同,则通过一次认证;否则,认证失败;
  6. 认证服务器通知客户认证成功或失败。
山东大学软件学院《大数据安全》复习纲要_第32张图片

基于生物特征的身份认证技术

  • 指纹识别: 千元机标配,Android6.0开始开放指纹API。使用最为简单方便。
  • 虹膜识别: 最可靠的生物识别技术,部分高端手机已经适配虹膜摄像头。
  • 面部识别: 精确度日益提高.
  • 声纹识别: 成熟易用,微信已经开始启用声纹识别登录。
  • 其他:静脉识别、掌型识别、眼纹……
山东大学软件学院《大数据安全》复习纲要_第33张图片

多因素认证

用户要通过两种以上的认证机制之后,才能得到授权,使用计算机资源。例如,用户要输入PIN码,插入银行卡,最后再经指纹比对,通过这三种认证方式,才能获得授权。这种认证方式可以提高安全性。

FIDO

第一步:由用户终端设备(认证器)验证用户身份,验证方式可以多种多样,目前通常采用生物识别技术(指纹、人脸、声纹、虹膜等),验证通过后,从而解锁保存在认证器中的用户私钥;

第二步:使用解锁的用户私钥对响应消息进行签名,FIDO服务器端使用该用户对应的公钥进行验签,从而完成整个身份鉴别流程。

通过“两步走”的认证方式,FIDO UAF模型有效地分割了安全风险。

传统用户名/口令鉴别方式中用户的秘密都存储在服务器端并进行比对,一旦服务器被攻破,所有用户的秘密都将泄露;

而FIDO将用户的秘密前移到用户设备端,由设备中的认证器组件完成对用户身份的鉴别。

这样做的好处是:首先,用户秘密都存储在用户设备端,不会上传到服务器,这样避免了服务器被攻破时用户账户及生物特征模板泄露所造成的损失。由于用户生物模板存储在本地设备的安全区域,没有访问秘钥无法解锁和访问,这样就保证了生物特征模板的安全,即便设备丢失也无需担心秘密泄露。其次,设备中的认证器组件可以是多种多样的,例如指纹认证器、虹膜认证器、3D人脸认证器等等,这样就可以在用户设备端即插即用新的身份鉴别手段,而FIDO服务端不需要进行大的改动,从而提高身份鉴别系统的可扩展性,降低部署成本。

山东大学软件学院《大数据安全》复习纲要_第34张图片

基于生物特征的身份认证技术

  • 指纹识别: 千元机标配,Android6.0开始开放指纹API。使用最为简单方便。
  • 虹膜识别: 最可靠的生物识别技术,部分高端手机已经适配虹膜摄像头。
  • 面部识别: 精确度日益提高.
  • 声纹识别: 成熟易用,微信已经开始启用声纹识别登录。
  • 其他:静脉识别、掌型识别、眼纹……
山东大学软件学院《大数据安全》复习纲要_第35张图片

多因素认证

用户要通过两种以上的认证机制之后,才能得到授权,使用计算机资源。例如,用户要输入PIN码,插入银行卡,最后再经指纹比对,通过这三种认证方式,才能获得授权。这种认证方式可以提高安全性。

FIDO

第一步:由用户终端设备(认证器)验证用户身份,验证方式可以多种多样,目前通常采用生物识别技术(指纹、人脸、声纹、虹膜等),验证通过后,从而解锁保存在认证器中的用户私钥;

第二步:使用解锁的用户私钥对响应消息进行签名,FIDO服务器端使用该用户对应的公钥进行验签,从而完成整个身份鉴别流程。

通过“两步走”的认证方式,FIDO UAF模型有效地分割了安全风险。

传统用户名/口令鉴别方式中用户的秘密都存储在服务器端并进行比对,一旦服务器被攻破,所有用户的秘密都将泄露;

而FIDO将用户的秘密前移到用户设备端,由设备中的认证器组件完成对用户身份的鉴别。

这样做的好处是:首先,用户秘密都存储在用户设备端,不会上传到服务器,这样避免了服务器被攻破时用户账户及生物特征模板泄露所造成的损失。由于用户生物模板存储在本地设备的安全区域,没有访问秘钥无法解锁和访问,这样就保证了生物特征模板的安全,即便设备丢失也无需担心秘密泄露。其次,设备中的认证器组件可以是多种多样的,例如指纹认证器、虹膜认证器、3D人脸认证器等等,这样就可以在用户设备端即插即用新的身份鉴别手段,而FIDO服务端不需要进行大的改动,从而提高身份鉴别系统的可扩展性,降低部署成本。

山东大学软件学院《大数据安全》复习纲要_第36张图片

你可能感兴趣的:(笔记,big,data,人工智能,数据挖掘)