徐令予博客

考槃在澗,碩人之寬。獨寐寤言,永矢弗諼。考槃在阿,碩人之薖。獨寐寤歌,永矢弗過。考槃在陸,碩人之軸。獨寐寤宿,永矢弗告。
個人資料
正文

量子,多少騙局假汝名而行!

(2020-12-01 21:06:12) 下一個

量子,多少騙局假汝名而行!  

                                                              作者:徐令予

近日,量子安全通話手機再次受到媒體關注。其實炒作“量子+手機”概念也並非什麽新鮮事,早在2017年,科大國盾量子就曾經與中興通訊合作推出過全球首款商用“量子加密手機”。今年2020年5月14日,三星聯合SK電訊鄭重發布了全球第一款5G量子智能手機“Galaxy Quantum”。

我相信,為手機帶上“量子”光環的營銷案例這既不是第一次,也絕不會是最後一次。不過這類炒作多了,就很難再有什麽轟動效應,反倒會引起消費者的懷疑,網上出現“量子加密手機是李逵還是李鬼”這種爭議也就不足為奇了。

量子加密手機究竟是李逵還是李鬼?可用以下四個事實作為判斷的依據。

1)從GSM(2G)時代開始,手機之間的語音和數據傳輸一直都有加密保護的,利用量子通信(QKD)為手機通話加密純屬多餘;

2)保護移動通信安全僅有“私密性”是遠遠不夠的,在許多應用場景中“身份認證”更為重要,隻有傳統密碼係統才能把身份認證和密鑰分發同時完成並做到天衣無縫,QKD對此完全無能為力;

3)建立“量子安全”為的是抵抗量子計算機攻擊,而量子計算機的攻擊目標隻是公鑰密碼。移動通信網絡使用的是對稱密碼係統,在 移動通信係統中推動QKD與唐吉訶德大戰風車一樣可笑;

4)受物理原理的限製,QKD為手機之間提供直接的密鑰分發不具可行性,所有對密鑰的間接批發,包括量子密鑰SIM卡植入都是技術的大倒退,這與過去地下交通站分發密碼本沒有本質區別。

簡而言之,在移動通信網絡環境中:

  • 量子通信作為加密技術——純屬多餘;
  • 量子通信對保護通信完整性——無能為力;
  • 在以對稱密碼為安全基礎的移動通信網絡中推進量子通信工程是——無的放矢;
  • 用量子密鑰植入替代手機之間密鑰直接分發則是——倒行逆勢。

本文將對以上四個事實作出詳細深入的闡述。

【1】

中國電信和國盾量子對外宣布,雙方正在研發一個手機支持量子安全通話的項目。有了這款手機:用戶可在通話過程中一鍵選擇兩種通話模式,“加密通話”或“普通通話”。

這條新聞有不實宣傳之嫌,它讓人誤以為平常的手機通話——“普通通話”是不經過加密的,是不安全的,這與事實嚴重不符。其實手機的語音通話和數據傳輸從GSM(2G)時代開始都是經過加密的,詳情請看表格一。

表格展示了各代移動通信網絡保護手機語音和數據私密性時使用的加密解密算法、密鑰長度和加密模式(流加密、塊加密)。這些加密技術全都屬於傳統的對稱密碼係統,隨著移動通信技術的升級換代,加密技術也有了長足的進步。到了LTE(4G)時代,國內移動通信網絡的加密算法使用非常現代和成熟的三種技術,AES是久經考驗的國際上通用的對稱加密算法,SNOW 3G是在移動通信網絡中經過不斷完善升級的流加密算法,而祖衝之算法(ZUC)是中國自主開發的加密算法。

到目前為止,還沒有公開資料顯示AES、SNOW 3G、ZUC存在安全問題,這些算法在128bit密鑰的長度上可以有效地防止各類惡性攻擊[1]。在可預見的未來傳統密碼技術能確保手機語音和數據通信的私密性,增加量子保密通信功能純屬多餘。

