密码学专题 加密模式的选择|传输数据加密

  • 分组加密模式和序列加密模式。它们之间最大的区 别在于分组加密模式每次对一组数据进行加密运算处理,而序列加密模式则逐位对数据进 行加密运算处理。事实上,在实际设计应用的算法中,并没有那么严格的区别,它们有可能是相互结合的。比如输出反馈分组加密模式,就可以看作分组加密算法和序列加密模式 的结合。事实上,该序列加密模式的输出函数由分组加密算法和一个位选择器组成
  • 表列出了分组加密模式和序列加密模式的一些性能上的对比。 分组加密模式和序列加密模式各有优势。

  • 分组加密模式便于软件实现,可以每次对一组数据进行处理,避免耗时特别大的位操作,也更能阐释计算机目前常用的分组概念。序列加密模式更适于硬件操作,因为硬件很适合逐位进行计算操作,这对算法的硬件实现是 非常有利的。

传输数据加密

  • 将传输数据的加密分为物理信道加密、链路加密、终端加密、会话加密及应用加密

物理信道加密

  • 物理信道加密方式的加密设备或程序放置在链路层和物理层之间,也就是说,所有经过物理设备的数据都将被加密保护,无论是数据还是上层的协议信息。这种数据保护方式 非常有利于使用硬件加密设备,因为一般的物理接口都是工业标准化的。但是,因为该方式对所有数据包括路由信息都进行了加密,所以该方式只适合使用在专有线路或者同类型 线路上,任何中间的路由在处理信息之前都必须先进行加密。
  • 就安全性来说,这种数据保护方式是非常有效的,因为它对物理信道中传输的所有信 息都进行了加密,不但隐藏了数据,而且将所有可能的通信信息都保护起来,攻击者不能 得到通信源和目的地址,也不能得到通信的时长和数据量。因为物理信道总是在传输一系 列的数据位,没有终止的时候。
  • 但是,物理信道加密的方式也存在问题。因为它是对所有数据进行加密,所以网络节 点上的路由器都需要对所有数据进行解密和加密,工作量非常大。此外,因为是基于物理链接的加密,所以必须保证网络上所有的节点都是可信和安全的,如果网络上有任何一个 节点有安全问题,那么就会泄漏大量信息。但是,对于一个大的网络来说,通常很难做到保证所有节点都安全可信

链路加密

  • 链路加密方式的加密设备放置在链路层和网络层 (IP)之间,它将通过IP传输的所有数据 (包括原始的IP头部)都进行加密保护,然后添加新的IP头发往设定的目标地 址 。 基 于 IPSec 隧 道 方 式 的 VPN 技 术 就 是 其 实 现 的 例 子 。 跟 物 理 信 道 加 密 方 式 不 一 样 , 该方式运行于链路层协议之上,并将所有基于IP传输的数据发往特定的目标地址,这构 成了一个逻辑意义上的私有网络,将公共网络的数据和这个逻辑私有网络的数据分离开来,不能互通,这就是所谓的虚拟专用网技术
  • 相对于物理信道加密方式,由于使用链路加密方式的数据一般在公共网络中进行传输,所以给攻击者透露了更多的通信信息,比如IP网关目的地址和源地址,通信的数据量等。但是因为通过两个网关的数据可能是许多实际终端数据无序的综合,所以攻击者很 难获取有用的信息,从而起到了很好的通信量保密作用。同时,链路加密方式也需要考虑 密钥管理等问题。
  • 基于链路加密方式的最热门的应用就是VPN技术,该技术通过在公共网络 (如 Internet) 中 构 建 一 个 虚 拟 的 专 用 网 络 , 从 而 为 具 有 很 多 分 支 机 构 的 组 织 和 公 司 提 供 了 廉价的专用网络替代解决方案。

终端加密

  • 终端加密的加密设备放置在网络层 (IP)和传输层 (TCP、UDP等传输协议)之间, 它对传输层的数据和协议进行了加密保护,然后发往指定的目标终端。目标终端接收到该 信息之后,同样需要对IP层传送上来的数据进行解密,然后再交给传输层相应的协议模 块进行处理。跟链路加密方式不一样,终端加密方式对IP首部不进行保护,所以适合于 端对端的通信,能够保护两个终端之间所有通过IP进行传输的数据。IPSec的传输方式 就是终端加密方式实现的例子之一。
  • 终端加密的方式只对两个终端之间传输的数据进行加密,很容易受到基于信息量分析 的安全攻击。此外,同样需要考虑密钥分发等密钥管理问题。

