华南理工大学研究生课程《高级计算机网络安全》考试复习

授课学院:计算机学院

授课教师:胡金龙老师

题型:简答、分析、综合

考试内容:

1.专题3-10:可信计算体系、TLS 1.3、差分隐私、零知识证明、格密码、区块链安全、物联网安全、软件定义网络安全

2.老师讲的内容:对称加密/非对称加密、数字证书、消息认证码、哈希函数等

以上内容的原理、特点、应用

老师讲的内容由PPT给出,这里主要总结专题3-10的一些基础知识

考完了……2018年考试内容大概如下,未来的同学们,学姐只能帮你们到这了……

1. 阐述差分隐私中的Laplace机制

2. 可信计算中信任链的实现

3. 零知识证明的过程(三个部分)

4. 阐述格密码中的LWE问题并举例说明

5. 对称密码算法和非对称密码算法的区别。在物联网环境下,无线传感节点资源有限,适合AES还是RSA?

6. 画图实现A、B之间的安全通信,使用对称加密,实现安全的密钥安全分发、保护数据完整性、机密性并且签名。


1. 可信计算体系

1.1 什么是可信计算

可信计算是为解决计算机系统不能从根本是解决安全问题而提出的,其主要思路是在PC硬件平台上引入安全芯片,先建立一个信任根,从信任根开始到硬件平台、操作系统,再到应用进程,一级认证一级,一级信任一级,建立一条信任链,从而把这种信任扩展到整个计算机系统, 提高终端系统的安全性[1]。

1.2 可信平台模块(TPM)

可信计算平台中的一个重要组成部分是可信计算密码支撑平台,它负责提供数字签名、身份认证、消息机密、授权访问、完整性度量等服务,由可信平台模块(TPM)和可信软件栈(TSS)两部分组成。这里介绍可信平台模块TPM。

TCG规范定义的TPM结构

各模块功能如下:

I/O:负责TPM与TPM与外界及TPM内部各物理模块间的通信。

密码协处理器:负责RSA运算的实现,内含一个执行运算的RSA引擎,提供数字签名、数据加密解密、密钥产生和管理等服务。

密码生成器:负责创建对称密钥和非对称密钥。

HMAC引擎:负责提供数据认证码和消息认证码两部分信息来保证数据和命令消息的完整性。

随机数生成器:负责产生各种密钥生成和签名中所需要的随机数。

SHA-1引擎:负责完成基本的哈希运算。

电源检测:负责管理TPM的电源状态,帮助TPM在电源状态发生变化时采取适当的限制措施。

选项开关:负责开启/关闭TPM功能,设置TPM的功能选项等。

执行引擎:负责执行经过I/O接口传送给TPM的命令。

非易失性存储器:用来保存永久身份和与TPM相关联的状态。

易失性存储器:用来保存TPM运行时的临时数据。

1.3 可信计算平台提供的功能

平台完整性度量与报告、平台身份可信、平台数据安全保护

1.4 实现原理

可信机制主要通过三个”信任根“来实现:

可信度量根:建立信任链的起点,是可信计算平台进行可信度量的基础。

可信存储根:保护保存在TPM之外的信息(数据和密钥等)。

可信报告根:对TPM的状态及信息进行数字签名。

1.5 可信计算应用[2]

1.5.1 Bit Locker

主要针对的是离线攻击问题,特别是在计算机丢失或失窃后,防止计算机中的数据被泄露。同时,它关心系统的可信引导,着力确保在操作系统之前执行的所有引导相关代码都不存在被篡改的现象,防止被植入病毒或Root Kit等恶意程序,确保操作系统从引导到用户登录均处于可信的状态。

1.5.2 可信计算池

可信计算池主要针对云租赁业务中不同用户的安全需求所提出的计算资源池化、管理方案。主要解决的是安全可信计算的资源创建、分配、虚拟机可信保护、业务运行跟踪等问题。

1.5.3 可信云主机安全

可信云主机方案主要由可信服务器、虚拟机安全套件、主机安全加固软件、应用安全容器套件等部分组成。

2. TLS 1.3

2.1 什么是TLS

TLS是一种用于为计算机网络通信提供安全性和完整性的密码协议,其前身是安全套阶层(SSL)。

