2014-05-12
解开人人网登录密码的 RSA 加密

世界上有两种密码:一种是防止你的小妹妹偷看你的文件;另一种是防止当局阅读你的文件。

—— Bruce Schneier《应用密码学》
传说中的 “明文密码” 有两种形式:明文传输和明文存储。明文传输的密码不一定明文存储,明文存储的密码也不一定明文传输。去年沸沸扬扬的明文密码事件,就是密码明文存储,网站的数据库一旦被窃取,用户的密码也就随之失窃了。密码明文传输也是非常危险的,网络中的很多位置都可能安装有嗅探装置,明文传输的密码对这些嗅探者来说也就无密可言了。本文关注的是密码传输中的安全问题。

什么是 “明文”?如果密码以 ASCII 字符的形式直接发出去,对任何人来说这都是明文;如果密码用 base64 编码一下(例如 123456 经过 base64 编码就是 MTIzNDU2),对多数人来说这也许是密文,而对任何专业程序员来说就是明文。有些人认为,把“加密”算法弄得复杂些,再用代码混淆工具弄乱,就没人能分析出来了。这样的做法叫做隐藏,而不是安全,属于防止小妹妹偷看文件的级别。真正的安全依赖于公开的、被广泛使用的密码学算法,靠密钥而不是算法本身来保证安全。

可惜,密码学算法和协议并不是随便拼凑起来就安全的。

Read More

2014-04-09
Heartbleed 实战:一个影响无数网站的缓冲区溢出漏洞

昨天 OpenSSL 爆出了名为 Heartbleed 的重大安全漏洞(CVE-2014-0160),通过 TLS 的 heartbeat 扩展,可以读取运行 HTTPS 服务的服务器上长达 64 KB 的内存,获取内存中可能存在的敏感信息。由于这个漏洞已经存在两年,Debian stable (wheezy) 和 Ubuntu 12.04 LTS、13.04、13.10 等流行的发行版都受影响,无数部署 TLS(HTTPS)的网站都暴露在此漏洞之下。

什么是 SSL heartbeat

https

Read More

2014-03-31
Andromeda: Google 的网络虚拟化技术

我是怀着复杂的心情写这篇文章的,因为我们赶到大年三十的 SIGCOMM paper 因为与这个3月5日发表的演讲在架构上过于类似(事实上我们的 paper 里包含很多此演讲中没有提到的技术细节),被评审者认为 “nothing new”,只好撤回。要是 Google 晚两个月再发表他们的网络虚拟化技术多好啊!

这场演讲由 Google 网络技术总监 Amin Vahdat 发表于 Open Networking Summit 2014(视频链接),从概念上介绍了代号为 Andromeda 的 Google 网络虚拟化解决方案。

Read More

2014-03-31
CSDN 2014 开源技术大会实录

昨天受科大 LUG 之邀参加了 CSDN 主办的 2014 开源技术大会(OSTC),结合会上记的笔记和不靠谱的记忆,与诸位分享,如有错漏之处请回复指出。本文部分图片来自 CSDN 官方的图文直播,演讲者的 slides 我显然没有,据说 CSDN 官方随后几天会发布。

IMG_20140330_081339

早上见到了又高又帅的 Thomas Yao 和 Deepin 的王勇(没拍下来)。

Read More

2014-03-21
IEEE 802 全会打酱油记

3月18日是在北京召开的 IEEE 802 全会的学生开放日,受 MSRA 所邀我去打了一圈酱油。参与标准制定的都是专业人士,我基本上是刘姥姥进大观园,止增笑耳。由于会场禁止拍照录音,而且会议所讨论的技术文档是不公开的,只能无图无真相了。

首先科普一下 IEEE 802 是干什么的。IEEE 802 是 IEEE(国际电气电子工程师学会)下属的委员会,负责局域网和城域网标准的制定,计算机网络的物理层和链路层协议基本都是这个组织制定的。IEEE 802 每年都要召开三次全会,大多数都在北美举行。从第三次参加全会开始才有投票权。

