CN102007726B - 节点装置以及程序 - Google Patents
节点装置以及程序 Download PDFInfo
- Publication number
- CN102007726B CN102007726B CN200980113336.6A CN200980113336A CN102007726B CN 102007726 B CN102007726 B CN 102007726B CN 200980113336 A CN200980113336 A CN 200980113336A CN 102007726 B CN102007726 B CN 102007726B
- Authority
- CN
- China
- Prior art keywords
- mentioned
- frame
- moment
- node apparatus
- access key
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0891—Revocation or update of secret information, e.g. encryption key update or rekeying
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/12—Transmitting and receiving encryption devices synchronised or initially set up in a particular manner
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/80—Wireless
- H04L2209/805—Lightweight hardware, e.g. radio-frequency identification [RFID] or sensor
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
- Small-Scale Networks (AREA)
Abstract
在由多个节点装置构成的网络中的第1节点装置中,访问密钥生成部每隔第1时间变更第1节点装置所固有的加密密钥、即第1访问密钥。公用密钥生成部每隔第2时间变更在多个节点装置中公用的公用密钥。第1节点装置使用所生成的公用密钥对所生成的第1访问密钥进行加密并发送,并且接收由第2节点装置发送来的、包含使用公用密钥对第2节点装置的第2访问密钥进行加密得到的数据的访问密钥通知帧。解密部通过使用所生成的公用密钥对接收到的访问密钥通知帧进行解密来取得第2访问密钥。发送部发送使用第2访问密钥对明文帧进行加密得到的加密帧,该明文帧附加有使用公用密钥对包含根据明文帧计算出的散列值的数据进行加密得到的署名数据。
Description
技术领域
本发明涉及自律分散型网络中的用于安全维护的装置以及程序。
背景技术
作为安全性对策的一种,一直在对发送数据进行加密。作为加密的方法,例如有公用密钥方式(也叫做对称密钥加密方式)。另外,为了进一步巩固安全性,还有如下面的公知例那样每隔一定时间就使公用密钥变化的技术。
另外,也有WEP(Wired Equivalent Privacy,有线等效保密)和WPA(Wi-Fi Protected Access,Wi-Fi保护访问)等的安全方式。
根据这些技术,一般是通过在服务器中发出控制命令来进行认证处理。
另外,也公开了一种技术,在通信系统中,保持客户端侧的密码不变而只变更服务器的控制变量,由此来变更共有的加密密钥。由此,能够以较短的时间间隔使共有的公用密钥变化从而提高了密码系统的安全性。
专利文献1:日本特开平9-321748号公报
与有线还是无线无关,在考虑包含非常多的节点装置的网络的情况下,1个管理服务器生成公用密钥(也就是说根据时间变更)并向各节点装置通知并不实用。即,由于节点装置的数量较多,所以即使只是从服务器发送控制指令也会造成大量负荷。因此,希望各节点装置与其他节点装置协同动作自主地进行用于加密的动作。
发明内容
本发明的目的在于,提供一种与其他节点装置协同动作自主地进行用于加密的动作的节点装置,以及命令节点装置与其他节点装置协同动 作自主地进行用于加密的动作的程序。
第1方式的节点装置是由包含第1节点装置和第2节点装置的多个节点装置构成的网络中的上述第1节点装置,具有访问密钥生成部、公用密钥生成部、访问密钥通知部、访问密钥接收部、访问密钥解密部、数据发送部、数据接收部、数据解密部以及一致性确认部。
上述访问密钥生成部每隔第1时间变更生成作为上述第1节点装置中固有的加密密钥的第1访问密钥。另外,上述公用密钥生成部每隔在上述多个节点装置中是共同的时间的第2时间变更生成在上述网络内的上述多个节点装置中公用的公用密钥。
上述访问密钥通知部使用所生成的上述公用密钥对生成的上述第1访问密钥进行加密并向上述第2节点装置发送。上述访问密钥接收部接收从上述第2节点装置发送来的包含访问密钥通知数据的访问密钥通知帧,该访问密钥通知数据是使用上述公用密钥对作为上述第2节点装置所固有的加密密钥的第2访问密钥进行加密而得到的数据。
上述访问密钥解密部使用所生成的上述公用密钥对上述访问密钥通知数据解密,由此从上述访问密钥通知数据中取得上述第2访问密钥。
上述数据发送部向第1明文帧附加使用上述公用密钥对包含根据该第1明文帧计算出的第1散列(hash)值的数据进行加密得到的第1署名数据。并且,上述数据发送部使用解密得到的上述第2访问密钥对附加有上述第1署名数据的上述第1明文帧进行加密并作为第1加密帧发送。
上述数据接收部从上述第2节点装置接收第2加密帧。这里,上述第2加密帧,是利用上述第1访问密钥对第2明文帧进行加密得到的,该第2明文帧附加有使用上述公用密钥对包含第2散列值的数据进行加密得到的第2署名数据。
上述数据解密部使用上述第1访问密钥对上述第2加密帧进行解密,从而从上述第2加密帧中得到附加有上述第2署名数据的上述第2明文帧。
上述一致性确认部通过使用所生成的上述公用密钥对上述第2署名数据解密来取得上述第2散列值。并且,上述一致性确认部根据上述第 2明文帧计算第3散列值,并确认是否取得了上述第2散列值和上述第3散列值之间的一致性。
第2方式的程序是由控制由包含第1节点装置和第2节点装置的多个节点装置构成的网络中的上述第1节点装置的计算机执行的程序。上述程序是使上述计算机控制第2方式的上述第1节点装置以使得第2方式的上述第1节点装置与第1方式的上述第1节点装置同样地进行动作的程序。
在上述任何一个方式中,网络中的第1节点装置能够自主地并且与第2节点装置等其他节点装置协同动作来进行为了加密通信的动作。所以,上述任何一个方式,都能够提高包含多个节点装置的网络中的通信的安全性。
附图说明
图1是自组织(ad hoc)通信系统的整体概念图。
图2是表示包含多个节点装置的传感器网络的例子的网络构成图。
图3是实施方式涉及的节点装置的构成图。
图4是实施方式涉及的节点装置的硬件构成图。
图5是更加详细表示本实施方式涉及的节点装置的构成的图。
图6是对基于实施方式涉及的节点装置的认证方法进行说明的图。
图7是表示了在2个节点装置之间互相认证对方的节点装置并进行通信的处理的顺序图。
图8是表示数据帧的格式的图。
图9是公用密钥更新处理的流程图。
图10是访问密钥更新处理的流程图。
图11是问候帧发送处理的流程图。
图12是说明问候帧的格式和进行的与问候帧有关的各种处理的图。
图13是问候帧接收处理的流程图。
图14是数据帧发送处理的流程图。
图15是说明数据帧的格式和进行的与数据帧有关的各种处理的第1例的图。
图16是数据帧接收处理的流程图。
图17是说明数据帧的格式和进行的与数据帧有关的各种处理的第2例的图。
图18是说明时刻同步方法的图。
图19是说明时刻同步方法的顺序图。
图20是时刻同步帧发送处理的流程图。
图21是时刻同步帧接收处理的流程图。
具体实施方式
下面,参照附图对本发明的实施方式进行详细说明。图1是自组织通信系统的整体概略图。如图1所示那样,节点装置(a、b、...、s、t)相互连接构成网。在自组织通信系统中,各节点装置作为中继器工作,将信息从开始节点(图1的例中的节点装置b)传递到目标节点(图1的例中的节点装置t)。
各节点装置各自保有固有的识别信息(ID、Identification)、即节点ID。也可以将MAC(Media Access Control)地址作为节点ID利用。
各节点装置不把握相互邻接的节点装置和网络整体。在初始状态时,相互的链接不存在,各节点装置不把握自身以外的节点装置。
所以,在图1所示的自组织通信系统中,为了将信息从作为开始节点的节点装置b传递到作为目标节点的节点装置t,首先需要决定路径。决定路径的顺序如下面所述。
首先,各节点装置检测周围的节点装置。为此各节点装置周期性地向邻近存在的节点装置通知自身的存在。在针对邻近节点装置的通知中附带有与路径生成有关的信息。各节点装置若从其他的节点装置接收到了通知,则能够生成关于周围的节点装置的列表,并把握自身节点装置的周围存在的其他节点装置。
检测出周围的节点装置的节点装置根据所生成的列表决定自身节点装置要转送信息的节点装置,并向该决定的节点装置转送信息。
各节点装置,由于安全对策的原因,将帧加密后与对方的节点装置通信。具体来讲,各节点装置使用通信对方的节点装置所固有的加密密钥和网络中的节点装置之间公用的公用密钥进行加密,并将信息发送至通信对方的节点装置。另外,各节点装置若从通信对方的节点装置接收到了信息,则使用自身节点装置所固有的加密密钥和上述的公用密钥对帧进行解密来取出信息。
后面同样,在节点装置间的通信中,各节点装置使用解密得到的加密密钥将数据发送至通信对方的节点装置。另外,各节点装置根据接收到的数据是利用自身节点装置生成的加密密钥被加密了的情况判断通信对方的节点装置是合法的。
下面,具体说明基于本实施方式涉及的节点装置的认证处理以及通信的方法。
本实施方式的节点装置能够应用于如图1那样的任意的自组织通信系统中,也可以应用于例如如图2那样的通过自组织网络实现的传感器网络中。
图2是表示包含多个节点装置的传感器网络的例子的网络构成图。
在图2的传感器网络中,多个节点装置1A~1I以及网关装置GW构成了自组织网络。另外,网关装置GW例如通过电缆与服务器SV连接。当然,网关装置GW和服务器SV之间的连接也可以是经由网络的连接,也可以是基于无线的连接。
在图2中,多个节点装置1A~1I各自或者与未图示的1个以上的传 感器连接,或者内置有未图示的1个以上的传感器。后面为了使说明简单,设各节点装置1A~1I各自与1个传感器连接。传感器例如也可以是感知温度、压力、加速度等的传感器。另外,也可以使用不同种类的多个传感器。
各节点装置1A~1I从与自身节点装置连接的传感器取得表示传感器感知的结果的数据(后面称为“传感器数据”)。并且,各节点装置1A~1I生成包含所取得的传感器数据的加密帧(后面称为“传感器数据帧”),通过自组织网络向网关装置GW发送传感器数据帧。
例如,各传感器也可以在1分钟内向节点装置输出一次传感器数据。所以,在如上所述那样节点装置1A~1I分别与1个传感器连接的情况下,各节点装置1A~1I在1分钟内发送1次传感器数据帧。
网关装置GW和各节点装置1A~1I一样具备后面说明的图3的各部,能够和节点装置1A~1I协同动作自主地构成自组织网络。也就是说,在节点装置1A~1I和网关装置GW之间,公用密钥是公用的,后面说明的时刻同步用的固定密钥也是公用的。
网关装置GW将由各节点装置1A~1I发送来的传感器数据帧中包含的传感器数据发送至服务器SV。例如,网关装置GW也可以如下面那样动作。
网关装置GW对接收到的传感器数据帧进行解密并提取传感器数据。并且,网关装置GW向服务器SV发送包含提取出的传感器数据的数据。
或者,网关装置GW也可以进一步从接收到的传感器数据帧中提取传感器数据帧的发送源的节点装置(1A~1I中的任意一个)的识别信息。并且,网关装置GW也可以生成将对包含传感器数据和识别信息的数据进行加密而得到的数据包含在净荷中的加密帧并向服务器SV发送。
服务器SV能够使用收集到的传感器数据进行基于传感器感知的物理量的任意的各种处理。例如,在各传感器是温度传感器的情况下,服务器SV也可以进行分析温度分布和温度变化的处理,还可以进行温度预测处理。
如果将后面详细说明的本实施方式的节点装置1作为图2的节点装置1A~1I利用,则服务器SV能够在将传感器数据保持秘密状态的同时对其进行收集,并且能够收集未经篡改的正确的传感器数据。
图3是本实施方式涉及的节点装置的构成图。图3所示的节点装置1具有访问密钥生成部2、公用密钥生成部3、加密部4、解密部5、帧处理部6、发送部7、接收部8以及时刻同步部9。例如,图2的节点装置1A~1I各自具有图3那样的构成。
访问密钥生成部2生成节点装置1所固有的加密密钥(后面称为“访问密钥”)。使用公知的WEP和WPA等技术生成访问密钥。作为对称密钥加密方式中的加密密钥生成访问密钥并使用。
另外,每隔规定的时间间隔t1随机更新访问密钥。在本实施方式中,例如t1=10(分钟)。
另外,访问密钥通过RC4(Rivest’s Cipher 4)被加密并发送至其他的节点装置,在本实施方式中,访问密钥的长度是128位。由于RC4是流加密的1种,所以通过RC4加密的密文(ciphertext)的长度等于原先的明文(plaintext)的长度。
但是,一般来说,密钥的长度是64位的RC4的解读需要收集50万帧,密钥的长度是128位的解读需要收集100万帧。对此,如上所述,在本实施方式中,访问密钥每隔t1=10分钟随机地变化。
例如,如与图2相关的示例那样,若设通常每分钟发送1帧,则10分钟内发送10帧。并且,例如,在图2的例子中,作为传感器数据帧的最终发送目的地的网关装置GW在自组织网络内接收最多的帧。但是,即使是网关装置GW,例如从总数500台的节点装置接收数据的情况下的帧数是每分钟大约500帧。即,在访问密钥被更新之前的10分钟内,非法节点装置收集解读所需要的帧,可以说事实上是不可能的。
公用密钥生成部3通过节点装置1内具备的防篡改装置(例如后面说明的图4的防篡改PIC微机14)等生成在图1的网络内的节点装置中公用的加密密钥、即公用密钥。公用密钥每隔规定的时间间隔t2被更新。在本实施方式中,例如t2=12(小时)。
在各节点装置中保有的时刻信息在网络内被同步。因此,公用密钥虽然根据时间变化,但是在某个时刻,在网络内的节点装置中是共同的。
加密部4对向其他节点装置发送的帧中包含的数据进行加密,解密部5对由其他节点装置加密并发送的帧中包含的数据进行解密。
发送部7向其他节点装置发送包含在图3所示的节点装置1中生成的加密数据的加密帧,接收部8接收其他节点装置发送的加密帧。
帧处理部6执行对接收到的帧的处理。例如,帧处理部6也可以从接收到的帧的规定的字段取出信息,进行“是否是已经接收过的帧”的判断作为上述“对接收到的帧的处理”。或者,帧处理部6也可以从接收到的帧的规定的字段取出信息,进行“是否是由合法的节点装置发送的帧”的判断等作为上述“对接收到的帧的处理”。
帧处理部6还进行生成要发送的帧的处理。时刻同步部9执行用于使图3所示的节点装置1中保持的时刻与网络内的其他节点装置的时刻同步的处理。与图18~图21一起详细说明时刻同步部9的动作。
图3所示的节点装置1在开始与网络内的其他节点装置通信之前,在与对方的节点装置之间交换使用公用密钥加密后的访问密钥。利用公用密钥加密的访问密钥被保存在例如被称为“问候帧(hello frame)”的规定形式的帧的规定字段中,并被向对方的节点装置发送。
另外,下面为了方便说明,有时将节点装置1自身生成的访问密钥称为“内部来源(internally-originated)访问密钥”,将从其他的节点装置接受的访问密钥称为“外部来源(externally-originated)访问密钥”。
图3的节点装置1使用自身节点装置1中保有的公用密钥对从通信对方的节点装置(具有与图3的节点装置1相同的构成的未图示的第2节点装置)接收的被加密后的访问密钥进行解密。并且,图3的节点装置1在之后与该未图示的第2节点装置进行通信时,使用通过解密得到的访问密钥(即外部来源访问密钥)对发往未图示的第2节点装置的帧进行加密。
如上所述,公用密钥以及访问密钥分别以规定的时间间隔t2以及t1 被更新。因此,即使第三者非法取得了某个时间点上的公用密钥或者访问密钥,也无法进行冒充等的非法访问。
接着,参照图4对实现图3的构成的硬件的具体例进行说明。图4是本实施方式涉及的节点装置1的硬件构成图。
图3的节点装置1具备MPU(MicroProcessing Unit)11、有线PHY(PHYsical layer)处理部12、定时器IC(Integrated Circuit)13、防篡改PIC(Peripheral Interface Controller)微机(microcomputer)14。节点装置1还具备DRAM(Dynamic Random Access Memory)15、闪存16和无线LAN(Local Area Network)处理部17。
MPU11和有线PHY处理部12之间的连接接口例如是MII(Media Independent Interface)/MDIO(Management Data Input/Output)18(另外,“MII/MDIO”是指“MII或者MDIO”)。MII和MDIO都是物理层和MAC子层(Media Access Control sublayer)之间的接口。
另外,定时器IC13和防篡改PIC微机14通过I2C(Inter-Integrated Circuit)/PIO(Parallel Input/Output)总线19与MPU11连接(另外“I2C/PIO总线”是指“I2C总线或者PIO总线”)。
DRAM15、闪存16和无线LAN处理部17通过PCI(Peripheral Component Interconnect)总线20与MPU11连接。
MPU11通过将作为非易失性存储装置的1种的闪存16上保存的固件等的各种程序加载到DRAM15上并执行来执行各种各样的处理。MPU11例如执行防篡改PIC微机14的驱动和用于使节点装置1执行后面说明的各种处理的固件程序等的各种各样的程序。
另外,DRAM15中也可以保存加密密钥等各种数据。另外,DRAM15也可以作为帧的发送缓冲以及接收缓冲使用。闪存16如上所述保存固件程序等。另外,闪存16中也可以保存节点装置1自身所固有的信息(例如,节点ID和MAC地址)。
有线PHY处理部12是进行有线连接时的物理层的处理的电路。另外,无线LAN处理部17是进行无线LAN连接时的物理层的处理的硬 件。无线LAN处理部17例如包含天线、ADC(Analog-to-Digital Converter)、DAC(Digital-to-Analog Converter)、调制器和解调器等,进行物理层和MAC子层的处理。所以,在本实施方式中,节点装置1能够进行有线通信和无线通信两者。但是,节点装置1也能够是只进行有线通信或者无线通信的其中一者的实施方式。
定时器IC13是直到经过所设定的时间为止进行计时动作,若经过了所设定的时间则输出中断信号的电路。
防篡改PIC微机14是内部具有生成公用密钥的规定的算法的微机。由于防篡改PIC微机14是防篡改的,所以从外部无法分析生成公用密钥的规定的算法具体是什么样的算法。
接着,参照图5对参照图3和图4说明过的节点装置1的构成进行更加详细的说明。图5是更加详细表示本实施方式涉及的节点装置1的构成的图。
在图5中,表示了和图3同样的访问密钥生成部2、公用密钥生成部3、加密部4、解密部5、帧处理部6、发送部7、接收部8以及时刻同步部9。
如图5所示那样,接收部8具备对节点装置1接收到的帧根据帧的种类进行分类的帧分支处理部21和对应不同帧种类的接收缓冲。例如通过图4的DRAM15实现接收缓冲。
在本实施方式中,具体来说,对应问候帧、时刻同步帧以及数据帧这3种种类,接收部8具备问候帧接收缓冲22、时刻同步帧接收缓冲23和数据帧接收缓冲24。
例如通过图4的无线LAN处理部17和MPU11或者通过有线PHY处理部12和MPU11来实现帧分支处理部21。如与图12、图15以及图17一起在后面说明的那样,由于帧头包含表示帧的种类的“帧类型”字段,所以帧分支处理部21能够根据帧类型字段的值来识别接收到的帧的种类从而对接收到的帧进行分类。
另外,解密部5对应3种帧的种类具备问候帧解密部25、时刻同步 帧解密部26和数据帧解密部27。在本实施方式中通过MPU11实现解密部5,但是也可以通过专用的硬件电路来实现。
问候帧解密部25对问候帧接收缓冲22中保存的问候帧进行解密,提取图4中未图示的其他的节点装置的访问密钥并输出。时刻同步帧解密部26对时刻同步帧接收缓冲23中保存的时刻同步帧进行解密,将解密得到的信息发送至时刻同步部9。数据帧解密部27对数据帧接收缓冲24中保存的数据帧进行解密。
并且,节点装置1具备图5所示的、保存其他节点装置用的访问密钥(即外部来源访问密钥)的访问密钥保存部28。访问密钥保存部28中保存有由问候帧解密部25解密后的明文中包含的外部来源访问密钥。更具体来讲,访问密钥保存部28将分别与多个节点装置对应的外部来源访问密钥与识别多个节点装置的信息(例如节点ID或者MAC地址等)建立对应关系并保存。
另外,例如通过图4的DRAM15来实现访问密钥保存部28。另外,也可以将至少一部分通过MPU11内的高速缓存来实现。
另外,节点装置1包含确认解密后的数据帧的正确性的确认部29。确认部29的详细动作和图16一起在后面说明,例如通过MPU11来实现确认部29。另外,在本实施方式中,确认部29也进行解密后的访问密钥的正确性的确认。
另外,帧处理部6包含接收数据帧处理部30,进行使用了由确认部29确认为″正确(即没有被篡改)″的数据帧的处理。例如,接收数据帧处理部30可以进行判别是再次接收了和已经接收的数据帧相同的数据帧还是接收了新的数据帧的处理。也可以通过MPU11来实现接收数据帧处理部30。
另外,在上述的数据帧解密部27的解密中,使用了节点装置1自身的访问密钥。因此,节点装置1还具备保存自身节点装置1用的访问密钥(即内部来源访问密钥)的访问密钥保存部31。例如也可以通过DRAM15来实现访问密钥保存部31,还可以通过MPU11内的高速缓存来实现。
另一方面,在上述的问候帧解密部25的解密中,使用了网络内的多个节点装置中公用的公用密钥。因此,节点装置1还具备保存公用密钥的公用密钥保存部32。例如也可以通过DRAM15来实现公用密钥保存部32,还可以通过MPU11内的高速缓存来实现。
另外,如关于图3所说明的那样通过公用密钥生成部3生成公用密钥保存部32中保存的公用密钥。即,根据本实施方式,在多个节点装置的各自的公用密钥生成部3中,按照相同的算法生成根据时刻唯一决定的公用密钥,以使得在多个节点装置之间不需交换公用密钥。
另外,为了防止公用密钥的泄露,通过图4的防篡改PIC微机14来实现本实施方式的公用密钥生成部3。即,公用密钥生成部3是防篡改的。
另外,公用密钥生成部3为了生成公用密钥利用时刻信息。具体来讲,节点装置1具备时钟33,公用密钥生成部3参照时钟33得到时刻信息。
另外,在后面会和图10一起详细说明,节点装置1还具备通过图4的定时器IC13实现的计数器34。计数器34反复进行递增计数动作,若计数器34的值达到了预先设定的值,则访问密钥生成部2生成访问密钥,计数器34被清零。
另外,在上述的时刻同步帧解密部26的解密中,使用在网络内的多个节点装置中公用的、也不随时间变动的、固定的时刻同步密钥。因此,节点装置1还具备保存时刻同步密钥的时刻同步密钥保存部35。
时刻同步密钥,例如可以作为常数预先写入MPU11执行的固件程序中,通过将固件加载到DRAM15中来保存储DRAM15中。例如能够通过闪存16、DRAM15或者MPU11内的高速缓存来实现时刻同步密钥保存部35。
但是,帧处理部6不止是处理接收到的数据帧的上述的接收数据帧处理部30,还具备生成问候帧的问候帧生成部36。问候帧生成部36从访问密钥保存部31中读取节点装置1自身的访问密钥,生成问候帧的原来的明文帧并输出。例如通过MPU11来实现问候帧生成部36。
问候帧生成部36输出的明文帧被输入到加密部4进行加密。另外,加密部4具备问候帧加密部37、时刻同步帧加密部38以及数据帧加密部39,例如也通过MPU11来实现加密部4内的这些各部。
问候帧加密部37使用公用密钥保存部32中保存的公用密钥对问候帧的原来的明文帧进行加密。另外,时刻同步帧加密部38使用时刻同步密钥保存部35中保存的时刻同步密钥对时刻同步帧的原来的明文帧进行加密。并且,数据帧加密部39使用访问密钥保存部28中保存的访问密钥中的作为数据帧的发送目的地的节点装置用的访问密钥对数据帧的原来的明文帧进行加密。
另外,如后面与图20一起详细说明的那样,从时刻同步部9向时刻同步帧加密部38输出时刻同步帧的原来的明文帧。
另外,帧处理部6还具备生成数据帧的原来的明文帧并向数据帧加密部39输出的数据帧生成部40
在加密部4中被加密的各种帧被输出至发送部7并从节点装置1发送。具体来讲,发送部7除了具备例如通过图4的DRAM15实现的3个缓冲(即问候帧发送缓冲41、时刻同步帧发送缓冲42和数据帧发送缓冲43),还具备发送处理部44。例如可以通过有线PHY处理部12和MPU11来实现发送处理部44,也可以通过无线LAN处理部17和MPU11来实现。
问候帧发送缓冲41从问候帧加密部37接受被加密的问候帧并保存,并向发送处理部44输出。时刻同步帧发送缓冲42从时刻同步帧加密部38接受被加密的时刻同步帧并保存,并向发送处理部44输出。数据帧发送缓冲43从数据帧加密部39接受被加密的数据帧并保存,并向发送处理部44输出。并且,发送处理部44发送接受到的帧。
另外,如图5所示那样,节点装置1例如还具备通过DRAM15实现的最新发送时刻保存部45,因为在后面会与图16一起说明最新发送时刻保存部45,所以这里省略其说明。
上面参照图3~图5对节点装置1的构成进行了说明,因此接着参照图6~图21对节点装置1的动作进行说明。
图6是说明基于本实施方式涉及的节点装置1的认证方法的图。
如图6所示那样,当在节点装置1A的周边存在节点装置1B以及节点装置1C的情况下,节点装置1A将生成的访问密钥a1分别与节点装置1B以及节点装置1C的访问密钥b1以及c1交换。并且,节点装置1A利用访问密钥b1对数据帧加密并向节点装置1B发送,利用访问密钥c1对数据帧加密并向节点装置1C发送。
在图6的例子中,对于节点装置1A,访问密钥a1是内部来源访问密钥、访问密钥b1以及c1是外部来源访问密钥。另一方面,对于节点装置1B,访问密钥a1是外部来源访问密钥,访问密钥b1是内部来源访问密钥。
节点装置1A对于节点装置1B和节点装置1C使用分别不同的访问密钥(b1以及c1)。另外,例如,在与节点装置1B的通信中,节点装置1A在数据发送时使用访问密钥b1而在数据接收时使用访问密钥a1。这样,节点装置1A在数据发送时和数据接收时分别使用不同的访问密钥进行通信。换言之,内部来源访问密钥是解密用的密钥,外部来源访问密钥是加密用的密钥。
这样,构成自组织通信网络的节点装置各自通过上述的方法与邻接的节点装置交换访问密钥,使用从通信对方的节点装置接收的访问密钥对帧加密并发送。另外,与此同时,对从通信对方接收到的帧,使用在自身节点装置中被定期更新的访问密钥进行解密。由此,确保了安全性。
如上所述,在本实施方式中,网络内的各节点装置在与邻接的节点装置进行通信时,生成用于使通信对方的节点装置访问自身节点装置的访问密钥。并且,各节点装置使用网络中公用的公用密钥,对上述生成的访问密钥进行加密,并将加密后的访问密钥利用问候帧广播。各节点装置使用公用密钥对从邻接节点装置接收到的问候帧中包含的访问密钥进行解密,使用解密后得到的访问密钥访问邻接节点装置。下面,对2台节点装置之间执行的处理进行具体说明。
图7是表示了在2个节点装置之间互相对对方的节点装置进行认证并通信的处理的顺序图。这里,为了互相区别2台节点装置1,分别设 为“节点装置1A”以及“节点装置1B”。
首先,在步骤S1中,从节点装置1A向作为通信对方节点装置的节点装置1B发送由节点装置1A生成的访问密钥a1。访问密钥a1如上面所述的那样被利用节点装置1A和节点装置1B之间共同保有的公用密钥加密。节点装置1B使用在自身节点装置1B中使用防篡改装置生成的公用密钥进行解密处理,得到访问密钥a1。
接着,在步骤S2中,从节点装置1B向作为通信对方节点装置的节点装置1A发送由节点装置1B生成的访问密钥b1。访问密钥b1也被利用节点装置1A和节点装置1B之间公用的公用密钥加密。节点装置1A使用在自身节点装置1A中使用防篡改装置生成的公用密钥进行解密处理,得到访问密钥b1。
在步骤S1以及步骤S2的处理中,在一方的节点装置是企图非法访问的第三者的情况下,和通信对方节点装置之间没有公用的公用密钥,无法解密并取得通信对方节点装置的访问密钥。利用此,当在2台的节点装置1A和1B之间进行了访问密钥的交换的情况下,能够判断通信对方的节点装置1A以及1B合法。也就是说,当在节点装置1A和1B之间进行了访问密钥的交换的情况下,节点装置1A能够判断节点装置1B合法,节点装置1B能够判断节点装置1A合法。
在本实施方式中,设根据与通信对方节点装置之间的访问密钥的交换的成功与否来进行通信对方节点装置的认证,在认证成功的情况下,开始步骤S3之后的通信。
另外,在每次访问密钥被更新时执行步骤S1以及步骤S2的认证处理。
在步骤S3中,从节点装置1A向节点装置1B发送包含数据的帧。发送的帧被利用在步骤S2中节点装置1A取得的访问密钥b1加密。例如,如关于图2所说明的那样,作为包含传感器数据的加密帧的传感器数据帧在步骤S3中被发送。
另外,在帧中进行了署名。关于署名会在后面说明。接收到帧的节点装置1B使用在自身节点装置1B中生成的访问密钥b1对接收到的帧 进行解密,得到数据。
在步骤S4中,从节点装置1B向节点装置1A发送包含数据的帧。发送的帧被利用在步骤S1中节点装置1B取得的访问密钥a1加密并被署名。在接收到帧的节点装置1A中,使用在自身节点装置1A中生成的访问密钥a1对接收到的帧进行解密,得到数据。
如图7所示那样,本实施方式涉及的节点装置1(1A以及1B)使用和通信对方的节点装置(1B以及1A)公用的公用密钥,对各节点装置(1A以及1B)中生成的访问密钥(a1以及b1)进行加密并交换。在通信对方的节点装置(1B以及1A)合法的情况下,通信对方的节点装置(1B以及1A)保有和自身节点装置(1A以及1B)公用的公用密钥。
因此,各节点装置(1A以及1B)能够使用自身节点装置(1A以及1B)中保有的公用密钥对从通信对方的节点装置(1B以及1A)接收到的访问密钥(b1以及a1)进行解密。由于在企图非法访问的第三者中没有保有上述公用密钥,所以各节点装置(1A以及1B)能够根据是否能够对接收到的访问密钥(b1以及a1)解密来判断通信对方的节点装置(1B以及1A)是合法的还是非法的。各节点装置1定期与通信对方的节点装置交换访问密钥,继续与被判断为是合法的节点装置进行通信。
另外,在接收数据时,使用在自身节点装置中生成的访问密钥进行解密处理,并取出数据。例如,在步骤S3中,接收侧的节点装置1B使用自身节点装置1B生成的访问密钥b1进行解密处理。
在发送数据时,使用在认证处理中从通信对方节点装置接收的、在通信对方节点装置中生成的访问密钥进行加密,并发送数据。例如,在步骤S3中,发送侧的节点装置1A使用在步骤S2中从通信对方节点装置1B接收到的访问密钥b1进行加密处理。
图8是表示数据帧的格式的图。后面会和图15以及图17一起对格式进行更加详细的说明。另外,问候帧的格式的例子会在后面与图12一起说明。
如图8所示那样,数据帧由帧头、帧的识别信息(FID)、时刻信息以及帧体构成,在数据帧中追加有署名。
在帧头中,保存有帧的发送目的地信息等。在FID中,保存有由发送源的节点装置1附加的用于识别数据帧的顺序编号等。在时刻信息中保存有表示图8所示的帧被构成的时刻的信息。具体来讲,保存有表示将图8的数据帧向邻接节点装置转送的时刻的信息。在帧体中,保存有数据主体。
在署名中,保存有帧(准确来说是明文帧)自身的散列代码被利用公用密钥加密后的值。利用署名来证明图8所示的帧是在保有相同的公用密钥的节点装置中生成的。
图8所示的数据帧被利用通信对方的节点装置的访问密钥(也就是说是外部来源访问密钥)加密并被发送。
本实施方式涉及的节点装置1若从通信对方的节点装置接收到加密帧,则使用自身节点装置生成的访问密钥进行解密得到明文帧。节点装置1还从明文帧中取出作为署名被附加的加密后的散列值,并且使用公用密钥对取出的散列值(被加密的散列值)进行解密。并且,比较使用公用密钥解密得到的值和根据明文帧计算出的散列值,在相互一致的情况下,节点装置1判定为“接收了在保有与自身节点装置相同的公用密钥的节点装置中生成的帧”。
另外,本实施方式涉及的节点装置1预先存储从对方接收到的数据帧的FID和时刻信息的组合,将存储的FID以及时刻信息与接收到的数据帧的FID以及时刻信息进行比较。例如,在被认证为合法的2台节点装置之间进行通信时,有时会发生非法的节点装置捕获以及复制数据帧并发送来的情况。在这种情况下,数据帧中包含的FID以及时刻信息与过去从合法的节点装置接收到的FID以及时刻信息一致。这样,在接受到的数据帧的FID以及时刻信息与节点装置1自身存储的FID以及时刻信息一致的情况下,节点装置1判断为是来自非法的节点装置的访问,从而废弃接收到的数据帧。
另外,在从合法的节点装置再次发送了数据帧的情况下,虽然FID 与存储的FID一致,但是时刻信息是不同的。这样,对于“FID与存储的值一致而时间信刻不同”的数据帧,节点装置1判断为与已经接收的数据帧相同,从而也废弃该数据帧。
接着,对于上述参照图6~图8说明的一系列处理,参照图9~图16的流程图进行更详细的说明。
图9是公用密钥更新处理的流程图。在节点装置1的电源接入后开始公用密钥更新处理。
在步骤S101中,图4的控制节点装置1整体的MPU11参照图5的时钟33识别当前时刻,判断当前时刻是否是预先决定的更新时刻。另外,这里的“更新时刻”是作为进行公用密钥的更新的时刻而预先决定的时刻。例如,在t2=12(小时)的情况下,也可以决定为“更新时刻是每天1点和13点”。
如果当前时刻是更新时刻,则处理进入步骤S102。MPU11命令防篡改PIC微机14的驱动器(后面称为“防篡改装置驱动器”)开始用于生成公用密钥的处理。防篡改装置驱动器作为公用密钥生成部3的一部分工作。
即,MPU11向防篡改装置驱动器提供作为用于生成公用密钥的种子(seed)使用的数据(后面称为“种子数据”)作为参数。防篡改装置驱动器也是通过MPU11执行的程序的1种。
接着,在步骤S103中,防篡改装置驱动器向作为防篡改装置的防篡改PIC微机14输出接受到的种子数据,并命令防篡改PIC微机14使用该种子数据生成新的公用密钥。
并且,在步骤S104中,防篡改PIC微机14使用接受到的种子数据生成新的公用密钥,并向防篡改装置驱动器通知所生成的公用密钥。防篡改装置驱动器将生成的新的公用密钥保存在例如在DRAM15上实现的公用密钥保存部32中。
通过以上那样做,如果当前时刻是更新时刻,则更新公用密钥。另一方面,如果当前时刻不是更新时刻,则处理返回到步骤S101。另 外,也可以通过定时器中断来实现步骤S101的分支。
接着,参照图10对访问密钥的更新进行说明。如关于图7所说明的那样,访问密钥被定期更新。
图10是访问密钥更新处理的流程图。
在步骤S201中,节点装置1内部的定时器计数器(即通过图4的定时器IC13实现的图5的计数器34)进行递增计数操作。
并且,在步骤S202中,访问密钥生成部2参照计数器34的值判断规定的时间t1=10分钟是否已经经过。如果规定的时间t1=10分钟已经经过(即计数器34的值已经达到作为与t1=10分钟相对应的值而被预先设定的值),则处理进入步骤S203,如果规定的时间t1=10分钟还没有经过,则处理返回至步骤S201。
在步骤S203中,访问密钥生成部2按照规定的算法生成新的访问密钥从而覆盖更新访问密钥保存部31中存储的内部来源访问密钥。
另外,在步骤S204中,进行定时器计数器(也就是说图5的计数器34)的清零动作,之后处理返回至步骤S201。
另外,也可以利用当计数值达到与规定的时间t2相当的值时就被清零的未图示的第2计数器(也就是说图5的计数器34之外的计数器)来实现图9的公用密钥更新处理。或者反之,访问密钥生成部2也可以通过参照时钟33判断当前时刻是否符合访问密钥的更新时刻来实现图10的访问密钥更新处理。
但是,在包含多数的节点装置1的自组织通信系统中,优选地,作为自组织通信系统整体,流量在时间上分散。伴随着访问密钥的更新的问候帧的发送例如能够通过下面的(1)~(3)在自组织通信系统内从时间上被分散。
(1)在图2的各节点装置1A~1I被设定为,在电源接入后经过共同的规定时间以后开始图10的处理的情况下,对各节点装置1A~1I错开时刻接入电源。这样,由于基于各节点装置1A~1I的访问密钥的更新时刻也分散,所以随着访问密钥的更新而接着产生的问候帧的发送也从时 间上分散而发生。
(2)各节点装置1A~1I也可以被设定为,在电源接入后经过按每个节点装置1A~1I不同的随机的时间以后开始图10的处理。例如,也可以在各节点装置1A~1I各自的闪存16的规定的区域中预先写入上述随机的时间而设定。
(3)在各节点装置1A~1I中也可以被设定为,上述的规定的时间t1的长度不同。例如作为MPU11执行的固件程序中利用的定数来预先设定规定的时间t1。
若如上述那样通过图10的处理生成了访问密钥,则如关于图7的步骤S1和S2所说明的那样,问候帧被发送。所生成的新的访问密钥通过问候帧被通知给邻接的节点装置。
所以,下面参照图11~图13对问候帧的发送和接受进行详细说明。
图11是问候帧发送处理的流程图。另外,图12是说明问候帧的格式和进行的与问候帧有关的各种处理的图。
图11的处理是以访问密钥生成部2生成了访问密钥为契机开始的。例如,在图7的步骤S1中节点装置1A执行图11的处理,在步骤S2中节点装置1B执行图11的处理。例如,访问密钥生成部2向问候帧生成部36通知访问密钥的生成,由此问候帧生成部36开始图11的处理。
在步骤S301中,问候帧生成部36生成问候数据(即问候帧的净荷的原来的明文数据)和问候帧的帧头。具体来讲,问候数据包含访问密钥生成部2新生成的访问密钥的数据。
例如,问候帧是为了交换访问密钥而预先决定的规定的格式的帧即可,净荷中也可以包含访问密钥以外的各种各样的字段。但是,下面为了使说明简单,对于本实施方式的问候帧,以只在净荷中包含被加密的访问密钥的情况作为例子进行说明。
在这种情况下,在步骤S301中问候帧生成部36能够只是从访问密钥保存部31中作为问候数据读取内部来源访问密钥来准备问候数据。 即,在步骤S301中准备图12的明文访问密钥D1作为问候数据。
接着,在步骤S302中,问候帧生成部36计算问候数据的散列值,并将计算出的散列值作为署名附加在问候帧的原来的明文帧的末尾。具体来讲,问候帧生成部36根据图12的明文访问密钥D1计算明文散列值D2,并将连接了帧头、明文访问密钥D1和明文散列值D2而得到的明文帧输出至问候帧加密部37。另外,“明文散列值”的名称是为了表明其与加密后的散列值相比是加密前的原来的散列值的名称。
并且,在步骤S303中,问候帧加密部37参照公用密钥保存部32读取公用密钥,并使用公用密钥对在步骤S302中附加了署名后的明文帧(准确来讲是明文帧的净荷和帧尾)进行加密。
例如,在本实施方式中,作为加密算法采用作为流加密的1种的RC4。所以,在步骤S303中,问候帧加密部37根据公用密钥生成密钥流,求出由明文访问密钥D1和明文散列值D2组成的部分与密钥流的异或(XOR:eXclusive OR)。由此,在步骤S303中,生成被加密的净荷以及帧尾。
具体来讲,如图12所示那样,问候帧加密部37根据明文访问密钥D1生成加密访问密钥D3,根据明文散列值D2生成加密散列值D4。另外,在图12中,使用了公用密钥的加密或者解密的操作用黑色粗体箭头表示。
另外,在步骤S301中准备的帧头没有被加密而是保持明文(cleartext)的原样被使用。在本实施方式中,例如如图12所示那样,在步骤S301中准备包含本地收信地址D5、本地发信地址D6、帧类型D7以及帧大小D8的各字段的自组织帧头D9。
所以,在步骤S303中,问候帧加密部37将自组织帧头D9与作为净荷D10的加密访问密钥D3和作为帧尾D11的加密散列值D4连接,生成问候帧。并且,问候帧加密部37向问候帧发送缓冲41输出所生成的问候帧。
另外,在本实施方式中,为了向邻接的多个装置(其他的节点装置和网关装置GW)通知访问密钥,对问候帧进行广播。因此,具体来 讲,本地收信地址D5是广播地址,本地发信地址D6是节点装置1自身的MAC地址。
另外,帧类型D7被设定成表示问候帧的值。帧大小D8指定了加密访问密钥D3和加密散列值D4的长度的和(即明文访问密钥D1和明文散列值D2的长度的和)。
最后,在步骤S304中发送部7发送问候帧。即,作为步骤S303的结果暂时保存在问候帧发送缓冲41中的问候帧由发送处理部44在步骤S304中读取并发送。
图13是问候帧接收处理的流程图。例如,在图7的步骤S1中,由于图2的节点装置1A进行图11的处理,所以在与节点装置1A邻接的节点装置1B中进行图13的处理。
在节点装置1B中,若接收部8接收到了问候帧,则帧分支处理部21根据自组织帧头D9的帧类型D7判别“接收到的帧是问候帧”。并且,以该判别为契机开始图13的处理。另外,由帧分支处理部21判别为是问候帧的接收帧被暂时保存在问候帧接收缓冲22中。
在步骤S401中,解密部5的问候帧解密部25参照公用密钥保存部32读取公用密钥的数据。并且,问候帧解密部25使用公用密钥对保存在问候帧接收缓冲22中的问候帧(在本实施方式中准确来说是其净荷和帧尾)进行解密。
即,问候帧解密部25根据公用密钥生成密钥流,求出由净荷D10和帧尾D11组成的部分和密钥流之间的XOR。由此,问候帧解密部25根据加密访问密钥D3得到解密后的明文访问密钥D12,并且根据加密散列值D4得到解密后的明文散列值D13。并且,问候帧解密部25向确认部29输出由自组织帧头D9、解密后的明文访问密钥D12和解密后的明文散列值D13组成的明文帧。
由此,在步骤S402中,确认部29从由问候帧解密部25输入的明文帧中提取解密后的明文访问密钥D12。并且,确认部29计算解密后的明文访问密钥D12的散列值,得到图12的计算出的散列值D14。
并且,在步骤S403中,确认部29比较图12的解密后的明文散列值D13和计算出的散列值D14。
2个散列值如果相等,则确认部29判断为“OK”,处理转移至步骤S404。另一方面,2个散列值如果不同,则确认部29判断为“NG”,处理转移至步骤S405。
在步骤S404中,确认部29用解密后的明文访问密钥D12覆盖与本地发信地址D6建立有关联的访问密钥保存部28内的外部来源访问密钥。其结果,与问候帧的发送源的节点装置相对应的外部来源访问密钥被更新。并且结束图13的处理。
另一方面,在步骤S405中,成为开始图13的处理的契机的该问候帧被废弃,结束图13的处理。
上面参照图10~图13对与图7的步骤S1和S2相对应的处理进行了详细说明,因此接着参照图14~图16对与图7的步骤S3和S4相对应的处理进行详细说明。
图14是数据帧发送处理的流程图。在图7的步骤S3中节点装置1A进行图14的处理,在步骤S4中节点装置1B进行图14的处理。根据实施方式,例如,也可以以来自与节点装置1连接的传感器等的外部机器的输入作为契机开始数据帧发送处理。或者,节点装置1也可以按照预先决定的计划进行数据帧发送处理。
在本实施方式中,若下面的(1)~(3)的条件成立,则数据帧生成部40开始图14的处理。
(1)准备作为发送对象的数据(后面称为“对象数据”)。对象数据例如可以由与节点装置1连接的外部机器输入,也可以由数据帧生成部40生成。作为对象数据的例子,是对图2进行说明的传感器数据。
(2)决定最终的发送目的地(即自组织网络内的全局发送目的地)。也可以将最终的发送目的地如图2的例子那样固定地决定为网关装置GW,还可以由数据帧生成部40动态决定。
(3)根据全局发送目的地决定本地发送目的地(即邻接的其他节 点装置中的1个)。作为自组织通信系统的构成要素的节点装置1能够根据全局发送目的地决定本地发送目的地。
另外,如下面那样对上述的(3)进行补充。
如关于图1所说明的那样,作为自组织通信系统的构成要素的节点装置1能够生成关于在节点装置1自身的周围存在的其他节点装置的列表,并根据列表决定节点装置1要转送帧的节点装置。也就是说,在节点装置1中安装有根据全局发送目的地决定本地发送目的地并对帧进行路由的功能。
例如,图2的节点装置1B生成关于节点装置1B自身的周围存在的其他节点装置1A、1C以及1E的列表,管理“优选将最终的发送目的地是网关装置GW的帧向节点装置1C转送”之类的信息。也就是说,节点装置1B将全局发送目的地(例如网关装置GW)与表示和节点装置1B自身邻接的装置的本地发送目的地(例如节点装置1C)建立对应关系并管理,进行帧的路由。例如将全局发送目的地和本地发送目的地建立对应关系的信息存储在图4的DRAM15中。
另外,也可以对将全局发送目的地和本地发送目的地建立对应关系的信息进行加权。通过加权表示对于某个全局发送目的地(例如网关装置GW)将与节点装置1B自身邻接的多个装置(例如节点装置1A、1C以及1E)中的哪个优选作为转送目的地。例如,在图2的例子中,与网关装置GW与节点装置1A的组合的权数相比,网关装置GW与节点装置1C的组合的权数表示较高的优先级。即,通过加权表示了“对于最终的发送目的地是网关装置GW的帧,与向节点装置1A或者1E转送相比,优选向节点装置1C转送”之类的信息。
MPU11通过执行固件程序来管理上述的信息并判断是否需要转送接收到的帧。在需要转送的情况下,执行固件程序的MPU11参照DRAM15根据全局发送目的地决定本地发送目的地,并将所决定的本地发送目的地作为转送目的地来发送帧。
这里若返回图14的说明,则如上面所述那样,数据帧发送处理在上述(1)~(3)的条件成立时开始。
于是,在步骤S501中数据帧生成部40计算数据帧的净荷的原来的明文净荷的散列值。数据帧生成部40将计算出的散列值附加在明文净荷的末尾作为后面的明文帧尾的一部分。本实施方式在帧尾设有署名。
这里,如下面所述,参照图15对步骤S501进行更加详细的说明。
图15是说明数据帧的格式和进行的与数据帧有关的各种处理的第1例的图。图15是对采用一部分与图8不同的格式的情况进行的说明。关于采用与图8相同的格式的情况,在后面与图17一起说明。
在步骤S501中,数据帧生成部40发布新的FID作为图15的明文FID/D15。另外,数据帧生成部40在步骤S501中不仅准备关于上述的条件(1)所说明的对象数据,还适当地准备净荷中包含的其他数据。在步骤S501中准备的数据也可以是从DRAM15或者闪存16中读取的数据,还可以是由数据帧生成部40生成的数据,也可以是由外部机器输入的数据。
例如,数据帧生成部40将指定作为数据帧的最终的发送目的地的全局发送目的地的数据和条件(1)中准备的对象数据合并来生成明文帧体D16。
另外,在图14中没有明示,但是,数据帧生成部40在步骤S501中还生成自组织帧头D9。自组织帧头D9的形式和问候帧相同。
即,在数据帧中,自组织帧头D9也包含本地收信地址D5、本地发信地址D6、帧类型D7以及帧大小D8。但是,本地收信地址D5是如上述的条件(3)中所说明的那样决定的MAC地址。另外,将帧类型D7设定成表示数据帧的值。
这样,数据帧生成部40在步骤S501中生成由自组织帧头D9、明文FID/D15和明文帧体D16组成的明文净荷,并根据明文净荷计算图15的明文散列值D17。
另外,在步骤S502中,数据帧生成部40参照时钟33取得当前时刻信息,将取得的当前时刻信息作为图15的明文时刻D18连结在明文散列值D17的后面。明文散列值D17和明文时刻D18组成的部分是加 密署名的原来的明文署名。并且,数据帧生成部40向数据帧加密部39输出由自组织帧头D9、明文净荷以及明文署名组成的明文帧。
于是,在步骤S503中,数据帧加密部39参照公用密钥保存部32读取公用密钥,并使用公用密钥对明文署名加密来得到加密署名D21。
如上述那样,在本实施方式中采用了RC4作为加密算法。所以,在步骤S503中,数据帧加密部39具体来讲根据公用密钥生成密钥流,求出明文署名和密钥流之间的XOR。
其结果,根据明文散列值D17得到加密散列值D19,根据明文时刻D18得到加密时刻D20。换言之,根据明文署名整体得到由加密散列值D19和加密时刻D20组成的加密署名D21。
接着,在步骤S504中,数据帧加密部39使用由上述条件(3)决定的发送目的地的节点装置(即、在本地发送目的地地址D5中指定了MAC地址的节点装置)的访问密钥对明文帧进行加密。即、数据帧加密部39参照访问密钥保存部28读取发送目的地的节点装置的访问密钥,使用读取的访问密钥对明文净荷和加密署名D21进行加密。
即,数据帧加密部39进行密钥流的生成和XOR运算。其结果,数据帧加密部39分别地根据明文FID/D15生成加密FID/D22,根据明文帧体D16生成加密帧体D23。另外,数据帧加密部39根据加密散列值D19生成二重加密散列值D24,根据加密时刻D20生成二重加密时刻D25。也就是说,根据加密署名D21得到相当于帧尾的被二重加密的署名。
另外,在图15以及图17中,用黑色箭头表示基于公用密钥的加密以及解密,用斜线模样的箭头表示基于访问密钥的加密以及解密。
如上面那样,生成由加密FID/D22和加密帧体D23组成的净荷D26和由二重加密散列值D24和二重加密时刻D25组成的作为署名的帧尾D27。所以,在步骤S504中,数据帧加密部39将净荷D26和帧尾D27与自组织帧头D9连结生成数据帧,并向数据帧发送缓冲43输出。
最后,在步骤S505中,发送部7发送数据帧。即,由发送处理部 44在步骤S505中读取作为步骤S504的结果暂时保存在数据帧发送缓冲43中的数据帧并发送。
图16是数据帧接收处理的流程图。在图7的步骤S3中1B进行图16的处理,在步骤S4中节点装置1A进行图16的处理。
下面,为了方便说明,在图7的步骤S3中,对节点装置1B在接受部8中接收利用访问密钥b1加密的数据帧的情况进行说明。
若上述数据帧被节点装置1B接收了,则帧分支处理部21根据自组织帧头D9的帧类型D7判别为“接收到的帧是数据帧”。并且,以该判别为契机开始图16的处理。另外,由帧分支处理部21判别为是数据帧的接收帧被暂时保存在数据帧接收缓冲24中。
在步骤S601中,解密部5的数据帧解密部27使用自身节点装置1B的访问密钥对接收到的帧进行解密。即,数据帧解密部27参照访问密钥保存部31读取对节点装置1B自身来说作为内部来源的访问密钥的访问密钥b1的数据。并且,数据帧解密部27使用访问密钥b1对保存在数据帧接收缓冲24中的数据帧(在本实施方式中准确来讲是其净荷和帧尾)进行解密。
即,数据帧解密部27根据访问密钥b1生成密钥流,求出密文(也就是由图15的净荷D26和帧尾D27组成的部分)和密钥流之间的XOR。由此,数据帧解密部27根据加密FID/D22得到解密后的明文FID/D28,根据加密帧体D23得到解密后的明文帧体D29。另外,数据帧解密部27根据二重加密散列值D24得到解密后的密文散列值D30,根据二重加密时刻D25得到解密后的密文时刻D31。也就是说,数据帧解密部27根据二重加密署名得到加密署名。
接着,在步骤S602中,数据帧解密部27参照公用密钥保存部32读取公用密钥的数据,使用公用密钥对由解密后的密文散列值D30和解密后的密文时刻D31组成的加密署名进行解密。其结果,根据解密后的密文散列值D30得到解密后的明文散列值D33,根据解密后的密文时刻D31得到解密后的明文时刻D34。
所以,数据帧解密部27将自组织帧头D9、解密后的明文FID/ D28、解密后的明文帧体D29、解密后的明文散列值D33以及解密后的明文时刻34作为解密后的明文帧向确认部29输出。
在步骤S603中,确认部29从来自数据帧解密部27的输入中提取由解密后的明文FID/D28和解密后的明文帧体D29组成的部分(后面称为“解密后的明文净荷”)。并且,确认部29计算解密后的明文净荷的散列值,得到图15的计算出的散列值D32。
在步骤S603中,作为接受到的数据帧的认证判定处理,确认部29比较计算出的散列值D32和解密后的明文散列值D33。如果接受到的数据帧是没有被篡改过之类的正确的数据帧,则计算出的散列值D32和解密后的明文散列值D33一致。
所以,在计算出的散列值D32和解密后的明文散列值D33一致的情况下,确认部29判定为“OK”,处理转移至步骤S604。另一方面,在计算出的散列值D32和解密后的明文散列值D33不一致的情况下,确认部29判定为“NG”,处理转移至步骤S608。
在步骤S604中,确认部29提取解密后的明文时刻D34。由于步骤S604被执行是因为是在步骤S603中判断为“OK”的情况,所以解密后的明文时刻D34等于原来的明文时刻D18。另外,确认部29在步骤S604中也提取本地发信地址D6。
并且,在步骤S605中,确认部29进行时刻判定处理。时刻判定处理是为了防御冒充攻击的处理。另外,在本说明书中,将非法的第三者监听(即捕获)数据帧,并将监听到的数据帧复制或者变更其中一部分进行发送的情况称为冒充攻击。
具体来讲,确认部29参照图5的最新发送时刻保存部45进行时刻判定处理。如图16所示那样,最新发送时刻保存部45存储将本地发信地址和时刻建立对应关系的项。
例如,图16所示的第1项将本地发信地址A1和时刻T1建立了对应关系。另外,如上所述,图16的说明是将节点装置1B进行图16的处理的情况作为例子。所以,图16所示的第1项表示“根据节点装置1B从利用本地发信地址A1识别的节点装置接收到的最新的数据帧得到 的解密后的明文时刻D34是T1”。
节点装置1B的电源被接入的时间点、即初始状态下的最新发送时刻保存部45没有存储任何项,但是通过后面说明的步骤S606来向最新发送时刻保存部45追加项,或者更新已经存在的项。
在步骤S605中,确认部29将提取出的本地发信地址D6作为检索关键字对最新发送时刻保存部45进行检索。作为检索的结果,如果不存在“本地发信地址”字段与提取出的本地发信地址D6一致的项,则确认部29判断为“接收到的数据帧不是通过冒充攻击发送来的数据帧”。即,确认部29判断为“接收到的数据帧是合法的数据帧”,处理转移至步骤S606。
相反,作为检索的结果,在找到“本地发信地址”字段与提取出的本地发信地址D6一致的项的情况下,接收到的数据帧有可能是通过冒充攻击发送来的。所以,确认部29将找到到的项的“时刻”字段的值与在步骤S604中提取出的解密后的明文时刻D34进行比较。
在2个时刻一致的情况下,确认部29判断为“接收到的数据帧是基于冒充攻击的数据帧”,处理转移至步骤S608。相反,如果2个时刻不一致,则确认部29判断为“来自利用本地发信地址D6识别的节点装置的、与到目前为止节点装置1B接收到的数据帧不同的新的数据帧被合法发送”,处理转移至步骤S606。
在步骤S606中,确认部29更新利用本地发信地址D6识别的发送源节点装置的最新时刻信息。
即,在通过步骤S605的检索没有找到项的情况下,确认部29生成将本地发信地址D6和解密后的明文时刻D34建立对应关系的新的项并保存在最新发送时刻保存部45中。另外,在通过步骤S605的检索找到了项的情况下,确认部29用解密后的明文时刻D34覆盖找到的该项的“时刻”字段的值。
若通过上面所述更新了最新发送时刻保存部45保持的最新时刻信息,则确认部29向接收数据帧处理部30输出明文帧。
于是,在步骤S607中,接收数据帧处理部30使用来自确认部29的输入进行与实施方式相应的处理。
例如,在解密后的明文帧体D29中也可以指定对象数据的最终的发送目的地(也就是全局发送目的地)。并且,接收数据帧处理部30也可以根据全局的发送目的地判断是否需要转送数据帧,在要转送的情况下决定本地的发送目的地,并命令数据帧生成部40构造新的数据帧。
另外,接收数据帧处理部30也可以如关于图8所说明的那样,使用解密后的明文FID/D28和解密后的明文时刻D34进行非法的数据帧和合法的数据帧的判别和接收到的数据帧是否是再次发送的数据帧的判断。
另外,在步骤S608中,接收到的数据帧被废弃,结束图16的处理。即,在步骤S608中,确认部29不向接收数据帧处理部30输出数据。
与上面参照图14~图16说明的数据帧的发送接收有关的一系列的处理能够根据数据帧的格式适当地变形。和图17一起对其具体例进行说明。
图17是说明数据帧的格式和进行的与数据帧有关的各种处理的第2例的图。图17是将图8详细化的格式的一例。
下面,以从节点装置1A向节点装置1B发送数据帧的情况为例,对与图17对应的处理进行详细说明。
节点装置1A的数据帧生成部40计算由明文FID/D15、明文时刻D18和明文帧体D16组成的明文净荷的散列值,得到明文散列值D35。并且,节点装置1A的数据帧加密部39使用公用密钥对明文散列值D35进行加密得到加密散列值D36,并使用节点装置1B的访问密钥b1对由明文净荷和加密散列值D36组成的部分进行加密。
其结果,根据明文FID/D15得到加密FID/D37,根据明文时刻D18得到加密时刻D38,根据明文帧体D16得到加密帧体D39,根据加密散列值D36得到二重加密散列值D40。
节点装置1A的数据帧加密部39将由加密FID/D37、加密时刻D38和加密帧体D39组成的净荷D41和作为帧尾D42的二重加密散列值D40与自组织帧头D9连结。通过连结完成的加密数据帧被暂时保存在数据帧发送缓冲43中并从发送处理部44发送。
并且,在接收到了加密后的数据帧的节点装置1B中,帧分支处理部21根据帧类型D7判别为“接收到的帧是数据帧”,并将接受到的帧保存在数据帧接收缓冲24中。并且,数据帧解密部27利用节点装置1B自身的访问密钥b1对净荷D41和帧尾D42进行解密。
其结果,根据加密FID/D37得到解密后的明文FID/D43,根据加密时刻D38得到解密后的明文时刻D44,根据加密帧体D39得到解密后的明文帧体D45。另外,根据二重加密散列值D40得到解密后的密文散列值D46。数据帧解密部27还通过利用公用密钥对解密后的密文散列值D46解密来得到解密后的明文散列值D48。
于是,节点装置1B的确认部29计算由解密后的明文FID/D43、解密后的明文时刻D44和解密后的明文帧体D45组成的部分的散列值,得到计算出的散列值D47。并且,确认部29比较计算出的散列值D47和解密后的明文散列值D48,如果两者不一致则废弃数据帧。
计算出的散列值D47和解密后的明文散列值D48一致时,确认部29还将本地发信地址D6作为检索关键字对最新发送时刻保存部45进行检索,进行与图16的步骤S605同样的时刻判定处理。步骤S605以后的处理和关于图16所说明的一样。
如上面所述那样,本实施方式涉及的节点装置使用以规定的期间更新的公用密钥交换访问密钥,利用公用密钥以及访问密钥判别是基于第三者的非法的访问还是来自合法的节点装置的访问。因此,需要在节点装置之间使更新公用密钥和访问密钥的定时一致。即,对于节点装置内的时刻,需要在网络内的节点装置之间预先取得同步。下面对时刻的同步方法进行说明。
图18是说明时刻的同步方法的图。以在图18的节点装置1A中取得时刻的同步来校准时刻的情况为例进行说明。
节点装置1A预先将自身节点装置1A的当前时刻和进行了时刻校准的最终时刻存储在存储部中(例如DRAM15)。并且,在接收到了时刻同步用的时刻同步帧的情况下,从时刻同步帧中取出与时刻有关的信息并与在自身节点装置1A中存储的信息进行比较。作为比较的结果,在判断为需要进行同步的情况下,节点装置1A按照时刻同步帧中包含的信息进行时刻校准。
时刻同步帧在本实施方式中是与问候帧类似的格式的控制用帧的1种,包含表示当前时刻以及进行了时刻校准的时刻(后面称为“同步时刻”)的数据。这里,当前时刻是指在生成时刻同步帧的时间点上的该节点装置1自身的时刻,同步时刻是指在规定的装置中取得了时刻的同步的时刻。所谓规定的装置在本实施方式中是指网关装置GW,时刻的同步是指在网关装置GW中例如通过SNTP(Simple Network Time Protocol,简单网络时间协议)等取得时刻的同步。
在网关装置GW中,定期地、例如每2小时一次通过SNTP等取得时刻的同步。各节点装置1在时刻同步帧中保存自身节点装置1的当前时刻和同步时刻并通过时刻同步帧广播。在规定的定时(例如每2小时1次)使用与上述的时间变化的公用密钥不同的固定的时刻同步密钥对时刻同步帧进行加密并发送。
在图18所示的例子中,在网关装置GW中,在12点通过SNTP等取得时刻的同步,在13点生成时刻同步帧P1并发送。
接收到时刻同步帧P1的节点装置1A比较自身节点装置1A中存储的最终同步时刻和时刻同步帧P1的同步时刻。在图18的例子中,时刻同步帧P1的同步时刻(12:00)比所存储的最终同步时刻(11:00)新。在这种情况下,节点装置1A作为当前时刻设定接收到的时刻同步帧中保存的当前时刻(13:00)。
这里,节点装置1A有时会接收如节点装置1B发送的时刻同步帧P2那样的、基于不是最新时刻的同步的时刻同步帧。在接收了时刻同步帧P2的情况下,由于自身节点装置1A中存储的最终同步时刻(11:00)比时刻同步帧P2的同步时刻(10:00)新,所以节点装置1A不取得时刻的同步。
接着,参照图19~图21对图18的例子进行更加详细的说明。
图19是说明参照图18说明的时刻的同步方法的顺序图。在图19中表示了SNTP服务器SS、网关装置GW以及节点装置1A~1C。下面设为,在自组织网络内网关装置GW与节点装置1A邻接,节点装置1A也与节点装置1B以及1C邻接。
另外,网关装置GW和节点装置1A~1C都具备图5的各部。另外,网关装置GW也安装有基于SNTP的时刻校准功能。
如步骤S701所示那样,若网关装置GW自身的时钟33的时刻变成12:00,则网关装置GW按照预先决定的计划,通过SNTP访问SNTP服务器SS,进行时刻校准。
另外,在网关装置GW中,关于发送时刻同步帧的定时,也预先设定如“13:00发送”那样的计划。所以,若在步骤S701中的时刻校准的结果适当修正的网关装置GW的时钟表示成13:00,则网关装置GW如步骤S702所示那样发送时刻同步帧P1。
另外,对于发送时刻同步帧的定时,也可以对邻接的多个节点装置分别设定不同的时刻。
虽然省略了时刻同步帧的格式的详细的图示,但是时刻同步帧包含和图12的问候帧同样的自组织帧头D9,并且,包含使用时刻同步密钥对包含“同步时刻”和“当前时刻”这两个字段的明文净荷进行加密得到的加密净荷。
例如,在步骤S702中,网关装置GW发送表示“同步时刻是12:00而当前时刻是13:00”的时刻同步帧P1。即,同步时刻字段的值是网关装置GW自身进行了步骤S701中的时刻校准的时刻,当前时刻字段的值是网关装置GW发送时刻同步帧P1的时刻。
另外,下面设时刻同步帧P1的本地收信地址是节点装置1A的地址。后面与图20一起详细说明时刻同步帧发送处理。
但是,在本实施方式中,在自组织网络内互相邻接的装置之间的通信延迟时间被视为零。于是,当网关装置GW的时钟33是13:00的时 候在节点装置1A中接收到时刻同步帧P1。但是,接收到时刻同步帧P1时的节点装置1A的时钟33例如可能表示为12:58,也可能表示为13:03。
所以,接收到时刻同步帧P1的节点装置1A在步骤S703中进行节点装置1A自身的时钟33的时刻校准(即时刻同步处理)。其结果,节点装置1A的时钟33被校正到13:00。另外,步骤S703的时刻同步处理具体来讲是图21的时刻同步帧接收处理。
对于在步骤S703中节点装置1A的时钟33被校正的情况,换言之,也可以说成在步骤S703中节点装置1A从时间段Tna1切换到时间段Tna2。
另外,各个节点装置1A~1C根据各个计划设定进行时刻同步帧发送处理。例如,在图19的例子中,若节点装置1B的时钟变成13:30,则节点装置1B如步骤S704所示那样发送时刻同步帧P2。时刻同步帧P2表示“同步时刻是10:00而当前时刻是13:30”。另外,设时刻同步帧P2的本地收信地址为节点装置1A的地址。
由此,节点装置1A接收时刻同步帧P2,并以时刻同步帧P2的接收为契机,如步骤S705所示那样进行时刻同步处理。但是,与已经在步骤S703中进行过的时刻同步处理中使用过的时刻同步帧P1中作为同步时刻表示的12:00相比,时刻同步帧P2中作为同步时刻表示的10:00是旧的。因此,如与图21一起详细说明的那样,在步骤S705中,节点装置1A不更新时钟33。
但是,在各个节点装置1A~1C中,预先设定了从通过时刻同步处理校正时钟33开始到向邻接的其他节点装置发送时刻同步帧为止的间隔Tnax。例如,对节点装置1A设定的间隔Tnax是40分钟。
也可以对每个节点装置1A~1C设定不同的随机的间隔。另外,对于节点装置1A,也可以将从校正时钟33开始到向多个节点装置1B和1C分别发送时刻同步帧为止的间隔设定成相同的值(例如上述的间隔Tnax)。或者相反,也可以在1个节点装置1A中将从校正时钟33开始到向节点装置1B发送时刻同步帧为止的间隔(在图19中没有图示)和 从校正时钟33开始到向节点装置1C发送时刻同步帧为止的间隔Tnax设定成不同的值。
节点装置1A按照设定,若在校正时钟33起经过了规定的时间(即Tnax=40分钟),则如步骤S706所示那样进行时刻同步帧发送处理。在步骤S706中,发送表示“同步时刻是12:00而当前时刻是13:40”的时刻同步帧P3。
时刻同步帧P3表示“同步时刻是12:00”是因为成为节点装置1A校正时钟33的契机的时刻同步帧P1作为同期时刻表示的是12:00。另外,时刻同步帧P3表示“当前时刻是13:40”是因为时刻同步帧P3是在13:40被发送的。
并且,若在节点装置1C中接收到时刻同步帧P3,则如步骤S707所示那样,节点装置1C进行时刻同步处理。
图20是时刻同步帧发送处理的流程图。例如,分别地在图19的步骤S702中网关装置GW进行图20的处理,在步骤S704中节点装置1B进行图20的处理,在步骤S706中节点装置1A进行图20的处理。
例如,节点装置1A的时刻同步部9也可以具备与图5的计数器34不同的未图示的第2计数器。例如能够通过与图4的定时器IC13类似的硬件电路来实现第2计数器。
在第2计数器中设定有表示间隔Tnax的值。并且,时刻同步部9当在后面与图21一起说明的时刻同步帧接收处理结束时对第2计数器清零。当第2计数器的计数达到表示间隔Tnax的值时,时刻同步部9开始图20的处理。
或者,时刻同步部9也可以存储校正时钟33的时刻,通过参照时钟33来判断从进行了存储的时刻算起是否经过了间隔Tnax,如果经过了间隔Tnax则开始图20的处理。
若开始了图20的处理,则在步骤S801中时刻同步部9将自身节点装置1中保持的最终同步时刻作为同步时刻设定在帧中。
时刻同步部9将根据最后进行了图21的处理时的时刻同步帧的同步 时刻字段得到的时刻作为节点装置1自身的“最终同步时刻”例如保持在DRAM15上。所以,在步骤S801中,时刻同步部9在新生成的明文帧的同步时刻字段中设定所保持的最终同步时刻的值。
例如在图19的例子中,在节点装置1A的时刻同步部9执行步骤S706的情况下,时刻同步部9作为最终同步时刻保持成为在步骤S703中校正时钟33的契机的时刻同步帧P1表示的同步时刻、即12:00。所以,在步骤S706调用的图20的处理的步骤S801中,时刻同步部9在新生成的明文帧的同步时刻字段中设定为12:00。
接着,在步骤S802中,时刻同步部9将自身节点装置1的时刻同步帧发送时刻作为“当前时刻”设定在帧中(也就是新生成的明文帧)。更严密来说,将步骤S802执行时时钟33表示的时刻近似地看做来自节点装置1的时刻同步帧发送时刻,并通过时刻同步部9将其设定在明文帧的当前时刻字段中。
例如,在图19的例子中,在节点装置1A的时刻同步部9执行步骤S706的情况下,在步骤S706调用的图20的处理的步骤S802中,时刻同步部9在明文帧的当前时刻字段中设定为13:40。
并且,在步骤S803中,时刻同步部9生成时刻同步帧的帧头,并将所生成的帧头附加在明文净荷(包含同步时刻和当前时刻)的前面。在步骤S803中生成的帧头例如是与问候帧的自组织帧头D9同样的形式。并且,时刻同步部9向时刻同步帧加密部38输出由帧头和明文净荷组成的明文帧。
于是,在步骤S804中,时刻同步帧加密部38参照时刻同步密钥保存部35读取时刻同步密钥,并使用时刻同步密钥对明文净荷加密。例如,在用于对时刻同步帧进行加密的加密算法也是RC4的情况下,在步骤S804中,时刻同步帧加密部38具体来讲进行密钥流的生成和XOR操作。时刻同步帧加密部38向时刻同步帧发送缓冲42输出由在步骤S803中附加的帧头和在步骤S804中被加密的净荷组成的时刻同步帧。
最后在步骤S805中,发送部7发送时刻同步帧。也就是说,发送 处理部44发送暂时保存在时刻同步帧发送缓冲42中的时刻同步帧并结束图20的处理。
图21是时刻同步帧接收处理的流程图。例如,在图19的步骤S703和S705中,节点装置1A进行图21的处理。以节点装置1在接受部8中接收帧,接收部8的帧分支处理部21根据自组织帧头D9的帧类型D7判别为“接收到的帧是时刻同步帧”为契机开始图21的处理。另外,若帧分支处理部21判别为“接收到的帧是时刻同步帧”,则接收到的帧被输出至时刻同步帧接收缓冲23中并被保存。
在步骤S901中,时刻同步帧解密部26从时刻同步帧接收缓冲23中读取时刻同步帧并进行解密。即,时刻同步帧解密部26参照时刻同步密钥保存部35读取时刻同步密钥,并使用时刻同步密钥对时刻同步帧的被加密的净荷进行解密。
在如上面所述那样用于对时刻同步帧进行加密的加密算法也是RC4的情况下,时刻同步帧解密部26在步骤S901中具体来讲进行密钥流的生成和XOR操作。
另外,解密后,时刻同步帧解密部26向时刻同步部9输出帧头和通过解密得到的明文净荷。
于是,在步骤S902中,时刻同步部9从明文净荷中提取同步时刻字段的值,并且读取例如在DRAM15中保持的最终同步时刻。并且时刻同步部9比较提取的同步时刻和读取的最终同步时刻。
在同步时刻比最终同步时刻新时,处理转移至步骤S903。相反,在同步时刻与最终同步时刻相同又或者同步时刻比最终同步时刻旧时,处理转移至步骤S904。
在步骤S903中,时刻同步部9将时刻同步帧的当前时刻作为自身节点装置1的时刻来设定。即,时刻同步部9提取时刻同步帧的当前时刻字段的值,并在时钟33中设定提取出的值,由此来校正时钟33的时刻。并且,结束图21的处理。
例如,在图19的步骤S703调用图21的处理的情况下,步骤S903 被执行,时刻同步部9校正时钟33。
另外,在步骤S904中,时刻同步部9废弃时刻同步帧并结束图21的处理。例如,在图19的步骤S705调用图21的处理的情况下,步骤S904被执行。
另外,如关于图20以及图21所说明的那样,虽然本实施方式的时刻同步帧中没有特别包含署名等的帧尾,但是也可以是利用将明文净荷的散列值作为帧尾进行附加的格式的时刻同期帧的实施方式。
在这种情况下,在时刻同步帧发送处理中,时刻同步部9进行散列值的计算,时刻同步帧加密部38对净荷和帧尾的双方进行加密。另外,在时刻同步帧接收处理中,时刻同步帧解密部26对净荷和帧尾的双方进行解密。并且,确认部29根据通过解密得到的明文净荷计算散列值,并比较计算出的散列值和通过解密得到的明文散列值,只有在2个散列值一致的情况下时刻同步部9才执行步骤S902以后的处理。
在构成自组织通信网络的节点装置数量较多的情况下,在各节点装置取得与网关装置等的规定的1个装置的时刻同步的构成中,流量增大。另一方面,根据本实施方式,即使在节点装置数量较多的情况下,各节点装置也如上述的时刻同步方法那样从邻接的节点装置中的已经取得了同步的节点装置接收时刻同步帧来进行时刻校准。因此,根据本实施方式,不增大网络整体的流量各节点装置就能够取得时刻的同步。
上面参照图1~图21对本实施方式进行了详细的说明,关于本实施方式的节点装置1的概况如下面所述。
图3~图5所示的节点装置1是例如如图2、图6、图7、图18以及图19所示那样由多个节点装置构成的网络中的节点装置中的一个。这里为了方便说明,以多个节点装置中的第1节点装置1A和第2节点装置1B为着重点来说明第1节点装置1A的构成概况。
第1节点装置1A如图3以及图5所示那样具有每隔第1时间就变更并生成作为第1节点装置1A所固有的加密密钥的第1访问密钥的访问密钥生成部2。这里,所谓“第1访问密钥”,例如是图6的访问密钥a1,所谓“第1时间”,在上述的实施方式的例子中是t1=10(分钟)。
另外,第1节点装置1A如图3以及图5所示那样具有每隔作为在多个节点装置中共同的时间的第2时间就变更并生成网络内的多个节点装置中公用的公用密钥的公用密钥生成部3。这里,所谓“第2时间”在上述的实施方式的例子中是t2=12(小时)。
另外,第1节点装置1A具有作为利用所生成的公用密钥对所生成的第1访问密钥进行加密并向第2节点装置1B发送的访问密钥通知部而工作的组件。即,图3的帧处理部6、加密部4和发送部7协同动作作为上述访问密钥通知部而工作。更详细来说,图5的问候帧生成部36、问候帧加密部37、问候帧发送缓冲41和发送处理部44协同动作作为上述访问密钥通知部而工作。
另外,第1节点装置1A具有作为接收从第2节点装置1B发送来的访问密钥通知帧的访问密钥接收部而工作的组件。这里,“访问密钥通知帧”包含使用公用密钥对第2节点装置1B所固有的加密密钥、即第2访问密钥进行加密得到的数据、即访问密钥通知数据,具体来讲是上述实施方式中的被加密的问候帧。另外,“第2访问密钥”例如是图6的访问密钥b1,“访问密钥通知数据”例如是图12的加密访问密钥D3。
另外,在上述实施方式中,图3的接收部8(更详细来讲是图5的帧分支处理部21和问候帧接收缓冲22)作为访问密钥接收部而工作。
另外,第1节点装置1A具有作为通过使用所生成的公用密钥对访问密钥通知数据进行解密来从访问密钥通知数据中取得第2访问密钥的访问密钥解密部而工作的组件。即,在上述实施方式中,图3的解密部5(更详细来说是图5的问候帧解密部25)作为上述访问密钥解密部而工作从而取得访问密钥b1。
另外,第1节点装置1A具有作为数据发送部而工作的组件。数据发送部向第1明文帧中附加使用公用密钥对包含根据第1明文帧计算出的第1散列值的数据进行加密得到的第1署名数据。并且,数据发送部使用解密得到的第2访问密钥对附加有第1署名数据的第1明文帧进行加密并作为第1加密帧发送。
这里的“第1明文帧”的例子是包含关于图15所说明的由自组织 帧头D9、明文FID/D15和明文帧体D16组成的明文净荷的明文帧。“第1散列值”的例子是根据还没有生成帧尾的明文帧(更准确来讲是根据明文净荷)计算出的图15的明文散列值D17,“第1署名数据”的例子是加密署名D21。根据实施方式不同,也可以还利用帧头计算散列值。另外,“第2访问密钥”具体来讲是图6的访问密钥b1。
在上述实施方式中,图3的加密部4和发送部7(更详细来讲是图5的数据帧加密部39、数据帧发送缓冲43和发送处理部44)协同动作作为上述数据发送部而工作。
另外,第1节点装置1A具有作为接收来自第2节点装置1B的第2加密帧的数据接收部而工作的图3的接收部8(更详细来说是图5的帧分支处理部21和数据帧接收缓冲24)。这里,所谓“第2加密帧”是利用第1访问密钥对第2明文帧进行加密得到的帧,“第2明文帧”是附加有利用上述公用密钥对包含第2散列值的数据进行加密得到的第2署名数据的帧。
另外,第1节点装置1A具有作为数据解密部而工作的图3的解密部5(更详细来说是图5的数据帧解密部27)。上述数据解密部利用第1访问密钥对第2加密帧进行解密,并根据第2加密帧得到附加有第2署名数据的第2明文帧。
在上述实施方式的说明中,结合从节点装置1A向节点装置1B发送数据帧的情况对图15的例子进行了说明,但是图15也适用于从节点装置1B向节点装置1A发送数据帧的情况。在这种情况下,图15的由自组织帧头D9、净荷D26和帧尾D27组成的数据帧相当于从节点装置1B发送来的“第2加密帧”。
并且,作为上述数据解密部而工作的节点装置1A的数据帧解密部27使用作为“第1访问密钥”的访问密钥a1得到第2明文帧。这里,“第2明文帧”包含由自组织帧头D9、被解密的明文FID/D28以及被解密的明文帧体D29组成的明文净荷。另外,在“第2明文帧”中,由被解密的密文散列值D30和被解密的密文时刻D31组成的加密署名(相当于上述的“第2署名数据”)作为帧尾被附加。
另外,第1节点装置1A具有作为一致性确认部而工作的组件。在上述实施方式中,图5的数据帧解密部27和确认部29协同动作作为一致性确认部而工作。具体来讲,作为一致性确认部的一部分的数据帧解密部27通过使用所生成的公用密钥对第2署名数据进行解密来取得第2散列值。并且,作为一致性确认部的一部分的确认部29根据第2明文帧计算第3散列值(例如图15的计算出的散列值D32),并确认是否取得了第2散列值和上述第3散列值的一致性。
另外,上述的数据发送部还可以使第1明文帧中包含用于唯一识别第1明文帧的第1识别符和表示第1发送时刻的信息。
在上述实施方式中,数据帧生成部40也作为数据发送部的一部分而工作,数据帧生成部40使第1明文帧中包含作为“第1识别符”的图17的明文FID/D15和作为“表示第1发送时刻的信息”的明文时刻D18。或者,数据帧生成部40也可以如图15那样使第1明文帧中包含加密时刻D20,作为“表示第1发送时刻的信息”。明文时刻D18和加密时刻D20虽然有是明文或密文的区别,但是在“表示第1发送时刻”这一点上是相同的。
另外,图5的接收数据帧处理部30还可以附加性地作为上述的一致性确认部而工作。也就是说,在从第2加密帧解密得到的第2明文帧中包含的第2识别符等于从过去接收过的第3加密帧解密得到的第3明文帧中包含的第3识别符的情况下,作为一致性确认部的接收数据帧处理部30也可以将第2和第3明文帧中的通过解密得到的信息表示较新的发送时刻的一方废弃。
例如,若将图17的例子适用于从节点装置1B向节点装置1A发送的情况,则“第2明文帧”由自组织帧头D9、明文净荷和作为明文帧尾的被解密的密文散列值D46组成。并且,明文净荷由被解密的明文FID/D43、被解密的明文时刻D44以及被解密的明文帧体D45组成。另外,“第2识别符”相当于被解密的明文FID/D43。
并且,作为一致性确认部的接收数据帧处理部30如下面那样工作。即,接收数据帧处理部30在明文FID/D43等于过去接收过的其他的数据帧的FID的情况下,将通过解密得到的发送时刻(例如被解密的 明文时刻D44)较新一方的数据帧废弃。
这样,作为数据发送部以及一致性确认部的各部进行使用了识别符(具体来讲是FID)的处理,由此节点装置1A能够检测出由非法的节点装置发送的帧。
另外,网络内的多个节点装置(例如包含节点装置1A和1B)的各自的公用密钥生成部3,如上面所述那样每隔共同的时间、即第2时间就生成公用密钥。所以,多个节点装置的各自的时钟(例如图5的时钟33)如果在即使无视也不会产生问题的程度的误差范围内互相同步,则在多个节点装置中生成公用密钥的定时也同步。
但是,多个节点装置各自的时钟的时刻的错位也有可能随着时间扩大。所以,上述实施方式通过校正多个节点装置各自的时钟的时刻的错位在网络内的多个节点装置之间取得生成公用密钥的定时的同步。
即,第1节点装置1A具有协同动作作为时刻同步帧发送部而工作的组件。时刻同步帧发送部生成包含表示第1节点装置1A中的第1当前时刻和在第1节点装置1A中进行了时刻校准的第1同步时刻的数据的第1时刻同步帧作为时刻同步帧并发送。
例如,在图19的例子中,步骤S703以后的“第1同步时刻”是12:00,在步骤S706中发送包含表示作为“第1当前时刻”的13:40的信息的时刻同步帧P3。
另外,虽然上述实施方式的时刻同步帧被利用时刻同步密钥加密,但是时刻同步帧没有被加密的实施方式也是可能的。所以,虽然在上述实施方式中图5的时刻同步部9、时刻同步帧加密部38、时刻同步帧发送缓冲42以及发送处理部44协同动作作为时刻同步帧发送部而工作,但是也可以省略时刻同步帧加密部38。
另外,第1节点装置1A具有作为从第2节点装置1B接收第2时刻同步帧的时刻同步帧接收部而工作的组件。这里,第2时刻同步帧包含表示第2节点装置1B中的第2当前时刻(例如在图19的例子中是13:30)和在上述第2节点装置中进行了时刻校准的第2同步时刻(例如在图19的例子中是10:00)的数据。
在上述实施方式中,图5的帧分支处理部21以及时刻同步帧接收缓冲23协同动作作为上述时刻同步帧接收部而工作。
并且,第1节点装置1A具有作为时刻更新部而工作的组件。时刻更新部比较根据第2时刻同步帧得到的第2同步时刻和第1节点装置1A存储的第1同步时刻。并且,如果第2同步时刻较新,则时刻更新部设定第2当前时刻作为第1节点装置1A中的当前时刻,来更新第1节点装置1A的时刻。
具体来讲,图5的时刻同步部9作为时刻更新部而工作。另外,在上述实施方式中,由于时刻同步帧被加密,所以为了根据第2时刻同步帧得到第2同步时刻,时刻同步帧解密部26也作为时刻更新部的一部分而工作。
并且,节点装置1A例如具有DRAM15作为存储部。该存储部将第2同步时刻作为通过作为时刻更新部的时刻同步部9更新第1节点装置1A的时刻进行了时刻校准的时刻进行存储。另外,图3以及图5的公用密钥生成部3根据作为时刻更新部的时刻同步部9进行了更新的时刻(具体来讲是图5的时钟33表示的时刻)对第2时间进行计时。
根据上面大概描述的上述实施方式,在第2节点装置是合法的节点装置的情况下,第2节点装置保有和第1节点装置公用的公用密钥。所以,能够使用公用密钥安全地交换第1节点装置中生成的第1访问密钥和第2节点装置中生成的第2访问密钥。
另外,第1节点装置能够使用通过解密得到的第2节点装置的第2访问密钥对数据加密并向第2节点装置发送。并且,第1节点装置还能够从第2节点装置接收使用第1节点自身生成的第1访问密钥加密后的数据。
这样,根据上述实施方式,各节点装置自主地与其他的节点装置协同动作进行用于加密的动作。所以,即使在包含非常多的节点装置的网络中,也不会发生用于加密密钥的交换的流量集中的情况。
另外,各节点装置为了自主地进行用于加密的动作,需要取得各节点装置根据时间生成并通过修改进行变更的公用密钥的变更定时的 同步。根据上述的实施方式,提供了构成简单并且不会增加网络负荷的、能够取得同步而自主地变更公用密钥的节点装置。
另外,在上述的实施方式中,主要说明了节点装置,但是使计算机执行上述方法的控制程序也包含在本发明的实施方式的一例中。该控制程序也可以通过由磁盘、光磁盘、非易失性的半导体存储器、光盘等的计算机能够读取的存储介质存储来提供,被加载到计算机上并由计算机执行。
执行该控制程序的计算机内置在未图示的节点装置中或者与其连接,按照该控制程序控制上述未图示的节点装置以使上述未图示的节点装置和上述实施方式的节点装置1同样动作。例如,如果从其他的观点来看上述实施方式,也可以说成节点装置1的内置计算机、即MPU11按照闪存16中存储的控制程序控制节点装置1并使上述各处理在节点装置1中执行。
另外,上述实施方式中示例的RC4是能够采用的加密算法的一个例子。也可以根据实施方式不同进行基于其他的加密算法的加密以及解密。例如,也可以使用流加密以外的加密算法。另外,分别使用了时刻同步密钥、公用密钥和访问密钥的加密以及解密也可以基于不同的加密算法。
另外,问候帧、数据帧、时刻同步帧的格式当然不限定于上述实施方式中示例的格式。例如,各帧还可以包含上述实施方式中没有示例的字段。相反,如果帧是固定长度,帧大小D8的字段可以省略。
并且,上述实施方式中示例的“10分钟”等的具体的数值只不过是为了帮助理解才表示的,可以根据实施方式设定各种各样的具体的数值。
Claims (6)
1.一种节点装置,其特征在于,
是由包含第1节点装置和第2节点装置的多个节点装置构成的网络中的上述第1节点装置,具有:
访问密钥生成部,每隔第1时间变更生成上述第1节点装置所固有的加密密钥、即第1访问密钥;
公用密钥生成部,每隔在上述多个节点装置中共同的时间、即第2时间变更生成在上述网络内的上述多个节点装置中公用的公用密钥;
访问密钥通知部,使用所生成的上述公用密钥对所生成的上述第1访问密钥进行加密并向上述第2节点装置发送;
访问密钥接收部,接收从上述第2节点装置发送来的包含访问密钥通知数据的访问密钥通知帧,该访问密钥通知数据是使用上述公用密钥对上述第2节点装置所固有的加密密钥、即第2访问密钥进行加密得到的数据;
访问密钥解密部,使用所生成的上述公用密钥对上述访问密钥通知数据解密,由此根据上述访问密钥通知数据取得上述第2访问密钥;
数据发送部,向第1明文帧附加使用上述公用密钥对包含根据该第1明文帧计算出的第1散列值的数据进行加密得到的第1署名数据,使用通过解密得到的上述第2访问密钥对附加有上述第1署名数据的上述第1明文帧进行加密并作为第1加密帧发送;
数据接收部,从上述第2节点装置接收利用上述第1访问密钥对第2明文帧进行加密得到的第2加密帧,该第2明文帧附加有使用上述公用密钥对包含第2散列值的数据进行加密得到的第2署名数据,其中,所述第2散列值是根据上述第2明文帧计算出的;
数据解密部,使用上述第1访问密钥对上述第2加密帧进行解密,从而根据上述第2加密帧得到附加有上述第2署名数据的上述第2明文帧;和
一致性确认部,通过使用所生成的上述公用密钥对上述第2署名数据解密来取得上述第2散列值,根据上述第2明文帧计算第3散列值,并确认是否取得了上述第2散列值和上述第3散列值的一致性。
2.根据权利要求1所述的节点装置,其特征在于,
上述数据发送部使上述第1明文帧中包含用于唯一识别上述第1明文帧的第1识别符和表示第1发送时刻的信息;
在上述数据解密部从上述第2加密帧解密得到的上述第2明文帧中包含的第2识别符与从过去接收过的第3加密帧解密得到的第3明文帧中包含的第3识别符相等的情况下,上述一致性确认部还废弃上述第2明文帧和上述第3明文帧中的通过解密得到的信息表示较新的发送时刻的一方。
3.根据权利要求2所述的节点装置,其特征在于,
具有:
时刻同步帧发送部,生成第1时刻同步帧作为时刻同步帧并发送,上述第1时刻同步帧包含表示上述第1节点装置的第1当前时刻和上述第1节点装置的时刻校准所依据的第1同步时刻的数据;
时刻同步帧接收部,从上述第2节点装置接收第2时刻同步帧,上述第2时刻同步帧包含表示上述第2节点装置的第2当前时刻和上述第2节点装置的时刻校准所依据的第2同步时刻的数据;
时刻更新部,比较根据上述第2时刻同步帧得到的第2同步时刻和上述第1节点装置存储的上述第1同步时刻,如果上述第2同步时刻较新,则将上述第2当前时刻设定为上述第1节点装置的当前时刻来更新上述第1节点装置的时刻;和
存储部,存储上述第2同步时刻作为新的第1同步时刻,上述新的第1同步时刻是上述时刻更新部更新上述第1节点装置的时刻而进行的上述时刻校准所依据的;
上述公用密钥生成部根据上述时刻更新部进行了更新的时刻对上述第2时间进行计时。
4.一种第1节点装置执行的方法,是由包含第1节点装置和第2节点装置的多个节点装置构成的网络中的上述第1节点装置执行的方法:
每隔第1时间变更生成上述第1节点装置所固有的加密密钥、即第1访问密钥;
每隔在上述多个节点装置中共同的时间、即第2时间变更生成在上述网络内的上述多个节点装置中公用的公用密钥;
使用所生成的上述公用密钥对所生成的上述第1访问密钥进行加密并向上述第2节点装置发送;
接收从上述第2节点装置发送来的包含访问密钥通知数据的访问密钥通知帧,该访问密钥通知数据是使用上述公用密钥对上述第2节点装置所固有的加密密钥、即第2访问密钥进行加密得到的数据;
使用所生成的上述公用密钥对上述访问密钥通知数据解密,由此根据上述访问密钥通知数据取得上述第2访问密钥;
向第1明文帧附加使用上述公用密钥对包含根据该第1明文帧计算出的第1散列值的数据进行加密得到的第1署名数据,使用通过解密得到的上述第2访问密钥对附加有上述第1署名数据的上述第1明文帧进行加密并作为第1加密帧发送;
从上述第2节点装置接收利用上述第1访问密钥对第2明文帧进行加密得到的第2加密帧,该第2明文帧附加有使用上述公用密钥对包含第2散列值的数据进行加密得到的第2署名数据,其中,所述第2散列值是根据上述第2明文帧计算出的;
使用上述第1访问密钥对上述第2加密帧进行解密,从而根据上述第2加密帧得到附加有上述第2署名数据的上述第2明文帧;
通过使用所生成的上述公用密钥对上述第2署名数据解密来取得上述第2散列值,根据上述第2明文帧计算第3散列值,并确认是否取得了上述第2散列值和上述第3散列值的一致性。
5.根据权利要求4所述的第1节点装置执行的方法,
上述作为第1加密帧发送的处理是,使上述第1明文帧中包含用于唯一识别上述第1明文帧的第1识别符和表示第1发送时刻的信息来进行处理;
确认是否取得了上述第2散列值和上述第3散列值的一致性的处理是,进一步,在从上述第2加密帧解密得到的上述第2明文帧中包含的第2识别符与从过去接收过的第3加密帧解密得到的第3明文帧中包含的第3识别符相等的情况下,废弃上述第2明文帧和上述第3明文帧中的通过解密得到的信息表示较新的发送时刻的一方。
6.根据权利要求5所述的第1节点装置执行的方法,
生成第1时刻同步帧作为时刻同步帧并发送,上述第1时刻同步帧包含表示上述第1节点装置的第1当前时刻和上述第1节点装置的时刻校准所依据的第1同步时刻的数据;
从上述第2节点装置接收第2时刻同步帧,上述第2时刻同步帧包含表示上述第2节点装置的第2当前时刻和上述第2节点装置的时刻校准所依据的第2同步时刻的数据;
比较根据上述第2时刻同步帧得到的第2同步时刻和上述第1节点装置存储的上述第1同步时刻,如果上述第2同步时刻较新,则将上述第2当前时刻设定为上述第1节点装置的当前时刻来更新上述第1节点装置的时刻;
在存储部中存储上述第2同步时刻作为新的第1同步时刻,上述新的第1同步时刻是更新上述第1节点装置的时刻而进行的上述时刻校准所依据的;
上述生成公用密钥的处理,根据上述更新后的时刻对上述第2时间进行计时。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008113530 | 2008-04-24 | ||
JP2008-113530 | 2008-04-24 | ||
PCT/JP2009/001903 WO2009130917A1 (ja) | 2008-04-24 | 2009-04-24 | ノード装置及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102007726A CN102007726A (zh) | 2011-04-06 |
CN102007726B true CN102007726B (zh) | 2014-05-14 |
Family
ID=41216658
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200980113336.6A Active CN102007726B (zh) | 2008-04-24 | 2009-04-24 | 节点装置以及程序 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8417936B2 (zh) |
EP (1) | EP2273717B1 (zh) |
JP (1) | JP4883219B2 (zh) |
KR (1) | KR101174215B1 (zh) |
CN (1) | CN102007726B (zh) |
WO (1) | WO2009130917A1 (zh) |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5448700B2 (ja) * | 2009-10-13 | 2014-03-19 | 三菱電機株式会社 | 通信システム、収集装置および鍵更新方法 |
JP5589410B2 (ja) * | 2010-01-29 | 2014-09-17 | 沖電気工業株式会社 | 通信システム及び通信装置 |
WO2012073339A1 (ja) * | 2010-11-30 | 2012-06-07 | 富士通株式会社 | 鍵更新方法、ノード、ゲートウェイ、サーバ、およびネットワークシステム |
WO2012073340A1 (ja) * | 2010-11-30 | 2012-06-07 | 富士通株式会社 | 鍵更新方法、ノード、ゲートウェイ、サーバ、およびネットワークシステム |
US8819435B2 (en) | 2011-09-12 | 2014-08-26 | Qualcomm Incorporated | Generating protocol-specific keys for a mixed communication network |
US9326238B2 (en) * | 2011-09-26 | 2016-04-26 | Broadcom Corporation | Smart meter media access control (MAC) for single user, multiple user, multiple access, and/or MIMO wireless communications |
DE112012005154T5 (de) * | 2011-12-08 | 2015-03-19 | International Business Machines Corporation | Verfahren zum Erkennen eines Datenverlusts während einer Datenübertragung zwischen Informationseinheiten |
WO2014016864A1 (ja) * | 2012-07-23 | 2014-01-30 | 富士通株式会社 | ノードおよび通信方法 |
US8995658B2 (en) * | 2013-02-13 | 2015-03-31 | Honeywell International Inc. | Physics-based key generation |
JP6111165B2 (ja) * | 2013-08-06 | 2017-04-05 | シャープ株式会社 | 暗号処理装置および暗号処理システム |
JP6303426B2 (ja) * | 2013-11-18 | 2018-04-04 | 富士通株式会社 | ノード装置、通信システム、通信方法および通信プログラム |
JP2017507549A (ja) * | 2013-12-30 | 2017-03-16 | バスコ データ セキュリティー インターナショナル ゲゼルシャフト ミット ベシュレンクテル ハフツング | ブルートゥースインタフェースを備える認証装置 |
JP6054324B2 (ja) * | 2014-03-06 | 2016-12-27 | 株式会社東芝 | Mmt送信システム、暗号化処理装置 |
US9405920B1 (en) * | 2014-05-21 | 2016-08-02 | Amazon Technologies, Inc. | Data integrity verification |
US9497025B2 (en) * | 2014-09-20 | 2016-11-15 | Innovasic Inc. | Ethernet interface module |
JP2016134671A (ja) * | 2015-01-16 | 2016-07-25 | 株式会社東芝 | データ生成装置、通信装置、通信システム、移動体、データ生成方法およびプログラム |
EP3116187B1 (en) * | 2015-07-09 | 2019-12-04 | Nxp B.V. | Methods for facilitating secure communication |
CN107925569A (zh) * | 2015-09-18 | 2018-04-17 | 奥林巴斯天空技术公司 | 使用有组织地导出的同步过程的安全通信 |
FR3047384B1 (fr) * | 2016-01-28 | 2018-11-23 | Sagemcom Broadband Sas | Procede de synchronisation d'une passerelle dans un reseau lora |
US10452858B2 (en) * | 2016-03-31 | 2019-10-22 | International Business Machines Corporation | Encryption key management for file system |
US10382208B2 (en) | 2016-04-29 | 2019-08-13 | Olympus Sky Technologies, S.A. | Secure communications using organically derived synchronized processes |
US10382196B2 (en) | 2016-04-29 | 2019-08-13 | Olympus Sky Technologies, S.A. | System and method for secure communications based on locally stored values |
DE102017204184A1 (de) * | 2017-03-14 | 2018-09-20 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Authentisierte Bestätigungs- und Aktivierungsnachricht |
WO2019046823A1 (en) * | 2017-08-31 | 2019-03-07 | Chaos Prime, Inc. | HIGH PSK SIGNALING TECHNIQUES (HOPS) FOR LOW POWER SPREAD SPECTRUM COMMUNICATIONS |
WO2019067002A1 (en) * | 2017-09-26 | 2019-04-04 | Olympus Sky Technologies, S.A. | SECURE COMMUNICATIONS USING SYNCHRONIZED ORGANIC PROCESSES |
US10860743B2 (en) * | 2017-10-26 | 2020-12-08 | VYRTY Corporation | Encryption scheme for making secure patient data available to authorized parties |
US11205194B2 (en) | 2019-04-30 | 2021-12-21 | Advanced New Technologies Co., Ltd. | Reliable user service system and method |
CN110460580B (zh) * | 2019-07-11 | 2022-02-22 | 中国银联股份有限公司 | 图像采集装置、服务器及加、解密方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1674496A (zh) * | 2004-03-26 | 2005-09-28 | 株式会社日立制作所 | Ad hoc网络中的公用密钥共享方法和无线通信终端 |
JP2007104310A (ja) * | 2005-10-04 | 2007-04-19 | Hitachi Ltd | ネットワーク装置、ネットワークシステム及び鍵更新方法 |
CN101110831A (zh) * | 2007-08-24 | 2008-01-23 | 中兴通讯股份有限公司 | 一种数字密钥保护方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09321748A (ja) | 1996-05-27 | 1997-12-12 | Trans Kosumosu Kk | 共有暗号鍵による通信システム、同システム用サーバ装置、同システム用クライアント装置、及び通信システムにおける暗号鍵の共有方法 |
JP3805610B2 (ja) * | 2000-09-28 | 2006-08-02 | 株式会社日立製作所 | 閉域グループ通信方法および通信端末装置 |
US7346167B2 (en) | 2002-05-10 | 2008-03-18 | Harris Corporation | Secure mobile ad-hoc network and related methods |
JP4245972B2 (ja) * | 2002-05-29 | 2009-04-02 | Nttエレクトロニクス株式会社 | 無線通信方法、無線通信装置、通信制御プログラム、通信制御装置、鍵管理プログラム、無線lanシステム、および記録媒体 |
CN1729660B (zh) | 2002-10-17 | 2011-06-08 | 松下电器产业株式会社 | 分组发送接收装置 |
JP2004194295A (ja) | 2002-10-17 | 2004-07-08 | Matsushita Electric Ind Co Ltd | パケット送受信装置 |
KR100520116B1 (ko) * | 2003-05-16 | 2005-10-10 | 삼성전자주식회사 | 모바일 애드 혹 상의 암호화를 위한 노드간 키 분배 방법및 이를 이용한 네트워크 장치 |
JP2006121545A (ja) | 2004-10-25 | 2006-05-11 | Sony Corp | 無線通信システム、無線通信装置及び無線通信方法、並びにコンピュータ・プログラム |
US8130959B2 (en) | 2006-09-07 | 2012-03-06 | International Business Machines Corporation | Rekeying encryption for removable storage media |
-
2009
- 2009-04-24 KR KR1020107024000A patent/KR101174215B1/ko not_active IP Right Cessation
- 2009-04-24 WO PCT/JP2009/001903 patent/WO2009130917A1/ja active Application Filing
- 2009-04-24 CN CN200980113336.6A patent/CN102007726B/zh active Active
- 2009-04-24 EP EP09733693.7A patent/EP2273717B1/en active Active
- 2009-04-24 JP JP2010509092A patent/JP4883219B2/ja active Active
-
2010
- 2010-10-20 US US12/908,508 patent/US8417936B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1674496A (zh) * | 2004-03-26 | 2005-09-28 | 株式会社日立制作所 | Ad hoc网络中的公用密钥共享方法和无线通信终端 |
JP2007104310A (ja) * | 2005-10-04 | 2007-04-19 | Hitachi Ltd | ネットワーク装置、ネットワークシステム及び鍵更新方法 |
CN101110831A (zh) * | 2007-08-24 | 2008-01-23 | 中兴通讯股份有限公司 | 一种数字密钥保护方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2009130917A1 (ja) | 2009-10-29 |
JPWO2009130917A1 (ja) | 2011-08-11 |
CN102007726A (zh) | 2011-04-06 |
EP2273717A4 (en) | 2015-07-22 |
EP2273717B1 (en) | 2016-05-25 |
KR20100126570A (ko) | 2010-12-01 |
US8417936B2 (en) | 2013-04-09 |
KR101174215B1 (ko) | 2012-08-16 |
JP4883219B2 (ja) | 2012-02-22 |
EP2273717A1 (en) | 2011-01-12 |
US20110093717A1 (en) | 2011-04-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102007726B (zh) | 节点装置以及程序 | |
US8121284B2 (en) | Information processing system, information processing method, and information processing program | |
US8607341B2 (en) | Method and system for preserving security of sensor data and recording medium using thereof | |
US8396218B2 (en) | Cryptographic module distribution system, apparatus, and program | |
US20070257813A1 (en) | Secure network bootstrap of devices in an automatic meter reading network | |
CN111614621B (zh) | 物联网通信方法和系统 | |
US10904681B2 (en) | Fitting devices, server devices and methods of remote configuration of a hearing device | |
CN111837372A (zh) | 用于连接的电动工具的隐私保持数据检索的系统和方法 | |
US8612759B2 (en) | Communication system for communicating data utilizing challenge data | |
CN111726346A (zh) | 数据安全传输方法、装置及系统 | |
US8793505B2 (en) | Encryption processing apparatus | |
US10021074B2 (en) | Encrypting method and decrypting method of security short message and receiving apparatus for receiving security short message | |
CN116566589A (zh) | 数据的通信方法、装置、存储介质和处理器 | |
JP2004180318A (ja) | データの暗号化又は解読方法及びデータの暗号化又は解読装置 | |
JP5491713B2 (ja) | 暗号化装置、暗号化プログラム及び方法 | |
JP2009004971A (ja) | 通信システム、タグ装置、タグリーダ装置及びサーバ装置 | |
KR100737385B1 (ko) | 무선 센서 네트워크에서 키 데이터의 송신 방법 | |
KR100640003B1 (ko) | 무선 센서 네트워크에서의 키 설정 방법 | |
JP2007110487A (ja) | Lanシステムおよびその通信方法 | |
CN113545025A (zh) | 用于信息传输的方法和系统 | |
CN114465830B (zh) | 一种跨链数据加密方法、装置、设备和存储介质 | |
CN117040825B (zh) | 物联网设备的认证方法和存储介质 | |
JP2006332903A (ja) | 鍵取得機器、鍵提供機器、鍵交換システム及び鍵交換方法 | |
CN118282611A (zh) | 一种对称密钥的生成方法、装置以及电子设备 | |
JP2022545696A (ja) | ネットワーク内の複数のエンティティ間の対称鍵生成、認証および通信 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |