首页> 中国专利> 分组发送装置、分组接收装置、分组发送程序和分组接收程序

分组发送装置、分组接收装置、分组发送程序和分组接收程序

摘要

编集数据生成部(240)将第X‑1数据块的消息认证码与第X数据块的消息认证码连结而生成第X编集数据。附加数据生成部(250)生成第X编集数据的消息认证码,提取第X编集数据的消息认证码的一部分作为第X附加数据。分组生成部(260)生成包含第X数据块和第X附加数据的第X分组。分组发送部(270)发送第X分组。

著录项

  • 公开/公告号CN107113180A

    专利类型发明专利

  • 公开/公告日2017-08-29

    原文格式PDF

  • 申请/专利权人 三菱电机株式会社;

    申请/专利号CN201580073137.2

  • 发明设计人 村上由美子;小林信博;

    申请日2015-01-19

  • 分类号

  • 代理机构北京三友知识产权代理有限公司;

  • 代理人李辉

  • 地址 日本东京都

  • 入库时间 2023-06-19 03:13:27

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-01-17

    授权

    授权

  • 2017-09-22

    实质审查的生效 IPC(主分类):H04L9/32 申请日:20150119

    实质审查的生效

  • 2017-08-29

    公开

    公开

说明书

技术领域

本发明涉及包含消息认证码的分组的通信。

背景技术

由于因特网的普及,进行要求可靠性和隐匿性的通信的机会增大。可靠性意味着数据的完整性,数据的完整性意味着在发送中没有篡改数据。篡改包含由于噪声而产生的数据错误。使用加密技术来确保完整性。

能够通过使用校验和等错误检测码的技术来检测数据错误。该技术是将消息数据编码成更长的数据,通过其冗余性来检测数据错误的技术。但是,该技术针对第三方有意的高级篡改的耐受性较弱。

针对第三方的有意篡改使用消息认证技术。消息认证技术是通过对消息数据附加消息认证码(MAC)来检测篡改的技术的总称。

需要成为仅有限的人物能够生成正确的MAC这样的状况,使得无法对发送中的数据进行篡改。为此,需要在发送者与接收者之间秘密地共享公共密钥和MAC生成函数。

发送者对MAC生成函数输入消息数据和公共密钥,发送包含消息数据和MAC的分组。接收者与发送者同样地使用消息数据和公共密钥生成MAC,验证所生成的MAC与接收到的MAC是否一致。如果没有篡改,则两个MAC一致。如果两个MAC不一致,则判断为消息数据、MAC或其双方存在篡改,丢弃分组。

消息认证技术是与数据隐匿不同的技术,不能以保护隐私为目的进行使用。在希望隐匿消息数据的情况下,对消息数据进行加密,对加密后的消息数据应用消息认证技术。由此,能够实现篡改检测和数据隐匿双方。

非专利文献1公开了作为代表性的消息认证技术之一的HMAC。HMAC是Hash-basedMessage Authentication Code(基于哈希的消息认证码)的简称。

在HMAC中,在生成MAC的运算的核心部分使用SHA-1或MD5等哈希算法,分别称作HMAC-SHA1和HMAC-MD5。

HMAC能够将哈希算法作为黑箱来处理,因此,能够利用满足特定条件的哈希算法。另外,HMAC的安全性依赖于要利用的哈希算法的安全性。

HMAC的安全性是指针对冒充行为的耐受性。冒充行为是指不具有公共密钥的第三方伪造消息和MAC的组。具体而言,冒充行为是指如下行为:不具有公共密钥的第三方根据正确的消息和MAC的组,伪造与其均都不同的消息和MAC的组,通过接收者的MAC验证。

在HMAC中,通过缩减所生成的MAC的大小,能够缩短所附加的MAC。

例如,能够利用在利用HMAC-SHA256时生成的256比特的MAC中的上位128比特作为要附加的MAC。

但是,当要附加的MAC缩短时,HMAC的安全性降低。

近年来,被称作M2M的系统和服务正在普及。M2M是Machine to Machine(机器对机器)的简称。

通过使用计算资源受到限制的多个设备构成的网络来提供该系统和服务。而且,不经由人的控制,各设备自主地工作。计算资源受到限制的设备是传感器节点或RFID标签等。RFID是Radio Frequency Identifier(射频识别)的简称。

在消息数据的大小较大的情况下,为了抑制占有网络频带,并且为了减轻针对消息数据的局部破损的重发成本,将消息数据分割成多个数据块,通过多个分组进行通信。

该情况下,能够对最终分组赋予由消息数据整体生成的MAC并进行发送。但是,接收者在接收最终分组之前,无法验证各分组的可靠性。

与此相对,专利文献1公开了按照每个分割数据生成MAC并发送包含分割数据和MAC的分组的技术。

但是,当在窄带通信中按照每个分割数据附加MAC时,可能超过频带上限。因此,在MAC为固定长度的情况下,需要减小分割数据的大小。其结果是分组数增加,因此,全部分组的传输花费时间。而且,对通信路径施加较大负荷。

专利文献2公开了通过使数字信息信号中包含的错误检测码具有MAC的功能来减轻有效载荷的技术。

现有技术文献

专利文献

专利文献1:日本特开2005-167942号公报

专利文献2:日本特表2003-503743号公报

非专利文献

非专利文献1:FEDERAL INFORMATION PROCESSING STANDARDS PUBLICATION 198(FIPS PUB 198)、The Keyed-Hash Message Authentication Code

发明内容

发明要解决的课题

本发明的目的在于,通过对第X数据块附加基于第X数据块和第X-1数据块的附加数据,使得能够验证第X数据块。

