揽阁信息科技(上海)有限公司

行业新闻Security News

您当前所在位置: 主页 > 新闻动态 > 行业新闻

公钥与私钥:在线安全和隐私指南

发布日期:2025-05-22  浏览次数:

公钥与私钥:在线安全和隐私指南(图1)

想象一下,你给地球另一端的人发了一条信息。你把信息锁在一个带钥匙的盒子里,然后把它发送到各大洲,希望没有人能截取它。但有一个问题——如果任何人在任何地方设法复制了那把钥匙,他们就能打开盒子,读取里面的所有内容。


这就是早期数字通信的糟糕状态。在互联网发展成为我们如今所知的庞大互联网络之前,人们依靠单个共享密钥来加密和解密消息——这种方法被称为对称加密,加密和解密使用同一个密钥,例如AES(高级加密标准)或 DES(数据加密标准)等算法。


它在受控环境中运行良好,但随着通信在全球范围内的扩展,对称加密技术面临着一个重大挑战:安全地分发加密密钥。窃听的风险始终存在,攻击者可以在传输过程中截取密钥。随着连接人数的增加,系统变得越来越难以管理——在无数用户之间安全扩展几乎是不可能的。因此,问题出现了:如何安全地与地球另一端的人共享密钥,而不被任何人拦截? 


随着互联网的普及,银行信息、公司机密、政府情报和私人对话等敏感信息开始通过暴露的数字网络传输。这暴露了对称加密的局限性。


随后,一个革命性的想法应运而生,它拯救了网络安全的未来:公钥和私钥加密技术,也称为非对称加密技术。这种新方法不再依赖发送者和接收者之间共享的单个密钥,而是使用两个密钥:一个公钥,一个私钥。公钥可以公开分享给任何人,而私钥则受到安全保护。用公钥加密的消息只能用相应的私钥解密,反之亦然。


突然之间,无需事先交换密钥,即可在不安全的网络上发送机密信息。RSA 和 ECC 等技术使这成为可能——这些数学上复杂的系统构成了当今安全通信的支柱。 


现在,让我们看看公钥和私钥如何协同工作。  


私钥和公钥如何协同工作? 

公钥和私钥的工作原理类似于数字锁钥系统,确保在线通信的私密性、安全性和可靠性。它们主要通过两种方式工作: 

  1. 加密和解密——保护信息隐私
    • 目的:确保只有指定收件人才能收到消息。
    • 公钥可供所有人访问(与他人共享),但私钥是保密的。
    • 当您想与某人分享私人消息时:
      • 您使用他们的公钥来加密(锁定)消息。
      • 只有他们的私钥才能解密(解锁)并读取它。
    • 即使有人截获了该消息,他们也需要私钥才能阅读。
    • 算法示例:该原理用于RSA-OAEP和ECIES(椭圆曲线集成加密方案)等加密算法。
    • 重要提示:在实践中,公钥加密通常用于安全地交换对称密钥,然后再使用该对称密钥加密实际数据。TLS(用于HTTPS)的工作原理就是这样的——它将对称加密的高效性与非对称密钥交换的安全性结合在一起。
    • 现实生活中的例子:安全网站(HTTPS)、网上银行和消息应用程序使用这种混合方法来保证您的数据安全
  2. 数字签名——证明身份和真实性

    • 目的:证明该消息是您发送的并且未被更改。
    • 您使用您的私钥来创建数字签名——您消息上的唯一印章。
    • 此过程通常涉及哈希函数(生成消息的固定大小摘要)和签名算法(如 RSA 或 ECDSA)以使用您的私钥加密哈希。
    • 接收您消息的人可以使用您的公钥验证该签名。
    • 如果检查无误,他们就会知道:
      • 您发送了该消息(真实性)。
      • 消息未被更改(完整性)。
    • 现实生活中的例子:软件更新、数字合同和区块链交易使用它来防止篡改和确认身份。

公钥与私钥

