• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于Speex編碼的網(wǎng)絡(luò)通話語音加密方法實(shí)現(xiàn)*

      2014-02-09 09:02:12東,陳
      通信技術(shù) 2014年12期
      關(guān)鍵詞:音頻文件接收端通話

      張 東,陳 晨

      (四川大學(xué)計(jì)算機(jī)學(xué)院,四川成都610065)

      基于Speex編碼的網(wǎng)絡(luò)通話語音加密方法實(shí)現(xiàn)*

      張 東,陳 晨

      (四川大學(xué)計(jì)算機(jī)學(xué)院,四川成都610065)

      針對(duì)Android系統(tǒng)在網(wǎng)絡(luò)通話過程中語音數(shù)據(jù)的傳輸效率和安全性,本文設(shè)計(jì)實(shí)現(xiàn)了語音的再編碼和加密。通過Speex編碼對(duì)獲取的源音頻編碼壓縮,使用AES和RSA算法對(duì)音頻數(shù)據(jù)進(jìn)行加密處理,將加密后的音頻數(shù)據(jù)和加密口令發(fā)送給語音接收端,建立安全的語音通話過程。實(shí)驗(yàn)證明在確保語音通話質(zhì)量的前提下,減少了語音數(shù)據(jù)傳輸時(shí)間和加密的數(shù)據(jù)量,確保了通話中的安全性。

      Android系統(tǒng) Speex編碼 AES RSA

      0 引 言

      隨著4G移動(dòng)網(wǎng)絡(luò)的出現(xiàn),使得手機(jī)的網(wǎng)絡(luò)應(yīng)用越來越受到人們關(guān)注,其中網(wǎng)絡(luò)電話則更是成為手機(jī)應(yīng)用熱門,由于它的便捷性,實(shí)用性,其價(jià)格與傳統(tǒng)電話通信相比也更便宜。特別是如今智能手機(jī)的普及,使得用戶可以安裝各種實(shí)用性功能的應(yīng)用到手機(jī)中,其中的網(wǎng)絡(luò)通話軟件比如代表性的微信、Skype、Line等等,不僅為用戶提供了更多的交流體驗(yàn)也讓網(wǎng)絡(luò)語音通話逐漸成為可能。

      通信是人們信息交流的重要方式,所以通信的質(zhì)量和安全也顯得尤為重要。在網(wǎng)絡(luò)語音通話中,一般的通信數(shù)據(jù)都是通過IPv4封包傳遞,數(shù)據(jù)在傳輸過程中其安全性則沒有確切的保證,很容易被截獲和竊聽。為了防止這樣的情況發(fā)生,本文實(shí)現(xiàn)了一種安全可靠的語音加密方法[1]。

      該方法通過Speex編碼減少原始音頻數(shù)據(jù)的容量,并確保了通話語音的質(zhì)量。采用AES-128位和RSA兩種加密算法對(duì)數(shù)據(jù)加密處理以確保安全性, AES-128對(duì)音頻數(shù)據(jù)進(jìn)行加密,RSA對(duì)口令進(jìn)行加密,再發(fā)送加密后的數(shù)據(jù)和口令。加密后的語音在傳輸過程中占用更低的網(wǎng)絡(luò)帶寬,提高傳輸速度,降低了通信中的時(shí)延問題。

      發(fā)送端和接收端在通話建立之前需登錄SIP代理服務(wù)器獲取雙方的通信地址,通話的呼叫控制使

      用SIP協(xié)議,該協(xié)議是應(yīng)用層的會(huì)話控制協(xié)議,用于發(fā)起和結(jié)束通話管理,也用于通話過程修改。

      1 Speex算法

      Speex是一套功能強(qiáng)大的開源語音引擎編碼算法,能夠?qū)崿F(xiàn)高質(zhì)量和低比特率的編碼。除了提供了基于碼激勵(lì)線性預(yù)測(CELP)算法的編/解碼模塊,還提供了聲音預(yù)處理和聲學(xué)回聲消除模塊,專門為碼率在2~44 kbps的語音壓縮設(shè)計(jì)。Speex編解碼庫設(shè)計(jì)非常靈活,其特點(diǎn)主要有:窄帶(8 kHz),寬帶(16 kHz)和超寬帶(32 kHz)壓縮于同一位流;強(qiáng)化立體編碼;數(shù)據(jù)包丟失隱藏;可變比特率;語音捕捉;非連續(xù)傳輸;定點(diǎn)運(yùn)算;感官回聲消除;噪音屏蔽[3]。

      相對(duì)于其它編解碼器,Speex非常適用于網(wǎng)絡(luò),尤其是VoIP網(wǎng)絡(luò)電話,它對(duì)于丟包能夠很好的處理,不會(huì)損壞數(shù)據(jù),而且數(shù)據(jù)包不會(huì)在傳輸過程中丟失。

      使用Speex編碼音頻數(shù)據(jù)再進(jìn)行加密,一方面是編碼后的數(shù)據(jù)量更小,使得加密速度更快;另一方面是在Speex編碼后的文件也更適用于手機(jī)網(wǎng)絡(luò)環(huán)境,提高了數(shù)據(jù)傳輸速度。直接對(duì)數(shù)據(jù)加密再進(jìn)行傳輸,在數(shù)據(jù)量大的情況下傳輸時(shí)間會(huì)更長,降低了用戶體驗(yàn),所以本文在設(shè)計(jì)中先對(duì)音頻數(shù)據(jù)進(jìn)行Speex編碼再進(jìn)行加密是一種更加優(yōu)化的方案。

      2 安全通話架構(gòu)

      整個(gè)通話過程的架構(gòu)如圖1所示,主要由四部分組成,密鑰分發(fā)管理中心,SIP代理服務(wù)器,語音發(fā)送端和語音接收端[2]。

      圖1 語音通話過程建立Fig.1 Process of voice call

      密鑰分發(fā)管理中心存儲(chǔ)和分配用戶生成的公鑰和私鑰,SIP代理服務(wù)器管理用戶的注冊信息,當(dāng)語音發(fā)送端要發(fā)送信息到接收端時(shí),發(fā)送端先登錄SIP代理服務(wù)器獲取接收端的通信地址后,才能將數(shù)據(jù)正確送達(dá)。

      語音發(fā)送流程如圖2所示,發(fā)送端獲取原始音頻,編碼加密原始音頻,將結(jié)果文件發(fā)送給接收端,接收端進(jìn)行反向處理接收到的音頻文件,最后需要的語音文件。

      圖2 語音發(fā)送流程Fig.2 Process of sending voice data

      3 語音加密解密模塊

      本文是基于Android平臺(tái)上實(shí)現(xiàn)的語音編碼加密解密。通過Android手機(jī)的麥克風(fēng)獲取用戶聲音模擬信號(hào),再通過抽樣、量化、編碼三個(gè)步驟將連續(xù)變化的模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào),存儲(chǔ)為脈沖代碼調(diào)制編碼(PCM編碼)。在生成PCM編碼后,立即對(duì)PCM文件進(jìn)行Speex編碼,編碼結(jié)束則進(jìn)行音頻數(shù)據(jù)的加密。首先用戶輸入加密口令,通過用戶的加密口令使用AES-128位算法加密原始語音,接著RSA生成私鑰和公鑰,并用私鑰加密加密口令[4]。

      完成語音的整個(gè)加密過程后,發(fā)送端連接SIP代理服務(wù)器獲取接收端的IP和相關(guān)信息,接著發(fā)送端呼叫接收端并獲取回復(fù),建立通話過程,然后將加密后的語音傳送給接收方。當(dāng)語音接收方獲取到加密的語音后通過公鑰解密出加密口令,再次通過加密口令解密數(shù)據(jù)最終解碼出原始語音。

      3.1 編碼與解碼模塊

      開發(fā)環(huán)境為eclipse ADT,所用系統(tǒng)版本為Android 4.4.2,Java JDK版本好8u5,使用了speex-1. 2rc1音頻編碼版本庫。

      編譯配置,讓其可以在Android平臺(tái)下調(diào)用C/ C++代碼。新建Application.mk,描述程序運(yùn)行中需要的模塊。新建speex_jni.cpp調(diào)用Speex庫的C代碼函數(shù)。在com.nisec.speex包內(nèi)新建Speex.java用于程序中直接調(diào)用Speex中的主要方法。

      編碼的過程先初始化Speex庫,調(diào)用getFrame-Size()獲取編碼值,調(diào)用encode方法對(duì)音頻文件進(jìn)行壓縮編碼。生成.spx文件。解碼步驟相似直接

      調(diào)用decode方法獲得初始音頻文件。

      編碼壓縮和解碼解壓縮流程如圖3。

      圖3 語音Speex編碼解碼過程Fig.3 Process of voice codec with Speex

      3.3 加密解密模塊

      加密解密模塊分別使用了AES和RSA加密算法,使用AES-128算法加密音頻數(shù)據(jù),RSA算法生成公鑰publicKey和私鑰PrivateKey。

      本文在Android 4.4.2平臺(tái)下進(jìn)行語音數(shù)據(jù)的加密和解密,AES使用的是128位長度的密鑰作為加密口令,AES算法直接采用JAVA-8u5版本的JDK中的函數(shù)包:

      java.security.* //加密方法類

      javax.crypto.* //加密操作的類和接口

      加密過程如圖4所示,步驟如下:

      1)用戶輸入InputKey,即對(duì)稱密鑰;

      2)RSA加密算法調(diào)用KeyPairGenerator方法隨機(jī)生成1024位的PublickKey和PrivateKey,并將它們發(fā)送至遠(yuǎn)程密鑰分發(fā)中心進(jìn)行保存,使用RSAPrivateKey方法加密InputKey,得到EncryptKey;

      3)使用keyGenerator方法將用戶輸入的Input-Key生成隨機(jī)的128位AES密鑰,獲取編碼模塊生成的.spx音頻文件,CipherInputStream方法和Input-Key對(duì)音頻文件進(jìn)行加密,得到EncryptData;

      4)將加密后的EncryptKey和EncryptData發(fā)送到接收端。

      5)接收端回復(fù)確認(rèn)連接信息。

      圖4 加密過程Fig.4 Process of encryption

      解密過程如圖5所示,步驟如下:

      1)接收端用戶首先通過遠(yuǎn)程密鑰分發(fā)管理中心獲取PublicKey;

      2)調(diào)用RSAPublicKey方法通過PublickKey解密EncryptKey獲得對(duì)稱密鑰InputKey;

      3)使用CipherOutputStream方法和InputKey解密EncryptData,得到.spx音頻文件;

      4)Speex編碼解碼模塊將解密出來的.spx音頻文件解碼得到原始音頻。

      5)接收端獲取原始音頻文件,最終通話建立。

      圖5 解密過程Fig.5 Process of decryption

      4 實(shí)驗(yàn)分析與測試

      4.1 音頻文件處理前后大小對(duì)比

      實(shí)驗(yàn)中錄制了時(shí)長分別為10秒和60秒的音頻文件,將兩個(gè)不同時(shí)長的文件分別和原始的音頻文件進(jìn)行了比對(duì),Speex編碼前后文件大小的比對(duì)和文件加密前后的大小比對(duì),其文件大小對(duì)比如下表格:

      表1 10秒音頻文件對(duì)比Table 1 File size comparison of 10 seconds

      表2 60秒音頻文件對(duì)比Table 2 File size comparison of 60 seconds

      從上面的表1和表2可以看出音頻文件在通過Speex編碼后文件大小減少了20%,這在網(wǎng)絡(luò)傳輸過程中很大程度提升了網(wǎng)絡(luò)傳輸效率,同時(shí)也減少了加密的數(shù)據(jù)量。

      4.2 時(shí)延對(duì)比

      在實(shí)驗(yàn)中我們令獲取原始音頻后不處理直接進(jìn)行傳輸通話的過程時(shí)間為Ts,令獲取原始音頻后進(jìn)行編碼和加密處理后再傳輸通話的過程時(shí)間為Te。

      分別錄制了10 s、30 s、60 s、120 s時(shí)長的音頻文件,并獲取每個(gè)時(shí)長的音頻文件的Ts和Te時(shí)間,通過每個(gè)時(shí)長的音頻文件所耗費(fèi)的時(shí)間與其編碼加密后所耗費(fèi)的時(shí)間進(jìn)行對(duì)比,判斷在時(shí)延可接受的情況下,對(duì)音頻文件的編碼和加密處理后是否會(huì)影響到通話效率。實(shí)驗(yàn)結(jié)果如圖6所示。

      圖6 音頻文件通信過程時(shí)延對(duì)比Fig.6 Time-delay comparison chart in voice data transmission

      時(shí)間結(jié)果對(duì)比可以看出,直接發(fā)送音頻和編碼加密后再發(fā)送音頻,兩種過程的時(shí)間差距不是很大,在通話中所帶來的時(shí)間延遲基本不會(huì)影響通話質(zhì)量。

      4.3 音頻編碼波形圖對(duì)比

      同時(shí)對(duì)比了Speex編碼前后音頻文件的波形圖,在圖5和圖6中,可以看出通過Speex編碼和解碼后的音頻波形圖和原始音頻波形圖相差不大,語音略有失真但不影響在通話過程中的語音質(zhì)量。

      圖7 原始音頻文件波形Fig.7 Oscillograph of original audio file

      圖8 Speex編碼解碼后音頻文件波形Fig.8 Oscillograph of coded audio file

      5 結(jié) 語

      本文研究了在網(wǎng)絡(luò)通話中如何提高語音傳輸速度和確保語音通信的安全,文中設(shè)計(jì)并實(shí)現(xiàn)了Speex編碼引擎對(duì)語音文件的編碼和加密算法對(duì)編碼音頻文件的加密,使之減少了數(shù)據(jù)傳輸容量和傳輸時(shí)間,加密后的數(shù)據(jù)也確保了即使被截獲也不會(huì)暴露信息,實(shí)驗(yàn)結(jié)果表明在網(wǎng)絡(luò)通話中該方案提高了傳輸效率,能夠保證語音數(shù)據(jù)的安全性。

      [1] 李濤.網(wǎng)絡(luò)安全概論[M].北京:電子工業(yè)出版社,2004.

      LITao.Introduction to Network Security[M].BeiJing: Publishing House of Electronics Industry,2004.

      [2] Byounghee SON,Euiseok NAHM,Hagbae KIM.VoIP encryptionmodule for securing privacy[J].Multimed Tools and application,2013(63):181-193.

      [3] 付璐,劉哲,韓琨.基于Speex算法的語言壓縮解壓程序設(shè)計(jì)[J].電腦知識(shí)與技術(shù),2012,8(26):6357-6360.

      Fu Lu,LIUZhe,HAN Kun.Design of Voice Encoder/ Decoder Based on Speex Algorithm[J].Computer Knowledge and Technology,2012,8(26):6357-6360.

      [4] 佟銘,楊立波,槐宇超.基于AES加密算法的語言加密通信的實(shí)現(xiàn)[J].科技創(chuàng)新導(dǎo)報(bào),2013(11):50.

      TONGMing,YANG Li-bo,HUAIYu-chao.Implementation of voice encryption communication based on AES.Science and Technology InnovationHerald[J],2013(11):50.

      [5] 王先泉.基于ACC音頻編碼與混沌加密的語音加密技術(shù)實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2012,35(24):006-010.

      WANG Xian-quan.Implementation of voice encryption technology based on AAC audio coding and chaotic encryption[J].Modern Electronics Technique,2012,35 (24):006-010.

      張 東(1988—),男,碩士研究生,主要研究方向?yàn)榫W(wǎng)絡(luò)安全技術(shù)與應(yīng)用;

      ZHANG Dong(1988-),male,graduate student,majoring in network security technology and application.

      陳 晨(1989—),男,碩士研究生,主要研究方向?yàn)榫W(wǎng)絡(luò)安全技術(shù)與應(yīng)用。

      CHEN Chen(1989-),male,graduate student,majoring in network security technology and application.

      Im p lementation of Voice Encryption in Network Calls based on Speex Codec

      ZHANG Dong,CHEN Chen
      (College of Computer Science,Sichuan University,Chengdu Sichuan 610065,China)

      Aiming at the transmission efficiency and security of voice data in network calls of Android system this paper proposes a design and implementation of voice recoding and encryption.The acquired source voice data is encoded and compressed through Speex codec,then the voice data is encrpted via AES and RSA algorithm,and then the encrypted voice data and encrypt-password is sent to the receiver,thus the secure voice communication is established.Experiments indicate thatwithout any influence on voice quality,the transmission time of voice data and the data size of encryption operation are reduced while the data security guaranteed.

      android system;speex codec;AES;RSA

      TP311

      A

      1002-0802(2014)12-1451-04

      10.3969/j.issn.1002-0802.2014.12.021

      2014-07-15;

      2014-10-21 Received date:2014-07-15;Revised date:2014-10-21

      猜你喜歡
      音頻文件接收端通話
      基于擾動(dòng)觀察法的光通信接收端優(yōu)化策略
      頂管接收端脫殼及混凝土澆筑關(guān)鍵技術(shù)
      一種設(shè)置在密閉結(jié)構(gòu)中的無線電能傳輸系統(tǒng)
      新能源科技(2021年6期)2021-04-02 22:43:34
      基于多接收線圈的無線電能傳輸系統(tǒng)優(yōu)化研究
      《戊戌元日與友人通話》
      中華詩詞(2018年5期)2018-11-22 06:46:08
      基于Android手機(jī)的音頻文件取證技術(shù)研究
      低成本視頻通話APP
      提取APP中的音頻文件
      電腦愛好者(2015年5期)2015-09-10 07:22:44
      數(shù)字水印在音頻文件篡改檢測中的應(yīng)用
      2013年11月通信業(yè)主要指標(biāo)完成情況(一)
      成安县| 随州市| 辽阳市| 得荣县| 城步| 巴林左旗| 桂林市| 聂荣县| 贵阳市| 桑植县| 武乡县| 名山县| 桂东县| 夹江县| 永登县| 绩溪县| 岳普湖县| 莱州市| 三江| 侯马市| 惠州市| 台中县| 博乐市| 铜川市| 平远县| 安西县| 铜山县| 盐边县| 河曲县| 稷山县| 延川县| 虎林市| 富阳市| 靖西县| 萨嘎县| 深泽县| 辛集市| 宝山区| 哈尔滨市| 兰西县| 唐海县|