数据和密码的存储和安全管理是加密和区块链世界中最重要的方面之一,并且普遍存在于所有在线环境中。
加密是一种“隐藏文字”的艺术,能够将纯文本转换为密文,反之亦然,它可以帮助黑客难以允许未经授权的访问某些网络和交易。
让我们深入研究加密保护有价值信息和密码的不同方法。
一般在密码学中谈到密码保护时,都会提到两种加密方法:对称加密和非对称加密。
对称加密是指使用单个密钥来加密和解密信息的一种文本加密:
加密密钥在发送者和接收者之间共享,通常事先达成一致:它代表加密货币中允许用户访问和管理其数字资源的核心元素。
单密钥对称加密是保护密码、交易以及操作节点之间通信的最常用手段之一。
例如,在将资金从一个钱包转移到另一个钱包时,它可以确保只有参与交易的两方读取和共享信息,从而保证数据不被窥探。
然而,尽管对称加密有诸多优势,但在可扩展性和密钥管理方面却存在局限性。
事实上,在拥有更多用户的系统中,成对通信的需求极大地限制了这种做法的扩展。同时,更多的用户意味着在所谓的“私钥”的管理和保存方面存在人为错误,如果丢失,就会导致加密货币或虚拟钱包中存储的数据丢失。
为了克服这些限制,非对称加密通过在密码编码和解码中提供一对单独的密钥(公钥和私钥)来帮助我们。
这种额外的安全级别立即提高了数据保护能力:公钥可以与任何网络上的任何人共享(例如当我们共享我们的地址以接收加密付款时),而私钥必须保密。
这两个密钥都是由一种算法生成的,该算法使用大素数来创建两个唯一且数学上关联的密钥。
无论如何,拥有公钥的人可以加密消息,但只有私钥的持有者才能解密文本。我们可以将其想象成一个电子邮件收件箱:拥有公钥的人可以发送消息,但只有私钥的所有者才能打开电子邮件并阅读消息。
Trust Wallet或MetaMask等非托管软件钱包使用非对称加密技术为用户提供最高程度的安全性。
加密和区块链领域的密码加密采用不同的格式,可用于不同的目的并提供不同级别的安全性:
- MD5(消息摘要5) :
MD5 算法由 Ronald Rivest 于 1991 年开发,可从可变长度的输入生成 128 位哈希值(32 个十六进制字符)。
由于算法中发现漏洞,它不再被认为是安全的。但是,它仍然在某些传统环境中使用,例如用于验证文件的完整性。
- SHA-1(安全散列算法 1):
SHA-1 生成 160 位哈希值(40 个十六进制字符)。
它不再像以前那样安全,已经显示出一些漏洞:现在它通常被更强大的算法(如 SHA-256 和 SHA-3)取代。然而,它仍然在广泛的系统和新应用程序中使用。
- 盐:
盐是一个随机的位序列,在计算哈希值之前添加到密码中。
它解决了散列方法中的冲突问题(两个不同的密码生成相同的散列)。
通过添加盐,即使是相同的密码也会有完全不同的哈希值。这使得攻击者更难通过暴力攻击来解密密码。
- 加密:
Bcrypt 是一种专门为密码加密而设计的哈希算法。
使用盐和一定次数的迭代来减慢哈希计算的速度。它被广泛用于数据库领域保护用户密码。
加密格式的选择取决于参考系统的具体需求。如今,建议使用 bcrypt 或 SHA-2 等哈希算法来保护密码并减轻网络攻击。
保护加密货币中的密码和有价值信息的另一种方法是依靠哈希函数,即将任何形式的数据转换为固定长度的字符串的算法。
通过使用强大的哈希算法,我们可以有效地保护敏感信息并防止网络攻击。
哈希函数是不可逆的:不可能将哈希转换回其原始数据。它们在区块链上的数据管理中至关重要,因为它们允许在不损害其初始完整性的情况下构造信息
哈希还可以作为所有加密密码的指纹,保护用户免遭其帐户上未经授权的操作。
事实上,对原始数据的任何修改都会产生新的哈希值,该哈希值不再对应于原始来源,因此无法在区块链上进行验证。
确保密码安全(更具体地说是消息中数据的真实性和完整性)的另一种方法是使用所谓的“数字签名” (非对称加密技术)。
这只是确保特定数据的所有者批准交易的一种方法。通常,发送者使用私钥创建数字签名以加密签名数据,而接收者获得签名者的公钥以解密数据。此代码代表无可辩驳的证据,证明消息是由发送者独自创建的,并且没有被在线篡改。
当谈到数字签名时,人们立即想到Ledger 、Trezor 和 Bitbox 等签名设备,它们允许在交易广播到加密网络的其余部分之前验证交易。
但是,请注意不要将这些设备视为钱包:它们不包含您的加密货币,而只允许您批准使用它们所需的交易。