KR101447339B1

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

KR101447339B1, drawing sheet 1
Sheet 1 of 4

Term

3.7 yearsleft in the term

Expires 2 June 2030.

  1. Priority
  2. Filed
  3. Granted
  4. Today
  5. Expires

7 claims: 2 independent, 5 dependent

  1. 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. 2
    제1항에 있어서, 네트워크의 배치 전에 배치 서버가 노드 사이의 보안 연결을 설립하기 위한 암호키를 모든 노드로 사전 배포하는 단계를 더 포함하는 것을 특징으로 하는 센서 네트워크의 암호키 관리 및 노드 인증 방법.
  3. 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. 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. 5
    제1항 또는 제4항에 있어서, 상기 각 노드와 그에 대응되는 인접 노드 사이에서 쌍대키를 설립하는 구체적인 실현 방식에 있어서, 네트워크 배치 후, 각 노드는 모두 그의 인접 노드를 향해 자신의 신분 식별 정보를 브로드캐스팅하며, 상기 인접 노드는, 신분 식별 정보를 송신하는 노드의 상기 브로드캐스팅 메시지를 수신한 후, 그에 포함된 신분 식별 정보에 따라 상기 신분 식별 정보를 송신하는 노드와 암호키를 공유하는지 여부를 판단하는바, 만약 자신의 ID 리스트 내의 N_ID 필드에 동일한 ID가 존재하면 자신과 상기 신분 식별 정보를 송신하는 노드가 암호키, 즉 쌍대키를 공유함을 표시하며, 해당 인접 노드는 해당 ID 리스트의 해당 항 내의 K_STA 필드를 기 설립으로 설정하여 상기 신분 식별 정보를 송신하는 노드와 쌍대키를 기 설립하였음으로 표시하는 것을 특징으로 하는 센서 네트워크의 암호키 관리 및 노드 인증 방법.
  6. 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. 7
    삭제