译者 | 李睿
加密是对消息或信息进行安全编码的过程,只有授权方才能看到加密数据。加密的历史距今长达几个世纪。比如在第二次世界大战中,美军使用纳瓦霍语发送加密指令,使日军无法有效解码。
如今,加密更加重要,因为人们生活在一个隐私和安全不断受到黑客攻击的时代。多亏有了AES加密等现代技术,使黑客很难获得人们的敏感信息。
加密是保持数据安全的通用过程。本文探索了多种不同的加密方法,以便用户可以将信息安全地存储在数据库中。
1.应该选择哪种加密算法?
在选择加密方法之前,了解各种方法的优缺点很重要。目前三种主流的加密算法是:
- 对称密钥加密
- 非对称密钥加密
- 混合加密
(1)对称密钥加密
对称密钥加密非常适合于数据需要快速加密的情况,或者在没有安全通道可用于随时间的推移发送密钥的情况下(例如与远在地球另一端的人员通信)。
它的优点包括比非对称密钥加密更快的解密时间,更小的密钥,更容易安全地存储或传输,并且因为它使用了共享密钥的概念,不需要分发密钥或证书。
共享密钥是一组只有参与安全通信的人员才知道的字符。共享秘密是只有安全交易的各方知道的任何“密码类型”字符串。
共享密钥可以是预先共享的预共享密钥,或者是在通信会话时使用密钥协商协议创建的。例如Diffie-Hellman等公钥密码术或使用Kerberos等对称密钥密码术。
它的缺点是需要密钥的安全分发/传输或预共享的秘密才能正常工作。搜索加密的消息也更加困难,因为在搜索之前必须单独解密每条消息,这是这种方法在性能方面上的缺点。
(2)非对称密钥加密
非对称加密(也称为公钥加密)使用两个单独的密钥对数据进行加密和解密。它们被称为“公钥”和“私钥”。它们在一起被称为“密钥对”。
非对称加密的主要好处是提高了数据安全性。用户不需要公开他们的私钥,从而减少了在传输过程中被网络犯罪分子发现密钥并获得数据访问权限的机会。
它的缺点是密钥对是在使用时生成的,因此可能需要格外小心以确保它们安全可靠地生成。在通常情况下,密钥是以“带外”的方式进行通信的,例如在电话中呼叫收件人,或在电子邮件和IRC等频道之间分割密钥以防止在一个频道上窃听。
非对称加密使用了比对称加密更长的密钥来提供更好的安全性。然而,虽然较长的密钥长度并不是一个缺点,但它会降低加密速度。
(3)混合加密
如今,公钥加密的所有实现都采用某种形式的混合加密。流行的例子包括TLS和SSH协议,它们使用公钥机制进行密钥交换(如Diffie-Hellman)和对称密钥机制进行数据封装(如AES)。
当需要快速进行数据加密但对系统性能的影响较小时,混合加密非常有用。其加密过程的工作原理是使用对称加密,只加密对称密钥,然后使用非对称加密使用这一对称密钥加密整个消息,这使得其解密时间比传统加密更短。
2.通用数据加密方法
(1)PGP
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。网站包含许多漏洞,这些漏洞可能允许黑客更改下载链接,并诱骗用户下载受损文件。
这可以通过校验和来缓解。它们通过创建与文件一起使用的唯一的哈希值来工作。将这个哈希值与下载的文件进行比较,以确保它是匹配的。如果它们匹配,则文件是相同的并且没有被篡改。对于受损文件,情况正好相反。
用于MD 5加密的密钥不断变化,因此即使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密钥。
3.结论
根据波洛蒙研究所最近发布的研究报告,将近70%的企业在去年至少发生过一次数据泄露事件。考虑到企业网络上存储了多少数据库,这并不奇怪。因此,企业在开始在云平台中安装数据库之前,了解其数据库加密选项并明智地选择非常重要。幸运的是,有很多不同的加密方法可用,因此建议企业探索并找出最适合需求的安全级别——从MD5保护到军用级256位AES加密算法。
原文链接:https://dzone.com/articles/how-to-choose-the-best-encryption-methods-for-data-1