zoukankan      html  css  js  c++  java
  • 认证加密(AE,Authenticated Encryption)

    认证加密即在加密的同时提供身份认证功能,同时保证数据的机密性和完整性。绝大部分的认证加密方案是将加密及MAC结合。

    AE方案构造框架

    • 发送者将(Nonce(或IV),Plaintext,Associated Data)作为输入,生成密文和Tag。其中,明文消息是保密的。加密阶段和MAC生成阶段使用不同的密钥。

    • 接收者进行解密,并生成Tag',验证Tag'是否等于Tag。若相等,则输出明文;否则认证失败。

    加密和认证的三种组合方式及其安全性

    选择明文攻击下的密文不可识别性 (IND-CPA)
    选择明文攻击下的密文非可塑性 (NM-CPA)
    选择密文攻击下的密文不可识别性 (IND-CCA)
    选择密文攻击下的密文非可塑性 (NM-CCA)
    明文完整性(INT-PTXT)
    密文完整性(INT-CTXT)

    Encrypt-and-MAC

    (E’_{Ke,Km}(M) = E_{Ke}(M) || T_{Km}(M)) 如SSH

    • MAC是针对明文的,所以密文没有完整性,会存在选择密文攻击。如Breaking and proofvach修复SSH认证的加密方案的第4部分所示:Encode-then-Encrypt-and-MAC范例的案例研究
    • 可以验证明文的完整性。
    • 如果密码方案是可延展的,密文的内容可以被改变,但是在解密时我们应该发现明文是无效的。
    • 可能会显示有关MAC中明文的信息。

    MAC-then-Encrypt

    (E’_{Ke,Km}(M) = E_{Ke}(M)|| T_{Km}(M)) 如TLS

    • 不对密文提供任何完整性,因为直到我们解密消息都无法知道它是真的还是伪造的。
    • 明文完整性。
    • 如果密码方案具有延展性,则可能会将消息更改为显示有效并具有有效的MAC。
    • 在这里,MAC无法提供任何有关明文的信息,因为它是加密的。

    Encrypt-then-MAC

    (E’_{Ke,Km}(M) = E_{Ke}(M) || T_{Km}(E_{Ke}(M)))

    • 提供密文的完整性。假设MAC共享密钥没有被破坏,我们应该能够推断给定的密文是真的还是伪造的。例如,在公钥密码学中,任何人都可以向你发送消息。EtM确保你只能阅读有效的消息。
    • 明文完整性。
    • 如果密码方案具有延展性,我们不必如此担心,因为MAC会过滤掉这个无效的密文。
    • MAC不提供关于明文的任何信息,因为假设密码的输出是随机的,MAC也是如此。换句话说,我们没有从明文进入MAC的任何结构。

    经典AE方案

    NIST ISO/IEC 19772:2009 AE标准

    • OCB2.0
    • Key Wrap
    • CCM
    • EAX
    • Encrypt-then-MAC
    • GCM

    Dual Counter Mode of Encryption(DCM)

    DCM有两个版本,在2001年由NSA的Boyle和Salter提交给NIST,并很快被攻破(无法保证完整性)。DCM的其中一个版本如下,(C_{j+1})作为Tag

    对于其完整性的一个伪造攻击如下:

    One-pass design (OCB)

    OCB是一种基于分组密码的工作模式,到目前为止它已有三个版本:OCB1(2001年)、OCB2(2003年)和 OCB3(2011年)。其中,OCB1 是IEEE 802.11i 的可选工作模式之一(也叫WRAP);OCB2 是NIST ISO/IEC 19772:2009标准之一。

    P. Rogaway, M. Bellare, and J. Black. OCB: A block-cipher mode of operation for effcient authenticated encryption. CCS 2001.

    下图为OCB1:

    CCM: CTR + CBC-MAC

    CCM是NIST ISO/IEC 19772:2009标准之一。

    D. Whiting, R. Housley, N. Ferguson. AES encryption & authentication using CTR mode & CBC-MAC. IEEE P802.11 doc 02/001r2, May 2002.

    GCM

    GCM是NIST ISO/IEC 19772:2009标准之一。

    D. McGrew, J. Viega. The security and performance of the Galois/CounterMode (GCM) of operation. INDOCRYPT 2004, LNCS vol. 3348, 2004.

    性能比较—— CCM, GCM, OCB3

    T. Krovetz, P. Rogawayy. The Software Performance of Authenticated-Encryption Modes. FSE 2011.

  • 相关阅读:
    Vue Scroller:Vue 下拉刷新及无限加载组件
    vue引用公用的头部和尾部文件。
    Java后期拓展(三)Nginx ——高性能的HTTP和反向代理服务器
    JAVA后期拓展(二)ZooKeeper——分布式应用程序协调服务系统
    Java高级部分
    Java后期拓展(一)非关系型数据库Redis
    LoadRunner(四)——深度了解LR相关功能
    LoadRunner(三)——LR相关概念&组成部分
    LoadRunner(二)——性能测试过程概述
    LoadRunner(一)——性能测试基础及性能指标概述
  • 原文地址:https://www.cnblogs.com/rookieveteran/p/13443464.html
Copyright © 2011-2022 走看看