云计算导论心得总结(汇总6篇)

山崖发表网工作总结2023-12-31 15:03:5227

云计算导论心得总结 第1篇

内部攻击是指控制和保护资产的内部人员利用安全漏洞进行的攻击。

在恶意软件 Malware 中,内部攻击是指由某位程序员在软件系统中创建的安全漏洞。

后门是程序中隐藏的功能或命令,有时也称为活门,它允许用户执行一些操作,在正常情况下,这些操作是不允许用户执行的。

当以正常方式使用时,程序能完全按预期和宣传的那样执行。

但是,如果激活了隐藏的功能,程序会执行意想不到的操作,通常这些操作会违反安全策略,如执行特权升级。

类型:为调试插入的后门、故意的后门、复活节彩蛋。

逻辑炸弹是一种程序,它根据一定的逻辑条件执行恶意操作。

逻辑炸弹的一个典型的例子是程序员编写的工资管理系统软件,如果工资管理系统连续两次没有支付给他工资,他嵌入程序中的代码会使程序崩溃。

另一个典型的例子是逻辑炸弹和后门的结合,程序员在程序中放入了逻辑炸弹。

千年虫问题。

一个真正触发了逻辑炸弹并造成损害的例子是程序员 Tim Lloyd 对他的前雇主 Omega Engineering 公司使用了逻辑炸弹,之后被定罪。

避免单点故障、使用代码走查、使用归档和报告工具、限制授权和权限、重要系统的物理安全、监控员工行为、控制软件的安装。

计算机病毒是一种能自我复制的计算机指令或程序代码,它通过修改其他文件与程序来插入代码,且能进一步自我复制,这种自我复制的特性是计算机病毒与其他类型恶意软件(如逻辑炸弹)的不同之处。

病毒的另一个特性是其复制需要某种类型的用户协助,如打开电子邮件附件或共享 USB 驱动器。

潜伏阶段:病毒只是存在——病毒很低调并避免被检测到。

繁殖阶段:病毒进行自我复制,感染新系统中的新文件。

触发阶段:一些逻辑条件导致病毒从潜伏或繁殖阶段转换为执行病毒预定的操作。

行动阶段:病毒会执行恶意的操作,这些执行是早已设计好的,称为有效载荷。这些操作可以包括一些貌似无辜的行为,如在计算机屏幕上显示很滑稽的图片;还包括一些恶意的行为:如删除硬盘上所有的重要文件。

程序病毒/文件病毒:感染计算机中的文件(如:COM、EXE、DOC等)。

宏病毒/文档病毒:打开文档时,启动病毒,并搜索其它要感染的文件。

引导型病毒:感染启动扇区(Boot)和硬盘的系统引导扇区(MBR)。

混合型病毒:多型(文件和引导型)感染文件和引导扇区两种目标。

网络病毒:通过计算机网络传播感染网络中的可执行文件。

加密病毒:解密引擎+加密病毒代码的主体,随机生成加密密钥,通过查找解密引擎进行检测。

多态病毒:具有随机变体的解密引擎的加密病毒(例如,填充代码),使用CPU仿真器进行检测。

变形病毒:不同的病毒体,方法包括代码排列和指令替换,具有挑战性的检测。

病毒特征码:专家通过研究被感染文件,找到具体计算机病毒的特征代码段,之后创建唯一标识这类病毒的特征字符串。一般将特征字符串称为病毒的特征码,它是病毒的一种数字指纹,检测文件中病毒特征码的存在是模式匹配问题的一个实例。

病毒的检测与隔离:检测文件是否感染病毒有两种方式,定期扫描整个文件系统;实时分析每个新创建的文件、每个修改的文件、收到的每封电子邮件(后一种更有效)。隔离,只要有一部分包含与病毒特征匹配的代码,就会被放入受保护的存储区,之后对隔离的程序进一步分析。

安全实践:安全意识、规范操作、防护体系。

特洛伊木马(简称木马)是隐藏在系统中的用以完成未授权功能的非法程序,是黑客常用的一种攻击工具,它伪装成合法程序,植入系统,对计算机网络安全构成严重威胁。区别于其他恶意代码,木马不以感染其它程序为目的,一般也不使用网络进行主动复制传播。

特洛伊木马是基于 C/S (客户/服务器)结构的远程控制程序,是一类隐藏在合法程序中的恶意代码,这些代码或者执行恶意行为,或者为非授权访问系统的特权功能而提供后门。

通常,使用木马的过程大致分为两步。首先,把木马的服务器端程序通过网络远程植入受控计算机,然后通过安装程序或者启动机制使木马程序在受控的机器内运行。一旦木马成功植入,就形成了基于 C/S 结构的控制架构体系,服务端程序位于受控机器端,客户端程序位于控制机器端。

计算机蠕虫是一种恶意程序,不需要将自己注入其它程序就能传播自己的副本,并且不需要与人交互。因此,从技术角度而言,计算机蠕虫不是计算机病毒(因为它们不会感染其它程序)。

两者都是通过自我复制传播,在大多数情况下,计算机蠕虫会携带恶意的有效载荷,如删除文件或安装后门。

Rootkit 是一种特殊类型的恶意软件。Rootkits 最早是一组用于 UNIX 操作系统的工具集,黑客使用它们隐藏入侵活动的痕迹,它能在操作系统中隐藏恶意程序。这些程序在植入系统后,Rootkits 会将它们隐藏起来,它能隐藏任何恶意程序过程、文件夹、注册码。

找出 Rootkit 十分困难。有一些软件包可以检测 Rootkit。这些软件包可划分为两类。基于签名的检查程序和基于行为的检查程序。基于签名(特征码)的检查程序,例如大多数病毒扫描程序,会检查二进制文件是否为已知的 Rootkit;基于行为的检查程序试图通过查找一些代表 Rootkit 主要行为的隐藏元素来找出 Rootkit。

一个流行的基于行为的 Rootkit 检查程序是 Rootkit Revealer,在发现系统中存在 Rootkit 之后,能够采取的补救措施也较为有限。由于 Rootkit 可以将自己隐藏起来,所以可能无法知道它们已经在系统中存在了多长的时间。而且也不知道 Rootkit 已经对哪些信息造成了损害。对于找出 Rootkit,最好的应对方法便是格式化硬盘并且重新安装操作系统,这是得到证明的唯一可以彻底删除 Rootkit 的方法。

防止 Rootkit 进入系统是能够使用的最佳办法。防卫的要素包括:病毒扫描程序、定期更新软件、在主机和网络上安装防火墙,以及强密码策略。

0day 最早成立的初衷是推行互联网共享,中国网民最早接触的最多的就是软件破解和盗版电影部分。

最早的破解是专门针对软件的,后来发展到游戏、音乐、影视等其它内容。

0day 中的0表示 zero,可叫 zero day,早期的 0day 表示在软件发行后的24小时内就出现破解版本,现在已经引申了这个含义,只要是发布后,在最短时间内出现相关破解的,都可以叫 0day。

如果一个漏洞被发现后,当天或者更准确的定义是在24小时内,立即被恶意利用,出现对该漏洞的攻击方法或出现攻击行为,那么该漏洞被称为零日漏洞,该攻击被称为零日攻击。

没有漏洞的产品是不可能的,防范零日攻击最好的解决方法就是“免疫”。所谓免疫,是指存在一种方法或系统,能够把漏洞保护起来,能够抵御基于漏洞的攻击,消除该漏洞存在的风险,将来的情况可能是“有漏洞,没风险”。

僵尸网络 Botnet 是指采用一种或多种传播手段,将大量主机感染 bot 程序(僵尸程序)病毒,从而在控制者和被感染主机之间形成的一个可一对多控制的网络。

中央的命令和控制机制。

一旦被感染的计算机上安装了僵尸软件,则此计算机为僵尸计算机,其会发送请求命令与中央控制服务器进行联系。

一旦僵尸网络已经集成,它的拥有者会利用它执行非法活动,例如获取信用卡号码、银行账户凭证、海量的其它个人信息。

可针对大型网站、甚至小型政府基础设施发动分布式拒绝服务攻击。

另一种类型的恶意软件是入侵隐私软件,其目标是用户隐私或用户认为敏感或有价值的信息。

入侵隐私软件背后的意图通常具有商业性,在任何情况下,执行这类入侵隐私软件极少是出于好奇或故意破化。

广告软件

间谍软件:键盘记录、屏幕截图、追踪 Cookie、数据获取……

流氓软件

检测所有恶意软件具有不可能性。计算机病毒和病毒检测程序的军备竞赛持续进行。

采用的系统尽可能具有多样性。

尝试限制来自受信源对系统进行软件安装。

关闭自动执行。

对敏感系统和数据的路径采用最小特权原则。

避免使用无法证明可靠来源的免费软件和共享软件。

避免使用 P2P 等共享网络的音乐、视频资源。

安装网络监控。

安装网络防火墙。

提高多因素身份验证。

保持软件更新。

避免使用弱密钥。

使用恶意恶意软件检测和清除软件。

云计算导论心得总结 第2篇

泛指保护贵重物品、信息或访问受限资源所使用的物理措施,物理安全直接影响完整性、计算机硬件和数字信息保护。

计算机硬件所在物理位置的保护。

对计算机硬件所在物理位置的未授权访问的检测。

对信息或计算机硬件表示的物理攻击的方法。

攻击监视器的闪光、声音、无线电或其他信号来检测通信与计算。

利用物理系统接口的弱点来渗透系统安全的攻击。

专业术语:外壳、销簧、剪切线、圆柱或塞子、设备、顶部或传动器、销、底部或键、键槽。

种类:弹子锁、管状锁/径向锁、晶片弹子锁、密码锁、电子密码锁、保险箱。

针对锁的攻击:撬锁、撞锁、钥匙复制和钥匙印痕、保险箱攻击、旁路攻击。

免受蛮力攻击。组合数学,密钥空间问题。

减少搜索空间大小。分治思想。

特权提升。在层次访问控制的钥匙系统中,利用普通更改钥匙配置主控钥匙。

进一步的改进。根据锁的制造工艺局限,进一步缩小搜索口空间。

条形只能在一个方向上存储信息,二维码能从纵横两个方向上存储信息。

二维码是一种能够使所记录的信息量达到飞跃性增加的条码。

在大多数应用程序中,条形码是方便但不安全的,条形码只是简单的图像,非常容易复制。

对二维码的监管力度不够,易成为病毒木马、钓鱼网站传播新渠道。

二维码信息更容易泄露,二维码与移动支付结合成为金融诈骗新手段。

带有磁条的塑料卡,包含有关持卡人的个性化信息。

磁条卡的第一条磁道包含账号、格式信息和其他数据以及持卡人的全名。

第二条磁道可以包含账号、到期日期、发行银行信息、指定轨道的精确格式数据、自由选择的数据。

第三条磁道很少使用。

磁条介质易于读取和复制。

智能卡包含一个集成电路。

智能卡技术可以提供保护所有者信息的安全认证机制,并且极难复制。

SIM 卡安全。SIM 卡包含几条信息,用于识别所有者并对应相应的蜂窝网络进行身份验证;每个 SIM 卡对应于其网络提供商维护的用户数据库中的一条记录;具有集成电路卡 ID,一个唯一的18位数字,用于硬件识别;包含唯一的国际移动用户标识,标识所有者的国家、网络和个人身份;包含128位密钥;许多 SIM 卡在允许访问卡上信息之前需要 PIN。

GSM挑战-响应协议。当手机希望加入蜂窝网络时,它连接并发送它的 IMSI(国际移动用户标识)到网络提供商拥有的本地基站;若 IMSI 匹配网络提供商的数据库中的用户记录正确,则基站将128位随机数发送到蜂窝电话,由蜂窝电话编码存储在 SIM 卡中;用户的密钥使用 A3 的专有加密算法,从而产生发送回基站的密文;基站使用其存储的用户密钥和128位随机数执行相同计算,若两个密文匹配,则手机被认证到网络并被允许拨打和接听电话。

射频识别依靠小型转发器,通过无线电波传输识别信息。

具有用于存储信息的集成电路,以及用于发送和接收无线电信号的线圈天线。

用于基于生物或生理特征唯一识别信息进行的任何身份度量。

普遍性:几乎每个人都应该有这个特点。

独特性:每个人的特征都应该有明显差异。

持久性:特征不应随时间显著变化。

可回收性:特征应具有有效确定和量化的能力。

电力,计算设备需要电力才能运行。

温度,计算机芯片具有自然的工作温度。

有限电导,计算设备是电子的,依赖于其环境中的有限电导,如果计算机的任何一个部分以电子的方式连接,那么该设备可能会因短路而受损。

简单的窃听。日常生活中的偷看、偷听。

搭线窃听。许多通信网络采用廉价的同轴铜缆,信息通过穿过电缆的电脉冲进行传输,通过窃听电缆可以重建数据传输,允许攻击者窃听网络流量。