IEEE 802 下设若干工作组,例如 802.3 负责以太网(Ethernet),也就是我们用的有线网络;802.11 负责无线局域网络(WLAN),也就是俗称的 wifi。每个工作组要做的事情仍然很多,例如以太网有百兆、千兆、万兆、40G、100G 以及正在研究的 400G,不仅速度不同,所用的传输介质也不同;无线局域网有 802.11a/b/g/n/ac/ad 等标准,不仅速度不同,所用的频段也不同。因此每个工作组下又设任务组(Task Force)和研究组(Study Group)。

Read More

2014-03-05
Meteor + Mylar, 服务器叛变也不怕

我们所用的网站,数据大多以明文形式存储在服务器上,服务器端程序鉴别用户的身份、授予用户访问权限。不过业务逻辑复杂了,百密一疏,程序总是有这样那样的漏洞,连支付宝这么敏感的应用都不例外。此外,现在越来越多的网站搭建在公共云平台上,一个很大的顾虑是:云平台的所有者会不会窃取我的机密数据?

因此,数据在服务器上最好是加密存储,解密密钥在用户手里,也就是只有用户自己能看到明文,而网站所有者、云服务提供商、可能的服务器入侵者都只能看到密文。即将发表在网络领域顶级会议 NSDI 2014 的 Building web applications on top of encrypted data using Mylar 就是这样一种解决方案。

Read More

2014-03-03
Google 的互联网野心

前几天做了个内部技术分享,各位同学的看法莫衷一是,因此拿出来跟大家聊聊。本文将讨论 Google 的网络基础设施计划——Google Fiber 和 Google Loon,以及 Google 在网络协议方面的探索——QUIC,其野心在于把互联网变成自家的数据中心。

有线网络基础设施——Google Fiber

Google Fiber 的目标是让千兆互联网走进千家万户。以千兆的速度,下载一部 7G 的电影只需一分钟(如果你还在用机械硬盘的话估计还来不及存呢)。目前这个项目仅在美国 Kansas 和 Provo 两个城市试点。这两个城市的 Google Fiber 都提供了三种套餐,以 Kansas 为例:[1]

  1. 千兆网络 + Google TV:120 美元/月
  2. 千兆网络:70 美元/月
  3. 免月租网络:5Mbps 下载,1Mbps 上传,免月租,但要交 300 美元初装费。
    其中第三种方案还不如美国大部分电信运营商提供的服务快,而大多数家庭已经购买了有线电视运营商的电视服务,因此对经济上能承受得起的家庭来说,三种套餐的对比突出了第二种套餐(70 美元/月的千兆网络)的“实惠”。

这里有两个值得争论的地方:

  1. 每人都有千兆这么快的网络,技术上可以实现吗?
  2. 70 美元/月的收费能收回 Google 搭建千兆网络的成本吗?
Read More

2014-02-26
美丽邂逅抢票系统的背后

今天抢了个极路由,用了一个小时才抢到,之前一直都在“人山人海”地排队。不禁想起去年给美丽邂逅做的抢票系统,有人问,我写了个脚本怎么抢不到票呢?谜底将在本文中揭开。

抢票系统要满足的条件是:

  1. 一人一票,一个人不能拿到两张票;
  2. 每天欲发行的票必须一张不多一张不少(假定来抢票的人足够多)地发出去;
  3. 用程序抢票成功的概率不能明显高于人工抢票成功的概率。
Read More

2014-02-24
一个抗污染 DNS 的搭建

【注:这篇文章已经过时了,因为很多权威 DNS 服务器具有国内和国外多个 IP 地址,它们根据用户的公网 IP 分区域解析,因此简单通过权威 DNS 服务器的 IP 地址来区分国内和国外网站已经不再实用了。建议阅读《搭建本地防污染 DNS 实现国内外网站智能分流》一文的新方案。】

DNS 服务是互联网的重要基础服务,不过它的重要性往往被低估。例如,2013年8月,.cn 根域名服务器遭到 DDoS 攻击,导致 .cn 域名无法访问;2014年1月21日,根域名服务器遭到某著名防火墙污染,导致所有国际域名无法访问。很多国际知名网站在中国大陆无法访问,部分原因就是遭受了 DNS 污染,也就是对域名返回了错误的 IP 地址。

要搭建一个抗污染的 DNS,并不是使用 VPN 解析所有域名这么简单。主要有两个问题:

Read More

2014-02-23
端口映射的两个坑

帮朋友做个端口映射,由于几个月没碰 iptables 了,遇到两个坑,与大家分享。

Read More
RSS