2.2 TLS 1.3 的变化

  • 相比过去的的版本,引入了新的密钥协商机制 — PSK
  • 支持 0-RTT 数据传输,在建立连接时节省了往返时间
  • 废弃了 3DES、RC4、AES-CBC 等加密组件,废弃了 SHA1、MD5 等哈希算法
  • ServerHello 之后的所有握手消息采取了加密操作,可见明文大大减少
  • 不再允许对加密报文进行压缩、不再允许双方发起重协商
  • DSA 证书不再允许在 TLS 1.3 中使用

2.3 TLS 1.3的优势

安全保护:TLS 1.3移除了很多过时的、易受攻击的密码学算法和方法,在这方面的简化也使得运维和开发者配置 TLS 变得更容易。另外,ServerHello 之后的所有握手消息采取了加密操作,可见明文大大减少,保护了用户隐私。

性能提升:TLS 1.3 只需要一个 RTT 就能完成握手,相比 TLS 1.2 省去了一个 RTT。并且 TLS 1.3 支持 “0-RTT” 模式,在该模式下客户端可以在握手的同时发送数据,极大地加快了页面的加载速度。

3. 差分隐私

3.1 什么是差分隐私

差分隐私旨在提供一种当从统计数据库查询时,最大化数据查询的准确性,同时最大限度减少识别单个记录的机会,在使用户获得必要的统计数据的同时,无法查询具体的某条记录,达到保护个人隐私的目的。在数据库中,如果查询99个人的记录和查询100个人的记录返回的结果一致/接近一直,即第100个人对查询结果的影响很小,则攻击者无法推测出第100个人的信息。

3.2 差分隐私机制[3]

差分隐私的原理就是向查询结果中插入噪音。常用的噪音添加机制有Laplace机制和指数机制两种。

3.2.1 Laplace机制(2018年考了)

拉普拉斯机制通过向确切的查询结果中加入服从拉普拉斯分布的随机噪声来实现ε-差分隐私保护。拉普拉斯分布的概率密度为:

 

给定数据集D,设有函数f:D\rightarrow R^d,其敏感度为\Delta f,那么随机算法M(D)=f(D)+Y提供\varepsilon-差分隐私保护,其中Y\sim Lap(\Delta f/\varepsilon )为随机噪声,服从尺度参数为\Delta f/\varepsilon的拉普拉斯分布。

3.2.2 指数机制

由于Laplace机制只适用于数值型数据,有学者提出了适用于非数值型数据的指数机制。

设查询函数的输出域为Range,域中的每个值r∈Range为一实体对象。在指数机制下,函数q(D,r)->R成为输出值r的可用性函数,用来评估输出值r的优劣程度。

对于指数机制,我们进行以下定义:设随机算法M输入为数据集D,输出为一实体对象r∈Range,q(D,r)->R为可用性函数,Δq为函数q(D,r)->R的敏感度。若算法M以正比于exp(εq(D,r)/2Δq)的概率从Range中选择并输出r,那么算法M提供ε-差分隐私保护。

3.3 差分隐私缺点

由于向查询中插入了噪音和随机性,会影响数据的可用性,有时候加入了噪音的查询结果几乎掩盖了原本的真实数据。

3.3 差分隐私应用

推荐系统、社交网络、基于位置的服务等等。

4. 零知识证明(2018年考了零知识证明的过程)

4.1 什么是零知识证明

零知识证明指的是证明者能够在不向验证者提供任何有用的信息的情况下,使验证者相信某个论断是正确的。证明者向验证者证明并使其相信自己知道或拥有某一消息,但证明过程不能向验证者泄漏任何关于被证明消息的信息。

4.2 零知识证明的特点

零知识证明具有以下三个性质:

完备性:若命题为真,则诚实的验证方可以确信诚实的证明方的结果。

合理性:若命题为假,则几乎没有假冒的证明方能使得验证方相信证明成功。

零知识:若命题为真,验证方无法从证明方的结果中得到“该命题为真”之外的任何信息。

4.3 证明协议

Fiat-Shamir鉴别协议

Feige-Fiat-Shamir鉴别协议

GQ鉴别协议

