目录

  • 1 第一单元 网络空间安全概述
    • 1.1 课程介绍
    • 1.2 信息与信息系统
    • 1.3 网络空间的概念
    • 1.4 网络空间安全
    • 1.5 网络空间安全知识体系和系统工程
  • 2 第二单元 网络空间安全体系和通用技术安全技术
    • 2.1 安全威胁
    • 2.2 网络攻击
    • 2.3 信息安全策略与模型
    • 2.4 安全服务与安全机制
    • 2.5 访问控制
  • 3 第三单元 现代密码体制与攻防对抗
    • 3.1 密码学回顾
    • 3.2 密码攻防对抗
  • 4 第四单元 安全漏洞和恶意代码
    • 4.1 漏洞的定义和描述
    • 4.2 漏洞挖掘与分析技术
    • 4.3 漏洞扫描技术
    • 4.4 常见漏洞
    • 4.5 恶意代码分类及特征
    • 4.6 病毒攻击和防范
    • 4.7 实验视频
  • 5 第五单元 防火墙和入侵检测系统
    • 5.1 防火墙的概念
    • 5.2 防火墙的分类
    • 5.3 防火墙的指标
    • 5.4 面向防火墙的攻防对抗方法
    • 5.5 下一代防火墙
  • 6 第六单元 网络安全协议
    • 6.1 网络安全协议概述
    • 6.2 安全多方计算协议
    • 6.3 比特承诺协议
    • 6.4 Kerberos认证协议
  • 7 第七单元 信任管理与可信计算
    • 7.1 信任管理和可信计算概述
    • 7.2 可信计算技术架构
    • 7.3 可信计算平台
    • 7.4 可信网络连接
  • 8 第八单元 网络内容安全和舆情控制
    • 8.1 网络不良信息及其分类
    • 8.2 网络信息的传播特点及安全问题
    • 8.3 网络内容监控技术
    • 8.4 网络不良信息监管技术
    • 8.5 网络舆情监控
  • 9 第九单元 信息安全风险评估和安全检测
    • 9.1 信息安全风险评估和安全检测概述
    • 9.2 信息安全风险评估
    • 9.3 信息系统安全测评
    • 9.4 风险评估与安全测评的方法和工具
    • 9.5 风险评估与安全测评发展趋势
  • 10 第十单元 存储备份和灾难恢复
    • 10.1 存储备份和灾难恢复概述
    • 10.2 信息存储设备与技术
    • 10.3 系统备份
    • 10.4 信息系统容灾与灾难恢复
  • 11 第十一单元 软件安全性和软件安全工程
    • 11.1 软件安全性和软件安全工程概述
    • 11.2 软件失效机理
    • 11.3 软件安全需求工程
    • 11.4 软件安全性的分析和设计
    • 11.5 软件安全编码
    • 11.6 软件安全测试
  • 12 第十二单元 信息安全管理、法律法规和标准
    • 12.1 信息安全管理
    • 12.2 信息安全法律法规
    • 12.3 信息安全标准
  • 13 第十三单元 网络空间的典型信息系统的安全防护与测评
    • 13.1 云计算系统的安全防护与测评
    • 13.2 移动智能终端的安全防护与测评
    • 13.3 工业控制网络的安全防护与测评
    • 13.4 物联网的安全防护与测评
比特承诺协议

比特承诺协议

      随着互联网金融的飞速发展,越来越多互不信任的通信者需要通过互联网终端来实现合作,因此需要各终端之间建立必要的信任关系,实现安全的“比特承诺”则是其重要的理论基础。作为现代密码学中的重要基础协议,比特承诺协议可用于构建零知识证明、可验证秘密共享等协议,同时可与不经意传输等一起构成安全双方计算的基础。

      1982 年,时任美国加州大学伯克利分校教授的曼纽尔·布卢姆(Manuel Blum)提出了比特承诺(Bit Commitment,BC)协议。1995 年,布卢姆教授因其在计算复杂性和密码系统(包括比特承诺协议)等方面的开创性贡献获得图灵奖。 

“比特承诺”机制的学术化描述:

A、B 为互不信任的通信终端。

(1)承诺阶段,发送方 A选择一个要承诺的比特b(b等于0或者1),并把能表示该预测的信息c从给B;

(2)揭示阶段,A 把打开承诺的消息d和b发给B。B用d打开c,并且验证b是否是A承诺的比特。

     由此,A、B 双方均可确信对方信守承诺,从而双方建立了信任关系并实现通信。如果在承诺阶段 A 所承诺的是多个 bit,则称该承诺为比特串承诺。 

比特承诺协议的特点

通常,比特承诺协议应满足下列性质要求: 

  • 正确性。若 A、B 双方都能够诚实地执行比特承诺协议,在揭示阶段,B 将正确获得 A 所承诺的预测比特值 b(0 或 1)。 

  • 保密性。在揭示阶段之前,B 无法获知 A 有关 b 的任何信息,保险箱不能被暴力破解。 

  • 绑定性。在承诺阶段结束后,B 只能在揭示阶段获得唯一的 b。 

从比特承诺的定义中可以看出,似乎其与公钥签名有一定的相似性,但他们也有区别:比特承诺并不是公开可以验证的,必须是A给出信息d,验证者B才能验证。

比特承诺协议的实现

      为了实现安全的“比特承诺”,出现了多种具体的解决方案。经典密码学提供了两种解决思路:使用第三方公共平台利用计算复杂性假设。其中,使用对称密码算法、单向函数、伪随机序列数的比特承诺方案应用较为广泛。

      基于对称密码算法的比特承诺协议使用对称密码算法作为计算函数,具体步骤如下: 

<1> 初始化阶段。接收方 B 首先生成一个随机比特串 R,并将其发送给 A。 

<2> 承诺阶段。A 生成一个想承诺的 b 组成的消息(实际上 b 可为若干比特),使用某个随机密钥 K 对 b 及 B 发来的随机串 R 使用对称密码算法加密,并将结果 EK(R, b)发送给 Bob。  

<3> 揭示阶段。A 将密钥 K 发送给 B;B 使用 K 对 A 发送来的 EK(R, b)进行解密,得到 DK(EK(R, b))=(R, b),从而揭示出比特 b。B 通过检测解密消息中包含的随机串 R 来证实 A 所承诺的比特 b 的有效性。