務請注意,保護通信安全僅有私密性是遠遠不夠的,如果說量子通信在保護私密性方麵僅屬多餘,那麽它在保護通信安全的更高層麵上則是完全無能為力了。

【2】

密碼界常用 “CIA ” 來概括通信安全的三要素:Confidentiality 私密性,Integrity 完整性,Availability 可利用性。保護通信安全僅有私密性是遠遠不夠的,脫離通信的完整性高談闊論通信的安全性毫無意義。

移動通信網絡存在多種安全問題,但是手機通話內容泄密從來都進不了前三甲,排在前麵的肯定是“複製卡”、“偽基站”、“電信詐騙”、“垃圾短信”、“改號”……,其實這些安全隱患或多或少都和通信完整性有關。

夜幕降臨,你和你的好朋友在大排擋上擼串吃小龍蝦,然後用手機微信付款,在這個移動通信場景中,數據的私密性並不是最重要的,你一般也不會很在乎有誰知道你吃了幾斤小龍蝦,小龍蝦價格是多少,你最關心的一定是把錢付給了讓你又吃又喝的老板,而不是隔壁的老王家。由此可知,在許多應用場景中,保證通信的完整性遠比通信的私密性更迫切更重要。

通信的完整性包括了用戶認證和信息的不可篡改性,本文將著重討論移動網絡上的用戶認證問題,認證是網絡與用戶之間相互識別的過程。

網絡名言:“你永遠不知道網絡的對麵是一個人還是一條狗!”因此要安全通信,首先你得知道對方是誰,其次才是對話內容的保密,否則就等於主動送上秘密,這是常識。

通信的用戶認證就是要解決“你是誰?”和“你是不是你?”這兩個問題。

認證的依據可歸於以下幾條:1)被認證方擁有一個獨特的、不可複製的物件;2)雙方共享的一個秘密;3)被認證方的某種唯一特征。從2G開始的移動通信網絡的認證過程都是綜合使用前兩種方式:被認證方擁有獨特的物件SIM卡和雙方共享的秘密,而這個秘密就是分別存放在運營商網絡的AuC(Authentication Center)和用戶的SIM卡裏麵的一個密鑰(128位的隨機數)

手機用戶通過SIM卡中攜帶的用戶身份IMSI解決了“你是誰?”的問題;而要解決“你是不是你?”的問題靠的就是這個密鑰。移動通信網絡中的認證過程采用的是古老的“挑戰—響應”機製,即認證方首先向被認證方發送一個“挑戰”,一般而言就是一個隨機數;被認證方基於雙方共享密鑰計算出一個“響應”值,並把該值交付認證方驗收;認證方把這個響應值與自己計算的結果相對比,兩值相等就可認定對方確實是該SIM卡的主人。

認證過程的關鍵是安全認證算法和密鑰K,移動通信網絡中這個密鑰K分別存放在運營商網絡的AuC(Authentication Center)和用戶的SIM卡裏麵。AuC和SIM卡的安全是移動通信網安全的基石,對SIM卡中密鑰K有一整套完整成熟的保護機製。

認證的具體步驟和對密鑰K的保護措施都列於文後注解[2]中,希望對技術發燒友有所幫助,說到底科普才是我撰文的原始動力。

這個認證過程中同時實現了身份認證和過程密鑰協商分發兩大功能,被稱為AKA(Authentication and Key Agreement)協議。