会话加密

  • 会话加密的加密设备放置在传输层和应用协议 (如 HTTP,FTP等)之间,它对上层特定应用协议的数据进行加密保护,然后再交给传输层处理。SSL (SecureSocket Layer)协议就是会话加密方式实现的著名例子。事实上,会话加密存在很多灵活的形式,
  • 比如可以只对基于TCP之上的数据进行加密保护,也可以只对基于UDP上的数据进行保护,甚至可以只对基于 TCP之上的 HTTP协议进行单独的保护等。虽然理论上可以实现对所有基于特定传输协议 (如 TCP)之上的应用协议进行统一的保护,但是目前来说, 更多的是针对特定应用协议的保护,如针对 HTTP协议的保护。
  • 会话加密通常是对两个终端之间的一个会话链接进行加密保护,所以能够给攻击者透露很多通信量方面的信息,如通信的数据量、通话时长,等等,容易受到通信量分析攻 击。此外,密钥管理同样是需要考虑的问题。
  • 会话加密的优点是灵活性好,可移植性好,不需要更改系统底层的协议。设计、开发 及投入应用的周期相对比较短,并且能够适应特别行业客户的需要。比如有的用户可能只对 HTTP 协 议 的 数 据 保 密 感 兴 趣 , 那 么 它 就 完 全 没 有 必 要 采 用 VPN 技 术 , 因 为 这 种 技 术可能还会妨碍他对其他协议的使用。

应用加密

  • 应用加密的加密设备或程序是放置在应用网络协议之上的,它对真正的信息数据进行 加密保护,而对应用协议信息不作任何保护,是一种最上层的数据加密保护方式。PGP (Pret ty Good Privacy) 程 序 是 该 加 密 模 式 实 现 的 例 子 之 一 , 该 程 序 对 要 通 过 电 子 邮 件 发 送的信息进行加密保护,然后再使用电子邮件的相应协议发送出去。
  • 应用加密方式具有非常大的灵活性,如果愿意,可以在任何应用程序之中嵌入应用加密程序,从而实现对数据的保护。同样,如果需要通过网络进行传输,应用加密模式也面 临密钥管理的一系列问题。其通信量的泄漏跟会话加密方式基本相同。

存储数据加密

  • 加密算法还经常被用于加密存储的数据,比如对文件、数据库或驱动器进行加密。存 储数据的加密跟通信数据的加密有很多不同点,比如密文的保存时间、密文的数据量及密 钥的保存时间,等等。
  • 单个文件的数据加密非常容易解决,进行统一的加密就可以了。如果文件过大,为了安全性,可以使用一个长密钥的不同部分对文件的不同部分进行加密;也可以使用多个子密钥对文件的不同部分进行加密,然后使用一个主密钥加密这些子密钥,这样可以降低字典攻击成功的危险。
  • 对于数据库这样的存储方式,虽然对整个数据库进行统一的加密将是简单的,但是会 带来一系列问题。首先是对于大型数据库,如果只需要读取其中一条记录的一个字段的数据,却需要花大量的时间对整个数据库进行解密,这是很不可行的。其次,对于数据库字段的不同部分,可能有不同的权限控制,这样使用相同的密钥显然是实现不了的。解决的 办法是对不同的字段使用不同的密钥进行加密,但是这样很容易受到分组重放攻击,此外,还需要设计产生不同密钥的方法。
  • 经常会涉及对驱动器加密的问题。针对驱动器的加密具有数据量大的特点,所以一般 使用主密钥加密数据加密密钥的密钥管理方式。事实上,可以有两种不同的驱动器数据加 密方式:驱动器级和文件级。文件级加密方式是针对每个文件分别进行加密,一般每个文件都使用不同的加密密钥,所有这些加密密钥都使用一个主密钥进行保护。这样在使用某 个文件时,需要对这个文件进行解密、使用,然后再加密。驱动器级的加密方式对整个逻 辑驱动器进行加密,但是涉及驱动器安装、文件扇区管理及磁盘数据随机存取等问题,所 以实现起来比较复杂。这种情况下,启动驱动器前会要求用户输入一个口令,通过这个口 令产生一个主密钥,然后用这个主密钥解密真正的解密密钥。