用于解决课题的手段

本发明的分组发送装置具有:消息认证码生成部,其按照N个数据块中包含的每个数据块生成数据块的消息认证码;编集数据生成部,其生成第X编集数据,该第X编集数据是使用所述N个数据块中的第2数据块~第N数据块中的任意数据块即第X数据块的消息认证码和所述N个数据块中的第X-1数据块的消息认证码生成的数据;附加数据生成部,其使用所述第X编集数据生成对所述第X数据块附加的数据即第X附加数据;分组生成部,其生成包含所述第X数据块和所述第X附加数据的第X分组;以及分组发送部,其发送所述第X分组。

发明效果

根据本发明,能够对第X数据块附加基于第X数据块和第X-1数据块的附加数据。由此,能够使用附加数据来验证第X数据块。

附图说明

图1是实施方式1中的分组通信系统100的结构图。

图2是示出实施方式1中的消息数据201和分组110的图。

图3是实施方式1中的分组发送装置200的功能结构图。

图4是实施方式1中的分组接收装置300的功能结构图。

图5是实施方式1中的分组发送装置200和分组接收装置300的硬件结构图。

图6是实施方式1中的分组发送方法的概要图。

图7是实施方式1中的分组发送方法的流程图。

图8是实施方式1中的第1数据块处理(S130)的流程图。

图9是实施方式1中的第X数据块处理(S140)的流程图。

图10是实施方式1中的剩余MAC处理(S150)的流程图。

图11是实施方式1中的分组接收方法的概要图。

图12是实施方式1中的分组接收方法的流程图。

图13是实施方式1中的第1数据块处理(S220)的流程图。

图14是实施方式1中的第X数据块处理(S230)的流程图。

图15是实施方式2中的分组发送装置200的功能结构图。

图16是实施方式2中的分组接收装置300的功能结构图。

图17是实施方式2中的分组发送方法的概要图。

图18是实施方式2中的分组发送方法的流程图。

图19是实施方式2中的第1数据块处理(S130B)的流程图。

图20是实施方式2中的第X数据块处理(S140B)的流程图。

图21是实施方式2中的分组接收方法的概要图。

图22是实施方式2中的分组接收方法的流程图。

图23是实施方式2中的第1数据块处理(S220B)的流程图。

图24是实施方式2中的第X数据块处理(S230B)的流程图。

图25是实施方式3中的分组发送装置200的功能结构图。

图26是实施方式3中的分组接收装置300的功能结构图。

图27是实施方式3中的分组发送方法的流程图。

图28是实施方式3中的分组发送方法的概要图。

图29是实施方式3中的分组接收方法的流程图。

图30是实施方式3中的分组接收方法的概要图。

图31是实施方式4中的分组发送装置200的功能结构图。

图32是实施方式4中的分组接收装置300的功能结构图。

图33是实施方式4中的分组发送方法的概要图。

图34是实施方式4中的分组接收方法的概要图。

具体实施方式

实施方式1

根据图1~图14说明对数据块附加用于验证数据块的附加数据的方式。

***结构的说明***

根据图1对分组通信系统100进行说明。

分组通信系统100是进行分组110的通信的系统。

分组通信系统100具有发送分组110的分组发送装置200和接收分组110的分组接收装置300。

分组发送装置200和分组接收装置300经由网络109进行分组110的发送接收。

根据图2对消息数据201和分组110进行说明。

消息数据201是被发送的数据。

结合分组110的大小将消息数据201分割成多个数据块202。消息数据201的分割数为N。N为2以上的整数。

按照每个数据块202生成分组110。

分组110包含头111、数据块202、附加数据205。

头111包含识别分组110的分组编号。第1头111-1中包含的分组编号为1,第N头111-N中包含的分组编号为N。分组编号还作为识别数据块202的数据块编号发挥功能。

附加数据205是用于判定数据块202是否是正确的数据块的信息。

进而,生成第N+1分组120。

第N+1分组120包含第N+1头121和剩余消息认证码206。图中的MAC是消息认证码的简称。

第N+1头121包含识别第N+1分组120的分组编号。第N+1分组120中包含的分组编号为N+1。

剩余消息认证码206是用于判定第N数据块202-N是否是正确的数据块的信息。

根据图3对分组发送装置200的功能结构进行说明。

分组发送装置200具有消息数据取得部210、数据分割部220、消息认证码生成部230、编集数据生成部240、附加数据生成部250、分组生成部260、分组发送部270。

进而,分组发送装置200具有分组计数部280、发送存储部290、消息认证码存储部291。

消息数据取得部210取得消息数据201。

数据分割部220将消息数据201分割成N个数据块202。

消息认证码生成部230按照N个数据块202中包含的每个数据块202生成数据块202的消息认证码203。

第X消息认证码203-X是第X数据块202-X的消息认证码。

第X数据块202是N个数据块202中的第2数据块202-2~第N数据块202-N中的任意数据块。

编集数据生成部240生成第X编集数据204-X。

第X编集数据204-X是使用第X消息认证码203-X和第X-1消息认证码203-X-1生成的数据。

附加数据生成部250使用第X编集数据204-X生成第X附加数据205-X。

第X附加数据205-X是对第X数据块202-X附加的数据。

分组生成部260生成包含第X头111-X、第X数据块202-X、第X附加数据205的第X分组110-X。

分组发送部270发送第X分组110-X。

分组计数部280对分组编号(X)进行计数。

发送存储部290存储分组发送装置200中使用、生成或输入输出的数据。在发送存储部290中存储公共密钥101等。

消息认证码存储部291存储第X-1消息认证码203-X-1。

