Cloudflare 的熵系统是个非常有趣的东西,目前该公司在多个办公室都制作了熵系统用来选取数据作为伪随机数生成的种子,生成的伪随机数则用于 TLS 安全协议中。在最新发布的博客中 Cloudflare 介绍该公司在葡萄牙首都里斯本办公室中最新搭建的熵系统,这个熵系统想法来源于西班牙纳扎雷小镇的巨浪。
新的熵系统由多个不停摆动的波浪机组成,波浪机容器中装有溶液,随着波浪机的摆动溶液也会跟着运动,溶液又有不同的颜色,因此在 50 台波浪机摆动的情况下其样式会始终发生随机性变化。
Cloudflare 有个摄像头专门对着这 50 台波浪机组成的熵墙,定时拍摄照片上传到系统中并校验其哈希值,将这个哈希值作为种子给伪随机数生成器使用。
理论上说这些波浪机制造的图像是不可能完全相同的,因此生成的哈希值也不可能完全相同,作为种子给生成器使用可以大幅度提高安全性。
生成的随机数主要用于 TLS 安全协议,Cloudflare 服务器平均每秒处理 7100 万个 HTTP 请求,峰值时每秒处理的请求数高达 1 亿,大多数请求都是通过 TLS 协议进行加密的。
TLS 协议依靠安全的随机数确保加密完整性,加密安全伪随机数生成器 (CSPRNG) 确保不可预测性,但该系统的前提是必须使用高质量的熵作为种子。
现实世界中的混动运动总是随机的,这也是 Cloudflare 想出搭建这类熵系统的原因,通过现实世界中的混乱运动构建种子,从而确保 CSPRNG 系统的安全性。
Cloudflare 这个新系统介绍:
50 台造波机、50 个运动论和电机、50 个装有休斯造波流体溶液的丙烯酸容器 (里面混合两种不同的液体)
3 种颜色的液体:蓝色、绿色和橙色
从构思到完成花费了 15 个月
左右平衡运动每分钟翻转 14 次,每天超过 2 万次
每分钟超过 15 个波浪
每台机器装有 0.5 升溶液