本發(fā)明涉及包含消息認證碼的分組的通信。
背景技術(shù):
由于因特網(wǎng)的普及,進行要求可靠性和隱匿性的通信的機會增大。可靠性意味著數(shù)據(jù)的完整性,數(shù)據(jù)的完整性意味著在發(fā)送中沒有篡改數(shù)據(jù)。篡改包含由于噪聲而產(chǎn)生的數(shù)據(jù)錯誤。使用加密技術(shù)來確保完整性。
能夠通過使用校驗和等錯誤檢測碼的技術(shù)來檢測數(shù)據(jù)錯誤。該技術(shù)是將消息數(shù)據(jù)編碼成更長的數(shù)據(jù),通過其冗余性來檢測數(shù)據(jù)錯誤的技術(shù)。但是,該技術(shù)針對第三方有意的高級篡改的耐受性較弱。
針對第三方的有意篡改使用消息認證技術(shù)。消息認證技術(shù)是通過對消息數(shù)據(jù)附加消息認證碼(mac)來檢測篡改的技術(shù)的總稱。
需要成為僅有限的人物能夠生成正確的mac這樣的狀況,使得無法對發(fā)送中的數(shù)據(jù)進行篡改。為此,需要在發(fā)送者與接收者之間秘密地共享公共密鑰和mac生成函數(shù)。
發(fā)送者對mac生成函數(shù)輸入消息數(shù)據(jù)和公共密鑰,發(fā)送包含消息數(shù)據(jù)和mac的分組。接收者與發(fā)送者同樣地使用消息數(shù)據(jù)和公共密鑰生成mac,驗證所生成的mac與接收到的mac是否一致。如果沒有篡改,則兩個mac一致。如果兩個mac不一致,則判斷為消息數(shù)據(jù)、mac或其雙方存在篡改,丟棄分組。
消息認證技術(shù)是與數(shù)據(jù)隱匿不同的技術(shù),不能以保護隱私為目的進行使用。在希望隱匿消息數(shù)據(jù)的情況下,對消息數(shù)據(jù)進行加密,對加密后的消息數(shù)據(jù)應(yīng)用消息認證技術(shù)。由此,能夠?qū)崿F(xiàn)篡改檢測和數(shù)據(jù)隱匿雙方。
非專利文獻1公開了作為代表性的消息認證技術(shù)之一的hmac。hmac是hash-basedmessageauthenticationcode(基于哈希的消息認證碼)的簡稱。
在hmac中,在生成mac的運算的核心部分使用sha-1或md5等哈希算法,分別稱作hmac-sha1和hmac-md5。
hmac能夠?qū)⒐K惴ㄗ鳛楹谙鋪硖幚?,因此,能夠利用滿足特定條件的哈希算法。另外,hmac的安全性依賴于要利用的哈希算法的安全性。
hmac的安全性是指針對冒充行為的耐受性。冒充行為是指不具有公共密鑰的第三方偽造消息和mac的組。具體而言,冒充行為是指如下行為:不具有公共密鑰的第三方根據(jù)正確的消息和mac的組,偽造與其均都不同的消息和mac的組,通過接收者的mac驗證。
在hmac中,通過縮減所生成的mac的大小,能夠縮短所附加的mac。
例如,能夠利用在利用hmac-sha256時生成的256比特的mac中的上位128比特作為要附加的mac。
但是,當要附加的mac縮短時,hmac的安全性降低。
近年來,被稱作m2m的系統(tǒng)和服務(wù)正在普及。m2m是machinetomachine(機器對機器)的簡稱。
通過使用計算資源受到限制的多個設(shè)備構(gòu)成的網(wǎng)絡(luò)來提供該系統(tǒng)和服務(wù)。而且,不經(jīng)由人的控制,各設(shè)備自主地工作。計算資源受到限制的設(shè)備是傳感器節(jié)點或rfid標簽等。rfid是radiofrequencyidentifier(射頻識別)的簡稱。
在消息數(shù)據(jù)的大小較大的情況下,為了抑制占有網(wǎng)絡(luò)頻帶,并且為了減輕針對消息數(shù)據(jù)的局部破損的重發(fā)成本,將消息數(shù)據(jù)分割成多個數(shù)據(jù)塊,通過多個分組進行通信。
該情況下,能夠?qū)ψ罱K分組賦予由消息數(shù)據(jù)整體生成的mac并進行發(fā)送。但是,接收者在接收最終分組之前,無法驗證各分組的可靠性。
與此相對,專利文獻1公開了按照每個分割數(shù)據(jù)生成mac并發(fā)送包含分割數(shù)據(jù)和mac的分組的技術(shù)。
但是,當在窄帶通信中按照每個分割數(shù)據(jù)附加mac時,可能超過頻帶上限。因此,在mac為固定長度的情況下,需要減小分割數(shù)據(jù)的大小。其結(jié)果是分組數(shù)增加,因此,全部分組的傳輸花費時間。而且,對通信路徑施加較大負荷。
專利文獻2公開了通過使數(shù)字信息信號中包含的錯誤檢測碼具有mac的功能來減輕有效載荷的技術(shù)。
現(xiàn)有技術(shù)文獻
專利文獻
專利文獻1:日本特開2005-167942號公報
專利文獻2:日本特表2003-503743號公報
非專利文獻
非專利文獻1:federalinformationprocessingstandardspublication198(fipspub198)、thekeyed-hashmessageauthenticationcode
技術(shù)實現(xiàn)要素:
發(fā)明要解決的課題
本發(fā)明的目的在于,通過對第x數(shù)據(jù)塊附加基于第x數(shù)據(jù)塊和第x-1數(shù)據(jù)塊的附加數(shù)據(jù),使得能夠驗證第x數(shù)據(jù)塊。
用于解決課題的手段
本發(fā)明的分組發(fā)送裝置具有:消息認證碼生成部,其按照n個數(shù)據(jù)塊中包含的每個數(shù)據(jù)塊生成數(shù)據(jù)塊的消息認證碼;編集數(shù)據(jù)生成部,其生成第x編集數(shù)據(jù),該第x編集數(shù)據(jù)是使用所述n個數(shù)據(jù)塊中的第2數(shù)據(jù)塊~第n數(shù)據(jù)塊中的任意數(shù)據(jù)塊即第x數(shù)據(jù)塊的消息認證碼和所述n個數(shù)據(jù)塊中的第x-1數(shù)據(jù)塊的消息認證碼生成的數(shù)據(jù);附加數(shù)據(jù)生成部,其使用所述第x編集數(shù)據(jù)生成對所述第x數(shù)據(jù)塊附加的數(shù)據(jù)即第x附加數(shù)據(jù);分組生成部,其生成包含所述第x數(shù)據(jù)塊和所述第x附加數(shù)據(jù)的第x分組;以及分組發(fā)送部,其發(fā)送所述第x分組。
發(fā)明效果
根據(jù)本發(fā)明,能夠?qū)Φ趚數(shù)據(jù)塊附加基于第x數(shù)據(jù)塊和第x-1數(shù)據(jù)塊的附加數(shù)據(jù)。由此,能夠使用附加數(shù)據(jù)來驗證第x數(shù)據(jù)塊。
附圖說明
圖1是實施方式1中的分組通信系統(tǒng)100的結(jié)構(gòu)圖。
圖2是示出實施方式1中的消息數(shù)據(jù)201和分組110的圖。
圖3是實施方式1中的分組發(fā)送裝置200的功能結(jié)構(gòu)圖。
圖4是實施方式1中的分組接收裝置300的功能結(jié)構(gòu)圖。
圖5是實施方式1中的分組發(fā)送裝置200和分組接收裝置300的硬件結(jié)構(gòu)圖。
圖6是實施方式1中的分組發(fā)送方法的概要圖。
圖7是實施方式1中的分組發(fā)送方法的流程圖。
圖8是實施方式1中的第1數(shù)據(jù)塊處理(s130)的流程圖。
圖9是實施方式1中的第x數(shù)據(jù)塊處理(s140)的流程圖。
圖10是實施方式1中的剩余mac處理(s150)的流程圖。
圖11是實施方式1中的分組接收方法的概要圖。
圖12是實施方式1中的分組接收方法的流程圖。
圖13是實施方式1中的第1數(shù)據(jù)塊處理(s220)的流程圖。
圖14是實施方式1中的第x數(shù)據(jù)塊處理(s230)的流程圖。
圖15是實施方式2中的分組發(fā)送裝置200的功能結(jié)構(gòu)圖。
圖16是實施方式2中的分組接收裝置300的功能結(jié)構(gòu)圖。
圖17是實施方式2中的分組發(fā)送方法的概要圖。
圖18是實施方式2中的分組發(fā)送方法的流程圖。
圖19是實施方式2中的第1數(shù)據(jù)塊處理(s130b)的流程圖。
圖20是實施方式2中的第x數(shù)據(jù)塊處理(s140b)的流程圖。
圖21是實施方式2中的分組接收方法的概要圖。
圖22是實施方式2中的分組接收方法的流程圖。
圖23是實施方式2中的第1數(shù)據(jù)塊處理(s220b)的流程圖。
圖24是實施方式2中的第x數(shù)據(jù)塊處理(s230b)的流程圖。
圖25是實施方式3中的分組發(fā)送裝置200的功能結(jié)構(gòu)圖。
圖26是實施方式3中的分組接收裝置300的功能結(jié)構(gòu)圖。
圖27是實施方式3中的分組發(fā)送方法的流程圖。
圖28是實施方式3中的分組發(fā)送方法的概要圖。
圖29是實施方式3中的分組接收方法的流程圖。
圖30是實施方式3中的分組接收方法的概要圖。
圖31是實施方式4中的分組發(fā)送裝置200的功能結(jié)構(gòu)圖。
圖32是實施方式4中的分組接收裝置300的功能結(jié)構(gòu)圖。
圖33是實施方式4中的分組發(fā)送方法的概要圖。
圖34是實施方式4中的分組接收方法的概要圖。
具體實施方式
實施方式1
根據(jù)圖1~圖14說明對數(shù)據(jù)塊附加用于驗證數(shù)據(jù)塊的附加數(shù)據(jù)的方式。
***結(jié)構(gòu)的說明***
根據(jù)圖1對分組通信系統(tǒng)100進行說明。
分組通信系統(tǒng)100是進行分組110的通信的系統(tǒng)。
分組通信系統(tǒng)100具有發(fā)送分組110的分組發(fā)送裝置200和接收分組110的分組接收裝置300。
分組發(fā)送裝置200和分組接收裝置300經(jīng)由網(wǎng)絡(luò)109進行分組110的發(fā)送接收。
根據(jù)圖2對消息數(shù)據(jù)201和分組110進行說明。
消息數(shù)據(jù)201是被發(fā)送的數(shù)據(jù)。
結(jié)合分組110的大小將消息數(shù)據(jù)201分割成多個數(shù)據(jù)塊202。消息數(shù)據(jù)201的分割數(shù)為n。n為2以上的整數(shù)。
按照每個數(shù)據(jù)塊202生成分組110。
分組110包含頭111、數(shù)據(jù)塊202、附加數(shù)據(jù)205。
頭111包含識別分組110的分組編號。第1頭111-1中包含的分組編號為1,第n頭111-n中包含的分組編號為n。分組編號還作為識別數(shù)據(jù)塊202的數(shù)據(jù)塊編號發(fā)揮功能。
附加數(shù)據(jù)205是用于判定數(shù)據(jù)塊202是否是正確的數(shù)據(jù)塊的信息。
進而,生成第n+1分組120。
第n+1分組120包含第n+1頭121和剩余消息認證碼206。圖中的mac是消息認證碼的簡稱。
第n+1頭121包含識別第n+1分組120的分組編號。第n+1分組120中包含的分組編號為n+1。
剩余消息認證碼206是用于判定第n數(shù)據(jù)塊202-n是否是正確的數(shù)據(jù)塊的信息。
根據(jù)圖3對分組發(fā)送裝置200的功能結(jié)構(gòu)進行說明。
分組發(fā)送裝置200具有消息數(shù)據(jù)取得部210、數(shù)據(jù)分割部220、消息認證碼生成部230、編集數(shù)據(jù)生成部240、附加數(shù)據(jù)生成部250、分組生成部260、分組發(fā)送部270。
進而,分組發(fā)送裝置200具有分組計數(shù)部280、發(fā)送存儲部290、消息認證碼存儲部291。
消息數(shù)據(jù)取得部210取得消息數(shù)據(jù)201。
數(shù)據(jù)分割部220將消息數(shù)據(jù)201分割成n個數(shù)據(jù)塊202。
消息認證碼生成部230按照n個數(shù)據(jù)塊202中包含的每個數(shù)據(jù)塊202生成數(shù)據(jù)塊202的消息認證碼203。
第x消息認證碼203-x是第x數(shù)據(jù)塊202-x的消息認證碼。
第x數(shù)據(jù)塊202是n個數(shù)據(jù)塊202中的第2數(shù)據(jù)塊202-2~第n數(shù)據(jù)塊202-n中的任意數(shù)據(jù)塊。
編集數(shù)據(jù)生成部240生成第x編集數(shù)據(jù)204-x。
第x編集數(shù)據(jù)204-x是使用第x消息認證碼203-x和第x-1消息認證碼203-x-1生成的數(shù)據(jù)。
附加數(shù)據(jù)生成部250使用第x編集數(shù)據(jù)204-x生成第x附加數(shù)據(jù)205-x。
第x附加數(shù)據(jù)205-x是對第x數(shù)據(jù)塊202-x附加的數(shù)據(jù)。
分組生成部260生成包含第x頭111-x、第x數(shù)據(jù)塊202-x、第x附加數(shù)據(jù)205的第x分組110-x。
分組發(fā)送部270發(fā)送第x分組110-x。
分組計數(shù)部280對分組編號(x)進行計數(shù)。
發(fā)送存儲部290存儲分組發(fā)送裝置200中使用、生成或輸入輸出的數(shù)據(jù)。在發(fā)送存儲部290中存儲公共密鑰101等。
消息認證碼存儲部291存儲第x-1消息認證碼203-x-1。
根據(jù)圖4對分組接收裝置300的功能結(jié)構(gòu)進行說明。
分組接收裝置300具有分組接收部310、消息認證碼生成部320、編集數(shù)據(jù)生成部330、比較數(shù)據(jù)生成部340、數(shù)據(jù)塊判定部350、數(shù)據(jù)復(fù)原部360。
進而,分組接收裝置300具有分組計數(shù)部380、接收存儲部390、消息認證碼存儲部391。
分組接收部310接收第x分組110-x和第x-1分組110-x-1。
消息認證碼生成部320使用第x分組110-x中包含的第x數(shù)據(jù)塊202-x生成第x消息認證碼302-x。第x消息認證碼302-x是第x數(shù)據(jù)塊202-x的消息認證碼302。
消息認證碼生成部320使用第x-1分組110-x-1中包含的第x-1數(shù)據(jù)塊202-x-1生成第x-1消息認證碼302-x-1。第x-1消息認證碼302-x-1是第x-1數(shù)據(jù)塊202-x的消息認證碼302。
編集數(shù)據(jù)生成部330生成第x編集數(shù)據(jù)303-x。
第x編集數(shù)據(jù)303-x是使用第x消息認證碼302-x和第x-1消息認證碼302-x-1生成的數(shù)據(jù)。
比較數(shù)據(jù)生成部340使用第x編集數(shù)據(jù)303-x生成第x比較數(shù)據(jù)304-x。
第x比較數(shù)據(jù)304-x是應(yīng)該對第x數(shù)據(jù)塊202-x附加的數(shù)據(jù)。
數(shù)據(jù)塊判定部350通過對第x比較數(shù)據(jù)304-x和第x附加數(shù)據(jù)205-x進行比較,判定第x數(shù)據(jù)塊202-x是否是正確的數(shù)據(jù)塊202。
數(shù)據(jù)復(fù)原部360通過連結(jié)第1~第n數(shù)據(jù)塊202,對消息數(shù)據(jù)201進行復(fù)原。
分組計數(shù)部380對分組編號(x)進行計數(shù)。
接收存儲部390存儲分組接收裝置300中使用、生成或輸入輸出的數(shù)據(jù)。在接收存儲部390中存儲公共密鑰101等。該公共密鑰101與分組發(fā)送裝置200使用的公共密鑰101相同。
消息認證碼存儲部391存儲第x-1消息認證碼302-x-1。
根據(jù)圖5對分組發(fā)送裝置200和分組接收裝置300的硬件結(jié)構(gòu)例進行說明。
分組發(fā)送裝置200和分組接收裝置300是具有處理器901、輔助存儲裝置902、存儲器903、通信裝置904、輸入接口905、顯示器接口906這樣的硬件的計算機。
處理器901經(jīng)由信號線910而與其他硬件連接。輸入接口905經(jīng)由纜線911而與輸入裝置907連接。顯示器接口906經(jīng)由纜線912而與顯示器908連接。
處理器901是進行處理的ic,對其他硬件進行控制。例如,處理器901是cpu、dsp、gpu。ic是integratedcircuit的簡稱。cpu是centralprocessingunit的簡稱,dsp是digitalsignalprocessor的簡稱,gpu是graphicsprocessingunit的簡稱。
輔助存儲裝置902例如是rom、閃存、hdd。rom是readonlymemory的簡稱,hdd是harddiskdrive的簡稱。
存儲器903例如是ram。ram是randomaccessmemory的簡稱。
通信裝置904具有接收數(shù)據(jù)的接收機9041和發(fā)送數(shù)據(jù)的發(fā)送機9042。例如,通信裝置904是通信芯片或nic。nic是networkinterfacecard的簡稱。
輸入接口905是連接纜線911的端口,端口的一例是usb端子。usb是universalserialbus的簡稱。
顯示器接口906是連接纜線912的端口,usb端子和hdmi端子是端口的一例。hdmi(注冊商標)是highdefinitionmultimediainterface的簡稱。
輸入裝置907例如是鼠標、鍵盤或觸摸面板。
顯示器908例如是lcd。lcd是liquidcrystaldisplay的簡稱。
在輔助存儲裝置902中存儲有os。os是operatingsystem的簡稱。
在分組發(fā)送裝置200的輔助存儲裝置902中存儲有實現(xiàn)分組發(fā)送裝置200具有的消息數(shù)據(jù)取得部210、數(shù)據(jù)分割部220、消息認證碼生成部230、編集數(shù)據(jù)生成部240、附加數(shù)據(jù)生成部250、分組生成部260和分組發(fā)送部270這樣的“部”的功能的程序。
在分組接收裝置300的輔助存儲裝置902中存儲有實現(xiàn)分組接收裝置300具有的分組接收部310、消息認證碼生成部320、編集數(shù)據(jù)生成部330、比較數(shù)據(jù)生成部340、數(shù)據(jù)塊判定部350和數(shù)據(jù)復(fù)原部360這樣的“部”的功能的程序。
os的至少一部分被加載到存儲器903中,處理器901執(zhí)行os,并且執(zhí)行實現(xiàn)“部”的功能的程序。實現(xiàn)“部”的功能的程序被加載到存儲器903中,讀入到處理器901中,由處理器901來執(zhí)行。
另外,也可以是,分組發(fā)送裝置200和分組接收裝置300具有多個處理器901,多個處理器901協(xié)作執(zhí)行實現(xiàn)“部”的功能的程序。
表示“部”的處理結(jié)果的數(shù)據(jù)、信息、信號值和變量值等存儲在存儲器903、輔助存儲裝置902、處理器901內(nèi)的寄存器或處理器901內(nèi)的緩存中。
也可以利用“電路系統(tǒng)”來安裝“部”?!安俊币部梢愿膶懗伞半娐贰?、“步驟”、“順序”或“處理”。
“電路”和“電路系統(tǒng)”是包含處理器901、邏輯ic、ga、asic、fpga這樣的處理電路的概念。ga是gatearray的簡稱,asic是applicationspecificintegratedcircuit的簡稱,fpga是field-programmablegatearray的簡稱。
***動作的說明***
分組通信系統(tǒng)100的動作相當于分組通信方法,分組發(fā)送裝置200的動作相當于分組發(fā)送方法,分組接收裝置300的動作相當于分組接收方法。
并且,分組通信方法相當于分組通信程序的處理順序,分組發(fā)送方法相當于分組發(fā)送程序的處理順序,分組接收方法相當于分組接收程序。
根據(jù)圖6對n為3時的分組發(fā)送方法進行說明。
圖中的“h”意味著mac生成函數(shù)。并且,“||”意味著連結(jié),“mac(y)”意味著第y編集數(shù)據(jù)204的消息認證碼。
第1數(shù)據(jù)塊202-1和分組編號(1)被輸入到mac生成函數(shù),生成第1消息認證碼203-1。
將消息認證碼203的初始值(0)與第1消息認證碼203-1連結(jié)而生成第1編集數(shù)據(jù)204-1。
第1編集數(shù)據(jù)204-1被輸入到mac生成函數(shù),生成第1編集數(shù)據(jù)204-1的消息認證碼。
從第1編集數(shù)據(jù)204-1的消息認證碼中提取第1附加數(shù)據(jù)205-1。
生成包含第1數(shù)據(jù)塊202-1和第1附加數(shù)據(jù)205-1的第1分組110-1。發(fā)送第1分組110-1。
第2數(shù)據(jù)塊202-2和分組編號(2)被輸入到mac生成函數(shù),生成第2消息認證碼203-2。
將第1消息認證碼203-1與第2消息認證碼203-2連結(jié)而生成第2編集數(shù)據(jù)204-2。
第2編集數(shù)據(jù)204-2被輸入到mac生成函數(shù),生成第2編集數(shù)據(jù)204-2的消息認證碼。
從第2編集數(shù)據(jù)204-2的消息認證碼中提取第2附加數(shù)據(jù)205-2。
生成包含第2數(shù)據(jù)塊202-2和第2附加數(shù)據(jù)205-2的第2分組110-2。發(fā)送第2分組110-2。
第3數(shù)據(jù)塊202-3和分組編號(3)被輸入到mac生成函數(shù),生成第3消息認證碼203-3。
將第2消息認證碼203-2與第3消息認證碼203-3連結(jié)而生成第3編集數(shù)據(jù)204-3。
第3編集數(shù)據(jù)204-3被輸入到mac生成函數(shù),生成第3編集數(shù)據(jù)204-3的消息認證碼。
從第3編集數(shù)據(jù)204-3的消息認證碼中提取第3附加數(shù)據(jù)205-3。
生成包含第3數(shù)據(jù)塊202-3和第3附加數(shù)據(jù)205-3的第3分組110-3。發(fā)送第3分組110-3。
從第3編集數(shù)據(jù)204-3的消息認證碼中提取剩余消息認證碼206。
生成第4分組作為包含剩余消息認證碼206的第n+1分組120。發(fā)送第4分組。
根據(jù)圖7對分組發(fā)送方法的處理流程進行說明。
s110是消息數(shù)據(jù)取得處理。
在s110中,使用用戶接口或輸入裝置將消息數(shù)據(jù)201輸入到分組發(fā)送裝置200。
消息數(shù)據(jù)取得部210取得輸入到分組發(fā)送裝置200的消息數(shù)據(jù)201。
s120是數(shù)據(jù)分割處理。
在s120中,數(shù)據(jù)分割部220將消息數(shù)據(jù)201分割成n個數(shù)據(jù)塊202。
s130是第1數(shù)據(jù)塊處理。
根據(jù)圖8對第1數(shù)據(jù)塊處理(s130)進行說明。
s131是消息認證碼生成處理。
在s131中,消息認證碼生成部230使用第1數(shù)據(jù)塊202-1、分組編號(1)和公共密鑰101作為輸入,運算mac生成函數(shù)。由此,生成第1消息認證碼203-1。mac是消息認證碼的簡稱。
第1消息認證碼203-1是第1數(shù)據(jù)塊202-1的消息認證碼203。
s132是編集數(shù)據(jù)生成處理。
在s132中,編集數(shù)據(jù)生成部240使用第1消息認證碼203-1和消息認證碼203的初始值生成第1編集數(shù)據(jù)204-1。
第1編集數(shù)據(jù)204-1是將消息認證碼203的初始值與第1消息認證碼203-1連結(jié)而成的數(shù)據(jù)。消息認證碼203的初始值全部為零。
s133是附加數(shù)據(jù)生成處理。
在s133中,附加數(shù)據(jù)生成部250使用第1編集數(shù)據(jù)204-1,如下所述生成第1附加數(shù)據(jù)205-1。
附加數(shù)據(jù)生成部250使用第1編集數(shù)據(jù)204-1和公共密鑰101作為輸入,運算mac生成函數(shù)。由此,生成第1編集數(shù)據(jù)204-1的消息認證碼。該mac生成函數(shù)與在s131中運算出的mac生成函數(shù)相同。
附加數(shù)據(jù)生成部250使用第1編集數(shù)據(jù)204-1的消息認證碼生成第1附加數(shù)據(jù)205-1。第1附加數(shù)據(jù)205-1是從第1編集數(shù)據(jù)204-1的消息認證碼中提取出的部分。
第1編集數(shù)據(jù)204-1的消息認證碼是256比特的比特串,第1附加數(shù)據(jù)205-1是第1編集數(shù)據(jù)204-1的消息認證碼的前半部分的y比特(0<y≦256)。
s134是分組生成處理。
在s134中,分組生成部260生成包含第1頭111-1、第1數(shù)據(jù)塊202-1、第1附加數(shù)據(jù)205-1的第1分組110-1。
s135是分組發(fā)送處理。
在s135中,分組發(fā)送部270向分組接收裝置300發(fā)送第1分組110-1。
在s135之后,第1數(shù)據(jù)塊處理(s130)結(jié)束。
返回圖7,從s140起繼續(xù)進行說明。
s140是第x數(shù)據(jù)塊處理。
根據(jù)圖9對第x數(shù)據(jù)塊處理(s140)進行說明。
在變量x的值為2~n之間時,反復(fù)執(zhí)行s141~s145的處理。變量x的初始值為2。每當執(zhí)行s141~s145的處理時,由分組計數(shù)部280對變量x的值每次加上1。
s141是消息認證碼生成處理。
在s141中,消息認證碼生成部230使用第x數(shù)據(jù)塊202-x和公共密鑰101作為輸入,運算mac生成函數(shù)。由此,生成第x消息認證碼203-x。該mac生成函數(shù)與在s131(參照圖8)中運算出的mac生成函數(shù)相同。
s142是編集數(shù)據(jù)生成處理。
在s142中,編集數(shù)據(jù)生成部240使用第x消息認證碼203-x和第x-1消息認證碼203-x-1生成第x編集數(shù)據(jù)204-x。
第x編集數(shù)據(jù)204-x是將第x-1消息認證碼203-x-1與第x消息認證碼203-x連結(jié)而成的數(shù)據(jù)。
s143是附加數(shù)據(jù)生成處理。
在s143中,附加數(shù)據(jù)生成部250使用第x編集數(shù)據(jù)204-x,如下所述生成第x附加數(shù)據(jù)205-x。
附加數(shù)據(jù)生成部250使用第x編集數(shù)據(jù)204-x和公共密鑰101作為輸入,運算mac生成函數(shù)。由此,生成第x編集數(shù)據(jù)204-x的消息認證碼。該mac生成函數(shù)與在s131(參照圖8)中運算出的mac生成函數(shù)相同。
附加數(shù)據(jù)生成部250使用第x編集數(shù)據(jù)204-x的消息認證碼生成第x附加數(shù)據(jù)205-x。第x附加數(shù)據(jù)205-x是從第x編集數(shù)據(jù)204-x的消息認證碼中提取出的部分。
第x編集數(shù)據(jù)204-x的消息認證碼是256比特的比特串,第x附加數(shù)據(jù)205-x是第x編集數(shù)據(jù)204-x的消息認證碼的前半部分的y比特(0<y≦256)。
s144是分組生成處理。
在s144中,分組生成部260生成包含第x頭111-x、第x數(shù)據(jù)塊202-x和第x附加數(shù)據(jù)205-x的第x分組110-x。
s145是分組發(fā)送處理。
在s145中,分組發(fā)送部270向分組接收裝置300發(fā)送第x分組110-x。
返回圖7,從s150起繼續(xù)進行說明。
s150是剩余消息認證碼處理。
根據(jù)圖10對剩余消息認證碼處理(s150)進行說明。
s151是分組生成處理。
在s151中,分組生成部260生成包含第n+1頭121和剩余消息認證碼206的第n+1分組120。
剩余消息認證碼206是從第n編集數(shù)據(jù)204-n的消息認證碼中除去第n附加數(shù)據(jù)205-n后的部分。
在s143(參照圖9)中變量x的值為n時,生成第n編集數(shù)據(jù)204-n的消息認證碼和第n附加數(shù)據(jù)205-n。
即,剩余消息認證碼206是第n編集數(shù)據(jù)204-n的消息認證碼的后半部分的y比特(0<y≦256)。
s152是分組發(fā)送處理。
在s152中,分組發(fā)送部270向分組接收裝置300發(fā)送第n+1分組120。
在s152之后,剩余消息認證碼處理(s150)結(jié)束。
根據(jù)圖11對n為3時的分組接收方法進行說明。
接收包含第1數(shù)據(jù)塊202-1和第1附加數(shù)據(jù)205-1的第1分組110-1。
第1數(shù)據(jù)塊202-1和分組編號(1)被輸入到mac生成函數(shù),生成第1消息認證碼302-1。
將消息認證碼302的初始值(0)與第1消息認證碼302-1連結(jié)而生成第1編集數(shù)據(jù)303-1。
第1編集數(shù)據(jù)303-1被輸入到mac生成函數(shù),生成第1編集數(shù)據(jù)303-1的消息認證碼。
從第1編集數(shù)據(jù)303-1的消息認證碼中提取第1比較數(shù)據(jù)304-1。
對第1比較數(shù)據(jù)304-1與第1附加數(shù)據(jù)205-1進行比較。
接收包含第2數(shù)據(jù)塊202-2和第2附加數(shù)據(jù)205-2的第2分組110-2。
第2數(shù)據(jù)塊202-2和分組編號(2)被輸入到mac生成函數(shù),生成第2消息認證碼302-2。
將第1消息認證碼302-1與第2消息認證碼302-2連結(jié)而生成第2編集數(shù)據(jù)303-2。
第2編集數(shù)據(jù)303-2被輸入到mac生成函數(shù),生成第2編集數(shù)據(jù)303-2的消息認證碼。
從第2編集數(shù)據(jù)303-2的消息認證碼中提取第2比較數(shù)據(jù)304-2。
對第2比較數(shù)據(jù)304-2與第2附加數(shù)據(jù)205-2進行比較。
接收包含第3數(shù)據(jù)塊202-3和第3附加數(shù)據(jù)205-3的第3分組110-3。
第3數(shù)據(jù)塊202-3和分組編號(3)被輸入到mac生成函數(shù),生成第3消息認證碼302-3。
將第2消息認證碼302-2與第3消息認證碼302-3連結(jié)而生成第3編集數(shù)據(jù)303-3。
第3編集數(shù)據(jù)303-3被輸入到mac生成函數(shù),生成第3編集數(shù)據(jù)303-3的消息認證碼。
從第3編集數(shù)據(jù)303-3的消息認證碼中提取第3比較數(shù)據(jù)304-3。
對第3比較數(shù)據(jù)304-3與第3附加數(shù)據(jù)205-3進行比較。
接收包含剩余消息認證碼206的第4分組作為第n+1分組120。
從第3編集數(shù)據(jù)303-3的消息認證碼中提取剩余比較數(shù)據(jù)305。
對剩余比較數(shù)據(jù)305與剩余消息認證碼206進行比較。
根據(jù)圖12對分組接收方法的處理流程進行說明。
s210是分組接收處理。
在s210中,分組接收部310接收第1~第n分組110。
s220是第1數(shù)據(jù)塊處理。
根據(jù)圖13對第1數(shù)據(jù)塊處理(s220)進行說明。
s221是消息認證碼生成處理。
在s221中,消息認證碼生成部320使用第1數(shù)據(jù)塊202-1、分組編號(1)和公共密鑰101作為輸入,運算mac生成函數(shù)。由此,生成第1消息認證碼302-1。該mac生成函數(shù)與在s131(參照圖8)中運算出的mac生成函數(shù)相同。
第1消息認證碼302-1是第1數(shù)據(jù)塊202-1的消息認證碼302。
s222是編集數(shù)據(jù)生成處理。
在s222中,編集數(shù)據(jù)生成部330使用第1消息認證碼302-1和消息認證碼302的初始值生成第1編集數(shù)據(jù)303-1。
第1編集數(shù)據(jù)303-1是將消息認證碼302的初始值與第1消息認證碼302-1連結(jié)而成的數(shù)據(jù)。消息認證碼302的初始值全部為零。
s223是比較數(shù)據(jù)生成處理。
在s223中,比較數(shù)據(jù)生成部340使用第1編集數(shù)據(jù)303-1,如下所述生成第1比較數(shù)據(jù)304-1。
比較數(shù)據(jù)生成部340使用第1編集數(shù)據(jù)303-1和公共密鑰101作為輸入,運算mac生成函數(shù)。由此,生成第1編集數(shù)據(jù)303-1的消息認證碼。該mac生成函數(shù)與在s133(參照圖8)中運算出的mac生成函數(shù)相同。
比較數(shù)據(jù)生成部340使用第1編集數(shù)據(jù)303-1的消息認證碼生成第1比較數(shù)據(jù)304-1。第1比較數(shù)據(jù)304-1是從第1編集數(shù)據(jù)303-1的消息認證碼中提取出的部分。
第1編集數(shù)據(jù)303-1的消息認證碼是256比特的比特串,第1比較數(shù)據(jù)304-1是第1編集數(shù)據(jù)303-1的消息認證碼的前半部分的y比特(0<y≦256)。
s224是數(shù)據(jù)塊判定處理。
在s224中,數(shù)據(jù)塊判定部350對第1比較數(shù)據(jù)304-1和第1分組110-1中包含的第1附加數(shù)據(jù)205-1進行比較。
然后,數(shù)據(jù)塊判定部350根據(jù)比較結(jié)果判定第1分組110-1中包含的第1數(shù)據(jù)塊202-1是否是正確的數(shù)據(jù)塊202。
在第1比較數(shù)據(jù)304-1與第1附加數(shù)據(jù)205-1相同的情況下,第1數(shù)據(jù)塊202-1是正確的數(shù)據(jù)塊202。
在第1比較數(shù)據(jù)304-1與第1附加數(shù)據(jù)205-1不同的情況下,第1數(shù)據(jù)塊202-1是錯誤的數(shù)據(jù)塊202。
在s224之后,第1數(shù)據(jù)塊處理(s220)結(jié)束。
返回圖12,對s220之后的處理進行說明。
在第1數(shù)據(jù)塊202-1是錯誤的數(shù)據(jù)塊202的情況下,分組接收方法的處理結(jié)束。
在第1數(shù)據(jù)塊202-1是正確的數(shù)據(jù)塊202的情況下,處理進入s230。
s230是第x數(shù)據(jù)塊處理。
根據(jù)圖14對第x數(shù)據(jù)塊處理(s230)進行說明。
在變量x的值為2~n之間時,反復(fù)執(zhí)行s231~s234的處理。變量x的初始值為2。每當執(zhí)行s231~s234的處理時,由分組計數(shù)部380對變量x的值每次加上1。
s231是消息認證碼生成處理。
在s231中,消息認證碼生成部320使用第x數(shù)據(jù)塊202-x和公共密鑰101作為輸入,運算mac生成函數(shù)。由此,生成第x消息認證碼302-x。該mac生成函數(shù)與在s141(參照圖9)中運算出的mac生成函數(shù)相同。
s232是編集數(shù)據(jù)生成處理。
在s232中,編集數(shù)據(jù)生成部330使用第x消息認證碼302-x和第x-1消息認證碼302-x-1生成第x編集數(shù)據(jù)303-x。
第x編集數(shù)據(jù)303-x是將第x-1消息認證碼302-x-1與第x消息認證碼302-x連結(jié)而成的數(shù)據(jù)。
s233是比較數(shù)據(jù)生成處理。
在s233中,比較數(shù)據(jù)生成部340使用第x編集數(shù)據(jù)303-x,如下所述生成第x比較數(shù)據(jù)304-x。
比較數(shù)據(jù)生成部340使用第x編集數(shù)據(jù)303-x和公共密鑰101作為輸入,運算mac生成函數(shù)。由此,生成第x編集數(shù)據(jù)303-x的消息認證碼。該mac生成函數(shù)與在s143(參照圖9)中運算出的mac生成函數(shù)相同。
比較數(shù)據(jù)生成部340使用第x編集數(shù)據(jù)303-x的消息認證碼生成第x比較數(shù)據(jù)304-x。第x比較數(shù)據(jù)304-x是從第x編集數(shù)據(jù)303-x的消息認證碼中提取出的部分。
第x編集數(shù)據(jù)303-x的消息認證碼是256比特的比特串,第x比較數(shù)據(jù)304-x是第x編集數(shù)據(jù)303-x的消息認證碼的前半部分的y比特(0<y≦256)。
s234是數(shù)據(jù)塊判定處理。
在s234中,數(shù)據(jù)塊判定部350對第x比較數(shù)據(jù)304-x和第x分組110-x中包含的第x附加數(shù)據(jù)205-x進行比較。
然后,數(shù)據(jù)塊判定部350根據(jù)比較結(jié)果判定第x分組110-x中包含的第x數(shù)據(jù)塊202-x是否是正確的數(shù)據(jù)塊202。
在第x比較數(shù)據(jù)304-x與第x附加數(shù)據(jù)205-x相同的情況下,第x數(shù)據(jù)塊202-x是正確的數(shù)據(jù)塊202。
在第x比較數(shù)據(jù)304-x與第x附加數(shù)據(jù)205-x不同的情況下,第x數(shù)據(jù)塊202-x是錯誤的數(shù)據(jù)塊202。該情況下,第x數(shù)據(jù)塊處理(s230)結(jié)束。
返回圖12,對s230之后的處理進行說明。
在第x數(shù)據(jù)塊202-x是錯誤的數(shù)據(jù)塊202的情況下,分組接收方法的處理結(jié)束。
在第x數(shù)據(jù)塊202-x是正確的數(shù)據(jù)塊202的情況下,處理進入s240。
s240是數(shù)據(jù)塊判定處理。
在s240中,數(shù)據(jù)塊判定部350對剩余比較數(shù)據(jù)和第n+1分組120中包含的剩余消息認證碼206進行比較。剩余比較數(shù)據(jù)容后再述。
然后,數(shù)據(jù)塊判定部350根據(jù)比較結(jié)果判定第n分組110-n中包含的第n數(shù)據(jù)塊202-n是否是正確的數(shù)據(jù)塊202。
在剩余比較數(shù)據(jù)與剩余消息認證碼206相同的情況下,第n數(shù)據(jù)塊202-n是正確的數(shù)據(jù)塊202。
在剩余比較數(shù)據(jù)與剩余消息認證碼206不同的情況下,第n數(shù)據(jù)塊202-n是錯誤的數(shù)據(jù)塊202。
剩余比較數(shù)據(jù)是從第n編集數(shù)據(jù)303-n的消息認證碼中除去第n比較數(shù)據(jù)304-n后的部分。
在s233(參照圖14)中變量x的值為n時,生成第n編集數(shù)據(jù)303-n的消息認證碼和第n比較數(shù)據(jù)304-n。
即,剩余比較數(shù)據(jù)是第n編集數(shù)據(jù)303-n的消息認證碼的后半部分的y比特(0<y≦256)。
在第n數(shù)據(jù)塊202-n是錯誤的數(shù)據(jù)塊202的情況下,分組接收方法的處理結(jié)束。
在第n數(shù)據(jù)塊202-n是正確的數(shù)據(jù)塊202的情況下,處理進入s250。
s250是數(shù)據(jù)復(fù)原處理。
在s250中,數(shù)據(jù)復(fù)原部360通過連結(jié)第1~第n數(shù)據(jù)塊202,對消息數(shù)據(jù)201進行復(fù)原。
***效果的說明***
通過對第x數(shù)據(jù)塊202-x附加基于第x數(shù)據(jù)塊202-x和第x-1數(shù)據(jù)塊202-x-1的第x附加數(shù)據(jù)205-x,能夠驗證第x數(shù)據(jù)塊202-x。
由此,從第x附加數(shù)據(jù)205-x中舍去第x編集數(shù)據(jù)204-x的消息認證碼的一部分,減小第x附加數(shù)據(jù)205-x的大小,提高第x數(shù)據(jù)塊202-x的篡改的檢測率,能夠提高分組通信的安全性。
實施方式在希望通過利用窄帶通信來削減構(gòu)筑成本的安全系統(tǒng)、或要求抑制通信負荷和消耗電力以降低維護成本的安全系統(tǒng)中特別有效。作為窄帶通信標準的一例,有z-wave和zigbee。作為各個標準的最低頻帶,規(guī)定有9.6kbps和20kbps。
作為實施方式特別有效的系統(tǒng)的一例,可舉出由監(jiān)視工廠、成套設(shè)備和建筑現(xiàn)場的設(shè)備的工作狀態(tài)的傳感器以及對它們的數(shù)據(jù)進行集中的服務(wù)器構(gòu)成的系統(tǒng)。除此以外,可舉出通過多個設(shè)備斷續(xù)地或連續(xù)地發(fā)送接收由車載設(shè)備間的通信或建筑物的能量管理等應(yīng)用限定的較小數(shù)據(jù)的系統(tǒng)。并且,可舉出進行能量采集或無線供電的傳感器節(jié)點網(wǎng)絡(luò)系統(tǒng)。
實施方式2
根據(jù)圖15~圖24對生成編集數(shù)據(jù)204的方法與實施方式1不同的方式進行說明。但是,省略與實施方式1重復(fù)的說明。
***結(jié)構(gòu)的說明***
根據(jù)圖15對分組發(fā)送裝置200的功能結(jié)構(gòu)進行說明。
編集數(shù)據(jù)生成部240使用第x數(shù)據(jù)塊202-x和第x-1編集mac259-x-1生成第x編集數(shù)據(jù)204-x。
消息認證碼生成部230生成第x編集mac207-x。第x編集mac207-x是第x編集數(shù)據(jù)204-x的消息認證碼。
附加數(shù)據(jù)生成部250提取第x編集mac207-x的一部分作為第x附加數(shù)據(jù)205-x。
根據(jù)圖16對分組接收裝置300的功能結(jié)構(gòu)進行說明。
編集數(shù)據(jù)生成部330使用第x數(shù)據(jù)塊202-x和第x-1編集mac306-x-1生成第x編集數(shù)據(jù)303-x。
消息認證碼生成部320生成第x編集mac306-x。第x編集mac306-x是第x編集數(shù)據(jù)303-x的消息認證碼。
比較數(shù)據(jù)生成部340提取第x編集mac306-x的一部分作為第x比較數(shù)據(jù)304-x。
***動作的說明***
根據(jù)圖17對n為3時的分組發(fā)送方法進行說明。
將分組編號(1)和編集mac207的初始值(0)與第1數(shù)據(jù)塊202-1連結(jié)而生成第1編集數(shù)據(jù)204-1。
第1編集數(shù)據(jù)204-1被輸入到mac生成函數(shù),生成第1編集mac207-1。
從第1編集mac207-1中提取第1附加數(shù)據(jù)205-1。
生成包含第1數(shù)據(jù)塊202-1和第1附加數(shù)據(jù)205-1的第1分組110-1。發(fā)送第1分組110-1。
將分組編號(2)和第1編集mac207-1與第2數(shù)據(jù)塊202-2連結(jié)而生成第2編集數(shù)據(jù)204-2。
第2編集數(shù)據(jù)204-2被輸入到mac生成函數(shù),生成第2編集mac207-2。
從第2編集mac207-2中提取第2附加數(shù)據(jù)205-2。
生成包含第2數(shù)據(jù)塊202-2和第2附加數(shù)據(jù)205-2的第2分組110-2。發(fā)送第2分組110-2。
將分組編號(3)和第2編集mac207-2與第3數(shù)據(jù)塊202-3連結(jié)而生成第3編集數(shù)據(jù)204-3。
第3編集數(shù)據(jù)204-3被輸入到mac生成函數(shù),生成第3編集mac207-3。
從第3編集mac207-3中提取第3附加數(shù)據(jù)205-3。
生成包含第3數(shù)據(jù)塊202-3和第3附加數(shù)據(jù)205-3的第3分組110-3。發(fā)送第3分組110-3。
從第3編集mac207-3中提取剩余消息認證碼206。
生成第4分組作為包含剩余消息認證碼206的第n+1分組120。發(fā)送第4分組。
根據(jù)圖18對分組發(fā)送方法的處理流程進行說明。
消息發(fā)送方法的處理流程與實施方式1(參照圖7)相同。
消息數(shù)據(jù)取得處理(s110)、數(shù)據(jù)分割處理(s120)和剩余mac處理(s150)與實施方式1相同。
下面,對第1數(shù)據(jù)塊處理(s130b)和第x數(shù)據(jù)塊處理(s140b)進行說明。
根據(jù)圖19對第1數(shù)據(jù)塊處理(s130b)進行說明。
在s131b中,編集數(shù)據(jù)生成部240使用第1數(shù)據(jù)塊202-1和編集mac207的初始值生成第1編集數(shù)據(jù)204-1。
第1編集數(shù)據(jù)204-1是將編集mac207的初始值與第1數(shù)據(jù)塊202-1連結(jié)而成的數(shù)據(jù)。編集mac207的初始值全部為零。
在s132b中,消息認證碼生成部230使用第1編集數(shù)據(jù)204-1和公共密鑰101作為輸入,運算mac生成函數(shù)。由此,生成第1編集mac207-1。
第1編集mac207-1是第1編集數(shù)據(jù)204-1的消息認證碼。
在s133b中,附加數(shù)據(jù)生成部250提取第1編集mac207-1的開頭的y比特(0<y≦256)作為第1附加數(shù)據(jù)205-1。
s134和s135與實施方式1(參照圖8)相同。
根據(jù)圖20對第x數(shù)據(jù)塊處理(s140b)進行說明。
在s141b中,編集數(shù)據(jù)生成部240使用第x數(shù)據(jù)塊202-x和第x-1編集mac207-x-1生成第x編集數(shù)據(jù)204-x。
第x編集數(shù)據(jù)204-x是將分組編號(x)和第x-1編集mac207-x-1與第x數(shù)據(jù)塊202-x連結(jié)而成的數(shù)據(jù)。
在s142b中,消息認證碼生成部230使用第x編集數(shù)據(jù)204-x和公共密鑰101作為輸入,運算mac生成函數(shù)。由此,生成第x編集mac207-x。
第x編集mac207-x是第x編集數(shù)據(jù)204-x的消息認證碼。
在s143b中,附加數(shù)據(jù)生成部250提取第x編集數(shù)據(jù)204-x的開頭的y比特(0<y≦256)作為第x附加數(shù)據(jù)205-x。
s144和s145與實施方式1(參照圖8)相同。
根據(jù)圖21對n為3時的分組接收方法進行說明。
接收包含第1數(shù)據(jù)塊202-1和第1附加數(shù)據(jù)205-1的第1分組110-1。
將分組編號(1)和編集mac306的初始值(0)與第1數(shù)據(jù)塊202-1連結(jié)而生成第1編集數(shù)據(jù)303-1。
第1編集數(shù)據(jù)303-1被輸入到mac生成函數(shù),生成第1編集mac306-1。
從第1編集mac306-1中提取第1比較數(shù)據(jù)304-1。
對第1比較數(shù)據(jù)304-1與第1附加數(shù)據(jù)205-1進行比較。
接收包含第2數(shù)據(jù)塊202-2和第2附加數(shù)據(jù)205-2的第2分組110-2。
將分組編號(2)和第1編集mac306-1與第2數(shù)據(jù)塊202-2連結(jié)而生成第2編集數(shù)據(jù)303-2。
第2編集數(shù)據(jù)303-2被輸入到mac生成函數(shù),生成第2編集mac306-2。
從第2編集mac306-2中提取第2比較數(shù)據(jù)304-2。
對第2比較數(shù)據(jù)304-2與第2附加數(shù)據(jù)205-2進行比較。
接收包含第3數(shù)據(jù)塊202-3和第3附加數(shù)據(jù)205-3的第3分組110-3。
將分組編號(3)和第2編集mac306-2與第3數(shù)據(jù)塊202-3連結(jié)而生成第3編集數(shù)據(jù)303-3。
第3編集數(shù)據(jù)303-3被輸入到mac生成函數(shù),生成第3編集mac306-3。
從第3編集mac306-3中提取第3比較數(shù)據(jù)304-3。
對第3比較數(shù)據(jù)304-3與第3附加數(shù)據(jù)205-3進行比較。
接收包含剩余消息認證碼206的第4分組作為第n+1分組120。
從第3編集mac306-3的消息認證碼中提取剩余比較數(shù)據(jù)305。
對剩余比較數(shù)據(jù)305與剩余消息認證碼206進行比較。
根據(jù)圖22對分組接收方法的處理流程進行說明。
分組接收方法的處理流程與實施方式1(參照圖12)相同。
分組接收處理(s210)、數(shù)據(jù)塊判定處理(s240)和數(shù)據(jù)復(fù)原處理(s250)與實施方式1相同。
下面,對第1數(shù)據(jù)塊處理(s220b)和第x數(shù)據(jù)塊處理(s230b)進行說明。
根據(jù)圖23對第1數(shù)據(jù)塊處理(s220b)進行說明。
在s221b中,編集數(shù)據(jù)生成部330使用第1數(shù)據(jù)塊202-1、分組編號(1)和編集mac306的初始值生成第1編集數(shù)據(jù)303-1。
第1編集數(shù)據(jù)303-1是將分組編號(1)和編集mac306的初始值與第1數(shù)據(jù)塊202-1連結(jié)而成的數(shù)據(jù)。編集mac306的初始值全部為零。
在s222b中,消息認證碼生成部320使用第1編集數(shù)據(jù)303-1和公共密鑰101作為輸入,運算mac生成函數(shù)。由此,生成第1編集mac306-1。
第1編集mac306-1是第1編集數(shù)據(jù)303-1的消息認證碼。
在s223b中,比較數(shù)據(jù)生成部340提取第1編集mac306-1的開頭的y比特(0<y≦256)作為第1比較數(shù)據(jù)304-1。
s224與實施方式1(參照圖13)相同。
根據(jù)圖24對第x數(shù)據(jù)塊處理(s230b)進行說明。
在s231b中,編集數(shù)據(jù)生成部330使用第x數(shù)據(jù)塊202-x、分組編號(x)和第x-1編集mac306-x-1生成第x編集數(shù)據(jù)303-x。
第x編集數(shù)據(jù)303-x是將分組編號(x)和第x-1編集mac306-x-1與第x數(shù)據(jù)塊202-x連結(jié)而成的數(shù)據(jù)。
在s232b中,消息認證碼生成部320使用第x編集數(shù)據(jù)303-1和公共密鑰101作為輸入,運算mac生成函數(shù)。由此,生成第x編集mac306-x。
第x編集mac306-x是第x編集數(shù)據(jù)303-x的消息認證碼。
在s233b中,比較數(shù)據(jù)生成部340提取第x編集mac306-x的開頭的y比特(0<y≦256)作為第x比較數(shù)據(jù)304-x。
s234與實施方式1(參照圖14)相同。
***效果的說明***
在第x附加數(shù)據(jù)205-x中還包含比第x-1數(shù)據(jù)塊202-x-1更靠前的各數(shù)據(jù)塊202的信息,因此,能夠提高第x數(shù)據(jù)塊202-x的篡改的檢測率。
mac生成函數(shù)的運算次數(shù)是實施方式1的一半,因此,能夠縮短針對數(shù)據(jù)塊202的處理時間。
實施方式3
根據(jù)圖25~圖30說明對實施方式1中的數(shù)據(jù)塊202進行加密的方式。
***結(jié)構(gòu)的說明***
如圖25所示,分組發(fā)送裝置200在實施方式1(參照圖3)中說明的功能的基礎(chǔ)上,具有加密部281。
加密部281通過對第x數(shù)據(jù)塊202-x進行加密,生成第x加密塊208-x。第x加密塊208-x是被加密的第x數(shù)據(jù)塊202-x。
消息認證碼生成部230不使用第x數(shù)據(jù)塊202-x而使用第x加密塊208-x生成第x消息認證碼203-x。
分組生成部260生成不包含第x數(shù)據(jù)塊202-x而包含第x加密塊208-x的第x分組110-x。
如圖26所示,分組接收裝置300在實施方式1(參照圖4)中說明的功能的基礎(chǔ)上,具有解密部381。
解密部381對第1~第n數(shù)據(jù)塊202進行解密。
***動作的說明***
根據(jù)圖27對分組發(fā)送方法的處理流程進行說明。
s110、s120、s150與實施方式1(參照圖7)相同。
在s121中,加密部281使用加密密鑰對n個數(shù)據(jù)塊202進行加密,由此生成n個加密塊208。加密密鑰是公共密鑰101或其他密鑰。
第1加密塊處理(s130c)是在實施方式1的第1數(shù)據(jù)塊處理(s130)中將數(shù)據(jù)塊202置換成加密塊208的處理。
第x加密塊處理(s140c)是在實施方式1的第x數(shù)據(jù)塊處理(s140)中將數(shù)據(jù)塊202置換成加密塊208的處理。
圖28對應(yīng)于實施方式1的圖6。在圖28中,不對圖6中的數(shù)據(jù)塊202而對加密塊208進行處理。
根據(jù)圖29對分組接收方法的處理流程進行說明。
s210與實施方式1(參照圖12)相同。
第1加密塊處理(s220c)是在實施方式1的第1數(shù)據(jù)塊處理(s220)中將數(shù)據(jù)塊202置換成加密塊208的處理。
第x加密塊處理(s230c)是在實施方式1的第x數(shù)據(jù)塊處理(s230)中將數(shù)據(jù)塊202置換成加密塊208的處理。
第n數(shù)據(jù)塊判定處理(s240c)是在實施方式1的第n數(shù)據(jù)塊判定處理(s240)中將數(shù)據(jù)塊202置換成加密塊208的處理。
在s251中,解密部381使用解密密鑰對第1~第n加密塊208進行解密。解密密鑰是公共密鑰101或其他密鑰。
s250與實施方式1相同。
圖30對應(yīng)于實施方式1的圖11。在圖30中,不對圖11中的數(shù)據(jù)塊202而對加密塊208進行處理。
***效果的說明***
通過數(shù)據(jù)塊202的加密,能夠確保消息數(shù)據(jù)201的隱匿性。
實施方式4
根據(jù)圖31~圖34說明對實施方式2中的數(shù)據(jù)塊202進行加密的方式。
***結(jié)構(gòu)的說明***
如圖31所示,分組發(fā)送裝置200在實施方式2(參照圖15)中說明的功能的基礎(chǔ)上,具有加密部281。
加密部281通過對第x數(shù)據(jù)塊202-x進行加密,生成第x加密塊208-x。第x加密塊208-x是被加密的第x數(shù)據(jù)塊202-x。
編集數(shù)據(jù)生成部240不使用第x數(shù)據(jù)塊202-x而使用第x加密塊208-x生成第x編集數(shù)據(jù)204-x。
分組生成部260生成不包含第x數(shù)據(jù)塊202-x而包含第x加密塊208-x的第x分組110-x。
如圖32所示,分組接收裝置300在實施方式2(參照圖16)中說明的功能的基礎(chǔ)上,具有解密部381。
解密部381對第1~第n數(shù)據(jù)塊202進行解密。
***動作的說明***
分組發(fā)送方法的處理流程與實施方式3(參照圖27)相同。
但是,第1加密塊處理(s130c)是在實施方式2的第1數(shù)據(jù)塊處理(s130b)中將數(shù)據(jù)塊202置換成加密塊208的處理。
并且,第x加密塊處理(s140c)是在實施方式2的第x數(shù)據(jù)塊處理(s140b)中將數(shù)據(jù)塊202置換成加密塊208的處理。
圖33對應(yīng)于實施方式2的圖17。在圖33中,不對圖17中的數(shù)據(jù)塊202而對加密塊208進行處理。
分組接收方法的處理流程與實施方式3(參照圖29)相同。
但是,第1加密塊處理(s220c)是在實施方式2的第1數(shù)據(jù)塊處理(s220b)中將數(shù)據(jù)塊202置換成加密塊208的處理。
并且,第x加密塊處理(s230c)是在實施方式2的第x數(shù)據(jù)塊處理(s230b)中將數(shù)據(jù)塊202置換成加密塊208的處理。
圖34對應(yīng)于實施方式2的圖21。在圖34中,不對圖21中的數(shù)據(jù)塊202而對加密塊208進行處理。
***效果的說明***
通過數(shù)據(jù)塊202的加密,能夠確保消息數(shù)據(jù)201的隱匿性。
各實施方式是優(yōu)選方式的例示,并不意圖限制本發(fā)明的技術(shù)范圍。各實施方式可以部分地實施,也可以與其他實施方式組合實施。
使用流程圖等說明的處理順序是分組發(fā)送方法、分組發(fā)送程序、分組接收方法和分組接收程序的處理順序的一例。
各實施方式也可以是以下方式。
分組發(fā)送裝置200也可以是具有分組接收裝置300的功能的分組通信裝置。
也可以通過連結(jié)以外的編集來生成編集數(shù)據(jù)。
附加數(shù)據(jù)和比較數(shù)據(jù)也可以不是編集數(shù)據(jù)的消息認證碼的一部分,而是編集數(shù)據(jù)的消息認證碼的全部。進而,附加數(shù)據(jù)和比較數(shù)據(jù)只要是使用編集數(shù)據(jù)生成的數(shù)據(jù)即可,也可以是與編集數(shù)據(jù)的消息認證碼的一部分和編集數(shù)據(jù)的消息認證碼的全部不同的數(shù)據(jù)。
以下標記的標號對標注有連字符的標號進行總結(jié)。例如,數(shù)據(jù)塊202是第1數(shù)據(jù)塊202-1、第x數(shù)據(jù)塊202-x和第n數(shù)據(jù)塊202-n的總稱。
標號說明
100:分組通信系統(tǒng);109:網(wǎng)絡(luò);110:分組;111:頭;120:第n+1分組;121:第n+1頭;200:分組發(fā)送裝置;201:消息數(shù)據(jù);202:數(shù)據(jù)塊;203:消息認證碼;204:編集數(shù)據(jù);205:附加數(shù)據(jù);206:剩余消息認證碼;207:編集mac;208:加密塊;210:消息數(shù)據(jù)取得部;220:數(shù)據(jù)分割部;230:消息認證碼生成部;240:編集數(shù)據(jù)生成部;250:附加數(shù)據(jù)生成部;260:分組生成部;270:分組發(fā)送部;280:分組計數(shù)部;290:發(fā)送存儲部;291:消息認證碼存儲部;300:分組接收裝置;302:消息認證碼;303:編集數(shù)據(jù);304:比較數(shù)據(jù);305:剩余比較數(shù)據(jù);306:編集mac;310:分組接收部;320:消息認證碼生成部;330:編集數(shù)據(jù)生成部;340:比較數(shù)據(jù)生成部;350:數(shù)據(jù)塊判定部;360:數(shù)據(jù)復(fù)原部;390:接收存儲部;391:消息認證碼存儲部;901:處理器;902:輔助存儲裝置;903:存儲器;904:通信裝置;9041:接收機;9042:發(fā)送機;905:輸入接口;906:顯示器接口;907:輸入裝置;908:顯示器;910:信號線;911:纜線;912:纜線。