防御搭线窃听。使用双绞线、光纤电缆、端到端加密等。

射频辐射。计算机屏幕发出的射频信号可用于检测正在显示的内容,可见光反射也可用于从墙壁、咖啡杯或眼镜上的反射重建显示器。

声音辐射。使用用户敲击键盘的录音来重建键入的内容。

键盘记录器。安装在键盘和计算机之间的小型连接器,通常用于窃听密码或其他敏感信息。

瞬态电磁脉冲射气监测技术。限制计算机设备的电磁辐射。

放射堵塞。将敏感设备封装在无窗的房间内、封装在内置隔音材料的房间内、封装在法拉第笼内、电线和电缆良好接地和绝缘等。

放_蔽。通过广播类似的全部都是随机噪声的电磁信号来屏蔽这类辐射。

计算机取证是一种用于获取包含在电子媒介上的信息的方法,通常用于收集用于法律诉讼的证据,也可以被攻击者用来发现敏感信息。

云计算导论心得总结 第3篇

域名系统(DNS)是一个基本的应用层协议,负责将域名映射到 IP 地址。

DNS 通过互联网提供存储各种资源记录的分布式数据库,包括:

— 地址(A)记录:与主机名相关联的 IP 地址。

— 邮件交换(MX)记录:域的邮件服务器。

— 名称服务器(NS)记录:域的权威服务器。

域名:

