行业新闻与博客

对称加密 101:定义,工作原理和使用时间





对称加密 101:定义,工作原理和使用时间

对称密钥加密实际上是您在线执行的所有操作的一部分。我们将分解您需要了解的所有内容,以及它的使用方式和使用地点……

尽管您可能没有意识到,但对称加密几乎在您所看到的任何地方都在使用。这是使从安全的在线银行到订购您的食品杂货等一切工作成为可能的一部分。



但是什么是对称密钥加密?如果您“深入了解”,对称加密如何工作?它在您的网上日常生活中扮演什么角色?



让我们将其散列出来。



什么是对称加密及其作用?定义与解释

简而言之,对称加密是一种加密类型,它使用相同的密钥来加密和解密数据。发送者和接收者都具有相同的密钥副本,它们是秘密的,不会与任何人共享。这与非对称加密不同,后者使用两个密钥-一个公共密钥(任何人都可以访问)来加密信息和一个私有密钥来解密信息。



为防万一,请让我们快速回顾一下加密的总体工作原理:




  • 发件人使用加密密钥(通常是字母和数字的字符串)来加密其消息。

  • 加密后的消息称为密文,看起来像乱码,一路上任何人都无法读取。

  • 接收者使用解密密钥将密文转换回可读文本。







在上面的示例中,我们使用相同的密钥进行加密和解密,这意味着这是对称加密。



只有这两方(发送方和接收方)才能读取和访问数据。这就是为什么有时也将其称为秘密密钥加密,秘密密钥加密,私钥加密,对称密码和对称密钥加密的原因。







                                                         对称密钥加密如何工作?此简化的图形说明了对称密钥加密如何工作的基本概念:两个相同的密钥对数据进行加密和解密。



仅具有一个可同时用于加密和解密功能的密钥可简化加密过程。毕竟,您要使用一个键将纯文本,可读信息转换为不可读的乱码(密文),反之亦然。使用对称加密的优点之一是它提供了数据保密性和机密性,而没有多个密钥的额外复杂性。



对于某些用例,对称密钥加密确实可以单独工作。例如,它对于加密数据库和文件很有用,因为您不需要在各方之间公开交换数据。但是,与任何技术过程一样,使用对称密钥加密还有其他优点和缺点,例如密钥分发和管理问题,我们稍后再讨论。但是现在,让我们谈谈对称加密的历史。



对称密钥加密不是一个新概念

尽管通过使用计算机对数字数据进行编码的对称密钥加密相对较新(自 1900年代中期以来就出现了),但背后的概念却并非如此。对称密码术本身是一个被认为已经在数千年前创建的过程。



对称加密的早期示例-也许是最著名的对称密码-归因于罗马将军凯撒大将。这种特殊的密码被恰当地称为“凯撒密码”(在几分钟之内会更多)。但是,在整个历史中还存在其他类型的对称密码,包括从 VigenèreCipher(可追溯到 1500年代)到现代 AES 算法(稍后将进一步介绍)的所有内容。  



对称密钥加密是一种加密消息的方法,以便只有您和您的预期收件人才能阅读该消息。这是一种数据加密,但不是唯一的一种。还有另一种名称接近但在功能上有所不同的加密类型:非对称加密。我们之前已经提到过,但是只是知道非对称加密使通过公共渠道(例如 Internet)进行身份验证和交换对称密钥成为可能。



但是,在这里我们将不讨论非对称加密的所有细节。这是另一个话题。不过,与此同时,我们邀请您查看有关非对称加密与对称加密之间的区别的本文,以了解有关该主题的更多信息。



因此,就目前而言,让我们继续前进,继续探索对称加密世界的旅程。



对称加密如何工作?

现在是时候仔细研究对称加密过程了。要了解对称密码学是如何工作的,您需要知道该过程涉及哪些组件:




  • 您希望加密的原始消息(纯文本数据)。

  • 对称密钥加密算法(稍后我们将介绍不同类型的算法)。

  • 只有您和您的预期收件人具有的相同密钥,可以对数据进行加密和解密。

  • 任何人都无法读取的加密消息(密文)。

  • 对称加密的工作方式是使用相同的密钥对数据进行加密和解密。没有密钥的任何人都无法读取或以其他方式理解一旦加密为密文的数据。这意味着您和您与之通信的一方都需要拥有相同的密钥副本才能安全地进行通信。 



