加密通信方法和裝置的制造方法
【專利摘要】本發明公開了一種加密通信裝置,加密通信裝置包括:獲取模塊,用于在移動終端進行加密通信時,獲取待加密的通信數據;加密模塊,用于調用只讀存儲器中保存的加密算法對待加密的通信數據進行加密得到加密通信數據;發送模塊,用于將加密通信數據發送至加密通信的對端。本發明還公開了一種加密通信方法。本發明不用在移動終端中增加其它硬件來對通信數據進行加密,僅需要將加密算法寫入移動終端的只讀存儲器中即可,加密通信的成本較低。
【專利說明】
加密通信方法和裝置
技術領域
[0001 ]本發明涉及移動通信技術領域,尤其涉及一種加密通信方法和裝置。
【背景技術】
[0002]現在的許多應用以及手機廠商都支持文件加密,也就是可以對手機本地的數據進行保護,但對于通信過程中的通信數據如通話數據和短信數據的保護方案卻很少。
[0003]目前一種普遍的對通信數據進行加密的方案是將加密算法內嵌到TF卡中,在加密通信過程中,將通信數據傳輸至TF卡,由TF卡中的加密算法對通信數據進行加密,然后將加密后的通信數據發送至加密通信的對端,對端的移動終端在接收到加密后通信數據時,也同樣需要擁有具有加解密功能的TF卡才能夠成功解密,恢復原有通信數據,則移動終端在需要加密通信時必須安裝專門的TF卡,成本較高。
【發明內容】
[0004]本發明的主要目的在于提出一種加密通信方法和裝置,旨在解決加密通信成本較高的技術問題。
[0005]為實現上述目的,本發明提供的一種加密通信裝置,所述加密通信裝置包括:
[0006]獲取模塊,用于在移動終端進行加密通信時,獲取待加密的通信數據;
[0007]加密模塊,用于調用只讀存儲器中保存的加密算法對所述待加密的通信數據進行加密得到加密通信數據;
[0008]發送模塊,用于將所述加密通信數據發送至所述加密通信的對端。
[0009]可選地,所述加密模塊包括:
[0010]轉換單元,用于在調制解調層將所述待加密的通信數據由模擬信號轉換為數字信號;
[0011]封裝單元,用于經內核層將轉換后的所述待加密的通信數據傳輸至硬件抽象層進行封裝;
[0012]加密單元,用于將封裝后的所述待加密的通信數據傳輸至函數庫層,以調用函數庫層中的加密算法對封裝后的所述待加密的通信數據加密得到所述加密通信數據。
[0013]可選地,所述加密通信裝置還包括:
[0014]解密模塊,用于在接收到加密通信的對端發送的加密通信數據時,調用只讀存儲器中保存的解密算法對所述加密通信數據進行解密;
[0015]輸出模塊,用于輸出解密后的所述加密通信數據。
[0016]可選地,所述加密通信裝置還包括:
[0017]顯示模塊,用于在檢測到通信指令時,顯示通信加密選擇界面,以供用戶基于所述通信加密選擇界面選擇是否進行通信加密;
[0018]第一控制模塊,用于在接收到基于所述通信加密選擇界面觸發的通信加密選擇指令時,控制所述移動終端進行加密通信。
[0019]可選地,所述加密通信裝置還包括:
[0020]協商模塊,用于在檢測到加密通信指令時,控制移動終端與加密通信的對端進行密鑰協商;
[0021]第二控制模塊,用于在密鑰協商成功時,控制所述移動終端進行加密通信,并在密鑰協商失敗時,控制所述移動終端進行明文通信。
[0022]此外,為實現上述目的,本發明還提出一種加密通信方法,所述加密通信方法包括:
[0023]在移動終端進行加密通信時,獲取待加密的通信數據;
[0024]調用只讀存儲器中保存的加密算法對所述待加密的通信數據進行加密得到加密通信數據;
[0025]將所述加密通信數據發送至所述加密通信的對端。
[0026]可選地,所述調用只讀存儲器中保存的加密算法對所述待加密的通信數據進行加密得到加密通信數據的步驟包括:
[0027]在調制解調層將所述待加密的通信數據由模擬信號轉換為數字信號;
[0028]經內核層將轉換后的所述待加密的通信數據傳輸至硬件抽象層進行封裝;
[0029]將封裝后的所述待加密的通信數據傳輸至函數庫層,以調用函數庫層中的加密算法對封裝后的所述待加密的通信數據加密得到所述加密通信數據。
[0030]可選地,所述加密通信方法還包括步驟:
[0031]在接收到加密通信的對端發送的加密通信數據時,調用只讀存儲器中保存的解密算法對所述加密通信數據進行解密;
[0032]輸出解密后的所述加密通信數據。
[0033]可選地,所述在移動終端進行加密通信時,獲取待加密的通信數據的步驟之前,所述加密通信方法包括步驟:
[0034]在檢測到通信指令時,顯示通信加密選擇界面,以供用戶基于所述通信加密選擇界面選擇是否進行通信加密;
[0035]在接收到基于所述通信加密選擇界面觸發的通信加密選擇指令時,控制所述移動終端進行加密通信。
[0036]可選地,所述在移動終端進行加密通信時,獲取待加密的通信數據的步驟之前,還包括:
[0037]在檢測到加密通信指令時,控制移動終端與加密通信的對端進行密鑰協商;
[0038]在密鑰協商成功時,控制所述移動終端進行加密通信;
[0039]所述控制移動終端與加密通信的對端進行密鑰協商的步驟之后,所述加密通信方法還包括步驟:
[0040]在密鑰協商失敗時,控制所述移動終端進行明文通信。
[0041 ]本發明提出的加密通信方法和裝置,將加密算法保存在移動終端的只讀存儲器中,在移動終端進行加密通信時,可直接調用只讀存儲器中保存的加密算法對所述待加密的通信數據進行加密得到加密通信數據,并將所述加密通信數據發送至所述加密通信的對端,本方案不用在移動終端中增加其它硬件來對通信數據進行加密,僅需要將加密算法寫入移動終端的只讀存儲器中即可,加密通信的成本較低。
【附圖說明】
[0042]圖1為實現本發明各個實施例的一個移動終端的硬件結構示意圖;
[0043]圖2為如圖1所示的移動終端的通信系統示意圖;
[0044]圖3為本發明加密通信裝置第一實施例的模塊示意圖;
[0045]圖4為本發明加密通信數據時各個系統層的數據處理示意圖。
[0046]圖5為本發明加密通信裝置第二實施例的模塊示意圖;
[0047]圖6為本發明加密通信裝置第三實施例的模塊示意圖;
[0048]圖7為本發明加密通信裝置第四實施例的模塊示意圖;
[0049]圖8為本發明加密通信方法第一實施例的流程示意圖;
[0050]圖9為本發明加密通信方法第二實施例的流程示意圖;
[0051]圖10為本發明加密通信方法第三實施例的流程示意圖;
[0052]圖11為本發明加密通信方法第四實施例的流程示意圖。
[0053]本發明目的實現、功能特點及優點將結合實施例,參照附圖做進一步說明。
【具體實施方式】
[0054]應當理解,此處所描述的具體實施例僅僅用以解釋本發明,并不用于限定本發明。
[0055]現在將參考附圖描述實現本發明各個實施例的移動終端。在后續的描述中,使用用于表示元件的諸如“模塊”、“部件”或“單元”的后綴僅為了有利于本發明的說明,其本身并沒有特定的意義。因此,“模塊”與“部件”可以混合地使用。
[0056]移動終端可以以各種形式來實施。例如,本發明中描述的終端可以包括諸如移動電話、智能電話、筆記本電腦、數字廣播接收器、PDA(個人數字助理)、PAD(平板電腦)、PMP(便攜式多媒體播放器)、導航裝置等等的移動終端以及諸如數字TV、臺式計算機等等的固定終端。下面,假設終端是移動終端。然而,本領域技術人員將理解的是,除了特別用于移動目的元件之外,根據本發明的實施方式的構造也能夠應用于固定類型的終端。
[0057]圖1為實現本發明各個實施例的一個移動終端的硬件結構示意圖。
[0058]移動終端100可以包括無線通信單元110、A/V(音頻/視頻)輸入單元120、用戶輸入單元130、感測單元140、輸出單元150、存儲器160、接口單元170、控制器180和電源單元190等等。圖1示出了具有各種組件的移動終端,但是應理解的是,并不要求實施所有示出的組件。可以替代地實施更多或更少的組件。將在下面詳細描述移動終端的元件。
[0059]無線通信單元110通常包括一個或多個組件,其允許移動終端100與無線通信裝置或網絡之間的無線電通信。
[0060]A/V輸入單元120用于接收音頻或視頻信號。
[0061]用戶輸入單元130可以根據用戶輸入的命令生成鍵輸入數據以控制移動終端的各種操作。用戶輸入單元130允許用戶輸入各種類型的信息,并且可以包括鍵盤、鍋仔片、觸摸板(例如,檢測由于被接觸而導致的電阻、壓力、電容等等的變化的觸敏組件)、滾輪、搖桿等等。特別地,當觸摸板以層的形式疊加在顯示單元151上時,可以形成觸摸屏。
[0062]接口單元170用作至少一個外部裝置與移動終端100連接可以通過的接口。例如,外部裝置可以包括有線或無線頭戴式耳機端口、外部電源(或電池充電器)端口、有線或無線數據端口、存儲卡端口、用于連接具有識別模塊的裝置的端口、音頻輸入/輸出(I/O)端口、視頻I/O端口、耳機端口等等。識別模塊可以是存儲用于驗證用戶使用移動終端10的各種信息并且可以包括用戶識別模塊(UIM)、客戶識別模塊(SIM)、通用客戶識別模塊(USM)等等。另外,具有識別模塊的裝置(下面稱為“識別裝置”)可以采取智能卡的形式,因此,識別裝置可以經由端口或其它連接裝置與移動終端100連接。接口單元170可以用于接收來自外部裝置的輸入(例如,數據信息、電力等等)并且將接收到的輸入傳輸到移動終端100內的一個或多個元件或者可以用于在移動終端和外部裝置之間傳輸數據。
[0063]另外,當移動終端100與外部底座連接時,接口單元170可以用作允許通過其將電力從底座提供到移動終端100的路徑或者可以用作允許從底座輸入的各種命令信號通過其傳輸到移動終端的路徑。從底座輸入的各種命令信號或電力可以用作用于識別移動終端是否準確地安裝在底座上的信號。輸出單元150被構造為以視覺、音頻和/或觸覺方式提供輸出信號(例如,音頻信號、視頻信號、警報信號、振動信號等等)。輸出單元150可以包括顯示單元151 ο
[0064]顯示單元151可以顯示在移動終端100中處理的信息。例如,當移動終端100處于電話通話模式時,顯示單元151可以顯示與通話或其它通信(例如,文本消息收發、多媒體文件下載等等)相關的用戶界面(UI)或圖形用戶界面(GUI)。當移動終端100處于視頻通話模式或者圖像捕獲模式時,顯示單元151可以顯示捕獲的圖像和/或接收的圖像、示出視頻或圖像以及相關功能的UI或GUI等等。
[0065]同時,當顯示單元151和觸摸板以層的形式彼此疊加以形成觸摸屏時,顯示單元151可以用作輸入裝置和輸出裝置。顯示單元151可以包括液晶顯示器(LCD)、薄膜晶體管IXD(TFT-1XD)、有機發光二極管(OLED)顯示器、柔性顯示器、三維(3D)顯示器等等中的至少一種。這些顯示器中的一些可以被構造為透明狀以允許用戶從外部觀看,這可以稱為透明顯示器,典型的透明顯示器可以例如為TOLED(透明有機發光二極管)顯示器等等。根據特定想要的實施方式,移動終端100可以包括兩個或更多顯示單元(或其它顯示裝置),例如,移動終端可以包括外部顯示單元(未示出)和內部顯示單元(未示出)。觸摸屏可用于檢測觸摸輸入壓力以及觸摸輸入位置和觸摸輸入面積。
[0066]存儲器160可以存儲由控制器180執行的處理和控制操作的軟件程序等等,或者可以暫時地存儲己經輸出或將要輸出的數據(例如,電話簿、消息、靜態圖像、視頻等等)。而且,存儲器160可以存儲關于當觸摸施加到觸摸屏時輸出的各種方式的振動和音頻信號的數據。
[0067]存儲器160可以包括至少一種類型的存儲介質,存儲介質包括閃存、硬盤、多媒體卡、卡型存儲器(例如,SD或DX存儲器等等)、隨機訪問存儲器(RAM)、靜態隨機訪問存儲器(SRAM)、只讀存儲器(只讀存儲器)、電可擦除可編程只讀存儲器(EEP只讀存儲器)、可編程只讀存儲器(P只讀存儲器)、磁性存儲器、磁盤、光盤等等。而且,移動終端100可以與通過網絡連接執行存儲器160的存儲功能的網絡存儲裝置協作。
[0068]控制器180通常控制移動終端的總體操作。例如,控制器180執行與語音通話、數據通信、視頻通話等等相關的控制和處理。另外,控制器180可以包括用于再現(或回放)多媒體數據的多媒體模塊181,多媒體模塊181可以構造在控制器180內,或者可以構造為與控制器180分離。控制器180可以執行模式識別處理,以將在觸摸屏上執行的手寫輸入或者圖片繪制輸入識別為字符或圖像。
[0069]電源單元190在控制器180的控制下接收外部電力或內部電力并且提供操作各元件和組件所需的適當的電力。
[0070]這里描述的各種實施方式可以以使用例如計算機軟件、硬件或其任何組合的計算機可讀介質來實施。對于硬件實施,這里描述的實施方式可以通過使用特定用途集成電路(ASIC)、數字信號處理器(DSP)、數字信號處理裝置(DSPD)、可編程邏輯裝置(PLD)、現場可編程門陣列(FPGA)、處理器、控制器、微控制器、微處理器、被設計為執行這里描述的功能的電子單元中的至少一種來實施,在一些情況下,這樣的實施方式可以在控制器180中實施。對于軟件實施,諸如過程或功能的實施方式可以與允許執行至少一種功能或操作的單獨的軟件模塊來實施。軟件代碼可以由以任何適當的編程語言編寫的軟件應用程序(或程序)來實施,軟件代碼可以存儲在存儲器160中并且由控制器180執行。
[0071]至此,己經按照其功能描述了移動終端。下面,為了簡要起見,將描述諸如折疊型、直板型、擺動型、滑動型移動終端等等的各種類型的移動終端中的滑動型移動終端作為示例。因此,本發明能夠應用于任何類型的移動終端,并且不限于滑動型移動終端。
[0072]如圖1中所示的移動終端100可以被構造為利用經由幀或分組發送數據的諸如有線和無線通信裝置以及基于衛星的通信裝置來操作。
[0073]現在將參考圖2描述其中根據本發明的移動終端能夠操作的通信裝置。
[0074]這樣的通信裝置可以使用不同的空中接口和/或物理層。例如,由通信裝置使用的空中接口包括例如頻分多址(FDMA)、時分多址(TDMA)、碼分多址(CDMA)和通用移動通信裝置(UMTS)(特別地,長期演進(LTE))、全球移動通信裝置(GSM)等等。作為非限制性示例,下面的描述涉及CDMA通信裝置,但是這樣的教導同樣適用于其它類型的裝置。
[0075]參考圖2,⑶MA無線通信裝置可以包括多個移動終端100、多個基站(BS) 270、基站控制器(BSC)275和移動交換中心(MSCUSOJSCSSO被構造為與公共電話交換網絡(PSTN)290形成接口。MSC280還被構造為與可以經由回程線路耦接到基站270的BSC275形成接口。回程線路可以根據若干己知的接口中的任一種來構造,接口包括例如El/T1、ATM,IP、PPP、幀中繼、HDSL、ADSL或xDSL。將理解的是,如圖2中所示的裝置可以包括多個BSC2750。
[0076]每個BS270可以服務一個或多個分區(或區域),由多向天線或指向特定方向的天線覆蓋的每個分區放射狀地遠離BS270。或者,每個分區可以由用于分集接收的兩個或更多天線覆蓋。每個BS270可以被構造為支持多個頻率分配,并且每個頻率分配具有特定頻譜(例如,1.25MHz,5MHz 等等)。
[0077]分區與頻率分配的交叉可以被稱為CDMA信道。BS270也可以被稱為基站收發器子裝置(BTS)或者其它等效術語。在這樣的情況下,術語"基站"可以用于籠統地表示單個BSC275和至少一個BS270。基站也可以被稱為〃蜂窩站〃。或者,特定BS270的各分區可以被稱為多個蜂窩站。
[0078]如圖2中所示,廣播發射器(BT)295將廣播信號發送給在裝置內操作的移動終端100。如圖1中所示的廣播接收模塊111被設置在移動終端100處以接收由BT295發送的廣播信號。在圖2中,示出了幾個全球定位裝置(GPS)衛星300。衛星300幫助定位多個移動終端100中的至少一個。
[0079]在圖2中,描繪了多個衛星300,但是理解的是,可以利用任何數目的衛星獲得有用的定位信息。如圖1中所示的GPS模塊115通常被構造為與衛星300配合以獲得想要的定位信息。替代GPS跟蹤技術或者在GPS跟蹤技術之外,可以使用可以跟蹤移動終端的位置的其它技術。另外,至少一個GPS衛星300可以選擇性地或者額外地處理衛星DMB傳輸。
[0080]作為無線通信裝置的一個典型操作,BS270接收來自各種移動終端100的反向鏈路信號。移動終端100通常參與通話、消息收發和其它類型的通信。特定基站270接收的每個反向鏈路信號被在特定BS270內進行處理。獲得的數據被轉發給相關的BSC275 ASC提供通話資源分配和包括BS270之間的軟切換過程的協調的移動管理功能。BSC275還將接收到的數據路由到MSC280,其提供用于與PSTN290形成接口的額外的路由服務。類似地,PSTN290與MSC280形成接口,MSC與BSC275形成接口,并且BSC275相應地控制BS270以將正向鏈路信號發送到移動終端100。
[0081]基于上述移動終端硬件結構以及通信裝置的結構示意圖,提出本發明加密通信方法和裝置各個實施例。
[0082]參照圖3,圖3為本發明加密通信裝置第一實施例的模塊示意圖。
[0083]需要強調的是,對本領域的技術人員來說,圖3所示功能模塊圖僅僅是一個較佳實施例的示例圖,本領域的技術人員圍繞圖3所示的加密通信裝置的功能模塊,可輕易進行新的功能模塊的補充;各功能模塊的名稱是自定義名稱,僅用于輔助理解該加密通信裝置的各個程序功能塊,不用于限定本發明的技術方案,本發明技術方案的核心是,各自定義名稱的功能模塊所要達成的功能。
[0084]本實施例提出一種加密通信裝置,加密通信裝置包括:
[0085]獲取模塊10,用于在移動終端進行加密通信時,獲取待加密的通信數據;
[0086]在本實施例中的通信數據可為通話數據及或短信數據,該通話數據可包括語音通話數據以及視頻通話數據;可以理解的是,該通信數據也可為其它即時通信應用進行通信時傳輸的數據,如微信聊天數據。
[0087]在進行加密通信時,待加密的通信數據為當前待傳輸的通信數據,例如在進行加密通話時,移動終端接收到的用戶輸入的語音數據即為待加密的通信數據,或者,在用戶選擇發送加密短信時,待發送的加密短信即為待加密的通信數據,其它通信應用同理,在此不再贅述。
[0088]用戶可在進行通信之前即選擇是否進行加密通信,例如移動終端中設置加密通信以及正常通信的控制,用戶通過觸發加密通信的控件來進入加密通信模式;或者,在用戶觸發通信應用時,輸出選擇界面由用戶選擇是否進行加密通信。可以理解的是,在通信過程中用戶也可通過通信應用界面中的控件觸發加密通信,例如用戶在通信過程中,突然要向對方說一些比較秘密的信息(例如銀行卡信息),此時可通過該控件觸發加密通信,則移動終端對后續的通信數據進行加密,當然,用戶在認為不需要加密時,也可通過通信應用界面中的控件取消通信加密。在其它方案中,用戶也可設置移動終端的運行模式,在終端運行模式切換至加密模式時,所有操作均進行加密,則在通信時進行加密通信;或者,對于多卡的移動終端,可針對某一 SIM卡設置加密通信,基于該SIM卡觸發的通信操作,均進行加密通信。
[0089]加密模塊20,用于調用只讀存儲器中保存的加密算法對待加密的通信數據進行加密得到加密通信數據;
[0090]該加密算法可為SM4算法,SM4算法的分組長度是128比特,密鑰長度是128比特,加密算法與密鑰擴展算法都采用32輪非線性迭代結構。解密算法與加密算法的結構相同,只是輪密鑰的使用順序相反,解密輪密鑰是加密輪密鑰的逆序。SM4算法密鑰長度為128bit,若采用窮舉攻擊法進行攻擊需要2128次運算遠,要想用窮舉攻擊法破解需要相當長的時間。SM4算法的S盒規格是8bit輸入8bit輸出,具有非常強的非線性可以有效地抵御差分攻擊。可以理解的是該加密算法也可為其它算法,如DES算法,可根據需要由開發人員進行選擇。可將加密算法通過C語言實現,并配置JNI接口,以便于移動終端系統的調用。
[0091]如圖4所示,將加密算法置于移動終端系統的函數庫層,以實現對待加密的通信數據的加密,具體的加密模塊20包括:
[0092]轉換單元,用于在調制解調層將待加密的通信數據由模擬信號轉換為數字信號;
[0093]封裝單元,用于經內核層將轉換后的待加密的通信數據傳輸至硬件抽象層進行封裝;
[0094]加密單元,用于將封裝后的待加密的通信數據傳輸至函數庫層,以調用函數庫層中的加密算法對封裝后的待加密的通信數據加密得到加密通信數據。
[0095]參見圖4,移動終端應用層將接收到通信數據傳輸至調制解調(modem)層進行模數轉換,將通信數據由模擬數據信號為數據信號,并將轉換后的待加密的通信數據經內核(kerne I)層傳輸至硬件抽象層(HAL)進行封裝,將封裝后的傳輸至函數庫(I i braries)層,調用函數庫層中的加密工具(Encrypt Process),該加密工具調用加密算法的動態鏈接庫(so庫)進行加密,并將加密后的通信數據再傳輸至應用層,由應用層傳輸至對端。
[0096]發送模塊30,用于將加密通信數據發送至加密通信的對端。
[0097]本實施例提出的加密通信裝置,將加密算法保存在移動終端的R0M(Read-0nlyMemory,只讀存儲器)中,在移動終端進行加密通信時,可直接調用只讀存儲器中保存的加密算法對待加密的通信數據進行加密得到加密通信數據,并將加密通信數據發送至加密通信的對端,本方案不用在移動終端中增加其它硬件來對通信數據進行加密,僅需要將加密算法寫入移動終端的只讀存儲器中即可,加密通信的成本較低。
[0098]進一步地,參照圖5,基于第一實施例提出本發明加密通信裝置第二實施例,在本實施例中,加密通信裝置還包括:
[0099]解密模塊40,用于在接收到加密通信的對端發送的加密通信數據時,調用只讀存儲器中保存的解密算法對加密通信數據進行解密;
[0100]由于移動終端在加密通信過程中不但要對傳輸至對端的通信數據進行加密,還需要對接收到對端數據進行解密以便于查看,則在接收到加密的通信數據時,采用保存的解密算法進行解密,加密以及解密過程是逆向實現的,在此不再贅述。該解密算法也可為SM4算法,與加密算法相對應。
[0101]解密算法也可設置于移動終端系統的函數庫層,即解密模塊40包括:
[0102 ]解封裝單元,經內核層將加密通信數據傳輸至硬件抽象層進行解封裝;
[0103]解密單元,用于將解封裝后的加密通信數據傳輸至函數庫層,以調用函數庫層中的解密算法解密解封裝后的加密通信數據得到解密后的通信數據;
[0104]轉換單元,用于將解密后的通信數據轉換傳輸至調制解調層轉換為模擬信號輸出。
[0105]輸出模塊50,用于輸出解密后的加密通信數據。
[0106]輸出解密后的通信數據,可包括播放通信數據以及顯示通信數據。
[0107]本實施例提出的方案中,移動終端可對通信數據加密的同時,采用只讀存儲器中的解密算法對接收到的加密通信數據進行解密,使得加密通信過程成本更低。
[0108]進一步地,參照圖6,基于第一或第二實施例提出本發明加密通信裝置第三實施例,在本實施例中,加密通信裝置還包括:
[0109]顯示模塊60,用于在檢測到通信指令時,顯示通信加密選擇界面,以供用戶基于通信加密選擇界面選擇是否進行通信加密;
[0110]該通信加密選擇界面可為提示框(如彈框),也可直接在通信界面的預設區域顯示該加密選擇界面。該通信指令可為通話指令或者其它通信指令如短息發送指令。
[0111]第一控制模塊70,用于在接收到基于通信加密選擇界面觸發的通信加密選擇指令時,控制移動終端進行加密通信。
[0112]本實施例公開的技術方案中,用戶可手動選擇是否進行加密通信,使得加密通信更加靈活。可以理解的是,在接收到基于通信加密選擇界面觸發的拒絕通信加密選擇指令時,直接采用明文的方式進行通信。
[0113]進一步地,參照圖7,基于第一至第三任一實施例提出本發明加密通信裝置第四實施例,在本實施例中,加密通信裝置還包括:
[0114]協商模塊80,用于在檢測到加密通信指令時,控制移動終端與加密通信的對端進行密鑰協商;
[0115]第二控制模塊90,用于在密鑰協商成功時,控制移動終端進行加密通信,并在密鑰協商失敗時,控制移動終端進行明文通信。
[0116]該加密通信指令可通過多種方式觸發,例如第三實施例中,在接收到基于通信加密選擇界面觸發的通信加密選擇指令時,判定接收到了加密通信指令;該加密通信指令也可通過預設控件實現。
[0117]在本實施例中,在進行加密通信之前先控制移動終端與加密通信的對端進行密鑰協商,以確定加密和解密密鑰,在密鑰協商失敗時,說明對端的加密通信方式與本端不同或者對端不支持加密通信,則只能采用明文的方式進行通信。本實施例公開的方案中,避免對端不支持通信加密,導致通信異常。
[0118]參照圖8,圖8為本發明加密通信方法第一實施例的流程示意圖。
[0119]本實施例提出一種加密通信方法,加密通信方法包括以下步驟:
[0120]步驟SlO,在移動終端進行加密通信時,獲取待加密的通信數據;
[0121 ]在本實施例中的通信數據可為通話數據及或短信數據,該通話數據可包括語音通話數據以及視頻通話數據;可以理解的是,該通信數據也可為其它即時通信應用進行通信時傳輸的數據,如微信聊天數據。
[0122]在進行加密通信時,待加密的通信數據為當前待傳輸的通信數據,例如在進行加密通話時,移動終端接收到的用戶輸入的語音數據即為待加密的通信數據,或者,在用戶選擇發送加密短信時,待發送的加密短信即為待加密的通信數據,其它通信應用同理,在此不再贅述。
[0123]用戶可在進行通信之前即選擇是否進行加密通信,例如移動終端中設置加密通信以及正常通信的控制,用戶通過觸發加密通信的控件來進入加密通信模式;或者,在用戶觸發通信應用時,輸出選擇界面由用戶選擇是否進行加密通信。可以理解的是,在通信過程中用戶也可通過通信應用界面中的控件觸發加密通信,例如用戶在通信過程中,突然要向對方說一些比較秘密的信息(例如銀行卡信息),此時可通過該控件觸發加密通信,則移動終端對后續的通信數據進行加密,當然,用戶在認為不需要加密時,也可通過通信應用界面中的控件取消通信加密。在其它方案中,用戶也可設置移動終端的運行模式,在終端運行模式切換至加密模式時,所有操作均進行加密,則在通信時進行加密通信;或者,對于多卡的移動終端,可針對某一 SIM卡設置加密通信,基于該SIM卡觸發的通信操作,均進行加密通信。
[0124]步驟S20,調用只讀存儲器中保存的加密算法對待加密的通信數據進行加密得到加密通信數據;
[0125]該加密算法可為SM4算法,SM4算法的分組長度是128比特,密鑰長度是128比特,加密算法與密鑰擴展算法都采用32輪非線性迭代結構。解密算法與加密算法的結構相同,只是輪密鑰的使用順序相反,解密輪密鑰是加密輪密鑰的逆序。SM4算法密鑰長度為128bit,若采用窮舉攻擊法進行攻擊需要2128次運算遠,要想用窮舉攻擊法破解需要相當長的時間。SM4算法的S盒規格是8bit輸入8bit輸出,具有非常強的非線性可以有效地抵御差分攻擊。可以理解的是該加密算法也可為其它算法,如DES算法,可根據需要由開發人員進行選擇。可將加密算法通過C語言實現,并配置JNI接口,以便于移動終端系統的調用。
[0126]如圖4所示,將加密算法置于移動終端系統的函數庫層,以實現對待加密的通信數據的加密,具體的步驟S20包括:
[0127]在調制解調層將待加密的通信數據由模擬信號轉換為數字信號;
[0128]經內核層將轉換后的待加密的通信數據傳輸至硬件抽象層進行封裝;
[0129]將封裝后的待加密的通信數據傳輸至函數庫層,以調用函數庫層中的加密算法對封裝后的待加密的通信數據加密得到加密通信數據。
[0130]參見圖4,移動終端應用層將接收到通信數據傳輸至調制解調(modem)層進行模數轉換,將通信數據由模擬數據信號為數據信號,并將轉換后的待加密的通信數據經內核(kerne I)層傳輸至硬件抽象層(HAL)進行封裝,將封裝后的傳輸至函數庫(I i braries)層,調用函數庫層中的加密工具(Encrypt Process),該加密工具調用加密算法的動態鏈接庫(so庫)進行加密,并將加密后的通信數據再傳輸至應用層,由應用層傳輸至對端
[0131]步驟S30,將加密通信數據發送至加密通信的對端。
[0132]本實施例提出的加密通信方法,將加密算法保存在移動終端的只讀存儲器中,在移動終端進行加密通信時,可直接調用只讀存儲器中保存的加密算法對待加密的通信數據進行加密得到加密通信數據,并將加密通信數據發送至加密通信的對端,本方案不用在移動終端中增加其它硬件來對通信數據進行加密,僅需要將加密算法寫入移動終端的只讀存儲器中即可,加密通信的成本較低。
[0133]進一步地,參照圖9,基于第一實施例提出本發明加密通信方法第二實施例,在本實施例中,加密通信方法還包括:
[0134]步驟S40,在接收到加密通信的對端發送的加密通信數據時,調用只讀存儲器中保存的解密算法對加密通信數據進行解密;
[0135]由于移動終端在加密通信過程中不但要對傳輸至對端的通信數據進行加密,還需要對接收到對端數據進行解密以便于查看,則在接收到加密的通信數據時,采用保存的解密算法進行解密,加密以及解密過程是逆向實現的,在此不再贅述。該解密算法也可為SM4算法,與加密算法相對應。
[0136]解密算法也可設置于移動終端系統的函數庫層,即步驟S40包括:
[0137]經內核層將加密通信數據傳輸至硬件抽象層進行解封裝;
[0138]將解封裝后的加密通信數據傳輸至函數庫層,以調用函數庫層中的解密算法解密解封裝后的加密通信數據得到解密后的通信數據;
[0139]將解密后的通信數據轉換傳輸至調制解調層轉換為模擬信號輸出。
[0140]步驟S50,輸出解密后的加密通信數據。
[0141]輸出解密后的通信數據,可包括播放通信數據以及顯示通信數據。
[0142]本實施例提出的方案中,移動終端可對通信數據加密的同時,采用只讀存儲器中的解密算法對接收到的加密通信數據進行解密,使得加密通信過程成本更低。
[0143]進一步地,參照圖10,基于第一或第二實施例提出本發明加密通信方法第三實施例,在本實施例中,步驟SlO之前還包括:
[0144]步驟S60,在檢測到通信指令時,顯示通信加密選擇界面,以供用戶基于通信加密選擇界面選擇是否進行通信加密;
[0145]步驟S70,在接收到基于通信加密選擇界面觸發的通信加密選擇指令時,控制移動終端進行加密通信。
[0146]該通信加密選擇界面可為提示框(如彈框),也可直接在通信界面的預設區域顯示該加密選擇界面。該通信指令可為通話指令或者其它通信指令如短息發送指令。
[0147]本實施例公開的技術方案中,用戶可手動選擇是否進行加密通信,使得加密通信更加靈活。可以理解的是,在接收到基于通信加密選擇界面觸發的拒絕通信加密選擇指令時,直接采用明文的方式進行通信。
[0148]進一步地,參照圖11,基于第一至第三任一實施例提出本發明加密通信方法第四實施例,在本實施例中,步驟SlO之前還包括:
[0149]步驟S80,在檢測到加密通信指令時,控制移動終端與加密通信的對端進行密鑰協商;
[0150]步驟S90,在密鑰協商成功時,控制移動終端進行加密通信;
[0151 ]步驟S80之后,加密通信方法還包括步驟:
[0152]步驟SlOO,在密鑰協商失敗時,控制移動終端進行明文通信。
[0153]該加密通信指令可通過多種方式觸發,例如第三實施例中,在接收到基于通信加密選擇界面觸發的通信加密選擇指令時,判定接收到了加密通信指令;該加密通信指令也可通過預設控件實現。
[0154]在本實施例中,在進行加密通信之前先控制移動終端與加密通信的對端進行密鑰協商,以確定加密和解密密鑰,在密鑰協商失敗時,說明對端的加密通信方式與本端不同或者對端不支持加密通信,則只能采用明文的方式進行通信。本實施例公開的方案中,避免對端不支持通信加密,導致通信異常。
[0155]需要說明的是,在本文中,術語“包括”、“包含”或者其任何其它變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者系統不僅包括那些要素,而且還包括沒有明確列出的其它要素,或者是還包括為這種過程、方法、物品或者系統所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括該要素的過程、方法、物品或者系統中還存在另外的相同要素。
[0156]上述本發明實施例序號僅僅為了描述,不代表實施例的優劣。
[0157]通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到上述實施例方法可借助軟件加必需的通用硬件平臺的方式來實現,當然也可以通過硬件,但很多情況下前者是更佳的實施方式。基于這樣的理解,本發明的技術方案本質上或者說對現有技術做出貢獻的部分可以以軟件產品的形式體現出來,該計算機軟件產品存儲在一個存儲介質(如只讀存儲器/RAM、磁碟、光盤)中,包括若干指令用以使得一臺終端設備(可以是手機,計算機,服務器,空調器,或者網絡設備等)執行本發明各個實施例的方法。
[0158]以上僅為本發明的優選實施例,并非因此限制本發明的專利范圍,凡是利用本發明說明書及附圖內容所作的等效結構或等效流程變換,或直接或間接運用在其它相關的技術領域,均同理包括在本發明的專利保護范圍內。
【主權項】
1.一種加密通信裝置,其特征在于,所述加密通信裝置包括: 獲取模塊,用于在移動終端進行加密通信時,獲取待加密的通信數據; 加密模塊,用于調用只讀存儲器中保存的加密算法對所述待加密的通信數據進行加密得到加密通信數據; 發送模塊,用于將所述加密通信數據發送至所述加密通信的對端。2.如權利要求1所述的加密通信裝置,其特征在于,所述加密模塊包括: 轉換單元,用于在調制解調層將所述待加密的通信數據由模擬信號轉換為數字信號; 封裝單元,用于經內核層將轉換后的所述待加密的通信數據傳輸至硬件抽象層進行封裝; 加密單元,用于將封裝后的所述待加密的通信數據傳輸至函數庫層,以調用函數庫層中的加密算法對封裝后的所述待加密的通信數據加密得到所述加密通信數據。3.如權利要求1所述的加密通信裝置,其特征在于,所述加密通信裝置還包括: 解密模塊,用于在接收到加密通信的對端發送的加密通信數據時,調用只讀存儲器中保存的解密算法對所述加密通信數據進行解密; 輸出模塊,用于輸出解密后的所述加密通信數據。4.如權利要求1-3任一項所述的加密通信裝置,其特征在于,所述加密通信裝置還包括: 顯示模塊,用于在檢測到通信指令時,顯示通信加密選擇界面,以供用戶基于所述通信加密選擇界面選擇是否進行通信加密; 第一控制模塊,用于在接收到基于所述通信加密選擇界面觸發的通信加密選擇指令時,控制所述移動終端進行加密通信。5.如權利要求1-3任一項所述的加密通信裝置,其特征在于,所述加密通信裝置還包括: 協商模塊,用于在檢測到加密通信指令時,控制移動終端與加密通信的對端進行密鑰協商; 第二控制模塊,用于在密鑰協商成功時,控制所述移動終端進行加密通信,并在密鑰協商失敗時,控制所述移動終端進行明文通信。6.一種加密通信方法,其特征在于,所述加密通信方法包括: 在移動終端進行加密通信時,獲取待加密的通信數據; 調用只讀存儲器中保存的加密算法對所述待加密的通信數據進行加密得到加密通信數據; 將所述加密通信數據發送至所述加密通信的對端。7.如權利要求6所述的加密通信方法,其特征在于,所述調用只讀存儲器中保存的加密算法對所述待加密的通信數據進行加密得到加密通信數據的步驟包括: 在調制解調層將所述待加密的通信數據由模擬信號轉換為數字信號; 經內核層將轉換后的所述待加密的通信數據傳輸至硬件抽象層進行封裝; 將封裝后的所述待加密的通信數據傳輸至函數庫層,以調用函數庫層中的加密算法對封裝后的所述待加密的通信數據加密得到所述加密通信數據。8.如權利要求6所述的加密通信方法,其特征在于,所述加密通信方法還包括步驟: 在接收到加密通信的對端發送的加密通信數據時,調用只讀存儲器中保存的解密算法對所述加密通信數據進行解密; 輸出解密后的所述加密通信數據。9.如權利要求6-8任一項所述的加密通信方法,其特征在于,所述在移動終端進行加密通信時,獲取待加密的通信數據的步驟之前,所述加密通信方法包括步驟: 在檢測到通信指令時,顯示通信加密選擇界面,以供用戶基于所述通信加密選擇界面選擇是否進行通信加密; 在接收到基于所述通信加密選擇界面觸發的通信加密選擇指令時,控制所述移動終端進行加密通信。10.如權利要求6-8任一項所述的加密通信方法,其特征在于,所述在移動終端進行加密通信時,獲取待加密的通信數據的步驟之前,還包括: 在檢測到加密通信指令時,控制移動終端與加密通信的對端進行密鑰協商; 在密鑰協商成功時,控制所述移動終端進行加密通信; 所述控制移動終端與加密通信的對端進行密鑰協商的步驟之后,所述加密通信方法還包括步驟: 在密鑰協商失敗時,控制所述移動終端進行明文通信。
【文檔編號】H04L9/08GK106059755SQ201610490210
【公開日】2016年10月26日
【申請日】2016年6月28日
【發明人】張冠群
【申請人】努比亞技術有限公司