根据图4对分组接收装置300的功能结构进行说明。

分组接收装置300具有分组接收部310、消息认证码生成部320、编集数据生成部330、比较数据生成部340、数据块判定部350、数据复原部360。

进而,分组接收装置300具有分组计数部380、接收存储部390、消息认证码存储部391。

分组接收部310接收第X分组110-X和第X-1分组110-X-1。

消息认证码生成部320使用第X分组110-X中包含的第X数据块202-X生成第X消息认证码302-X。第X消息认证码302-X是第X数据块202-X的消息认证码302。

消息认证码生成部320使用第X-1分组110-X-1中包含的第X-1数据块202-X-1生成第X-1消息认证码302-X-1。第X-1消息认证码302-X-1是第X-1数据块202-X的消息认证码302。

编集数据生成部330生成第X编集数据303-X。

第X编集数据303-X是使用第X消息认证码302-X和第X-1消息认证码302-X-1生成的数据。

比较数据生成部340使用第X编集数据303-X生成第X比较数据304-X。

第X比较数据304-X是应该对第X数据块202-X附加的数据。

数据块判定部350通过对第X比较数据304-X和第X附加数据205-X进行比较,判定第X数据块202-X是否是正确的数据块202。

数据复原部360通过连结第1~第N数据块202,对消息数据201进行复原。

分组计数部380对分组编号(X)进行计数。

接收存储部390存储分组接收装置300中使用、生成或输入输出的数据。在接收存储部390中存储公共密钥101等。该公共密钥101与分组发送装置200使用的公共密钥101相同。

消息认证码存储部391存储第X-1消息认证码302-X-1。

根据图5对分组发送装置200和分组接收装置300的硬件结构例进行说明。

分组发送装置200和分组接收装置300是具有处理器901、辅助存储装置902、存储器903、通信装置904、输入接口905、显示器接口906这样的硬件的计算机。

处理器901经由信号线910而与其他硬件连接。输入接口905经由缆线911而与输入装置907连接。显示器接口906经由缆线912而与显示器908连接。

处理器901是进行处理的IC,对其他硬件进行控制。例如,处理器901是CPU、DSP、GPU。IC是Integrated Circuit的简称。CPU是Central Processing Unit的简称,DSP是Digital Signal Processor的简称,GPU是Graphics Processing Unit的简称。

辅助存储装置902例如是ROM、闪存、HDD。ROM是Read Only Memory的简称,HDD是Hard Disk Drive的简称。

存储器903例如是RAM。RAM是Random Access Memory的简称。

通信装置904具有接收数据的接收机9041和发送数据的发送机9042。例如,通信装置904是通信芯片或NIC。NIC是Network Interface Card的简称。

输入接口905是连接缆线911的端口,端口的一例是USB端子。USB是UniversalSerial Bus的简称。

显示器接口906是连接缆线912的端口,USB端子和HDMI端子是端口的一例。HDMI(注册商标)是High Definition Multimedia Interface的简称。

输入装置907例如是鼠标、键盘或触摸面板。

显示器908例如是LCD。LCD是Liquid Crystal Display的简称。

在辅助存储装置902中存储有OS。OS是Operating System的简称。

在分组发送装置200的辅助存储装置902中存储有实现分组发送装置200具有的消息数据取得部210、数据分割部220、消息认证码生成部230、编集数据生成部240、附加数据生成部250、分组生成部260和分组发送部270这样的“部”的功能的程序。

在分组接收装置300的辅助存储装置902中存储有实现分组接收装置300具有的分组接收部310、消息认证码生成部320、编集数据生成部330、比较数据生成部340、数据块判定部350和数据复原部360这样的“部”的功能的程序。

OS的至少一部分被加载到存储器903中,处理器901执行OS,并且执行实现“部”的功能的程序。实现“部”的功能的程序被加载到存储器903中,读入到处理器901中,由处理器901来执行。

另外,也可以是,分组发送装置200和分组接收装置300具有多个处理器901,多个处理器901协作执行实现“部”的功能的程序。

表示“部”的处理结果的数据、信息、信号值和变量值等存储在存储器903、辅助存储装置902、处理器901内的寄存器或处理器901内的缓存中。

也可以利用“电路系统”来安装“部”。“部”也可以改写成“电路”、“步骤”、“顺序”或“处理”。

“电路”和“电路系统”是包含处理器901、逻辑IC、GA、ASIC、FPGA这样的处理电路的概念。GA是Gate Array的简称,ASIC是Application Specific Integrated Circuit的简称,FPGA是Field-Programmable Gate Array的简称。

***动作的说明***

分组通信系统100的动作相当于分组通信方法,分组发送装置200的动作相当于分组发送方法,分组接收装置300的动作相当于分组接收方法。

并且,分组通信方法相当于分组通信程序的处理顺序,分组发送方法相当于分组发送程序的处理顺序,分组接收方法相当于分组接收程序。

根据图6对N为3时的分组发送方法进行说明。

图中的“H”意味着MAC生成函数。并且,“||”意味着连结,“MAC(Y)”意味着第Y编集数据204的消息认证码。

第1数据块202-1和分组编号(1)被输入到MAC生成函数,生成第1消息认证码203-1。

将消息认证码203的初始值(0)与第1消息认证码203-1连结而生成第1编集数据204-1。

第1编集数据204-1被输入到MAC生成函数,生成第1编集数据204-1的消息认证码。

从第1编集数据204-1的消息认证码中提取第1附加数据205-1。

生成包含第1数据块202-1和第1附加数据205-1的第1分组110-1。发送第1分组110-1。

第2数据块202-2和分组编号(2)被输入到MAC生成函数,生成第2消息认证码203-2。