— 两个或多个标记,以点分隔(例如,http://)。

— 最右边的标签是顶级域名(TLD)。

权威域名服务器的层次结构:

— 有关根域名的信息。

— 有关其子域(A 记录)的信息或对其他域名服务器的引用(DNS记录)。

权威域名服务器层次结构与域层次结构匹配:根服务器指向 TLD 的 DNS 服务器等。

根服务器和 TLD 服务器不经常更改。

DNS 服务器按名称而不是 IP 引用其他 DNS 服务器:有时必须通过提供 IP 以及名称(称为粘合记录)来引导。

ICANN:互联网名称与数字地址分配机构

ICANN 全面负责管理 DNS。它控制根域,将对每个顶级域的控制权委托给域名注册表。

除了一小部分通用顶级域名外,每个国家都有自己的顶级域名(cTLDS),由政府控制。

ICANN 是所有通用 TLD 的管理机构。

直到1999年,所有 .com,.net 和 .org 注册管理机构都由 Network Solutions Incorporated 处理。

1999年11月之后,ICANN 和 NSI 必须允许共享注册系统,目前市场上有500多个注册商。

自1999年以来,ICANN 还创建了其他 gTLD,其中包括由财团或公司赞助的 gTLD。

始于1984年,最初应该是按照功能命名。

.com 用于商业网站,.mil 用于军事用途。

最终就 .com,.net,.org,.info 的无限制 TLD 达成一致。

1994年开始允许国家顶级域名(如 .it,.us)

试图在2000年创建 .aero,.museum 等,回到目的层次结构。

区域:具有相同权威的 DNS 服务器的已连接节点的集合。

域名不在缓存中的解决办法:

递归域名解析:

迭代域名解析:

控制在权威域名服务器(ANS)之间分配。

— 负责特定域。

— 可以为子域指定其他 ANS。

ANS 可以是主站或从站。

— 主站包含原始区域表。

— 从站是副本,自动更新。

使 DNS 容错,自动分配负载。

ANS 必须作为 NS 安装在父母区域中。

许多大型提供商为域提供了多个权威域名服务器。

问题:需要找到地理位置最接近用户的域实例。

建议的解决方案:在递归请求中包括请求者 IP 的前3个八位字节,以便提供更好的服务。

内容分发网络已经自适应 DNS 路由。

DNS 查询和应答是通过 UDP 数据包传输的,但当请求或应答超出512B时,会用 TCP 替代 UDP。

DNS 使用的标准 UDP 数据包由头、查询部分、应答部分组成。

头包括一个16位的查询标识符,也称为事务标识符,用于标识查询和响应。

查询部分是“问题序列”,每个问题由所查域名和查询记录的类型组成,客户端选择查询 ID、发送查询,并复制来自服务器的响应。

应答部分包括 DNS 记录序列,每条记录包含如下字段。

— NAME 字段是变长的,包含一个全域名。

— 2字节的 TYPE 字段表示 DNS 记录的类型。

— 2字节的 CLASS 域表示记录应用的更广泛的类型,如 IN 用于互联网络。

— 4字节的 TTL 字段指定记录存在的有效时间,以秒为单位。

— 2字节的 RDLENFTH 字段表示数据段的长度,以字节为单位。

— 可变长度的 RDATA 段包括实际的记录数据。

如果每个查询都会遍历 DNS 树中的路径,网络流量会过多。根区域将快速过载。

DNS 服务器在指定的时间内缓存结果。由 ANS 回复的生存时间字段指定。

操作系统和浏览器维护解析器和 DNS 缓存。在 Windows 中使用命令 ipconfig / displaydns 查看,相关的隐私问题。

DNS 查询通常通过端口 53 以上的 UDP 发出,有效负载中的16位请求标识符。

Step2:在本地 NS 和主机上接收回复和缓存。

Step3:使用缓存结果而不是查询 ANS。

Step4:在 TTL 到期时退出缓存目录。

攻击者把网站发送的请求解析成自己恶意服务器的伪装 IP 地址,导致受害人浏览或下载不需要的内容;网络嫁接的一个主要用途是将域名解析为一个网站,该网站表明与所请求网站相同,但实际是恶意网站,这种攻击被称为网络钓鱼。

基本思想:攻击者欺骗 DNS 服务器缓存保存虚假的 DNS 记录。

DNS 使用16位请求标识符将查询 ID 与响应 ID 配对。

当域名服务器出现以下情况时,缓存可能会中毒:

— 忽略标识符。

— 具有可预测的 ID。

— 接受未经请求的 DNS 记录。

防御 DNS 缓存中毒:对查询使用随机标识符,DNS 请求的端口随机化,始终检查标识符,部署 DNSSEC(域名系统安全扩展)

保证 DNS 回答来源的真实性,回复的完整性,拒绝存在的真实性。

通过每一步中对 DNS 回复签名来实现这一点。

使用公钥加密来签署响应。

通常使用信任锚,操作系统中的条目来引导进程。

随着互联网被视为关键基础设施,开始推动安全的 DNS。

NIST 现在正在根服务器上部署它。

可能会给 DNS 服务器增加相当大的负载,因为数据包大小远大于512字节大小的 UDP 数据包。

防火墙是一种集成的安全措施集合,旨在防止对网络计算机系统未经授权的访问。

网络防火墙类似于建筑物中的防火墙,因为在两种情况下,它们都旨在将一个“网络”或“隔间”与另一个隔离。

为了保护专用网络和个人计算机的安全,需要部署防火墙过滤流入或流出的流量,基于的预定义规则集称为防火墙策略。

流经防火墙的数据包会有以下三种结果:

— 接受:允许通过防火墙。

— 丢弃:不允许通过防火墙,且无失败指示。

— 拒绝:不允许通过防火墙,并试着通知源端,数据包已被拒绝。

防火墙处理数据包的策略基于被检查数据包的一些特性,包括所使用协议。

— TCP 或 UDP

— 源 IP 地址或目的 IP 地址

— 数据包应用程序级的有效载荷(如是否包含病毒)

为了有效地使对外部世界的脆弱性最小化,同时保持受信任内部网(或个人计算机)中计算机所需要的功能,有两种基本方法来创建防火墙策略(或规则集)。

黑名单方法:

除了那些符合黑名单所定义的具体规则的数据包之外,其他所有的数据包都允许通过防火墙。

这种类型的配置更具灵活性,能确保内部网的服务不被防火墙中断,但从安全角度分析,这种方法已经假定网络管理员能列举出所有恶意流量的本质特性。

白名单方法:

一种更安全的定义防火墙规则集的方法是默认拒绝策略,除非防火墙接受数据包,否则数据包会被丢弃或拒绝。

数据包过滤器(无状态防火墙):如果数据包与数据包过滤器的规则集匹配,则数据包过滤器将丢弃或接受它。

状态过滤器(状态防火墙):维护通过它的所有连接的记录,并可以确定数据包是新连接的开始、现有连接的一部分还是无效数据包。

应用层防火墙:它就像一个代理,可以“理解”某些应用程序和协议。它可能会检查流量的内容,当其被视为不当内容(即网站、病毒、漏洞……)时阻止该流量。

无状态防火墙不会为正在处理的数据包维护任何可存储的上下文(或状态),相反,将每个尝试通过的数据包视为独立的,不考虑先前已经处理过的数据包。

无状态防火墙可能必须具有严格的限制性,以防止大多数攻击。

状态防火墙可以区分数据包是否是受信任网络内发起的合法会话的一部分。

状态防火墙维护一些表,表中包含每个活动连接的信息,包括 IP 地址、端口和数据包的序列号。

使用这些表,状态防火墙可以只允许响应内部网发起连接的 TCP 数据包流入。

通常 TCP 数据包的内容是不加密的,因此如果有人窃听 TCP 连接,他会知道该会话中有效载荷的所有内容。

使用隧道协议无需改变软件的执行就能防止这种窃听。

在隧道协议中,客户端和服务器之间的通信是自动加密的,窃听是不可行的。

利用隧道防止窃听,通过 Internet 发送的数据包会自动加密。

一次安全的交互式命令会话,

客户端通过一个 TCP 会话连接到服务器,

客户端与服务器交换管理细节的信息,如支持的加密方法、各自协议的版本,每一方都要选择另一方支持的一组协议。

客户端和服务器进行密钥交换,创建共享的秘密会话密钥,用会话密钥加密双方的通信(但不用于身份验证)。这个会话密钥配合选择的块加密(通常是 AES、3DES、Blowfish 或 IDEA)来加密所有后续的通信。

服务器向客户端发送可以接受身份验证列表,客户端将按顺序尝试。最常见的机制是使用密码或以下的公共密钥身份验证方法:

如果选定的机制是公共密钥身份验证,则客户端向服务器发送自己的公钥,然后服务器检查是否这密钥已存储在其授权的密钥列表之中。如果在,服务器使用客户的公钥加密挑战,并将其发送给客户端。客户端用自己的私钥解密挑战,并向服务器发回响应,证明自己的身份。

一旦身份验证已顺利完成,服务器允许客户端访问相应的资源,如命令提示符。

IPSec 定义了一组协议,为 IP 数据包提供机密性和真实性。

每个协议都能运行在两种模式下,传输模式或隧道模式。

在传输模式下,在原有数据包的数据之前,会插入额外的 IPSec 的头信息,只对数据包的有效载荷继续加密或身份验证。

在使用隧道模式时,会构造一个新的数据包,将 IPSec 头信息和整个原数据包,(包括它的头)一起封装为新数据包的有效载荷。

虚拟专用网络(VPN)是一种安全地延长了私有网络的物理距离,利用公有网络(如互联网)进行通信的技术。

尽管使用不受信任的网络进行传输,VPN 也能提供数据的保密性、完整性。

VPN 主要有两种类型:远程访问网络、站点到站点的 VPN。

远程访问 VPN 允许授权的用户访问私有网络,一般将这种私有网络称为内网。

为了能做到这一点,组织会建立 VPN 端点,该端点被称为网络接入服务器。客户端通常在自己的计算机上安装 VPN 客户端软件,用于处理到 NAS 的连接约定。

站点到站点 VPN 解决方案旨在为两个或更多远程网络提供安全的桥梁。在使用 VPN 前,组织为了安全地桥接自己的私有网络,需要购买昂贵的租用线路,并用电缆直接连接内网。

入侵,一些威胁(机密性、完整性、计算/网络资源的可用性)

入侵检测,通过入侵签名和入侵活动报告进行识别。

入侵防御,检测入侵活动和管理整个网络中的自动响应操作的过程。

IDS 管理器编译来自 IDS 传感器的数据,以确定是否发生了入侵。

此确定基于一组站点策略,这些策略是定义可能入侵的规则和条件。

如果 IDS 管理员检测到入侵,则会发出警报。

IDS 旨在检测一些威胁,所包含的威胁如下:

伪装者,攻击者冒用合法用户的身份或凭据来获得对计算机系统或网络的访问。

伪装者,合法的用户执行了未经授权的操作。

秘密用户,通过删除审计文件或系统日志,试图组织或掩盖自己行为的用户。

此外,IDS 旨在检测自动攻击和威胁,所包含的相关攻击如下:

端口扫描,信息收集旨在确定主机开放哪个端口作为 TCP 连接。

拒绝服务攻击,网络攻击意味着淹没主机,并将合法访问拒之门外。

恶意软件攻击:复制恶意软件的攻击,特洛伊木马、计算机蠕虫和病毒等。

ARP 欺骗:试图重定向局域网中的 IP 流量。

DNS 缓存中毒:网络嫁接攻击旨在改变主机的 DNS 缓存,以创建伪造的域名 / IP 地址的关联。

入侵检测系统可以部署在各种上下文中来执行不同的功能。

传统的网络入侵检测系统(NIDS):位于网络边界,基于流量模式和内容检测恶意的行为。

基于入侵检测系统的协议(PIDS):专门检测特定协议中的恶意行为,通常部署在特定的网络主机中。

基于主机的 IDS(HIDS):驻留在单个系统之中,监控这台计算机上的活动。

入侵检测可能会出现两种类型的错误:

误报,当事件是良性活动而不是入侵时就发出警报(浪费时间和资源)

漏报,当事件是入侵的恶意事件,未发出警报(系统受到损害,管理员未察觉)

难以创建具有高真阳性率和低假阴性率的理想性的入侵检测系统。

如果实际入侵的数量与分析的数据量相比相对较小,则可以降低入侵检测系统的有效性。

特别是,由于称为基本谬误的统计误差,某些 IDS 的有效性可能会被误解。

当评估某些条件事件的概率而不考虑该事件的“基本速率”时,会发生此类错误。

假设 IDS 准确度为99%,假阳性或假阴性的概率为1%。入侵检测系统生成1000100个日志条目,1000100个条目中只有100个对应于实际的恶意事件。由于 IDS 的成功率,在100个恶意事件,99个将被检测为恶意,这意味着我们有1个假阴性。然而,在1000000个良性事件中,10000个将被错误地识别为恶意事件。也就是说,我们有10000个误报。因此,将有10099个警报响起,其中10000个是误报警。也就是说,大约99%的警报都是误报警。

在1987年,Dorothy Denning 的一篇有影响力论文确定了在这类事件记录中的一些字段,这些字段如下:

主体:发起者。

对象:目标资源、如文件、命令、设备或网络协议。

操作:主体对对象正在执行的操作。

异常条件:操作所产生的任何错误消息或异常条件。

占用的资源:系统执行或响应该操作所需的定量项。

时间戳:记录开始操作时刻的唯一标识符。

基于规则的入侵检测:规则标识与入侵攻击的某些已知配置文件匹配的操作类型,在这种情况下,规则编码此类攻击的签名。因此,如果 IDS 管理器看到与该规则的签名匹配的事件,它将立即发出警报,甚至可能指示怀疑的特定类型的攻击。

基于统计的入侵检测:构建了一个配置文件,它是用户行为或主机使用的典型方式的统计表示;因此,它可用于确定用户或主机何时以非常不寻常的异常方式运行。一旦用户配置文件到位,IDS 管理员就可以确定异常行为的阈值,然后在用户或主机显著偏离该人员或机器的存储配置文件时发出警报。

端口扫描,允许用户列举计算机的哪个端口正在接受连接的技术。

端口有三个状态:开放的(接受连接)、关闭的(不接受连接)、阻塞的(防火墙或其他设备防止一些流量到达目的端口)。

端口扫描方法:TCP 扫描,SYN 扫描,空闲扫描,UDP 扫描。

蜜罐,检测入侵的另一种工具。

蜜罐计算机是非常有效的工具:

入侵检测,因为连接到蜜罐的尝试不会来自合法用户,所以对蜜罐的任何连接都被安全地确定为入侵。

证据:蜜罐计算机中有吸引力的文件使入侵者逗留并留下证据,从而识别出入侵者或者确定他的位置。

导流:与合法计算机相比,蜜罐对入侵者更有吸引力,从而分散入侵者对敏感信息和服务的注意力。

无线网使用无线电波,无需物理插入网络,支持远程访问。

覆盖范围有个人局域网,局域网,城域网。

无线网的安全问题:无线电信号泄露到建筑物外面,检测未经授权的设备,拦截无线通信,中间人攻击,验证用户,限制访问。

基础设施:

客户端计算机与称为接入点的特殊网络设备建立无线连接。

连接到有线网络的接入点,提供到互联网的网关。

点对点:

多个对等机器相互连接,通常用于 ad-hoc 网络和 Internet 连接共享。

多个无线网络可以共存:

每个网络由32个字符的服务集 ID(SSID)标识。

制造商的名称是接入点的典型默认 SSID。

经常广播 SSID 以使潜在客户能够发现网络。

SSID未被签名,因此可以进行简单的欺骗攻击:

将恶意接入点放置在公共场所(例如,咖啡馆,机场),

使用 ISP 的 SSID,

设置类似于 ISP 的登录页面,

等待客户端连接到恶意接入点并进行身份验证,

可能会转发到 ISP 网络的会话。

由自动连接默认值促成。

可以窃听所有无线网络流量,

基于 MAC 的身份验证通常用于识别公司网络中已批准的计算机,

MAC 欺骗攻击可能,如在有线网络中,

如果 ISP 客户端未明确结束会话,则 MAC 欺骗允许接管该会话。

协议:

DHCP 提供 IP 地址,

名称服务器将一切映射到认证服务器,

防火墙阻止所有其他流量,

任何 URL 都会重定向到身份验证页面,

身份验证后,恢复常规网络服务,

通过 MAC 地址识别的客户端,

由无线 ISP 提供。

安全问题:

如果客户端没有主动断开连接,则可以执行 MAC 欺骗和会话窃取攻击。

如果在身份验证之前未阻止防火墙之外的 DNS 流量,则隧道攻击可以绕过强制网络门户。

四处寻找无线局域网,

有些人使用 GPS 设备记录位置,在线发布,

NetSumber for Windows,KisMac for Macs 和 Kismet for Linux 等软件可在线轻松获取。

使用天线增加射程。

未传输任何信息且未使用任何网络服务时,合法性不明确。

Warchalking 涉及在侧面行走标记无线网络和相关信息上留下粉笔标记(源自流浪汉符号)

目标:

机密性,防止窃听。

数据完整性,数据包不能被篡改。

访问控制,仅路由正确加密的数据包。

设计约束:

采用90年代的廉价硬件实现。

符合美国早期加密设备出口管制法规(40位密钥)。

实施和限制:

在数据链路级别加密每个帧的主体,要避免传统的 IEEE 标准。

初始化:接入点和客户端共享40 bit 密钥 K,密钥在 WEP 会话期间永远不会更改。

加密:计算消息 M 的 CRC-32 校验和(帧的有效载荷),选择24位初始化向量 V,使用 RC4 流密码生成密钥流 S(K,V),计算密文: C=(M||CRC(M))\oplus S(K,V)

客户端认证:接入点向客户端发送未加密的随机质询,客户端响应加密挑战。

传输:发送 V || C。

消息篡改:给定一个任意字符串 x,我们想用 M'=M\oplus x 替换消息 M,在中途用 C'=(x||CRC(x)) 替换密文 C。

目标文本替换:如果我们知道消息中文本的位置,则可能发生。例如,更改电子邮件中的日期。

脆弱性原因:CRC 校验和通过 XOR 分配,不是加密哈希函数。

攻击者利用物理接入点解密数据包。

方法:窃听入站 IP 数据包,将数据包重新发送到由攻击者控制的外部计算机,接收由接入点解密的数据包,重复出站数据包。

猜测目的地址:在 LAN 子网内。

更改目的地址:将原始目的地修改为由攻击者控制的外部机器 D'。

使用上述消息篡改方法。

更改数据包校验和:新校验和与旧校验和之间的差为: x'-x=(D_H'+D_L')-(D_H+D_L) ,猜测 x'\oplus x 。

几次尝试后成功。

重用 IV 意味着重用密钥流:攻击者获得两条消息的 XOR,攻击者可以恢复消息和密钥流,攻击者可以使用恢复的密钥流来注入流量。

默认 IV:IV 生成的几个有缺陷的实现,例如当设备开启然后重复递增时从零开始。

随机 IV:小长度(24位)即使随机生成也会在短时间内重复。例如,在 2^{12}\approx 4000 次传输之后,预计碰撞的概率很高。

攻击者想要欺骗合法的客户端:不知道秘密密钥 K,可以窃听身份认证消息。

攻击:生成挑战 R 和加密挑战 C=(R||CRC(R))\oplus S(K,V) ,计算密钥流 S(K,V)=(R||CRC(R))\oplus C ,从接入点挑战时重用密钥流 S(K,V) 。

Netstumbler wifi 扫描器、增益天线、带监控控制的无线网卡、GPS(可选)。

接入点和客户端正在使用 WEP 加密。

黑客利用驱逐工具嗅探。

要破解64位 WEP 密钥,你可以捕获:

包含初始化向量(IV)的50000到200000个数据包,

只有大约 \frac{1}{4} 的数据包包含 IV,所以你需要 200000到800000个数据包。

捕获那个多数据包可能需要很长时间(通常是几个小时甚至几天)

黑客注入数据包以创建更“有趣”的数据包,

执行注入需要特殊的无线卡驱动程序。

每个数据包一个,24bit 的值。

以邮件的明文部分发送。

初始化向量的小空间保证了重用相同的密钥流。

IV 碰撞:攻击两个明文消息的异或,IV 通常是非常可预测的,并引入了大量冗余。

假设攻击者知道一个加密消息的一个明文, RC4(X)\oplus X\oplus Y=RC4(Y) ,构造计算 CRC32 新消息。

即使不完全了解数据包,也可以翻转消息中的选定位并成功调整加密的 CRC。

我们知道 ARP,重新注入:ARP 通常会重新并生成 IV。

WEP 被广泛认为是不安全;2005年,FBI 在3分钟内公开破解了一个 WEP 密钥。

2003年提出 WPA,

以多种方式改进 WEP:

更大的密钥(128位)和初始化数据(48位),

支持除共享密钥之外的各种类型的身份验证,例如用户名/密码。

在会话继续时动态更改密钥。

用于检查完整性的加密方法。

帧计数器以防止重放攻击。

WPA 是一个中间版本,对 WPA 的改进是逐步的而非原理性的变化:

使用 AES 而不是 RC4,处理加密,密钥管理和完整性,由反模式提供的 MAC 与密码块链接(CCMP)一起使用。

WPA2 需要最新的硬件才能正常运行,但随着时间的推移会越来越好。

具有密码块链接消息认证码协议的计数器模式,

使用 Michael 算法在明文标头和有效负载上计算64位消息完整性代码(MIC),

加密有效负载和 MIC,Michael 不是一个强大的加密哈希函数。

WEP,WPA 和 WPA2 都只保护您的流量至接入点。再接入点之外没有提供安全性。

其他方法可以实现端到端的加密。SSL、SSH、VPN、PGP等。

端到端加密通常比设置网络级加密更简单。Brown 无线网络未加密,但不允许使用大多数明文协议(仅允许HTTP,HTTPS,SSH,VPN,IMAPS,POPS)。Brown 还在 CIT 中提供 WPA 网络。

大多数这些解决方案都需要按应用程序配置。

云计算导论心得总结 第4篇

其中,计算资源共享池内包括(网络、服务器、存储、应用软件、服务

云计算是分布式计算、并行计算、效用计算、网络存储、虚拟化、负载均衡、热备份冗余等传统计算机和网络技术发展融合的产物。

虚拟化分为服务器虚拟化(VMware)、桌面虚拟化(思杰比VM优势大)、应用虚拟化(思杰)

(1) 基础设施 (2) 存储 (3) 平台 (4) 应用 (5) 服务 (6) 客户端

年3月,亚马逊推出弹性计算云EC2.

年8月9日,Google公司首席执行官埃里克.施密特在搜索引擎大会首次提出云计算概念。

年10月,Google与IBM公司在美国大学校园,推广云计算计划。

年1月30日,Google公司宣布在中国台湾启动“云计算学术计划”,与台大、交大等学校合作,将云计算技术推广到校园的学术研究中。

年2月1日,IBM公司宣布将在中国无锡太湖新城科教产业园为中国软件公司建立第一个云计算中心。

年7月29日,雅虎、惠普和英特尔公司宣布一项涵盖美国、德国和新加坡的联合研究计划,推进云计算的研究进程。该计划要与合作伙伴创建6个数据中心。

年8月3日,美国专利商标局网站显示,戴尔正在申请云计算商标,此举旨在加强对这一未来可能重塑技术架构的术语控制权。

年3月5日,Novell公司与云安全联盟CSA共同宣布一项供应商中立计划,名为“可信任云计算计划”。

年7月,美国国家航空航天局和包括Rackspace、AMD、戴尔等支持厂商共同宣布OpenStack开放源代码计划,微软表示在Windows Server2008 R2中支持,Ubuntu将其加入版本中。

年12月,思科正式加入OpenStack,重点研制网络服务。

年,我国IaaS市场规模约为亿,增速达到了105%。

年7月,中国制定了互联网+计划。

云计算导论心得总结 第5篇

军外唯一国家级重点学科(二级学科)。

一肖二王(肖国镇、王育民、王新梅)。

密码学的“黄埔军校”。

信息的载体:

信息的存放地点称为媒质。

通信伙伴之间有一条传送信息的通道,称为信道。

媒质和信道统称为信息的载体。

通常:媒质是开放的,共享的,因而是不安全的;信道也是不安全的公共信道。

对信息载体存在两种攻击,

被动攻击,攻击者通过各种办法(搭线窃听、电磁窃听、声音窃听、非法访问等)来非法截收信息。

主动攻击,攻击者对载体中的信息进行非法篡改(删除、增添、重放、伪造等)。

为了有效 地保护信息,抵抗被动攻击和主动攻击,必须使用密码技术。

密码学是研究信息系统安全保密的科学,它包含两个分支,

密码编码学:对信息进行编码以保护信息的一门学问。

密码分析学:研究分析破译密码的学问。

密码技术分为两个部分,第一部分是信息保密,第二部分是信息认证。

信息保密用来抵抗被动攻击。

信息认证用来抵抗主动攻击。

信息保密的功能:信息的加密和解密。(使得除通信伙伴以外的其他人无法获取信息。)

信息认证的功能:对信息的认证,对发送信息者的身份的认证,对接收信息者的身份的认证。(使得对信息的篡改会被立即发现。)

信息保密系统又称为加密系统。该系统被描述如下。

用户 Alice 和用户 Bob 是一对通信伙伴。Eve 是攻击者(违法入侵者)。

Alice 欲发送一个消息 m 给 Bob。m 称为明文。

Alice 使用加密密钥 z,使用加密算法 E,对明文m做以下的变换,称为加密变换:

c=E(m,z)

c 称为密文,Alice 将密文 c 通过不安全的公共信道发送给 Bob。

Bob 使用解密密钥 k,使用解密算法 D,对密文 c做以下的反变换,称为解密变换:

m=D(c,k)

于是 Bob 获得了明文 m。

攻击者 Eve 所拥有的基本资源:

Eve 在不安全的公共信道上截获了密文 c。

Eve 知道加密算法 E 和解密算法 D。

攻击者 Eve 可能拥有的更多资源:

Eve 可能知道密文 c所对应的明文 m。(此时所进行的攻击称为已知明文攻击)

Eve 可能拥有强大的计算能力。

Eve 可能缴获了一台加密机(也称为加密黑盒子),可以任意地输入明文,输出密文。(此时所进行的攻击称为选择明文攻击)

攻击者 Eve 不可能拥有的资源:

Eve 不知道加密密钥 z 和解密密钥 k。(事实上,在进行安全性分析时,有时也假设 Eve 知道了密钥的一部分,但决不能全部知道)

攻击者 Eve 的目的:

此时 Eve 是被动攻击者,他的目的是试图获取明文的信息。

攻击者 Eve 攻击成功的标志:

Eve 的思路是“不拘一格“。只要 Eve 以某种方式获取了明文的一定信息量,就可以算作一种攻击成功。但”攻击成功“的程度有高低之分。比如:能够持续不断地直接获取明文是最高的攻击成功;掌握在未来获取明文的技巧则是低一级的攻击成功;获得明文的某些统计性特征是更低一级的攻击成功。

关于加密算法 E 和解密算法 D:

从商用的角度出发,要求加解密算法(E,D)应该是公共的标准算法,是公开的。因此,包括攻击者 Eve 在内的所有人都知道加解密算法(E,D)。要求安全性不依赖于加解密算法(E,D)是否保密。而仅仅依赖于密钥是否保密。

关于已知明文攻击:

如果每一次加密/解密过程,都要选择一次加解密密钥(z,k),则加解密方式称为一次一密的。一次一密的加解密方式通常具有很好的安全性。但是需要频繁地更换密钥,但每次通信之前都需要通信伙伴之间进行协商来确定新的密钥(z,k)。因而一次一密的加解密方式是不实用的。

如果加解密密钥(z,k)在多次加密/解密过程中反复地重复使用,则加解密方式称为多次一密的。现有的实用加解密方式都是多次一密的。多次一密的加解密方式极大地省却了通信伙伴的工作量。但同时,多次一密的加解密方式使得攻击者增加了几种新的攻击手段。其中包括已知明文攻击。

设攻击者 Eve 截获了密文 c,并且知道了密文 c所对应的明文 m。(当明文 m 已经是过期的消息,可能无法再保密,也可能必须将其公开)于是,在解密方程 m=D(c,k) 中,Eve 知道 m 和 c,仅仅不知道解密密钥 k;在加密方程 c=E(m,z) 中,Eve 知道 m 和 c,仅仅不知道加密密钥 z。如果 Eve 从解密方程中计算出解密密钥 k,则 Eve 今后就可以像 Bob 一样对任何密文 c' 进行解密;如果 Eve 从加密方程中计算出加密密钥 z,则 Eve 今后就可以像 Alice 一样对任何明文 m'进行加密。还可以给更宽松的条件,设攻击者 Eve 获得了以往废弃的 n 组明文/密文对,于是 Eve 获得了关于解密密钥 k 的方程组。n 越大,解密密钥 k 就越容易确定。这就是已知明文攻击。

要抵抗已知明文攻击,必须精心地设计加解密算法(E,D)。(能抵抗已知明文攻击的加解密算法(E,D)并不是很容易构造的。)

已知明文攻击的一些弱化形式:

设攻击者 Eve 知道了以往的一个密文 c 以及 c 所对应的明文 m。Eve 又截获了一个新的密文 c',Eve 试图猜测除 c' 所对应的明文 m'。如果加解密算法设计得”不好“,则密钥对明文的覆盖就可能出现漏洞。此时由{m,c,c'}猜测出 c’所对应的明文 m' 就会变得容易得多。可能出现以下的现象:

当 c 与 c' 的”距离很近“时,m’与 m 也”距离很近“,而无论密钥是什么值。

当 c 与 c' 具有某种固定的关系 A 时,m 与 m' 具有某种固定的关系 B,而无论密钥是什么值。

当 c 与 c' 具有某种固定的关系 A 时,m 与 m' ”以很大的概率“具有某种固定的关系 B,而无论密钥是什么值。

当密钥的可能变化范围(密钥量)太小时,攻击者 Eve 可以穷举搜索密钥。

为了抵抗诸如此类的攻击,以便适用于多次一密,加解密算法应该满足:

具有良好的”混淆性“和”扩散性“

具有良好的”非线性性“

具有良好的”差分均匀性“

密钥的可能变化范围(密钥量)应该大到不可能穷举搜索密钥。

加解密算法的专业术语为”密码体制“。

从原理上,密码体制可以分为两大类:

单钥密码体制。又称为对称密码体制。

双钥密码体制。又称为非对称密码体制,也称为公钥密码体制。

单钥密码体制的加密密钥 z 和解密密钥 k 能够简单地相互推导出来。Alice 和 Bob 的地位是对称的,可以双向地发送和接收保密信息

在一般实用情况下,总有 z = k。

在双钥密码体制中,要从加密密钥 z 推导出解密密钥 k 是很困难的。(虽然,也许加密密钥 z 唯一地确定了解密密钥 k)具体地说:

Bob 拥有加密密钥 z 和解密密钥 k。加密密钥 z 称为 Bob 的公钥,解密密钥 k 称为 Bob 的私钥。

Bob 的公钥 z 向大家公布。(像电话号码一样)Bob 的私钥 k 被 Bob 私藏。

大家都知道 Bob 的公钥 z,而只有 Bob 自己知道他的私钥 k。因此,大家都能够用 Bob 的公钥 z 将明文消息加密变为密文,并把密文向 Bob 发送,而只有 Bob 自己能够解密这些密文。

公钥密码体制除了具有信息保密的功能以外,还具有了一种信息认证功能:Alice 用 Bob 的公钥 z 加密一个信息,谁能把消息正确解密,Alice就认为谁是真正的 Bob。

公钥密码体制的原理是数学难题,例如大数分解问题、离散对数问题、背包问题、多项式的分解问题、格的最小向量问题等等。

古典密码是密码学的渊源,这些密码大都比较简单,现在已很少采用了。然而研究这些密码的原理,对于理解、构造和分析现代密码都是十分有益的。

明文字母表和密文字母表相同,为:

Z_{q} ={0,1,…,q-1}。

明文是长为 L 的字母串,以 m 表示:

m = ( m_{0} m_{1} ,…, m_{L-1} ),

其中每个 m_{l}\in Z_{q} ,l = 0,1,…,L-1。

密文是长为 L 的字母串,以 c 表示:

c = ( c_{0} , c_{1} ,…, c_{L-1} ),

其中每个 c_{l}\in Z_{q} ,l = 0,1,…,L-1。

单表代换密码是字母表到自身的一个可逆映射 f,

f:Z_{q}\rightarrow Z_{q} 。

令明文 m=m_{0}m_{1} …,则相应密文为

c=c_{0}c_{1}…=f(m_{0})f(m_{1})…

加密变换: f(l)=(l+k)\mod q , 0\leq l < q 。

其中 k 为密钥: 0\leq k

解密变换: f^{-1}(l)=(l-k)\mod q , 0 \leq l

2. 乘数密码

加密变换: f(l)=lk\mod q , 0\leq l < q 。

其中 k 为密钥: 0\leq k 。显然,仅当(k,q)=1(即 k 与 q 互素)时,f(l) 才是可逆变换。

解密变换: f^{-1}(l)=lk^{-1}\mod q , 0 \leq l

3. 仿射密码

加密变换: f(l)=(lk_{1}+k_{0})\mod q , 0\leq l < q 。

其中 k_{1},k_{2}\in Z_{q},(k_{1},q)=1 ,以 [k_1,k_0] 表示密钥: 0\leq k

4. 多项式代换密码

加密方程为: f(l)=(k_{t}l^{t}+k_{t-1}l^{t-1}+…+k_1l+k_{0})\mod q

其中, k_{t},…,k_{0}\in Z_{q},l\in Z_q

5. 密码短语密码

选一个英文短语,称其为密钥字或密钥短语,如 HAPPY NEW YEAR,去掉重复字母得 HAPYNEWR。将它依次写在明文字母表之下,而后再将字母表中未在短语中出现过的字母依次写于此短语之后,就可以构造出一个字母代换表。

用现代密码学的眼光观察单表代换密码,假设单表代换密码用于多次一密的加解密方式,对其进行已知明文攻击,只要密文中含有至多 q 个不同的字母,单表代换密码体制就被攻破了。

多表代换密码是字母表 Z_q= {0,1,…,q-1}到自身的 d 个可逆映射 f_0,f_1,…,f_{d-1} ,在加密时循环排列使用。令明文 m=m_{0}m_{1} …,则相应密文为

c=c_{0}c_{1}…=f_0(m_{0})f_1(m_{1})…f_{d-1}(m_{d-1})f_0(m_{d})f_1(m_{d+1})…

可逆映射 f_0,f_1,…,f_{d-1} 都是移位代换密码,分别使用密钥 (k_0,k_1,…,k_{d-1}) 。

令明文 m=m_0m_1… ,则相应的密文为

c=c_0c_1…=(m_0+k_0modq)(m_1+k_1modq)…(m_{d-1}+k_{d-1}modq)(m_d+k_0modq)(m_{d+1}+k_1modq)…

设维吉尼亚密码用于多次一密的加解密方式,对其进行已知明文攻击。Eve 截获了一段密文,并获得了该段密文所对应的明文。只要密文长度不小于 d,密钥(k_0,k_1,…,k_{d-1})就被确定。

若 d 充分大,大到不可能截获长度为 d 的密文(存储量和时间限制),甚至可以设 d ”接近无穷大“。此时当然可以抵抗已知明文攻击。(流密码或序列密码)

但问题是通信伙伴之间怎样简单快速地协商极长的密钥序列(k_0,k_1,…,k_{d-1})?

当然不能逐字母地协商密钥。因为,如果攻击者截获长度为 d 的密文是不可能的(存储量和时间限制),则通信伙伴协商出长度为 d 的密钥也是不可能的。

一种办法是取(k_0,k_1,…,k_{d-1})为一本书,此时通信伙伴只需要相互告知该书的书名和版本号,因此使得密钥协商简单快速。这种办法很容易进行局部破译。

设 Eve 截获了一段长度为 l 的密文,并获得了该段密文所对应的明文。Eve 因此也获得了密钥中长度为 l 的一段 (k_0,k_1,…,k_{l-1}) 。l 与 d 相比当然是微不足道的。但如果该段是名书名句,则 Eve 只需要找到该书名;如果该段并不著名,也可以根据文字推断书名及书目类别,并到书店寻找该书。也可以根据文字的特征,由上下文含义来推测后续密钥。

另一种办法是取 (k_0,k_1,…,k_{d-1}) 为某个周期序列的一个周期,周期 d 极大,而用一个长度大约为 ln(d)的”密钥种子“,采用公开算法来递归生成这个周期序列。这时通信伙伴只需要相互告知”密钥种子“的值,这是现代流密码的一般构造,存在着大量有待解决的工程实践问题、学术理论问题。

2. 多字母代换密码

多字母代换密码是字母 L 维向量空间到自身的一个可逆映射 f:Z_q^L\rightarrow Z_q^L ;即令明文 m=m_0m_1… ,则相应的密文为

c=c_0c_1…=f(m_0m_1…m_{L-1})f(m_Lm_{L+1}…m_{2L-1})…

我们知道,字母 L 维向量空间 Z_q^L 一共有 q^L 个向量。

多字母表代换密码f实际上是一个单表代换密码,只不过”字母表“是 Z_q^L ,有 q^L 个”字母“。这里的一个”字母“就是Z_q^L中的一个 L 维向量。

如果 f 设计得好,则需要q^L个”密文字母“和其对应的”明文字母“才能确定 f。

因此,设计得好的多字母代换密码 f 能够极大地扩大已知明文攻击所需要的明文/密文的长度。

但问题是,多字母代换密码 f 怎样做到设计得好并且简单快速?(达到设计要求的密码是一种现代密码,称之为分组密码。)

显然,不能使用真实的代换表,因为一个代换表需要q^L个对应规则: x\rightarrow f(x),x\in Z_q^L.

古典的多字母代换密码 f 或者采用移位运算,或者采用线性运算,或者采用仿射运算,等等。这些孤立的运算都是简单快速的,但是在已知明文攻击之下都是非常不安全的。只需要比较短的密文和对应明文就可以确定密钥。

现代分组密码的设计思想是,f 由若干简单运算组合而成。这些简单运算互相屏蔽,使得已知明文攻击很难成功地找出密钥。

密码设计和密码分析是共生的、又是互逆的,两者密切相关但追求的目标相反。

两者解决问题的途径有很大差别。密码设计是利用数学来构造密码;密码分析除了依靠数学、工程背景、语言学等知识外,还要靠经验、统计、测试、眼力、直觉判断能力,有时还靠点运气。

对截获的密文,依次用各种可能的密钥试译,直到得到有意义的明文。各种可能的密钥的总数称为密钥量。

只要有足够多的计算时间和存储容量,原则上穷举搜索总是可以成功的。任何一种实用的密码的密码量都远远大于攻击者所能承受的计算时间和存储容量。

2. 无条件安全(完善保密)

对密码体制的任何攻击,都不优于(对明文)完全盲目的猜测,这样的密码体制就称为无条件安全的(或完善保密的)。

一次一密的加密方式容易实现无条件安全性。因为密钥时时更新,所以往往得到的任何明文/密文对,对于破译新的密文没有任何帮助,只能做完全盲目的猜测。(量子通信)

3. 计算安全

计算安全是一个模糊的概念。我们可以给出以下三个级别的定义:

对密码体制的任何攻击,虽然可能优于完全盲目的猜测,但超出了攻击者的计算能力。这是最高级别的计算安全。

对密码体制的任何攻击,虽然可能没有超过攻击者的计算能力,但所付出的代价远远大于破译成功所得到的利益。

对密码体制的任何攻击,虽然可能没有超出攻击者的计算能力,但破译成功所需要的时间远远大于明文本身的有效期限。

若 m_1 的取值为0或1,则称 m_1 为一个比特。

n 个比特 m_1m_2m_3…m_n ,称为一个长度为 n 的比特串。

无穷个比特 m_1m_2m_3…m_nm_{n+1}… ,称为一个比特流。

两个比特流:

m_1m_2m_3…m_nm_{n+1}…,

k_1k_2k_3…k_nk_{n+1}… ,

做运算得到如下一个新的比特流:

c_1c_2c_3…c_nc_{n+1}…

其中 c_n=m_n+k_n(mod2),n=1,2,3,…,

称比特流 c 是比特流 m 与 比特流 k 的逐位模2加,或逐比特异或。

记作 c=m '+' k ,此时有 m=c '+' k , k=m '+' c

当明文是比特流 m,称为明文流;加密密钥和解密密钥相同,是比特流 k,称为密钥流;密文是比特流 c,称为密文流;加密算法和解密算法相同,加密:c=m '+' k,解密:m=c '+' k。则称这样的加解密算法为流密码,又称其为序列密码。

假设密钥流 k 是由完全随机的方式生成的。因此从攻击者的角度来看,密钥流 k 应该是真正的随机序列,满足:

k_1,k_2,k_3,…,k_n,k_{n+1}…

都是具有等概率分布的随机变量,

P(k_l=0)=P(k_l=1)=\frac{1}{2} ,

且它们相互独立。

任意两个不相互重叠的密文段,它们所对应的密钥段都是相互独立的。换句话说,每一次加密都使用与以前的密钥段完全无关的新密钥段。再换句话说,此时的加密方式是一次一密的。因此,此时达到了最高的安全性标准:无条件安全(完善保密)。

2. 伪随机性:密钥流的实用情形

实用的密钥流 k 不可由完全随机的方式生成。出于商用目的和标准化要求,密钥流 k 必须由确定的方式自动生成。不过从攻击者的角度来看,密钥流 k 很像真正的随机序列,称为伪随机序列。

两个不相重叠的密文段,它们所对应的密钥段可能不同,但未必没有依赖关系。换句话说,此时的加密方式未必是一次一密的。因此,此时未必达到无条件安全。

因此,伪随机的密钥流只能力争做到计算安全。

3. 安全问题

现在对流密码进行已知明文攻击。设攻击者 Eve 在以往截获了密文段 c_1c_2c_3…c_n ,并知道了对应的废弃明文段 m_1m_2m_3…m_n ,因此计算出了对应的废弃密钥段 k_1k_2k_3…k_n 。希望由k_1k_2k_3…k_n 难以预测后续密钥段k_{n+1}k_{n+2}… 这种不可预测性又称为伪随机性。

若明文流被分割成等长串,各串用相同的加密算法和相同的密钥进行加密,就是分组密码。

即当明文和密文是固定长度 n 的比特串

m=m_1m_2m_3…m_n , c=c_1c_2c_3…c_n ,

加密密钥和解密密钥相等,是固定长度为 j 的比特串 z=z_1z_2z_3…z_j ,

加密算法为 c=E(m,z) ,

解密算法为 m=D(c,z)=D(E(m,z),z) 。

则称这样的加解密算法为分组密码。

分组密码的加解密算法(E,D)简洁快速,所占用的计算资源小,易于软件和硬件实现。一般来说,用硬件实现时,流密码比分组密码更简单快速;用软件实现时,分组密码比流密码更简单快速。

分组密码的加解密算法(E,D)参数固定,比流密码更容易实现标准化。

由于明文流被分段加密,因此容易实现同步,而且传输错误不会向后扩散(一个分组加密出错,只影响该组明文解密,不影响相邻分组解密)。

分组密码的安全性很难被证明,至少证明局部安全性。

2. 分组密码的主要威胁:

分组密码的密钥 z 被重复使用,即多次一密,因此最主要的威胁就是已知明文攻击。

设攻击者 Eve 获得了一组明文/密文对(m,c)。他试图在加密方程 c=E(m,z) 或解密方程 m=D(c,z) 中求出密钥 z。

Eve 的一种办法是穷举搜素密钥的所有可能值。(密钥 z 长度为 j,共有 2^j 个可能值)为了抵抗穷举搜索,密钥的长度 j 不能太小。当然密钥的长度也不能太大,否则加解密的计算量就会很大。当前常用的密钥长度为64或128或256。

Eve 的另一种办法是充分利用加解密算法(E,D)的弱点。如果其一组明文/密文对(m,c)使得方程 m=D(c,z) 特别容易解出 z,m 就称为一个弱明文,z 就称为一个弱密钥。

Eve 时刻都在对加解密算法(E,D)进行研究,以便找到弱明文和弱密钥。(当然,即使 Eve 通过研究找到了弱明文 m 和弱密钥 z,也不见得能够在实际中碰到这样的 m)

如果给 Eve 更加优越的条件,让他能够故意”碰到“弱明文 m。这就是说,让 Eve 获得一个正在使用的加密黑盒,可以随意地输入明文,输出密文。这样的攻击是已知明文攻击的强化型,称为选择明文攻击。

所以要求加解密算法(E,D)不存在弱明文和弱密钥。

3. 为了抵抗已知明文攻击(甚至选择明文攻击),分组密码应该满足的性质:

a. 混淆性

所设计的密码应使得明文、密文、密钥之间的依赖关系相当复杂,以至于这种依赖关系对密码分析者来说是无法利用的。密码分析者利用这种依赖关系的方法非常多,因此混淆性也是一个极为繁杂的概念。

非线性度:这一项属于混淆性。基本数学原理:

如果明文与密文的关系是 n 维线性关系,系数是密钥,则 n 个明文/密文对(而不是 2^n 个)就可以破解密钥;

如果明文和密文的关系是 n 维 r 次函数关系,且系数是密钥,则 n^r 个明文/密文对就可以破解密钥;

如果虽然次数 r 较大,但明文与密文的关系”非常逼近“一个 n 维线性关系,则 n 个明文/密文对就可”基本上“破解密钥。

b. 扩散性

所设计的密码应使得

密钥的每一个比特影响密文的每一个比特,以防止对密钥进行逐段破译。

明文的每一个比特影响密文的每一个比特,以便最充分地隐蔽明文。

对扩散性可以有多种理解,比如

”粘粘性“指的是明文、密文、密钥的每一位都相互依赖;

”不连续性“或”雪崩性“指的是当改变明文的任何一个比特时,对应明文改变的比特的个数是一个随机变量;

”不可部分破译性”指的是分组密码不能分解成若干子密码。这就是说,对分组密码的攻击要么彻底破译,要么一无所获。

c. 安全强度的稳定性

当部分密钥被破译后,分组密码仍有一定的抗攻击能力。

设明文 x 为 n 比特长,两个 n 比特长的密钥 k_1 和 k_2 ,密文 y=(x '+'k_1)'+'k_2 ,其中‘+’为逐比特异或,为mod 2^n 加法。这人个加密算法所使用的密钥长度为2n。

假设攻击者已经获得了k_2的低 m 比特。根据‘+’的进位规则,只需要一对明文/密钥对就可立即推算出 k_1 的低 m 比特。因此对未来任意的密文,可立即得到其对应明文的低 m 比特。这就是说,2n 长的密钥的各比特对安全性的贡献是极不平均的,在截获一对明文/密文对的前提下,安全性完全依赖于 k_2 的低位的保密性。这个加密算法就是极不稳定的。

4. 分组密码的设计准则:

a. 安全性

安全性就是从任何角度难以攻破。

对于一个正在使用的加密算法,即使攻击者获得“许多”精心选择的明文-密文对,他仍然无法“接近”密钥;

即使攻击者获得“许多”精心选择的明文-密文对,他仍无法“接近”任一个新密文所对应的明文。

b. 简洁性

分组密码算法在满足安全性的同时尽可能简单快速。

如果分组密码算法用软件实现,则要求字长尽可能自然地适应软件编程,比如 8、16、32 比特等。在软件实现中,按比特置换通常是难于实现的,因此应尽量避免使用它。字的运算应该是易于软件实现的运算,最好是用一些标准处理器所具有的一些基本指令,比如加法、乘法、移位等。

如果分组密码算法用硬件实现,则尽量使用规则结构,以便用 VLSI 来实现。

c. 有效性

分组密码的设计应使密钥最大限度地起到安全性作用。

在有效性差的分组密码算法中,一个长密钥的作用等效于另一个短密钥,或其作用在统计上逼近短密钥。

d. 透明性和灵活性

透明性即要求算法是可证明安全的(虽然这是很困难的)。这就要求算法尽可能使用通用部件,避免黑盒。

灵活性即要求算法的xsh实现可以适应多种计算环境;明文分组长度可以伸缩;算法可以移植和变形。

e. 加解密相似性

我们知道:

加密算法是 E(·,z),

解密算法是 D(·,z)。

这里 E(·,z)和D(·,z)使用相同的密钥 z,使用不同的算法 E 和 D。

如果D(·,z)=E(·, z^* ),其中z^*是 z 经过非常简单的重新编排得到的,则称分组密码算法是加解密相似的。

加解密相似即加密算法和解密算法相同,仅仅密钥的编排不同。

一个加解密相似的分组密码算法,其加密机和解密机是同一个机件(加密软件和解密软件是同一个软件),仅仅临时输入的密钥不同。

加解密相似的好处是大大节省存储空间和其它计算资源,大幅降低成本。这也是分组密码设计所追求的一个方向。

5. 计算部件:

分组密码的设计者总是在安全性与简洁性之间回旋,因此一般的设计方法都是用一些简单的计算部件,通过组合成为复杂的、能抵抗各种攻击的加密函数。密码设计者希望这些计算部件的安全性功能互补,而不是相互抵消。

a. 群加密

明文块与密钥块进行群“乘法”运算,它的作用是一次性地掩盖明文。如果单独使用群加密部件,则一组已知的明文/密文对就可获得密钥。

最常用的两种群加密如下,

逐比特异或‘+’结构最简单,缺点也最明显,密文的一个比特只依赖于明文的一个比特和密钥的一个比特,毫无扩散功能。

mod 2^n 加法“+”也是非常简单的计算部件,具有单向扩散功能,即明文或密钥的第 j 位影响密文的第 j 位、第 j+1 位、…、第 n 位。

b. S盒

在分组密码的计算部件中,必须有一个部件来实现高度的非线性。

高度非线性函数的计算有两种途径:

用“解析表达式”(代数正规型),将自变量的值代入“解析表达式”,计算出函数值。

用输入/输出真值表,输入自变量的值作为地址,在该地址所存储的值就是查表查出的函数值。

比较这两种途径发现,用解析表达式计算高度非线性函数,总是比较复杂,速度比较慢。随着输入/输出长度增大,计算复杂度线性地增大。用输入/输出真值表计算高度非线性函数,短的输入/输出使计算量很小,随着输入/输出长度增大,计算复杂度指数地增大。(输入长度为 n 时,自变量有 2^n 个可能的值,即输入/输出真值表有 2^n 个地址;输出长度为 m 时,函数值有 2^m 个可能的值)。

输入/输出长度比较小的,用输入/输出真值表来计算,仅仅实现高度非线性功能的计算部件称为 S 盒。现有的大多数 S 盒是公开的,即是一个单表代换部件,一少部分 S 盒是由密钥控制的,即是一个多表代换部件。

6. 计算部件的组合:

a. 替换/置换网络(SPN)

这是一个集掩蔽、混淆、扩散为一体的综合性部件,由若干子部件组合而成。

替换/置换网络的一个典型代表是 Feistel 网络,算法为:

计算: (L',R')=(L(0)'+'F(R(0),k),R(0))

计算密文: c=(L(1),R(1))=(R',L')

Feistel 网络的结构特点

定义 变换 f 称为对合变换(或称为自反变换),如果其反变换还是 f。(对任何 x 满足 f(f(x))=x ),我们看到,Feistel 网络的第一步是对合变换,Feistel 网络的第二步也是对合变换,Feistel 网络本身不是对合变换。

Feistel 网络的这种结构使它能够组合成安全强度高的分组密码算法。

b. 多轮迭代与轮函数

迭代型分组密码就是用简单的、安全性弱的加密算法进行多轮迭代以获得强的安全性。单轮加密算法称为轮函数,所用的密钥称为单轮子密钥。

比如,把Feistel 网络作为轮函数,将迭代型分组密码的加密算法构造如下:

Feistel 网络 \rightarrow Feistel 网络\rightarrow…\rightarrowFeistel 网络\rightarrow左右对换。

则 克服了Feistel 网络的安全缺陷,分组密码是“加解密相似”的。

7. 分组密码的工作模式:

分组密码算法本身具有缺点:相同的密文组一定对应相同的明文分组。

分组密码的工作模式就是以该分组密码算法为基础构造的密码系统,意在增加各分组的相互依赖性,克服分组密码算法的缺点。

一个分组密码的各种工作模式有:电码本模式、码分组链接模式、码反馈模式、输出反馈模式。

8. 部分国际著名的商用分组密码:

DES、IDEA、AES

美国国家标准局于1977年公布了由 IBM 公司研制的一种加密算法,并批准把它作为非机要部门使用的数据加密标准,简称 DES。自从公布以来,它一直超越国界成为国际上商用保密通信和计算机通信的最常用的加密算法。当时规定 DES 的使用期为10年。后来美国政府宣布延长它的使用期,其原因大概有两条:一是 DES 尚未受到严重的威胁,二是一直没有新的数据加密标准问世。DES 超期服役了很长时间,在国际通信保密的舞台上活跃了20年。

DES 的结构闪烁着人类设计思想的精华,其优点和缺点被密码学界淋漓尽致地讨论。

DES 使用了 S 盒,而 S 盒现在已经是几乎所有分组密码算法不可缺少的部件。

迭代分组密码是分组密码的主流设计。

DES 轮函数结构是 Feistel 网络,这种结构现在已经是轮函数的经典结构之一。

DES 算法的第一个和最后一个部件没有密钥参与,在已知明文攻击下不起任何安全作用。以后设计的分组密码都纠正了这个缺点。

DES 的 S 盒设计细节始终没有公布,因此被人们怀疑设有陷门(即密码设计者为自己预留的破译通道)。这种不透明的设计显然会影响其商用前景。这一缺点引出了商用分组密码设计的一个准则“透明性”,即密码的使用者能够确知该密码的安全强度。

对 DES 的各种攻击方法纷纷被提出。穷举搜索仍然是对分组密码实用攻击的主角。但是进入90年代后,基于数学分析的攻击方式逐渐兴起,如以色列密码专家 Shamir 等人提出了差分密码分析,日本密码学家 Matsui 等人提出了线性密码分析,这些数学攻击方法都首先被用于破译 DES,并且可以说取得了局部的成功。(比如,有人在个人计算机上用差分密码分析方法,几分钟就破译了8轮 DES。又比如,据称使用243个明文/密文对就可以由线性密码分析方法破译 DES。243已经不是天文数字了,据称数十台工作站协同工作,经过十多天就可完成。)

为抵抗对 DES 的各种攻击,产生了强化版的三重 DES( E\rightarrow D\rightarrow E ),三重 DES 的安全强度高于 DES,但似乎不够简洁。

2000年5月,美国国家标准技术研究所最终确定了 DES 的替代标准 AES,才使 DES 基本上完成了自己的历史使命。

双钥密码体制(公钥密码体制)可用于保密通信,也可用于数字签名。这一体制的出现在密码学史上是划时代的事件,它为解决计算机信息网中的安全提供了新的理论和技术基础。

公钥体制的基本原理是陷门单向函数。

一个函数 f:A\rightarrow B ,若它满足:

对所有 x \in A ,易于计算 f(x) ,

对“几乎所有x \in A”,由f(x)求 x “极为困难”,以至于实际上不可能做到。

则称 f 为一单向函数。

定义中的“极为困难”是对现有的计算资源和算法而言。

陷门单向函数,是这样的单向函数:

在不知陷门信息下,由 f(x) 求 x “极为困难”;

当知道陷门信息后,由 f(x) 求 x 是易于实现的。

给定一大素数 p(比如,p 在 2^{1024} 数量级),p-1含另一大素数因子。称 log_2p 为素数 p 的长度。

{1,2,…,p-1}关于 modp 乘法构成了一个乘群 Z_p^* ,它是一个p-1阶循环群。该循环群的生成元一共有 \phi(p-1) 个。

设一个生成元为整数 g,1

设一个整数 x,1

设 y 满足 y=g^xmodp 。

已知 x、g、p,求 y=g^xmodp 容易。

这是因为采用折半相乘,只需要不超过 2log_2p 次的modp乘法运算。(实际上只需不超过2log_2x 次的modp乘法运算。如 x=15=1111_2 , g^{15}modp=(((g)^2g)^2g)^2gmodp ,要用6次modp乘法)

若已知 y、g、p,求 x 满足y=g^xmodp,称为求解离散对数问题。记为 x=log_gymodp 。求解离散对数问题的“最笨的方法”当然就是穷举,对每一个 x\in {0,1,2,…,p-1}检验是否y=g^xmodp。穷举求解法的运算次数约为 (p-1)/2。许多求解离散对数问题的算法比穷举法快得多,比如 Shanks 算法,Pohlig-Hellman 算法等。最快求解法的运算次数约为数量级

O(exp(\sqrt{(lnp)(lnlnp)})) ,

这个计算量称为亚指数计算量。

当 log_2p\approx1024 时,亚指数计算量不小于 2^{100} 数量级。至少在当前的计算水平之下是不能实现的。

设有二大素数 p 和 q。设 n=pq。

若已知 p 和 q,求 n=pq只需要一次乘法。

但若已知 n,求 p 和 q满足 n=pq,则称大整数分解问题。

迄今为止,已知的各种算法的渐进运行时间约为:

试除法: n/2

二次筛:O(exp\sqrt{\ln n\ln \ln n})

椭圆曲线:O(exp\sqrt{2\ln p\ln \ln p})

数域筛:O(exp((\ln n)^{\frac{1}{3}}(\ln \ln n)^{\frac{2}{3}}))

已知向量

A=(a_1,a_2,…,a_N) , a_i 为正整数,

称其为背包问题,称每个 a_i 为物品重量。给定向量

x=(x_1,x_2,…,x_N),x_i\in {0,1},

求和式(称为背包重量) S=a_1x_1+a_2x_2+…+a_Nx_N

容易,只需要不超过 N-1 次加法。但已知 A 和 S,求 x 则非常困难,称其为背包问题,又称作子集和问题。一般只能用穷举搜索法,有 2^N 种可能。N 大时,相当困难。

将物品重量从小到大排列: a_1,a_2,a_3,…,a_N 。称该背包问题为超递增背包问题,

如果:

\\a_1

(超递增背包问题是容易解决的。)

若干个 N 维向量组成的集合,如果满足_集合中任何若干个向量的整数线性组合仍是集合中的一个向量。_则该结合称为一个格。

如果格中存在这样的几个向量,满足它们(实数)线性无关,格中的任何其它向量都能唯一地表示为这几个向量的整数线性组合。则这几个向量构成的向量组称为基。

基中的向量个数称为格的维数。格的维数总是不超过 N。

给定一个格的一组基。寻找格中的“尺寸最小”的向量(即模最小的向量),称为格的最小向量问题。又称为格归约。实际上,格归约的传统算法为LLL算法,以后又有各种改进的算法。当格的维数比较大时(比如,维数大于200),当前的所有格归约算法都不是有效算法。

任意选取两个不同的大素数 p 和 q 计算乘积 n=pq,\phi(n)=(p-1)(q-1)

任意选取一个大整数 e 用做加密钥,满足 gcd(e,\phi(n))=1

(注意:e 的选取是很容易的,例如,所有大于 p 和 q 的素数都可用)

Bob 的公钥是(n,e),对外公布。

确定的解密钥 d,满足 (de)mod\phi(n)=1 ,即 de=k\phi(n)+1,k\geq1 是一个任意的整数,所以若知道 e 和 \phi(n) 则很容易计算出 d(扩展的欧几里得算法)。私钥是 d,自己私藏。

只根据 n 和 e(不是 p 和 q)要计算出 d 是不可能的。因此任何人都可对明文进行加密,但只有授权用户(知道 d)才可对密文解密。

目前普遍使用的参数范围是 2^{511}

, 2^{511}

如果 Eve 欲穷举 p 的所有可能值,则穷举的次数约为

(2^{512}-2^{511})/2=2^{510} (次)。

(因此,基本 RSA 似乎是足够安全的)

设攻击者 Eve 获得了两组明文/密文对

(m_1,c_1),(m_2,c_2)。

如果 Bob 新截获了一个密文 c,并发现:

c=c_1c_2(modn) ,则 c 所对应的明文一定是 m=m_1m_2(modn) ;

c=c_1/c_2 (modn) ,则 c 所对应的明文一定是 m=m_1/m_2(modn) ;

c=c_2/c_1 (modn) ,则 c 所对应的明文一定是 m=m_2/m_1(modn) 。

(模除运算·/·(modn)是一个数论运算)

基本 RSA 的这个安全性漏洞称为可传递性。这个漏洞使得攻击者 Eve 对某些新的密文能够轻而易举地找到其对应明文。这个漏洞还有更深刻的隐患,比如在消息认证过程中容易产生伪造。

为了克服基本 RSA 的这个安全性漏洞,人们将基本 RSA 进行改造,引入 Hash 函数。

杂凑函数又称为:Hash编码、Hash函数、散列编码、散列函数、单向压缩函数。

杂凑函数是一类特殊的单向函数。设数据文件是任意长度的比特串 x。在密码应用中,希望有这样的函数 y=H(x) ,满足

将 x 压缩成为固定长度的比特串 y。

不同的 x 一定要生成不同的 y。

由 y 的值无法倒算 x 的值。

(这就是说,希望 y 的作用相当于 x 的“身份识别符号”,或者“摘要”。比如人的指纹、DNA、虹膜等。)

前两条希望是互不相容的,鸽窝原理。

杂凑函数的实际性质:

将任意长度的比特串 x 压缩成为固定长度的比特串 y。

已知 x,计算 y=H(x) 很容易;已知 y,找一个 x 满足y=H(x)却很困难。这一性质称为单向性。

找 (x_1,x_2),x_1\ne x_2,H(x_1)=H(x_2) ,很困难。这一性质称为无碰撞性。

这样的函数称为杂凑函数。

单向性:或许已经知道了许多对 (x^*,y^*) ,满足 y^*=H(x^*) ;或许确实存在 (x_1,x_2) 满足: x_1\ne x_2 , H(x_1)=H(x_2) ,实际找到这样的(x_1,x_2)却很困难,在计算上行不通。

Alice 猜测了一个号码 x_1 ,但不知道中奖号码x_2;

Bob 设置了中奖号码x_2,但不知道Alice猜测的号码x_1。

双方都希望先获得对方的号码,然后更改自己的号码达成作弊,防止两人作弊的方案称为“公平提交方案”。

两人使用一个公开的杂凑函数 y=H(x) 。方案如下:

Alice 随机选择 r_1 ,计算y_1=H(x_1,r_1),并将 y_1 发送给 Bob。

Bob 随机选择 r_2 ,计算y_2=H(x_2,r_2),并将 y_1 发送给 Alice。

Alice 收到 y_2 后,将 (x_2,r_2) 发生给 Bob。

Bob 收到 y_1 后,将 (x_1,r_1) 发生给 Alice。

Alice 收到(x_2,r_2)后,检验是否 y_2=H(x_2,r_2) ,若是则 x_2 是真实的中奖号码。

Bob 收到(x_1,r_1)后,检验是否 y_1=H(x_1,r_1) ,若是则 x_1 是 Alice 真实的猜测号码。

Alice 发送 y_1 给 Bob,Bob发送 y_2 给 Alice,这叫做承诺。

Alice 发送 (x_1,r_1) 给 Bob,Bob发送 (x_2,r_2) 给 Alice,这叫做践诺。

当承诺值确定以后,无法改变践诺值。

当对方发送来了承诺值以后,己方无法计算出对方的践诺值,因而无法“随机应变地”确定自己的践诺值。

综上所述,杂凑函数阻止了双方作弊。

设 Bob 拥有 Alice 的身份密号 x_2 .现在 Alice 需要向 Bob证明自己的身份,即要向 Bob 证明自己知道 x_2 .但必须通过不安全的公共信道来进行证明。这就是说,信道上有攻击者 Eve 在监听。

两人使用一个公开的杂凑函数 y=H(x) 。方案如下:

Alice 向 Bob 发送信息“我是 Alice”。

Bob 收到消息后,向 Alice 发送一个随机的比特串 x_1 。

Alice 收到 x_1 后,与自己的身份密号 x_2 联立,得到 x=(x_1,x_2) 。

Alice 计算 y=H(x) ,并向 Bob 发送 y。

Bob 收到 y 后,取出 Alice 的身份密号 x_2 ,并与 x_1 联立得到 x=(x_1,x_2) ,然后验证是否 y=H(x) ,

若是则认为 “Alice 是真正的 Alice”;

若否则认为 “Alice 是假冒的 Alice”。

设攻击者 Eve 截听到了 Alice 和 Bob 之间的证明全过程。这就是说,Eve 知道了随机比特串 x_1 ,知道了杂凑函数值y=H(x_1,x_2) ,但不知道 Alice 的身份密号 x_2 。根据杂凑函数的性质,Eve 不可能由 x_1 和 y 计算出 x_2 。如果 Bob 发送的 x_1 保持不变,则 Eve 能够冒充成功,但每次发送的 x_1 是随机的,重复发送的概率是微乎其微的。

使用了散列编码的数字签名将更加安全。

SHA-1,美国政府的安全散列编码算法标准。

MD5,由 RSA 数据安全公司研制的散列编码算法。(2004年5月,中国山东大学的王小云教授(现在清华大学)攻破了 MD5。王小云的攻击算法可以在几分钟内找到一批碰撞)

一个被签了名的消息,无法分割成为若干格被签了名的子消息。

这一性质保证了被签名的消息不能被断章取义。

当一个签名消息被分割成子消息发送出去,则签名已经被破坏了,收到消息的人会辨认出签名是无效的(不合法 的)。

2. 身份唯一性(不可伪造性)

被 Alice 签名的消息只能由 Alice 生成。

Bob 在收到一个“被 Alice签名的消息”时,他有办法检验,该签名是否真的是被 Alice 签名的消息。

或许攻击者 Eve 截获了大量被 Alice 签名的消息,但他仍然不能伪造出一个新的,别人认可的“被 Alice签名的消息”。

如果无论 Eve 截获多少被 Alice 签名的消息,他伪造新的“被 Alice签名的消息”的成功概率仍然没有丝毫提高,则称该签名算法是零知识的。

3. 不可否认性(公开可验证性)

被 Alice 签名的消息,在未来不能被 Alice 否认。

Bob 在收到一个被 Alice 签名的消息时,他有办法向第三方证明该签名是真的被 Alice 签名的消息。

如果一个数字签名具有不可伪造性,则 Bob 能够自行验证签名消息的真伪;而如果一个数字签名具有公开可验证性,则 Bob 能够向他人证明签名消息的真伪。

以公钥密码为基础的数字签名的算法才能具有如此强大的信息安全功能。

Alice 用 H 将消息 m 进行处理,得散列值 h=H(m) 。

Alice 用自己的私钥 d 对 h “解密”得 s=h^d(modn) 。

Alice将(m,s)发送给 Bob。

Bob 用 Alice 得公钥 e,检验是否 H(m)=s^e(modn) 。

若是则(m,s)是 Alice 发送的签名消息。

具有身份唯一性和不可伪造性,但存在重放攻击。

2. 盲签名

一般数字签名中,总是要先知道文件内容而后才签署。但有时需要某人对一个文件签名,但又不让他知道文件内容,称此为盲签名,它是由 Chaum 最先提出的。在选举投票和数字货币协议中将会碰到这类要求。

设 B 是一位仲裁人,A 要求 B 签署一个文件,但不想让他知道所签的是什么,而 B 也不关心所签的内容,他只要确保在需要时可以对此进行仲裁。可通过下述协议实现。

A 取一文件并以一随机值乘之。称此随机值为盲因子,称用盲因子乘后的文件为盲文件。

A 将此盲文件传送给 B。

B 对盲文件签名。

A 以盲因子除之,得到 B 对原文件的签名。

(若签名函数和乘法函数是可换的,则上述作法成立。否则要用其它方法修改原文件。)

曾提出第一个实现盲签名的算法,他采用了 RSA 算法。令 B 的公钥为 e,密钥为 d,模为 n。

A 需要 B 对消息 m 进行盲签名,选 1t=mk^e(mod n)\rightarrow B

B 对 t 签名, t^d=(mk^e)^d(mod n)\rightarrow A 。

A 计算 s=t^d/k(modn) ,得 s=(mk^e)^d/k(modn)=m^d(modn) ,

(m,s)就是 B 对 m 按 RSA 体制的合法签名,任何知道公钥 e 的人都能验证 s^e=m(mod n) 。

3. 群签名

群签名是面向群体密码学中的一个课题,它有下述几个特点:

只有群中成员能代表群体签名;

接收到签名的人可以用公钥验证群签名,但不可能知道由群体中哪个成员所签;

发生争议时可由群体中的成员或可信赖机构识别群签名的签名者。

这类签名可用于投标中,防止作弊。

4. 扩展:国密 SM 系列算法

SM1 对称密码算法(与 AES 相当,算法不公开)

SM2 椭圆曲线公钥密码算法

SM3 杂凑算法

SM4 对称密码算法(采用32轮非线性迭代结构)

SM7 对称加密算法(算法不公开,适用于非接触式 IC 卡)

SM9 标识密码算法(不需要申请数字证书)

ZUC 祖冲之算法(流密码)

云计算导论心得总结 第6篇

主体:与系统交互的代理,可以根据特定的个人定义,也可以根据个人群体在组织中可能持有的角色或级别来定义。

客体:客体是安全策略要保护和管理的信息与计算资源。

动作:主体对客体可能(或不可能)执行的操作。

权限:主体、操作与客体之间的映射,权限明确规定允许或禁止哪些操作。

保护:策略中包含的特定安全特性或规则,以帮助实现 特定的安全目标,如保密性、完整性、可用性或匿名性。

安全模型是一种抽象的、为管理员指定安全策略提供概念的语言。

通常,安全模型定义了组织成员所拥有的访问或修改权限的层次结构,因此,基于层次结构中这些权限所在的位置,就能轻松地对组织中的主体进行授权。

例如,军事文档的访问权限等级分为:不保密、秘密、机密、绝密。

自主访问控制 DAC 的特点是客体创建者可以授予其他主体对客体的访问权,实现方式有访问控制矩阵、访问控制列表、访问控制能力列表。

强访问控制 MAC 是一种基于安全级别的访问控制,每一个主体和客体都被授予不同的安全级别,通过判断主客体之间的安全级别进行访问控制。

BLP 模型,低安全级不可以向高安全级读,高安全级可以向低安全级读;低安全级可以向高安全级写,高安全级不可以向低安全级写。

Biba 模型,低安全级不可以向高安全级写,高安全级可以向低安全级写;低安全级可以向高安全级读,高安全级不可以向低安全级读。

Chinese Wall 中国长城模型,若干有竞争关系数据集构成了利益冲突类,同一个域里面不同的角色不能赋予相同的权限。

基于角色的访问控制 RBAC,不直接对用户授予权限,而是给用户赋予不同的角色,每个角色有不同的权限,基于角色的访问控制可能带来角色爆炸的情况。

基于属性的访问控制 ABAC,每个用户携带自己的属性,包括主体属性,资源属性和环境属性来访问客体,授权引擎根据这些属性进行访问控制。

信任的概念很难定义,信任涉及对实体能力和意图的信心,但也有主观因素:包括对风险的承受能力和文化背景。因此,我们不是对信任进行正式的、严格的定义,而是分析与信任相关的概念。信任管理系统由两个主要组成部分组成:策略语言、一致性检查器。策略规则由策略语言指定,并由一致性检查器执行。

信任管理系统通常有规则如下:

操作:与系统安全相关的结果。

主体:可以在系统上执行操作的用户、进程或其他实体。

策略:就是制定的规则,制定赋予主体哪些权限,能执行哪些操作。

凭证:数字签名的文件,将主体身份与允许的行为绑定,包括允许主体将权限委托给其他主体的权限。

Bell-La Padula 模型是一个保护机密性的,强制访问控制模型的经典案例。

BLP 模型源于军事多级安全模式,传统上一直用军事组织的文件分级和人员放行许可。

这种模型在文档级别的安全性上具有严格的线性顺序,因此每个文档在这个顺序中都有一个特定的安全级别,并且每个用户都被分配了一个严格级别的访问,允许它们查看具有相应安全级别的所有文档。

系统有四种安全级别,最底层的是不保密、然后安全性呈升序分别是秘密、机密、绝密。

每个文档归类于一个安全级别,每个用户都会在一个安全级别得到放行许可。只有具有相同或更高放行许可级别的用户才能访问对应安全级别的文件。

2. 全序和偏序:

在一个集合 U 上一个全序关系应该满足以下性质:

自反性,如果 x 在 U 中,则 x\leq x 。

非对称性,如果 x\leq y 且 y\leq x ,则 x=y 。

传递性,如果 x\leq y , y\leq z ,则 x\leq z 。

完全性,如果 x 和 y 在 U 中,则x\leq y 或 y\leq x 。

一般对于所有数定义的”小于或等于“关系都是全序关系。

如果去掉完全性,我们就得到了偏序的概念,用符号” \preceq “表示。

3. BLP 模型的工作原理:

不同于军事模型中的严格的线性顺序,在 BLP 中形成的安全级别是偏序” \preceq “,

每个对象 x 被分配到一个安全级别 L(X)。同样,每个用户 u 被分配到安全级别 L(U)。

用户对象的访问受以下两条规则控制:

简单安全性质:只有满足如下条件,用户 u 才能读取对象 x: L(x)\preceq L(u) 。

*-性质:只有满足如下条件,用户 u 才能写入对象 x:L(u)\preceq L(x) 。

简单安全性质也被称为”不可向上读“规则,因为它阻止用户查看安全级别高于自己的对象。

*-性质也被称为”不可向下写“规则。它的目的是防止向安全级别较低的用户传播信息。

BLP 规则基于的原则是:信息只能从低安全级别流向高安全级别。

Biba 模型的结构类似于 BLP 模型,但它解决的是完整性而不是保密性问题。

为对象和用户分配的完整性级别形成了偏序,与 BLP 模型类似。

Biba 模型的完整性级别表明对象和用户的可信度或准确度,而不是确定保密级别。

Biba 模型访问控制规则与 BLP 访问控制规则相反,也就是说,Biba 不允许从下一级阅读,也不允许写到上层。

如果让 I(u)表示用户 u 的完整性级别,I(x)表示对象 x 的完整性级别,则 Biba 模型中有以下规则: 用户 u 只能在下列情况下读取对象 x: I(u)\preceq I(x) 。

用户 u 只能在下列情况下才能写入一个对象 x: I(x)\preceq I(u) 。

因此,Biba 规则表达的原则是,信息只能从较高的完整性级别下降到较低的完整性级别。

低水印模型是对 Biba 模型的扩展,它放宽了”不可向下读“的限制,但在其他方面类似于 Biba 模型。

换句话说,具有较高完整性级别的用户可以读取完整性级别较低的对象。

在这样的读取之后,对执行读取的用户进行降级噢,使其完整性级别与所读取对象的完整性级别相匹配。

克拉克-威尔逊模型不处理文档机密性或完整性,而是处理执行事务的系统。CW 模型的关键组件包括以下:

完整性约束,表明为了保证系统的状态有效,各对象之间必须满足的关系。

认证方法,验证事务给定的完整性约束。一旦认证了事务的程序,每次执行事务时,则不必再次进行完整性约束验证。

职责分离规则,防止执行事务的用户验证事务。通常,每个事务都被分配给可以分别验证和执行事务的不相交的用户集。

布鲁尔和纳什模式被设计用于商业领域,以消除利益冲突的可能性。

为了实现这一点,模型将资源分组为”利益冲突类“。

该模型执行这样的限制:每个用户只能从每个利益冲突类访问一个资源。

读规则:查看历史访问,若历史访问了某家公司的数据集,现在仍然可以访问;可以访问非利益冲突类,例如访问了 A 石油公司,还可以访问 A 银行,但是不能访问 B 石油公司。可以访问公开的信息。

写规则:现在要写的和之前读的都在同一个类中。

基于角色的访问控制可以看作是文件系统中基于组的概念的演变。

便于实现组织级的授权管理,

支持继承关系,

便于实现最小特权原则,

可实现职责隔离原则,

支持客体抽象;除了操作系统中提供的读、写以及执行权限之外,RBAC 中可以根据实际应用的需要定义抽象的访问权限。

策略中立,通过不同配置能够实现特殊策略。

2. RBAC 的核心

用户:用户是需要访问组织的资源以执行任务的实体。通常,用户是实际的人工用户,但用户也可以是机器或应用程序。

角色:角色定义为组织中具有类似功能和职责的用户的集合。大学中的角色可能包括”学术“”毕业生“”教师“”院长“”教职员“和”承包商“。一般来说,用户可能有多个角色。

权限:权限描述了允许访问资源的方法。更具体地说,权限由对象执行的操作组成,如”读取文件“或”打开网络连接“。每个角色都有一组相关的权限。

会话:会话由为执行特定任务而激活用户角色的子集组成。例如,笔记本电脑用户可以创建与管理员角色的会话,用于安装新程序。

会话支持最小特权原则。

3. 分级 RBAC

在基于角色的访问控制模型中,角色可以按照类似组织图的分层的层次结构进行结构。更加正式地说,将定义角色之间的偏序说为:角色 R1 继承 R2,如果 R1 包含 R2的所有权限,R2 包括 R1的所有用户,可以表示为:

R1\succeq R2 。

当 R1\succeq R2 时,我们也就说角色 R1 是 R2 的上一层,或者 R2 是 R1 的下一层。

从攻击者(黑客)的角度测试系统和体系结构的安全性,在固定时间内必须获得的具有预定目标的”模拟攻击“。

渗透测试不是其他 IT 安全措施的替代方案,它是对其他测试的补充。不是安全保障,也不是获取的漏洞的大花销的方法。

渗透测试中的流程:收集信息、扫描 IP 地址、识别系统、识别易受攻击服务、利用漏洞。

目标:给定一家公司的名称,确定以下信息。

IP 地址信息:

WHOIS,是用来查询域名的 IP以及所有者等信息的传输协议。简单说,WHOIS 就是一个用来查询域名是否已经被注册。

Nslookup,Nslookup 可以指定查询的类型,可以查到 DNS 记录的生存时间还可以指定使用哪个 DNS 服务器进行解释。在已安装 TCP/IP 协议的电脑上面均可以使用这个命令。

个人信息:

在计算机科学中,社会工程学指的是通过与他人的合法地交流,来使其心理受到影响,做出某些动作或者是透露一些机密信息的方式。这通常被认为是一种欺诈他人以收集信息、行骗和入侵计算机系统的行为。

Google 或者 百度 等。

目标:给定一组 IP 地址,确定每个服务和操作系统都在运行。

NMAP:是一个网络连接端扫描软件,用来扫描网上电脑开放的网络连接端。

Nmap 的 6种端口状态:

常见的扫描方式:

通过扫描开放电脑的网络连接端,确定哪些服务运行在哪些连接端,并且推断计算机运行哪个操作系统。

在 NMAP 中,使用命令 nmap -O <目标 IP 地址>,即可得出目标主机的系统。

主要任务:

哪个网络服务器在运行?

找到了哪些账户?

什么操作系统正在运行?

谁登录了?

网站上有可用的信吗?

目标:给定特定的 IP 地址和端口,尝试获得对机器的访问权限,报告此目标的所有已知漏洞。

Nessus 是目前全世界最多人使用的系统漏洞扫描与分析软件。

下载安装好 Nessus 之后,便可以对目标网站进行漏洞扫描。

尝试利用检测到的漏洞,例如:

缓冲区溢出、堆溢出、SQL 注入、代码注入、跨站脚本攻击。

如果我们发现一个新的漏洞(0 day)

保守秘密,也许将来开发者会把漏洞发现并修好。

告诉所有人或仅仅告诉开发者,全面披露信息可能会帮助黑客爆破,部分披露信息并没有什么用。

卖掉,许多互联网公司,如微软、Facebook、Google、苹果等都有一种悬赏机制,只要黑客发现他们产品存在的漏洞并报告给他们,这些公司就会向这些黑客提供奖金。

基于可信第三方的认证协议。

MIT 的_项目组开发的认证服务系统。

使用 Kerberos 身份验证的服务通常被称为 “Kerberized”。

Kerberos 使用票据的概念作为证明用户身份令牌。

票据是存储会话密钥的数字文件。在登录会话中,通常会发送会话密钥,然后代替在 kerberized 服务中的密码。

在身份验证过程中,客户端会收到两个票据:

票据授予票据:用户和会话密钥的全局标识符。

服务票据:对用户进行身份验证,确定用户能否使用特殊服务。

这些票据都有时间戳,用于表明票据的有效期限,Kerberos 管理员可以根据票据服务来设置其到期时间。

为了实现安全的身份验证,Kerberos 使用可信第三方作为密钥分发中心,由两个部分组成。

身份验证服务器:用于执行用户身份验证。

票据授予服务器:用于向用户授予票据。

身份验证服务器维护存储用户和服务密钥的数据库,对用户提供的密码执行单向散列来生成用户的密钥。

客户端与身份验证服务器互相进行身份验证,

客户端与票据授予服务互相进行身份验证,

客户端与服务互相进行身份验证,此要为客户端提供服务。

由于 Kerberos 协议的分布式体系结构,甚至在不安全的网络使用 Kerberos 协议也是安全的。

由于每次传输都使用适当的密钥进行加密,攻击者在不能破解密钥或底层的加密算法的情况下,无法伪造有效的票据来获得对未授权服务的访问。

当攻击者窃听合法的 Kerberos 通信,从未授权方重传消息来执行未授权操作时,Kerberos 的设计还能防止重放攻击。

Kerberos 使用的是对称加密,而不是公钥加密,这使得 Kerberos 的计算效率更加高效。

Kerberos 存在单点故障。如果密钥分发中心不可用,则整个网络的身份验证方案可能停止工作。大型网路有时有多个 KDC,或在紧急情况下有备用 KDC 可用,以来防止这种情况。

如果攻击者破坏了 KDC,网络上每个客户端和服务器的身份验证信息都会被泄露。

Kerberos 因为使用了时间戳,要求所有参与方都有同步时钟。

拿好 USB 驱动器和智能手机,谨防丢失。

防范窃取数据的恶意软件。

防范设备被扣押。

合理回收过时或有故障的设备,谨防丢失。

在其他设备上备份。

云存储。

保护信息的一种方法就是对文件进行加密,在密码算法没有在理论破解或密钥泄露的情况下,即使文件被盗,也不用担心信息会泄露。

文件加密旨在有效的防御确定的攻击者。如 Office 中可供使用的加密算法取决于 Windows 操作系统中可通过 API 访问的算法;除了可以保持对加密 API 的支持之外,Office2016 也支持 CNG,可指定主计算机上支持的加密和哈希算法,以供文档加密使用。

加密文件系统是文件系统级加密方案的一个示例,Windows 2000 以后的系统皆可用。

特定:

EFS 的工作原理是透明的,能自动对指定文件和文件夹进行加密和解密。

保护文件内容,但不保护文件名和其他元数据。

支持共享加密文件。

最新版本使用 RSA、IDEA、AES 和 SHA-256.

缺点:

只保护本地文件系统,所以将文件传送到其他文件系统会导致意外的破解。

文件内容可能泄露给不受保护的临时文件。

密钥管理很麻烦。

EFS 使用对称和非对称加密技术,首先使用 AES 单独的对称加密密钥加密每个文件,然后使用 FEK 加密数据,再用用户的 RSA 公钥加密 FEK,并保存文件的元数据。

为了解密文件,先用用户的私钥解密 FEK,然后再用 FEK 解密数据,为了支持用户之间的共享,在加密文件中可以包含多个 FEK 副本,每个副本用不同的用户公钥加密,每个用户对应有一个经过公钥加密过的 FEK。

TrueCrypt 是一款免费开源的加密软件,同时支持 Windows Vista,7/XP,Mac OS X,Linux 等操作系统。

BitLocker 驱动器加密是在 Windows Vista 中新增的一种数据保护功能,主要用于解决一个人们越来越关心的问题:由计算机设备的物理丢失导致的数据失窃或恶意泄露,在 Windows 中也能使用此加密驱动。

所有加密都是以分区为基础的。

真加密,所有加密数据都是经过 AES 等加密算法的运算后的结果,无法破解(穷举法除外)

能创建加密的”虚拟磁盘文件“

加密单个分区或整个硬盘。

加密 Windows 系统所在的分区(启动 Windows 前需要密码)

加密过程自动、实时、透明(使用加密文件或分区前输入密码,载入后就可以像使用一个普通分区一样使用加密分区。)

提供两级方案,以应对被强迫说出密码的情况,如抢劫等。

隐藏分区(覆盖式密码术,steganography)、隐藏操作系统。

无法探测到 TrueCrypt 加密分区(加密数据会被认为是随机数据)。

加密算法:AES-256、Serpent、Twofish。为取得更好加密效果、可以同时使用两种或三种加密算法。

2. BitLocker

BitLocker 使用对称加密对磁盘扇区进行加密。为了解密卷,用户可以在引导时通过键盘输入密码,或从 USB 驱动器或可信平台模块加载解密密钥。

BitLocker 使用两个 NTFS 格式的卷,一个卷包含操作系统和加密的数据,另一个卷作为未加密的引导卷。当在引导时对用户进行身份验证,则解锁卷的主密钥。使用主密钥,BitLocker 解密全卷的加密密钥,FVMK 被加密后存储于引导卷中,然后全卷的加密密钥存储在内存中,用于解密加密卷中的数据.

对 BitLocker 的攻击:

使用 TPM 存储卷的主密钥增加了 BitLocker 的可以性,因为用户不用再输入密码或插入 USB 令牌,但是,BitLocker 在这种操作模式下容易遭到冷启动攻击。

冷启动攻击属于一种边信道攻击方法,可以物理接触到计算机的攻击者能够运用这种攻击手段在冷启动或硬盘重启之后,比如计算机没经历正常的关机过程就突然重启时,从计算机的内存中获取加密密钥、口令和其他数据。断电后内存中的数据能维持几十秒或数分钟,但通过液氮或压缩空气冷冻,这一数据衰减过程可被攻击者拉长至数小时之久。

可信平台模块(TPM)是设计安装在主板上的芯片,作为安全密码处理器,它能安全地生成和存储密钥。在生产时,将一个唯一的 RSA 私钥铸入到每一个 TPM 芯片中。TPM 的设计是防篡改的,所以,能进行物理访问的攻击者也很难恢复这个密钥。

TPM 芯片有一些平台配置寄存器,用于存储一些加密操作的密钥和密文。

extend 操作:用 PCR 前的一个值的加密散列更新指定的 PCR,该 PCR 与为操作提供的数据相关联。

seal 操作:使用 TPM 私钥加密所提供的明文,并将它与当前指定的 PCR 内容相关联。这个操作返回密文,并根据指定的 PCR 和 TPM 私钥的当前值计算 MAC。

unseal 操作:给定密文、散列值和 PCR 名称,如果计算出当前 PCR 值的 MAC 与给定散列值相同,则 unseal 操作会对密文解密。

完结!

显示全文

注:本文部分文字与图片资源来自于网络,转载此文是出于传递更多信息之目的,若有来源标注错误或侵犯了您的合法权益,请立即后台留言通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意

点击下载文档

文档为doc格式

发表评论

评论列表(7人评论 , 39人围观)

点击下载
本文文档