类别方面公钥私钥
成分RSA元素 模数(n),公共指数(e) 模数(n),私有指数(d) 
ECC元素 高曲线名称,公共点(Q=d×G) 曲线名称,私有标量(d) 
能见度能见度公开分享保密 
分配 免费分发(例如,使用 TLS 证书)  永不共享;保持安全
用法目的  加密数据,验证数字签名 解密数据,创建数字签名 
谁使用它 任何人(接收者、验证者) 只有主人 
示例电子邮件加密、网站证书验证  数字签名、安全认证 
贮存 文件格式.crt、.cer、.pem .key、.pem、.pfx 
典型存储位置 公共存储库、证书  保存在安全存储中(HSM、加密文件) 
 安全 在安全中的角色 建立信任并实现安全通信实现保密性和身份验证 
如果暴露信任度可能会降低(例如冒充) 严重风险——允许完全泄露加密/签名内容 
所有权与控制权 与身份相关(例如,域,人)由密钥所有者独家控制 


现实生活中的例子

  1. 安全网页浏览 (HTTPS)

    当您访问 https://example.com 等安全网站时:

    作为SSL/TLS 证书 的一部分,网站会向您发送其公钥。使用此密钥,您的浏览器和网站将执行称为 TLS 握手的过程,以建立安全的通信通道。在此握手过程中,将使用公钥加密技术创建一个会话密钥。然后,此会话密钥将用于加密和解密浏览器和网站之间交换的所有数据,从而确保快速安全的通信。

    虽然网站的公钥在握手过程中用于建立会话密钥,但实际数据(例如密码)是使用此会话密钥(而不是公钥本身)加密的。只有网站的私钥才能安全地解密会话密钥,从而确保您的敏感数据只能由真正的网站读取。

  2. 加密货币(例如比特币、以太坊)

    您的加密钱包的所有权通过您的私钥进行验证,私钥用于签署交易。另一方面,您的公钥用于获取您的钱包地址,该地址公开共享,用于接收资金。

    就比特币而言,钱包地址是公钥的哈希版本,其他人会用它向您发送加密货币。如果有人知道您的公钥(或钱包地址),他们就可以向您发送加密货币——但只有您的私钥才能签名并授权使用该加密货币的交易,从而确保只有您才能控制钱包中的资金。

  3. 电子邮件加密(PGP/GPG)

    使用 PGP(Pretty Good Privacy)或其开源实现 GPG(GNU Privacy Guard),您可以将公钥提供给朋友,允许他们加密发送给您的电子邮件。为了加密消息,PGP/GPG 首先使用对称加密对实际消息进行加密,以确保对较大内容进行高效加密。然后,它会使用您的公钥加密用于对称加密的会话密钥,利用非对称加密进行安全的密钥交换。

    当你收到电子邮件时,你会使用私钥解密会话密钥,然后使用会话密钥解密邮件本身。这样可以确保只有你(拥有私钥)才能阅读加密的电子邮件。

  4. SSH 身份验证(服务器访问)

    SSH(安全外壳)通常使用带有质询-响应机制的公钥身份验证来安全地验证用户身份。在此模型中,您的私钥存储在您的计算机上,而公钥存储在服务器上。

    当您尝试连接时,服务器会生成一个随机质询(通常是一个较大的数字或字符串),并将其发送给您的客户端。然后,客户端使用私钥对质询进行签名。签名后的响应将发送回服务器。服务器拥有公钥,可以验证签名。如果服务器成功验证了响应,则会授予用户访问权限。

    这种质询-响应模型可以作为一种安全的所有权证明:即使攻击者截获质询,他们也无法在无法获取私钥的情况下做出响应。这种方法比基于密码的身份验证强得多,因为私钥永远不会离开你的设备,从而降低了被拦截的风险。此外,质询-响应机制确保只有拥有正确私钥的人才能进行身份验证,这使得它能够高度抵御暴力破解或网络钓鱼攻击。

  5. 软件更新和签名

    开发人员发布软件更新时,会使用私钥对更新进行签名。此签名不会加密软件本身,而是确保更新的完整性和真实性,让您能够验证软件未被篡改,并且确实来自合法开发人员。

    您的设备会使用开发者的公钥来验证更新的签名,确保其与原始软件匹配。如果签名有效,您就可以确信更新是真实的,并且在传输过程中未被篡改。

    使用 RSA 或 ECDSA 等常见的代码签名算法来创建和验证这些数字签名,确保软件分发过程的安全。

