徐芝達:探討中國大陸「端對端」加密通訊的突破方式
【大紀元2020年10月28日訊】1. 引言
通信安全從古至今都是人類生存的最基本要求之一。通訊安全與否,大到可以決定一場戰爭、一個國家的命運,小到影響個人生意的興衰,人生道路的選擇等。因此保障通信安全始終是人類的基本追求之一。對普通民眾來說,在互聯網時代之前,通訊安全主要由國家頒布法令保障:如一封小小私人信件雖然本身脆弱,但由於法令的存在而變得分量十足,鮮有人敢拆封。進入21世紀,計算機和互聯網的發展大大的降低了信息複製,傳輸,存儲的成本,也使得基於網絡的信息傳遞方法逐漸替代了原有的通訊方式,在各個領域中成為主流的通訊方式。這些領域包括政府機構運作,商業活動維繫,普通民眾基本生存和情感需求等。
在新通訊方式中,信息易於複製和傳輸的特性也導致了通信內容易於被竊取的特點。因此,在發展互聯網通訊方式的同時,保障互聯網安全通信的方法——保密通訊——也在同時發展。比如,目前常用的保密通訊方法為RSA算法和AES算法結合的方式。
得益於保密通訊技術的應用,當前重要的通訊領域,如金融系統,商業公司,政府機關,軍事單位等,都可以低成本的保障通訊安全。然而當代社會完整的保密通訊體系除了覆蓋上述軍政機關或商業團體的通訊需求外,還應該覆蓋到公民個體與個體間的通訊需求。這種滿足普通民眾間的保密通訊方式被稱為端對端(end-to-end)加密通訊:即只有進行通信的兩個終端用戶知道未加密的明文信息,而信息傳遞的中間途徑(包括網絡中繼站,通訊服務器等)只能接觸加密後的密文,對實際傳遞信息一無所知。這保證了第三方無法通過技術手段竊取通訊內容。
普通民眾間的通訊方式,通常需要藉助第三方商業服務器,由商業公司為用戶提供客戶端軟件和服務器。對一般的通訊軟件來說,其僅僅對客戶端與服務器之間的通訊進行加密,即雖然其他人無法獲取用戶間的通訊內容,但商業公司可以一覽無餘的獲得用戶間的通訊內容。至於商業公司是否會審查,複製,傳輸這些信息,其會在用戶協議中聲明,但實際操作過程用戶不得而知。與此相比,端對端加密的通訊方式中,用戶間傳遞的信息將會被全程加密,商業公司也無法獲取其通信內容,只有進行通訊的用戶才知曉。
端對端的加密方式填補了保密通信體系在普通民眾間私人通訊領域的空白,是構成社會通信安全的重要一環。然而這樣安全通訊方式在中國大陸是被明令禁止的。其法律規定任何提供互聯網通訊服務的公司,都必須向政府部門提供審查服務,任何藉由互聯網公司的進行通訊的內容及用戶信息,全部接受政府部門的審查。
這相當於以政府的信譽來保證通訊安全,然而這在當今的中國大陸卻行不通。共產黨的國家向來以嚴格的輿論控制,嚴酷的打擊異己手段和一言堂的作風著稱。在這種情況下,大量真實的信息被掩蓋,表面上的社會和諧下卻隱藏著大量的人道災難和系統性的社會不安定因素。
比如,在地方政府征地拆遷問題中沒有得到應有補償的家庭不得不忍氣吞聲自己承擔損失或者淪為訪民成為當局打壓的對象;司法嚴重不公導致無辜的人被非法監禁;學校女學生受到教職工性騷擾後非但不處理涉事老師反而對受侵害學生加以限制,等等等等。這裡雖然沒有引用具體例子,但是不僅這些事件真實存在,而且社會各個領域都存在大量類似事件。許多不同層次,不同地區的嚴重問題不僅沒有得到解決,反而去解決提問題的人,這些直接導致了眾多家庭的災難以及進一步的巨大潛在社會不安定因素。
更為人們所關注的一個例子,是新冠肺炎初期的封鎖消息。比如,武漢封城初期,有大量真實情況,理性分析的文章,因為不符合官方宣傳方向而被封殺。其中也包括有影響力的報社的第一手報道。然而該報道在發出幾小時後就被刪除,而且,中國主流的通訊軟件上不能發送關於此文章的消息:如果發出的消息中含有這篇報道的標題或正文,那麼這條消息將不會被對方接收到——在服務器端就被攔截下來。而事實證明該報道的(關於疫情前線的)內容和數字是非常真實的。
上面的例子表明,當前中國大陸的網絡通訊安全存在重大漏洞,普通民眾間的網絡通訊,作為網絡通訊中的重要一環,實際上缺乏一條安全通訊途徑。當今確實有不少優秀的端對端加密通訊軟件可以填補這一空白,但它們在大陸沒有一個合法的生存地位,也難以提供穩定的通訊服務。
這裡我們將討論實現一種合法的普通民眾安全通訊方式。該方式將試圖在不違反當今中國大陸法律的情況下,提供一種端對端加密的普通民眾通訊方式。
2. 方法
2.1 理論支持
為了實現既能滿足安全通訊需求,又能符合大陸法律的限制的要求,下面將探討實現方案。
首先,一個公司是需要遵守所在國家的法律的。
因為公司本身是法律生效後才產生的產物,一個被創造的事物本身是無法反對其創造者的。假如被創造的公司成功反駁了其創造者——法律,並使之失效,那麼在法律規定下才產生的公司也會隨之消失。
(因此如果需要反對某條法律,通常只能由公民的身分來反對。因為人是法律的創造者,基本人權是凌駕於法律之上的,公司不是。說句題外話:這也是為什麼美國總統就職時要按著聖經宣誓:對信仰和人性的尊重最為優先,如果沒有人類的基本權利,也就沒有國家,也就沒有法律。而對於當前中國來說,其手按著憲法宣誓是可笑的:對法律宣誓體現不出對基本人權的尊重,而且其理論體系認為法律是統治階級意志的體現,而統治者手按著其自己法律去宣誓,這誓言沒有任何莊重和分量可言。)
所以立足大陸的互聯網軟件在當今仍然需要符合大陸的法律才能生存。
其次,兩個普通民眾自己選擇一種通訊方式進行交流,是法律無權干涉的。
比如,兩位普通民眾,張三和李四進行通信,他們自己定義了一些特殊符號,並自己商議了這些符號與文字之間的對應關係,並且此後他們使用這些特殊符號來寫信,那麼張三和李四就實現了一種簡單的端對端加密通信(雖然這種加密很容易被破解)。更簡單的例子,一群人中,張三和李四使用它們獨有的家鄉話來交流,其他人聽不懂,也是一種簡單的端對端加密通訊。實際更可行的一種做法是,張三和李四先當面約定一個密碼,此後他們每次發消息通訊,都先使用這個密碼將消息加密,然後通過普通通訊軟件傳遞加密信息,另一人收到後再使用相同密碼解密,就可以實現端對端加密通訊。
在上面三個例子中,法律都沒有能力對這個過程進行干涉。
到這裡我們可以看到了事情的本質:
1. 普通民眾自發使用加密通信的方式完全合法。
2. 建立可靠的加密通訊方式成本很高,個人難以負擔。
通常來講,實現安全的保密通訊需要專業的通訊知識/人才,需要搭建服務器,需要編寫客戶端與服務器端軟件,這些成本是普通人難以承受的。
3. 商業公司可以提供可靠的加密通訊方式,但這是被當今法律禁止的。法律要求所有用戶信息和通訊內容都要受到審查。
基於上面三條推斷,可以得到當前的通訊現狀:普通民眾只能使用商業公司的軟件進行通訊,但該公司不得不保證通訊內容被實時審查,從而無法實現安全通訊。
2.2 合法的端對端加密方式
基於以上幾點,我們可以提出合法的保密通信方法:
我們假設有這樣一家互聯網公司,這家公司並不給用戶提供任何通訊服務,也不需要人們註冊成為公司的用戶,而是給人們提供低成本建立私用端對端加密通訊的解決方案。
因為其本身不提供通訊服務,因此法律要求的,給政府提供審查服務的要求將被忽略。同時用戶使用某種方式搭建私有加密通訊方法是法律所不能涉及的地方,因此可以合法的實現普通民眾間端對端加密通訊。
下面討論這家公司具體的實現方法。
該公司不提供通訊服務,僅提供客戶端軟件和服務器端軟件下載服務。
客戶端(或稱為「移動端」)軟件與當前普通即時通訊軟件基本功能類似。
服務器端軟件是特殊之處。我們設想該服務器端軟件既可以安裝在Linux系統上,也可以安裝在Windows系統上,並且對電腦硬件配置要求不高。該服務器端軟件被安裝在電腦上並聯網後,將給移動端軟件提供數據中繼和傳輸服務。
用戶張三和李四欲進行端對端加密通訊,他們需要每人安裝一個移動端軟件,並且由其中一人準備一台裝有服務器端軟件並24小時聯網的電腦。
張三和李四在移動端軟件上輸入自己準備的服務器端軟件的ip地址和密碼,與服務器軟件建立通訊。在軟件功能完備的情況下,張三和李四就可以使用移動端軟件進行端對端加密通訊了。
由於是端對端加密通訊,服務器端不接觸沒有加密的信息,因此即使裝有服務器端軟件的電腦被劫持,也不會泄露通訊內容。
具體怎樣使用RSA算法和AES算法實現端對端保密通信,怎樣編寫客戶端/服務器端軟件,對有能力的軟件工程師來講並不是難題,因此這裡就不再詳述。
3. 討論
3.1 技術拓展
第2節中我們給出了這種符合當前大陸法律的建立端對端加密通訊的方法:只需額外的一台電腦,兩個普通民眾就可以建立安全的保密通信。實際上,在電腦運算能力內,一台電腦可以為多用戶提供服務,構成一個局域通訊網絡。
作為拓展,我們進一步可以添加這樣的功能:多個不同電腦的服務端軟件是實時聯網的,我們可以讓它們也相互通訊。比如輸入相同的帳號密碼後,多個不同電腦的服務端軟件將進行數據傳遞。一旦多個服務器進行數據通訊,也就形成一種新的服務器模式:分布式服務器網絡。
分布式服務器不僅有支持用戶數量增多,服務穩定性高等優點,更是通訊效果上的飛躍。但這也對技術有更高的要求,這裡不再詳述。
3.2 「網絡安全」與「通訊安全」
當前中國大陸在政治上法律上十分強調「網絡安全」。然而大陸所講的「網絡安全」並非人類所追求的「通訊安全」,通訊安全要求除了通訊雙方外,通訊內容不會被第三方閱讀,複製,篡改,截斷等。
其「網絡安全」而更像是一種「信息霸權」:權力擁有者同時也對信息擁有完全的掌控,可以知曉通訊內容,會記載敏感通訊內容和用戶信息,有能力篡改和截斷通訊內容。再加上其已有的新聞宣傳體系,構成了完全非對稱的信息霸權體系。如同引言中所述,普通民眾的某些特定信息在傳輸方面沒有任何安全可言。
3.3 可能的負面影響及應對
端對端加密構成了人類安全通訊的重要一環,其必要性是不可否認的。然而一個系統長久的運行,其多方面的影響必然需要平衡好。作為更進一步的討論,這種通訊方式的弊端也是需要考慮的。
人們可以不受監管的傳遞信息的同時,也會導致不良信息的傳播不受監管。而人類社會中也的確存在著許多骯髒,敗壞和反人道的信息,諸如毒品,人口/器官販賣,買凶殺人,血腥視頻,兒童色情等等。有效的規避這些不良信息對社會的污染,是本方案提出者和軟件功能實現者的社會責任。
阻止這些信息傳遞的其中一個辦法是增加使用這種不受限傳輸信息的難度。使用難度的加大和使用成本的上升,會保證社會上很多人不會在沒有實際需求而僅因為好奇的情況下就使用這種通訊方式,從而減少不良信息對社會的污染。然而這與本文所述的「普通人可以低成本的建立保密通信」的目標相違背,因此暫不討論。
另一種辦法就是,軟件公司在客戶端內設定審查程序。因為信息一旦加密就無法辨別,所以只能在加密之前進行審查,即在客戶端軟件添加審查功能。通過軟件內預先設定的審查方式,來一定程度的阻斷不良信息的傳播。(這種審查不應聯網。)(作者天馬行空的設想:當欲加密的內容出現屏蔽詞彙時,軟件將不會進行加密,而是顯示一份精心準備的勸善信或者是傳統文化故事來啟迪使用者的善念。)
雖然這種辦法仍然保留了一定程度的信息審查,但這並不違背實現安全通訊的初衷:任何認為該軟件的審查行為不當的人,都可以按照本文思路去自己組建團隊開發一套新的客戶端/服務器端軟件組合,來滿足安全通訊需求。但這就要求該新團隊有其自己的社會責任感,因為這個新公司所造成的社會影響,無論是正面的還是負面的,都會被計在其公司負責人和開發者的帳上。
然而這種方式會引入新的漏洞:國家可以立法強制要求軟件公司按照政府所希望的方式進行審查。這實際是一種折中的方式:當權者放棄對信息進行快速實時監控和保持隨時阻斷信息傳播的能力,但仍保留了一個慢速的信息監管和阻斷能力。
如果要進一步填補這一漏洞,可以將客戶端軟件開源。有編程能力的網友可以自行刪除軟件源代碼內信息審查部分,保留其他功能,得到修改版的軟件。該修改版客戶端軟件可以正常使用,只是去掉了審查功能。
即使在有審核的情況下,仍有可能有不良信息繞過審查進行傳輸。但作者認為,總有少數人會嘗試各種方法來傳遞不良信息,我們要實現的是,在滿足普通民眾的安全通訊——端對端加密通訊的同時,努力去不讓不良信息更多的滋生,就可以了。
4. 總結
「端對端」加密通訊是構成現代社會保密通訊的重要一環。本文分析了當前中國大陸「端對端」加密通訊沒有合法地位的原因,並據此提出了一種符合當前中國大陸法律的實現「端對端」保密通訊的方案,同時也討論了進一步的技術拓展,以及該技術可能引起的負面效果和應對方案。
責任編輯:任慧夫