将第1消息认证码203-1与第2消息认证码203-2连结而生成第2编集数据204-2。

第2编集数据204-2被输入到MAC生成函数,生成第2编集数据204-2的消息认证码。

从第2编集数据204-2的消息认证码中提取第2附加数据205-2。

生成包含第2数据块202-2和第2附加数据205-2的第2分组110-2。发送第2分组110-2。

第3数据块202-3和分组编号(3)被输入到MAC生成函数,生成第3消息认证码203-3。

将第2消息认证码203-2与第3消息认证码203-3连结而生成第3编集数据204-3。

第3编集数据204-3被输入到MAC生成函数,生成第3编集数据204-3的消息认证码。

从第3编集数据204-3的消息认证码中提取第3附加数据205-3。

生成包含第3数据块202-3和第3附加数据205-3的第3分组110-3。发送第3分组110-3。

从第3编集数据204-3的消息认证码中提取剩余消息认证码206。

生成第4分组作为包含剩余消息认证码206的第N+1分组120。发送第4分组。

根据图7对分组发送方法的处理流程进行说明。

S110是消息数据取得处理。

在S110中,使用用户接口或输入装置将消息数据201输入到分组发送装置200。

消息数据取得部210取得输入到分组发送装置200的消息数据201。

S120是数据分割处理。

在S120中,数据分割部220将消息数据201分割成N个数据块202。

S130是第1数据块处理。

根据图8对第1数据块处理(S130)进行说明。

S131是消息认证码生成处理。

在S131中,消息认证码生成部230使用第1数据块202-1、分组编号(1)和公共密钥101作为输入,运算MAC生成函数。由此,生成第1消息认证码203-1。MAC是消息认证码的简称。

第1消息认证码203-1是第1数据块202-1的消息认证码203。

S132是编集数据生成处理。

在S132中,编集数据生成部240使用第1消息认证码203-1和消息认证码203的初始值生成第1编集数据204-1。

第1编集数据204-1是将消息认证码203的初始值与第1消息认证码203-1连结而成的数据。消息认证码203的初始值全部为零。

S133是附加数据生成处理。

在S133中,附加数据生成部250使用第1编集数据204-1,如下所述生成第1附加数据205-1。

附加数据生成部250使用第1编集数据204-1和公共密钥101作为输入,运算MAC生成函数。由此,生成第1编集数据204-1的消息认证码。该MAC生成函数与在S131中运算出的MAC生成函数相同。

附加数据生成部250使用第1编集数据204-1的消息认证码生成第1附加数据205-1。第1附加数据205-1是从第1编集数据204-1的消息认证码中提取出的部分。

第1编集数据204-1的消息认证码是256比特的比特串,第1附加数据205-1是第1编集数据204-1的消息认证码的前半部分的Y比特(0<Y≦256)。

S134是分组生成处理。

在S134中,分组生成部260生成包含第1头111-1、第1数据块202-1、第1附加数据205-1的第1分组110-1。

S135是分组发送处理。

在S135中,分组发送部270向分组接收装置300发送第1分组110-1。

在S135之后,第1数据块处理(S130)结束。

返回图7,从S140起继续进行说明。

S140是第X数据块处理。

根据图9对第X数据块处理(S140)进行说明。

在变量X的值为2~N之间时,反复执行S141~S145的处理。变量X的初始值为2。每当执行S141~S145的处理时,由分组计数部280对变量X的值每次加上1。

S141是消息认证码生成处理。

在S141中,消息认证码生成部230使用第X数据块202-X和公共密钥101作为输入,运算MAC生成函数。由此,生成第X消息认证码203-X。该MAC生成函数与在S131(参照图8)中运算出的MAC生成函数相同。

S142是编集数据生成处理。

在S142中,编集数据生成部240使用第X消息认证码203-X和第X-1消息认证码203-X-1生成第X编集数据204-X。

第X编集数据204-X是将第X-1消息认证码203-X-1与第X消息认证码203-X连结而成的数据。

S143是附加数据生成处理。

在S143中,附加数据生成部250使用第X编集数据204-X,如下所述生成第X附加数据205-X。

附加数据生成部250使用第X编集数据204-X和公共密钥101作为输入,运算MAC生成函数。由此,生成第X编集数据204-X的消息认证码。该MAC生成函数与在S131(参照图8)中运算出的MAC生成函数相同。

附加数据生成部250使用第X编集数据204-X的消息认证码生成第X附加数据205-X。第X附加数据205-X是从第X编集数据204-X的消息认证码中提取出的部分。

第X编集数据204-X的消息认证码是256比特的比特串,第X附加数据205-X是第X编集数据204-X的消息认证码的前半部分的Y比特(0<Y≦256)。

S144是分组生成处理。

在S144中,分组生成部260生成包含第X头111-X、第X数据块202-X和第X附加数据205-X的第X分组110-X。

S145是分组发送处理。

在S145中,分组发送部270向分组接收装置300发送第X分组110-X。

返回图7,从S150起继续进行说明。

S150是剩余消息认证码处理。

根据图10对剩余消息认证码处理(S150)进行说明。

S151是分组生成处理。

在S151中,分组生成部260生成包含第N+1头121和剩余消息认证码206的第N+1分组120。

剩余消息认证码206是从第N编集数据204-N的消息认证码中除去第N附加数据205-N后的部分。

在S143(参照图9)中变量X的值为N时,生成第N编集数据204-N的消息认证码和第N附加数据205-N。

即,剩余消息认证码206是第N编集数据204-N的消息认证码的后半部分的Y比特(0<Y≦256)。

