胡雙喜,呂前進(jìn),梁友仁,劉健旭
(天津光電安辰信息技術(shù)股份有限公司,天津 300211)
?
基于國(guó)密算法的智能終端語(yǔ)音加密系統(tǒng)設(shè)計(jì)*
胡雙喜,呂前進(jìn),梁友仁,劉健旭
(天津光電安辰信息技術(shù)股份有限公司,天津 300211)
設(shè)計(jì)了基于國(guó)密算法的智能終端語(yǔ)言加密系統(tǒng),該系統(tǒng)采用移動(dòng)互聯(lián)網(wǎng)、通信技術(shù)和密碼學(xué)技術(shù)相結(jié)合的方法,基于國(guó)密算法和標(biāo)準(zhǔn)的PKI證書機(jī)制,完成統(tǒng)一簽名身份認(rèn)證、安全訪問控制和語(yǔ)音數(shù)據(jù)加解密功能,從而實(shí)現(xiàn)手機(jī)終端的端到端安全語(yǔ)音通信。
國(guó)密算法;語(yǔ)音加密;身份認(rèn)證;訪問控制
由于缺乏保密措施, 電話竊聽事件不斷發(fā)生,嚴(yán)重威脅著個(gè)人隱私、軍事商業(yè)秘密甚至地區(qū)或國(guó)家的信息安全。目前基本采用兩種保密方式:一種是使用保密手機(jī),采用這種方式用戶必須選擇特定的手機(jī),不僅增加用戶成本,而且會(huì)使用戶的體驗(yàn)感極大降低,用戶很難接受;另一種就是采用軟加密技術(shù),針對(duì)國(guó)外的DES、AES和RSA[1]等算法的密碼學(xué)技術(shù)不可控,安全性得不到有效保證。
本文基于國(guó)產(chǎn)安全芯片和SM1、SM2和SM3國(guó)密算法,設(shè)計(jì)了一套語(yǔ)音加密系統(tǒng),在用戶無(wú)需更換手機(jī)終端的前提下,避免了非法用戶截取用戶通信數(shù)據(jù)來(lái)獲取語(yǔ)音內(nèi)容的危險(xiǎn),消除了語(yǔ)音可能存在的數(shù)據(jù)丟失和隱私泄露的安全隱患,保護(hù)了語(yǔ)音信息的安全。
本文設(shè)計(jì)的基于國(guó)密算法的智能終端語(yǔ)音加密系統(tǒng)[2]的總體結(jié)構(gòu)包括密鑰管理中心(KMC)、終端通信應(yīng)用(APP)、SD密碼卡(蘋果專用KEY)及安全軟交換平臺(tái)的技術(shù)實(shí)現(xiàn)方案,其系統(tǒng)總體應(yīng)用框圖如圖1所示。
圖1 語(yǔ)音加密通信系統(tǒng)結(jié)構(gòu)圖
系統(tǒng)的軟硬件設(shè)計(jì)包括三層,分別是應(yīng)用層、驅(qū)動(dòng)層和物理層,如圖2所示。
圖2 系統(tǒng)的軟硬件組成圖
2.1 系統(tǒng)的硬件設(shè)計(jì)
本設(shè)計(jì)以智能終端和國(guó)密算法芯片微處理器為核心,智能終端實(shí)現(xiàn)語(yǔ)音采集回放、數(shù)字語(yǔ)音編解碼、國(guó)密算法芯片實(shí)現(xiàn)身份認(rèn)證和加解密等功能, 通過(guò)VoIP網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)交換, 實(shí)現(xiàn)了語(yǔ)音的加密傳輸[3]。本文中智能終端是通用的手機(jī)設(shè)備,硬件設(shè)計(jì)主要集中于支持國(guó)密算法的硬件密碼設(shè)備中。
2.1.1 SD密碼卡
硬件SD密碼卡在SDIO總線定義中,DAT1信號(hào)線復(fù)用為中斷線。在SDIO的1BIT模式下DAT0用來(lái)傳輸數(shù)據(jù),DAT1用作中斷線。在SDIO的4BIT模式下DAT0~DAT3用來(lái)傳輸數(shù)據(jù),其中DAT1復(fù)用作中斷線。
2.1.2 蘋果專用KEY
蘋果專用KEY結(jié)構(gòu)示意圖如圖3所示,其中l(wèi)ightning接口的Sa,Sb是信號(hào)接口,向iPhone發(fā)送信號(hào),告訴iPhone現(xiàn)在是A面還是B面。另外lightning頭有4種模塊,如果是USB模塊,Sb還擔(dān)當(dāng)了由iPhone提供給外設(shè)電源的功能。D+、D-是USB的數(shù)據(jù)線,傳輸數(shù)據(jù)。Vusb是USB的電源線,給iPhone充電。NC是未定義的腳,即暫時(shí)沒有用到。GND是地線。
圖3 蘋果專用KEY結(jié)構(gòu)示意圖
2.2 系統(tǒng)的軟件設(shè)計(jì)
2.2.1 系統(tǒng)APP軟件的應(yīng)用總體架構(gòu)
本系統(tǒng)自頂向下主要分為四個(gè)層次,分別為應(yīng)用程序界面、語(yǔ)音加密通話功能模塊、安全中間件、API和系統(tǒng)底層庫(kù)。四個(gè)層次呈現(xiàn)自頂向下的依賴和調(diào)用關(guān)系。總體框架如圖4所示。
圖4 APP整體框架圖
2.2.2 密碼模塊的應(yīng)用架構(gòu)
密碼模塊主要負(fù)責(zé)密鑰管理、證書管理、加解密及簽名驗(yàn)證等功能。本系統(tǒng)使用證書管理功能對(duì)用戶的身份進(jìn)行認(rèn)證,使用加解密功能對(duì)語(yǔ)音編碼后的數(shù)據(jù)進(jìn)行加解密[4];密鑰管理程序使用密鑰管理、證書管理、加解密、身份驗(yàn)證和訪問控制功能,完成證書的頒發(fā)、驗(yàn)證及撤銷功能。密碼模塊的應(yīng)用架構(gòu)如圖5所示。
圖5 密碼模塊的應(yīng)用架構(gòu)
2.2.3 系統(tǒng)軟件的功能模塊設(shè)計(jì)
(1)音頻采集回放模塊
語(yǔ)音采集子模塊從手機(jī)的麥克風(fēng)實(shí)時(shí)采集語(yǔ)音,采樣率為8 kHz,通過(guò)A/D轉(zhuǎn)換成數(shù)字語(yǔ)音。語(yǔ)音回放子模塊是將接收到的數(shù)字語(yǔ)音經(jīng)過(guò)D/A轉(zhuǎn)換成模擬信號(hào),從手機(jī)的聽筒或揚(yáng)聲器實(shí)時(shí)回放語(yǔ)音信號(hào),回放應(yīng)保持語(yǔ)音的實(shí)時(shí)性。
本軟件的音頻采集模塊主要是通過(guò)調(diào)用系統(tǒng)底層的音頻處理庫(kù)來(lái)進(jìn)行的。首先通過(guò)系統(tǒng)函數(shù),獲取音頻的路由,即通過(guò)何種方式采集和回放音頻。如果設(shè)備可用,則調(diào)用收發(fā)音頻的函數(shù),操作設(shè)備。音頻流被放置在若干個(gè)串聯(lián)成鏈表的緩沖鏈表數(shù)據(jù)結(jié)構(gòu)中,一旦一包音頻數(shù)據(jù)采集完畢,則放到下一個(gè)緩沖環(huán)節(jié)中。
(2)音頻編解碼模塊
音頻編碼模塊采用G.729[5]語(yǔ)音編碼技術(shù),對(duì)交換傳輸語(yǔ)音進(jìn)行編解碼。由于G.729編解碼器具有很高的語(yǔ)音質(zhì)量和很低的延時(shí),被廣泛應(yīng)用在數(shù)據(jù)通信的各個(gè)領(lǐng)域,如VoIP和H.323網(wǎng)上多媒體通信系統(tǒng)等。G.729編碼占用帶寬小,非常適合移動(dòng)數(shù)據(jù)網(wǎng)絡(luò)下傳送語(yǔ)音數(shù)據(jù),使用普通編碼的語(yǔ)音通信需要占用64 Kb/s的帶寬,而G.729僅僅需要8 Kb/s。
(3)語(yǔ)音數(shù)據(jù)傳輸模塊
語(yǔ)音數(shù)據(jù)主要是通過(guò)基于UDP傳輸?shù)腞TP協(xié)議進(jìn)行傳輸。RTP分為協(xié)議頭和消息載荷兩部分,協(xié)議頭有12 B,用來(lái)保存消息的序列、時(shí)間戳、編碼類型等信息。載荷的大小則是根據(jù)SDP協(xié)商出來(lái)的由語(yǔ)音編碼決定的音頻每一幀包的大小。即一包RTP傳送一幀的音頻數(shù)據(jù),通常一秒鐘會(huì)傳遞50包音頻數(shù)據(jù),每一包20 ms。本軟件采用的是G729編碼,載荷大小為20 B。
(4)加解密控制模塊
加解密控制模塊主要對(duì)本軟件加解密操作進(jìn)行調(diào)度安排[6]。加解密控制模塊既要保證加解密過(guò)程的正確性,又要保證加解密過(guò)程的安全性。在進(jìn)行重要的加解密操作或訪問安全等級(jí)較高的文件時(shí),需要進(jìn)行認(rèn)證后才可以進(jìn)行加解密操作,同時(shí),傳輸過(guò)程中的數(shù)據(jù)也是加密傳輸?shù)?。通話的時(shí)候,采用端加密,即設(shè)備在發(fā)送語(yǔ)音數(shù)據(jù)之前,將其加密,收到語(yǔ)音數(shù)據(jù)以后將其解密。
(5)密碼模塊中間件
密碼模塊中間件將底層的協(xié)議指令進(jìn)行封裝,便于其他模塊對(duì)密碼模塊進(jìn)行調(diào)用,同時(shí),將底層的基本加解密、簽名驗(yàn)證等簡(jiǎn)單操作封裝為功能級(jí)別的接口,主要接口包括:對(duì)稱加解密、非對(duì)稱加解密、簽名驗(yàn)證、摘要、身份認(rèn)證、訪問控制及文件讀寫等。
本軟件的密碼模塊中間件主要是對(duì)加密卡的訪問進(jìn)行封裝。主要函數(shù)為尋找設(shè)備、初始化設(shè)備、設(shè)備收發(fā)指令、外部驗(yàn)證、銷毀設(shè)備。
(6)密碼模塊
密碼模塊為本系統(tǒng)提供核心密碼算法,主要包括對(duì)稱密碼算法、非對(duì)稱密碼算法、摘要密碼算法、隨機(jī)數(shù)發(fā)生器等。其中,密碼算法均為國(guó)密局指定算法,包括SM1、SM2、SM3、SM4等,同時(shí)還具備國(guó)際標(biāo)準(zhǔn)算法,包括AES、RSA等。
密碼模塊具有文件管理系統(tǒng),能夠?qū)γ總€(gè)文件進(jìn)行獨(dú)立的權(quán)限管理,具有較高的安全性。密碼模塊具有獨(dú)立的存儲(chǔ)空間,可以存儲(chǔ)密鑰、證書等關(guān)鍵數(shù)據(jù)。
(7)身份認(rèn)證模塊
身份有效性驗(yàn)證模塊用于在加密通信開始時(shí),通信雙方對(duì)雙方的身份進(jìn)行確認(rèn)。本設(shè)計(jì)中身份認(rèn)證分為兩種:一種是基于雙向數(shù)字證書的身份驗(yàn)證,通常用于KMC初始化卡、密鑰協(xié)商等步驟。身份認(rèn)證的主要流程為通過(guò)驗(yàn)證證書的簽名來(lái)確保證書可信。另一種是基于商密算法的身份驗(yàn)證,分為文件驗(yàn)證和函數(shù)驗(yàn)證。這個(gè)驗(yàn)證主要是在密碼模塊內(nèi)部進(jìn)行的。
(8)密鑰協(xié)商模塊
本系統(tǒng)使用雙向數(shù)字信封技術(shù)實(shí)現(xiàn)密鑰交換的功能。密鑰交換模塊用于加密通信開始時(shí),完成身份有效性驗(yàn)證后,通信雙方通過(guò)密鑰交換,生成會(huì)話密鑰。密鑰協(xié)商過(guò)程:每一次會(huì)話之前都要協(xié)商會(huì)話密鑰,來(lái)確保一次通話一個(gè)密鑰,大大增加了黑客破解難度。由于建立在PKI機(jī)制和數(shù)字信封的基礎(chǔ)上,因此密鑰協(xié)商傳輸過(guò)程是安全的。
系統(tǒng)采用多種安全機(jī)制保障系統(tǒng)的安全性,如表1所示。
表1 系統(tǒng)設(shè)計(jì)的安全機(jī)制表
系統(tǒng)能夠保證通信信道上傳輸?shù)恼Z(yǔ)音數(shù)據(jù)的安全性,語(yǔ)音均為加密數(shù)據(jù),可以有效防止第三方從信道上竊取語(yǔ)音數(shù)據(jù)。應(yīng)用軟件基于IP數(shù)據(jù)通信鏈路,能夠提供優(yōu)良的語(yǔ)音質(zhì)量,較低的語(yǔ)音延遲,能夠覆蓋全球,具備跨國(guó)通話能力。使用本系統(tǒng)很容易在部門同事、供應(yīng)商、合作伙伴之間發(fā)起一個(gè)正常的安全通話,無(wú)論你是在辦公室還是出差在外,在國(guó)內(nèi)還是在國(guó)外,都能受到端到端的加密保護(hù)。
本設(shè)計(jì)適用于對(duì)語(yǔ)音保密通信有需求的政府機(jī)關(guān)、軍隊(duì)等, 也適合需要保密的商業(yè)通信。采用本系統(tǒng)用戶可以像使用普通電話一樣實(shí)現(xiàn)語(yǔ)音保密通信。在電信IDC機(jī)房、移動(dòng)IDC機(jī)房分別搭建了加密語(yǔ)音通信服務(wù)平臺(tái),已經(jīng)達(dá)到實(shí)用化的目標(biāo),用戶反饋效果良好。
[1] 仇國(guó)慶,包俊杰, 曹冬梅,等.基于AES算法的ZigBee網(wǎng)絡(luò)加密方法研究[J].電子技術(shù)應(yīng)用,2014,40(4):56-58.
[2] 劉安戰(zhàn),賈曉輝.基于Android的私密短信系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].微型機(jī)與應(yīng)用,2012,31(17):51-52.
[3] 劉雪樵.一個(gè)單方加密—多方解密的公鑰加密方案的分析[J].微型機(jī)與應(yīng)用,2014,33(8):55-56.
[4] 嚴(yán)迎建,任方,付小兵,等.基于NiosII的語(yǔ)音加密傳輸系統(tǒng)設(shè)計(jì)[J].電子技術(shù)應(yīng)用, 2009,35(9):61-64.
[5] ITU-T Rec.G.729(03/96)Coding of speech at 8 kbit/s using conjugate structure algebraic code excited linear prediction[S], 2012.
[6] 董貴山,盧顯良,鄧春梅,等.一種Linux網(wǎng)絡(luò)硬件加密高性能并發(fā)調(diào)度方法[J].計(jì)算機(jī)應(yīng)用, 2008,28(1):65-67.
Design of intelligent terminal voice encryption system based on thenational standard encryption algorithm
Hu Shuangxi, Lv Qianjin, Liang Youren, Liu Jianxu
(Tianjin Toec Anchen Information Technology Co., Ltd., Tianjin 300211, China)
This paper designed an intelligent terminal encryption system based on the national standard encryption algorithm. It adopts the method of mobile Internet, communication technology and cryptography, based on the algorithm and standard mechanism of PKI certificate unification signature authentication, secure access control and voice data encryption function, so as to realize the end-to-end security voice communication of mobile terminal.
the national standard encryption algorithm; voice encryption; identity authentication; access control
天津市科技支撐計(jì)劃(16YFZCGX00200)
TP309.7
A
10.19358/j.issn.1674- 7720.2017.12.001
胡雙喜,呂前進(jìn),梁友仁,等.基于國(guó)密算法的智能終端語(yǔ)音加密系統(tǒng)設(shè)計(jì)[J].微型機(jī)與應(yīng)用,2017,36(12):1-3.
2017-01-19)
胡雙喜,(1982-),男,碩士,高級(jí)工程師,主要研究方向:信息安全系統(tǒng)研發(fā)。
呂前進(jìn),(1975-),男,碩士,正高級(jí)工程師,主要研究方向:項(xiàng)管理與安全系統(tǒng)設(shè)計(jì)。
梁友仁,(1983-),男,碩士,高級(jí)工程師,主要研究方向:網(wǎng)絡(luò)安全信息系統(tǒng)設(shè)計(jì)。