加密是对消息或信息进行编码以便只有授权方可以看到它的过程。加密已经进行了几个世纪。例如,在第二次世界大战中,盟军使用不成文的纳瓦霍语发送加密代码,日本人无法解码。
今天加密更加重要,因为我们生活在一个隐私和安全不断受到想要访问我们个人生活的黑客攻击的时代。得益于 AES 加密等现代技术,黑客没有理由阅读敏感信息。
加密是保持数据安全的通用过程。
在这篇文章中,我们将探索不同的加密方法,以便您可以将信息安全地存储在数据库中。
一、您应该选择哪种加密算法?
在选择一种方法之前,了解每种方法的优缺点很重要。
目前使用的三种加密算法是:对称密钥加密、非对称密钥加密、混合加密对称密钥加密。
1、对称密钥加密
非常适合需要快速加密数据或随着时间的推移可能没有可用于发送密钥的安全通道的情况(例如,与位于世界另一端的人通信)。
优点包括比非对称密钥加密更快的解密时间,更小的密钥大小,更容易安全地存储或传输,并且不需要分发密钥或证书,因为它使用了共享秘密的概念。
共享密钥是一组只有参与安全通信的人员才知道的字符。共享秘密可以是只有安全交易的各方知道的任何“密码类型”字符串。
共享秘密可以是预先共享的预共享密钥的形式。或者,它是在通信会话时使用密钥协商协议创建的,例如,Diffie-Hellman等公钥密码术,或Kerberos等对称密钥密码术。
缺点是它需要密钥的安全分发/传输或预共享的秘密才能正常工作。搜索加密消息也更加困难,因为在搜索之前必须单独解密每条消息,这是性能劣势。
2、非对称密钥加密
非对称加密(也称为公钥加密)使用两个单独的密钥对数据进行加密和解密。它们被称为“公钥”和“私钥”。它们一起被称为“公钥和私钥对”。
非对称加密的主要好处是提高了数据安全性。用户不需要透露他们的私钥,从而减少了网络犯罪分子在传输过程中发现用户密钥并获得数据访问权限的机会。
缺点是密钥对是在使用时生成的,因此可能需要格外小心以确保它们安全可靠地生成。通常,密钥以“带外”的方式进行通信,例如通过电话呼叫收件人或在电子邮件和 IRC 等频道之间拆分密钥以防止窃听一个频道。
非对称加密使用比对称加密更长的密钥来提供比对称密钥加密更好的安全性。
然而,虽然较长的密钥长度并不是一个缺点,但它会导致加密速度变慢。
3、混合加密
今天,所有公钥密码学的实际实现都采用某种形式的混合加密。
流行的例子包括 TLS 和 SSH 协议,它们使用公钥机制进行密钥交换(例如 Diffie-Hellman)和对称密钥机制进行数据封装(例如 AES)。
当需要快速进行数据加密但对系统性能的影响较小时,混合加密非常有用。
加密过程的工作原理是使用对称加密仅加密对称密钥,然后使用非对称加密使用此对称密钥加密整个消息,这使得解密时间比传统加密更快。
二、通用数据加密方法
1、PGP
这是 Phil Zimmerman 在 1991 年使用 RSA 加密算法创建的算法。PGP 加密与其他加密算法不同,因为它不需要服务器、证书或发件人和收件人之间任何其他类型的预共享机密来使用加密。
有权访问公钥的人可以在向其他用户发送信息之前加密数据,而无需与其他用户共享密钥。与其他加密方法相比,这使其安全性降低但更灵活,因为任何人都可以发送加密数据,而无需提前设置复杂的安全选项。
PGP 比许多其他形式的加密更容易实现,因为不需要第三方服务器。但它不像其他需要证书或加密密钥的加密方法那样安全,因为任何人都可以使用 PGP 加密来加密数据。
2、HTTPS
HTTPS 与其说是加密本身,不如说是一种协议。HTTPS 中的加密协议使用传输层安全性 (TLS),以前称为安全套接字层 (SSL)。它有时也称为 HTTP over TLS 或 HTTP over SSL。
几乎所有浏览器都支持 HTTPS。无需用户干预即可获得 HTTPS 提供的混合加密的好处。该协议很重要,因为它可以防止人们监控用户和网站之间发送和接收的数据库流量。这可以防止窃贼发现用户正在访问的网页或放入表单的信息或通过未加密的在线连接共享的其他个人数据。
3、MD5
MD5 有多种用例。但最大的是密码的存储。由于数据库中的数据可能不安全而密码必须是安全的,因此许多密码都经过了 MD5 加密。例如,许多 Linux 系统使用 MD5 来存储密码。
文件的校验和通常使用 MD5。网站包含许多漏洞,这些漏洞可能允许黑客更改下载链接并诱骗用户下载受损文件。
这可以通过校验和来缓解。它们通过创建与文件一起使用的唯一哈希来工作。将此哈希与下载的文件进行比较,以确保它是匹配的。如果它们匹配,则文件是相同的并且没有被篡改。对于受损文件,情况正好相反。
用于 md5 加密的密钥不断变化,因此即使 MD5 密钥被泄露,它也只会影响一个会话的流量,而不是所有会话。这使得 MD5 加密成为银行、政府网站和其他对隐私和安全至关重要的信息敏感企业的热门选择。
4、AES
AES 代表高级加密标准。这是一种对称密钥算法。经过五年的过程以取代老化的数据加密标准 (DES),它于 2002 年被美国政府采纳为联邦标准。
AES 是一种对称密钥加密算法。计算机程序获取未加密的文本,通过加密密钥对其进行处理,然后返回密文。当需要解密数据时,AES 会使用相同的密钥再次对其进行处理,以生成解码数据。这种方法需要较少的计算资源来完成其解密过程,从而降低对数据库的性能影响。因此,AES 是保护存储在大型数据库中的敏感数据的好方法。
AES 加密保护敏感信息,如信用卡号或不安全网络上的其他个人信息。这种类型的加密使用 128 位的密钥,因此很难破解。AES 还可以与 RSA 等非对称密钥算法一起使用,这意味着可以通过 AES 对某些数据进行加密,然后使用不同的密钥进行解密。这使得攻击难以实施,因为它需要黑客拦截一段数据并使用他们通常不可用的密钥对其进行解密。
5、RC4
RC4
的流行与其简单性和速度有关。AES 不如 RC4 快,但更安全。RC4 是 Ron Rivest 早在 1987 年为网络安全公司 RSA
Security 创建的流密码。流密码是一种加密技术,可以逐字节地将纯文本转换为任何没有正确密钥的人都无法读取的代码。
流密码是线性的,因此相同的密钥加密和解密消息。虽然破解它们可能很困难,但黑客已经设法做到了。出于这个原因,专家认为流密码不能安全地广泛使用。许多数据库仍然依靠技术在互联网上传递数据。
RC4 在许多应用程序中得到广泛支持,可以与私钥或公钥一起使用。由于私钥通常比用于公钥加密的密钥长,因此 RC4 加密由于带宽有限而广泛用于无线网络。
要解密 RC4,需要知道 RC4 密钥和 RC4 算法,这就是 RC4 加密的工作原理。对于使用 RC4 访问加密数据的攻击者,他们需要知道 RC4 加密的两个组件和任何密钥。
RC4
算法因实现而异,即使使用相同的密钥也是如此,但通常足够接近,以至于可以编写一次解密程序,然后在每个实现中使用。正确实施时它具有良好的速度。在其执行期间可能会发生几个不同的操作,例如交换密钥或替换表,具体取决于偏移密钥字节流提供的信息。这使得攻击者很难预测
RC4 加密,即使他们可以访问 RC4 密钥。
三、结论
Ponemon Institute 最近发现,近 70% 的公司在去年至少发生过一次数据泄露事件。
考虑到公司网络上存储了多少数据库,这并不奇怪。
因此,在开始在云中安装数据库之前,了解您的数据库加密选项并做出明智的选择非常重要。
幸运的是,有很多不同的方法可用,因此我们建议您研究并找出最适合您需求的安全级别——从
MD5 保护到军用级 256 位 AES 加密算法。