Schnorr鉴别协议

4.4 zk-SNARK

zk-SNARK是“零知识简洁无交互知识认证” 的简称,是一种在无需泄露数据本身情况下证明某些数据运算的一种零知识证明。zk-SNARK 技术缩减了证明所需的时间和验证它们所需的计算量。它能够证明有效交易的条件已经满足,而不需要透露交易所涉及的地址或交易量的任何关键信息。Zk-Snarks 将需要验证的交易内容转化为两个多项式乘积相等的证明,并结合同态加密等高级技术,在执行事务验证的同时保护隐藏的事务量。

4.5 零知识证明的应用[4]

4.5.1 Zcash

Zcash 是第一个应用zk-SNARK技术的区块链,它能够提供完全隐私化和加密化的虚拟货币转账。Zcash 可以将交易纪录上的汇款者、收款者和金额都经过加密隐藏起来,因此矿工无从得知这些交易上的细节,但仍然可以验证交易。

4.5.2 智能合约

以太坊(Ethereum)上的智能合约目前也已经可以运用 Zk-Snarks 这套零知识证明的作法。但以太坊不完全是从隐私的角度切入,而是从节省运算成本的角度应用零知识证明。

透过 Zk-Snarks,以太坊矿工可以不用再重新执行交易的运算,而是只要对方提得出证明即可。

4.6 zk-SNARK的缺陷

  • 需要验证较为复杂的多项式,需要耗费较多计算资源。
  • zk-SNARK有一个初始设置的阶段,来生成“绝对机密”的随机信息。目前这些绝密随机信息的生成和保存仍然非常原始,并非完全安全。

5. 格密码

5.1 格和格密码

设v1,…,vn∈Rm,为一组线性无关的向量。由v1,…,vn生成的格L指的是向量v1,…,vn的线性组合构成的向量集合,且其所使用的系数均在Zn中,即L={a1v1+a2v2+⋯+anvn:a1,a2,…,an∈Z}。任意一组可以生成格的线性无关的向量都称为格的基,格的基中的向量个数称为格的维度。任意两组这样的向量中,向量的个数相同。某种程度上,格可以理解成系数为整数的向量空间[5]。

格密码是一类备受关注的抗量子计算攻击的公钥密码体制。与更广泛使用和已知的公钥方案 (如 RSA、Diffie-Hellman 或椭圆曲线密码系统) (这些方案很容易受到量子计算机的攻击) 不同, 一些基于格的结构似乎对经典和量子计算机的攻击都具有抵抗力。

5.2 一些格问题

5.2.1 SVP: Shortest Vector Problem(最短向量问题)

在格L中寻找一个最短的非零向量,即寻找一个非零向量v∈L,使它的欧几里得范数∥v∥最小。

5.2.2 CVP: Closet Vector Problem(最近向量问题)

给定一个不在格L中的向量w∈Rm,寻找一个向量v∈L,使它最接近w ,即寻找一个向量v∈L,使欧几里得范数∥w−v∥最小,即在格中寻找与指定非格向量最为接近的向量。

5.2.3 LWE: Learning with Errors Problem(容错学习问题)(2018年考了)

6. 区块链安全

6.1 区块链的特点

  • 去中心化:与传统中心化的方式不同,区块链没有中心,或者说人人都是中心。
  • 防篡改:数据一旦记录到区块链中,几乎无法实现修改。若要强行修改则需要付出巨大代价。
  • 去信任:无需信任某一个中心或节点,无需可信第三方即可进行交易。

