專利名稱:一種能夠進行身份認證及語音信號保密通信的方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù)、信息安全技術(shù)和電子技術(shù)領(lǐng)域。具體涉及通信技術(shù)中的信號調(diào)制解調(diào)技術(shù);信息安全技術(shù)中數(shù)字證書技術(shù)、密鑰交換技術(shù)、數(shù)據(jù)加密算法技術(shù);電子技術(shù)中數(shù)字信號處理技術(shù)。更具體的說,涉及一種能夠進行身份認證及語音信號保密通信的方法及裝置。
背景技術(shù):
傳統(tǒng)的基于PSTN網(wǎng)絡(luò)的語音通信業(yè)務(wù)(即電話通信),通信雙方的語音都是在無任何保密措施的情況下傳輸,這樣不能滿足黨政軍等國家機關(guān)對電話通信中的安全性、保密性等要求。目前國內(nèi)所采用的方法是1.采用專線進行通信;2.采用普通電話機與基于對稱加密的通信加密機協(xié)同工作的解決方案。這兩種做法都存在不足之處1.若采用專線方式,一旦被竊聽者找到線路的位置則通信的內(nèi)容將很容易被竊聽;2.在后一種方式中,通信內(nèi)容由對稱密鑰進行加密,其弱點是若每次通信都使用相同的密鑰,則一旦一次通信被破解,所有的通訊都被破解;若針對不同的聯(lián)系者使用不同的密鑰,則對密鑰的管理將極為不便。上述各種方法都不能同時提供身份認證、加密轉(zhuǎn)輸和防止通話后抵賴行為發(fā)生等功能。
另外,中國專利公開號為CN1352499A的申請案,該發(fā)明的原理為把模擬信號轉(zhuǎn)化為數(shù)字信號,再對數(shù)字信號進行加密處理。不足之處在于,其采用的加密方法仍然是對稱加密,且每次使用同樣的密鑰。這種方法和上述方法2的原理一樣。其所述的設(shè)備,是一個保密機,而不是一個電話機,這樣,會增加用戶購買成本和維護成本。
發(fā)明內(nèi)容
本裝置作為主叫方和被叫方電話終端,代替現(xiàn)有的電話終端,把普通電話功能、身份認證和語音信號保密通信功能集成在一起,達到減少成本、提高使用方便性和解決PSTN電話通信過程中易受到重放攻擊、竊聽攻擊、聲音模仿攻擊的問題和通信后發(fā)生抵賴行為的問題的目的。
如果主叫方和被叫方的任何一方不使用或者不能提供身份認證和語音信號保密通信功能,則本裝置可作為一個普通電話機使用。
一次典型的身份認證及保密語音通信可以劃分為身份認證、語音信號保密通信和掛斷三個步驟。用戶擁有一張存儲有自己和他人的數(shù)字證書的IC卡,將IC卡插入到本裝置,本裝置檢測用戶IC卡的合法性,如果為非法的IC卡,或者IC卡內(nèi)的用戶個人數(shù)字證書為非法,將拒絕用戶使用保密通信功能;通過用戶個人數(shù)字證書合法性驗證以后,用戶撥打?qū)Ψ诫娫挕1唤蟹秸獧C以后,通話雙方將進行相互的身份認證、同時交換會話密鑰,如果任何一方身份認證失敗,則不能進行保密通信,本裝置將在用戶的指令下斷線或者進行普通的電話通信。當身份認證和會話密鑰交換成功后,本裝置將提示用戶進行保密語音通信。在發(fā)送方,本裝置將發(fā)送方的語音信號轉(zhuǎn)換成數(shù)字信號、編碼、用會話密鑰進行加密,最后變?yōu)槟M信號在PSTN電話網(wǎng)絡(luò)上傳送;在接收方,本裝置首先將從PSTN電話網(wǎng)絡(luò)上傳送來的模擬信號轉(zhuǎn)換為數(shù)字信號、用會話密鑰解密、解碼,最后還原成語音信號。經(jīng)過本裝置處理后的語音信號,能夠抵抗重放攻擊、竊聽攻擊、聲音模仿攻擊和防止通話后抵賴行為發(fā)生。通話結(jié)束后,用戶掛機,本裝置清除通話雙方的個人信息,回到初始態(tài),等待用戶再次使用。
為了進一步說明本發(fā)明的原理及特征,以下結(jié)合附圖進行詳細的說明。
附圖中
圖1是通話雙方身份認證及密鑰交換的原理圖。
圖2是語音信號保密通信的原理圖。
圖3是本發(fā)明的硬件模塊構(gòu)成示意圖。
圖4是本發(fā)明的軟件模塊構(gòu)成示意圖。
圖1所示的通話雙方身份認證及密鑰交換過程發(fā)生在被叫方應答主叫方呼叫以后,雙方通話之前,具體工作原理如下第一階段該階段用來初始化邏輯連接,并建立與之相關(guān)的安全能力。步驟如下1)這個過程由主叫方發(fā)起,并發(fā)送“主叫方開始連接”消息,該消息包括以下內(nèi)容A)隨機字串包括一個時間戳和一個隨機數(shù)字,這些值用來指定當前時間并在密鑰交換中使用,以此來防止重放攻擊。
B)密碼組主叫方支持的加密算法的列表,按照優(yōu)先選擇的降序排列。表中每個元素都定義了數(shù)據(jù)加密算法KA和密鑰長度KL。
C)語音編碼算法主叫方支持的語音編碼算法列表。
2)在發(fā)送了“主叫方開始連接”消息后,主叫方等待“被叫方開始連接”消息,如果被叫方響應超時,則給出提示,并中斷握手。
3)被叫方收到“主叫方開始連接”消息后,向主叫方發(fā)送“被叫方開始連接”消息,該消息包括以下的內(nèi)容A)隨機字串被叫方生成新的隨機字串,其格式與“主叫方開始連接”消息中的隨機字串一樣,但并不依賴于主叫方的隨機字串。
B)密碼組包含被叫方從主叫方密碼組中選擇的單個密碼組,即選定數(shù)據(jù)加密算法KA和密鑰長度KL。
C)語音編碼算法包含被叫方從主叫方語音編碼算法列表中選擇的編碼算法。
第二階段該階段用于發(fā)送主叫方身份認證信息。主叫方收到“被叫方開始連接”消息后,進行下面的步驟1)主叫方發(fā)送“主叫方證書”消息,其中包含主叫方的數(shù)字證書。
2)主叫方發(fā)送“主叫方簽名”消息,其中包含一個經(jīng)過主叫方簽名后的參數(shù)主叫方對雙方在第一階段生成的隨機字串(其值等于“主叫方隨機字串”與“被叫方隨機字串”的連接)進行某一種哈希運算,產(chǎn)生摘要,然后用主叫方私鑰對摘要加密,得到主叫方數(shù)字簽名。
3)主叫方發(fā)送“主叫方連接完成”消息,該消息沒有任何參數(shù)。發(fā)送此消息后,主叫方等待被叫方的響應。如果被叫方響應超時,則給出提示,并中斷握手。
第三階段該階段用于被叫方驗證主叫方身份,發(fā)送被叫方身份認證信息,發(fā)送“預會話密鑰”,計算“主會話密鑰”。
1)被叫方收到“主叫方連接完成”消息后,首先驗證主叫方提供的數(shù)字證書,如果該數(shù)字證書非法,則給出提示并中斷握手。如果數(shù)字證書合法,則進行以下步驟。
2)被叫方利用主叫方的數(shù)字證書驗證“主叫方簽名”消息中的數(shù)字簽名,如果驗證失敗則給出提示并中斷握手,如果驗證成功則進行以下步驟。
3)被叫方發(fā)送“被叫方證書”消息,其中包含被叫方的數(shù)字證書。
4)被叫方發(fā)送“被叫方簽名”消息,其中包含一個經(jīng)過被叫方數(shù)字簽名后的參數(shù)被叫方將雙方在第一階段生成的隨機字串(其值等于“主叫方隨機字串”
與“被叫方隨機字串”的連接)進行某一種哈希運算,產(chǎn)生摘要,然后用被叫方私鑰對摘要加密,得到被叫方數(shù)字簽名。
5)被叫方發(fā)送“預會話密鑰”消息,其中包含一個經(jīng)過主叫方公鑰加密后的“預會話密鑰”。主叫方公鑰從主叫方數(shù)字證書中得到,“預會話密鑰”由被叫方隨機生成。
6)被叫方利用“預會話密鑰”計算“主會話密鑰”,計算方法如下(其中’‖’表示字符串連接運算,MD5指消息摘要算法,SHA指安全哈希算法,’*’指字符串)中間密鑰=MD5(預會話密鑰‖SHA(‘A’‖預會話密鑰‖主叫方隨機字串‖被叫方隨機字串))‖MD5(預會話密鑰‖SHA(‘BB’‖預會話密鑰‖主叫方隨機字串‖被叫方隨機字串))‖MD5(預會話密鑰‖SHA(‘CCC’‖預會話密鑰‖主叫方隨機字串‖被叫方隨機字串))(注公式中MD5和SHA可用其它功能類似的算法替換)中間密鑰的長度為384bit,根據(jù)第一階段第3步B項所選擇的單個密碼組中密鑰長度KL的大小,用下面的算法計算主會話密鑰,其中MD5,SHA也可用其他類似功能的算法替換。
(1).主會話密鑰=空;(2).擾動字符串向量P=(’A’,’BB’,’CCC’,’DDDD’,…);(3).i=1;(4).如果主會話密鑰的長度<KL,則轉(zhuǎn)第(4.1)步,否則轉(zhuǎn)第(5)步;(4.1).主會話密鑰=主會話密鑰‖MD5(中間密鑰‖SHA(P(i)‖主叫方隨機字串‖被叫方隨機字串));(4.2).i=i+1;(4.3).轉(zhuǎn)第(4)步(5).如果主會話密鑰的長度>KL,則(6).主會話密鑰=substr(主會話密鑰,KL);/*即截取前K位作為主會話密鑰*/(7).結(jié)束。
第四階段該階段主叫方驗證被叫方身份,并計算“主會話密鑰”,完成密鑰交換。
1)主叫方收到被叫方的“預會話密鑰”后,首先驗證被叫方的數(shù)字證書,如果數(shù)字證書非法,則給出提示并中斷握手,如果數(shù)字證書合法,則進行下面的步驟。
2)主叫方利用被叫方的數(shù)字證書驗證“被叫方簽名”消息中的數(shù)字簽名,如果驗證失敗則給出提示并中斷握手,如果驗證成功則進行下面的步驟。
3)主叫方利用自己的私鑰解密“預會話密鑰”消息,用“預會話密鑰”計算出“主會話密鑰”,方法與第三階段第6步中被叫方計算“主會話密鑰”的方法相同。
4)主叫方發(fā)送“主叫方完成”消息,該消息不包括任何參數(shù),只用于通知被叫方已經(jīng)完成會話密鑰的計算。
5)被叫方收到“主叫方完成”消息后,給主叫方返回一個“被叫方完成”消息。
此后雙方都將計算出的“主會話密鑰”作為通話中的會話密鑰。
雙方身份認證過程至此結(jié)束,擁有相同的會話密鑰,可進行語音信號保密通信。
圖2為通話時語音信號保密通信的原理圖,以語音信號1為例,說明其具體工作原理在通信的一端,語音信號1通過模數(shù)轉(zhuǎn)換以后,成為數(shù)字語音信號;然后,本裝置使用身份認證過程中第一階段第3步C項確定的編碼算法,對數(shù)字語音信號進行編碼,編碼的主要作用是壓縮數(shù)字語音信號;接著,使用身份認證過程第一階段第3步B項確定的數(shù)據(jù)加密算法KA和身份認證過程第三階段第5步(被叫方)或者第四階段第3步(主叫方)得到的“主會話密鑰”對編碼后的數(shù)字語音信號加密;最后,本裝置將已加密的數(shù)字語音信號調(diào)制為模擬信號后發(fā)送到PSTN。
在通信的另一端,本裝置從PSTN接收到處理后的語音信號1,首先進行解調(diào)操作,將其變?yōu)閿?shù)字信號;然后,使用身份認證過程第一階段第3步B項確定的數(shù)據(jù)加密算法KA和身份認證過程第三階段第5步(被叫方)或者第四階段第3步(主叫方)得到的“主會話密鑰”對數(shù)字信號解密;接著,使用身份認證過程中第一階段第3步C項確定的編碼算法,對數(shù)字信號進行解碼;最后,將解碼后的數(shù)字信號通過數(shù)模轉(zhuǎn)換,還原為語音信號1。
通話的雙方互為發(fā)送方和接收方,以全雙工方式工作。
由圖3可知,本發(fā)明的硬件電路簡潔,主要原因是由于大規(guī)模集成電路的發(fā)展,使得本發(fā)明的大部分功能可以在中央處理單元中完成,中央處理單元主要完成數(shù)字語音信號編碼、解碼、加密、解密等核心功能。話筒將聲音信號轉(zhuǎn)化為模擬信號,送到A/D轉(zhuǎn)換模塊,轉(zhuǎn)換成數(shù)字信號。D/A轉(zhuǎn)換模塊把數(shù)字信號轉(zhuǎn)換成模擬信號,送到聽筒轉(zhuǎn)換成聲音信號。IC卡閱讀器讀出用戶IC卡中存儲的信息。調(diào)制解調(diào)模塊使用符合國際標準的模塊。顯示模塊向用戶顯示當前的話機的狀態(tài),提示操作步驟,顯示撥出號碼、通話時間、是否為保密通信等用戶關(guān)心的內(nèi)容。輸入模塊提供撥號、設(shè)置本裝置等功能。
圖4中有數(shù)字標號的箭頭代表數(shù)據(jù)的流向,其中標有“①”的箭頭代表從PSTN進入到本裝置的數(shù)據(jù)的流向;標有“②”的箭頭代表從本裝置發(fā)送到PSTN網(wǎng)絡(luò)的數(shù)據(jù)的流向。圖2已經(jīng)對這兩個數(shù)據(jù)流向做了詳細的描述。標有“③”的箭頭代表從IC卡閱讀器讀入的數(shù)字證書的流向。標有“④”的箭頭代表輸出到顯示模塊的數(shù)據(jù)流向。標有“⑤”的箭頭代表用戶輸入數(shù)據(jù)流向。虛線代表控制流向。主控制模塊管理本裝置的所有硬件和軟件的其他模塊。當主叫方和被叫方中的任意一方不使用保密功能或者不能提供保密功能時,主控制模塊把從PSTN網(wǎng)絡(luò)上接收到的模擬信號直接送到聽筒;把話筒轉(zhuǎn)化的模擬信號直接送到PSTN網(wǎng)絡(luò),這樣,本裝置成為一個普通電話機。調(diào)制解調(diào)控制模塊、A/D D/A控制模塊、IC卡閱讀器控制模塊、顯示控制模塊、輸入控制模塊分別控制對應的硬件模塊。身份認證、密鑰交換模塊、加密/解密模塊和編碼/解碼模塊是系統(tǒng)的關(guān)鍵部分,它們共同保證通信雙方的身份驗證、通話的保密性和防止事后抵賴行為發(fā)生。其中,身份認證、密鑰交換模塊的原理在圖1中已經(jīng)詳細說明;加密/解密模塊可由一組加密算法組成;編碼/解碼模塊也可以由一組編碼算法組成。
權(quán)利要求
1.一種能夠進行身份認證及語音信號保密通信的方法,其特征是被叫方響應主叫方呼叫后,主叫方和被叫方首先初始化邏輯連接并建立安全能力;然后主叫方向被叫方發(fā)送身份認證信息;接著被叫方驗證主叫方身份,向主叫方發(fā)送被叫方身份認證信息,發(fā)送“預會話密鑰”,計算“主會話密鑰”;最后主叫方驗證被叫方身份,并計算“主會話密鑰”,完成會話密鑰交換;完成身份認證和會話密鑰交換后,雙方都將聲音信號轉(zhuǎn)化為數(shù)字信號并編碼,然后利用會話密鑰加密,調(diào)制成模擬信號后發(fā)送到PSTN網(wǎng)絡(luò),同時,雙方都把從PSTN接收到的模擬信號解調(diào)成數(shù)字信號,利用會話密鑰解密,解碼,最后轉(zhuǎn)化為聲音信號。
2.根據(jù)權(quán)利要求1所述的一種能夠進行身份認證及語音信號保密通信的方法,其特征在于,所述主叫方和被叫方初始化邏輯連接并建立安全能力,其特征包括以下步驟主叫方生成隨機字串的步驟;主叫方向被叫方發(fā)送隨機字串、密碼組列表、語音編碼算法列表的步驟;被叫方生成隨機字串的步驟;被叫方從主叫方的密碼組列表中選擇單個密碼組的步驟;被叫方從主叫方的編碼算法列表中選擇通話時的語音編碼算法的步驟;被叫方向主叫方發(fā)送隨機字串、單個密碼組、語音編碼算法的步驟。
3.根據(jù)權(quán)利要求1所述的一種能夠進行身份認證及語音信號保密通信的方法,其特征在于,所述主叫方發(fā)送身份認證信息,其特征包括以下步驟主叫方向被叫方發(fā)送自己的數(shù)字證書的步驟;主叫方將雙方的隨機字串用自己的私鑰加密得到數(shù)字簽名并發(fā)送給被叫方的步驟;主叫方向被叫方發(fā)送“主叫方連接完成”消息的步驟。
4.根據(jù)權(quán)利要求1所述的一種能夠進行身份認證及語音信號保密通信的方法,其特征在于,所述被叫方驗證主叫方身份,發(fā)送被叫方身份認證信息,發(fā)送“預會話密鑰”,計算“主會話密鑰”,其特征包括以下步驟被叫方驗證主叫方數(shù)字證書合法性的步驟;被叫方利用主叫方數(shù)字證書驗證主叫方數(shù)字簽名的步驟;被叫方向主叫方發(fā)送自己的數(shù)字證書的步驟;被叫方將雙方的隨機字串用自己的私鑰加密得到數(shù)字簽名并發(fā)送給主叫方的步驟;被叫方隨機生成“預會話密鑰”,并用主叫方公鑰將其加密后傳送給主叫方的步驟;被叫方根據(jù)“預會話密鑰”計算“主會話密鑰”的步驟。
5.根據(jù)權(quán)利要求1所述的一種能夠進行身份認證及語音信號保密通信的方法,其特征在于所述的主叫方驗證被叫方身份,并計算“主會話密鑰”,完成密鑰交換,其特征包括以下步驟主叫方驗證被叫方數(shù)字證書合法性的步驟;主叫方利用被叫方數(shù)字證書驗證被叫方數(shù)字簽名的步驟;主叫方利用自己的私鑰解密出“預會話密鑰”的步驟;主叫方根據(jù)“預會話密鑰”計算“主會話密鑰”的步驟;主叫方向被叫發(fā)送“主叫方完成”消息的步驟;被叫方向主叫方發(fā)送“被叫方完成”消息的步驟。
6.一種能夠進行身份認證及語音信號保密通信的裝置,其特征在于它可以完成通話雙方相互的身份認證和會話密鑰交換;它內(nèi)置一種或者多種數(shù)據(jù)加密算法;它內(nèi)置一種或者多種語音編碼算法;它可以把從話筒輸入的聲音信號轉(zhuǎn)化為數(shù)字信號并編碼、然后利用會話密鑰加密,調(diào)制成模擬信號后發(fā)送到PSTN網(wǎng)絡(luò);它可以把從PSTN接收到的模擬信號解調(diào)成數(shù)字信號,利用會話密鑰解密,解碼,最后通過聽筒轉(zhuǎn)化為聲音信號。
全文摘要
本發(fā)明公開了一種能夠進行身份認證及語音信號保密通信的方法及裝置,屬于通信及信息安全領(lǐng)域,其特征在于通信雙方在通話前進行相互的身份認證、安全的密鑰交換和通話時語音信號的保密傳輸,解決PSTN電話通信過程中易受到重放攻擊、竊聽攻擊、聲音模仿攻擊的問題和通信后發(fā)生抵賴行為的問題。應用本方法和裝置,有很大的靈活性和可靠性,本裝置可根據(jù)實際需要,更換編碼算法和加密算法以及改變密鑰長度,能夠滿足黨政軍及有關(guān)部門對電話通信中安全性、保密性和不可抵賴性的要求。
文檔編號H04L9/00GK1549490SQ0311784
公開日2004年11月24日 申請日期2003年5月12日 優(yōu)先權(quán)日2003年5月12日
發(fā)明者李濤, 李 濤 申請人:四川大學