PGP

共6篇文章。

记一下PGP密钥的转移过程

• Security

今天上午,我和现任 FreeBSD 安全长官 Simon 完成了一次 PGP 密钥的转移,这里记一下过程。

由于这个密钥用于签署安全公告和声明等等,因此非常重要。发送方对于密钥做了三重加密:第一重是 GnuPG 本身的密钥密码;第二重是 AES;第三重是我本人的 PGP 公钥。加密后的结果放到了一台可信的中转服务器上,然后以安全方式取走;用我的 PGP 密钥解密之后,通过两个不同的渠道分别发送 AES 密钥;最后一步的密码采用加密方式发给我,我在解密成功之后,修改密码,并销毁全部中间文件。

阅读全文… ( 本文约235字,阅读大致需要1分钟 )

在服务器上用gpg-agent

• Security

上回书说到通道服务器的问题。在 /etc/csh.cshrc 中添加下列内容,可令系统同时启动 gpg-agent 和 ssh-agent:

1
2
3
4
5
6
7
setenv SSH_AUTH_SOCK    /dev/null/nonexistent
if ("${TERM}" != "su") then
        [ -e ~/.gpg-agent.csh ] && source ~/.gpg-agent.csh >& /dev/null
        echo UPDATESTARTUPTTY | /usr/local/bin/gpg-connect-agent >& /dev/null || /usr/local/bin/gpg-agent --daemon --ignore-cache-for-signing >& ~/.gpg-agent.csh && source ~/.gpg-agent.csh >& /dev/null
        [ -e ~/.ssh-agent.csh ] && source ~/.ssh-agent.csh >& /dev/null
        [ -e ${SSH_AUTH_SOCK} ] || ssh-agent -c -t 20m >& ~/.ssh-agent.csh && source ~/.ssh-agent.csh >& /dev/null
endif

启动 gpg-agent 的作用是在一段时间内不用重新输入 gpg 的密码。

阅读全文… ( 本文约412字,阅读大致需要1分钟 )

端到端(End to End)加密与安全

• Security

说明:这篇文章希望能够以比较通俗的方式介绍一下相关的概念。

端到端加密,通常是指两个通信实体之间在会话通道基础上进行的、由两个实体之间协商的密文会话。端到端加密的好处是能够减少会话通道本身的泄密或其他问题导致两个通信实体之间的通讯遭到第三方破译,并避免通讯的对方对通讯内容抵赖(即,不承认通讯内容来自自己)。相对而言,端到端加密的实施成本要比单独架设一条物理的通讯线路要便宜许多,因此有时它也用于架设这类通讯线路。端到端加密本身不能阻止由于使用的会话通道本身的丢包导致的干扰。然而,由于端到端加密可以工作在较高的抽象层次上,它可以使用多个实际的会话通道而提高抗干扰能力。

通常我们会希望在一个安全系统中设置多个层次的安全设施,或者说类似"洋葱"的模型,例如,在系统中,将所有与安全有关的信息记录日志并放到不可擦除的介质上、对连接进行加密,和对发送的消息进行加密,这几种方法分别考虑的是不同级别的信息安全,而这些方法可以在同一个安全系统中作为其不同的保护层次来使用。在这一类模型中,我们不仅视阻止入侵为目标,同时也将检测入侵做为目标,或者换言之,每攻破系统中的一个层次,入侵者都需要付出额外的努力,并冒更大的被发现的风险才能达到这样的目标。

以邮件系统为例,传统的电子邮件系统是完全不使用任何加密或签名的手段的。拥有接入层控制权的网络管理员,可以轻易地通过在网络上监听数据包来获知用户与自己所使用的邮件服务器之间交换的邮件内容。随后,当邮件到达了邮件服务器时,邮件服务器管理员也可以很容易地知道邮件内容;在邮件服务器将邮件传送到互联网上的另一台邮件服务器时,问题就更多了,每一跳路由,以及它们所经过的所有网络都可以被监听,并将邮件内容泄漏出去;最后,在另一台服务器和收件人之间,也有和发件人这一边一样的风险。

在Internet上传输电子邮件的过程,由于其经过的环节众多,并且几乎完全不受收发邮件的双方控制,因此很容易导致一些敏感信息的泄露。针对这种问题,人们设计出了一种叫做Transport Layer Security(TLS,用于替代SSL)的密码学协议来实现服务器之间,以及客户端到服务器的端到端安全。简而言之,这套协议首先使用公钥加密算法在通讯双方之间协商一个会话密钥,并用这个密钥完成之后的通讯加密/解密。公钥加密算法是一种加密和解密时使用不同密钥的加密算法,以对方公开密钥加密的数据,只能以(不公开的)解密密钥解密,而从公开密钥或已知明文、密文推算出解密密钥的代价非常大,因此它能够确保数据只能被"正确的"那个接收方解密。

阅读全文… ( 本文约2155字,阅读大致需要5分钟 )

enigmail-thunderbird与gcc 4.2

• Development

前一阵子一直无法在 FreeBSD/amd64 上面利用 engimail-thunderbird 来进行 PGP 签名。简单说来,一开始是注册控件的时候 signal 11,留下怪怪的backtrace,到后来索性没反应了。

发信到 engimail 的邮件列表,结果他们也觉得很奇怪。

阅读全文… ( 本文约123字,阅读大致需要1分钟 )

不安全的原因

• Security

我们来看看那个人说的这段话:

I’d be really surprised if somebody is actually able to get a real-world attack on a real-world pgp key usage or similar out of it (and as to the covert channel, nobody cares). It’s a fairly interesting approach, but it’s certainly neither new nor HT-specific, or necessarily seem all that worrying in real life.(HT and modern CPU speeds just means that the covert channel is faster than it has been before, since you can test the L1 at core speeds. I doubt it helps the key attack much, though, since faster in that case cuts both ways: the speed of testing the cache eviction may have gone up, but so has the speed of the operation you’re trying to follow, and you’d likely have a really hard time trying to catch things in real life).

It does show that if you want to hide key operations, you want to be careful. I don’t think HT is at fault per se.

阅读全文… ( 本文约821字,阅读大致需要2分钟 )

FreeBSD 5.3-RELEASE named, final release coming!

• Development

Today Scott Long has named FreeBSD 5.3-RELEASE, this is a significant step toward final 5.3-RELEASE.

Please note that before the team has a PGP signed 5.3-RELEASE announcement, don’t download the ISOs even they have appeared on any site. We may still do changes after the naming.

参与评论