为了更好地了解对称加密的工作原理以及所有这些组件如何协同工作,让我们考虑一种称为 Caesar 密码的对称加密的基本类型。



基本班次密码(替代密码)如何工作

考虑这一点的一种简单方法是通过使用 Caesar 密码或所谓的替换或移位密码来考虑此加密过程。这是凯撒能够与他的将军秘密通信的一种方法,而任何人都无法读取消息(即使消息载体被截获)。



在这种情况下,密文(也称为算法)是用于将纯文本信息转换为不可读密文的多个步骤或步骤序列。使用基本的移位密码,您可以简单地通过沿字母方向移动一定数量的空格来对消息进行加密和解密。







 



想象一下将整个字母写成一行。当您使用移位密码时,您将移位给定字母 X 的空格数。因此,如果将字母“ G”移动九个空格,它将变为“ P”。字母“ O”将变为“ X”。这意味着,例如,当您将每个字母向右移动九个空格时,消息“早上好,阳光”将变为“ Pxxm vxawrwp bdwbqrwn”。



因此,凯撒密码中的密钥是只有您和您的收件人知道的秘密值,它告诉您要移动多少个字母。



但是,如今,我们不来回传递纸质消息。当今的信息交换通常通过虚拟渠道通过计算机,网站和互联网进行。尽管互联网给人们带来了极大的便利,但网上银行业务或通过互联网支付乘车费用并非没有风险。



对称密钥加密在网站安全中的作用

对称密钥加密是公钥基础结构(PKI)生态系统的一部分,它可以通过将纯文本(可读)数据转换为无法识别的密文,在不安全的 Internet 上进行安全通信。实际上,您现在正在使用基于 PKI 的技术和流程作为与 TheSSLStore.com 的连接的一部分,以阅读本文。







在浏览器的网址栏中看到那个挂锁了吗?这意味着我们的网站已安装了网站安全证书(SSL / TLS 证书),并且您正在使用安全的加密连接来发送数据。这有助于使使用安全 HTTPS 协议而不是不安全的 HTTPS 协议连接到我们的网站成为可能。



这也意味着您的浏览器(客户端)已经经历了以下过程:




  • 验证我们网站的服务器,

  • 与服务器协商使用的加密算法,以及

  • 生成对称会话密钥。



HTTPS 的工作方式是,我们使用非对称加密来首先对网站服务器进行身份验证并交换对称会话密钥。这是称为 TLS 握手的过程的一部分,该过程共有三个版本(TLS 1.0,TLS 1.2 和 TLS 1.3)。之后,我们将对称加密用于您在会话期间进行的实际数据加密。



通常,TLS 握手:




  • 使我们的网络服务器能够向您的浏览器(网络客户端)进行身份验证,

  • 建立用于安全通信的参数(例如确定使用哪种加密算法),

  • 确定要使用的密钥交换协议,以及

  • 使用该算法以及其他公共和私有变量生成只有两个通信方知道的会话密钥。

  • 更改为对称加密的原因是,当您对大量数据进行加密时,它比非对称加密更快,资源占用更少。对于大规模加密数据的企业而言,这尤其重要。(想想银行和大公司。)



我们不会在这里讨论握手的所有细节-您会在 TLS 握手的文章中对该主题进行深入的探讨。但是,让我们探索一下对称加密框架下的一些加密算法。



对称加密算法

对称算法分为两种主要类型:流密码和分组密码。分组密码对数据块(块)进行加密,而流密码一次对数据加密。那么,最常用或最著名的对称算法有哪些呢?




  • 数据加密标准(DES) -DES 是一种块密码,它使用 64 位,128 位和 192 位三种大小之一的单个密钥对 64 位块中的数据进行加密。但是,每 8 位中的一位是奇偶校验位,这意味着 64 位的单长度密钥实际上就像使用 56 位密钥。尽管 DES 是最早的对称加密算法之一,但它被认为是不安全的,已被弃用。  

  • 三重数据加密标准(TDEA / 3DES) -与 DES 不同,三重 DES 可以使用两个或三个密钥,这使该算法可以使用多轮加密(或更准确地说,一轮加密,一轮解密以及另一轮)加密)。尽管 3DES 比其 DES 的前辈更安全,但它不如其后继的 AES 安全。

  • 高级加密标准(AES) -这种加密算法是您最常在互联网上使用的算法。的高级加密标准比 DES 和 3DES 更安全,更高效的使用是 128 位,192 位和 256 位的密钥选项。但是,尽管它也是一种分组密码,但其运行方式与 DES 和 3DES 不同,因为它基于替换置换网络而不是 Feistel 密码。  



