短信端到端加密如何實現(xiàn)
隨著移動通信技術(shù)的發(fā)展,單純的語言通信已經(jīng)不能滿足各種業(yè)務(wù)的需要,而短信正替代人聲成為重要的聯(lián)系手段。人們常用短信發(fā)送銀行賬號、密碼以及私密性強的信息,存在著嚴(yán)重的安全隱患,這個完全可以通過加密技術(shù)來實現(xiàn)。
一、短信端到端加密系統(tǒng)架構(gòu)
為了解決點對點短信的安全問題,我們提出了一種短信端到端加密系統(tǒng)。系統(tǒng)結(jié)構(gòu)主要包含三個實體:
1、智能移動終端
智能移動終端是端到端加密系統(tǒng)的核心部分,手機用戶的所有操作都在終端中進行。終端功能是通過安裝在終端的客戶端軟件來實現(xiàn)的,客戶端主要具有以下功能:
1)明文短信與密文短信的處理流程控制
移動終端同時支持明文短信和密文短信,不同短信的處理流程在終端中不同,移動終端必須可以控制不同的處理流程。
2)加密通信控制
移動終端必須支持對加密通信的初始化,包括認(rèn)證、連接、結(jié)束會話等通信控制功能。
在具體實現(xiàn)上,客戶端功能主要分為兩個模塊,一個是加密短信的處理模塊,實現(xiàn)短信的編寫、發(fā)送、接收、存儲等功能。另一個是與密鑰管理系統(tǒng)的通信模塊,實現(xiàn)終端發(fā)送加密短信所需的密鑰的獲取及更新功能。
2、密鑰管理系統(tǒng)
密鑰管理系統(tǒng)的主要功能如下:
1)存儲、管理所有本系統(tǒng)中所需的密鑰信息。
2)產(chǎn)生密鑰,并對智能移動終端進行密鑰的分發(fā)和更新。
3)實現(xiàn)密鑰管理系統(tǒng)與移動終端的安全通信。
KMS除要完成密鑰的產(chǎn)生、分發(fā)、存儲、銷毀等功能,同時還要提供合法監(jiān)聽的接口,為可能發(fā)生的糾紛提供加解密支持。
3、安全SD卡
安全SD卡具有SD卡的大容量存儲和安全存儲兩項特點,適合重要數(shù)據(jù)的存儲,終端與外界通信所需的密鑰等信息都存儲在安全SD卡中。手機用戶通過人機界面實現(xiàn)與終端客戶端的信息交互。密鑰管理系統(tǒng)位于遠端的服務(wù)器中,終端與密鑰管理系統(tǒng)之間通過無線移動傳輸實現(xiàn)密鑰的更新??蛻舳藢⒏碌拿荑€存儲在安全SD卡中,當(dāng)需要密鑰進行加解密操作時從安全SD卡獲取密鑰。終端通過客戶端與其他終端上的客戶端實現(xiàn)加密短信的發(fā)送和接收。
二、端到端加密系統(tǒng)常用加密算法
現(xiàn)今信息安全技術(shù)中使用的加密算法主要有兩類:對稱加密算法和公鑰加密算法。對稱加密算法使用的都是分組加密(block cipher)體制。分組密碼是現(xiàn)代密碼學(xué)中的重要體制之一,也是應(yīng)用最為廣泛、影響最大的一種加密體制,其主要任務(wù)是提供數(shù)據(jù)保密性,也可以用在許多方面,如構(gòu)造偽隨機數(shù)生成器、流密碼、認(rèn)證碼和哈希函數(shù)等。分組加密算法通常加鏘密速度較快.安全性能好.并且得到許多密碼芯片的支持?,F(xiàn)代分組密碼發(fā)展非???,在許多研究和應(yīng)用領(lǐng)域得到了廣泛的應(yīng)用。
選擇何種加密算法,除了要考慮密碼算法的安全性.還要考慮實際的應(yīng)用需求。公鑰加密算法的優(yōu)勢很明顯,但也有著不適合端到端加密系統(tǒng)的缺點,如加密速度慢,密鑰協(xié)商過程復(fù)雜等。從以下幾方面考慮,選擇對稱密碼加密算法。
1、向后兼容性
2G通信系統(tǒng)和2.5G通信系統(tǒng)均采用對稱加密體制,新的3G標(biāo)準(zhǔn)在制定時為了保持3G系統(tǒng)在運行上與原有系統(tǒng)不沖突,也采用對稱加密體制。因此目前來說,在實際中使用的系統(tǒng)均采用對稱加密技術(shù)。
2、技術(shù)的成熟性
在移動通信領(lǐng)域,公鑰技術(shù)尚未獲得全面認(rèn)可。雖然近幾年公鑰技術(shù)在通信領(lǐng)域的可用性和應(yīng)用前景再次受到人們的重視,然而對于產(chǎn)品推廣而言,為了減少研發(fā)的風(fēng)險性,一般都會采用成熟的技術(shù)。對稱加密技術(shù)在移動通信領(lǐng)域的應(yīng)用已經(jīng)有了多年的經(jīng)驗積累,盡管相比公鑰密碼技術(shù)有一定的劣勢,但是在多方面考慮后它仍是產(chǎn)品研發(fā)的首選技術(shù)。
3、接入方式
采用對稱加密體制的一個前提,是需要進行加密通信的實體之間必須在通信前共享一個秘密。在目前的移動通信系統(tǒng)中,采用基于注冊的接入方式,這種傳統(tǒng)的接入方式以手工形式完成密鑰分發(fā)。由于傳統(tǒng)接入方式應(yīng)用的時間較長,在今后的一段時間內(nèi)即使出現(xiàn)其他形式的接人方式,它仍然是主要的接入方式之一,所以對稱加密體制在應(yīng)用上仍然有重大作用。
4、計算量和通信量的考慮
使用公鑰密碼體制需要多次的通信過程來實現(xiàn)認(rèn)證、協(xié)商密鑰等操作,對于手機終端而言,通信量太大。
5、運算速度的考慮
RSA加密算法產(chǎn)生密鑰很麻煩,受素數(shù)產(chǎn)生技術(shù)的限制,因而難以做到一次一密。其次,RSA算法分組長度太大,為保證安全性,n的長度至少為600bits.運算代價很高,速度較慢,較對稱密碼算法慢幾個數(shù)量級。對于普通的PC機來說.RSA算法的運算量是可以接受的。但手機終端處理器目前的處理能力還比較弱,所以,選擇對稱分組加密算法。
對稱分組加密算法中,DES由于安全性的不足首先排除。密鑰長度選擇128比特己可以保證數(shù)據(jù)傳輸?shù)陌踩?。在AES和IDEA算法中,選擇IDEA算法。較AES算法而言,IDEA算法更適合軟件實現(xiàn),適合在手機中運行。
確定加密算法后,還要選擇算法的工作模式。由于在實際應(yīng)用中,需要加密的消息的數(shù)據(jù)量是不定的,數(shù)據(jù)格式也是多種多樣的,因此需要對基本的密碼算法做些改變,以適應(yīng)不同的應(yīng)用需求。而且,也需要采用適當(dāng)?shù)墓ぷ髂J絹黼[藏明文的統(tǒng)計特性、數(shù)據(jù)格式等,以提高整體的安全性,降低刪除、重放、插入和偽造等攻擊成功的機會占這種基本加密算法的適當(dāng)?shù)墓ぷ髂J骄褪羌用苣J健?/p>
總之不同的工作模式在安全性和效率方面各不相同,因此應(yīng)用的場景也各不相同。
小知識之端到端加密
端到端加密允許數(shù)據(jù)在從源點到終點的傳輸過程中始終以密文形式存在。采用端到端加密(又稱脫線加密或包加密),消息在被傳輸時到達終點之前不進行解密,因為消息在整個傳輸過程中均受到保護,所以即使有節(jié)點被損壞也不會使消息泄露。











