專利名稱:自動更新共享密鑰的加密密鑰共享方案的制作方法
技術領域:
本發(fā)明涉及與對方共享密鑰信息,并在此密鑰基礎上執(zhí)行加密通信的通信設備,尤其涉及共享此密鑰信息的方案。
背景技術:
近年來,以低廉的成本生產(chǎn)相對高性能的設備成為可能,甚至存在通常作為獨立設備的那些設備,例如家用電器,現(xiàn)在也能夠被連接到網(wǎng)絡。另一方面,隨著網(wǎng)絡化的發(fā)展,越來越關心由于竊聽流過網(wǎng)絡的信息、或者竊用用戶ID、以及通過網(wǎng)絡非法遠程操作設備而泄露保密的重要信息。
為了解決以上問題,存在這樣的方法為了防止第三方的竊取,對通信數(shù)據(jù)加密之后再發(fā)送和接收通信數(shù)據(jù),使得只有對方能夠解密設備之間的通信。這里,需要共享只能由對方知道的、用于加密的密鑰。例如,正如在日本專利申請2001-069138中所述的那樣,存在這樣的方法,其中使用在公用密鑰密碼系統(tǒng)中所使用加密,并且將存儲在IC卡上的共享密鑰與遠端服務器進行交換。
但是,如果無限次地繼續(xù)交換利用相同密鑰信息加密的信息,那么這個共享密鑰遲早可能會被破譯的。也可能分析存儲共享密鑰的設備(例如IC卡),來竊取共享密鑰。而且,在為了減少生產(chǎn)成本而不可避免地提前把同樣的共享密鑰設置在大量的設備中的情況下,其他具有相同共享密鑰的設備也就陷于同樣的危險處境。
發(fā)明內(nèi)容
因此,本發(fā)明的目的是提供共享加密密鑰的方案,其中通過自動更新第三方難以預期的共享密鑰,通過從對方獲取將被用于加密來自對方的下一次通信的共享密鑰的種子值,而不要求用戶在每次與對方通信過程時都更新這個共享密鑰,從而防止第三方竊取通信內(nèi)容。
根據(jù)本發(fā)明的一個方面,提供了通信設備,包括存儲單元,用于存儲第一值;共享密鑰產(chǎn)生單元,用于根據(jù)存儲在存儲單元中的第一值生成第二值,作為將被用于加密與對方通信的通信數(shù)據(jù)的共享密鑰;發(fā)送單元,用于向對方發(fā)送包含第二值的通知消息;以及接收單元,被設置為從對方接收包含第三值的響應消息,并把第三值存入存儲單元,作為將被用于下次產(chǎn)生第二值的第一值。
根據(jù)本發(fā)明的另一方面,提供了通信方式,包括在存儲器中存儲第一值;根據(jù)存儲在存儲器中的第一值,生成第二值,作為將在加密與對方通信的通信數(shù)據(jù)中使用的共享密鑰;發(fā)送包含第二值的通知消息給對方;以及從對方接收包含第三值的響應消息,并存儲第三值到存儲器中,作為用于下次生成第二值的第一值。
根據(jù)本發(fā)明的另一方面,提供了用于共享在客戶端設備和作為客戶端設備的對方的服務器設備之間加密通信中所使用的加密密鑰的加密密鑰共享方法,包括根據(jù)存儲在客戶端設備存儲器中的第一值,生成第二值作為共享密鑰,用于加密與服務器設備通信的通信數(shù)據(jù);從客戶端設備發(fā)送包含第二值的通知消息到服務器設備;接收通知消息,并判定服務器設備是否正確接收第二值;當?shù)诙当徽_接收時,從服務器設備發(fā)送包含第三值的響應消息到客戶端設備;以及接收響應消息,并將響應消息中包含的第三值作為第一值存儲在存儲器中,用于在客戶端下次生成第二值。
根據(jù)本發(fā)明的另一方面,提供了使計算機作為通信設備的計算機程序產(chǎn)品,計算機程序產(chǎn)品包括使計算機將第一值存儲在存儲器中的第一計算機程序代碼;第二程序代碼,使計算機根據(jù)存儲在存儲器中的第一值生成第二值作為共享密鑰,用于加密與對方通信的通信數(shù)據(jù);第三計算機程序代碼,使計算機向對方發(fā)送包含第二值的通知消息;第四計算機程序代碼,使計算機從對方接收包含第三值的響應消息,并在存儲器中存儲第三值作為第一個值,用于下次生成第二值。
由以下結合附圖的描述,將了解本發(fā)明的其他特征和優(yōu)點。
圖1是概要圖,表明根據(jù)本發(fā)明的一個實施例的通信系統(tǒng)的示例性配置。
圖2是表明圖1所示的通信系統(tǒng)中示例性通信順序的順序流程圖。
圖3是表明圖1所示的通信系統(tǒng)中另一種示例性通信順序的順序流程圖。
圖4是表明圖1所示的通信系統(tǒng)中另一種示例性通信順序的順序流程圖。
圖5是表示圖1所示的通信系統(tǒng)中設備的示例性配置的框圖。
圖6是表示圖1所示的通信系統(tǒng)中的應用服務器的示例性配置的框圖。
圖7是表示圖1所示的通信系統(tǒng)中設備的示例性處理的流程圖。
圖8是表示圖1所示的通信系統(tǒng)中應用服務器的示例性處理的流程圖。
具體實施例方式
現(xiàn)在參考圖1至圖8詳細介紹本發(fā)明的一個實施例。
圖1表示這個實施例中通信系統(tǒng)的示例性配置,包括設備101、應用服務器102、設置PC 103、以及網(wǎng)絡104。
設備101具有通信功能,使得它能夠通過網(wǎng)絡104與應用服務器102以及設置PC 103通信。設備101通過網(wǎng)絡104接收來自其他設備的操作命令,并且響應于查詢用其自己的狀態(tài)信息響應。這里,表示了設備101是微波爐的示例性情況,但是設備可以是任何具有能夠通過網(wǎng)絡104通信的通信功能的設備,例如一般家用電器設備或者便攜終端。
應用服務器102具有通過網(wǎng)絡104與設備101和設置PC 103通信的功能,并且例如響應于來自設備101的請求或者自動地提供諸如菜譜的信息。這里,應用服務器102具有與設備101交換共享密鑰、并執(zhí)行設備101的用這個共享密鑰加密的通信的功能。也可能用連接到網(wǎng)絡104的設備(例如,設備101)作為應用服務器102,而不是提供應用服務器102作為單獨的設備。在這種情況下,通過網(wǎng)絡104,可能在設備之間共享共享的密鑰,并在這些設備之間執(zhí)行加密通信。
設置PC 103具有通過網(wǎng)絡104與設備101和應用服務器102通信的功能。設置服務器1-3具有主要用于用戶的界面,例如顯示器和鍵盤,以及通過網(wǎng)絡104中針對每個設備進行設置、狀態(tài)檢查以及發(fā)送命令。例如,在這個實施例中,這個功能被用于對應用服務器102的初始注冊、設備101的狀態(tài)檢查、以及命令更新由設備101所存儲的共享密鑰。
網(wǎng)絡104可以是任何通信介質,例如有線LAN,無線LAN,或者一系列通信路徑,或者其他任何通信介質。它可以被其中連接到網(wǎng)絡的至少兩個或多個設備能夠傳送和接收加密數(shù)據(jù)的任何網(wǎng)絡所取代。作為例子,將描述能夠執(zhí)行使用IP(因特網(wǎng)協(xié)議)的分組通信的LAN情況。
圖2表示圖1所示的通信系統(tǒng)中的示例性通信順序。
在交換密鑰信息中,只要請求就自動地與任何設備交換密鑰是不合適的,這是因為如果通過與網(wǎng)絡的簡單連接就可以交換數(shù)據(jù),那么存在數(shù)據(jù)很容易被惡意的第三方竊取的可能性。還存在問題,即允許或者使能位于相鄰住宅中的設備連接到位于自己住宅內(nèi)的這個實施例的通信系統(tǒng)中。
鑒于以上原因,在這個實施例的通信系統(tǒng)中,在通信順序開始時,利用設置PC 103(設備ID通知201)將應該與之交換密鑰的設備的標識通知給應用服務器102。然后,應用服務器102用關于是否可能正常接收這個通知的信息(通知響應202)作出響應。在這點上,設備ID可以被直接輸入到應用服務器102,而不用借助于設置PC 103。這樣的情況下,將省略設備ID通知201和通知響應202。
當與之共享密鑰的設備(即設備101)的設備ID被正常地通知時,用戶將設備101的操作狀態(tài)轉換到密鑰交換模式,用于與應用服務器102交換密鑰信息。這種模式轉換可以由用戶通過執(zhí)行切換設備101的操作狀態(tài)的操作來進行,但是也可能制造設備101,使得例如在設備101電源打開時,設備101被自動設置為這種模式。在當電源打開時切換到密鑰交換模式的情況下,當設備ID通知201完成時,設備101的電源被打開。
密鑰交換模式中的設備101將密鑰信息的初始值通知對方(即應用服務器102),以便共享作為密碼本的共享密鑰(初始密鑰通知203)。密鑰的這個初始值包含共享密鑰的初始值以及用于驗證這個密鑰的信息。詳細過程將會在以下描述。在這點上,應該最好利用應用服務器102所提供的公共密鑰來加密被發(fā)送的密鑰初始值。用于信息加密的公用密鑰密碼系統(tǒng)通常是這樣的密碼系統(tǒng),其中利用包括公用密鑰和保密密鑰的兩個密鑰信息來實現(xiàn)加密和解密。具有這樣的特性,即只有利用特定保密密鑰才能夠解密利用一個公用密鑰所加密的數(shù)據(jù),只有利用特定的公用密鑰才能解密利用一個保密密鑰所加密的數(shù)據(jù)。利用這個特性,就可能將正確的信息只通知給特定的對方。關于加密機制本身就不在這里贅述了。
當進行連接的設備101是具有先前設備ID通知信息201中所通知的設備ID的設備時,應用服務器102利用共享密鑰和從設備101所接收到的初始密鑰通知203中所包含的用于驗證這個共享密鑰的信息來判斷這個共享密鑰是否正確,并且將這個判斷結果作為通知響應204向設備101作出響應。
接收到通知響應204的設備101請求開始使用先前發(fā)送的共享密鑰的密碼通信(加密通信請求205)。一旦接收到這個請求,如果加密通信請求205的請求是可接受的,那么應用服務器1-2就用用于接收這個通信請求的通信請求響應206作出響應,通信請求響應206包括作為設備101下次生成共享密鑰時的種子值的信息。
利用以上程序,共享密鑰在設備101和應用服務器102之間被共享。然后,設備101與應用服務器102開始使用共享密鑰的加密通信,并且為了檢驗加密解密是否被正常執(zhí)行,通過發(fā)送和接收加密數(shù)據(jù)來執(zhí)行到達確認207。盡管在這個實例中使用了到達確認207,但是并不是絕對必須在密鑰共享之后執(zhí)行到達確認。
例如,用戶可以在合適的時機從設置PC 103發(fā)送到達確認請求208給應用服務器102,以便檢驗在設備101和應用服務器102之間是否正常執(zhí)行加密通信。在這種情況下,接收到達確認請求208的應用服務器102與設備101執(zhí)行到達確認207,并且以其結果作為到達確認響應209來向設置PC 103作出響應。
圖3表示圖1所示通信系統(tǒng)中向設備101命令設置新的共享密鑰的示例性通信順序。
當希望更新用于與應用服務器102的加密通信的共享密鑰時,用戶向設備101命令更新共享密鑰(初始密鑰更新請求301)。接收這個命令的設備101以更新請求響應302作為向設置PC 103的響應,并將自己的操作狀態(tài)轉換到密鑰交換模式。通過這個操作,設備101與應用服務器102通過以上描述的初始密鑰通知203、通知響應204、加密通信請求205以及通信請求響應206來共享新的共享密鑰。
圖4表示圖1所示通信系統(tǒng)中向設備101命令設置新的共享密鑰的另一種示例性通信順序。
不是直接從設置PC 103向設備101請求更新共享密鑰,而是設置PC 103請求應用服務器102作為設置PC 103的代理向設備101進行共享密鑰更新請求。設置PC 103發(fā)送包含指示哪個設備的共享密鑰應該被更新的設備ID等的初始密鑰代理更新請求401到應用服務器102。應用服務器102用對這個請求的響應作為代理更新請求響應402作為對設置PC 103的響應。
然后,從包含在初始密鑰代理更新請求401中的設備ID等中識別其共享密鑰應該被更新的設備。隨后,存儲在這個設備中的更新共享密鑰的請求被發(fā)送到被識別出的設備(這里假定為設備101)(初始密鑰更新請求403)。于是,接收這個請求的設備101用更新請求響應404來對應用服務器102進行響應,并且把自己的操作狀態(tài)轉換到密鑰交換模式。通過這個操作,設備101通過上面描述的初始密鑰通知203、通知響應204、加密通信請求205以及通信請求響應206與應用服務器102共享新的共享密鑰。
圖5表示這個實施例中設備101的示例性配置。圖5中的設備101具有包括隨機數(shù)產(chǎn)生單元502、存儲單元503和計算單元504的共享密鑰設置單元501,加密處理單元505,通信單元506,以及設備控制單元507。
共享密鑰設置單元501具有生成在設備與通過與其他設備交換而與其共享密鑰信息的其他設備執(zhí)行加密通信時使用的共享密鑰、設置這個生成的密鑰信息做為加密處理單元505中的密鑰、以及將密鑰信息通知其他設備的功能。以下將分別介紹共享密鑰設置單元501的每個功能。
隨機數(shù)產(chǎn)生單元502具有產(chǎn)生隨機數(shù)的功能。這里,隨機數(shù)可以包括根據(jù)一些規(guī)則生成的偽隨機數(shù)。
存儲單元503具有存儲由隨機數(shù)產(chǎn)生單元502所生成的隨機數(shù)、由計算單元504所計算出的計算值、以及從其他設備所接收的信息的功能。
計算單元504基于存儲在存儲單元503中的數(shù)值進行計算,并將其存儲回存儲單元503。計算單元504所執(zhí)行的計算包括多個數(shù)值數(shù)據(jù)的連接、通過散列函數(shù)的一些數(shù)值的單向轉換等等。
加密處理單元505的功能是,當共享密鑰設置單元501或者設備控制單元507交換將與其他設備通信的數(shù)據(jù)時,加密要發(fā)送的通信數(shù)據(jù)或者解密接收到的通信數(shù)據(jù)。對于利用對方提供的公共密鑰加密/解密的公用密鑰密碼系統(tǒng),以及利用共享的保密密鑰加密/解密的共享密鑰密碼系統(tǒng),在加密/解密時,都使用加密處理單元505。至少在使用保密密鑰加密/解密的情況下,從共享密鑰設置單元501中獲取對應于這個保密密鑰的共享密鑰。
通信單元506具有通過網(wǎng)絡104與其他設備通信的功能。必需的功能通常根據(jù)用于通信的通信介質而不同。這里,假定提供對使用網(wǎng)絡104的通信介質的通信所需的功能。
設備控制單元507是用于控制設備101自身操作的一部分,可以包括在微波爐的情況下,獲取烹飪菜譜信息和通知烹飪狀態(tài)信息,以及控制操作面板上顯示或者設備101上提供的的電源單元。當設備控制單元507對于控制設備101本身需要通過網(wǎng)絡104與其他設備通信時,通信數(shù)據(jù)由加密處理單元505加密/解密,使得這個通信所交換的通信數(shù)據(jù)在網(wǎng)絡104上以加密形式被發(fā)送。
圖6表示這個實施例中應用服務器102的示例性配置。圖6的應用服務器102具有包含隨機數(shù)產(chǎn)生單元602、存儲單元603和計算單元604的共享密鑰設置單元601,加密處理單元605,通信單元606,以及服務器功能處理單元607。
共享密鑰設置單元601具有這樣的功能,即由在應用服務器102和與其共享密鑰信息的其他設備執(zhí)行加密通信時所接收的包含共享密鑰的密鑰設置信息來判斷這個設備是否是將與其通信的設備,在加密處理單元605中將這個共享密鑰信息設置為加密密鑰,并發(fā)送在下次與其他設備通信時使用的共享密鑰的種子值。接下來,將分別描述共享密鑰設置單元601的每個功能。
隨機數(shù)產(chǎn)生單元602具有產(chǎn)生隨機數(shù)的功能。這里,隨機數(shù)可以包括根據(jù)一些規(guī)則生成的偽隨機數(shù)。
存儲單元603具有以下功能存儲由隨機數(shù)產(chǎn)生單元602生成的隨機數(shù)、由計算單元604計算出的計算值、以及從其他設備所接收的信息。
計算單元604根據(jù)存儲在存儲單元603中的數(shù)值進行計算,并將其存儲回存儲單元603。計算單元604進行的計算包括數(shù)值數(shù)據(jù)的分割、數(shù)值比較運算等等。
加密處理單元605的功能就是,當共享密鑰設置單元601或者服務器功能處理單元607與其他設備交換通信數(shù)據(jù)時,加密要發(fā)送的通信數(shù)據(jù)或解密所接收的通信數(shù)據(jù)。對于使用由對方所提供的公用密鑰加密/解密數(shù)據(jù)的公用密鑰密碼系統(tǒng),以及使用共享保密密鑰加密/解密數(shù)據(jù)的共享密鑰密碼系統(tǒng),在加密/解密時,都使用加密處理單元605。至少在使用保密密鑰加密/解密的情況下,從共享密鑰設置單元601中獲取對應于這個保密密鑰的共享密鑰。
通信單元606具有通過網(wǎng)絡104與其他設備通信的功能。必需的功能通常會根據(jù)用于通信的通信介質而不同。這里,假定提供了使用通過網(wǎng)絡104的通信介質的通信所需的功能。
服務器功能處理單元607是用于控制應用服務器102自身操作的一部分,例如,如果是為了在從其他設備接收請求以后提供烹飪菜譜信息的目的而提供的服務器,則可以包括接收請求的功能和存儲和提取必要信息的功能,以及將這個信息傳送到其他設備的功能。當服務器功能處理單元607需要通過網(wǎng)絡104與其他設備通信時,通信數(shù)據(jù)由加密處理單元605加密/解密,使得這個通信所交換的通信數(shù)據(jù)在網(wǎng)絡104上以加密形式被發(fā)送。
圖7表示這個實施例中設備101的示例性處理。當設備101處理開始時,判斷是否從其他設備中獲取了RO并將其才能出在存儲單元503中,其中R0是將要共享的共享密鑰的種子值(步驟S01)。RO指示包含在通信請求響應206中的共享密鑰的種子值。如果應該由通信請求響應206接收的RO沒有被存儲,則設備101自己通過隨機數(shù)產(chǎn)生單元502生成RO,并把它存儲到存儲單元503(步驟S02)。RO沒有被存儲的情況是例如在設備101的電源打開后立即出現(xiàn)的狀態(tài)。
接著,判斷用于與應用服務器102的加密通信的共享密鑰是否需要更新(步驟S03)。這里,例如在當設備101剛剛被激活時還沒有從其他設備獲取RO的情況下;在從設置PC 103接收到初始密鑰更新請求301的情況下;以及在從應用服務器102接收到初始密鑰更新請求403的情況下,判斷是否需要更新共享密鑰。可選地,如果被配置為只要進行了預定次數(shù)的通信或預定時間周期的通信則更新共享密鑰,那么在預定次數(shù)或預定時間周期以后就是通信時間。在不是這些情況之一并且不需要更新當前使用的共享密鑰時,加密處理單元505在利用當前所使用的共享密鑰加密/解密通信數(shù)據(jù)的同時進行與應用服務器102的通信(步驟S03)。
當在步驟S03中判斷需要更新共享密鑰時,通過由隨機數(shù)產(chǎn)生單元502所生成的隨機數(shù)來確定R1和S的值,并存儲到存儲單元503(步驟S04)。然后,通過連接存儲在存儲單元503中的R0和R1而將其組合,并且通過計算單元504應用單向散列函數(shù)而獲得共享密鑰K,并將它們都存儲在存儲單元503中(步驟S05)。這里,對R0和R1的組合應用單向散列函數(shù)是通過設置R1為依賴于那個設備的值(例如設備ID或關于那個設備的操作狀態(tài)的值)而獲得具有較高不可破解性的偽隨機數(shù)的一種方法。因此,諸如組合R0和R1的方法、編碼長度等的規(guī)范不是必須限于這里所描述的方法。例如,在S04步中生成R1時,可以用Ro的值作為隨機數(shù)產(chǎn)生單元502的種子值。在這種情況下,根據(jù)選擇RO的方式,可能只由R1就使共享密鑰K的不可破解性足夠高,因此能夠使用通過對R1應用散列函數(shù)而獲得的值作為共享密鑰K。當然,還可能使用通過對R0應用單向散列函數(shù)所獲得的值作為共享密鑰K。
然后,根據(jù)規(guī)定的規(guī)則,以可分的形式組合在步驟S05中所獲的K和S,通過利用從應用服務器102所提供的公用密鑰加密這個組合數(shù)據(jù)而獲得P,并把P存儲到存儲單元503中(步驟S06)。然后,P和S的信息作為初始密鑰通知203被發(fā)送給應用服務器102(步驟S07)。
然后,判斷根據(jù)驗證P和S值的結果而包含在來自應用服務器102的響應通知204中的接受/拒絕信息(步驟S08)。如果判斷結果“OK”,則將加密通信請求205發(fā)送給應用服務器102,以請求開始使用由初始密鑰通知203所發(fā)送的共享密鑰K的加密通信(步驟S09),并且從應用服務器102接收用于響應這個請求的通信請求響應206。設備101提取包含在這個通信請求響應206中的R0,并將它存儲于存儲單元503(步驟S10)。然后,加密處理單元505在利用當前所存儲的共享K加密/解密通信數(shù)據(jù)的同時與與應用服務器102進行通信(步驟S11)。
另一方面,當步驟S08中判斷結果不是“OK”時,表示由于某種原因,與應用服務器102的加密通信被拒絕了,使得處理結束,而不再進行其他操作。
利用這樣的配置,通過從其他設備獲取作為共享密鑰產(chǎn)生的種子值,而無需為設備101固定共享密鑰,可能由設備自己為每個設備自動產(chǎn)生并共享第三方難以破解的共享密鑰。
圖8表示這個實施例中應用服務器102的示例性處理。
首先,應用服務器從設備101接收初始密鑰通知203,提取包含在其中的S和P,并把他們存儲到存儲單元603中(步驟S21)。然后,通過利用自己的保密密鑰解密P而獲得X,并將其存入存儲單元603中(步驟S22)。計算單元604根據(jù)在組合S和K時所用的規(guī)則把所存儲的X分為S和K,以便獲得對應于S的S’和對應于K的K’,并將他們存入存儲單元603(步驟S23)。
然后,比較先前存儲的S和S’(步驟S24)。這里,判斷設備101是否用應用服務器102所提供的公用密鑰加密數(shù)據(jù),這是因為通常只有當利用對應于這個保密密鑰的公用密鑰加密時,通過利用保密密鑰解密包含S的值的加密數(shù)據(jù)而獲得的S’才與S相等。因此,S和S’是相同值的事實表示K’等于設備101所發(fā)送的K。
當步驟S24中S和S’不同時,用指示“NG”的通知響應204對發(fā)送包含這個值的初始密鑰通知203的設備101作出響應,并且處理結束(步驟S26)。
當S和S’相同時,用指示“OK”的通知響應204向設備101作出響應(步驟25),并且等待來自設備101的加密通信請求205(步驟S27)。
當在通知響應204之后預期時間內(nèi)還沒有接收到來自設備101的加密通信請求205時,處理結束,不再進行與設備101的加密通信(步驟S27)。使用這樣的配置,可以通過為只進行初始密鑰通知203的情況保持等待狀態(tài)而避免浪費應用服務器102的通信資源,因此,可以預期例如避免非法用戶攻擊網(wǎng)絡的危險。
當在預期時間內(nèi),加密通信請求205從發(fā)送初始密鑰通知203的設備101到達時,隨機數(shù)產(chǎn)生單元602生成隨機數(shù),并將它的值作為R0存入存儲單元603(步驟S28)。然后,包含這個R0和表明接受這個請求的信息的通信請求響應206作為對加密通信請求205的響應被響應給設備101(步驟S29)。通過到這點的交換,共享密鑰在設備101和應用服務器102之間被共享,因此,接下來進行使用共享密鑰K的加密通信(步驟S30)。
利用這樣的配置,即使在例如與不能產(chǎn)生具有足夠高的不可破解性的偽隨機數(shù)的低端設備進行加密通信的情況下,通過在應用服務器102側生成具有足夠高的不可破解性的偽隨機數(shù)、并將其作為對方設備設置的共享密鑰的種子值,也可能進行使用第三方難以破解的共享密鑰的加密通信。
在這個實施例的通信系統(tǒng)中,已經(jīng)描述了在設備101和應用服務器102之間密鑰共享的情況。如果存在不同于設備101、并且與應用服務器102有信任關系的設備,那么可能通過應用服務器102實現(xiàn)這樣的設備與設備101之間的密鑰共享。
這兩個設備都與同一應用服務器102建立加密通信,因此,當應用服務器102中繼加密通信的內(nèi)容時,在這些設備之間能夠進行與設備101和應用服務器102之間所進行的密鑰共享過程相似的密鑰共享過程。
否則,如果根據(jù)這個實施例實現(xiàn)這兩個設備與應用服務器102之間的密鑰共享,但是加密通信已經(jīng)建立,那么能夠進一步簡化與這兩個設備的密鑰共享過程。最簡單的方法是通過應用服務器102把共享密鑰從一個設備直接發(fā)送至另一個設備。
而且,當一個設備正在通過不同于這個實施例的密鑰交換,例如SSL(加密套接字協(xié)議層),而進行與應用服務器102的加密通信時,也可以應用這個實施例的通信系統(tǒng)。在這種情況下,根據(jù)這個設備的配置、重要級別、連接頻率、連接時間等等,能夠選擇在執(zhí)行加密通信時減少過程,或者選擇適用于那個設備的加密通信,例如更強的密碼通信。
通過這樣的配置,可能根據(jù)與應用服務器102的信任關系,交換用于與應用服務器102通信的多個設備之間的加密通信的共享密鑰。
正如以上描述,根據(jù)本發(fā)明,可以提供共享加密密鑰的方案,其中通過自動更新第三方難以預期的共享密鑰、通過從對方獲取用于加密下一次通信的共享密鑰的種子值、而無需請求用戶每次與對方通信時都更新共享密鑰,而防止第三方竊取通信內(nèi)容。
還應該注意,除了以上內(nèi)容以外,可以進行多種修改和變化,而不會背離本發(fā)明的新穎性和有利特征。相應地,所有這樣的修改和變化被包括在后面的權利要求書的范圍內(nèi)。
權利要求
1.一種通信設備,包括存儲單元,被配置為存儲第一值;共享密鑰產(chǎn)生單元,被配置為根據(jù)存儲在所述存儲單元中的第一值生成第二值作為共享密鑰,所述共享密鑰用于加密要與對方通信的通信數(shù)據(jù);發(fā)送單元,被配置為將包含所述第二值的通知消息發(fā)送給所述對方;接收單元,被配置為從所述對方接收包含第三值的響應消息,并將所述第三值存入所述存儲單元,作為用于下次產(chǎn)生所述第二值的第一值。
2.根據(jù)權利要求1的通信設備,還包括數(shù)值產(chǎn)生單元,被配置為根據(jù)規(guī)定的規(guī)則生成數(shù)值;其中所述共享密鑰產(chǎn)生單元根據(jù)所述第一值和所述數(shù)值生成所述第二值。
3.根據(jù)權利要求1的通信設備,還包括加密單元,被配置為利用所述對方所提供的公用密鑰加密所述第二值;其中,所述發(fā)送單元發(fā)送包含由所述加密單元加密的第二值的通知消息。
4.根據(jù)權利要求1的通信設備,還包括數(shù)值生成單元,被配置為根據(jù)規(guī)定的規(guī)則生成第一值,并且在所述第一值沒有被存儲在所述存儲單元中時,在所述共享密鑰產(chǎn)生單元生成所述第二值之前,將所述第一值存入所述存儲單元。
5.根據(jù)權利要求1的通信設備,還包括加密通信單元,被配置為通過利用所述第二值作為所述共享密鑰加密所述通信數(shù)據(jù)而執(zhí)行與所述對方的加密通信。
6.一種通信方法,包括在存儲器中存儲第一值;根據(jù)存儲在所述存儲器中的第一值,生成第二值作為共享密鑰,所述共享密鑰被用于加密要與對方通信的通信數(shù)據(jù);發(fā)送包含所述第二值的通知消息給所述對方;以及從所述對方接收包含第三值的響應消息,并存儲所述第三值到所述存儲器中,作為用于下次生成第二值的第一值。
7.根據(jù)權利要求6的通信方法,還包括根據(jù)規(guī)定的規(guī)則生成數(shù)值;其中根據(jù)所述第一值和所述數(shù)值生成所述第二值。
8.根據(jù)權利要求6的通信方法,還包括利用所述對方所提供的公用密鑰加密所述第二值;其中,所述發(fā)送步驟發(fā)送包含由加密步驟加密的第二值的通知消息。
9.根據(jù)權利要求6的通信方法,還包括根據(jù)規(guī)定的規(guī)則生成第一值,并且,在所述第一值沒有被存儲在所述存儲器中時,在生成所述第二值之前,將所述第一值存入所述存儲器。
10.根據(jù)權利要求6的通信方法,還包括通過利用所述第二值作為所述共享密鑰加密所述通信數(shù)據(jù),執(zhí)行與所述對方的加密通信。
11.一種加密密鑰共享方法,用于共享在客戶端設備和作為客戶端設備的對方的服務器設備之間的加密通信中所使用的加密密鑰,包括在客戶端設備處,根據(jù)存儲在存儲器中的第一值,生成第二個值作為共享密鑰,所述共享密鑰被用于加密與服務器設備通信的通信數(shù)據(jù);從所述客戶端設備發(fā)送包含所述第二值的通知消息到所述服務器設備;接收所述通知消息,并判斷在所述服務器設備處是否正確地接收所述第二值;當所述第二值被正確接收時,從所述服務器設備發(fā)送包含第三值的響應消息到所述客戶端設備;并且接收所述響應消息,并將包含在所述響應消息中的第三值存儲在所述存儲器中,作為下次在客戶端生成第二值中所用的第一值。
12.一種加密密鑰共享方法,還包括在發(fā)送所述通知信息之后,從所述客戶端設備發(fā)送用于請求開始加密通信的加密通信請求到所述服務器設備;其中,當在接收所述通知信息后的規(guī)定時間范圍內(nèi)接收到所述加密通信請求時,所述服務器設備發(fā)送所述響應信息。
13.一種計算機程序產(chǎn)品,用于使計算機作為通信設備,所述計算機程序產(chǎn)品包括第一計算機程序代碼,用于使所述計算機將第一值存儲在存儲器中;第二計算機程序代碼,用于使所述計算機根據(jù)存儲在所述存儲器中的第一值生成第二個值作為共享密鑰,所述共享密鑰被用于加密與對方通信的通信數(shù)據(jù);第三計算機程序代碼,用于使所述計算機將包含所述第二值的通知消息發(fā)送給所述對方;第四計算機程序代碼,用于使所述計算機從所述對方接收包含第三值的響應消息,并將所述第三值存儲在所述存儲器中,作為在下次生成第二值中使用的第一值。
14.根據(jù)權利要求13中的計算機程序產(chǎn)品,還包括第五計算機程序代碼,用于使所述計算機根據(jù)規(guī)定的規(guī)則生成數(shù)值;其中,所述第二計算機程序代碼根據(jù)所述第一值和所述數(shù)值生成所述第二值。
15.根據(jù)權利要求13中的計算機程序產(chǎn)品,還包括第五計算機程序代碼,用于使所述計算機利用所述對方所提供的公用密鑰加密所述第二值;其中,所述第三計算機程序代碼發(fā)送包含由所述第五計算機程序代碼加密的第二值的通知消息。
16.根據(jù)權利要求13中的計算機程序產(chǎn)品,還包括第五計算機程序代碼,用于使所述計算機根據(jù)規(guī)定的規(guī)則生成所述第一值,并且在所述第一值沒有被存儲到所述存儲器中時,在生成所述第二值之前,將所述第一值存儲到所述存儲器中。
17.根據(jù)權利要求13中的計算機程序產(chǎn)品,還包括第五計算機程序代碼,用于使所述計算機通過用所述第二值作為所述共享密鑰加密所述通信數(shù)據(jù),來執(zhí)行與所述對方的加密通信。
全文摘要
在加密密鑰共享方案中,通過自動更新第三方難以預期的共享密鑰、通過從對方獲取用于加密下次通信的共享密鑰的種子值,而無需請求用戶在每次與對方通信時更新共享密鑰,從而防止了第三方竊取通信內(nèi)容。
文檔編號H04L9/08GK1671099SQ200510054789
公開日2005年9月21日 申請日期2005年3月16日 優(yōu)先權日2004年3月16日
發(fā)明者尾崎哲, 米山清二郎, 松澤茂雄 申請人:株式會社東芝