請注意,目前的量子通信隻是量子密鑰分發QKD,它僅有密鑰分發一個功能,而移動通信網絡的AKA協議可以同時完成身份認證和密鑰分發兩個功能,請問移動通信網絡加添“量子密鑰分發”功能的理由究竟又在哪裏?而且“量子密鑰分發”為了防止中間人攻擊,它本身還需要類似AKA這種協議作身份認證,“量子密鑰分發”在移動通信網絡除了添亂不會有任何好處。歸根結底,身份認證一直就是量子通信的阿喀琉斯之踵(Achilles' Heel)[3]。

“奧卡姆剃刀”原理認定最簡單的解決方案總是正確的。換句話說,我們應該避免尋找過於複雜的問題解決方案,不要畫蛇添足,必須“無情地剔除所有累贅”。奧卡姆剃刀是規律之上的規律,“如無必要,勿增實體”是普適的原則,它更是阻止量子通信進入移動通信網絡不可逾越的紅線。

【3】

量子通信是用來應對後量子時代的公鑰密碼危機的,至少理論上一直是這樣宣傳的。建立“量子安全”為的是抵抗量子計算機攻擊,量子計算機的威脅針對的是公鑰密碼,但是移動通信網絡的安全問題與公鑰密碼沒有關係,從前麵的分析中可以清楚地看到,移動通信網絡從2G開始一直到目前的5G的第一階段,它的加密解密、身份認證和密鑰分發使用的都是對稱密碼係統,所以從理論上來講量子通信在移動通信領域毫無用武之地。

保護移動通信安全的基礎是對稱密碼,而運營商網絡、拜訪網絡和SIM卡的製卡和分發過程就擔負著密鑰分發管理中心KDC的職能[4]。使用對稱密碼加KDC的移動通信網絡從加密算法到密鑰分發都是非常安全的,量子計算機Shor算法隻對公鑰密碼構成威脅,而且這也僅是理論上的、未來的威脅,它對目前的移動通信係統毫無影響。而量子計算機的Grover搜索算法可能將對稱密碼算法的蠻力破解複雜度降半,這意味著在未來的量子計算時代,256位的密鑰空間等效於128位密鑰長度。

正是由於這個原因,某些特別憂天的杞人們建議在5G時代應支持256位密鑰長度。但是密碼界的主流意見反對過早把密鑰長度升級至256位,畢竟支持256位的密鑰將導致芯片、手機終端、網絡設備升級的各種麻煩。目前製定的5G安全標準Phase1僅支持128位的密鑰長度,在Phase2才會考慮256位的密鑰長度。這個決定對於那些企圖在移動通信網絡中推動量子通信工程者無疑是一帖最好的清醒劑。

移動通信的密碼安全現狀和麵對未來的5G密碼安全標準的製定都傳達出一個十分清晰明了的信息,傳統對稱密碼從加密算法到密鑰分發都是十分安全的,移動通信係統應對未來量子計算機威脅是遊刃有餘、信心十足,移動通信係統中沒有量子通信工程的立足之處,在移動通信係統中推動量子通信工程毫無必要性。

【4】

當然,量子通信在移動通信網絡中發展的最大障礙還是在工程可行性方麵。量子密鑰分發一定需要端到端的光纖接入,也就是說手機後麵要拖一根光纖辮子,這不是十足的技術倒退嗎?根本行不通。

可能是移動通信市場太誘人了,量子通信無論如何也想擠進去分杯羹,於是有人腦洞大開,竟然想出了讓用戶去服務站植入密鑰的餿主意[5]。這種做法與過去到地下交通站領取密碼本沒有本質區別,真是一夜回到解放前。

目前的量子通信工程實質上隻是量子密鑰分發(QKD),就是利用量子物理方法協商分法密鑰的一種技術。某些人利用中文的模糊性誤導大眾,使得許多人錯以為“量子密鑰分發”是“分發量子的密鑰”,而事實上“量子密鑰分發”隻是“利用量子的手段分發傳統的密鑰”。量子密鑰分發最後生成的不是“量子的密鑰”而是與傳統密鑰沒有任何區別的一串隨機數。

量子密鑰分發具有私密性是指密鑰分發的這個過程具有私密性,而不是產生了一個特殊性質的密鑰,更不意味著這個密鑰終身具有私密性。因為量子密鑰分發生成的密鑰落地後就是一個普普通通的隨機數。重要的事情必須說三遍,這世上壓根就沒有“量子的密鑰”,隻有傳統密鑰。

理論上量子密鑰分發的私密性在空間和時間上均有嚴格的限製,QKD分發的密鑰隻有在分發二點上和結束後的那一刻才具有私密性(當然也僅是理論上的私密性)。任何企圖把已產生的密鑰在空間上拓展或時間上延續都會徹底失去理論上的安全性。舉個例,如果由武警把全國高考試卷從北京押送至上海是絕對安全的,那麽試卷到達上海站那一刻確實是安全可靠的,但是當這些試卷離開武警官兵後被分送至各個考場並且存放過夜後,如果你認為這些試卷因為被武警運送過所以一定不會出問題,那就是大錯特錯了。

受物理原理的限製,QKD無法為手機之間提供直接的密鑰分發,所有的間接分發包括量子密鑰SIM卡植入都會造成嚴重的安全隱患,其結果一定是弊遠大於利[6]。量子通信的BB84是一個端到端的通信協議,這是一個產生在固定有線電話時代的通信保密方案,卻企圖用來解決互聯網時代的需求,不料迎麵撲來的是移動互聯網的汪洋大潮,這就是量子通信工程化中一切痛苦和煩惱的根源!

 

總而言之,保護移動通信安全至少包括私密性和完整性兩個方麵,量子通信對於前者純屬多餘,對於後者完全無能為力。量子通信僅是應對公鑰密碼危機的一種選項,但是移動通信網絡的加密解密、密鑰分發和身份認證用的都是對稱密碼,在移動通信網絡中推進量子通信工程毫無必要性。受物理原理的限製,量子通信為手機之間進行直接的密鑰分發沒有任何可行性,量子密鑰植入和密鑰間接轉發不再具有量子通信的理論安全性。

綜合以上所有的事實,相信大多數的讀者會對“量子加密手機究竟是李逵還是李鬼”作出正確的判斷。

 

參考資料

[1] 從3G開始,移動通信網絡中的加密算法和密鑰分發技術已經非常成熟,當然這並非表示移動通信網絡沒有安全隱患。許多安全問題都與企業和人員管理有關,生產SIM卡的廠商泄漏密鑰就是一個典型例子。可以肯定,如果在服務站展開密鑰植入會涉及更多的人員管理,一定會產生更多不可控因素並導致安全噩夢。

    本文的討論範圍僅限於手機的語音和數據的直接傳輸,使用手機上的App的通信安全問題與互聯網TLS協議有關,對此有興趣請參閱“互聯網環境中的密鑰分發和管理”一文。有必要指出,所謂的量子安全通話手機對幾乎所有的App毫無助益。

[2] 3G移動通信網絡的用戶認證和密鑰分發協議

Step1:認證開始時,用戶的歸屬網絡生成一個隨機數(RAND),“挑戰”由此啟動。歸屬網絡認證服務器(AuC)從數據庫中提取與手機用戶SIM卡中一致的密鑰K,通過安全認證算法對RAND進行係列運算,生成用於認證的五個參數(RAND, XRES, CK, IK, AUTN)。在這些參數中,XRES中的X代表eXpected,即期待的響應值,CK就是後續用於通信加密的過程密鑰,IK是完整性保護密鑰,AUTN是實現用戶對網絡的認證參數,這個五元參數組構成雙向認證向量。由歸屬網絡發送給拜訪網絡。

Step2:將雙向認證向量(RAND, XRES, CK, IK, AUTN)發送到拜訪網絡;

Step3:拜訪網絡將RAND、AUTN 發送到用戶手機,要求進行身份認證;

Step4:手機中的SIM卡通過安全認證算法使用K對RAND作係列運算,對AUTN作驗證。如果手機終端計算出來的AUTN與拜訪網絡下發的一致,則證明拜訪網絡確實是從歸屬網絡獲得了這個參數,因為隻有歸屬網絡擁有K,能生成這個參數,從而可以認為拜訪網絡獲得了歸屬網路的授權對用戶進行認證;

Step5:手機終端(SIM卡)將運算的結果上報到拜訪網絡,網絡側對運算結果進行核對,即驗證XRES與SRES是否相等:

Step6:如果核對認證無誤,執行用戶接入網絡的後續步驟。

認證過程的關鍵是安全認證算法和密鑰K,移動通信網絡中這個密鑰K分別存放在運營商網絡的AuC(Authentication Center)和用戶的SIM卡裏麵。這個密鑰理論上絕不會出現在這兩個地方之外。在用戶這邊,密鑰的使用和計算都在卡裏麵進行,不會出現在手機的內存裏麵,更不可能在網絡上傳送。通信的認證過程是基於隨機數RAND及密鑰K通過不可逆的函數生成各種參數,從RAND和這些參數是無法反推出密鑰K。

AuC和SIM卡的安全是移動通信網安全的基石。AuC在運營商網絡之內,安全防護從設備到管理都有嚴格的要求;SIM卡采用抵製篡改(tamper-resist)的硬件設計,外界不允許從卡內讀出密鑰K。嚴格意義上來說,用戶自己也無法獲知自己的密鑰是什麽,但擁有SIM卡就相當於用戶掌握了這個獨一無二的密鑰。用戶還可以設置PIN阻止任何外人盜用SIM卡。

這個包括了六個步驟的過程被稱為AKA(Authentication and Key Agreement)協議。AKA使用挑戰應答機製,完成用戶和網絡間的身份認證,並且在身份認證過程的同時生成通信加密密鑰。

必須明白,對通信中語音和數據進行加密解密的不是SIM卡中的密鑰K,而是在協行AKA協議過程中計算出來的十六字節共128位的密鑰CK,這個CK在手機的每次通話過程中都是不一樣的。對語音加密時,CK結合明文幀號提供與明文等長、一次一密的流加密。

請注意,圖二顯示的是手機用戶甲與拜訪網絡之間的AKA協議過程,同樣的過程也發生在手機用戶乙與他所處的拜訪網絡之間,對手機信令和用戶數據的加密保護分別發生在空口到RNC之間。從3G開始加強了信息在網絡內的傳送安全,采用了以交換設備為核心的安全機製,加密鏈路延伸到交換設備,並提供基於端到端的全網範圍內加密。 

本文中的SIM卡是SIM/USIM卡的統稱。USIM卡在3G開始啟動,LTE采用與3G相同的USIM卡,但LTE僅允許USIM卡接入,不允許SIM卡接入。

AKA的演進,在AKA的前綴上表現出來:在2G的時候,AKA就叫AKA;在3G的時候,應對偽基站風險,增加了雙向認證,解決了用戶對網絡的信任問題,3G的AKA被稱為UMTS AKA;在4G的時候,Authentication部分沒有變化,但Key Agreement發生了變化,針對無線網絡、核心網絡,衍生出不同的密鑰,解決了無線網和核心網的互信問題,4G的AKA被稱為EPS AKA;5G的AKA增強了歸屬網絡的控製,解決歸屬網絡和拜訪網絡的互信問題,並被稱為5G AKA。

[3] 否決量子通信工程 英國情報部門再發白皮書

[4] 5G的未來規劃中會對SUPI的加密保護引入了一個新的方式,即通過利用歸屬網絡的公鑰對SUPI進行加密。在用戶的USIM卡中存放一個歸屬網絡的公鑰,一旦需要向空中接口發送SUPI,就用該公鑰對SUPI進行加密,加密後的數據稱為SUCI。拜訪網絡收到這個加密後的SUCI後,將其送回到歸屬網絡,用歸屬網絡的私鑰進行解密。這其中涉及的公鑰加密算法目前尚未完成定義,隻是限定了需要采用ECIES(Eliptic Curve Integrated Encryption System)的方式進行計算。ECIES包含密鑰生成模塊和數據加密模塊兩部分,密鑰生成模塊使用發送方的私鑰和接收方的公鑰在橢圓曲線上進行多倍點運算,進而生成會話密鑰;數據加密模塊使用生成的會話密鑰對數據進行加密。

[5]https://mp.weixin.qq.com/s/wpkI5TpZmBXF3ccbWGHL2Q

[6]密鑰安全漫談:“分發”不是難堪處,“管理”方為大問題

 

[ 打印 ]
閱讀 ()評論 (0)
評論
目前還沒有任何評論
登錄後才可評論.