Google的人工智能自己學會了加密和防竊聽

36氪 於 30/10/2016 發表 收藏文章
最近幾年人工智能彷彿打通了任督二脈的武林奇才,正在瘋狂地擴張自己的招法技能樹。聽音辯形下棋玩遊戲什麼的已經out了,現在Google又做出了2個能夠自行演進出加密算法的人工智能,從而避免其溝通信息被第3個在自我演進破解算法的AI偵聽——這是全世界從零開始學會安全通信的頭兩個AI。



這項研究成果叫做《用對抗神經密碼術學習安全通信》,是由Google的Google Brain團隊做出來的。Google Brain是Google最初進行人工智能研究的團隊,不同於收購過來,做出AlphaGo的那個DeepMind。這項研究的過程大概是這樣的, Google Brain首先準備了三個普通的(不懂加解密)神經網絡,分別叫做Alice、Bob和Eve。每一個神經網絡都被賦予了一個特定的目標:其中Alice的任務是給Bob發送一條安全的信息,Bob則必須嘗試對這條信息進行解密。而Eve就像是軍隊對抗中的藍軍角色,它的目標是偵聽這條信息然後嘗試破解。相對於Eve,Alice和Bob有一個優勢:它們有一個共享密鑰(也就是所謂的對稱加密)。

整套系統的架構示意圖。其中P為明文,K為共享密鑰,C為密文,Peve和Pbob為計算(解密)後的明文輸出。

如果這些AI用的是現成的加解密算法的話,這項研究就沒什麼意義了。但實際上這裏的前提是所有AI事先既都不知道如何進行加密,也不知道使用什麼樣的加密技術,它們的起點只是一個損失函數(一種衡量損失和錯誤程度的函數),通過該損失函數來判斷自己做得如何,然後不斷演進出正確的辦法。對於Eve來説,它的損失函數很簡單,那就是:距離,或者説相似度,這是通過將Alice的原始明文與Eve猜測的明文逐位進行比較計算出差別來衡量的。距離越小説明相似度越高,距離為0則説明猜中。而Alice和Bob的損失函數則要複雜一點:如果Bob的猜測距離原始輸入明文太遠(同樣是通過位差異衡量)則為損失;而對Alice來説,如果Eve的猜測比隨便亂猜的結果好,那就是損失。這樣一個生成式對抗網絡(GAN)就建立起來了。



雖然Alice、Bob和Eve採用的都是一樣的“混合與轉換”神經網絡結構,但是它們的初始化都是獨立進行的,除了Alice和Bob採用相同密鑰以外,相互之間並沒有聯繫。對於Alice來説,密鑰和明文是其第一層神經網絡的輸入,對於Bob來説密鑰和密文是輸入,而Eve只拿到了密文。由於第一層神經網絡是全連接的,所以文本和密鑰可以混合。第1層之後是若干的卷積層,這些層會學習利用函數來處理上一層交給自己的那些字位。至於這個函數是什麼它們是不知道的,它們只是一邊學習一邊根據損失函數給出的結果進行調整。對於Alice來説,最後一層輸出的就是密文,而Bob和Eve則輸出明文——最後是無“損失”的明文。


Bob(紅色)和Eve(綠色)在訓練過程中的重構誤差。可以看到一段時間之後(5000到10000步之間)Eve的誤差開始減少,但是隨後Alice和Bob改變了加密方法,Eve的誤差又重新開始攀升。

最後的結果好壞參半。一些情況下的運行屬於徹底失敗,Bob從未重構出Alice的消息。不過大部分時間內,Alice和Bob的確設法演進出了一套錯誤很少,能。夠相互溝通的系統。而在部分測試中,Eve也顯示出了一些比隨機猜測更好的改進,但是Alice和Bob隨後改進了自己的加密技術,令Eve無機可乘(參見上圖)。

至於Alice和Bob設計的是什麼加密算法,研究人員並沒有進行詳細分析,但是他們在一次訓練中觀察到這種加密法與明文和密鑰都有關係。但是這種關係並不是簡單的XOR(異或)。研究人員稱,其輸出值往往是浮點數而不是0或1.

研究人員最後得出結論,神經網絡的確可以自我學習通信保護,而且只用告訴Alice重視保密高於一切即可,更重要的是,這種保密可以在不需要告訴具體採用什麼樣的加密算法的情況下實現。

當然,加密法並不僅僅只有對稱加密一種,研究人員未來還將研究速記式加密(將數據隱藏在其他媒體如圖像當中的加密法)以及非對稱加密。至於Eve,研究人員認為,神經網絡成為密碼分析專家的可能性不大,但是用來進行元數據和流量分析卻是一把好手。

感興趣的可以看看Google Brain團隊的這篇論文


資料來源:36Kr

留言


請按此登錄後留言。未成為會員? 立即註冊
    快捷鍵:←
    快捷鍵:→