目录

  • 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 物联网的安全防护与测评
安全多方计算协议

安全多方计算协议

     安全多方计算是解决在无可信第三方的情况下,互不信任的两个或多个用户,在不泄露各自私有输入信息的前提下,如何安全地协同合作,执行某个约定函数的计算问题。

     安全多方计算是现代密码学的重要基础之一,在电子选举、门限签名、电子拍卖、秘密共享等领域得到了广泛应用。

     安全多方计算基础协议包括不经意传输协议、秘密比较协议、置换协议、点积协议等。

秘密比较协议

姚期智老师的题设:

先简化问题,假设富翁A和B分别有i,j亿资产,其中i,j ∈ [1, 100]

B 拥有一对密钥(kEB, kDB),其中 kEB 为公钥,kDB 为私钥。A 知道 B 的公钥 kEB。

姚期智老师的算法:

<1> A 选择一个随机大整数 x,并使用 B 的公钥加密得到 c=EkEB(x);A 计算 c–i,并将结果发送给 B。 

<2> B 计算以下 100 个数:yu=DkDB(c–i+w),u∈[1, 100]。B 需要选择略小于 x 的一个大素数 p(B 并不知道 x,但 A 可以将 x 的数量级告诉 B),然后计算以下 100 个数:Zu=yu mod p,u ∈[1, 100]。然后验证对所有的 u≠v, Zu –Zv ≥2,并对全部的 u 来验证 0<Zu<p–1。

<3> B 将以下数列依次发送给 A:Z1,Z2,…,Zj,Zj+1,…,Z100+1,p。 

<4> A 验证上述数列的第 i 个数是否与 x mod p 同余。若同余,则 B 可得 i≤j,否则 i>j。 

<5> A 将此结论告知 B。 

该算法的简易描述:

第一步,经过特定的操作,让A构造出 n 个锁,B有且仅有第 j 个锁的钥匙,但是A不知道 j 是多少;

第二步,A给B n 个锁着的标志位,其中前 i 个标志位置0,后 n-i 个置1;

第三步,B检查第 j 个锁锁着的标志位是否为0。如果为0则 i >= j,否则 i < j。

不经意传输协议

     不经意传输协议(Oblivious Transfer Protocol,OTP)又称为茫然传输协议,是由美国哈佛大学 M. Rabin 等人于 1981 年首次提出的。作为安全多方计算领域中极为重要的基础协议,一般模型下的安全多方计算问题理论上均可通过不经意传输协议来求解。 

      该协议实现了发送方将潜在的许多信息中的一个传递给接收方,但对接收方所接收信息保持未知状态。

      在Rabin的协议基础上,不经意传输协议发展为二选一不经意传输(OT12)、n 选一不经意传输(OT1n)、 n 选 m 不经意传输(OTmn)等类型。

举例



上图就是一个典型的OT12协议。

  • Alice每次发两条信息(a1、a2)给Bob,

  • Bob提供一个输入,并根据输入获得输出信息,

  • 在协议结束后,Bob得到了自己想要的那条信息(a1或者a2),而Alice并不知道Bob最终得到的是哪条。

上图就是一个典型的OTn1协议。

  • Alice每次发n条信息(a0、a1、… , an-1)给Bob,

  • Bob提供一个输入,并根据输入获得输出信息,

  • 在协议结束后,Bob得到了自己想要的那条信息(ai),而Alice并不知道Bob最终得到的是哪条。

Naor-Pinkas不经意传输协议是经典的OT协议,其基于离散对数困难问题,通过三次公钥密码学操作实现了 OT12.


安全置换协议

安全多方置换问题可以描述为:

A 拥有一个 n 维私密向量 X=(x1, x2, …, xn),

B 拥有一个置换排列函数π和 n 维私密向量 Y=(y1, y2, …, yn),B 向 A 公开π,二者合作计算π(X+Y),A 需要获得π(X+Y),同时要求 A 不能获得 Y 和任何 yi,i∈[1, N]的信息,B 也不能获得任何 xi 的信息。

保密点积协议

     保密点积协议是许多安全多方计算问题中一个重要的协议,常被用在许多保密数据挖掘协议中,为这些协议提供了重要的安全保证。该协议潜在的应用领域是广阔的,如计算欧几里得距离、保密计算几何、保密协作统计分析等。

     保密点积协议 (privacy-preserving dot product protocol). 该问题最初被 Du 和 Atallah 在2001年提出。协议可描述为: 

假设有两个参与者, 

Alice 拥有秘密输入向量X=(x1, … xn) , 

Bob 拥有秘密输入向量 Y=(y1, …, yn),

      他们希望进行合作计算并在协议结束后, Alice 得到值rA = X ⋅ Y  - rB(这里 rB 是 Bob 选取的一个随机值). 

同时要满足 Alice 不能从 rA中得到有关 X ⋅Y 的值, 也不能从自己获取的信息中推出任何有关 yi的信息; Bob 不能得到 rA的值, 也不能推出有关 xi 的信息.

点积协议可以采用不经意传输等方式来构建。