S152是分组发送处理。

在S152中,分组发送部270向分组接收装置300发送第N+1分组120。

在S152之后,剩余消息认证码处理(S150)结束。

根据图11对N为3时的分组接收方法进行说明。

接收包含第1数据块202-1和第1附加数据205-1的第1分组110-1。

第1数据块202-1和分组编号(1)被输入到MAC生成函数,生成第1消息认证码302-1。

将消息认证码302的初始值(0)与第1消息认证码302-1连结而生成第1编集数据303-1。

第1编集数据303-1被输入到MAC生成函数,生成第1编集数据303-1的消息认证码。

从第1编集数据303-1的消息认证码中提取第1比较数据304-1。

对第1比较数据304-1与第1附加数据205-1进行比较。

接收包含第2数据块202-2和第2附加数据205-2的第2分组110-2。

第2数据块202-2和分组编号(2)被输入到MAC生成函数,生成第2消息认证码302-2。

将第1消息认证码302-1与第2消息认证码302-2连结而生成第2编集数据303-2。

第2编集数据303-2被输入到MAC生成函数,生成第2编集数据303-2的消息认证码。

从第2编集数据303-2的消息认证码中提取第2比较数据304-2。

对第2比较数据304-2与第2附加数据205-2进行比较。

接收包含第3数据块202-3和第3附加数据205-3的第3分组110-3。

第3数据块202-3和分组编号(3)被输入到MAC生成函数,生成第3消息认证码302-3。

将第2消息认证码302-2与第3消息认证码302-3连结而生成第3编集数据303-3。

第3编集数据303-3被输入到MAC生成函数,生成第3编集数据303-3的消息认证码。

从第3编集数据303-3的消息认证码中提取第3比较数据304-3。

对第3比较数据304-3与第3附加数据205-3进行比较。

接收包含剩余消息认证码206的第4分组作为第N+1分组120。

从第3编集数据303-3的消息认证码中提取剩余比较数据305。

对剩余比较数据305与剩余消息认证码206进行比较。

根据图12对分组接收方法的处理流程进行说明。

S210是分组接收处理。

在S210中,分组接收部310接收第1~第N分组110。

S220是第1数据块处理。

根据图13对第1数据块处理(S220)进行说明。

S221是消息认证码生成处理。

在S221中,消息认证码生成部320使用第1数据块202-1、分组编号(1)和公共密钥101作为输入,运算MAC生成函数。由此,生成第1消息认证码302-1。该MAC生成函数与在S131(参照图8)中运算出的MAC生成函数相同。

第1消息认证码302-1是第1数据块202-1的消息认证码302。

S222是编集数据生成处理。

在S222中,编集数据生成部330使用第1消息认证码302-1和消息认证码302的初始值生成第1编集数据303-1。

第1编集数据303-1是将消息认证码302的初始值与第1消息认证码302-1连结而成的数据。消息认证码302的初始值全部为零。

S223是比较数据生成处理。

在S223中,比较数据生成部340使用第1编集数据303-1,如下所述生成第1比较数据304-1。

比较数据生成部340使用第1编集数据303-1和公共密钥101作为输入,运算MAC生成函数。由此,生成第1编集数据303-1的消息认证码。该MAC生成函数与在S133(参照图8)中运算出的MAC生成函数相同。

比较数据生成部340使用第1编集数据303-1的消息认证码生成第1比较数据304-1。第1比较数据304-1是从第1编集数据303-1的消息认证码中提取出的部分。

第1编集数据303-1的消息认证码是256比特的比特串,第1比较数据304-1是第1编集数据303-1的消息认证码的前半部分的Y比特(0<Y≦256)。

S224是数据块判定处理。

在S224中,数据块判定部350对第1比较数据304-1和第1分组110-1中包含的第1附加数据205-1进行比较。

然后,数据块判定部350根据比较结果判定第1分组110-1中包含的第1数据块202-1是否是正确的数据块202。

在第1比较数据304-1与第1附加数据205-1相同的情况下,第1数据块202-1是正确的数据块202。

在第1比较数据304-1与第1附加数据205-1不同的情况下,第1数据块202-1是错误的数据块202。

在S224之后,第1数据块处理(S220)结束。

返回图12,对S220之后的处理进行说明。

在第1数据块202-1是错误的数据块202的情况下,分组接收方法的处理结束。

在第1数据块202-1是正确的数据块202的情况下,处理进入S230。

S230是第X数据块处理。

根据图14对第X数据块处理(S230)进行说明。

在变量X的值为2~N之间时,反复执行S231~S234的处理。变量X的初始值为2。每当执行S231~S234的处理时,由分组计数部380对变量X的值每次加上1。

S231是消息认证码生成处理。

在S231中,消息认证码生成部320使用第X数据块202-X和公共密钥101作为输入,运算MAC生成函数。由此,生成第X消息认证码302-X。该MAC生成函数与在S141(参照图9)中运算出的MAC生成函数相同。

S232是编集数据生成处理。

在S232中,编集数据生成部330使用第X消息认证码302-X和第X-1消息认证码302-X-1生成第X编集数据303-X。

第X编集数据303-X是将第X-1消息认证码302-X-1与第X消息认证码302-X连结而成的数据。

S233是比较数据生成处理。

在S233中,比较数据生成部340使用第X编集数据303-X,如下所述生成第X比较数据304-X。

比较数据生成部340使用第X编集数据303-X和公共密钥101作为输入,运算MAC生成函数。由此,生成第X编集数据303-X的消息认证码。该MAC生成函数与在S143(参照图9)中运算出的MAC生成函数相同。