安全注意事项

在公钥加密中,安全性至关重要,因为一旦泄露,可能导致数据泄露、身份冒充和欺诈。以下是一些关键安全注意事项的细分: 

  1. 保护私钥

    私钥是非对称加密的基石——如果私钥被泄露,攻击者可以解密敏感数据、伪造签名或冒充合法用户。因此,妥善的保护至关重要。

    最佳保护措施:
    • 硬件安全模块 (HSM):使用 HSM——一种能够安全生成、存储和管理加密密钥的专用物理设备。其他替代方案包括可信平台模块 (TPM) 和智能卡
    • 静态加密:使用 AES-256 等强对称加密算法加密磁盘上的私钥文件。
    • 强密码:使用强且独特的密码来保护密钥文件本身,防止未经授权的访问。注意:密码不会加密密钥,但会限制对加密密钥文件的访问。
    • 访问控制:强制执行严格的文件权限,使用基于角色的访问控制 (RBAC),并将密钥访问隔离给真正需要它的人员。
    • 多重身份验证 (MFA):要求 MFA 访问任何使用私钥的系统或应用程序,从而增加关键的防御层。
    • 避免密钥共享:切勿共享私钥——即使在内部团队内部也是如此。每个个人或服务都应使用自己的密钥对。
    • 密钥轮换和过期:定期轮换密钥并定义过期策略,以最大限度地减少潜在密钥泄露的影响。
  2. 确保公钥真实性

    虽然公钥是用来共享的,但验证其归属至关重要。如果没有适当的验证,攻击者可以通过替换自己的密钥来发起中间人 (MitM) 攻击。

    验证公钥真实性的方法:
    • 数字证书和公钥基础设施 (PKI): PKI 提供了一种集中式信任模型。它使用 X.509 证书,将公钥与身份(例如域名或个人)绑定,并由受信任的证书颁发机构 (CA)进行数字签名。客户端可以使用信任链来验证此 CA 签名,该信任链可追溯到他们已经信任的根 CA。

      示例:在 HTTPS(TLS)中,浏览器相信它正在与 bank.com 通信,因为该站点的证书是由已知 CA 签名的。

    • 信任网(用于 PGP/GPG):与 PKI 不同,信任网是一种去中心化的模型。用户相互验证身份,并签署彼此的公钥,从而创建一个信任关系网络。

      例如: Alice 验证了 Bob 的密钥并对其进行了签名。Carol 可能会信任 Bob 的密钥,因为她信任 Alice。

    • 证书锁定:应用程序或浏览器会“锁定”特定的公钥或证书颁发机构。只有被锁定的密钥(或由其签名的证书)才会被接受用于后续会话。这可以防止攻击者使用伪造证书——即使受信任的证书颁发机构被攻破。

      示例:移动应用程序经常使用证书固定来防止接受伪造的证书。

    • 密钥指纹:指纹是公钥的简短且唯一的哈希值。两个用户可以在带外(例如,通过电话或面对面)验证指纹,以确认密钥的真实性。

      示例:在 SSH 设置期间,用户可以通过安全、可信的通信通道比较密钥指纹。

结论

公钥和私钥加密技术已成为现代数字安全的支柱。它解决了开放网络中信任的核心问题——无需秘密交换密钥即可实现安全通信、身份验证和数据完整性。从浏览安全网站、发送加密电子邮件,到管理加密货币钱包和验证软件更新,公钥和私钥对都在幕后默默地守护着我们的数字生活。 


通过了解这些密钥的工作原理以及保护它们的重要性,个人和组织可以采取明智的措施来增强其网络安全。随着网络威胁的不断增长,公钥基础设施 (PKI)仍然是我们在日益互联的世界中确保隐私、安全和真实性的最有力工具之一。 


展望未来,随着量子计算的兴起,传统的公钥算法可能会变得脆弱。各组织机构应开始探索后量子密码学,为下一个密码安全时代做好准备。


揽阁信息 · 值得您信赖的信息安全顾问!

服务热线

服务热线

13524448503

微信咨询
返回顶部
X

截屏,微信识别二维码

微信号:13524448503

(点击微信号复制,添加好友)

打开微信

微信号已复制,请打开微信添加咨询详情!