授课学院:计算机学院
授课教师:胡金龙老师
题型:简答、分析、综合
考试内容:
1.专题3-10:可信计算体系、TLS 1.3、差分隐私、零知识证明、格密码、区块链安全、物联网安全、软件定义网络安全
2.老师讲的内容:对称加密/非对称加密、数字证书、消息认证码、哈希函数等
以上内容的原理、特点、应用
老师讲的内容由PPT给出,这里主要总结专题3-10的一些基础知识
考完了……2018年考试内容大概如下,未来的同学们,学姐只能帮你们到这了……
1. 阐述差分隐私中的Laplace机制
2. 可信计算中信任链的实现
3. 零知识证明的过程(三个部分)
4. 阐述格密码中的LWE问题并举例说明
5. 对称密码算法和非对称密码算法的区别。在物联网环境下,无线传感节点资源有限,适合AES还是RSA?
6. 画图实现A、B之间的安全通信,使用对称加密,实现安全的密钥安全分发、保护数据完整性、机密性并且签名。
可信计算是为解决计算机系统不能从根本是解决安全问题而提出的,其主要思路是在PC硬件平台上引入安全芯片,先建立一个信任根,从信任根开始到硬件平台、操作系统,再到应用进程,一级认证一级,一级信任一级,建立一条信任链,从而把这种信任扩展到整个计算机系统, 提高终端系统的安全性[1]。
可信计算平台中的一个重要组成部分是可信计算密码支撑平台,它负责提供数字签名、身份认证、消息机密、授权访问、完整性度量等服务,由可信平台模块(TPM)和可信软件栈(TSS)两部分组成。这里介绍可信平台模块TPM。
各模块功能如下:
I/O:负责TPM与TPM与外界及TPM内部各物理模块间的通信。
密码协处理器:负责RSA运算的实现,内含一个执行运算的RSA引擎,提供数字签名、数据加密解密、密钥产生和管理等服务。
密码生成器:负责创建对称密钥和非对称密钥。
HMAC引擎:负责提供数据认证码和消息认证码两部分信息来保证数据和命令消息的完整性。
随机数生成器:负责产生各种密钥生成和签名中所需要的随机数。
SHA-1引擎:负责完成基本的哈希运算。
电源检测:负责管理TPM的电源状态,帮助TPM在电源状态发生变化时采取适当的限制措施。
选项开关:负责开启/关闭TPM功能,设置TPM的功能选项等。
执行引擎:负责执行经过I/O接口传送给TPM的命令。
非易失性存储器:用来保存永久身份和与TPM相关联的状态。
易失性存储器:用来保存TPM运行时的临时数据。
平台完整性度量与报告、平台身份可信、平台数据安全保护
可信机制主要通过三个”信任根“来实现:
可信度量根:建立信任链的起点,是可信计算平台进行可信度量的基础。
可信存储根:保护保存在TPM之外的信息(数据和密钥等)。
可信报告根:对TPM的状态及信息进行数字签名。
主要针对的是离线攻击问题,特别是在计算机丢失或失窃后,防止计算机中的数据被泄露。同时,它关心系统的可信引导,着力确保在操作系统之前执行的所有引导相关代码都不存在被篡改的现象,防止被植入病毒或Root Kit等恶意程序,确保操作系统从引导到用户登录均处于可信的状态。
可信计算池主要针对云租赁业务中不同用户的安全需求所提出的计算资源池化、管理方案。主要解决的是安全可信计算的资源创建、分配、虚拟机可信保护、业务运行跟踪等问题。
可信云主机方案主要由可信服务器、虚拟机安全套件、主机安全加固软件、应用安全容器套件等部分组成。
TLS是一种用于为计算机网络通信提供安全性和完整性的密码协议,其前身是安全套阶层(SSL)。
安全保护:TLS 1.3移除了很多过时的、易受攻击的密码学算法和方法,在这方面的简化也使得运维和开发者配置 TLS 变得更容易。另外,ServerHello 之后的所有握手消息采取了加密操作,可见明文大大减少,保护了用户隐私。
性能提升:TLS 1.3 只需要一个 RTT 就能完成握手,相比 TLS 1.2 省去了一个 RTT。并且 TLS 1.3 支持 “0-RTT” 模式,在该模式下客户端可以在握手的同时发送数据,极大地加快了页面的加载速度。
差分隐私旨在提供一种当从统计数据库查询时,最大化数据查询的准确性,同时最大限度减少识别单个记录的机会,在使用户获得必要的统计数据的同时,无法查询具体的某条记录,达到保护个人隐私的目的。在数据库中,如果查询99个人的记录和查询100个人的记录返回的结果一致/接近一直,即第100个人对查询结果的影响很小,则攻击者无法推测出第100个人的信息。
差分隐私的原理就是向查询结果中插入噪音。常用的噪音添加机制有Laplace机制和指数机制两种。
拉普拉斯机制通过向确切的查询结果中加入服从拉普拉斯分布的随机噪声来实现ε-差分隐私保护。拉普拉斯分布的概率密度为:
给定数据集D,设有函数,其敏感度为
,那么随机算法
提供
-差分隐私保护,其中
为随机噪声,服从尺度参数为
的拉普拉斯分布。
由于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提供ε-差分隐私保护。
由于向查询中插入了噪音和随机性,会影响数据的可用性,有时候加入了噪音的查询结果几乎掩盖了原本的真实数据。
推荐系统、社交网络、基于位置的服务等等。
零知识证明指的是证明者能够在不向验证者提供任何有用的信息的情况下,使验证者相信某个论断是正确的。证明者向验证者证明并使其相信自己知道或拥有某一消息,但证明过程不能向验证者泄漏任何关于被证明消息的信息。
零知识证明具有以下三个性质:
完备性:若命题为真,则诚实的验证方可以确信诚实的证明方的结果。
合理性:若命题为假,则几乎没有假冒的证明方能使得验证方相信证明成功。
零知识:若命题为真,验证方无法从证明方的结果中得到“该命题为真”之外的任何信息。
Fiat-Shamir鉴别协议
Feige-Fiat-Shamir鉴别协议
GQ鉴别协议
Schnorr鉴别协议
zk-SNARK是“零知识简洁无交互知识认证” 的简称,是一种在无需泄露数据本身情况下证明某些数据运算的一种零知识证明。zk-SNARK 技术缩减了证明所需的时间和验证它们所需的计算量。它能够证明有效交易的条件已经满足,而不需要透露交易所涉及的地址或交易量的任何关键信息。Zk-Snarks 将需要验证的交易内容转化为两个多项式乘积相等的证明,并结合同态加密等高级技术,在执行事务验证的同时保护隐藏的事务量。
Zcash 是第一个应用zk-SNARK技术的区块链,它能够提供完全隐私化和加密化的虚拟货币转账。Zcash 可以将交易纪录上的汇款者、收款者和金额都经过加密隐藏起来,因此矿工无从得知这些交易上的细节,但仍然可以验证交易。
以太坊(Ethereum)上的智能合约目前也已经可以运用 Zk-Snarks 这套零知识证明的作法。但以太坊不完全是从隐私的角度切入,而是从节省运算成本的角度应用零知识证明。
透过 Zk-Snarks,以太坊矿工可以不用再重新执行交易的运算,而是只要对方提得出证明即可。
设v1,…,vn∈Rm,为一组线性无关的向量。由v1,…,vn生成的格L指的是向量v1,…,vn的线性组合构成的向量集合,且其所使用的系数均在Zn中,即L={a1v1+a2v2+⋯+anvn:a1,a2,…,an∈Z}。任意一组可以生成格的线性无关的向量都称为格的基,格的基中的向量个数称为格的维度。任意两组这样的向量中,向量的个数相同。某种程度上,格可以理解成系数为整数的向量空间[5]。
格密码是一类备受关注的抗量子计算攻击的公钥密码体制。与更广泛使用和已知的公钥方案 (如 RSA、Diffie-Hellman 或椭圆曲线密码系统) (这些方案很容易受到量子计算机的攻击) 不同, 一些基于格的结构似乎对经典和量子计算机的攻击都具有抵抗力。
在格L中寻找一个最短的非零向量,即寻找一个非零向量v∈L,使它的欧几里得范数∥v∥最小。
给定一个不在格L中的向量w∈Rm,寻找一个向量v∈L,使它最接近w ,即寻找一个向量v∈L,使欧几里得范数∥w−v∥最小,即在格中寻找与指定非格向量最为接近的向量。
智能合约。智能合约是一套以数字形式定义的承诺(promises),包括合约参与方可以在上面执行这些承诺的协议。任何参与方都能在应用层创建合约,也就是所谓的DAPP(去中心化应用)。这也是目前出现安全问题最多的地方。智能合约安全隐患包含了三个方面:第一,有没有漏洞。合约代码中是否有常见的安全漏洞。第二,是否可信。没有漏洞的智能合约,未必就安全,合约要保证公平可信。 第三,符合一定规范和流程。由于合约的创建要求以数字形式来进行定义承诺,所以如果合约的创建过程不够规范,就容易留下巨大的隐患。
激励机制设计。智能合约要完成协作,通常是要设计相应的经济激励机制。经济激励是区块链技术里面非常有突破性的一个概念。一个真正健康有活力的区块链生态,需要一个很好的激励机制。但是经济激励设计得不够安全,可能生态就无法建设起来,比如典型的类庞氏游戏。
所谓51%攻击,就是利用比特币使用算力作为竞争条件的特点,使用算力优势撤销自己已经发生的付款交易。如果有人掌握了50%以上的算力,他能够比其他人更快地找到开采区块需要的那个随机数,因此他实际上拥有了绝对那个一区块的有效权利。
如射频识别技术被用于物联网系统时,RFID标签被嵌入任何物品中,比如人们的日常生活用品中,而用品的拥有者不一定能觉察,从而导致用品的拥有者不受控制地被扫描、定位和追踪。
即物联网机器/感知节点的本地安全问题。由于物联网的应用可以取代人来完成一些复杂、危险和机械的工作,所以物联网机器/感知节点多数部署在无人监控的场景中。那么攻击者就可以轻易地接触到这些设备,从而对它们造成破坏。
由于智能传感终端、RFID电子标签相对于传统TCP/IP网络而言是“裸露”在攻击者的眼皮底下的,再加上传输平台是在一定范围内“暴露”在空中的,“窜扰”在传感网络领域显得非常频繁、并且容易。
数据驱动攻击是通过向某个程序或应用发送数据,以产生非预期结果的攻击,通常为攻击者提供访问目标系统的权限。数据驱动攻击分为缓冲区溢出攻击、格式化字符串攻击、输入验证攻击、同步漏洞攻击、信任漏洞攻击等。
恶意程序在无线网络环境和传感网络环境中有无穷多的入口。一旦入侵成功,之后通过网络传播就变得非常容易。它的传播性、隐蔽性、破坏性等相比TCP/IP网络而言更加难以防范。
这种攻击方式多数会发生在感知层安全与核心网络的衔接之处。由于物联网中节点数量庞大,且以集群方式存在,因此在数据传播时,大量节点的数据传输需求会导致网络拥塞,产生拒绝服务攻击。
集中化的控制平面承载网络环境中的所有控制流,是网络服务的中枢,直接关系网络服务的可用性、可靠性和数据安全性,面临网络监听、IP 地址欺骗、DoS/DDoS 攻击和病毒木马攻击的威胁。
随着SDN的推广和发展,应用层将提供各种复杂的网络服务,恶意应用和应用安全规则混乱的安全问题也将随之而来。
基础设施层的交换机等设备主要负责数据处理、转发和状态收集,对控制器下发的流规则绝对信任,该层面临恶意/虚假流规则注入、DoS/DDoS攻击、非法访问、身份假冒等问题,还可能面临由虚假控制器的无序控制指令导致的交换机流表混乱等威胁。
OpenFlow协议是ONF标准化组织唯一确定的SDN 南向接口通信规范,OpenFlow安全通道采用SSL/TLS 对数据进行加密,OpenFlow 1.3.0 版本之后的规范将TLS设为可选项,允许控制通道不采取任何安全措施,南向接口面临窃听、控制器假冒等安全威胁。
北向接口对应用程序的认证方法和粒度尚没有统一的规定。相对南向接口,北向接口在控制器和应用程序之间建立的信赖关系更加脆弱,攻击者可利用北向接口的开放性和可编程性,对控制器中的某些重要资源进行访问,使得攻击北向接口的门槛更低,面临非法访问、数据泄露、消息篡改、身份假冒、应用程序自身的漏洞等问题。
SDN对网络流量灵活的操作,SDN控制器具有全局网络的视图,这些对安全管理和控制系统,都是非常大的利好。如果能借助SDN对整体网络的实时、全局洞察力和控制力,安全应用就能很灵活的部署和调度安全资源,结合软件定义安全架构,就能建立非常强大的安全运营能力和应急响应机制。
本文参考了一些文章~主要参考的文章链接?如下,感谢!
[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