比较数据生成部340使用第X编集数据303-X的消息认证码生成第X比较数据304-X。第X比较数据304-X是从第X编集数据303-X的消息认证码中提取出的部分。

第X编集数据303-X的消息认证码是256比特的比特串,第X比较数据304-X是第X编集数据303-X的消息认证码的前半部分的Y比特(0<Y≦256)。

S234是数据块判定处理。

在S234中,数据块判定部350对第X比较数据304-X和第X分组110-X中包含的第X附加数据205-X进行比较。

然后,数据块判定部350根据比较结果判定第X分组110-X中包含的第X数据块202-X是否是正确的数据块202。

在第X比较数据304-X与第X附加数据205-X相同的情况下,第X数据块202-X是正确的数据块202。

在第X比较数据304-X与第X附加数据205-X不同的情况下,第X数据块202-X是错误的数据块202。该情况下,第X数据块处理(S230)结束。

返回图12,对S230之后的处理进行说明。

在第X数据块202-X是错误的数据块202的情况下,分组接收方法的处理结束。

在第X数据块202-X是正确的数据块202的情况下,处理进入S240。

S240是数据块判定处理。

在S240中,数据块判定部350对剩余比较数据和第N+1分组120中包含的剩余消息认证码206进行比较。剩余比较数据容后再述。

然后,数据块判定部350根据比较结果判定第N分组110-N中包含的第N数据块202-N是否是正确的数据块202。

在剩余比较数据与剩余消息认证码206相同的情况下,第N数据块202-N是正确的数据块202。

在剩余比较数据与剩余消息认证码206不同的情况下,第N数据块202-N是错误的数据块202。

剩余比较数据是从第N编集数据303-N的消息认证码中除去第N比较数据304-N后的部分。

在S233(参照图14)中变量X的值为N时,生成第N编集数据303-N的消息认证码和第N比较数据304-N。

即,剩余比较数据是第N编集数据303-N的消息认证码的后半部分的Y比特(0<Y≦256)。

在第N数据块202-N是错误的数据块202的情况下,分组接收方法的处理结束。

在第N数据块202-N是正确的数据块202的情况下,处理进入S250。

S250是数据复原处理。

在S250中,数据复原部360通过连结第1~第N数据块202,对消息数据201进行复原。

***效果的说明***

通过对第X数据块202-X附加基于第X数据块202-X和第X-1数据块202-X-1的第X附加数据205-X,能够验证第X数据块202-X。

由此,从第X附加数据205-X中舍去第X编集数据204-X的消息认证码的一部分,减小第X附加数据205-X的大小,提高第X数据块202-X的篡改的检测率,能够提高分组通信的安全性。

实施方式在希望通过利用窄带通信来削减构筑成本的安全系统、或要求抑制通信负荷和消耗电力以降低维护成本的安全系统中特别有效。作为窄带通信标准的一例,有Z-wave和ZigBee。作为各个标准的最低频带,规定有9.6kbps和20kbps。

作为实施方式特别有效的系统的一例,可举出由监视工厂、成套设备和建筑现场的设备的工作状态的传感器以及对它们的数据进行集中的服务器构成的系统。除此以外,可举出通过多个设备断续地或连续地发送接收由车载设备间的通信或建筑物的能量管理等应用限定的较小数据的系统。并且,可举出进行能量采集或无线供电的传感器节点网络系统。

实施方式2

根据图15~图24对生成编集数据204的方法与实施方式1不同的方式进行说明。但是,省略与实施方式1重复的说明。

***结构的说明***

根据图15对分组发送装置200的功能结构进行说明。

编集数据生成部240使用第X数据块202-X和第X-1编集MAC259-X-1生成第X编集数据204-X。

消息认证码生成部230生成第X编集MAC207-X。第X编集MAC207-X是第X编集数据204-X的消息认证码。

附加数据生成部250提取第X编集MAC207-X的一部分作为第X附加数据205-X。

根据图16对分组接收装置300的功能结构进行说明。

编集数据生成部330使用第X数据块202-X和第X-1编集MAC306-X-1生成第X编集数据303-X。

消息认证码生成部320生成第X编集MAC306-X。第X编集MAC306-X是第X编集数据303-X的消息认证码。

比较数据生成部340提取第X编集MAC306-X的一部分作为第X比较数据304-X。

***动作的说明***

根据图17对N为3时的分组发送方法进行说明。

将分组编号(1)和编集MAC207的初始值(0)与第1数据块202-1连结而生成第1编集数据204-1。

第1编集数据204-1被输入到MAC生成函数,生成第1编集MAC207-1。

从第1编集MAC207-1中提取第1附加数据205-1。

生成包含第1数据块202-1和第1附加数据205-1的第1分组110-1。发送第1分组110-1。

将分组编号(2)和第1编集MAC207-1与第2数据块202-2连结而生成第2编集数据204-2。

第2编集数据204-2被输入到MAC生成函数,生成第2编集MAC207-2。

从第2编集MAC207-2中提取第2附加数据205-2。

生成包含第2数据块202-2和第2附加数据205-2的第2分组110-2。发送第2分组110-2。

将分组编号(3)和第2编集MAC207-2与第3数据块202-3连结而生成第3编集数据204-3。

第3编集数据204-3被输入到MAC生成函数,生成第3编集MAC207-3。

从第3编集MAC207-3中提取第3附加数据205-3。

生成包含第3数据块202-3和第3附加数据205-3的第3分组110-3。发送第3分组110-3。

从第3编集MAC207-3中提取剩余消息认证码206。

生成第4分组作为包含剩余消息认证码206的第N+1分组120。发送第4分组。

根据图18对分组发送方法的处理流程进行说明。

