Key management and node authentication method for sensor network
Abstract
The present invention relates to an encryption key management and node authentication method of a sensor network, in which 1) an encryption key dictionary in which a distribution server pre-distributes a communication encryption key for establishing a secure connection between nodes to all nodes before network deployment deployment phase; 2) After network deployment, a dual key is established to establish a secure connection between nodes, 2.1) a step of establishing a shared encryption key to establish a dual key with an adjacent node in which the shared encryption key exists; and 2.2) an encryption key establishment step comprising a path encryption key establishment step of establishing a twin key with a node that does not have a shared encryption key but has a multi-hop security connection; and 3) a node identity (ID) authentication step of performing identity authentication to confirm the legitimacy and validity of the counterpart's identity before formal communication between each node. The present invention can effectively resist attacks against network communication such as eavesdropping, tampering, and replay, can realize secure communication between nodes, can effectively reduce the resources of sensor network nodes, and extend the service life of the sensor network. can

Term
3.7 yearsleft in the term
Expires 2 June 2030.
- Priority
- Filed
- Granted
- Today
- Expires
7 claims: 2 independent, 5 dependent
- 1각 노드는 배치 서버에 의해 사전 배포되는, 노드 간의 안전한 연결을 설립하기 위한 암호키를 획득하며 네트워크 배치 후, 각 노드는 모두 그의 인접 노드에 자신의 신분 식별 정보를 브로드캐스팅하는 단계;상기 인접 노드는 상기 각 노드로부터 수신된 신분 식별 정보에 따라 상기 각 노드와의 공유 암호키가 존재하는지 여부를 판단하며, 공유 암호키가 존재하는 것으로 판단될 경우 각 노드와 해당 인접 노드 사이에서 쌍대키가 설립되고, 공유 암호키가 존재하지 않는 것으로 판단될 경우 상기 각 노드와 멀티 홉 보안 연결이 존재하는 노드 사이에서 쌍대키가 설립되는 단계;및 각 노드 사이에서 정식으로 통신하기 전에, 상대방의 신분의 합법성과 유효성을 확정하기 위해, 설립된 쌍대키에 따라 신분 인증을 진행하는 단계가 포함되며, 상기 각 노드 사이에서 정식으로 통신하기 전에, 상대방의 신분의 합법성과 유효성을 확정하기 위해, 설립된 쌍대키에 따라 신분 인증을 진행하는 구체적인 실현 방식에 있어서, 노드 A는 노드 B에 메시지 ID B ||K_ID AB ||N A 를 송신하여 노드 B와의 인증을 시작할 것을 요청하는바, 여기서 K_ID AB 는 노드 A와 노드 B의 사전 공유 암호키의 식별자를 표시하고 N A 는 노드 A에 의해 생성된 난수를 표시하고 ID B 는 노드 B의 신분 식별자를 표시하며, 노드 B는 노드 A의 인증 요청을 수신한 후, 우선 요청 메시지 내의 ID B 가 자신의 신분 식별자 ID와 동일한지 여부를 판단하며, 만약 상이하면 노드 B는 해당 요청 메시지를 버리고, 만약 동일하면 노드 B는 자신의 ID 리스트 내에 K_ID AB 와 대응되는 암호키가 저장되어 있는지 여부를 확정하는바, 만약 존재하지 않으면 인증을 종료하고, 만약 존재한다면 문의 N B 를 생성하고 ID 리스트 내의, K_ID AB 와 대응되는 K_VAL 필드의 값, 즉 노드 A와 노드 B의 사전 공유 암호키 PSK AB 를 이용하여 ID A , ID B , N A , N B 에 따라 MAK AB ||SK AB =F(PSK AB ,ID A ||ID B ||N A ||N B )를 계산하며, 여기서 MAK AB 는 노드 A와 노드 B 사이의 메시지 인증 암호키이고 SK AB 는 노드 A와 노드 B 사이의 세션 암호키이며, 그 다음 MAK AB 를 이용하여 메시지 인증 코드 MAC 1 =H(MAK AB , ID A ||N A ||N B )를 생성하고 메시지 ID A ||N A ||N B ||MAC 1 를 구성하여 노드 A에 송신하는바, 여기서 F는 암호키 도출 계산법을 표시하고 H는 메시지 인증 코드 계산 방법을 표시하며, 이들 양자는 일방 함수이며, 노드 A는 노드 B의 메시지를 수신한 후, 우선 메시지 내의 문의 N A 가 자신이 송신한 문의 N A 와 일치한지 여부를 검사하며, 만약 불일치하면 인증을 종료하고, 만약 일치하면 노드 A는 MAK AB ||SK AB =F(PSK AB ,ID A ||ID B ||N A ||N B )를 계산하여 MAK AB 를 이용하여 메시지 인증 코드 MAC 2 =H(MAK AB , ID A ||N A ||N B )를 계산하며 만약 MAC 2 =MAC 1 이면 노드 A는 노드 B에 대한 인증에 성공하고 SK AB 를 저장하여 노드 B와 세션 암호키로 하며, MAC 3 =H(MAK AB ,ID B ||N B )를 계산하여 ID B ||N B ||MAC 3 를 노드 B에 송신하는바, 여기서 F는 암호키 도출 계산법을 표시하고 H는 메시지 인증 코드 계산 방법을 표시하며, 이들 양자는 일방 함수이며, 노드 B는 노드 A의 메시지를 수신한 후 문의 N B 가 자신이 노드 A에 송신한 문의 N B 와 일치한지 여부를 검사하며, 만약 불일치하면 인증은 실패하고, 만약 일치하면 노드 B는 MAC 4 =H(MAK AB ,ID B ||N B )를 계산하며, 만약 MAC 4 =MAC 3 이면 노드 B는 노드 A에 대한 인증에 성공하고 노드 B는 SK AB 를 노드 A와의 세션 암호키로 저장하며, MAC 5 =H(MAK AB ,ID A ||N A )를 계산하여 메시지 ID A ||N A ||MAC 5 를 노드 A에 송신하는바, 여기서 F는 암호키 도출 계산법을 표시하고 H는 메시지 인증 코드 계산 방법을 표시하며, 이들 양자는 일방 함수인 것을 특징으로 하는 센서 네트워크의 암호키 관리 및 노드 인증 방법.
- 2제1항에 있어서, 네트워크의 배치 전에 배치 서버가 노드 사이의 보안 연결을 설립하기 위한 암호키를 모든 노드로 사전 배포하는 단계를 더 포함하는 것을 특징으로 하는 센서 네트워크의 암호키 관리 및 노드 인증 방법.
- 3제1항에 있어서, 상기 배치 서버가 노드 사이의 보안 연결을 설립하기 위한 암호키를 모든 노드로 사전 배포하는 구체적인 실현 방식에 있어서, 네트워크의 배치 전에 배치 서버가 암호키 풀의 초기화를 진행하여 암호키 풀 KP 를 생성하는 바, 해당 암호키 풀 KP 에는 여러 개의 암호키 및 그 암호키 식별자가 포함되며 암호키 풀 내의 암호키 개수를 | KP |라 하고 배치 서버는 안전하다고 가정하며, 사전 설정된 네트워크 연결성을 P c 라 하고 네트워크 내의 노드 수량을 n 이라 하며 각 노드는 모두 그에 대응되는 식별자 ID를 가지는 것으로 가정하고 노드의 디그리 d =( n -1)*(ln n -ln(-ln P c ))/ n 를 계산하며, 노드의 디그리 d 및 원하는 네트워크 배치 후의 노드의 인접 노드 수량 n '에 따라 상호 인접 노드 사이의 둘씩 암호키를 사전 공유하는 확률 p=d / n '를 계산하며, 배치 서버가 모든 노드를 위해 암호키를 할당하는 것을 특징으로 하는 센서 네트워크의 암호키 관리 및 노드 인증 방법.
- 4제3항에 있어서, 상기 배치 서버가 모든 노드를 위해 암호키를 할당하는 구체적인 실현 방식에 있어서, 노드 N i 에 대해, 배치 서버는 우선 N i 를 위해 ID 리스트를 구성하는바, ID 리스트에는 N_ID 필드, K_ID 필드, K_STA 필드, K_ATTR 필드, K_ATTR_EX 필드 및 K_VAL 필드가 포함되며, 여기서, N_ID 필드:노드 ID인바, 노드 N i 와 암호키를 공유하는 노드 신분 식별 값을 표시하며, K_ID 필드: 암호키 ID인바, 노드 N i 와 N_ID 필드에 의해 표시되는 노드 사이의 공유 암호키의 식별 값을 표시하며, K_STA 필드: 암호키 상태인바, K_ID 필드에 의해 표시되는 암호키의 상태를 표시하며, 노드 N i 와 N_ID 필드에 의해 표시된 노드가 쌍대키를 기 설립하였을 경우 K_STA 필드의 값은 기 설립이고, 반대일 경우에는 미 설립이며 해당 필드의 초기값은 미 설립이며, K_ATTR 필드: 암호키 속성인바, K_STA 필드의 값이 기 설립일 경우에 해당 필드의 값은 유효하며, K_ID 필드에 의해 표시되는 암호키가 공유 암호키인지 아니면 경로 암호키인지를 표시하며, 해당 필드의 초기 값은 공유 암호키를 표시하며, K_ATTR_EX 필드: 암호키 속성 확장인바, K_ATTR 필드에 의해 표시되는 암호키가 경로 암호키일 경우에 해당 필드의 값은 유효하며, 경로 암호키가 직접 연결 암호키인지 아니면 멀티 홉 연결 암호키인지를 표시하기 위한 것이며 해당 필드의 디폴트는 암호키의 직접 연결 암호키를 표시하며, K_VAL 필드: 암호키 값인바, K_ID 필드에 의해 표시되는 암호키 값을 저장하기 위한 것이며, N i 상에 ID 리스트를 설립한 후, 배치 서버는 남은 n -1 개의 노드 중에서 랜덤으로 n * p 개의 노드를 선택하고 이들의 노드 ID를 각각 N i 의 ID 리스트에 삽입한 다음 배치 서버는 ID 리스트 내의 각 항을 위해 중복되지 않게 암호키 풀 KP 에서 하나의 암호키를 선택하며, 이러한 암호키 식별자 및 이에 대응되는 암호키 값을 각각 N i 의 ID 리스트 내의 해당 K_ID 필드와 K_VAL 필드에 삽입하고 암호키 풀 KP 에서 해당 암호키 및 식별자를 삭제하며, 마지막으로 배치 서버는 t ( t < n ')개의 예비용 암호키 ID를 생성하되 예비용 암호키 ID는 모두 배치 서버에 의해 초기에 생성된 암호키 풀 KP 내의 암호키 ID와 중복되지 않으며 이들 또한 N i 에 로딩시키고, 배치 서버는 노드 N i 의 ID 리스트 내의 모든 정보를 기록하며, 노드 N j 에 대해, 배치 서버는 노드 N i 를 위해 암호키를 사전 배포한 후 노드 N j 를 위해 암호키를 사전 배포하기 시작하는바, 우선 배치 서버는 남은 n -1 개의 노드 중에서 랜덤으로 n*p 개의 노드를 선택하고 이들의 노드 ID를 각각 N j 의 ID 리스트에 삽입한 다음 배치 서버는 N j 의 ID 리스트 내의 각 항을 위해 중복되지 않게 암호키 풀 KP 에서 하나의 암호키를 선택하며, 이러한 암호키 식별자 및 이에 대응되는 암호키 값을 각각 N j 의 ID 리스트 내의 해당 K_ID 필드와 K_VAL 필드에 삽입하고 암호키 풀 KP 에서 해당 암호키 및 식별자를 삭제하지만, N j 을 위해 랜덤으로 선택된 n*p 개의 노드 중에 N i 가 포함될 경우 더 이상 N j 와 N i 에 암호키를 재할당하지 않는 대신 그 전에 N i 에 이미 할당된 양자 간의 공유 암호키를 이들에 할당하며, N j 의 ID 리스트 내의, N i 에 대응되는 항의 K_ID 필드와 K_VAL 필드 내에 상기 공유 암호키의 ID와 암호키 값을 각각 삽입하며, 배치 서버는 초기에 생성된 암호키 풀 KP 내의 암호키 ID 및 N i 의 예비용 암호키 ID와 중복되지 않는 t ( t < n ')개의 암호키 ID를 생성하며 이들 또한 N j 에 로딩시키고, 배치 서버는 노드 N j 의 ID 리스트 내의 모든 정보를 기록하며, 남은 노드에 대해, 배치 서버는 N j 를 위한 암호키를 배포한 후, 남은 모든 노드를 위해 순차적으로 암호키를 배포하며, 배포 방법은 노드 N j 와 같으며, 배치 서버는 모든 남은 노드의 ID 리스트 정보를 기록하는 것을 특징으로 하는 센서 네트워크의 암호키 관리 및 노드 인증 방법.
- 5제1항 또는 제4항에 있어서, 상기 각 노드와 그에 대응되는 인접 노드 사이에서 쌍대키를 설립하는 구체적인 실현 방식에 있어서, 네트워크 배치 후, 각 노드는 모두 그의 인접 노드를 향해 자신의 신분 식별 정보를 브로드캐스팅하며, 상기 인접 노드는, 신분 식별 정보를 송신하는 노드의 상기 브로드캐스팅 메시지를 수신한 후, 그에 포함된 신분 식별 정보에 따라 상기 신분 식별 정보를 송신하는 노드와 암호키를 공유하는지 여부를 판단하는바, 만약 자신의 ID 리스트 내의 N_ID 필드에 동일한 ID가 존재하면 자신과 상기 신분 식별 정보를 송신하는 노드가 암호키, 즉 쌍대키를 공유함을 표시하며, 해당 인접 노드는 해당 ID 리스트의 해당 항 내의 K_STA 필드를 기 설립으로 설정하여 상기 신분 식별 정보를 송신하는 노드와 쌍대키를 기 설립하였음으로 표시하는 것을 특징으로 하는 센서 네트워크의 암호키 관리 및 노드 인증 방법.
- 6제1항 또는 제4항에 있어서, 상기 각 노드와, 멀티 홉 보안 연결이 존재하는 노드 사이에서 쌍대키를 설립하는 구체적인 실현 방식에 있어서, 소스 노드와 목표 노드 사이에, 둘 사이마다 모두 공유 암호키가 존재하는 다수개의 노드로 구성된 하나의 보안 경로가 존재할 경우, 소스 노드는 하나의 경로 암호키 PK 를 생성하고 예비용 경로 암호키 ID로부터 중복되지 않게 하나의 ID를 선택하여, 목표 노드와의 보안 경로를 통해 해당 경로 암호키 PK 와 그에 대응되는 암호키 ID 및 자신의 ID와 목표 노드의 ID를 보안 경로상의 노드에 의한 홉별 암호화 및 복호화 전송을 통해 목표 노드에 송신하며, 목표 노드는 소스 노드의 암호키 메시지를 수신하고 복호화하여 경로 암호키 PK 를 획득한 후, 소스 노드와의 보안 경로를 통해 소스 노드에 암호키 설립 성공 메시지를 송신하여 소스 노드와의 보안 연결을 기 설립하였음을 표시하며, 이때 소스 노드와 목표 노드는 각각 상대방의 신분 식별 ID를 새로운 항으로 하여 자신의 ID 리스트 내에 삽입하고 PK 의 ID 및 PK 의 값을 해당 K_ID 필드와 K_VAL 필드에 삽입하며 해당 K_STA 필드를 기 설립으로 설정하고 K_ATTR 필드를 경로 암호키로 설정하며, 만약 소스 노드와 목표 노드 사이에서 경로 암호키를 설립할 시의 경로가 단일 홉이면, 즉 소스 노드와 목표 노드가 모두 상대방의 직접 통신 범위 내에 있음으로 표시되면, 해당 K_ATTR_EX 필드를 직접 연결 암호키로 설정하고, 그렇지 않을 경우 해당 K_ATTR_EX 필드를 멀티 홉 상호 연결 암호키로 설정하는 것을 특징으로 하는 센서 네트워크의 암호키 관리 및 노드 인증 방법.
- 7삭제
Independent claims7
45 paragraphs, as filed
Method of encryption key management and node authentication of sensor network {KEY MANAGEMENT AND NODE AUTHENTICATION METHOD FOR SENSOR NETWORK}
The present invention relates to the field of network security technology, and more particularly, to an encryption key management and node authentication method of a sensor network.
A sensor network consists of a large number of small, low-cost, battery-powered sensor nodes with wireless communication and monitoring capabilities. These nodes are densely placed in the monitoring area to achieve the purpose of monitoring the physical world. As a new research direction in information technology, wireless sensor networks have broad application prospects in environmental monitoring, military, homeland security, traffic control, regional safety prevention, forest fire prevention, target location estimation, and the like.
Since sensor networks are usually deployed in unmanned areas, especially hostile areas, communication between nodes is easily eavesdropped, tampered with, or reproduced, and the nodes themselves are easily captured, duplicated, or counterfeited, giving a great threat to network security. By introducing basic security mechanisms such as encryption key management and node authentication to detect and respond to the above security threats, it is necessary to ensure the safety of communication between nodes and effective verification of the legitimacy of node identity in the network. The encryption key management mechanism is the basis of sensor network security. Existing methods can be classified into three types: a method of sharing a single encryption key within the overall network, a method of bidirectionally sharing an encryption key between nodes, and a method of pre-distributing a random encryption key. Sensor network nodes are easily subjected to capture attacks and the storage resources of the nodes are strictly limited. Therefore, the first two encryption key management methods described above cannot resist node capture attacks or require a large amount of storage overhead. cannot be fully applied. The encryption key management method that pre-distributes the random encryption key is a relatively practical method at present, as it has excellent scalability, high encryption key connectivity, and excellent survivability. However, in the method, since one and the same encryption key can be distributed to different nodes multiple times, the node can only verify the legitimacy of the other party and can only verify the legitimacy of the other party in performing identity authentication based on the encryption key between the nodes. Since the identity cannot be verified, end-to-end identity authentication cannot be realized. Likewise, authentication mechanisms are fundamental to sensor network security. The currently proposed sensor network node authentication mechanism is mainly a lightweight, pre-shared encryption key-based authentication method, and the pre-shared encryption key used is generally provided by the encryption key management method employed by the network. When the network adopts the existing random encryption key pre-distribution method, the encryption key generated by it cannot provide an end-to-end authentication service for the network node, and can only verify the legitimacy of the other party and can confirm the specific identity of the other party. In this case, the sensor network cannot resist attacks such as capture, duplication, or counterfeiting of the node, and there is a huge security risk in the network.
<p>In order to solve the technical problem existing in the prior art, the present invention provides an encryption key management and node authentication method of a sensor network that can provide secure communication for a sensor network and provide an end-to-end node authentication service.</p>
<p>As a solution to the problems of the present invention, the present invention provides an encryption key management and node authentication method of a sensor network, the method comprising:</p><p>each node obtains an encryption key for establishing a secure connection between nodes, which is pre-distributed by the deployment server, and after network deployment, each node broadcasts its own identification information to all its neighboring nodes;</p><p>Each node determines whether or not a shared encryption key with the corresponding adjacent node exists according to the identification information received from the adjacent node. establishing a dual key between each node and a node having a multi-hop security connection when it is established and it is determined that the shared encryption key does not exist;</p><p>Before formal communication between each node, in order to confirm the legitimacy and validity of the identity of the other party, the step of performing identity authentication according to the established dual key is included.</p><p>Preferably, the method further comprises the step of pre-distributing, by the deployment server, an encryption key for establishing a secure connection between nodes to all nodes before deployment of the network.</p><p>Preferably, the specific realization method of the deployment server pre-distributing the encryption key for establishing a secure connection between nodes to all nodes is as follows.</p><p>Before network deployment, the deployment server initializes the encryption key pool and <i>KP</i>To create a bar, the corresponding encryption key pool <i>KP</i>includes several cryptographic keys and their cryptographic key identifiers, and the number of cryptographic keys in the cryptographic key pool |<i>KP</i>| and the deployment server is assumed to be secure,</p><p>Pre-set network connectivity <i>P</i><i><sub>c</sub></i>and the number of nodes in the network <i>n</i>Assuming that each node has an identifier ID corresponding to it, the degree of the node according to the representative random graph theory is <i>d</i>=(<i>n</i>-1)*(ln<i>n</i>-ln(-ln<i>P</i><i><sub>c</sub></i>))/<i>n</i> calculate,</p><p>degree of node<i>d</i> and the number of adjacent nodes of the node after the desired network deployment. <i>n</i>Probability of pre-sharing the encryption key between mutually adjacent nodes according to ' <i>p = d</i>/<i>n</i>' is calculated,</p><p>The deployment server allocates encryption keys for all nodes.</p><p>Preferably, the specific realization method in which the distribution server allocates encryption keys for all nodes is as follows.</p><p>node <i>N</i><i><sub>It's</sub></i><sub></sub>For, the batch server takes precedence <i>N</i><i><sub>It's</sub></i><sub></sub>For constituting an ID list, the ID list includes an N_ID field, a K_ID field, a K_STA field, a K_ATTR field, a K_ATTR_EX field, and a K_VAL field, </p><p>here, </p><p>N_ID field: node ID bar, node<i>N</i><i><sub>It's</sub></i> Displays the identification value of the node that shares the encryption key with</p><p>K_ID field: Encryption key ID, node <i>N</i><i><sub>It's</sub></i> and the identification value of the shared encryption key between the nodes indicated by the N_ID field,</p><p>K_STA field: It is an encryption key status, indicating the status of the encryption key indicated by the K_ID field, <i>N</i><i><sub>It's</sub></i> If the node indicated by the and N_ID field has previously established a dual key, the value of the K_STA field is established, otherwise, it is not established, and the initial value of the field is not established,</p><p>K_ATTR field: As an encryption key attribute, if the value of the K_STA field is already established, the value of the field is valid, and indicates whether the encryption key indicated by the K_ID field is a shared encryption key or a path encryption key, The initial value indicates the shared encryption key, </p><p>K_ATTR_EX field: This is an encryption key attribute extension. If the encryption key indicated by the K_ATTR field is a path encryption key, the value of the corresponding field is valid. Indicates whether the path encryption key is a direct connection encryption key or a multi-hop connection encryption key. For this purpose, the default of this field indicates the direct connection encryption key of the encryption key,</p><p>K_VAL field: As an encryption key value, it is to store the encryption key value indicated by the K_ID field,</p><p><i>N</i><i><sub>It's</sub></i> After establishing the ID list on the <i>n</i>-1 randomly among nodes <i>n</i>*<i>p</i> Select nodes and assign their node IDs to each <i>N</i><i><sub>It's</sub></i> After inserting it into the ID list of the batch server, the encryption key pool <i>KP</i> Select one encryption key from <i>N</i><i><sub>It's</sub></i><sub></sub>Insert into the corresponding K_ID field and K_VAL field in the ID list of <i>KP</i>deletes the corresponding encryption key and identifier from <i>t</i>(<i>t</i><<i>n</i>') spare encryption key IDs, but all spare encryption key IDs are the encryption key pool initially created by the batch server <i>KP</i> It does not overlap with the encryption key identifier ID in the <i>N</i><i><sub>It's</sub></i> loaded on the node, and the deployment server <i>N</i><i><sub>It's</sub></i> Record all information in the ID list of <i>KP</i> It is to display the dual key not included in the</p><p>node <i>N</i><i><sub>j</sub></i> For, the deployment server is a node <i>N</i><i><sub>It's</sub></i> After pre-distributing the encryption key for<i>N</i><i><sub>j</sub></i> We start to distribute the encryption key in advance for<i>n</i>-1 randomly among nodes <i>n*p</i> Select nodes and assign their node IDs to each <i>N</i><i><sub>j</sub></i> After inserting it into the ID list of the batch server <i>N</i><i><sub>j</sub></i> A non-duplicate cryptographic key pool for each item in the ID list of <i>KP</i> Select one encryption key from <i>N</i><i><sub>j</sub></i><sub></sub>Insert into the corresponding K_ID field and K_VAL field in the ID list of <i>KP</i>Deletes the encryption key and identifier from <i>N</i><i><sub>j</sub></i><sub></sub>randomly selected for <i>n*p</i> among the nodes <i>N</i><i><sub>It's</sub></i> no more if included <i>N</i><i><sub>j</sub></i><sub></sub>Wow <i>N</i><i><sub>It's</sub></i> Instead of reassigning the encryption key to <i>N</i><i><sub>It's</sub></i> Allocating the shared encryption key between the two previously assigned to them, <i>N</i><i><sub>j</sub></i><sub></sub>in the ID list of <i>N</i><i><sub>It's</sub></i> Inserts the ID and encryption key value of the shared encryption key into the K_ID field and the K_VAL field of the corresponding clause, respectively, and the batch server creates an initially generated encryption key pool <i>KP</i> encryption key ID and <i>N</i><i><sub>It's</sub></i> does not overlap with the spare encryption key ID of <i>t</i>(<i>t</i><<i>n</i>') generate spare encryption key IDs, and these also <i>N</i><i><sub>j</sub></i> loaded on the node, and the deployment server <i>N</i><i><sub>j</sub></i> Record all information in the ID list of</p><p>For the remaining nodes, the deployment server <i>N</i><i><sub>j</sub></i> After distributing the encryption key for <i>N</i><i><sub>j</sub></i> and the batch server records the ID list information of all remaining nodes.</p><p>Preferably, a specific realization method in which each node and an adjacent node establish a dual key is as follows.</p><p>After network deployment, each node broadcasts its own identification information to all its neighboring nodes,</p><p>After receiving the broadcasting message, the neighboring node determines whether or not it shares the encryption key with the broadcasting node according to the identification information included therein. If the same ID exists in the N_ID field in its ID list indicates that the node and itself share an encryption key, that is, a twin key, and the adjacent node has previously established a twin key with the broadcasting node by setting the K_STA field in the corresponding term of the ID list to established. , that is, indicates that a direct secure connection has already been established.</p><p>Preferably, a specific realization method in which each node and a node having a multi-hop security connection establish a dual key is as follows.</p><p>If there is one secure path between the source node and the target node, consisting of a plurality of nodes in which a shared encryption key exists for both, the source node has one path encryption key. <i>PK</i>, and select one ID not to be duplicated from the spare path encryption key ID, and pass the path encryption key through the secure path to the target node. <i>PK</i>and the corresponding encryption key ID and own ID and target node's ID are transmitted to the target node through hop-by-hop encryption and decryption transmission by nodes on the secure path,</p><p>The target node receives and decrypts the source node's encryption key message to <i>PK</i>After obtaining , the encryption key establishment success message is sent to the source node through a secure path with the source node to indicate that a secure connection with the source node has been established, where the source node and the target node each identify each other Insert ID into your ID list as a new term, <i>PK</i>ID and <i>PK</i>Inserts the value of in the K_ID field and the K_VAL field, sets the K_STA field to established, and sets the K_ATTR field as the path encryption key. If it is, that is, when it is indicated that both the source node and the target node are within the direct communication range of the counterpart, the corresponding K_ATTR_EX field is set as the direct connection encryption key, otherwise, the corresponding K_ATTR_EX field is set as the multi-hop interconnection encryption key.</p><p>Preferably, before formal communication between the respective nodes, in order to confirm the legitimacy and validity of the identity of the other party, a specific realization method of performing identity authentication according to the established dual key is as follows.</p><p>Node A sends message ID to Node B<sub>B</sub>||K_ID<sub>AB</sub>||N<sub>A</sub>request to start authentication with Node B by sending<sub>AB</sub>denotes the identifiers of the pre-shared cryptographic keys of Node A and Node B, and N<sub>A</sub>represents the random number generated by node A and ID<sub>B</sub>represents the identity identifier of Node B,</p><p>After receiving the authentication request from node A, node B first receives the ID in the request message.<sub>B</sub>Determines whether or not is the same as its identity identifier ID. If it is different, Node B discards the request message. If it is the same, Node B determines whether K_ID in its ID list<sub>AB</sub>It is determined whether the encryption key corresponding to<sub>B</sub>Create a K_ID in the ID list<sub>AB</sub>The value of the K_VAL field corresponding to<sub>AB</sub>ID using<sub>A</sub>, ID<sub>B</sub>, N<sub>A</sub>, N<sub>B</sub>according to MAK<sub>AB</sub>||SK<sub>AB</sub>=F(PSK<sub>AB</sub>,ID<sub>A</sub>||ID<sub>B</sub>||N<sub>A</sub>||N<sub>B</sub>), where MAK<sub>AB</sub>is the message authentication encryption key between node A and node B, and SK<sub>AB</sub>is the session encryption key between node A and node B, then MAK<sub>AB</sub>Message authentication code using MAC<sub>1</sub>=H(MAK<sub>AB</sub>, ID<sub>A</sub>||N<sub>A</sub>||N<sub>B</sub>) and create a message ID<sub>A</sub>||N<sub>A</sub>||N<sub>B</sub>||MAC<sub>1</sub>is constructed and sent to node A, where F indicates the encryption key derivation calculation method and H indicates the message authentication code calculation method, both of which are one-way functions,</p><p>After node A receives the message from node B, first, the query N in the message<sub>A</sub>Inquiry N sent by<sub>A</sub>Checks whether it matches the MAK<sub>AB</sub>||SK<sub>AB</sub>=F(PSK<sub>AB</sub>,ID<sub>A</sub>||ID<sub>B</sub>||N<sub>A</sub>||N<sub>B</sub>) by calculating the MAK<sub>AB</sub>Message authentication code using MAC<sub>2</sub>=H(MAK<sub>AB</sub>, ID<sub>A</sub>||N<sub>A</sub>||N<sub>B</sub>), and if MAC<sub>2</sub>=MAC<sub>1</sub>Then, node A succeeds in authentication to node B and SK<sub>AB</sub>is stored as the session encryption key with Node B, and MAC<sub>3</sub>=H(MAK<sub>AB</sub>,ID<sub>B</sub>||N<sub>B</sub>) to calculate the ID<sub>B</sub>||N<sub>B</sub>||MAC<sub>3</sub>to node B, where F denotes the encryption key derivation calculation method and H denotes the message authentication code calculation method, both of which are one-way functions, </p><p>Node B receives the message from Node A and then asks N<sub>B</sub>Inquiry N sent by itself to node A by<sub>B</sub>Checks whether it matches the MAC<sub>4</sub>=H(MAK<sub>AB</sub>,ID<sub>B</sub>||N<sub>B</sub>), and if MAC<sub>4</sub>=MAC<sub>3</sub>, then Node B succeeds in authentication to Node A, and Node B is SK<sub>AB</sub>is stored as the session encryption key with node A, and MAC<sub>5</sub>=H(MAK<sub>AB</sub>,ID<sub>A</sub>||N<sub>A</sub>) to calculate the message ID<sub>A</sub>||N<sub>A</sub>||MAC<sub>5</sub>is sent to node A, where F denotes an encryption key derivation calculation method and H denotes a message authentication code calculation method, both of which are one-way functions.</p>
<p>As can be seen from the above technology, the present invention realizes secure communication between sensor network nodes by mutually combining encryption key management and node authentication mechanism, and at the same time provides an end-to-end identity authentication service between nodes, eavesdropping, tampering and It can effectively resist attacks on network communication, such as regeneration, and realize secure communication between nodes. provides a basic network security solution for sensor networks. In addition, the encryption key management and node authentication method proposed in the present invention has a low overhead compared to the storage and calculation of the existing method, and can effectively reduce the resource of the sensor network node and extend the service life of the sensor network.</p>
1 is a flowchart of a sensor network encryption key management and node authentication method provided by the present invention; Fig. 2 is a flow chart of inter-node identity authentication provided by the present invention.
Referring to FIG. 1, there is shown a flowchart of an encryption key management and node authentication method of a sensor network provided in the present invention, and the method includes the following steps.
Step 101: Each node obtains an encryption key for establishing a secure connection between nodes, which is pre-distributed by the deployment server, and after network deployment, each node broadcasts its own identification information to all its neighboring nodes.
Step 102: Each node determines whether a shared encryption key with the corresponding neighbor node exists according to the identification information received from the neighbor node, and if there is, executes steps 103 and 105; 104 and step 105 are executed.
Step 103: A dual key is established between each node and its adjacent node.
Step 104: A twin key is established between each node and a node where a multi-hop secure connection exists.
Step 105: Before formal communication between each node, in order to confirm the legitimacy and validity of the identity of the other party, identity authentication is performed according to the established dual key.
Preferably, the method may further include a step of pre-distributing the encryption key, in which the deployment server pre-distributes the communication encryption key for establishing a secure connection between the nodes to all nodes before deployment of the network, and the specific implementation method Is as follows.
1.1) Before network deployment, the deployment server initializes the encryption key pool and <i>KP</i>To create a bar, the corresponding encryption key pool <i>KP</i>includes several cryptographic keys and their cryptographic key identifiers, and the number of cryptographic keys in the cryptographic key pool |<i>KP</i>| and the deployment server is assumed to be secure.
1.2) Pre-set network connectivity <i>P</i><i><sub>c</sub></i>and the number of nodes in the network <i>n</i>It is assumed that each node has an identifier ID corresponding to it, and the degree of the node is assumed according to the representative random graph theory. <i>d</i>=(<i>n</i>-1)*(ln<i>n</i>-ln(-ln<i>P</i><i><sub>c</sub></i>))/<i>n</i> , and a preset number of network nodes to ensure relatively good scalability. <i>n</i>is somewhat larger than the actual number of network nodes.
1.3) Degree of Node<i>d</i> and the number of adjacent nodes of the node after the desired network deployment. <i>n</i>Probability of pre-sharing the encryption key between mutually adjacent nodes according to ' <i>p = d</i>/<i>n</i>' is calculated.
1.4) The encryption key is pre-distributed for the nodes, and the deployment server allocates the encryption key to all nodes, and the specific implementation method is as follows.
1.4.1) Nodes <i>N</i><i><sub>It's</sub></i>For, the batch server takes precedence <i>N</i><i><sub>It's</sub></i><sub></sub>For constituting an ID list, the ID list includes an N_ID field, a K_ID field, a K_STA field, a K_ATTR field, a K_ATTR_EX field, and a K_VAL field,
<img file="KR101447339B1_D0001.tif" />
here,
N_ID field: node ID bar, node <i>N</i><i><sub>It's</sub></i> Displays the identification value of the node that shares the encryption key with
K_ID field: Encryption key ID, node <i>N</i><i><sub>It's</sub></i> and the identification value of the shared encryption key between the nodes indicated by the N_ID field,
K_STA field: It is an encryption key status, indicating the status of the encryption key indicated by the K_ID field, <i>N</i><i><sub>It's</sub></i> If the node indicated by the and N_ID fields has previously established a twin key, the value of the K_STA field is "established", otherwise, "not established", and the initial value of the field is "not established".
K_ATTR field: As an encryption key attribute, if the value of the K_STA field is "established", the value of the corresponding field is valid, and indicates whether the encryption key indicated by the K_ID field is a shared encryption key or a path encryption key, The initial value of this field indicates the shared secret key,
K_ATTR_EX field: This is an encryption key attribute extension. If the encryption key indicated by the K_ATTR field is a path encryption key, the value of the corresponding field is valid. Indicates whether the path encryption key is a direct connection encryption key or a multi-hop connection encryption key. For this purpose, the default of this field indicates the direct connection encryption key of the encryption key,
K_VAL field: As an encryption key value, it is to store the encryption key value indicated by the K_ID field.
<i>N</i><i><sub>It's</sub></i> After establishing the ID list on the <i>n</i>-1 randomly among nodes <i>n</i>*<i>p</i> Select nodes and assign their node IDs to each <i>N</i><i><sub>It's</sub></i> After inserting it into the ID list of the batch server, the encryption key pool <i>KP</i> Select one encryption key from <i>N</i><i><sub>It's</sub></i><sub></sub>Insert into the corresponding K_ID field and K_VAL field in the ID list of <i>KP</i>deletes the corresponding encryption key and identifier from <i>t</i>(<i>t</i><<i>n</i>') spare encryption key IDs are generated, but the spare encryption key IDs are the encryption key pool initially created by the batch server. <i>KP</i> It does not overlap with the encryption key ID in the <i>N</i><i><sub>It's</sub></i> loaded on the node, and the deployment server <i>N</i><i><sub>It's</sub></i> Record all information in the ID list of <i>KP</i> This is to display a dual key that is not included within.
1.4.2) Nodes <i>N<sub>j</sub></i> For, the deployment server is a node <i>N<sub>It's</sub></i> After pre-distributing the encryption key for <i>N<sub>j</sub></i> Start distributing encryption keys in advance for First, the batch server is<i>n</i>-1 randomly among nodes <i>n*p</i> Select nodes and assign their node IDs to each <i>N<sub>j</sub></i> After inserting it into the ID list of the batch server <i>N<sub>j</sub></i> A non-duplicate cryptographic key pool for each item in the ID list of <i>KP</i> Select one encryption key from <i>N<sub>j</sub></i><sub></sub>Insert into the corresponding K_ID field and K_VAL field in the ID list of <i>KP</i>Deletes the encryption key and identifier from <i>N<sub>j</sub></i><sub></sub>randomly selected for <i>n*p</i> among the nodes <i>N<sub>It's</sub></i> no more if included <i>N<sub>j</sub></i><sub></sub>Wow <i>N<sub>It's</sub></i> Instead of reassigning the encryption key to <i>N<sub>It's</sub></i> Allocating the shared encryption key between the two already assigned to them, <i>N<sub>j</sub></i><sub></sub>in the ID list of <i>N<sub>It's</sub></i> Inserts the ID and encryption key value of the shared encryption key into the K_ID field and the K_VAL field of the corresponding clause, respectively, and the batch server creates an initially generated encryption key pool <i>KP</i> encryption key ID and <i>N<sub>It's</sub></i> does not overlap with the spare encryption key ID of <i>t</i>(<i>t</i><<i>n</i>') encryption key IDs are generated, and these are also <i>N<sub>j</sub></i><sub></sub>loaded on the node, and the deployment server <i>N<sub>j</sub></i> Record all information in the ID list of
1.4.3) For the remaining nodes, the deployment server <i>N</i><i><sub>j</sub></i> After distributing the encryption key for <i>N</i><i><sub>j</sub></i> same as Similarly, the batch server records the ID list information of all remaining nodes.
In steps 101 to 104, that is, after the network is deployed, a dual key is established for secure connection between each node, and the specific realization method is as follows.
2.1) Establishing a shared encryption key The specific implementation method of establishing a twin key with an adjacent node where the shared encryption key exists is as follows.
2.1.1) After network deployment, each node broadcasts its own identification information to all its neighboring nodes,
2.1.2) After receiving the broadcasting message in 2.1.1), the neighboring node determines whether or not it shares the encryption key with the broadcasting node according to the identification information included therein. If its ID If the same ID exists in the N_ID field in the list, it indicates that the node and the node share an encryption key, that is, a twin key. .1) indicates that a pair of keys has been established with the node broadcasting in .1), that is, a direct security connection has already been established.
2.2) Establishing a path encryption key, the specific realization method of establishing a dual key with a node that does not have a shared encryption key but has a multi-hop security connection is as follows.
2.2.1) If there is one secure path between the source node and the target node, consisting of a plurality of nodes in which a shared encryption key exists for both, the present invention will not discuss how to establish the secure path. , the source node has one path encryption key <i>PK</i>, and select one ID not to be duplicated from the spare path encryption key ID, and pass the path encryption key through the secure path to the target node. <i>PK</i>and the corresponding encryption key ID and own ID and target node's ID are transmitted to the target node through hop-by-hop encryption and decryption transmission by nodes on the secure path,
2.2.2) The target node receives and decrypts the source node's encryption key message to <i>PK</i>After obtaining , the encryption key establishment success message is sent to the source node through a secure path with the source node to indicate that a secure connection with the source node has been established, where the source node and the target node each identify each other Insert ID into your ID list as a new term, <i>PK</i>ID and <i>PK</i>Inserts the value of in the K_ID field and K_VAL field, sets the K_STA field to "established" and sets the K_ATTR field to "path encryption key". If the path of is a single hop, that is, if both the source node and the target node are indicated to be within the direct communication range of the other party, the corresponding K_ATTR_EX field is set to "direct connection encryption key"; otherwise, the corresponding K_ATTR_EX field is set to "multi-hop". Interconnection encryption key".
In step 105, node identity authentication is performed. Before formal communication between nodes, identity verification must be performed to confirm the legitimacy and validity of the counterpart's identity. Specifically, FIG. 2 is a flowchart showing identity authentication between nodes provided in the present invention. In this embodiment, node A and node B are taken as an example, and the node authentication method is as follows.
3.1) Node A sends message ID to Node B<sub>B</sub>||K_ID<sub>AB</sub>||N<sub>A</sub>request to start authentication with Node B by sending<sub>AB</sub>denotes the identifiers of the pre-shared cryptographic keys of Node A and Node B, and N<sub>A</sub>represents the random number generated by node A and ID<sub>B</sub>represents the identity identifier of Node B,
3.2) After receiving Node A's authentication request, Node B first receives the ID in the request message.<sub>B</sub>Determines whether or not is the same as its identity identifier ID. If it is different, Node B discards the request message. If it is the same, Node B determines whether K_ID in its ID list<sub>AB</sub>It is determined whether the encryption key corresponding to<sub>B</sub>Create a K_ID in the ID list<sub>AB</sub>The value of the K_VAL field corresponding to<sub>AB</sub>ID using<sub>A</sub>, ID<sub>B</sub>, N<sub>A</sub>, N<sub>B</sub>according to MAK<sub>AB</sub>||SK<sub>AB</sub>=F(PSK<sub>AB</sub>,ID<sub>A</sub>||ID<sub>B</sub>||N<sub>A</sub>||N<sub>B</sub>), where MAK<sub>AB</sub>is the message authentication encryption key between node A and node B, and SK<sub>AB</sub>is the session encryption key between node A and node B. Then MAK<sub>AB</sub>Message authentication code using MAC<sub>1</sub>=H(MAK<sub>AB</sub>, ID<sub>A</sub>||N<sub>A</sub>||N<sub>B</sub>) and create a message ID<sub>A</sub>||N<sub>A</sub>||N<sub>B</sub>||MAC<sub>1</sub>is constructed and sent to node A, where F denotes an encryption key derivation calculation method and H denotes a message authentication code calculation method, both of which are generally one-way functions, and so on.
3.3) After node A receives the message from node B, it first receives the query N in the message.<sub>A</sub>Inquiry N sent by itself in step 3.1)<sub>A</sub>Checks whether it matches the MAK<sub>AB</sub>||SK<sub>AB</sub>=F(PSK<sub>AB</sub>,ID<sub>A</sub>||ID<sub>B</sub>||N<sub>A</sub>||N<sub>B</sub>) by calculating the MAK<sub>AB</sub>Message authentication code using MAC<sub>2</sub>=H(MAK<sub>AB</sub>,ID<sub>A</sub>||N<sub>A</sub>||N<sub>B</sub>), and if MAC<sub>2</sub>=MAC<sub>1</sub>Then, node A succeeds in authentication to node B and SK<sub>AB</sub>is stored as a session encryption key with node B, and MAC<sub>3</sub>=H(MAK<sub>AB</sub>,ID<sub>B</sub>||N<sub>B</sub>) to calculate the ID<sub>B</sub>||N<sub>B</sub>||MAC<sub>3</sub>is sent to Node B.
3.4) Node B receives the message from Node A and then asks N<sub>B</sub>Inquiry N sent by itself to node A in step 3.2)<sub>B</sub>Checks whether it matches the MAC<sub>4</sub>=H(MAK<sub>AB</sub>,ID<sub>B</sub>||N<sub>B</sub>), and if MAC<sub>4</sub>=MAC<sub>3</sub>, then Node B succeeds in authentication to Node A, and Node B is SK<sub>AB</sub>is stored as the session encryption key with node A, and MAC<sub>5</sub>=H(MAK<sub>AB</sub>,ID<sub>A</sub>||N<sub>A</sub>) to calculate the message ID<sub>A</sub>||N<sub>A</sub>||MAC<sub>5</sub>is sent to node A, and the authentication process is terminated.
The present invention is based on an encryption key management method of a sensor network in which a random encryption key is distributed in advance and an encryption key is shared by both nodes between nodes, encryption key management and node authentication of a sensor network to provide secure communication between sensor network nodes Propose the implementation process of the method. In addition, based on the encryption key generated by the method and the binding relationship between the encryption key and the node ID, end-to-end identity authentication between sensor network nodes is realized by sharing the encryption key in advance.
The above content is only a preferred embodiment of the present invention, and for those skilled in the art, various advances and modifications can be made under the premise that does not deviate from the principles of the present invention, and such advances and modifications are also within the protection scope of the present invention. It is self-evident that it should belong.
4 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| KR20160097983A | Cited by | Republic of Korea | Search report |
| US7486795B2 | Cites | United States of America | Search report |
| US07486795B2 | Cites | United States of America | – |
| A key-management scheme for distributed sensor networks, proceedings of the 9th ACM conference on computer and communications security, november 18~22, 2002. | Non-patent | – | – |
| A key-management scheme for distributed sensor networks, proceedings of the 9th ACM conference on computer and communications security, november 18~22, 2002. | Non-patent | – | Search report |
10 members in 5 offices
Priority claims3
| Document | Office | Kind | Date |
|---|---|---|---|
| 2009102186269 | China | – | |
| 200910218626 | China | A | |
| 2010073466 | China | W |
Members10
| Document | Office | Kind | |
|---|---|---|---|
| CN101699891A | China | A | |
| WO2011047548A1 | World Intellectual Property Organization (WIPO) | A1 | |
| CN101699891B | China | B | |
| KR20120085826A | Republic of Korea | A | |
| EP2493229A1 | European Patent Office (EPO) | A1 | |
| US2012300939A1 | United States of America | A1 | |
| EP2493229A4 | European Patent Office (EPO) | A4 | |
| KR101447339B1This record | Republic of Korea | B1 | |
| EP2493229B1 | European Patent Office (EPO) | B1 | |
| US8913751B2 | United States of America | B2 |
7 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Ip right lapsedLapsedST27 STATUS EVENT CODE: N-4-6-H10-H13-OTH-PC1903 (AS PROVIDED BY THE NATIONAL OFFICE); TERMINATION CATEGORY : DEFAULT_OF_REGISTRATION_FEEH13 | H13 | |
| Annual fee paymentFPAY | FPAY | |
| Written decision to grantGRNT | GRNT | |
| Decision to grant or registration of patent rightE701 | E701 | |
| Notification of reason for refusalE902 | E902 | |
| Notification of reason for refusalE902 | E902 | |
| Request for examinationA201 | A201 |
Numbers
- Publication
- 10-1447339
- Application
- 1020127013069
Titles4
- Korean
- 센서 네트워크의 암호키 관리 및 노드 인증 방법
- English
- KEY MANAGEMENT AND NODE AUTHENTICATION METHOD FOR SENSOR NETWORK
- Unlabeled
- 센서 네트워크의 암호키 관리 및 노드 인증 방법{KEY MANAGEMENT AND NODE AUTHENTICATION METHOD FOR SENSOR NETWORK}
- Unlabeled
- Method of encryption key management and node authentication of sensor network {KEY MANAGEMENT AND NODE AUTHENTICATION METHOD FOR SENSOR NETWORK}
Classification
- CPC, 10
- H04L63/061
- H04L9/32
- H04L63/1441
- H04L63/062
- H04L63/08
- H04W84/18
- H04L67/12
- H04W12/041
- H04W12/069
- H04L9/08
- IPC, 4
- H04L9 08
- H04L9 32
- H04W12 0431
- H04W12 06