存储数据的加密通常有以下特点

  • 密文和密钥存储的时间长,需要安全可靠的方式保管密钥。
  • 因为针对存储设备,要求快速进行数据的加密和解密,甚至需要采用硬件加密设备或者特殊算法。
  • 对于数据库这样的加密应用,因为数据库每个字段的长度可能比加密算法的数据块长度小,所以会导致密文长度比明文长度大,这样会导致需要更多的存储空间。
  • 密钥管理更加复杂,因为不同的人可能需要存取不同的文件或者同一个数据库的不同部分。因为加密的数据量太大,不能使用一个单独的密钥加密所有数据,否则密钥很容易受到唯密文攻击。
  • 安全管理非常重要。你必须保证你加密的数据相对应的明文不会在别的地方被攻 击者取得,否则很容易受到已知明文攻击。还必须保证在阅读解密后的内容之后彻底将解 密的内容销毁,否则也容易受到攻击。

硬件加密和软件加密的对比

  • 速度优势。加密算法的运行很多不是普通计算机所能完成的,所以在计算机上运 行效率会非常低,而使用专门针对某种特定算法设计的硬件却能大大加快计算速度。
  • 安全性。对于软件加密算法或者程序,可以通过程序跟踪攻击更改算法而却能不 让任何人发现。但是硬件加密设备进行了严密的封装,包括防篡改、防电子辐射等设备, 使得硬件的安全性更有保障。
  • 容易使用。硬件加密设备一般是做成了标准的硬件接口,不需要什么密码知识就 能简单地将设备连接到计算机或其他设备中进行使用。而如果使用软件,则需要多得多的 知识。

虽然硬件加密有这么多优点,但是这些优点是针对用户来说的。对于开发者来说,开发一个硬件加密设备所需要的成本可能会比开发一个软件加密程序高得多,需要的时间也 长得多。这也是国内目前硬件加密设备比较少的重要原因。

软件解密

  • 软件可以实现任何加密算法,其缺点是速度慢、开销大和容易受到篡改;优点是灵活 性好、可移植性强及容易升级。软件加密程序很容易得到,所以个人用户可以轻松地使用 软件加密保护自己的文件和数据。加密软件开发的周期一般来说也比较短,不需要开发公 司投入大量的前期资金。这就是软件加密在国内流行的重要原因。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/446324.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微信公众号数据2019_2019年9月原创公众号排行榜数据报告出炉

西瓜数据发布 2019 年 9 月原创公众号排行榜,分别从西瓜指数、原创文章占比、周期内公众号发文次数、发文篇数、总阅读数、头条平均阅读数等方面展示公众号数据。榜单说明1、涉及榜单本期月榜截取 ①财经、②教育、③娱乐、④科技、⑤体育、⑥游戏、⑦文化、⑧美食、…

密码学专题 OpenSSL专题

OpenSSL总体架构 软件包分为三个主要的功能部分:密码算法库 、 SSL协议库及应用程序 MacOS,MS,OS/2及 VMS这几个目录,包含了在不同的 平台编译时的环境变量配置文件,在安装编译完成之后,这几个目录就没有作…

java 华氏温度转换为摄氏温度

题目 小明要到美国旅游,可是那里的温度是以华氏度为单位记录的。 它需要一个程序将华氏温度(80度)转换为摄氏度,并以华氏度和摄氏度为单位分别显示该温度。 公式:华氏温度(摄氏温度-32)/1.8 M…

hs控什么意思_凡尔赛文学 到底是什么?

点击蓝字关注我们XIE XIE NI DE XI HUAN|| 动漫 情头 耽美 闺蜜 男女头 句子控 壁纸 ||左句 凡尔赛文学野象:老是有人提知不知道凡尔赛文学,说实话我不太清楚网络时下流行的梗,也没有兴趣参与,我还是比较喜欢欧洲古典文学和后现…

密码学专题 openssl编译和安装

Configure 脚本文件 使得OpenSSL可以适应多种不同的系统平台和多达几十种不同的编译器。Configure指令还可以使OpenSSL在编译的时候具备组件的选择功能,比如可以选择支持或者不支持某种算法或者协议等,这使得OpenSSL具有很大的灵活性,比如在…

Python学习12 文件的读写

目标 文件的打开和关闭 mode缺省情况下表示只读r 文件的路径 前面加个r’,代表其中的转义字符不起作用 文件的打开方式 案例:实现文件拷贝的功能 将某一文件夹下的某一文件 保存在当前文件 所在目录。 import os #读取文件1 path./file.txt fileopen(path,…

密码学专题 openssl的基本概念

配置文件 配置文件是OpenSSL的一个基础结构组件,OpenSSL使用一组称为OpenSSLCONF的函数来读取OpenSSL配置文件的信息。OpenSSL提供的主配置文件是opensl.cnf,它集成了OpenSSL所要使用的配置文件选项的大部分内容。此外,OpenSSL还提供了其他一…

该工程中的宏被禁止_建筑劳务分包都能承担什么工程