6.2 区块链安全六大类型[6]

  • 密码学。密码学是区块链最底层的支撑技术,包含了哈希算法、数字签名、随机数等,如果这些密码学技术存在问题或者漏洞,那么基于此的整个区块链构建的信任将会坍塌。
  • 用户私钥的生成、使用与保护。用户参与区块链的凭证是一对公私钥,每个人通过区块链产生交互行为的前提就是他拥有安全的私钥、并且能保管好自己的私钥,因此私钥的生成、试用与保护问题就非常重要。
  • 节点系统安全漏洞。这一问题归属于传统安全范畴,比如区块链节点不能存在缓冲区溢出等传统的安全漏洞。另外区块链节点的实现要能忠实地正确实现区块链的共识协议;节点不能暴露不该暴露的API接口,导致黑客可以无障碍的获取一些节点关键信息。
  • 底层共识协议。目前市场上主流的区块链共识协议有以下几种,POW、POS、DPOS、PBFT。底层共识协议决定了区块链整个架构是否可信,能不能真正做到形成一个具有共识的区块链。共识协议有一个不可能实现的三角关系:安全、去中心化和效率,这三者不可同时兼得。
  • 智能合约。智能合约是一套以数字形式定义的承诺(promises),包括合约参与方可以在上面执行这些承诺的协议。任何参与方都能在应用层创建合约,也就是所谓的DAPP(去中心化应用)。这也是目前出现安全问题最多的地方。智能合约安全隐患包含了三个方面:第一,有没有漏洞。合约代码中是否有常见的安全漏洞。第二,是否可信。没有漏洞的智能合约,未必就安全,合约要保证公平可信。 第三,符合一定规范和流程。由于合约的创建要求以数字形式来进行定义承诺,所以如果合约的创建过程不够规范,就容易留下巨大的隐患。

  • 激励机制设计。智能合约要完成协作,通常是要设计相应的经济激励机制。经济激励是区块链技术里面非常有突破性的一个概念。一个真正健康有活力的区块链生态,需要一个很好的激励机制。但是经济激励设计得不够安全,可能生态就无法建设起来,比如典型的类庞氏游戏。

6.3 51%算力攻击

所谓51%攻击,就是利用比特币使用算力作为竞争条件的特点,使用算力优势撤销自己已经发生的付款交易。如果有人掌握了50%以上的算力,他能够比其他人更快地找到开采区块需要的那个随机数,因此他实际上拥有了绝对那个一区块的有效权利。

7. 物联网安全

7.1 物联网的安全问题[7]

7.1.1 安全隐私

  如射频识别技术被用于物联网系统时,RFID标签被嵌入任何物品中,比如人们的日常生活用品中,而用品的拥有者不一定能觉察,从而导致用品的拥有者不受控制地被扫描、定位和追踪。

7.1.2 智能感知节点的自身安全问题

  即物联网机器/感知节点的本地安全问题。由于物联网的应用可以取代人来完成一些复杂、危险和机械的工作,所以物联网机器/感知节点多数部署在无人监控的场景中。那么攻击者就可以轻易地接触到这些设备,从而对它们造成破坏。

7.1.3 假冒攻击

  由于智能传感终端、RFID电子标签相对于传统TCP/IP网络而言是“裸露”在攻击者的眼皮底下的,再加上传输平台是在一定范围内“暴露”在空中的,“窜扰”在传感网络领域显得非常频繁、并且容易。

7.1.4 数据驱动攻击

  数据驱动攻击是通过向某个程序或应用发送数据,以产生非预期结果的攻击,通常为攻击者提供访问目标系统的权限。数据驱动攻击分为缓冲区溢出攻击、格式化字符串攻击、输入验证攻击、同步漏洞攻击、信任漏洞攻击等。

7.1.5 恶意代码攻击

  恶意程序在无线网络环境和传感网络环境中有无穷多的入口。一旦入侵成功,之后通过网络传播就变得非常容易。它的传播性、隐蔽性、破坏性等相比TCP/IP网络而言更加难以防范。

7.1.6 拒绝服务

  这种攻击方式多数会发生在感知层安全与核心网络的衔接之处。由于物联网中节点数量庞大,且以集群方式存在,因此在数据传播时,大量节点的数据传输需求会导致网络拥塞,产生拒绝服务攻击。

7.2 物联网需要提供的安全功能

  • 数据完整性
  • 数据分享
  • 身份认证和访问控制
  • 数据的隐私问题

8. 软件定义网络(SDN)安全

8.1 安全类型[8]

8.1.1 控制平面安全

集中化的控制平面承载网络环境中的所有控制流,是网络服务的中枢,直接关系网络服务的可用性、可靠性和数据安全性,面临网络监听、IP 地址欺骗、DoS/DDoS 攻击和病毒木马攻击的威胁。

8.1.2 应用平面安全

