其他

256位加密:AES-256位加密在现代安全吗?

背景


安全很质朴,安全也很专业复杂。它不一定是可见 的 ,但我们一定也要看到它的存在。作为互联网的基石,数据是一个企业核心竞争力,一旦数据安全事件发生 , 企业将遭受难以挽回的损失 , 那么 企业应该如何保护数据安全呢?

当您决定使用加密来保护企业数据安全时,您首先面临的选择加密强度。有许多选项可用,其中最流行的是128位、192位和256位加密。当然,其中最安全的是256位加密,但有时我们想知道它对数据的安全性有多安全。如果这个问题一直在你的脑海里,我们将简单的介绍加密算法。AES是高级加密标准的缩写。这是美国政府用于加密敏感数据的对称分组密码 。个人和公司也都使用AES来锁定机密或其他有价值的信息。

首先我们先了解一下数据加密是什么 。


数据加密技术是对系统中所有存储和传输的数据进行加密,使之成为密文。这样,攻击者在截获到数据后,便无法了解到数据的内容;而只有被授权者才能接收和对该数据予以解密,以了解其内容,从而有效地保护了系统信息资源的安全性。数据加密技术包括这样几方面的内容:数据加密、数据解密、数字签名、签名识别以及数字证明等。

在众多加密技术中,银行系统的安全措施一直是加密技术最前端前沿,AES加密技术就是应用最为广泛的技术之一。AES (Advanced Encryption Standard)是一种区块加密标准算法,它的提出是为了升级替换原有的DES加密算法。因此它的安全强度高于DES算法。

和DES算法一样,AES也属于对称加密算法,对密钥的存储与保护,直接决定了整个系统的安全。AES最常见的有3种方案,分别是AES-128、AES-192和AES-256,它们的区别在于密钥长度不同,AES-128的密钥长度为16bytes(128bit / 8),后两者分别为24bytes和32bytes,密钥越长,安全强度越高。

加密简介


讨论256位加密及其安全性之前,最好先了解一下加密的基本内容以及它是如何工作的。加密背后是随机化信息/数据,因此没有人能理解它,即使它被盗。这是通过一种算法将数据与一串秘密字母一起运行来实现的,过程通常被称为散列法(Hashing)。

这里有一个例子,什么简单的数据在纯文本看起来像散列法(Hashing):

在散列法(Hashing)过程中使用的秘密字母串被称为密钥。由于加密是通过逻辑过程完成的,因此在密钥的帮助下加密的数据也可以在其帮助下解密并恢复为纯文本形式(公钥加密的情况除外,它稍微复杂一些)。这就是为什么加密的强度取决于密钥的长度。密钥越长,通过基于猜测的攻击(暴力攻击)来解密数据的时间就越长,因为攻击者将不得不尝试大量的组合。

加密


我们刚刚解释了较长的密钥在加密强度中的作用。密钥的长度是以位来度量的,而且随着计算能力的增强,密钥长度还在不断增加,因此暴力攻击无法通过强大到足以破解加密的计算机成功实施。我们在20世纪70年代开始使用56位密钥,它可以有2^56种可能的唯一组合。随着计算能力的增强,我们在2001年转向了高级加密标准,允许128位、192位和256位密钥进行加密。

如今,根据被保护数据的敏感性,所有这3种长度的密钥都用于加密目的。例如,一个简单的MS-Word文档被128位加密保护;192位加密用于网站保护用户数据,256位加密用于银行业保护信用卡和借记卡数据。

256位加密的安全性如何?


到目前为止,它是世界上最安全的加密标准,因为它可以有2^256种独特的加密组合。如果你不擅长数学,以下是用简单英语写的数字:

115、792、089、237、316、195、423、570、985、008、687、907、853、269、984、665、640、564、039、457、584、007、913、129、639, 936

答案是78位。这就是在AES-256中可能存在的密钥组合的数量。比现代科学计算器能计算的数字还要多。如果一台计算机试图通过蛮力破坏AES 256,这是它为了成功而需要尝试的唯一组合的数量。

256位加密非常强大,它还可以抵抗超级计算机的攻击。如果你不了解它们,我告诉你,超级计算机是一种能够将巨大的任务分解成多个更小的块,并使用它们拥有的大量处理核同时处理它们的计算机。实际上,通过蛮力攻击是不可能破解AES-256的,无论参与该过程的计算机有多强大。目前,天河2号(也被称为milkyway 2)是世界上最强大的超级计算机,即使是这台计算机也需要数百万年才能通过蛮力攻击破解AES 256。任何攻击者都是愚蠢的,哪怕是想尝试这样的事情。

已经有一些成功破解256位加密的相关密钥攻击实例(比如Bruce Schneier在2009年发起的攻击);但由于AES-256的未完全实施,这些尝试都取得了成功。一个完整的14轮AES 256的实现还没有打破到目前为止。

AES-256为例, 假如现在我们想破解它,其难易程度如何呢? 2^256就是256位AES的密钥空间的组合数,远大于地球所有沙子的总数量(3×10^23)。2^256>2^(10*25)>10^(3*25)=10^75>>>3×10^23现在问题来了 : 假设你能够把每一粒沙子做出一个存储设备,存一个值。你只能存储3*10^23个不同的答案。而你没法全部试一遍 , 如果是1秒钟尝试20亿亿次(假定以天河4号专用为计算机)不同的组合。10^75/(20*10^8*10^8*86400*365)=10^58/86400/365/2>10^50年 , 这么长时间远远大于太阳的寿命,6*10^9亿年,这样破解难度依靠现有技术资源 和 时间长度,几乎是无法进行计算破解,难度系数等同于不可能。

数据使用256位加密保护


你还可以通过这样一个事实来了解这个加密标准有多安全,即使是美国政府和它的各个机构也只使用256位加密来保护他们的最高机密。所有信用卡公司、银行和其他金融机构都使用它来保护其客户的财务数据。它被世界各地的武装部队用来保护他们的数据,这就是为什么它也被称为军事级别加密。

如果政府可以信任256位加密技术来处理他们的国家机密,如果军队可以信任他们的敏感数据,如果银行可以信任它来保护数十亿客户的财务信息,那么我们绝对可以信任它来保护我们组织的数据。

256位加密的未来

你们中的一些人可能还想知道256位加密的未来。你可能会认为256位加密是当今最好的加密方式,但在未来,随着计算能力的提高,这种方式还会保持下去吗?答案是肯定的。至少在未来几年,它仍将牢不可破。算法的变化是由于计算能力和计算机制的提高。CA/B论坛总是建议随着技术环境的变化升级加密强度。