消息发送方法的处理流程与实施方式1(参照图7)相同。

消息数据取得处理(S110)、数据分割处理(S120)和剩余MAC处理(S150)与实施方式1相同。

下面,对第1数据块处理(S130B)和第X数据块处理(S140B)进行说明。

根据图19对第1数据块处理(S130B)进行说明。

在S131B中,编集数据生成部240使用第1数据块202-1和编集MAC207的初始值生成第1编集数据204-1。

第1编集数据204-1是将编集MAC207的初始值与第1数据块202-1连结而成的数据。编集MAC207的初始值全部为零。

在S132B中,消息认证码生成部230使用第1编集数据204-1和公共密钥101作为输入,运算MAC生成函数。由此,生成第1编集MAC207-1。

第1编集MAC207-1是第1编集数据204-1的消息认证码。

在S133B中,附加数据生成部250提取第1编集MAC207-1的开头的Y比特(0<Y≦256)作为第1附加数据205-1。

S134和S135与实施方式1(参照图8)相同。

根据图20对第X数据块处理(S140B)进行说明。

在S141B中,编集数据生成部240使用第X数据块202-X和第X-1编集MAC207-X-1生成第X编集数据204-X。

第X编集数据204-X是将分组编号(X)和第X-1编集MAC207-X-1与第X数据块202-X连结而成的数据。

在S142B中,消息认证码生成部230使用第X编集数据204-X和公共密钥101作为输入,运算MAC生成函数。由此,生成第X编集MAC207-X。

第X编集MAC207-X是第X编集数据204-X的消息认证码。

在S143B中,附加数据生成部250提取第X编集数据204-X的开头的Y比特(0<Y≦256)作为第X附加数据205-X。

S144和S145与实施方式1(参照图8)相同。

根据图21对N为3时的分组接收方法进行说明。

接收包含第1数据块202-1和第1附加数据205-1的第1分组110-1。

将分组编号(1)和编集MAC306的初始值(0)与第1数据块202-1连结而生成第1编集数据303-1。

第1编集数据303-1被输入到MAC生成函数,生成第1编集MAC306-1。

从第1编集MAC306-1中提取第1比较数据304-1。

对第1比较数据304-1与第1附加数据205-1进行比较。

接收包含第2数据块202-2和第2附加数据205-2的第2分组110-2。

将分组编号(2)和第1编集MAC306-1与第2数据块202-2连结而生成第2编集数据303-2。

第2编集数据303-2被输入到MAC生成函数,生成第2编集MAC306-2。

从第2编集MAC306-2中提取第2比较数据304-2。

对第2比较数据304-2与第2附加数据205-2进行比较。

接收包含第3数据块202-3和第3附加数据205-3的第3分组110-3。

将分组编号(3)和第2编集MAC306-2与第3数据块202-3连结而生成第3编集数据303-3。

第3编集数据303-3被输入到MAC生成函数,生成第3编集MAC306-3。

从第3编集MAC306-3中提取第3比较数据304-3。

对第3比较数据304-3与第3附加数据205-3进行比较。

接收包含剩余消息认证码206的第4分组作为第N+1分组120。

从第3编集MAC306-3的消息认证码中提取剩余比较数据305。

对剩余比较数据305与剩余消息认证码206进行比较。

根据图22对分组接收方法的处理流程进行说明。

分组接收方法的处理流程与实施方式1(参照图12)相同。

分组接收处理(S210)、数据块判定处理(S240)和数据复原处理(S250)与实施方式1相同。

下面,对第1数据块处理(S220B)和第X数据块处理(S230B)进行说明。

根据图23对第1数据块处理(S220B)进行说明。

在S221B中,编集数据生成部330使用第1数据块202-1、分组编号(1)和编集MAC306的初始值生成第1编集数据303-1。

第1编集数据303-1是将分组编号(1)和编集MAC306的初始值与第1数据块202-1连结而成的数据。编集MAC306的初始值全部为零。

在S222B中,消息认证码生成部320使用第1编集数据303-1和公共密钥101作为输入,运算MAC生成函数。由此,生成第1编集MAC306-1。

第1编集MAC306-1是第1编集数据303-1的消息认证码。

在S223B中,比较数据生成部340提取第1编集MAC306-1的开头的Y比特(0<Y≦256)作为第1比较数据304-1。

S224与实施方式1(参照图13)相同。

根据图24对第X数据块处理(S230B)进行说明。

在S231B中,编集数据生成部330使用第X数据块202-X、分组编号(X)和第X-1编集MAC306-X-1生成第X编集数据303-X。

第X编集数据303-X是将分组编号(X)和第X-1编集MAC306-X-1与第X数据块202-X连结而成的数据。

在S232B中,消息认证码生成部320使用第X编集数据303-1和公共密钥101作为输入,运算MAC生成函数。由此,生成第X编集MAC306-X。

第X编集MAC306-X是第X编集数据303-X的消息认证码。

在S233B中,比较数据生成部340提取第X编集MAC306-X的开头的Y比特(0<Y≦256)作为第X比较数据304-X。

S234与实施方式1(参照图14)相同。

***效果的说明***

在第X附加数据205-X中还包含比第X-1数据块202-X-1更靠前的各数据块202的信息,因此,能够提高第X数据块202-X的篡改的检测率。

MAC生成函数的运算次数是实施方式1的一半,因此,能够缩短针对数据块202的处理时间。

实施方式3

根据图25~图30说明对实施方式1中的数据块202进行加密的方式。

***结构的说明***

如图25所示,分组发送装置200在实施方式1(参照图3)中说明的功能的基础上,具有加密部281。