随着SDN的推广和发展,应用层将提供各种复杂的网络服务,恶意应用和应用安全规则混乱的安全问题也将随之而来。

8.1.3 数据平面安全

基础设施层的交换机等设备主要负责数据处理、转发和状态收集,对控制器下发的流规则绝对信任,该层面临恶意/虚假流规则注入、DoS/DDoS攻击、非法访问、身份假冒等问题,还可能面临由虚假控制器的无序控制指令导致的交换机流表混乱等威胁。

8.1.4 南向接口安全

OpenFlow协议是ONF标准化组织唯一确定的SDN 南向接口通信规范,OpenFlow安全通道采用SSL/TLS 对数据进行加密,OpenFlow 1.3.0 版本之后的规范将TLS设为可选项,允许控制通道不采取任何安全措施,南向接口面临窃听、控制器假冒等安全威胁。

8.1.5北向接口安全

北向接口对应用程序的认证方法和粒度尚没有统一的规定。相对南向接口,北向接口在控制器和应用程序之间建立的信赖关系更加脆弱,攻击者可利用北向接口的开放性和可编程性,对控制器中的某些重要资源进行访问,使得攻击北向接口的门槛更低,面临非法访问、数据泄露、消息篡改、身份假冒、应用程序自身的漏洞等问题。

8.2 SDN-enabled Security

SDN对网络流量灵活的操作,SDN控制器具有全局网络的视图,这些对安全管理和控制系统,都是非常大的利好。如果能借助SDN对整体网络的实时、全局洞察力和控制力,安全应用就能很灵活的部署和调度安全资源,结合软件定义安全架构,就能建立非常强大的安全运营能力和应急响应机制。

9. 上课内容补充

9.1 分组密码的两个原则

  • 混淆:使密文的统计特性与密钥的取值之间的关系尽可能复杂化,以使密钥和明文以及密文之间的依赖性对密码分析者来说是无法利用的。
  • 扩散:将每一位明文的影响尽可能迅速地作用到较多的输出密文位中,以便在大量的密文中消除明文的统计结构,并且使每一位密钥的影响尽可能迅速地扩展到较多的密文位中,以防对密钥进行逐段破译。

9.2 DES算法特点

  • 分组加密算法:以64位为分组。64位明文输入,64位密文输出。
  • 对称算法:加密和解密使用同一秘钥
  • 有效秘钥长度为56位:秘钥通常表示为64位数,但每个第8位用作奇偶校验,可以忽略。
  • 代替和置换:DES算法是两种加密技术的组合:混乱和扩散。先替代后置换。
  • 易于实现:DES算法只是使用了标准的算术和逻辑运算,其作用的数最多也只有64 位,因此用70年代末期的硬件技术很容易实现算法的重复特性使得它可以非常理想地用在一个专用芯片中。

9.2.1 优点:

  • 效率高,算法简单,系统开销小
  • 适合加密大量数据
  • 明文长度和密文长度相等

9.2.2 缺点:

  • 需要以安全方式进行秘钥交换
  • 秘钥管理复杂

9.3 对称/非对称密码算法问题

9.3.1 对称密码算法问题

  • 密钥管理问题:两两分别用一对密钥,当用户量增大时,密钥空间急剧增大
  • 无法实现抗否认需求。

9.3.2 非对称密码算法问题

  • 加解密速度慢。

9.4 公钥应用

  • 加密/解密(提供安全性)
  • 数字签名(提供认证)
  • 密钥交换 (会话密钥)

本文参考了一些文章~主要参考的文章链接?如下,感谢!

[1]:https://wenku.baidu.com/view/2e12eb19b7360b4c2e3f64e8.html

[2]:http://www.sohu.com/a/256818986_653604

[3]:https://cloud.tencent.com/developer/article/1345691

[4]:https://baijiahao.baidu.com/s?id=1623327901866768747&wfr=spider&for=pc

[5]:https://blog.csdn.net/lllunijia/article/details/76022014

[6]:https://3kemao.com/archives/55728

[7]:http://m.elecfans.com/article/757655.html

[8]:http://www.sohu.com/a/242521056_653604

发布了11 篇原创文章 · 获赞 4 · 访问量 3384
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 终极编程指南 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览