当然,在接下来的几周中,我们将介绍这三种对称密钥算法,以及分组和流密码之间的差异。但是现在,让我们继续讨论秘密密钥加密中的“秘密”。



为了使对称加密正常工作,密钥必须保密...







但是,要使对称加密起作用,这意味着您和您的预期接收者都必须知道密钥并将其保密。否则,如果其他人知道密钥,那么他们可以解密并读取您的数据,这使整个加密过程变得毫无意义。这就是为什么保持秘密密钥的秘密并防止窥视以限制拥有密钥的人数至关重要的原因。



因此,您绝不应在任何面向 Internet 的环境中存储私钥或私钥。对于非对称加密专用密钥和对称密钥都是如此。您需要将这些密钥隐藏在任何人都无法找到,访问或窃取它们的地方。基本上,要像保护密钥那样保护您的密钥,就像有人给您提供您最喜欢的游戏服务的终生付费订阅一样-因为我知道没人愿意这么做。



但是对称加密的棘手部分是,假设您和您的接收者都已经拥有相同的密钥副本。但是,如果您和您的接收者从未见过面,并且还没有这些相同的钥匙,该怎么办?



远程密钥分发:如何安全地共享密钥以促进对称加密

假设您想与您的朋友 Erica(在另一个国家 / 地区)共享秘密消息,但她没有解密该消息的密钥。这意味着您需要获得她的共享密钥,以便她可以安全地解密邮件。



为此,您必须在 Internet 上发送密钥-您知道这是安全的。毕竟,您的互联网连接在旅途中可能会经过数十个不同的接触点而反弹。这意味着,任何汤姆,迪克或哈里-任何网络犯罪分子,政府机构或您不想阅读消息的任何其他人-都可以在途中拦截密钥并轻松解密消息,而您将不是一个明智的选择。这称为中间人攻击(MitM)。



因此,在 Internet 上发送数据(尤其是密钥)并不是一个好主意,这意味着我们需要研究一种替代方法。这就是不对称策略(例如 RSA 和 Diffie-Hellman 等不对称密钥交换(即,密钥生成)方法)发挥作用的地方。



密钥交换协议的作用

之前,我们谈到了对称加密算法并不是 PKI 依赖的唯一算法。也有非对称算法和非对称密钥交换协议。因此,如果您尝试使用对称密钥密码学与您的朋友 Erica 安全地进行通信,则将使用非对称加密策略来生成和共享只有您和 Erica 才能知道的安全密钥。



历史上,对称加密与 RSA 或 Diffie-Hellman 非对称算法(即,密钥交换协议)配对使用,以进行密钥交换 / 生成过程。但是,这两种算法具有不同的作用。



RSA vs Diffie-Hellman 密钥交换

RSA 加密算法代表 Rivest-Shamir-Adleman(创建它的三个人的姓氏),是 TLS 1.2 握手过程中常用的身份验证和密钥交换机制。在 RSA 密钥交换中,公共密钥加密有助于交换主密钥和来自客户端的随机生成的数字,这些数字共同生成共享的会话密钥。



通过 Diffie-Hellman 密钥交换,服务器和客户端可以相互协商用于会话密钥的值。(稍后会详细介绍。)



但是,由于密码学家 Daniel Bleichenbacher 发现了漏洞,因此不鼓励使用 RSA 进行密钥交换(尽管某些系统仍在使用它)。实际上,随着 TLS 1.3 的推出,RSA 密钥交换密码套件(和非临时性的 Diffie-Hellman 组)已被弃用,以强制实施完美的前向保密性(使用临时性的密钥)。因此,RSA 密钥交换被临时 Diffie-Hellman 密钥交换的专有替代。



Diffie-Hellman 密钥交换算法是一种公共密钥分发系统,该系统使用模块化算术得出一个商定的秘密号码(会话密钥)。因此,如您所见,将 Diffie-Hellman 称为“加密”算法实际上是误导性的,因为它不能用于加密或解密任何内容。它不是关键的“交换”,而是关键的生成过程。是的,已经交换了变量,但是您实际上仍在基于这些交换来创建密钥。



