專利名稱:Sip消息的加密方法和加密通信系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及在服務(wù)器和客戶端這種多個實體(entity)之間通信的SIP消息(message)的加密方法和加密通信系統(tǒng)。
背景技術(shù):
為了建立兩個實體(例如通過裝置或在裝置上執(zhí)行軟件而具體實現(xiàn)的處理)之間的通信(IP電話等),廣泛采用SIP(Session InitiationProtocol)協(xié)議(SIP的具體內(nèi)容,例如參照IETF,RFC3261“SIPSession Initiation Protocol”IETF,2002年6月,URLhttp://www.ietf.org/rfc/rfc3261.txt(稱為文獻1))。
在SIP中,有被稱為SIP服務(wù)器的服務(wù)器參與實體(以下也稱為SIP客戶端)之間的通信建立處理的結(jié)構(gòu)。
此時,由于在SIP客戶端和SIP服務(wù)器之間交換的通信消息(以下也稱為SIP消息)被竊聽,SIP消息的內(nèi)容有可能被竊聽、竄改。
因此,提出以下方法,利用作為加密通信協(xié)議的TLS(TransportLayer Security)和作為消息加密方法的S/MIME(Secure MultipurposeInternet Mail Extensions),在處理SIP消息的SIP功能部和進行SIP客戶端與SIP服務(wù)器之間的通信的通信功能部之間設(shè)置保護SIP消息的加密功能部,從而保護SIP消息的機密性和安全性。
TLS是在WWW(World Wide Web)系統(tǒng)中為了確保傳輸?shù)膽?yīng)用數(shù)據(jù)的機密性和安全性而廣泛使用的加密通信協(xié)議(TLS的具體內(nèi)容,例如參照IETF,RFC2246“The TLS Protocol Version 1.0”,IETF,1999年1月,URLhttp://www.ietf.org/rfc/rfc2246.txt(也稱為文獻2))。
在TLS中,在開始應(yīng)用數(shù)據(jù)的發(fā)送之前,執(zhí)行被稱為HandshakeProtocol的協(xié)議,使用公開密鑰證明書進行對通信對方的認證,協(xié)商加密通信中使用的加密算法和散列函數(shù)的類別及參數(shù),根據(jù)進行協(xié)商的結(jié)果計算應(yīng)用數(shù)據(jù)的加密使用的加密密鑰。
另一方面,S/MIME是主要對電子郵件進行電子署名及進行加密使用的加密算法(S/MIME的具體內(nèi)容,例如參照IETF,RFC1847“SecurityMultiparts for MIMEMultipart/Signed andMultipart/Encrypted”,IETF,1995年10月,URLhttp://www.ietf.org/rfc/rfc1847.txt(稱為文獻3))。
在S/MIME中,在利用發(fā)信人的秘密密鑰對應(yīng)用數(shù)據(jù)進行了電子署名后,使用隨機數(shù)將該進行了電子署名的應(yīng)用數(shù)據(jù)加密。并且,把上述加密的應(yīng)用數(shù)據(jù)和利用發(fā)信對象的公開密鑰加密的上述隨機數(shù)作為一個消息發(fā)送(進行了加密和電子署名的數(shù)據(jù)格式的具體內(nèi)容,例如,參照IETF,RFC3369“Cryptographic Message Syntax(CMS)”IETF,2002年8月,URLhttp://www.ietf.org/rfc/rfc3369.txt(稱為文獻4))。
TLS是以根據(jù)連接型協(xié)議即TCP而動作為前提設(shè)計的,所以如果是不連接型協(xié)議即UDP,則有可能不正確動作。并且,需要用于開始通信的協(xié)商。S/MIME不需要開始通信用的協(xié)商,另外根據(jù)不連接型協(xié)議即UDP而動作。另一方面,在利用S/MIME保護通信消息的機密性和安全性時,在通信消息的加密處理、解密處理、電子署名處理、電子署名驗證中必須分別使用公開密鑰加密。
即,現(xiàn)有技術(shù)為了保護SIP消息的機密性和安全性,在通信之前需要安全參數(shù)的協(xié)商,或者在每當進行SIP消息的收發(fā)處理時需要使用公開密鑰加密,所以存在花費時間的問題。
并且,在SIP中,利用SIP消息中記述的被稱為SIP-URI的SIP識別符確定SIP消息的發(fā)信人和收信人,并且在TLS和S/MIME中,使用公開密鑰證明書確定通信對象。
因此,在利用TLS和S/MIME保護SIP消息時,為了保證使用公開密鑰證明書確定的通信對象與使用SIP識別符確定的SIP消息的發(fā)信人一致,必須在公開密鑰證明書中記述SIP識別符。即,由于通常不在公開密鑰證明書中記述SIP識別符,所以存在為了實現(xiàn)SIP通信系統(tǒng)必須使用記述有SIP識別符的特殊的公開密鑰證明書的問題。
發(fā)明內(nèi)容
本發(fā)明的主要特征在于,在兩個實體之間收發(fā)消息時,在該實體之間共享加密用的公用信息的情況下,發(fā)送利用該公用信息將通信消息加密后的加密數(shù)據(jù),而在沒有共享加密用的公用信息的情況下,利用發(fā)送對象實體的公開密鑰將通信消息加密,發(fā)送利用發(fā)信人實體的秘密密鑰電子署名后的加密數(shù)據(jù)。
并且,本發(fā)明的主要特征在于,在上述加密數(shù)據(jù)中包含公用信息,該公用信息在該加密數(shù)據(jù)以后的通信中,該加密數(shù)據(jù)的發(fā)送對象實體將消息加密或解密時使用。
另外,本發(fā)明的主要特征在于,管理發(fā)信人實體的公開密鑰證明書和SIP識別符的對應(yīng)關(guān)系,比較與附加到上述加密數(shù)據(jù)中的公開密鑰證明書對應(yīng)的SIP識別符、和SIP消息中的發(fā)信人的SIP識別符,確認發(fā)信人是否一致。
在不共享加密用的公用信息時,不需要共享公用信息的協(xié)商,具有能夠縮短開始發(fā)送消息所需要的時間的效果。
并且,在共享加密用的公用信息時,具有可以快速實施通信消息的加密處理和解密處理的效果。
另外,具有不需要SIP通信用的特殊的公開密鑰證明書(記述有SIP識別符的公開密鑰證明書)的效果。
以下,使用
本發(fā)明的實施方式。另外,不能以此來限定本發(fā)明。
并且,以下說明對于SIP的適用示例,但除SIP以外,本發(fā)明也可以適用于對不需要保證消息的到達的通信協(xié)議和進行消息的再發(fā)送的通信協(xié)議保護數(shù)據(jù)的機密性和安全性的用途。
圖1是表示實施例中的公開密鑰加密消息形式的加密數(shù)據(jù)50的格式的例圖。
圖2是表示圖6所示的用戶終端裝置10、應(yīng)用服務(wù)器裝置20、會話管理裝置30的各自硬件結(jié)構(gòu)的示例圖。
圖3是表示實施例中的客戶應(yīng)用101、服務(wù)器2、SIP功能部301的各個功能之間的動作程序的示例圖。
圖4是表示會話信息70的一例圖。
圖5是表示通信對象信息60的一例圖。
圖6是表示實施例中的加密SIP通信系統(tǒng)的系統(tǒng)結(jié)構(gòu)的示例圖。
圖7是表示共用密鑰加密消息的加密數(shù)據(jù)50的格式的示例圖。
圖8是表示將SIP消息加密時的加密功能部302的動作流程的示例圖。
圖9是表示通過通信功能部303接收加密數(shù)據(jù)50時的加密功能部302的動作流程的第一示例圖。
圖10是表示通過通信功能部303接收加密數(shù)據(jù)50時的加密功能部302的動作流程的第二示例圖。
圖11是表示在實施例2中,把用戶1的SIP識別符61和用戶終端裝置10的IP地址的關(guān)聯(lián)關(guān)系登錄于會話管理裝置30時、以及加密用共用密鑰信息710或解密用共用密鑰信息720失效時的動作流程的示例圖。
圖12是表示擴展發(fā)送用共用密鑰字段5140的結(jié)構(gòu)的示例圖。
圖13是表示實施例2中的加密功能部302從SIP功能部301接收SIP消息時的動作的圖。
圖14是表示錯誤通知消息形式的加密數(shù)據(jù)50的格式的示例圖。
具體實施例方式
首先,說明適用了本發(fā)明的第一加密SIP通信系統(tǒng)。
圖6是表示適用了本發(fā)明的第一加密SIP通信系統(tǒng)的系統(tǒng)結(jié)構(gòu)的圖。
實施例1的系統(tǒng)是通過網(wǎng)絡(luò)0連接以下裝置構(gòu)成的,即,用戶1使用的用戶終端裝置10、提供服務(wù)2的應(yīng)用服務(wù)器裝置20、通過SIP通信建立并控制用戶終端裝置10和應(yīng)用服務(wù)器裝置20之間的通信的會話管理裝置30。
用戶終端裝置10、應(yīng)用服務(wù)器裝置20、會話管理裝置30分別具有SIP功能部301、加密功能部302、通信功能部303、公開密鑰證明書DB304、會話DB305。
另外,以后在特別表示在用戶終端裝置10中動作的SIP功能部301時表述為SIP功能部3011,表示在應(yīng)用服務(wù)器裝置20中動作的SIP功能部301時表述為SIP功能部3012,表示在會話管理裝置30中動作的SIP功能部301時表述為SIP功能部3013等。
SIP功能部301具有以下功能,按照來自客戶應(yīng)用101和服務(wù)2的指示,生成SIP消息,并處理從在其他裝置中動作的SIP功能部301通過加密功能部302接收的SIP消息。
加密功能部302具有以下功能,從SIP功能部301接收SIP消息并加工成加密數(shù)據(jù)50后,通過通信功能部303向發(fā)送對象的加密功能部302發(fā)送該加密數(shù)據(jù)50,或者通過通信功能部303從其他加密功能部302接收加密數(shù)據(jù)50,從該加密數(shù)據(jù)50中取出SIP消息并轉(zhuǎn)發(fā)給SIP功能部301。
通信功能部303具有以下功能,把從客戶應(yīng)用101和服務(wù)2和加密功能部302等接收的數(shù)據(jù),通過網(wǎng)絡(luò)0發(fā)送給在其他裝置上動作的通信功能部303,或者把從在其他裝置上動作的通信功能部303接收的數(shù)據(jù),轉(zhuǎn)發(fā)給客戶應(yīng)用101和服務(wù)2和加密功能部302。
公開密鑰證明書DB304是存儲通信對象信息60的數(shù)據(jù)庫,由加密功能部302管理,該通信對象信息60使SIP識別符61和加密功能部302處理加密數(shù)據(jù)50時使用的公開密鑰證明書相關(guān)聯(lián)。
另外,通信對象信息60針對某個通信對象只存在一個。例如,在本實施例中,會話管理裝置30的加密功能部3023在會話管理裝置30的公開密鑰證明書DB3043中存儲著用戶1和用戶2這兩個通信對象信息60,以便與用戶終端裝置10的加密功能部3021及應(yīng)用服務(wù)器裝置20的加密功能部3023這兩個加密功能部302進行通信。
圖5是表示通信對象信息60的一例圖,存儲著對USER1@SIPDOMAIN.JP的具有SIP識別符61的通信對象發(fā)行的公開密鑰證明書62。
會話DB305是存儲會話信息70的數(shù)據(jù)庫,由加密功能部302管理。
另外,在本實施例的系統(tǒng)中,把與某特定的通信對象的通信作為一個會話管理。會話信息70存儲著在該會話中當前用于加密數(shù)據(jù)50的加密處理和解密處理的加密密鑰信息等。因此,存儲在會話DB305中的會話信息70,對某個通信對象只存在一個。例如,在本實施例中,會話管理裝置30的加密功能部3023在會話管理裝置30的會話DB3053中存儲著兩個會話信息70,以便與用戶終端裝置10的加密功能部3021及應(yīng)用服務(wù)器裝置20的加密功能部3023這兩個加密通信功能部302進行通信。
圖4是表示會話信息70的一例圖。
會話信息70由以下部分構(gòu)成為了確定通信對象而附加到加密數(shù)據(jù)50中的會話ID701;為了保證發(fā)送給該通信對象的加密數(shù)據(jù)50比過去發(fā)送的加密數(shù)據(jù)50新,而附加到加密數(shù)據(jù)50中的發(fā)送序列號碼702;為了確認從該通信對象接收的加密數(shù)據(jù)50比過去接收的加密數(shù)據(jù)50新,而記錄附加到加密數(shù)據(jù)50中的序列號碼的接收序列號碼703;記錄了附加到所接收的加密數(shù)據(jù)50中的時間戳(stamp)的接收時間戳704;該通信對象的SIP識別符61;用于生成加密數(shù)據(jù)50的加密用共用密鑰信息710;用于處理從該通信對象接收的加密數(shù)據(jù)50的解密用共用密鑰信息720。
此處,加密用共用密鑰信息710由以下部分構(gòu)成在該會話信息70中唯一識別加密用共用密鑰信息710的加密用共用密鑰ID711;用于指定在該加密用共用密鑰信息710中使用的加密算法的加密算法名稱712;在該加密用共用密鑰信息710中進行加密使用的加密密鑰值713;用于指定在該加密用共用密鑰信息710中使用的消息認證算法的HMAC(Keyed-Hashing for Message Authentication)等消息認證算法名稱714;在該加密用共用密鑰信息710中用于計算消息認證信息的保密(secret)值715;該加密用共用密鑰信息710的有效期間716;以八位字節(jié)(octet)單位指定可以使用該加密用共用密鑰信息710加密的數(shù)據(jù)數(shù)的累計的最大加密尺寸717;表示使用該加密用共用密鑰信息710到現(xiàn)在為止加密了的數(shù)據(jù)的累計(單位為八位字節(jié))的當前加密尺寸718。
并且,解密用共用密鑰信息720由以下部分構(gòu)成在該會話信息70中唯一識別解密用共用密鑰信息720的解密用共用密鑰ID721;用于指定在該解密用共用密鑰信息720中使用的加密算法的加密算法名稱722;在該解密用共用密鑰信息720中進行解密處理使用的解密密鑰值723;用于指定在該解密用共用密鑰信息720中使用的消息認證算法的消息認證算法名稱724;在該解密用共用密鑰信息720中用于計算消息認證信息的保密值725;該解密用共用密鑰信息720的有效期間726;以八位字節(jié)單位指定可以使用該解密用共用密鑰信息720解密的數(shù)據(jù)數(shù)的累計的最大解密尺寸727;表示使用該解密用共用密鑰信息720到此為止解密的數(shù)據(jù)的累計(單位為八位字節(jié))的當前解密尺寸728。
會話信息70的各個信息通過管理該會話信息70的加密功能部302被更新,或者經(jīng)由作為發(fā)送對象的加密功能部302通知后更新內(nèi)容。
用戶終端裝置10除上述功能和DB以外,具有用于利用服務(wù)2的客戶應(yīng)用101和公開密鑰對DB3071。
公開密鑰對DB3071是存儲秘密密鑰811、公開密鑰821、對用戶1發(fā)行的公開密鑰證明書831的數(shù)據(jù)庫,由加密功能部3021管理。
同樣,應(yīng)用服務(wù)器裝置20具有提供給用戶1的服務(wù)2和公開密鑰對DB3072。
公開密鑰對DB3072是存儲秘密密鑰812、公開密鑰822、對用戶2發(fā)行的公開密鑰證明書832的數(shù)據(jù)庫,由加密功能部3022管理。
另外,會話管理裝置30具有注冊DB306和公開密鑰對DB3073。
公開密鑰對DB3073是存儲秘密密鑰813、公開密鑰823、對會話管理裝置30發(fā)行的公開密鑰證明書833的數(shù)據(jù)庫,由加密功能部3023管理。
注冊DB306是存儲IP地址信息80的數(shù)據(jù)庫,由SIP功能部301管理,該IP地址信息80包括SIP識別符61和具有該SIP識別符61的SIP功能部301動作的裝置的IP地址的關(guān)聯(lián)關(guān)系,和該關(guān)聯(lián)關(guān)系的有效期間。
以上是本實施例的加密SIP通信系統(tǒng)的系統(tǒng)結(jié)構(gòu)。
另外,圖6所示的用戶終端裝置10、應(yīng)用服務(wù)器裝置20、會話管理裝置30如圖2所示,各個裝置可以通過在電子計算機中使CPU91執(zhí)行安裝在存儲器92上的規(guī)定程序來實現(xiàn),該電子計算機具有CPU91;存儲器92;硬盤等外部存儲裝置93;從CD-ROM等可搬運的存儲介質(zhì)99讀取信息的讀取裝置94;通過網(wǎng)絡(luò)和LAN與其他裝置進行通信的通信裝置95;鍵盤和鼠標等輸入裝置96;監(jiān)視器和打印機等輸出裝置97;進行這些各個裝置之間的數(shù)據(jù)收發(fā)的接口98。
即,服務(wù)2、客戶應(yīng)用101、SIP功能部301、加密功能部302、通信功能部303可以通過由CPU91執(zhí)行規(guī)定程序,作為處理進程來實現(xiàn)。
并且,公開密鑰證明書DB304、會話DB305、注冊DB306可以通過CPU91利用存儲器92和外部存儲裝置93實現(xiàn)。
在這種電子計算機上實現(xiàn)上述各個裝置所需要的規(guī)定程序,可以從電子計算機可以使用的存儲介質(zhì)99通過讀取裝置94導入,或者通過通信裝置96經(jīng)由網(wǎng)絡(luò)0或在網(wǎng)絡(luò)0傳輸?shù)妮d波和數(shù)字信號這些電子計算機可以使用的通信介質(zhì),從其他服務(wù)器導入。
在導入時,可以暫且存儲到外部存儲裝置93中后,由此處安裝在存儲器92上并被CPU91執(zhí)行,或者不存儲在外部存儲裝置93中,而直接安裝在存儲器92上并被CPU91執(zhí)行。
下面,說明在本實施例的加密SIP系統(tǒng)中,通過通信功能部303在加密功能部302之間收發(fā)的加密數(shù)據(jù)50的格式。
本實施例的加密數(shù)據(jù)50的格式有三種公開密鑰加密消息形式、共用密鑰加密消息形式和錯誤通知消息形式。
首先,說明公開密鑰加密消息形式的加密數(shù)據(jù)50的格式。
圖1是表示公開密鑰解密消息形式的加密數(shù)據(jù)50的格式的圖。
公開密鑰解密消息形式的加密數(shù)據(jù)50由標題部500和正文部510構(gòu)成。
標題部500由內(nèi)容類別標題字段5001、內(nèi)容長度標題字段5002、會話ID標題字段5003、密鑰ID標題字段5004和摘要值字段5005構(gòu)成。
正文部510存儲有基于公開密鑰加密消息正文511的數(shù)據(jù)。
公開密鑰加密消息正文511由收信人信息5100和加密內(nèi)容信息5110構(gòu)成。
收信人信息5100由證明書識別信息字段5101和保護對象加密密鑰字段5102構(gòu)成。
加密內(nèi)容信息5110由以下部分構(gòu)成加密算法名稱字段5111;上位協(xié)議數(shù)據(jù)字段5112;署名人信息字段5113;摘要算法名稱字段5114;摘要值字段5115;序列號碼字段5116;署名時間字段5117;會話ID字段5118;發(fā)送用共用密鑰信息字段5120;接收用共用密鑰信息字段5130;署名用摘要算法名稱字段5141;署名用加密算法名稱字段5142;署名值字段5143。
發(fā)送用共用密鑰信息字段5120由發(fā)送用共用密鑰ID字段5121、有效期間字段5122、最大加密尺寸字段5123構(gòu)成。
接收用共用密鑰信息字段5130由以下部分構(gòu)成接收用共用密鑰ID字段5131;加密算法名稱字段5132;密鑰值字段5133;消息認證算法名稱字段5134;消息認證用保密值字段5135;有效期間字段5136;最大解密尺寸字段5137。
以上是公開密鑰加密消息形式的加密數(shù)據(jù)50的格式。
另外,公開密鑰加密消息正文511也可以使用在文獻4中定義的EnvelopedData項目(object)。
并且,從上位協(xié)議數(shù)據(jù)字段5112到署名值字段5143也可以使用在文獻4中定義的SignedData項目。
下面,說明共用密鑰加密消息形式的加密數(shù)據(jù)50的格式。
如圖7所示,共用密鑰加密消息形式的加密數(shù)據(jù)50的格式也由標題部500和正文部510構(gòu)成。
標題部500與公開密鑰加密消息形式的標題部500相同。而正文部510存儲有共用密鑰加密消息正文512,以代替公開密鑰加密消息正文511。
共用密鑰加密消息正文512由以下部分構(gòu)成加密算法名稱字段5201;消息認證算法名稱字段5202;上位協(xié)議數(shù)據(jù)字段5203;序列號碼字段5204;會話ID字段5205;發(fā)送用共用密鑰字段5206;接收用共用密鑰字段5207;消息認證值字段5208。
另外,發(fā)送用共用密鑰字段5206的具體內(nèi)容與發(fā)送用共用密鑰字段5120相同,同樣,接收用共用密鑰字段5207的具體內(nèi)容與接收用共用密鑰字段5130相同。
另外,公開密鑰加密消息正文511也可以使用在文獻4中定義的EncryptedData項目的格式。此外,從消息認證算法名稱字段5202到消息認證值字段5208,也可以使用在文獻4中定義的AuthenticatiedData項目的格式。
下面,說明錯誤通知消息形式的加密數(shù)據(jù)50的格式。
如圖14所示,錯誤通知消息形式的加密數(shù)據(jù)50的格式也由標題部500和正文部510構(gòu)成。標題部500與公開密鑰加密消息形式的標題部500相同。而正文部510存儲有錯誤通知消息正文513,以代替公開密鑰加密消息正文511。
錯誤通知消息正文513由以下部分構(gòu)成NOTIFY(通知)消息字段5301;署名人信息字段5302;摘要算法名稱字段5303;摘要值字段5304;序列號碼字段5305;署名時間字段5306;會話ID字段5307;密鑰ID字段5308;署名用摘要算法名稱字段5309;署名用加密算法名稱字段5310;署名值字段5311。
另外,錯誤通知消息正文513也可以使用在文獻4中定義的SignedData項目的格式。
下面,說明本實施例的加密SIP通信系統(tǒng)的動作。
實施例1的系統(tǒng)由注冊處理、通信建立處理、通信結(jié)束處理、注冊注銷處理這4個處理構(gòu)成。
圖3是概要表示實施例1的系統(tǒng)中的4個處理的客戶應(yīng)用101、服務(wù)2、SIP功能部301的各個功能之間的動作程序的圖。
首先,說明在實施例1的系統(tǒng)中的注冊處理中,用戶終端裝置10向會話管理裝置30注冊用戶1的SIP識別符61和用戶終端裝置10的IP地址的關(guān)聯(lián)關(guān)系時的、SIP功能部301的動作。
上述的注冊處理是這樣進行的,SIP功能部3011生成包括用戶1的SIP識別符61和用戶終端裝置10的IP地址、及與它們的關(guān)聯(lián)關(guān)系的有效期間有關(guān)的信息的SIP消息(REGISTER消息41)(S1),并通過加密功能部3011和加密功能部3023發(fā)送給SIP功能部3013(S2)。
接收到REGISTER消息41的SIP功能部3013,確認由加密功能部3023通知的會話信息70中記述的SIP識別符61是否與REGISTER消息41的發(fā)信人的SIP識別符61一致(S3)。
此處,在SIP識別符61一致時,處理該REGISTER消息41,并把REGISTER消息41中包含的用戶1的SIP識別符61、用戶終端裝置10的IP地址和有效期間作為一個條目(entry),注冊在注冊DB306中(S3)。
此時,SIP功能部3013也可以設(shè)定與REGISTER消息41中包含的有效期間不同的有效期間,并注冊在注冊DB306中。
另一方面,在S3中,SIP識別符61不一致時,SIP功能部3013把該REGISTER消息41判斷為非法的消息,中止處理。
然后,SIP功能部3013生成包括對REGISTER消息41的答復的SIP消息(答復消息42)(S3),并通過加密功能部3023和加密功能部3021發(fā)送給SIP功能部3011(S4)。
另外,在向注冊DB306的注冊成功時,答復消息42中包含通知對REGISTER消息41的處理成功的狀態(tài)代碼、和向注冊DB306注冊的有效期間的信息。在向注冊DB306的注冊失敗時,答復消息42中包含通知對REGISTER消息41的處理失敗的狀態(tài)代碼。
通過加密功能部3023和加密功能部3021接收到答復消息42的SIP功能部3011,確認答復消息42的狀態(tài)代碼,如果該狀態(tài)代碼是通知處理成功的狀態(tài)代碼,則保存答復消息42中包含的有效期間的信息(S5)。
以上是用戶終端裝置10和會話管理裝置30中的SIP功能部301的動作。
另外,SIP功能部3013重復(例如定期)確認注冊DB306的內(nèi)容,在注冊DB306中存在有效期間已過的條目時,刪除該條目。
另一方面,SIP功能部3011重復(例如定期)確認所保存的有效期間,在有效期間已過時,再次進行上述的注冊動作,由此在注冊DB306中保持記錄了用戶1的SIP識別符61和用戶終端裝置10的IP地址的關(guān)聯(lián)關(guān)系的條目。
并且,通過進行相同的動作,應(yīng)用服務(wù)器裝置20把服務(wù)2的SIP識別符61和用戶終端裝置20的IP地址的關(guān)聯(lián)關(guān)系注冊在會話管理裝置30的注冊DB306中。
下面,說明在實施例1的系統(tǒng)中,應(yīng)用客戶端101和服務(wù)2之間的通信建立處理中的應(yīng)用客戶端101、服務(wù)2和SIP功能部301的動作。
上述的通信建立處理是通過應(yīng)用客戶端101向SIP功能部3011請求建立對服務(wù)2的通信開始的(S6)。
被請求建立通信的SIP功能部3011生成包括作為發(fā)信人的用戶1的SIP識別符61、而且包括作為發(fā)送對象的服務(wù)2的SIP識別符61的SIP消息(INVITE消息43)(S7),通過加密功能部3021發(fā)送給SIP功能部3013(S8)。
通過加密功能部3021和加密功能部3023接收到INVITE消息43的SIP功能部3013,確認由加密功能部3023通知的會話信息70中記述的SIP識別符61是否與INVITE消息43的發(fā)信人的SIP識別符61一致(S9)。在SIP識別符61一致時,處理該INVITE消息43,確認INVITE消息43的發(fā)送對象。
另一方面,在S9中,SIP識別符61不一致時,SIP功能部3013把該INVITE消息43判斷為非法的消息,停止處理。
然后,SIP功能部3013從注冊DB306檢索作為INVITE消息43的發(fā)送對象的、服務(wù)2正在動作的應(yīng)用服務(wù)器裝置20的IP地址(S9),并通過加密功能部3023和加密功能部3022把INVITE消息43發(fā)送給SIP功能部3012(S10)。
接收到INVITE消息43的SIP功能部3012通知服務(wù)2有通信建立請求(S11),并且生成包括對INVITE消息43的答復的SIP消息(答復消息44)(S13),通過加密功能部3022發(fā)送給SIP功能部3013(S14)。
服務(wù)2從SIP功能部3012接收到有通信建立請求的通知時,進行開始通信的準備(S12)。
并且,在SIP功能部3012允許通信時,答復消息44中包含表示對INVITE消息43的處理成功的狀態(tài)代碼。在SIP功能部3012不允許通信時,答復消息44中包含表示對INVITE消息43的處理失敗的狀態(tài)代碼。
通過加密功能部3022和加密功能部3023接收到答復消息44的SIP功能部3013,通過加密功能部3023和加密功能部3021把答復消息44發(fā)送給SIP功能部3011(S15)。
接收到答復消息44的SIP功能部3011確認答復消息44的狀態(tài)代碼,如果該狀態(tài)代碼是表示對INVITE消息43的處理成功的狀態(tài)代碼,則通知客戶應(yīng)用101允許服務(wù)2通信(S16)。
從SIP功能部3011接收到允許通信通知的客戶應(yīng)用101,建立與服務(wù)2的連接,開始通信(S17)。
以上是在客戶應(yīng)用101和服務(wù)2之間建立通信的動作。
另外,在建立通信時,也可以與上述相反,由服務(wù)2請求SIP功能部3012建立通信。該情況時,SIP功能部3012生成包括作為發(fā)信人的服務(wù)2的SIP識別符61、而且包括作為發(fā)送對象的用戶1的SIP識別符61的INVITE消息43,并發(fā)送給會話管理裝置30。
下面,說明在實施例1的系統(tǒng)中,客戶應(yīng)用101和服務(wù)2之間的通信結(jié)束處理中的客戶應(yīng)用101和服務(wù)2和SIP功能部301的動作。
上述的通信結(jié)束處理是通過客戶應(yīng)用101首先請求SIP功能部3011切斷通信而開始的(S18)。
被請求切斷通信的SIP功能部3011生成包括作為發(fā)信人的用戶1的SIP識別符61、而且包括作為發(fā)送對象的服務(wù)2的SIP識別符61的SIP消息(BYE消息45)(S19),通過加密功能部3021和加密功能部3023發(fā)送給SIP功能部3013(S20)。
通過加密功能部3021和加密功能部3023接收到BYE消息45的SIP功能部3013,確認由加密功能部3023通知的會話信息70中記述的SIP識別符61是否與BYE消息45的發(fā)信人的SIP識別符61一致(S21)。在SIP識別符61一致時,確認該BYE消息45的發(fā)送對象(S21)。
另一方面,在S21中,SIP識別符61不一致時,SIP功能部3013把該BYE消息45判斷為非法的消息,中止處理。
然后,SIP功能部3013從注冊DB306檢索作為BYE消息45的發(fā)送對象的、服務(wù)2正在動作的應(yīng)用服務(wù)器裝置20的IP地址(S21)。
并且,SIP功能部3013通過加密功能部3023和加密功能部3022把BYE消息45發(fā)送給SIP功能部3012(S22)。
接收到BYE消息45的SIP功能部3012通知服務(wù)2有切斷通信請求(S23),服務(wù)2進行切斷通信的準備(S24)。
然后,SIP功能部3012生成包括對BYE消息45的答復的SIP消息(答復消息46)(S25),并通過加密功能部3022和加密功能部3023發(fā)送給SIP功能部3013(S26)。
另外,在SIP功能部3012允許切斷時,答復消息46中包含表示對BYE消息45的處理成功的狀態(tài)代碼。在SIP功能部3012不允許切斷時,答復消息46中包含表示對BYE消息45的處理失敗的狀態(tài)代碼。
接收到答復消息46的SIP功能部3013,通過加密功能部3023和加密功能部3021把答復消息46發(fā)送給SIP功能部3011(S27)。
接收到答復消息46的SIP功能部3011確認答復消息46的狀態(tài)代碼,如果該狀態(tài)代碼是表示對BYE消息45的處理成功的狀態(tài)代碼,則通知客戶應(yīng)用(client application)101允許服務(wù)2結(jié)束通信(S28)。
從SIP功能部3011接收到允許通信通知的客戶應(yīng)用101,切斷與服務(wù)2的連接,結(jié)束通信(S29)。
以上是結(jié)束客戶應(yīng)用101和服務(wù)2的通信的動作。
另外,在結(jié)束通信時,也可以與上述相反,由服務(wù)2請求SIP功能部3012結(jié)束通信。該情況時,SIP功能部3012生成包括作為發(fā)信人的服務(wù)2的SIP識別符61、而且包括作為發(fā)送對象的用戶1的SIP識別符61的BYE消息45,并發(fā)送給會話管理裝置30。
下面,說明實施例1的系統(tǒng)中的注冊注銷處理中的SIP功能部301的動作。
此處,說明用戶終端裝置10注銷注冊在會話管理裝置30中的用戶1的SIP識別符61和用戶終端裝置10的IP地址的關(guān)聯(lián)關(guān)系的情況。
上述的注銷處理是通過SIP功能部3011生成把有效期間設(shè)定為0的RGISTER消息41開始的(S30)。
SIP功能部3011通過加密功能部3021和加密功能部3023把上述RGISTER消息41發(fā)送給SIP功能部3013(S31)。
接收到RGISTER消息41的SIP功能部3013,確認由加密功能部3023通知的會話信息70中記述的SIP識別符61是否與RGISTER消息41的發(fā)信人的SIP識別符61一致(S32)。
在SIP識別符61一致時,處理該RGISTER消息41,從注冊DB306注銷RGISTER消息41中包含的記述有用戶1的SIP識別符61的條目。
另一方面,在S32中,SIP識別符61不一致時,SIP功能部3013把該RGISTER消息41判斷為非法的消息,停止處理。
然后,SIP功能部3013生成對RGISTER消息41的答復消息42(S32),通過加密功能部3023和加密功能部3021發(fā)送給SIP功能部3011,并且指示加密功能部3023將上述會話信息70初始化(S33)。
接收到答復消息42的SIP功能部3011注銷所保存的有效期間信息,并且指示加密功能部3021將上述會話信息70初始化(S34)。
以上是會話管理裝置30和用戶終端裝置10中的SIP功能部301的動作。
通過進行相同的動作,應(yīng)用服務(wù)器裝置20將服務(wù)2的SIP識別符61和應(yīng)用服務(wù)器裝置20的IP地址的關(guān)聯(lián)關(guān)系注銷。
下面,說明實施例的系統(tǒng)中的加密功能部302的動作。
首先,在本實施例的系統(tǒng)起動時,加密功能部302按照下面所述將存在于會話DB305中的所有會話信息70初始化。
首先,對會話ID701設(shè)定文字串“NO_SESSION”,對發(fā)送序列號碼702設(shè)定0,對接收序列號碼703設(shè)定0,對接收時間戳704設(shè)定文字串“NOT_RECEIVED”,對SIP識別符61設(shè)定作為該會話信息70的對象的通信對象的SIP識別符61。
然后,將加密用共用密鑰信息710初始化。即,對加密用共用密鑰ID711設(shè)定文字串“NO_KEY”,對加密算法名稱712設(shè)定文字串“NULL”,對加密密鑰值713設(shè)定0,對消息認證算法名稱714設(shè)定文字串“NULL”,對保密值715設(shè)定0,對有效期間716設(shè)定當前時刻的文字串表述方式,對最大加密尺寸717設(shè)定0,對當前加密尺寸718設(shè)定0。
然后,將解密用共用密鑰信息720初始化。即,對解密用共用密鑰ID721設(shè)定文字串“NO_KEY”,對加密算法名稱722設(shè)定文字串“NULL”,對解密密鑰值723設(shè)定0,對消息認證算法名稱724設(shè)定文字串“NULL”,對保密值725設(shè)定0,對有效期間726設(shè)定當前時刻的文字串表述方式,對最大解密尺寸727設(shè)定0,對當前解密尺寸728設(shè)定0。
然后,所有會話信息70的初始化結(jié)束,加密功能部302通知SIP功能部301和通信功能部303初始化動作結(jié)束。
以上是本實施例的系統(tǒng)起動時的加密功能部302的動作。
下面,說明在圖3中的SIP功能部301之間收發(fā)SIP消息時,SIP功能部301向加密功能部302轉(zhuǎn)發(fā)SIP消息時的加密功能部302的動作。
圖8是表示從SIP功能部301接收SIP消息,并將該SIP消息加密的加密功能部302的動作流程的圖。
加密功能部302從SIP功能部301接收SIP消息,確認該SIP消息的發(fā)送對象,從會話DB305獲取包括發(fā)送對象的SIP識別符61的會話信息70(步驟3000)。
然后,將該會話信息70的發(fā)送序列號碼702進行增1計數(shù)(步驟3001)。
然后,確認該會話信息70的解密用共用密鑰信息720是否有效(步驟3002)。另外,所謂解密用共用密鑰信息720有效,指有效期限726在當前時間之后、而且當前解密尺寸728小于最大解密尺寸727的情況。
在判斷該解密用共用密鑰信息720有效時(步驟3002為是),轉(zhuǎn)入步驟3004。
在判斷該解密用共用密鑰信息720無效時(步驟3002為否),更新解密用共用密鑰信息720(步驟3003)。即,對解密用共用密鑰ID721、解密用共用密鑰值723、保密值725分別設(shè)定隨機數(shù)。同時,對最大解密尺寸728設(shè)定0,對有效期間726設(shè)定空白文字串。并且,對加密算法名稱722設(shè)定可以使用的共用密鑰加密算法的名稱,對消息認證算法名稱724設(shè)定可以使用的消息認證算法的名稱。
然后,加密功能部302確認是否存在有效的加密用共用密鑰信息710(步驟3004)。所謂加密用共用密鑰信息710有效,指有效期限716在當前時間之后、而且當前加密尺寸718小于最大加密尺寸717的情況。在本實施例中,加密用共用密鑰信息710由發(fā)送對象通知,所以如果加密用共用密鑰信息710有效,則判斷為可以與發(fā)送對象共享有效的會話信息70的加密用共用密鑰信息710。
在判斷為存在有效的加密用共用密鑰信息720時(步驟3004為是),轉(zhuǎn)入步驟3021。
在判斷為加密用共用密鑰信息710無效時(步驟3004為否),加密功能部302從公開密鑰證明書DB304獲取包括發(fā)送對象的SIP識別符61的通信對象信息60(步驟3011),轉(zhuǎn)入步驟3012。
在不存在包括發(fā)送對象的SIP識別符61的通信對象信息60時(步驟3012為否),加密功能部302通知SIP功能部301出現(xiàn)錯誤,并結(jié)束處理(步驟3031)。
在存在通信對象信息60時(步驟3012為是),從該通信對象信息60獲取發(fā)送對象的公開密鑰證明書62,生成公開密鑰加密消息形式的加密數(shù)據(jù)50(步驟3013)。
以下,說明在步驟3013,加密功能部302生成公開密鑰加密消息形式的加密數(shù)據(jù)50時的動作。
首先,加密功能部302對上位協(xié)議數(shù)據(jù)字段5112設(shè)定從SIP功能部301獲取的SIP消息。
然后,加密功能部302對署名人信息字段5113設(shè)定公開密鑰證明書83。
然后,對摘要值字段5115設(shè)定上述SIP消息的摘要值,并且對摘要算法名稱字段5114設(shè)定用于計算該摘要值的算法名稱。
然后,對序列號碼字段5116設(shè)定發(fā)送序列號碼702。
然后,對署名時間字段5141設(shè)定當前時間,對會話ID字段5118設(shè)定會話ID701。
然后,對發(fā)送用共用密鑰ID字段5121設(shè)定加密用共用密鑰ID711,對有效期間字段511設(shè)定有效期間716,對最大加密尺寸字段5123設(shè)定最大加密尺寸717。
然后,對接收用共用密鑰ID字段5131設(shè)定解密用共用密鑰ID721,對加密算法名稱字段5132設(shè)定加密算法名稱722,對密鑰值字段5133設(shè)定解密密鑰值723,對消息認證算法名稱字段5134設(shè)定消息認證算法名稱724,對消息認證用保密值字段5135設(shè)定保密值725,對有效期間字段5136設(shè)定有效期間726,對最大解密尺寸字段5127設(shè)定最大解密尺寸727。
然后,加密功能部302把從摘要值字段5115到接收用共用密鑰信息字段5130作為一系列的程序數(shù)據(jù),計算署名用摘要值,對署名用摘要算法名稱字段5141設(shè)定計算時使用的摘要算法的名稱。
另外,生成利用秘密密鑰81將該署名用摘要值加密的署名值,并設(shè)定到署名值字段5143中,并且對署名用加密算法名稱字段5142設(shè)定加密時使用的公開密鑰算法的名稱。
然后,加密功能部302生成隨機數(shù),利用該隨機數(shù)將上位協(xié)議數(shù)據(jù)字段5112至署名值字段5143加密,并且把加密時使用的加密算法的名稱記錄在加密算法名稱字段5111中。
然后,加密功能部302對證明書識別信息字段5101設(shè)定發(fā)送對象的公開密鑰證明書62,并且對保護對象加密密鑰字段5102設(shè)定利用上述公開密鑰證明書62中包含的公開密鑰將上述隨機數(shù)加密后的值。
另外,加密功能部302把用于表示該加密數(shù)據(jù)50是公開密鑰加密消息形式的文字串“START”存儲在內(nèi)容類別標題字段5001中。把正文部510的長度存儲在內(nèi)容長度標題字段5002中。對會話ID標題字段5003設(shè)定會話信息70的會話ID701。對密鑰ID標題字段5004不做任何設(shè)定。對摘要值字段5005設(shè)定正文部510的摘要值和計算該摘要值時使用的摘要算法的識別信息。
以上是加密功能部302生成公開密鑰加密消息形式的加密數(shù)據(jù)50時的動作。
按照上面所述生成加密數(shù)據(jù)50的加密功能部302,委托通信功能部303發(fā)送該加密數(shù)據(jù)50(步驟3014),并結(jié)束處理。
另一方面,在步驟3004,在判斷為加密用共用密鑰信息710有效時,加密功能部302在步驟3021,生成按照共用密鑰加密消息格式52將SIP消息加密的加密數(shù)據(jù)50。
以下,說明加密功能部302生成共用密鑰加密消息形式的加密數(shù)據(jù)50時的動作。
首先,加密功能部302對加密算法名稱字段5201設(shè)定加密算法名稱712,對消息認證算法名稱字段5202設(shè)定消息認證算法名稱714,對上位協(xié)議數(shù)據(jù)字段5203設(shè)定從SIP功能部301接收的SIP消息,對會話ID字段5205設(shè)定會話ID701。
然后,對發(fā)送用共用密鑰字段5206設(shè)定與發(fā)送用共用密鑰字段5120相同的值。
然后,對接收用共用密鑰字段5207設(shè)定與接收用共用密鑰字段5130相同的值。
然后,使用消息認證算法名稱714的算法和保密值715,把從上位協(xié)議數(shù)據(jù)字段5203到接收用共用密鑰字段5207的一系列的程序數(shù)據(jù)作為對象,計算消息認證值,并存儲在消息認證值字段5208中。
另外,加密功能部302把表示該加密數(shù)據(jù)50是共用密鑰加密消息形式的文字串“CONTINUE”存儲在內(nèi)容類別標題字段5001中。把正文部510的長度存儲在內(nèi)容長度標題字段5002中。對會話ID標題字段5003設(shè)定會話ID701。對密鑰ID標題字段5004設(shè)定加密用共用密鑰ID711。對摘要值字段5005設(shè)定正文部510的摘要值和計算該摘要值時使用的摘要算法的識別信息。
以上是加密功能部302生成共用密鑰加密消息形式的加密數(shù)據(jù)50時的動作。
按照上面所述生成加密數(shù)據(jù)50的加密功能部302,向當前加密尺寸718加算把從消息認證算法名稱字段5202到消息認證值字段5209視為一系列的程序數(shù)據(jù)時的尺寸(步驟3022),執(zhí)行步驟3014以后的處理。
以上是從SIP功能部301獲取SIP消息時的加密功能部302的動作。
下面,說明在圖3中的SIP功能部301之間收發(fā)SIP消息時,通過通信功能部303接收加密數(shù)據(jù)50時的加密功能部302的動作。
圖9和圖10是表示通過通信功能部303接收加密數(shù)據(jù)50時的加密功能部302的動作流程的圖。
首先,加密功能部302從通信功能部303接收加密數(shù)據(jù)50,計算正文部510的摘要值,并確認與存儲在摘要值字段5005中的值是否一致(步驟4001)。
此處,如果摘要值不一致(步驟4001為否),判斷為產(chǎn)生傳輸錯誤,并結(jié)束處理。
另一方面,在摘要值一致時(步驟4001為是),在步驟4002確認該加密數(shù)據(jù)50的內(nèi)容標題字段5001。如果內(nèi)容標題字段5001的值是“START”,則加密功能部302判斷該加密數(shù)據(jù)50是公開密鑰加密消息形式,執(zhí)行圖10所示的以下處理。
首先,加密功能部302利用公開密鑰82解密保護對象加密密鑰字段5102的值,獲取保護對象加密密鑰(步驟4100)。
然后,在步驟4101,使用該保護對象加密密鑰,將上位協(xié)議數(shù)據(jù)字段5112至署名值字段5143解密。
加密功能部302把從摘要值字段5115到接收用共用密鑰信息字段5130作為一系列的程序數(shù)據(jù),計算署名驗證用摘要值(步驟4102)。
確認使用存儲在署名人信息字段5113中的公開密鑰證明書62的公開密鑰將署名值字段5114的值解密后的值,與上述署名驗證用摘要值一致,以及摘要值字段5115的值,與使用由摘要算法名稱字段5114指定的算法計算上位協(xié)議數(shù)據(jù)字段5112的值后的摘要值一致(步驟4103)。
在步驟4103為否、即任何一方不一致時,判斷為署名驗證失敗、即該加密數(shù)據(jù)50被竄改,通知SIP功能部301產(chǎn)生錯誤,并結(jié)束處理(步驟4206)。
另一方面,在步驟4103為是、即兩方都一致時,驗證存儲在署名人信息字段5113中的公開密鑰證明書62是否有效(步驟4104)。
此處,在判斷為公開密鑰證明書62無效時(步驟4104為否),生成錯誤通知消息形式的加密數(shù)據(jù)50,以便通知發(fā)信人證明書驗證失敗(步驟4131)。
以下,說明為了通知證明書驗證失敗而生成錯誤通知消息形式的加密數(shù)據(jù)50時的加密功能部302的更具體的動作。
首先,加密功能部302對NOTIFY(通知)消息字段5301設(shè)定文字串“AUTH_FAILURE”和公開密鑰證明書62的組,以表示公開密鑰證明書62的驗證、即發(fā)送對象的驗證失敗。
然后,加密功能部302對署名人信息字段5302設(shè)定自身的公開密鑰證明書。
然后,對摘要值字段5304設(shè)定上述NOTIFY(通知)消息字段5301的摘要值,并且對摘要算法名稱字段5303設(shè)定計算該摘要值時使用的算法名稱。
然后,對序列號碼字段5305設(shè)定發(fā)送序列號碼702。
然后,對署名時間字段5306設(shè)定當前時間,對會話ID字段5307設(shè)定會話ID701。
然后,加密功能部302對密鑰ID字段5308設(shè)定空白文字串。
然后,加密功能部302把從摘要值字段5304到密鑰ID字段5308作為一系列的程序數(shù)據(jù),計算署名用摘要值,對署名用摘要算法名稱字段5309設(shè)定計算時使用的摘要算法的名稱。
另外,生成利用自身的秘密密鑰將該署名用摘要值加密的署名值,并設(shè)定到署名值字段5311中,并且對署名用加密算法名稱字段5310設(shè)定加密時使用的公開密鑰算法的名稱。
另外,加密功能部302把表示該加密數(shù)據(jù)50是錯誤通知消息形式的文字串“NOTIFY”存儲在內(nèi)容類別標題字段5001中。把正文部510的長度存儲在內(nèi)容長度標題字段5002中。對會話ID標題字段5003設(shè)定會話信息70的會話ID701。對密鑰ID標題字段5004不做任何設(shè)定。對摘要值字段5005設(shè)定正文部510的摘要值和用于計算該摘要值的摘要算法的識別信息。
以上是為了通知證明書驗證失敗而生成錯誤通知消息形式的加密數(shù)據(jù)50時的加密功能部302的更具體的動作。
生成了上述的錯誤通知消息形式的加密數(shù)據(jù)50的加密功能部302,通過通信功能部303把該加密數(shù)據(jù)50回復給發(fā)送對象(步驟4132),并結(jié)束處理。
另一方面,在步驟4104判斷為公開密鑰證明書62有效時(步驟4104為是),從公開密鑰證明書DB304中檢索是否存在與存儲在署名人信息字段5113中的公開密鑰證明書62對應(yīng)的SIP識別符61(步驟4105)。
此處,在公開密鑰證明書DB304中不存在SIP識別符61時(步驟4105為否),結(jié)束處理。
另一方面,在公開密鑰證明書DB304中存在SIP識別符61時(步驟4105為是),從會話DB305中檢索對應(yīng)該SIP識別符61的會話信息70(步驟4106)。
然后,加密功能部302確認會話ID字段5118的值(步驟4107)。
在步驟4107,在會話ID字段的值是“NO_SESSION”時,加密功能部302確認署名時間字段5306的值是否是從當前時間起預先確定的范圍內(nèi)的時間(步驟4108)。
在步驟4108,在署名時間是從當前時間起預先確定的范圍以前的時間時,判斷為接收了舊消息,并結(jié)束處理。
另一方面,在步驟4108,在署名時間是從當前時間起預先確定的范圍以后的時間時,加密功能部302判斷需要與通信對方的時間同步,生成錯誤通知消息形式的加密數(shù)據(jù)50,并通過通信功能部303回復通信對方,以便在步驟4131請求時間同步(步驟4132),并結(jié)束處理。
另外,用于請求時間同步的錯誤通知消息形式的加密數(shù)據(jù)50,除了在NOTIFY(通知)消息字段5301中存儲有文字串“TIME_ALIGNMENT_REQUIRED”外,其他與用于通知證明書驗證失敗的錯誤通知消息形式的加密數(shù)據(jù)50相同。
另一方面,在步驟4108中,在署名時間包含于從當前時間起預先確定的范圍內(nèi)時,加密功能部302確認署名時間字段5306的值是否比接收時間戳704新(步驟4109)。
此處,在署名時間字段5306的值不如接收時間戳704新時(步驟4109為否),判斷為接收了舊消息,并結(jié)束處理。
另一方面,在署名時間字段5306的值比接收時間戳704新時(步驟4109為是),加密功能部302生成與存儲在會話DB305中的所有會話信息70不同的新會話ID(步驟4110)。
然后,加密功能部302把接收序列號碼703更新為序列號碼字段5116的值,把接收時間戳704更新為署名時間字段5306的值,把有效期間726更新為有效期間字段5122的值,把最大解密尺寸727更新為最大加密尺寸字段5123的值(步驟4112)。
并且,加密功能部302在步驟4110生成新會話ID時,把會話ID701更新為該新會話ID,在除此以外的情況下,把會話ID701更新為會話ID字段5118的值。
然后,加密功能部302比較接收用共用密鑰ID字段5131的值和加密用共用密鑰ID711,確認是否一致(步驟4113)。
此處,在數(shù)值一致時(步驟4113為否),不需要更新共用密鑰,所以進行步驟4115的處理。
另一方面,在數(shù)值不一致時(步驟4113為是),需要更新共用密鑰,所以在步驟4114,把加密算法712更新為加密算法名稱字段5132的值,把加密密鑰值713更新為密鑰值字段5133的值,把消息認證算法名稱字段714更新為消息認證算法名稱字段5134的值,把保密值715更新為消息認證用保密值字段5135的值。并且,向當前時間加算預先確定的期間,計算失效時間,并設(shè)定到有效期間716中,對最大加密尺寸717設(shè)定預先確定的尺寸。
然后,加密功能部302把上位協(xié)議數(shù)據(jù)字段5112的值作為SIP消息通知SIP功能部301(步驟4115),并結(jié)束處理。
另外,此時,加密功能部302把上述SIP消息和上述會話信息70一起通知SIP功能部301。另一方面,在步驟4107中,如果會話ID字段5118的值是“NO_SESSION”以外的值,則加密功能部302檢索該會話ID字段5118的值、和在步驟4106檢索的會話信息70的會話ID701是否相同(步驟4121)。
此處,如果數(shù)值相同,加密功能部302執(zhí)行步驟4122以后的處理。
即,加密功能部302確認序列號碼字段5116的值正常(例如,比接收序列號碼703大)(步驟4122)。
此處,在序列號碼字段5116的值不正常時(例如,不比接收序列號碼703大)(步驟4122為否),判斷為接收了舊消息,并結(jié)束處理。
另一方面,在步驟4122中,序列號碼字段5116的值正常時(例如,比接收序列號碼703大)(步驟4122為是),加密功能部302比較發(fā)送用共用密鑰ID字段5231和解密用共用密鑰ID722,確認是否一致(步驟4123)。
此處,如果數(shù)值不一致(步驟4123為否),則結(jié)束處理。在步驟4123為是時,則執(zhí)行步驟4112以后的處理。
另一方面,在步驟4121中,如果數(shù)值不同時,加密功能部302檢索會話DB307,確認是否存在其他具有相同值的會話ID701的會話信息70(步驟4130)。
在步驟4130中存在會話信息70時,加密功能部302判斷需要確認署名時間及生成新會話ID,執(zhí)行步驟4108以后的處理。
另一方面,在步驟4130中不存在會話信息70時,加密功能部302執(zhí)行步驟4112以后的處理。
以上是在步驟4002判斷為該加密數(shù)據(jù)50是公開密鑰加密消息形式時的動作。
另一方面,在圖9的步驟4002中,如果內(nèi)容標題字段5001的值是“CONTINUE”,則加密功能部302判斷該加密數(shù)據(jù)50是共用密鑰加密消息形式,并執(zhí)行以下處理。
首先,加密功能部302從會話DB305中檢索具有與會話ID標題字段5003的值相同的會話ID701的會話信息70(步驟4003)。
此處,如果不存在會話信息70,加密功能部302判斷為需要進行發(fā)送對象的再認證,在圖10的步驟4131生成請求認證的錯誤通知消息形式的加密數(shù)據(jù)50,通過通信功能部303回復給通信對象(步驟4132),并結(jié)束處理。
另外,請求認證的錯誤通知消息形式的加密數(shù)據(jù)50,在NOTIFY(通知)消息字段5301中存儲有文字串“AUTH_REQUIRED”,而且對會話ID標題字段5003和會話ID字段5307設(shè)定上述公開密鑰加密消息形式的會話ID標題字段5003的值,另外,對密鑰ID標題字段5004和密鑰ID字段5308設(shè)定上述公開密鑰加密消息形式的密鑰ID字段5004的值,除此以外和用于通知證明書驗證失敗的錯誤通知消息形式的加密數(shù)據(jù)50相同。
另一方面,在步驟4003中存在會話信息70時,確認密鑰ID標題字段5004的值和存儲在該會話信息中的解密用共用密鑰ID721一致(步驟4004)。
此處,如果數(shù)值不一致,加密功能部302判斷需要進行通信對象的再認證,在圖10的步驟4131生成請求認證的錯誤通知格式形式的加密數(shù)據(jù)50,并通過通信功能部303回復給通信對象(步驟4132),并結(jié)束處理。
另一方面,在步驟4004中數(shù)值一致時,使用解密密鑰值723將正文部解密,確認正確地進行了解密(步驟4005)。
此處,如果不能正確解密,加密功能部302判斷需要進行通信對象的再認證,在步驟4131生成請求認證的錯誤通知格式形式的加密數(shù)據(jù)50,并通過通信功能部303回復給通信對象(步驟4132),并結(jié)束處理。
另一方面,在步驟4005正確地進行了解密時,確認序列號碼字段5204的值大于接收序列號碼703(步驟4006)。
此處,如果序列號碼字段5204的值不大,則判斷為接收了舊消息,并結(jié)束處理。
另一方面,在步驟4006中,如果序列號碼字段5204的值大,則在步驟4007更新會話信息70。
即,對接收序列號碼703設(shè)定序列號碼字段5204的值,對解密用共用密鑰信息720的有效期間726設(shè)定有效期限字段5122的值,對最大解密尺寸727設(shè)定最大加密尺寸字段5123的值,并且向當前解密尺寸728加算把從消息認證算法名稱字段5202到消息認證值字段5209視為一系列的程序數(shù)據(jù)時的尺寸。
然后,加密功能部302確認接收用共用密鑰ID字段5131的值是否和加密用共用密鑰ID711相同(步驟4008)。
此處,如果與加密用共用密鑰ID711相同,則判斷不需要更新加密用共用密鑰信息ID710,執(zhí)行步驟4010。
另一方面,在步驟4008如果是與加密用共用密鑰ID711不同的值,則判斷為需要更新加密用共用密鑰ID信息710,并更新會話信息70。
即,把加密算法712更新為加密算法名稱字段5132的值,把加密密鑰值713更新為密鑰值字段5133的值,把消息認證算法名稱字段714更新為消息認證算法名稱字段5134的值,把保密值715更新為消息認證用保密值字段5135的值。并且,對于有效期間716,在當前時間加算預先設(shè)定的期間,計算失效時間,設(shè)定到有效期間716中,對最大加密尺寸717設(shè)定預先確定的尺寸。
然后,加密功能部302在步驟4010,把上位協(xié)議數(shù)據(jù)字段5112的值作為SIP消息通知SIP功能部301,并結(jié)束處理。
另外,此時,加密功能部302把上述SIP消息和上述會話信息70一起通知SIP功能部301。以上是在步驟4002判斷為該加密數(shù)據(jù)50是共用密鑰加密消息形式時的動作。
另一方面,在步驟4002中內(nèi)容標題字段5001的值是“NOTIFY”時,加密功能部302判斷該加密數(shù)據(jù)50是錯誤通知消息形式,并執(zhí)行以下處理。
首先,加密功能部302把摘要值字段5304到密鑰ID字段5308作為一系列的程序數(shù)據(jù),計算署名驗證用摘要值(步驟4200)。
然后,確認該署名驗證用摘要值、與利用存儲在署名人信息字段5302中的公開密鑰證明書62的公開密鑰將署名值字段5311的值解密得到的數(shù)據(jù)一致,確認摘要值字段5304的值、與利用由摘要算法名稱字段5303指定的算法計算NOTIFY(通知)消息字段5301的值后的摘要值一致(步驟4201)。
此處,在任何一方不一致時,判斷為署名驗證失敗、即是被竄改的消息,通知SIP功能部301產(chǎn)生錯誤,并結(jié)束處理(步驟4206)。
另一方面,如果兩方一致,則驗證上述公開密鑰證明書62是否有效(步驟4202)。
此處,在上述公開密鑰證明書62無效時,判斷為可能是被竄改的消息,通知SIP功能部301產(chǎn)生錯誤,并結(jié)束處理(步驟4206)。
另一方面,在上述公開密鑰證明書62有效時,確認署名時間字段5306的值是從當前時間起的一定范圍內(nèi)的時間(步驟4203)。
此處,如果署名時間字段5306的值是范圍外的時間,則確認NOTIFY(通知)消息字段5301的值是否是“TIME_ALIGNMENT_REQUIRED”(步驟4211)。
此處,如果NOTIFY(通知)消息字段5301的值是“TIME_ALIGNMENT_REQUIRED”以外的值,則判斷為接收了舊消息,并結(jié)束處理。
另一方面,在步驟4211中,如果NOTIFY(通知)消息字段5301的值是“TIME_ALIGNMENT_REQUIRED”,則通知SIP功能部301產(chǎn)生了時間不同步的錯誤(步驟4206),并結(jié)束處理。
另一方面,在步驟4203中,如果署名時間字段5306的值是從當前時間起的一定范圍內(nèi)的時間時,則從公開密鑰證明書DB304中檢索與存儲在署名人信息字段5113中的公開密鑰證明書62對應(yīng)的SIP識別符61,把與該SIP識別符61對應(yīng)的會話信息70中包含的加密用公用信息710和解密用公用信息720更新為初始狀態(tài)(步驟4204)。
然后,加密功能部302在步驟4205確認NOTIFY(通知)消息字段5301的值。
此處,如果NOTIFY(通知)消息字段5301的值是“AUTH_REQUIRED”,則直接結(jié)束處理。
另一方面,如果NOTIFY(通知)消息字段5301的值是“AUTH_REQUIRED,”以外的值,則通知產(chǎn)生錯誤,并結(jié)束處理(步驟4206)。
以上是在步驟4002判斷為該加密數(shù)據(jù)50是錯誤通知消息形式時的動作。
以上是通過通信功能部303接收了加密數(shù)據(jù)50時的加密功能部302的動作。
在本實施例的系統(tǒng)中,在各個裝置之間收發(fā)的數(shù)據(jù)共享了加密用的公用信息時,使用共用密鑰加密消息形式的加密數(shù)據(jù)50,所以不需要電子署名驗證和證明書的驗證,能夠快速進行處理。
另一方面,在不能共享加密用的公用信息時,使用公開密鑰加密消息形式的加密數(shù)據(jù)50,所以不進行事前協(xié)商即可開始通信。
另外,在本實施例的系統(tǒng)中,用于生成共用密鑰加密消息形式的加密數(shù)據(jù)50的公用信息(加密用公用信息710),由接收該加密數(shù)據(jù)50的一方事前生成并通知。因此,通過確認會話信息70中存在有效的加密用公用信息710,可以判斷加密用的公用信息實現(xiàn)共享。
另外,在本實施例的系統(tǒng)中,加密用公用信息710由接收該加密數(shù)據(jù)50的一方生成并通知,該加密用共用密鑰信息710的有效期間716和最大加密尺寸718由生成該加密數(shù)據(jù)50的一方確定并通知。因此,即使對方通知了包括安全性強度較弱的加密算法和密鑰的加密用公用信息710,通過縮短有效期限和減小可加密尺寸,也能夠提高安全性強度。
另外,在本實施例中,對用戶1和服務(wù)2和會話管理裝置30發(fā)行SIP識別符61、公開密鑰證明書62和公開密鑰證明書83,但本發(fā)明不限于此。例如,也可以對用戶終端裝置10和應(yīng)用服務(wù)器裝置20發(fā)行,還可以對服務(wù)2的提供者發(fā)行。
并且,在本實施例中,公開密鑰證明書DB304存在于加密功能部302中,但本發(fā)明不限于此。例如,也可以在數(shù)據(jù)庫裝置中配置公開密鑰證明書DB304,通過LAN或網(wǎng)絡(luò)0進行存取。
另外,在本實施例中,在加密算法名稱712和消息認證算法名稱714、加密算法名稱722和消息認證算法名稱724中,以文字串方式保存算法的名稱,但本發(fā)明不限于此。例如,也可以像OID那樣利用可以唯一識別的信息保存。
同樣,在有效期間716(或有效期間726)中,以文字串方式保存該加密用共用密鑰信息710(該解密用共用密鑰信息720)失效的時間,但本發(fā)明不限于此。例如,也可以利用數(shù)值保存從某時刻起的經(jīng)過時間。
并且,有效期間字段5122和有效期間字段5136也以文字串方式保存對應(yīng)的加密用共用密鑰信息710和解密用共用密鑰信息720失效的時間,但本發(fā)明不限于此。例如,也可以在設(shè)定有效期間字段5122和有效期間字段5136時,計算失效時間和當前時間的差分,并設(shè)定該值。
此時,接收側(cè)的加密功能部302向當前時間加算有效期間字段5122和有效期間字段5136的值,計算失效時間。
并且,會話DB305存在于加密功能部302中,但本發(fā)明不限于此。例如,也可以把會話DB305配置在數(shù)據(jù)庫裝置中,通過LAN或網(wǎng)絡(luò)0進行存取。
并且,在本實施例中,注冊DB306存在于SIP功能部301中,但本發(fā)明不限于此。例如,也可以把注冊DB306存儲在數(shù)據(jù)庫裝置中,通過LAN或網(wǎng)絡(luò)0進行存取。
并且,在本發(fā)明中,在用于通知公開密鑰證明書的驗證失敗的錯誤通知消息形式的加密數(shù)據(jù)50中,對NOTIFY(通知)消息字段5301設(shè)定文字串“AUTH_FAILURE”和公開密鑰證明書62的組,但本發(fā)明不限于此。例如,也可以設(shè)定該公開密鑰證明書的摘要值來代替公開密鑰證明書62。
并且,在本實施例中,對請求時間同步的錯誤通知消息形式的加密數(shù)據(jù)50的署名時間字段5306,設(shè)定生成該加密數(shù)據(jù)50的時間,但本發(fā)明不限于此。例如,也可以對署名時間字段5306設(shè)定成為生成該加密數(shù)據(jù)50的原因的、公開密鑰加密數(shù)據(jù)形式的加密數(shù)據(jù)50中的署名時間字段5306的值。
并且,在本實施例中,會話信息70具有唯一的加密用共用密鑰信息710,但本發(fā)明不限于此。也可以把多個加密用共用密鑰信息710作為列表(list)管理。
并且,在本實施例中,會話信息70具有唯一的加密用共用密鑰信息720,但本發(fā)明不限于此。也可以把多個加密用共用密鑰信息720作為列表管理。
首先,說明適用了本發(fā)明的第二加密SIP通信系統(tǒng)的實施例。
實施例2的系統(tǒng)結(jié)構(gòu)與實施例1類似。
但是,在實施例2中,SIP功能部301在發(fā)送REGISTER消息41時一定生成公開密鑰加密消息形式的加密數(shù)據(jù)50,而且在發(fā)送REGISTER消息41以外的SIP消息(例如INVITE消息43)時,一定生成共用密鑰加密消息形式的加密數(shù)據(jù)50。
因此,加密功能部302還具有更新存儲在會話DB305中的會話信息70的功能,而且SIP功能部301具有指示加密功能部302更新會話信息70的功能。
并且,會話管理裝置30的加密功能部3023具有不僅生成解密用公用信息720,而且也生成加密用公用信息710的功能。
另一方面,用戶終端裝置10的加密功能部3021和應(yīng)用服務(wù)器20的加密功能部3022,被刪除了生成解密用公用信息720的功能。
下面,說明實施例2的各個功能部的動作。
圖11表示在實施例2中,用戶終端裝置10把用戶1的SIP識別符61和用戶終端裝置10的IP地址的關(guān)聯(lián)關(guān)系注冊在會話管理裝置30中時,以及在會話DB3051中管理的會話管理裝置30的會話信息70中的加密用共用密鑰信息710或解密用共用密鑰信息720失效時,SIP功能部301和加密功能部302的動作步驟。
首先,在實施例2中,說明用戶終端裝置10把用戶1的SIP識別符61和用戶終端裝置10的IP地址的關(guān)聯(lián)關(guān)系注冊在會話管理裝置30中的動作。
在本實施例中,首先,SIP功能部3011指示加密功能部3021將與會話管理裝置30對應(yīng)的會話信息70初始化(S51)。
從SIP功能部3011接收到指示的加密功能部3021,從會話DB3051中檢索與上述會話管理裝置30對應(yīng)的會話信息70,將該會話信息70的加密用共用密鑰信息710和解密用共用密鑰信息720初始化(S52)。
然后,SIP功能部3011生成REGISTER消息41(S53),通過加密功能部3021和加密功能部3023把該REGISTER消息41發(fā)送給SIP功能部3013(S54)。
然后,從SIP功能部3011接收到REGISTER消息41的加密功能部3021,按照圖13所示的動作步驟,生成包括REGISTER消息41的公開密鑰加密消息形式的加密數(shù)據(jù)50(S55),通過通信功能部303發(fā)送給加密功能部3023(S56)。
以下,說明圖13所示的動作。
圖13是表示本實施例中的加密功能部302從SIP功能部301接收到SIP消息時的動作的圖。
從SIP功能部301接收到SIP消息的加密功能部302,首先檢索發(fā)送對象的會話信息70(步驟6000)。
然后,加密功能部302將發(fā)送序列號碼加1(步驟6001)。
然后,加密功能部302確認會話信息70的加密用共用密鑰信息710是否有效(步驟6001)。
此處,在加密用共用密鑰信息710有效時,執(zhí)行步驟6021以后的處理。這與圖8中的步驟3021以后的動作相同,所以省略說明。
另一方面,在加密用共用密鑰信息710無效時,在步驟6011,檢索發(fā)送對象的公開密鑰證明書62。
此處,在不存在公開密鑰證明書62時,通知SIP功能部301出現(xiàn)錯誤,并結(jié)束處理(步驟6031)。
另一方面,在存在公開密鑰證明書62時,然后,確認該加密功能部302是否具有生成公用信息的功能。
此處,在不具有生成公用信息的功能時,執(zhí)行步驟6016以后的處理。
另一方面,在具有生成公用信息的功能時,在步驟6014,更新加密用共用密鑰信息710。即,對加密用共用密鑰ID711、加密密鑰值713和保密值715分別設(shè)定新生成的隨機數(shù),而且對最大加密尺寸718設(shè)定0,對有效期間716設(shè)定空白文字串。同時,對加密算法名稱712設(shè)定可以使用的共用密鑰加密算法的名稱,對消息認證算法名稱714設(shè)定可以使用的消息認證算法的名稱。并且,向當前時間加算預先確定的期間,計算失效時間,并設(shè)定到有效期間716中,對最大加密尺寸717設(shè)定預先確定的尺寸。
另外,在步驟6015更新解密用公用信息720。即,對解密用共用密鑰ID721、解密密鑰值723和保密值725分別設(shè)定新生成的隨機數(shù),而且對最大解密尺寸728設(shè)定0,對有效期間726設(shè)定空白文字串。同時,對加密算法名稱722設(shè)定可以使用的共用密鑰加密算法的名稱,對消息認證算法名稱724設(shè)定可以使用的消息認證算法的名稱。并且,向當前時間加算預先確定的期間,計算失效時間,并設(shè)定到有效期間726中,對最大加密尺寸727設(shè)定預先確定的尺寸。
然后,加密功能部302執(zhí)行步驟6016。
另外,步驟6016以后的處理與圖8的步驟3013以后的處理相同,所以省略說明。
以上是本實施例的加密功能部302從SIP功能部301接收到SIP消息時的動作。
另外,在本實施例中生成的公開密鑰加密消息形式的加密數(shù)據(jù)50中包含擴展發(fā)送用共用密鑰字段5140,以代替發(fā)送用共用密鑰字段5120。
圖12是表示擴展發(fā)送用共用密鑰字段5140的結(jié)構(gòu)的圖。
擴展發(fā)送用共用密鑰字段5140由以下部分構(gòu)成設(shè)定了加密用共用密鑰ID711的發(fā)送用共用密鑰ID字段5141;設(shè)定了加密算法名稱712的加密算法名稱字段5142;設(shè)定了加密密鑰值713的密鑰值字段5143;設(shè)定了消息認證算法名稱714的消息認證算法名稱字段5144;設(shè)定了保密值715的消息認證用保密值字段5145;設(shè)定了有效期間716的有效期間字段5146;設(shè)定了最大加密尺寸717的最大加密尺寸字段5147。
在圖11中,接收到加密數(shù)據(jù)50的加密功能部3023按照圖9和圖10所示的動作步驟,將加密數(shù)據(jù)50解密(S57),將加密數(shù)據(jù)50解密后的加密功能部3023取出REGISTER消息41,并轉(zhuǎn)發(fā)給SIP功能部3013(S58)。
然后,加密功能部3023將上述用戶1的會話信息70中包含的加密用共用密鑰信息710初始化(S59)。
另一方面,接收到REGISTER消息41的SIP功能部3013,處理該REGISTER消息41,并注冊IP地址,生成答復消息42(S60)。
然后,SIP功能部3013委托加密功能部3023把該答復消息42發(fā)送給SIP功能部3011(S61)。
從SIP功能部3013接收答復消息42的加密功能部3023,按照圖13所示的動作步驟,將答復消息42加密(S63)。
另外,此時,上述用戶1的會話信息70中包含的加密用共用密鑰信息710在S59被初始化,所以一定重新生成加密用共用密鑰信息710和解密用共用密鑰信息720(S62)。
并且,把上述會話信息70中包含的解密用共用密鑰信息720,更新為在S57被解密的上述加密數(shù)據(jù)50中包含的擴展發(fā)送用共用密鑰字段5140的值。
然后,加密功能部3023生成包括上述答復消息42、上述加密用共用密鑰信息710和上述解密用共用密鑰信息720的公開密鑰加密消息形式的加密數(shù)據(jù)50,通過通信功能部303發(fā)送給加密功能部3021(S64)。
接收到加密數(shù)據(jù)50的加密功能部3021將該加密數(shù)據(jù)50解密,取出加密用共用密鑰信息710和解密用共用密鑰信息720,更新上述會話管理服務(wù)器30的會話信息70(S65)。
并且,加密功能部3021將上述加密數(shù)據(jù)50解密,取出上述答復消息42,并轉(zhuǎn)發(fā)給SIP功能部3011(S66)。
以上是實施例2中的用戶終端裝置10和會話管理裝置30的動作。另外,在實施例2中,應(yīng)用服務(wù)器裝置20把服務(wù)2的SIP識別符61和應(yīng)用服務(wù)器裝置20的IP地址的關(guān)聯(lián)關(guān)系注冊在會話管理裝置30中時的、SIP功能部301和加密功能部302的動作,與上述說明的相同,所以省略說明。
下面,說明會話管理裝置30的會話信息70中的加密用共用密鑰信息710或解密用共用密鑰信息720失效時的SIP功能部301和加密功能部302的動作。
會話管理裝置30的會話信息70中的加密用共用密鑰信息710或解密用共用密鑰信息720失效時(S67),加密功能部3021向SIP功能部3011發(fā)送通知公用信息失效的失效通知(S68)。
接收到失效通知的SIP功能部3011,指示加密功能部3021將與會話管理裝置30對應(yīng)的會話信息70初始化(S69)。
以后的SIP功能部301和加密功能部302的動作(S70~S84),與用戶終端裝置10把用戶1的SIP識別符61和用戶終端裝置10的IP地址的關(guān)聯(lián)關(guān)系注冊在會話管理裝置30中時的、SIP功能部301和加密功能部302的動作相同。
在實施例2中,上述以外的情況下,各個功能部的動作與實施例1的動作相同。
在實施例2中,用戶終端裝置10和應(yīng)用服務(wù)器裝置30的加密功能部302不生成加密用公用信息710,而在會話管理裝置30的加密功能部302中生成加密用公用信息710并通知。因此,即使處理能力較低的用戶終端裝置10和應(yīng)用服務(wù)器裝置30,也能夠快速生成安全的公用信息。
并且,在實施例2中,在加密用公用信息710和解密用公用信息720無效的情況下,加密功能部302通知SIP功能部301公用信息失效,而且接收到通知的SIP功能部301生成REGISTER消息41,在SIP功能部301發(fā)送REGISTER消息41以外的SIP消息(例如,INVITE消息43)時,經(jīng)常生成共用密鑰加密消息形式的加密數(shù)據(jù)50。因此,能夠快速實施應(yīng)用客戶端101和服務(wù)2的連接。
另外,在實施例2中,SIP功能部301在生成REGISTER消息41之前,為了將加密功能部302的加密用公用信息710和解密用公用信息720初始化,REGISTER消息41一定以公開密鑰加密消息形式被加密。因此,在會話管理裝置30中,在處理REGISTER消息41時,可以同時進行發(fā)信人的再認證。
權(quán)利要求
1.一種加密數(shù)據(jù)通信系統(tǒng),至少兩個裝置通過網(wǎng)絡(luò)連接,用于收發(fā)加密數(shù)據(jù),具有生成加密數(shù)據(jù)的加密數(shù)據(jù)生成功能;解密從通信對象側(cè)裝置接收的加密數(shù)據(jù)的加密數(shù)據(jù)解密功能;通過網(wǎng)絡(luò)與其他裝置進行收發(fā)加密數(shù)據(jù)的通信的通信功能,其特征在于,所述裝置還具有存儲與其他裝置之間共享的加密處理用的加密用公用信息、和解密處理用的解密用公用信息的公用信息管理功能,所述加密數(shù)據(jù)生成功能從所述公用信息管理功能獲取與接收側(cè)裝置之間共享的解密公用信息,生成包括該加密用公用信息的加密數(shù)據(jù),并且,所述加密數(shù)據(jù)解密功能從所接收的加密數(shù)據(jù)中取出所述加密用公用信息,并委托所述公用信息管理功能把該加密用公用信息存儲為解密用公用信息。
2.根據(jù)權(quán)利要求1所述的加密通信系統(tǒng),其特征在于,所述加密數(shù)據(jù)生成功能生成的加密數(shù)據(jù)是使用從所述公用信息管理功能獲取的、與接收側(cè)裝置之間共享的加密用公用信息加密的共用密鑰加密數(shù)據(jù),而且,所述加密數(shù)據(jù)解密功能使用從所述公用信息管理功能獲取的與發(fā)信源裝置之間共享的解密用公用信息,解密所述共用密鑰加密數(shù)據(jù)。
3.根據(jù)權(quán)利要求2所述的加密通信系統(tǒng),其特征在于,所述裝置還具有管理其他裝置的公開密鑰的公開密鑰管理功能、和管理本裝置的秘密密鑰的秘密密鑰的管理功能,所述加密數(shù)據(jù)生成功能在不能從所述公用信息管理功能獲取與接收側(cè)裝置之間共享的加密用公用信息時,從所述公開密鑰管理功能獲取接收側(cè)裝置的公開密鑰,生成使用該公開密鑰加密的公開密鑰加密數(shù)據(jù),所述加密數(shù)據(jù)解密功能使用從所述秘密密鑰管理功能獲取的秘密密鑰,解密所述公開密鑰加密數(shù)據(jù)。
4.根據(jù)權(quán)利要求3所述的加密通信系統(tǒng),其特征在于,所述加密數(shù)據(jù)生成功能使用從所述秘密密鑰管理功能獲取的秘密密鑰,對所述公開密鑰加密數(shù)據(jù)賦予電子署名,所述加密數(shù)據(jù)解密功能使用從所述公開密鑰管理功能獲取的發(fā)信源裝置的公開密鑰,進行賦予所述公開密鑰加密數(shù)據(jù)的電子署名的驗證處理。
5.根據(jù)權(quán)利要求3所述的加密通信系統(tǒng),其特征在于,所述裝置是還具有進行SIP消息的生成和處理的SIP通信功能的SIP客戶端裝置和SIP服務(wù)器裝置,所述加密數(shù)據(jù)生成功能進行加密、所述加密數(shù)據(jù)解密功能進行解密的消息是SIP消息,而且,所述SIP客戶端裝置上的SIP通信功能在生成REGISTER消息時,該SIP客戶端裝置上的所述加密數(shù)據(jù)生成功能生成包括該REGISTER消息的所述公開密鑰加密數(shù)據(jù)。
6.根據(jù)權(quán)利要求5所述的加密通信系統(tǒng),其特征在于,所述加密用公用信息和所述解密用公用信息中設(shè)定了有效期限,所述SIP客戶端裝置上的所述SIP通信功能,在與所述SIP服務(wù)器裝置之間共享的所述加密用公用信息或所述解密用公用信息的任一方的有效期限已過時,生成REGISTER消息。
7.根據(jù)權(quán)利要求4所述的加密通信系統(tǒng),其特征在于,所述裝置還具有進行SIP消息處理的SIP通信功能,所述加密數(shù)據(jù)生成功能加密的消息和所述加密數(shù)據(jù)解密功能解密的消息是SIP消息,所述公開密鑰管理功能具有管理SIP識別符和公開密鑰的對應(yīng)關(guān)系的功能,所述加密數(shù)據(jù)解密功能把解密所述加密數(shù)據(jù)得到的SIP消息、和與為了解密該SIP消息使用的公開密鑰對應(yīng)的SIP識別符,轉(zhuǎn)發(fā)給所述SIP通信功能,所述SIP通信功能在所述SIP識別符與所述SIP消息中包含的發(fā)送對象的SIP識別符一致時,處理所述SIP消息。
8.一種加密數(shù)據(jù)的生成方法,在兩個裝置之間收發(fā)消息時生成將消息加密的加密數(shù)據(jù),其特征在于,所述加密數(shù)據(jù)包括用于處理在該加密數(shù)據(jù)以后收發(fā)的消息使用的公用信息。
9.根據(jù)權(quán)利要求8所述的加密數(shù)據(jù)的生成方法,其特征在于,所述公用信息是用于加密所述加密數(shù)據(jù)的接收側(cè)裝置在該加密數(shù)據(jù)以后發(fā)送的消息使用的加密用公用信息。
10.根據(jù)權(quán)利要求9所述的加密數(shù)據(jù)的生成方法,其特征在于,在已經(jīng)從接收側(cè)裝置通知了所述加密用公用信息時生成的所述加密數(shù)據(jù),是利用該公用信息加密的共用密鑰加密數(shù)據(jù)。
11.根據(jù)權(quán)利要求9所述的加密數(shù)據(jù)的生成方法,其特征在于,在沒有從接收側(cè)裝置通知所述加密用公用信息時生成的所述加密數(shù)據(jù),是利用該接收側(cè)裝置的公開密鑰加密的公開密鑰加密數(shù)據(jù)。
12.根據(jù)權(quán)利要求10所述的加密數(shù)據(jù)的生成方法,其特征在于,所述公開密鑰加密數(shù)據(jù)利用發(fā)信源裝置的秘密密鑰進行電子署名。
13.根據(jù)權(quán)利要求11所述的加密數(shù)據(jù)的生成方法,其特征在于,在兩個裝置之間收發(fā)的消息是指SIP消息,而且在發(fā)送REGISTER消息時生成所述公開密鑰加密數(shù)據(jù)。
14.根據(jù)權(quán)利要求8所述的加密數(shù)據(jù)的生成方法,其特征在于,所述公用信息是用于解密所述加密數(shù)據(jù)的接收側(cè)裝置在該加密數(shù)據(jù)以后接收的消息使用的解密用公用信息。
全文摘要
為了保護SIP消息的機密性和安全性,需要在通信之前協(xié)商安全參數(shù),或者在每當收發(fā)SIP消息時,為了進行加密處理、解密處理、電子署名處理、電子署名驗證,需要使用公開密鑰加密,所以花費時間。在SIP服務(wù)器和SIP客戶端這兩個實體之間收發(fā)消息時,在該實體之間共享加密用的公用信息時,利用該公用信息加密,而在不能共享加密用的公用信息時,利用發(fā)送對象實體的公開密鑰將通信消息加密。并且,在該加密數(shù)據(jù)以后的通信中,已加密的消息包括該加密數(shù)據(jù)的發(fā)送對象實體加密并解密消息時使用的公用信息。
文檔編號H04L9/32GK1855805SQ20061007162
公開日2006年11月1日 申請日期2006年3月28日 優(yōu)先權(quán)日2005年3月28日
發(fā)明者鍛忠司, 高田治, 藤城孝宏, 星野和義 申請人:株式會社日立制作所