标签: 加密

  • 什么是端到端加密(E2EE)?

    在当今的数字通信中,信息的发送方和接收方很少是直接联系的。当您与好友通信时,表面是私人信息交换,但相关信息均被记录并存储于中央服务器。

    您可能不希望传递消息的服务器读取私人讯息。在这种情况下,端到端加密(缩写为“E2EE”)正是一种可行方案。

    端到端加密是将接收方与发送方的通信进行加密的技术手段,只有双方才能对数据解密。端到端加密的起源可以追溯到20世纪90年代,菲尔·齐默尔曼(Phil Zimmerman)推出了“Pretty Good Privacy”(即著名的PGP)。

    在介绍为何使用E2EE及其工作原理前,我们先来了解一下未加密消息的工作原理。

    未加密消息的工作原理

    本节介绍常规智能手机消息传递平台的运作原理。首先安装应用程序并创建账户,通过账户即可与执行相同操作的其他用户通信。您编辑一条消息并输入好友的用户名,将其发布到中央服务器。服务器将消息转发给您的好友,成功将消息传送至目的地。

    用户A与B通信。二者必须通过服务器(S)传递数据才能建立联系。

    您可以将其称为“客户端 – 服务器模型”。客户端(您的手机)执行的操作很少,所有繁重的计算过程均由服务器承担。因此,服务供应商充当您与接收方的中间人。

    在多数情况下,A <> SS <> B之间的数据已经加密。比如说广泛用于保护客户端与服务器之间连接的传输层安全性(TLS)。

    TLS与类似的安全解决方案可以防止消息从客户端传入服务器时遭到拦截。虽然这些措施能够阻止外部人员访问,但中央服务器负责对信息加密,因此仍有权读取数据。如果使用B的加密密钥对A的数据加密,则服务器无法读取或访问。 

    如果不使用E2EE,服务器会将该信息与其他数百万条信息统一存入数据库。大规模数据泄露屡屡证明,这种存在漏洞的机制可能为用户带来灾难。

    端到端加密的工作原理

    端到端加密确保任何人甚至连服务器都无权访问您的通信内容。通信内容可以是纯文本、电子邮件、文件、视频通话等任何形式。

    数据在Whatsapp、Signal或Google Duo等应用程序中加密(理论层面),只有发信人与预期收信人能够解密。在端到端加密方案中,您使用名为密钥交换的方法开启该过程。

    什么是迪菲-赫尔曼密钥交换?

    迪菲-赫尔曼密钥交换是密码学家惠特菲尔德·迪菲、马丁·赫尔曼和拉尔夫·默克尔的共同构想。这项技术功能强大,帮助各方在潜在的危险环境中生成并共享机密。

    换言之,即便在不安全的论坛创建密钥(甚至存在旁观者),也不会影响未来通信的保密性。在信息时代,这种机制极具价值,双方无需以物理方式交换密钥即可进行通信。

    交换本身涉及大量数字与奇妙的密码学技术,本文不作详细介绍。相反,我们使用常见的油漆颜色进行类比:假设Alice和Bob在酒店走廊两端各订一间房,他们想分享一种颜色特定的油漆,但不希望泄露具体颜色。

    不幸的是,楼层里遍布间谍。假设Alice与Bob无法进入彼此的房间,只能在走廊交流互动。二人在走廊中决定将房间涂成黄色。他们将得到的黄色油漆一分为二,然后各自回房。

    在房间中,他们混合另一种无人知晓的秘密颜色。Alice使用了暗蓝色,Bob则使用了暗红色。关键在于,间谍无法掌握他们使用的秘密颜色,但可以看到生成的混合物,因为Alice和Bob现在带着蓝黄色和红黄色的混合物离开房间。

    二人公开交换上述混合物。间谍即使看到也没有关系,他们并不知道添加的暗色调是什么。这只是一种类比,真实的数学系统非常复杂,猜测秘密“颜色”绝非易事。

    Alice与Bob拿到彼此的混合物并再次回到房间,随后将自己的秘密颜色融入混合物。

    Alice将秘密颜色“暗蓝色”与Bob的红黄色混合,形成红-黄-蓝混合物

    Bob将秘密颜色“暗红色”与Alice的蓝黄色混合,形成蓝-黄-红混合物。

    两种组合的颜色相同,外观同样一致。Alice和Bob成功创造出间谍不知道的独特颜色。

    这就是我们在开放环境中创建共享机密的原理。区别在于,我们处理的不是走廊与油漆,而是不安全的通道、公钥与私钥。

    信息交换

    其他各方掌握他们的共享机密后,即可将其作为对称加密方案的基础。目前的主流加密方案通常运用多项技术来提升安全性,但这些方案无不是脱离实际需求的“闭门造车”,因此效果甚微。通过E2EE应用程序与好友建立连接后,除非存在重大软件漏洞,否则加密和解密只能在您的设备中完成。

    无论黑客、服务供应商还是执法人员,无一例外。如果服务获得了名副其实的端到端加密,那么截获的任何消息都会是乱码。

    端到端加密的优缺点

    端到端加密的缺点

    端到端加密实际只有一种缺点,而且到底算不算得上是缺点还因人而异。在某些人眼中,E2EE的价值主张本身就有问题,因为没有相应密钥,任何人都无法访问您的消息。

    反对者认为,这为犯罪分子制造了可乘之机,因为他们很清楚政府与科技公司无法解密E2EE通信。而遵纪守法的个人根本没有必要将消息与通话保密。许多政治家都认同这一观点。他们呼吁立法,支持监管机构在必要时介入公众的通信。当然,这破坏了使用端到端加密的初衷。

    值得注意的是,使用E2EE的应用程序同样面临安全风险。两台设备通信时,消息可能会混淆,但它们会在各自端点(即两端的笔记本电脑或智能手机)正常显示。这本身并不能算做是端到端加密的缺点,但也需要引起注意。

    在解密前后,该消息会以纯文本形式显示。

    E2EE技术保证在传输过程中没有人可以读取您的数据,但其他威胁仍然存在:

    设备可能被盗:如果没有PIN码或者攻击者绕过PIN码保护,他们便可查看您的消息。

    设备可能遭到攻击:计算机可能安装了恶意软件,它们会在您发送信息前后进行监视。

    另一大风险是,不法分子可能通过中间人攻击强行介入双方通信。这一般在通信开始时发生。如果正在执行密钥交换,您会很难确定密钥交换对象确为好友本人。您可能在不知情地情况下与攻击者建立了秘密联系。攻击者收到您的消息并掌握解密的密钥后,就可以通过相同方式欺骗您的好友,在拦截消息后根据需要偷窥或篡改相关内容。

    为了解决这个问题,许多App集成了相应的安全代码功能,其形式可能是一串数字或二维码,您可以通过安全渠道(建议离线)与联系人共享。如果数字匹配,即可确定第三方没有监听您的通信。

    端到端加密的优点

    在没有上述任何漏洞的设置中,E2EE无疑是提升机密性与安全性的有效途径。与洋葱路由类似,E2EE赢得了全球隐私权主义者的青睐。这项技术可以轻松嵌入现有的应用程序,为所有手机用户服务。

    E2EE不止是应对罪犯与举报者的机制。事实证明,貌似固若金汤的公司同样极易遭受网络攻击,导致未加密的用户信息泄露给不法分子。敏感通信、身份证明文件等用户数据曝光可能对个人生活造成重大打击。

    如果一家使用E2EE机制的公司遭到入侵,只要加密方案坚实可靠,黑客便无法窃取任何有意义的信息。在最糟糕的情况下,他们只能掌握元数据。从隐私角度分析,这种风险不容忽视,但加密消息的安全性着实得到提升。

    总结

    除了前文提到的应用程序,各种免费的E2EE工具陆续上市推广。苹果与谷歌分别为iOS与Android操作系统量身定制了iMessage与Duo,注重隐私和安全性的软件也不断问世。

    我们必须重申的是,端到端加密并不是阻止所有网络攻击的万能屏障。然而,通过一些简单设置与操作,这项技术即可显著降低信息泄露的风险,营造安全的网络通信环境。除了Tor、VPN和加密货币之外,E2EE通信程序也是保障数字隐私的利器。

  • 对称加密vs非对称加密

    密码学体系目前主要分为两大主要研究领域:对称密码学和非对称密码学。对称密码学通常是对称加密的同义词,非对称密码学包括两个主要用例:非对称加密和数字签名。

    因此,我们可以将这些概念分组如下:

    对称密钥密码学 

    对称加密

    非对称密码学 (或公钥加密)

    非对称加密(或公钥加密)

    数字签名(可能包括也可能不包括加密)

    本文将重点介绍对称和非对称加密算法。

    对称加密vs非对称加密

    加密算法通常分为两类,称为对称和非对称加密。这两种加密算法之间的根本区别在于对称加密算法使用单个密钥,而非对称加密使用两个不同但相关联的密钥。这种区别的描述,虽然非常简单,但却明确解释了两种加密技术之间的功能和使用方式上的差异。.

    理解加密密钥

    在密码学中,加密算法生成几比特的字符密钥用于加密和解密一段信息。这些密钥的使用方式也很好的说明了对称和非对称加密之间的区别。

    虽然对称加密算法使用同一个密钥来执行加密和解密,反之,非对称加密算法使用一个密钥来加密数据,再使用另一个密钥来解密它。在非对称加密系统中,用于加密的密钥称为公钥,可以与他人进行共享。另一方面,用于解密的密钥是私钥,应该记性保密。

    例如,如果Alice向Bob发送使用对称算法加密过的消息,则她需要与Bob共享她用于加密的加密密钥,以便他可以解密该消息。这意味着如果恶意行为者拦截了密钥,他们就能够轻松访问加密过的信息。

    但是,如果Alice使用非对称加密算法,她会使用Bob的公钥对消息进行加密,Bob可以使用其私钥对消息进行解密。因此,非对称加密提供了更高级别的安全性,因为即使有人拦截了他们的消息并获得了Bob的公钥,他们也无法解密该消息。

    密钥长度

    对称和非对称加密之间的另一个功能差异与密钥的长度有关,密钥的长度以比特为单位,并且与每个加密算法提供的安全级别直接相关。

    在对称加密中,密钥是随机选择的,其长度通常设置为128或256位,具体长度取决于所需的安全级别。然而,在非对称加密中,公钥和私钥之间在数学上相关联,这意味着两者之间存在算术联系。攻击者可能利用该模式破解密文,因此非对称密钥需要更长的密钥长度,才能提供相同级别的安全性。密钥长度的差异是如此明显,以至于128位的对称密钥和2,048位非对称密钥才能提供大致相同的安全级别。

    优缺点比较

    这两种不同类型的加密算法之间,优缺点各异。对称加密算法运算速度快,并且需要较少的计算资源,但它的主要缺点是密钥的分发。因为在加密和解密信息时,使用相同的密钥,所以必须将该密钥分发给需要访问数据的人,这也随之带来了安全风险(如前所述)。

    相反,非对称加密使用公钥进行加密,私钥进行解密,来解决密钥分发的问题。然而,需要权衡的是,与对称加密相比,非对称加密系统运行得非常缓慢,并且由于它们的密钥长度非常长,因此需要更多的计算资源。

    应用案例

    对称加密

    鉴于其具有更快的运算速度,对称加密在现代计算机系统中被广泛用于保护信息。例如,美国政府使用高级加密标准(AES)来加密和分类和感信息。AES取代了之前的数据加密标准(DES),后者是在20世纪70年代开发的,一直作为对称加密的标准。

    非对称加密

    非对称加密通常用于大量用户需要同时加密和解密消息或数据的系统中,尤其是在运算速度和计算资源充足的情况下。该系统的一个常用案例就是加密电子邮件,其中公钥可以用于加密消息,私钥可以用于解密。

    混合加密体系

    在许多应用中,对称和非对称加密会一起使用。这种混合系统的典型案例是安全套接字层(SSL)和传输层安全(TLS)加密协议,该协议被用于在因特网内提供安全通信。SSL协议现在被认为是不安全的,应该停止使用。相比之下,TLS协议目前被认为是安全的,并且已被主流的Web浏览器所广泛使用。

    加密货币使用密码学吗?

    许多加密货币中使用的加密技术向终端用户提供了更高级别安全性。例如,当用户为其加密钱包设置密码时,这时就会用到加密算法,通过密码学使用于访问软件的文件被加密。

    然而,由于比特币和其他加密货币使用了公钥和私钥,因此存在一种常见的误解,即区块链系统使用非对称密码学算法。如前所述,非对称加密和数字签名是非对称密码学(公钥加密)的两个主要用例。

    因此,并非所有数字签名系统都使用加密技术,即使它们用到了公钥和私钥。实际上,可以仅对消息进行数字签名而不进行加密。 RSA是用于对加密消息进行签名的示例算法,但比特币使用的数字签名算法(名为ECDSA)根本没有用到加密功能。

    总结思想

    在现如今的数字化时代中,对称和非对称加密在保护敏感信息和网络通信中扮演着重要角色。虽然两者都十分有用,但它们也各具优缺点,因此适用于不同的应用场景。随着密码学的不断发展,利用密码学能够更好的抵御各类全新和复杂的威胁,对称和非对称加密也与计算机安全紧密相关

  • 什么是PGP?

    PGP代表了Pretty Good Privacy。是一种加密软件,旨在为在线通信系统提供隐私性、安全性和身份验证保护。 Phil Zimmerman是首个PGP程序背后的开发者,如他所述,现如今对隐私的需求不断增长,该软件已供人们免费使用。

    自1991年被创建以来,市面上已经出现了许多版本的PGP软件。1997年,Phil Zimmerman向互联网工程任务组(IETF)提出了一项关于创建开源PGP标准的建议。该建议马上被接受,随后开创了OpenPGP协议,该协议定义了加密密钥和消息的标准格式。

    虽然PGP最初仅用于保护电子邮件和相关附件,现在已应用于各大领域,包括数字签名,磁盘加密完整性校验和网络防护。

    PGP软件版权最初由PGP公司所拥有,该公司后来被Network Associates收购。2010年,赛门铁克公司又以3亿美元收购了PGP,该商标一直被用于其OpenPGP兼容产品。

    工作原理

    PGP是首个实现公钥密码学的大范围应用软件之一。它使用了混合密码系统架构,使用对称加密和非对称加密来实现高级别的安全性。

    在对内容进行加密的基本过程中,明文(可以被清楚理解的数据)被转换成密文(不可读的数据)。但在进行加密之前,大多数PGP系统都会执行数据压缩。PGP软件在传输纯文本文件之前对其进行压缩,可以节省磁盘空间和传输时间,同时还能够提高安全性。

    在文件被压缩之后,接下来开始进行实际的加密。在此阶段,被压缩的明文文件使用一次性密钥进行加密,称之为会话密钥。该密钥是使用对称加密随机生成的,并且每次PGP通信会话都具有唯一的会话密钥。

    接下来,使用非对称加密对会话密钥(1)本身进行加密:接收者(Bob)将其公钥(2)提供给消息的发送者(Alice),以便她可以加密会话密钥。无论二者所处的安全条件如何,该步骤都能够让Alice通过互联网安全地与Bob共享会话密钥。

    会话密钥的非对称加密通常使用RSA算法来完成。许多其他的加密系统都使用RSA进行加密,包括被用于保护大多数互联网应用的传输层安全(TLS)协议。

    Bob在接收到消息的密文和加密的会话密钥后,他就可以使用他的私钥(3)来解密会话密钥,然后再使用解密后的会话密钥解密密文,从而获得明文。

    除了能够进行加密和解密的基本功能外,PGP还支持数字签名,它至少具有以下三个功能: 

    • 身份验证:Bob可以验证邮件的发件人是否的确为Alice。
    • 完整性:Bob可以确定消息未被更改。
    • 不可否认性:在对邮件进行数字签名后,Alice不能够否认她没有发送邮件。

    使用案例

    PGP最常见的用途之一就是保护电子邮件。受PGP保护的电子邮件将成为一串不可读的字符(密文),并且只能使用相应的解密密钥对其解密。工作机制上,与对文本消息进行加密是相同的,并且还有一些软件应用支持在其他应用程序之上实现PGP功能,从而有效地在不可靠的安全通信中添加加密功能。

    虽然PGP主要被用于保护互联网通信,但它也可以应用于加密各类设备。在本文中,PGP可用于对计算机或移动设备的磁盘分区进行加密。通过加密硬盘,每次系统启动时都要求用户提供密码。

    优缺点

    由于结合使用对称和非对称加密,PGP支持用户通过互联网安全地共享信息和加密密钥。作为混合系统,PGP受益于非对称加密的安全性和对称加密的时效性。除了安全性和时效性之外,PGP还能够提供数字签名功能,以确保数据的完整性和发件人的真实性。

    OpenPGP协议能够用于标准化的环境中,PGP解决方案现在可由多家公司和组织提供技术支持。但是,所有符合OpenPGP标准的PGP程序都是相互兼容的。这意味着在一个程序中生成的文件和密钥可以在另一个程序中使用。

    缺点方面,对于PGP系统的使用和理解并非易事,尤其是对于技术知识了解很少的用户。而且,公共密钥的长度也被认为是非常不便于用户使用的。

    2018年,电子前沿基金会(EFF)发布了名为EFAIL的关键性漏洞。 EFAIL使攻击者可以利用加密电子邮件中的HTML连接来访问纯文本格式的邮件。

    然而,自20世纪90年代末以来,PFA社区已经意识到EFAIL所描述的一系列问题,事实上,这些漏洞的产生与电子邮件客户端的实现方式有关,而与PGP本身无关。因此,尽管产生了令人震惊和误导性的爆炸性新闻,但PGP加密功能并没有被破解,它仍然保持着高度的安全性。

    总结思想

    自1991年被开发以来,PGP一直被用作数据保护的重要工具,现在也广泛应用于各个领域,为多数通信系统和数字服务提供商提供隐私,安全和认证保护。

    虽然2018年EFAIL漏洞的发现引发了对协议安全性的重大担忧,但其核心技术仍然是健壮且加密的。值得注意的是,不同的PGP实现方式也能够提供不同级别的安全性。