来源:找法网建筑工程的承包单位,也就是总承包单位可以将部分建造工程分包给具有资质的施工单位,这是法律所允许的,但是禁止将建造工程进行转包。一、建筑劳务分包都能承担什么工程建筑劳务分包能承担什么工程要看分包单位的资质&a…

matlab用辛普森公式求积分_积分近似计算之辛普森公式

对于积分区间[a, b],若则成立辛普森公式辛普森公式可看作是改良的梯形公式。梯形公式是以直线逼近实际曲线,而辛普森公式则以二次曲线(即抛物线)逼近。以二次曲线逼近实际曲线根据辛普森公式可得各积分小区间内的积分值如下式所示:其中于是&a…

密码学专题 文件编码格式

OpenSSL中虽然使用PEM作为基本的文件编码格式,但是,由于不同的对象其封装的标准格式不太一样,所以经常会导致读者产生迷惑。此外,OpenSSL也支持DER编码和过时的Netscape编码格式(NET)OpenSSL的编码是基于ASN.1标准的,A…

echarts 折线图 设置y轴最小刻度_【硬货】vue全家桶+Echarts+百度地图,搭建数据可视化系统...

作者丨夙言来源丨前端大牛爱好者(Web-2017)https://segmentfault.com/a/1190000018993981本文章篇幅略长,内容有点多,大佬可根据目录选择性查阅,新人可一步步来阅读。1、 前言1.1 业务场景突然接到产品说要做一个数据监控的系统。有线图、柱状…

密码学专题 文本数据库

应用概述 文本数据库是跟OpenSSL的CA应用程序紧密结合在一起的,它以文本的方式记录CA已经签发的证书的状态和摘要信息。这些状态信息可以用于跟证书库相关的一些操作,比如使用ca指令生成CRL主要就是读取这个文本数据库的信息作为参考。文本数据库就是普…

Python学习13 异常处理机制

概括 常见的异常 异常处理机制 可以多个异常放在元组里面 一旦产生异常,try后面的语句不会继续执行,会做异常处理 异常使用场景1 close应该放在finally中 异常使用场景2 finally关键字 会执行except后面的,报错

java 布隆过滤器_牛逼哄哄的布隆过滤器,到底有什么用?

Java技术栈www.javastack.cn打开网站看更多优质文章作者:CodeBear的园子www.cnblogs.com/CodeBear/p/10911177.html本文是站在小白的角度去讨论布隆过滤器,如果你是科班出身,或者比较聪明,又或者真正想完全搞懂布隆过滤器的可以移…

Java web后端6 java Bean EL表达式

EL表达式和JSTL概述 java Bean规范 java中成员变量使用类Integer private Integer count; java Bean的创建 创建java Bean: BookTest.java package com.example.elandjstl.bean;public class BookTest {//java中成员变量使用类Integerprivate Integer count;private Boolean…

python根须系统斜杠_深入浅出Python中的os模块

「Author:Runsen」当初学Python的时候,把一些标准库和第三方开源库学的七零八落,不成系统,正好趁这个机会来系统的整理一下,先从Python常用的标准库os开始吧。osOS模块简单的来说它是一个Python的系统编程的操作模块&a…

Java web后端7JSTL

概括 下载jstl的jar包 官网&#xff1a;https://mvnrepository.com/ 网址1&#xff1a;https://search.maven.org/ 在pomxml中插入依赖&#xff1a; <dependency><groupId>taglibs</groupId><artifactId>standard</artifactId><version>1…

Python学习14 模块和包

模块 公共类、函数都可以放在独立的文件中&#xff0c;这样其他多个程序都可以使用&#xff0c;而不必把这些公共性的类、函数等在每个程序中复制一份&#xff0c;这样独立的文件就叫做模块&#xff0c;它们的扩展名为.py 标准库中的模块 使用help查看模块 代码&#xff1a; …

python语句分为_python以什么划分语句块

语句块是在条件为真&#xff08;条件语句&#xff09;时执行或者执行多次&#xff08;循环语句&#xff09;的一组语句&#xff1b;在代码前放置空格来缩进语句即可创建语句块&#xff0c;语句块中的每行必须是同样的缩进量&#xff1b;&#xff08;推荐学习&#xff1a;Python…

Python学习15 正则表达式1

网址 正则表达式测试网址&#xff1a;https://regex101.com/ 概述 正则表达式&#xff1a; 正则表达式(Regular Expression)是一种文本模式&#xff0c;包括普通字符&#xff08;例如&#xff0c;a 到 z 之间的字母&#xff09;和特殊字符&#xff08;称为"元字符"…