加密部281通过对第X数据块202-X进行加密,生成第X加密块208-X。第X加密块208-X是被加密的第X数据块202-X。

消息认证码生成部230不使用第X数据块202-X而使用第X加密块208-X生成第X消息认证码203-X。

分组生成部260生成不包含第X数据块202-X而包含第X加密块208-X的第X分组110-X。

如图26所示,分组接收装置300在实施方式1(参照图4)中说明的功能的基础上,具有解密部381。

解密部381对第1~第N数据块202进行解密。

***动作的说明***

根据图27对分组发送方法的处理流程进行说明。

S110、S120、S150与实施方式1(参照图7)相同。

在S121中,加密部281使用加密密钥对N个数据块202进行加密,由此生成N个加密块208。加密密钥是公共密钥101或其他密钥。

第1加密块处理(S130C)是在实施方式1的第1数据块处理(S130)中将数据块202置换成加密块208的处理。

第X加密块处理(S140C)是在实施方式1的第X数据块处理(S140)中将数据块202置换成加密块208的处理。

图28对应于实施方式1的图6。在图28中,不对图6中的数据块202而对加密块208进行处理。

根据图29对分组接收方法的处理流程进行说明。

S210与实施方式1(参照图12)相同。

第1加密块处理(S220C)是在实施方式1的第1数据块处理(S220)中将数据块202置换成加密块208的处理。

第X加密块处理(S230C)是在实施方式1的第X数据块处理(S230)中将数据块202置换成加密块208的处理。

第N数据块判定处理(S240C)是在实施方式1的第N数据块判定处理(S240)中将数据块202置换成加密块208的处理。

在S251中,解密部381使用解密密钥对第1~第N加密块208进行解密。解密密钥是公共密钥101或其他密钥。

S250与实施方式1相同。

图30对应于实施方式1的图11。在图30中,不对图11中的数据块202而对加密块208进行处理。

***效果的说明***

通过数据块202的加密,能够确保消息数据201的隐匿性。

实施方式4

根据图31~图34说明对实施方式2中的数据块202进行加密的方式。

***结构的说明***

如图31所示,分组发送装置200在实施方式2(参照图15)中说明的功能的基础上,具有加密部281。

加密部281通过对第X数据块202-X进行加密,生成第X加密块208-X。第X加密块208-X是被加密的第X数据块202-X。

编集数据生成部240不使用第X数据块202-X而使用第X加密块208-X生成第X编集数据204-X。

分组生成部260生成不包含第X数据块202-X而包含第X加密块208-X的第X分组110-X。

如图32所示,分组接收装置300在实施方式2(参照图16)中说明的功能的基础上,具有解密部381。

解密部381对第1~第N数据块202进行解密。

***动作的说明***

分组发送方法的处理流程与实施方式3(参照图27)相同。

但是,第1加密块处理(S130C)是在实施方式2的第1数据块处理(S130B)中将数据块202置换成加密块208的处理。

并且,第X加密块处理(S140C)是在实施方式2的第X数据块处理(S140B)中将数据块202置换成加密块208的处理。

图33对应于实施方式2的图17。在图33中,不对图17中的数据块202而对加密块208进行处理。

分组接收方法的处理流程与实施方式3(参照图29)相同。

但是,第1加密块处理(S220C)是在实施方式2的第1数据块处理(S220B)中将数据块202置换成加密块208的处理。

并且,第X加密块处理(S230C)是在实施方式2的第X数据块处理(S230B)中将数据块202置换成加密块208的处理。

图34对应于实施方式2的图21。在图34中,不对图21中的数据块202而对加密块208进行处理。

***效果的说明***

通过数据块202的加密,能够确保消息数据201的隐匿性。

各实施方式是优选方式的例示,并不意图限制本发明的技术范围。各实施方式可以部分地实施,也可以与其他实施方式组合实施。

使用流程图等说明的处理顺序是分组发送方法、分组发送程序、分组接收方法和分组接收程序的处理顺序的一例。

各实施方式也可以是以下方式。

分组发送装置200也可以是具有分组接收装置300的功能的分组通信装置。

也可以通过连结以外的编集来生成编集数据。

附加数据和比较数据也可以不是编集数据的消息认证码的一部分,而是编集数据的消息认证码的全部。进而,附加数据和比较数据只要是使用编集数据生成的数据即可,也可以是与编集数据的消息认证码的一部分和编集数据的消息认证码的全部不同的数据。

以下标记的标号对标注有连字符的标号进行总结。例如,数据块202是第1数据块202-1、第X数据块202-X和第N数据块202-N的总称。

标号说明

100:分组通信系统;109:网络;110:分组;111:头;120:第N+1分组;121:第N+1头;200:分组发送装置;201:消息数据;202:数据块;203:消息认证码;204:编集数据;205:附加数据;206:剩余消息认证码;207:编集MAC;208:加密块;210:消息数据取得部;220:数据分割部;230:消息认证码生成部;240:编集数据生成部;250:附加数据生成部;260:分组生成部;270:分组发送部;280:分组计数部;290:发送存储部;291:消息认证码存储部;300:分组接收装置;302:消息认证码;303:编集数据;304:比较数据;305:剩余比较数据;306:编集MAC;310:分组接收部;320:消息认证码生成部;330:编集数据生成部;340:比较数据生成部;350:数据块判定部;360:数据复原部;390:接收存储部;391:消息认证码存储部;901:处理器;902:辅助存储装置;903:存储器;904:通信装置;9041:接收机;9042:发送机;905:输入接口;906:显示器接口;907:输入装置;908:显示器;910:信号线;911:缆线;912:缆线。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号