美國IT公司Cloudflare的舊金山總部,有一面由100盞熔巖燈(lava lamp)組成的墻。這面墻位于接待處附近,每一位踏入公司大門的人,都沒法不注意到它,因為這些誕生于上世紀60 年代的燈具,擁有著艷麗且奇幻的色彩,玻璃容器內形狀不定的液蠟還會不時地上下浮動,極易讓人聯想到流動的熔巖。
不過,這一切不只與辦公室裝飾相關。這些變幻莫測的熔巖燈,還是 Cloudflare 提供的網絡安全服務的一部分。
Cloudflare 的一項核心業務,是為用戶提供網絡安全管理。它可以幫助受保護的站點抵御包括拒絕服務攻擊在內的大多數網絡攻擊,確保所保護的網站良好運行。而創建隨機數又是維護網絡安全很重要的一環。
隨機數是生成安全秘鑰的基礎,能生成會話協議中的隨機標識、操作系統中的隨機進程的調用等。在現實中,真正的完全不可預測的隨機數,幾乎不存在。不過根據預測的難易程度,隨機數也有強弱之分。對于 Cloudflare 而言,它所創建的隨機數越強,用戶所享受的網絡安全度也越高。
Cloudflare 的 CEO Matthew Prince 表示,計算機并不擅長隨機數的生成,因為它從一開始就被設計得很可靠且可預測,它們總是做著同樣的、被告知去做的事情,而在這種運行模式下誕生的隨機數,很容易被黑客識破。因而,制造一個計算機系統之外的隨機數生成器,成了一件必要的事。
而這 100 盞熔巖燈,其實就是 Cloudflare 設計的一款隨機數生成器。
熔巖燈于 1963 年由英國工程師 Edwar Craven Walker 發明,它的特別之處在于燈具內部流動的液蠟。每一盞熔巖燈都由底座和密封的玻璃瓶組成,底座內設置了功率較大的射燈,而玻璃瓶中則裝滿了透明的液體以及半透明的蠟。
在室溫下,蠟因密度高于透明液體,會沉在玻璃瓶的底部;但是在通電后,隨著燈泡對密封玻璃瓶的加熱,液蠟的密度會逐漸小于透明的液體,因而液蠟會漸漸向上浮,快到達頂部時,又會因漸漸冷卻、密度增加而沉入瓶底。這樣周而復始的變化,促成了熔巖燈奇異的變換效果。當然,如果透明液體和液蠟都被完全加熱,這種變化也會消失。
最初的熔巖燈(來源:wikipedia)
當 100 盞色彩、液蠟體積不完全等同的熔巖燈被擺放在一起時,要預測整面墻體圖像的變化,成了一件非常困難的事情。
整面墻每毫秒的變化,都被 Cloudflare 用相機記錄了下來。除了熔巖燈本身的變化,被記錄在內的變量,還包括許多外界環境的變化,比如任何途經墻面的人在玻璃瓶表面制造的投影、一天中光照的時時變化等等。這一切微小的變化,都可以通過一張張照片創建出一系列隨機數,而 10% 經手 Cloudflare 的網絡請求,都將通過這些隨機數進行加密。
對于 Cloudflare 來說,這樣的設計是一舉多得的做法。Matthew Prince 表示,對于那些參觀 Cloudflare 辦公室的客戶來說,這面墻是向他們展示公司不透明服務的一種聰明手段。“當一切都正常工作時,沒有人會注意到我們。”Prince 說。而熔巖燈卻能讓人們感受到,他們在幕后所做的努力。