Diffie-Hellman 使用公共变量(数字)的交换来生成称为会话密钥的共享解决方案。该秘密会话密钥是您用来在受对称加密保护的安全通道中交换数据的密钥。



对称密钥的安全性如何?

任何加密密钥的强度取决于一些特定的考虑因素。




  • 密钥的长度,

  • 生成方式的随机性(熵),以及

  • 将其弄清楚需要花费多长时间是各个组件。



现在,您可能想知道网络罪犯是否可以逆转这一过程来猜测变量以计算使用的数字。有可能,但是这种情况的现实是如此遥远,以至于不切实际。我说这是因为,即使网络罪犯了解这些计算的工作原理,也很难逆转这一过程以找出您或您的收件人用来生成匹配会话密钥的秘密号码。



它可以追溯到视频中讨论的概念,该概念展示了混合使用特定颜色以创建共享价值的过程。虽然很容易组合颜色来创建共享的值,但是实际上不可能对这些值进行解构以准确确定用于创建它们的颜色的阴影。



此外,由于这些计算中使用的数字非常庞大,因此花费比任何一个网络犯罪分子都要长的时间才能弄清楚它们。即使使用最新的超级计算机,攻击者也不得不花费数百(甚至数千年)的时间来试图找出你们俩都使用的单个数字。我不认识你,但我们凡人没有太多时间花在这些任务上。



那么,既然我们知道什么是对称加密及其工作原理,那么它在现实世界中将如何使用?



您已经在哪里使用对称加密的示例

对称加密在许多情况下很有用,并且在各个行业都有实现机会。例如,对称加密可用于加密与银行相关的数据以及数据存储。



银行业

听说过 PCI DSS 吗?该支付卡行业数据安全标准是一组 12 级的要求是接受信用卡付款的企业或组织必须坚持。对称加密是 PCI 合规性的关键组成部分,因为它与第 3 条要求直接相关,该要求专注于保护静态持卡人数据。 



这与第 4 条要求不同,后者要求保护传输中的数据。这就是使用非对称加密的全部内容(基本上是我们前面提到的 SSL / TLS 和 HTTPS)。



静态数据

静态数据是指数据位于服务器或设备上时的状态。它不是在传输中,这意味着它不是通过网络或 Internet 发送的。因此,以私人分类帐或日记为例。您在其中写了非常有价值或敏感的信息,而您不想让其他人阅读。因此,尽管您没有将其发送到任何地方,但这并不意味着您希望其他人能够在尝试获取内容的情况下阅读其内容。在静止状态下,数据加密可以防止发生此类暴露。



想知道您使用的哪些产品或服务将对称加密纳入其平台或工具中?以下是一些此类服务:




  • CodeGuard — CodeGuard 是一个网站备份工具,使用 AES-256 加密来保护您的备份。

  • Google Suite -Google 的许多 G Suite 服务都使用静态数据加密(除了通过 HTTPS 进行的传输加密外)来保护您的数据。

  • Microsoft Azure — Azure 加密使用对称加密来快速加密和解密大量数据。

  • SalesForce — SaleForce 平台使用 AES-256 加密来保护静态数据。



HTTPS 和网站安全

我们已经在前面提到过。还记得我们曾经讨论过对称加密如何成为 HTTPS 流程的一部分吗?在此处使用非对称加密来促进两方之间的密钥交换,然后使用相同的对称会话密钥实际对会话进行加密。



因此,这意味着对称加密是网站安全的组成部分。



关于对称密钥加密的最终思考

好的,我们已经到达终点线。毋庸置疑,分解什么是对称密钥加密以及对称加密的工作原理是很重要的。我希望本文能为您提供一些见解,以帮助您更好地了解此过程及其在网络安全中的作用。



一个简短的注释:此博客文章是我们将在未来几周内发布的一组文章中的第一篇,这些文章将分解对称加密的各个方面。因此,请务必注意并检查有关即将推出的有关“散列表”的文章。



尽管对称加密是一种古老的加密方法,但它在我们的数字世界中仍然占有不可估量的地位。

需要帮助吗?联系我们的支持团队 在线客服