KR101336144B1 - 네트워크에서의 키 관리 방법 및 시스템, 및 소스 인증 방법 및 시스템 - Google Patents
네트워크에서의 키 관리 방법 및 시스템, 및 소스 인증 방법 및 시스템 Download PDFInfo
- Publication number
- KR101336144B1 KR101336144B1 KR1020120096275A KR20120096275A KR101336144B1 KR 101336144 B1 KR101336144 B1 KR 101336144B1 KR 1020120096275 A KR1020120096275 A KR 1020120096275A KR 20120096275 A KR20120096275 A KR 20120096275A KR 101336144 B1 KR101336144 B1 KR 101336144B1
- Authority
- KR
- South Korea
- Prior art keywords
- entity
- key
- value
- master
- sender
- Prior art date
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/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/083—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
- H04L9/0833—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
- H04L9/0836—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key using tree structure or hierarchical structure
-
- 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/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- 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/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- 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/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
-
- 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/3263—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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Power Engineering (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
본 발명의 키 관리 방법은 네트워크에서의 마스터 및 상기 마스터에 종속된 엔티티의 키를 관리하는 방법에 있어서, (a) 상기 마스터가 상기 마스터를 루트 노드로 하여 이진 트리를 생성하는 단계; (b) 상기 마스터가 상기 루트 노드의 비밀 값을 설정하고 해시 연산을 통해 상기 이진 트리 내의 모든 노드에 비밀 키를 생성하는 단계; (c) 상기 마스터가 상기 이진 트리의 리프 노드에 상기 엔티티 중 RTU(Remote Terminal Unit)를 배치하는 단계; 및 (d) 상기 마스터가 각각의 리프 노드에 배치된 엔티티에게 상기 루트 노드로부터 상기 각각의 리프 노드로 오는 경로를 제외한 모든 노드의 비밀 키 값의 세트를 제공하는 단계를 포함한다.
Description
본 발명은 키 관리 방법 및 시스템, 및 소스 인증 방법 및 시스템에 관한 것으로, 보다 상세하게는 스마트 그리드 네트워크에서 유니 캐스트, 멀티 캐스트, 브로드 캐스트 통신을 위한 키 관리 방법 및 시스템, 및 악의적의 데이터 판별을 위한 소스 인증 방법 및 시스템에 관한 것이다.
종래 전력 시스템은 단방향의 기존 전력망 비즈니스 구조였으나 정보통신기술(ICT)을 접목, 공급자와 소비자 간에 양방향으로 실시간 정보를 교환함으로써 에너지 효율을 최적화한 지능형 전력망으로 한국과 미국을 포함한 세계 주요 각국에서 차세대 기술로 각광받고 있다.
보안성 있는 통신을 위해 키 관리 프로토콜로 대칭 암호를 사용할 수 있지만 이러한 키 관리를 사용하였을 때 무수한 엔티티들에 대한 암호를 관리해야 되므로 확장성이나 효율적인 측면에서 좋은 효과를 기대하기 힘들다. 또한 종래의 키 관리 프로토콜은 단순히 유니 캐스트 혹은 브로드 캐스트만을 지원하기 때문에, 안전한 멀티 캐스트 통신을 지원하지 못하는 문제점이 있었다. 뿐만 아니라 종래의 안전한 유니 캐스트, 멀티 캐스트 통신을 위한 키 관리 프로토콜은 다음과 같은 문제점이 존재한다. 먼저, 안전한 유니 캐스트 및 멀티 캐스트 통신을 위한 비밀 키를 공유하는 과정에서 운영자의 도움을 필요로 하지 않는다는 점이다. 엔티티 자신의 신분이 비밀 키의 계산에 사용되므로 비밀 키를 공유하는 서로의 신분을 알아야 하고 그와 동시에 비밀 키를 보호하기 위하여 그들의 정체성은 다른 엔티티들로부터 비밀로 유지되어야 한다. 이 과정은 운영자의 도움 없이는 안전한 통신을 위한 비밀 키 공유가 어렵다는 것을 의미한다. 따라서 이러한 모순 때문에 기존에 제안된 키 관리 프로토콜은 신뢰성을 보증한다고 볼 수 없다.
상술한 문제점을 해결하기 위한 본 발명의 목적은 이진 트리를 사용하여 3가지 통신을 지원하고 사용 그룹에 따라 키를 생성하므로 통신의 무결성을 제공하는 네트워크에서의 키 관리 방법 및 시스템을 제공하는 것이다. 즉, 해시 함수(Hash Function)와 XOR과 같이 빠른 연산을 사용하여 그룹이 아닌 엔티티에 대한 전방향/후방향 안전성 문제를 극복한 안전하고 효율적인 그룹 키 분배 방법 및 시스템을 제공한다.
본 발명의 다른 목적은 스마트 그리드와 같이 한 국가의 전력을 담당하는 시스템에서 사회 기반시설에 전력 공급이 일방적으로 중단되지 않아야 하기 때문에, 병원이나 도로 등, 전력 공급이 중요한 사회 기반 시설에 전력이 일방적으로 중단되지 않도록 전력 중단 명령이 내려진 엔티티의 ID를 통하여 공급 중단 여부를 판단할 수 있도록 하는 네트워크에서의 소스 인증 방법 및 시스템을 제공하는 것이다.
상기한 목적을 달성하기 위한 본 발명의 키 관리 방법은 네트워크에서의 마스터 및 상기 마스터에 종속된 엔티티의 키를 관리하는 방법에 있어서, (a) 상기 마스터가 상기 마스터를 루트 노드로 하여 이진 트리를 생성하는 단계; (b) 상기 마스터가 상기 루트 노드의 비밀 값을 설정하고 해시 연산을 통해 상기 이진 트리 내의 모든 노드에 비밀 키를 생성하는 단계; (c) 상기 마스터가 상기 이진 트리의 리프 노드에 상기 엔티티 중 RTU(Remote Terminal Unit)를 배치하는 단계; 및 (d) 상기 마스터가 각각의 리프 노드에 배치된 엔티티에게 상기 루트 노드로부터 상기 각각의 리프 노드로 오는 경로를 제외한 모든 노드의 비밀 키 값의 세트를 제공하는 단계를 포함할 수 있다.
상기 엔티티는 RTU(Remote Terminal Unit), MTU(Master Terminal Unit) 및 서브 MTU(sub-MTU) 중 적어도 어느 하나를 포함할 수 있다.
상기 (b) 단계는 상기 마스터가 왼쪽 자식 노드에는 해시 레프트(HL) 연산을, 오른쪽 자식 노드에는 해시 라이트(HR) 연산을 상기 리프 노드까지 순차적으로 수행함으로써 상기 이진 트리 내의 모든 노드의 비밀 키 값을 생성하는 단계를 포함할 수 있다.
상기 키 관리 방법은 상기 마스터가 상기 이진 트리에서 탈퇴하고자 하는 엔티티로부터 탈퇴 요청을 수신하는 단계; 상기 마스터가 상기 탈퇴하고자 하는 엔티티 이외의 모든 엔티티에게 탈퇴 관련 메시지를 브로드캐스팅하는 단계; 및 상기 탈퇴 관련 메시지를 수신한 모든 엔티티가 상기 탈퇴 관련 메시지를 기반으로 새로운 브로드캐스트 키로 업데이트하는 단계를 더 포함할 수 있다.
상기 탈퇴 관련 메시지는 상기 탈퇴하고자 하는 엔티티의 비밀 키 값을 포함하고, 상기 새로운 브로드 캐스트 키는 상기 탈퇴하고자 하는 엔티티의 비밀 키 값과 상기 탈퇴하고자 하는 엔티티 이외의 모든 엔티티의 브로드캐스트 키와 XOR 연산을 수행한 후, 해시 연산을 수행하여 업데이트될 수 있다.
상기 키 관리 방법은 상기 마스터가 상기 이진 트리에 가입하고자 하는 엔티티로부터 가입 요청을 수신하는 단계; 상기 마스터가 상기 가입하고자 하는 엔티티에게 빈 리프 노드를 할당하는 단계; 상기 가입하고자 하는 엔티티에게 상기 루트 노드로부터 새로 할당된 리프 노드까지의 경로를 갖는 비밀 키 값을 할당하는 단계; 상기 가입하고자 하는 엔티티 이외의 모든 엔티티에게 가입 관련 메시지를 브로드캐스팅하는 단계; 및 상기 가입 관련 메시지를 수신한 모든 엔티티가 상기 가입 관련 메시지를 기반으로 새로운 브로드캐스트 키로 업데이트하는 단계를 포함할 수 있다.
상기 가입 관련 메시지는 상기 가입하고자 하는 엔티티의 비밀 키 값을 포함하고, 상기 새로운 브로드 캐스트 키는 상기 가입하고자 하는 엔티티의 비밀 키 값과 상기 가입하고자 하는 엔티티 이외의 모든 엔티티의 브로드캐스트 키와 XOR 연산을 수행한 후, 해시 연산을 수행하여 업데이트될 수 있다.
상기 빈 리프 노드 할당 단계는 상기 이진 트리에 빈 리프 노드가 없는 경우, 상기 이진 트리의 레벨을 확장하는 단계; 확장 전에 리프 노드에 할당되어 있던 엔티티를, 확장 전 위치를 기준으로 왼쪽 자식 노드에 할당하고, 상기 가입하고자 하는 엔티티를 확장 전 위치를 기준으로 오른쪽 자식 노드에 할당하는 단계를 포함할 수 있다.
상기 빈 리프 노드 할당 단계는 상기 탈퇴한 엔티티가 재가입을 원하는 경우, 상기 재가입 엔티티를 탈퇴 이전에 존재했던 위치로 재할당하는 단계를 포함하고, 상기 재할당 단계는, 상기 탈퇴 이전에 존재했던 위치에 다른 엔티티가 할당되어 있는 경우, 상기 이진 트리의 레벨을 확장하여, 상기 다른 엔티티를 확장 전 위치를 기준으로 왼쪽 자식 노드에 할당하고, 확장 전 위치를 기준으로 오른쪽 자식 노드에 할당하는 단계를 포함할 수 있다.
일부 엔티티만이 참여하여 통신하는 유니 캐스트/멀티캐스트 통신을 수행시 통신 세션에 참여하는 엔티티들이 각자의 비밀 키에서 상기 이진 트리에서 공통으로 포함된 노드의 비밀 키 값을 XOR하여 상기 유니 캐스트/멀티캐스트 키를 생성할 수 있다.
상기 네트워크는 스마트 그리드 네트워크이고, 상기 마스터는 전력 공급을 관리하는 전력 공급 관리 장치이며, 상기 엔티티는 스마트 미터일 수 있다.
상기한 목적을 달성하기 위한 본 발명의 키 관리 시스템은 네트워크에서 마스터 및 엔티티의 키 관리하는 시스템에 있어서, 자신을 루트 노드로 하여 이진 트리를 생성하고, 상기 루트 노드의 비밀 값을 설정하고 해시 연산을 통해 상기 이진 트리 내의 모든 노드에 비밀 키를 생성하며, 상기 이진 트리의 리프 노드에 상기 엔티티 중 RTU(Remote Terminal Unit)를 배치하고, 각각의 리프 노드에 배치된 엔티티에게 상기 루트 노드로부터 상기 각각의 리프 노드로 오는 경로를 제외한 모든 노드의 비밀 키 값의 세트를 제공하는 마스터; 상기 리프 노드에 배치되는 RTU; 및 상기 루트 노드 및 리프 노드를 제외한 나머지 노드에 배치되는 MTU(Master Terminal Unit) 및 서브 MTU(sub-MTU)를 포함할 수 있다.
상기한 목적을 달성하기 위한 본 발명의 소스 인증 방법은 네트워크에서 메시지의 송신자를 인증하기 위한 소스 인증 방법에 있어서, 상기 마스터와 엔티티 사이에 초기화를 수행하는 초기화 단계; 상기 송신자의 공개키를 증명하기 위한 송신자 공개키 증명 정보를 수신하여상기 공개키 증명 정보를 통해 상기 송신자의 공개키를 인증하는 공개키 인증 단계; 상기 메시지에 첨부된 서명의 유효성을 확인하여 상기 메시지를 인증하는 메시지 인증 단계; 상기 초기화 단계에서 수신하는 인증서 값 및 만료시간, 상기 메시지 및 상기 서명 값을 상기 마스터에 전송하면서 소스를 의뢰하여 상기 송신자의 실제 ID를 획득하는 소스 인증 단계를 포함할 수 있다.
상기 초기화 단계는 상기 마스터가 각 엔티티의 키 값을 생성하기 위한 값을 모든 엔티티에게 브로드캐스트하는 단계; 상기 엔티티가 상기 각 엔티티의 키 값을 생성하기 위한 값을 기반으로 비밀 키 및 공개키를 생성하여 엔티티 ID 및 상기 공개키를 상기 마스터로 전송하는 단계; 상기 마스터가 상기 엔티티 ID를 통해 어떤 장비인지 식별하고, 상기 식별된 장비의 공개키에 대한 만료시간 및 상기 인증서 값 - 인증서 값은 상기 만료시간을 추적하는데 사용되는 TRACE 값 및 상기 TRACE 값과 상기 만료시간을 기반으로 계산되는 특수 값인 X 값을 포함함 - 을 해당 엔티티에게 전송하는 단계를 포함할 수 있다.
상기 각 엔티티의 키 값 생성을 위한 값은 상기 마스터 자신의 ID, 두 개의 큰 소수의 곱으로 이루어진 랜덤 값(n), 공개키 계산의 위수가 되는 값(g), 대칭키 알고리즘 및 마스터 키를 포함할 수 있다.
상기 공개키 증명 정보는 상기 송신자의 X 값, 상기 송신자가 MTU인지 서브 MTU인지 RTU인지를 나타내는 값, 상기 송신자의 TRACE 값 및 상기 송신자의 공개키 만료시간을 포함할 수 있다.
상기 공개키 인증 단계는 상기 공개키 증명 정보를 기반으로 상기 송신자의 공개키를 계산하고 상기 계산된 공개키와 상기 송신자의 실제 공개키가 동일한지 비교하여 상기 송신자의 공개키를 인증하는 단계를 포함할 수 있다.
상기 메시지에 첨부된 서명은 제 1 서명값 σ1 = H(M∥R) 및 제 2 서명값 σ2 = (r - PRIMTU·σ1) mod n(여기서, σ1 및 σ2는 제 1 및 제 2 서명값, H()는 해시 함수, M은 메시지, R은 gr mod n, r은 송신자가 선택한 랜덤수, PRIMTU는 송신자의 비밀키 값, n은 마스터가 생성한 랜덤 값을 나타냄)을 포함하고, 상기 메시지 인증 단계는 상기 제 2 서명값과 상기 수신자가 직접 σ2′= H(M∥gσ2·PUBMTU σ1)(여기서, g는 상기 공개키 계산의 위수를 나타냄)를 통해 계산한 서명값을 비교하여 상기 메시지에 첨부된 서명의 유효성을 판단하는 단계를 포함할 수 있다.
상기 소스 인증 단계에서, 상기 마스터는 상기 인증서 값 및 상기 만료시간, 상기 메시지 및 상기 서명 값을 수신하여 상기 송신자의 공개키를 계산하고, 상기 인증서, 및 상기 만료 시간 및 상기 마스터 키를 기반으로 복호화를 수행하여 실제 만료 기간과 상기 송신자의 실제 ID를 획득하여 상기 수신자로 전송할 수 있다.
상기 네트워크는 스마트 그리드 네트워크이고, 상기 마스터는 전력 공급 관리 장비이며, 상기 엔티티는 MTU, 서브 MTU 및 RTU 중 어느 하나일 수 있다.
상기한 목적을 달성하기 위한 본 발명의 소스 인증 시스템은 네트워크에서 메시지의 송신자를 인증하기 위한 소스 인증 시스템에 있어서, 엔티티들과의 초기화를 수행하고, 각 엔티티에 인증서 값 및 만료시간을 계산하여 할당하며, 수신자로부터의 소스 의뢰에 응답하여 상기 송신자의 실제 ID를 계산하여 상기 수신자로 전송하는 마스터; 상기 공개키를 증명하기 위한 송신자 공개키 증명 정보, 상기 메시지 및 상기 메시지의 유효성을 증명하기 위한 서명을 상기 수신측으로 전송하는 송신자; 상기 송신자로부터 상기 송신자의 공개키를 증명하기 위한 송신자 공개키 증명 정보를 수신하여 상기 공개키 증명 정보를 통해 상기 송신자의 공개키를 인증하고, 상기 메시지에 첨부된 서명의 유효성을 확인하여 상기 메시지를 인증하며, 상기 초기화 단계에서 수신하는 인증서 값 및 만료시간, 상기 메시지 및 상기 서명 값을 상기 마스터에 전송하면서 소스를 의뢰하여 상기 송신자의 실제 ID를 획득하는 수신자를 포함할 수 있다.
본 발명의 네트워크에서의 키 관리 방법 및 시스템, 및 소스 인증 방법 및 시스템에 따르면, 스마트 그리드 환경에서 안전한 통신을 위한 것으로, 유니 캐스트, 멀티캐스트, 그리고 브로드캐스트를 지원할 수 있는 효과가 있다. 상기 세 가지의 통신을 지원하기 위하여 오직 하나의 이진트리를 사용하여 안전한 통신을 위한 브로드캐스트 키를 만들 수 있다. 또한, 각 엔티티는 유니 캐스트/멀티 캐스트 통신을 위해 참여자들만의 세션을 형성하게 되는데 이때 이진트리를 기반으로 통신을 위한 세션 키를 생성하고 빠른 시간 내에 스스로 업데이트하여 효율적이고 확장할 수 있으며 보안성이 있는 키 관리를 제공할 수 있다.
또한, 본 발명의 네트워크에서의 키 관리 방법 및 시스템, 및 소스 인증 방법 및 시스템에 따르면, 전력이 중단 되서는 안 되는 사회기반 시설인 병원, 도로, 군대 등의 시설에 악의적인 공격을 막기 위하여 인증서와 공개키 방식, 서명을 통하여 엔티티의 ID를 파악하여 소스를 인증하여 신뢰성을 높이는 효과가 있다.
도 1은 스마트 그리드 네트워크 시스템을 설명하기 위한 개념도,
도 2는 본 발명의 일 실시예에 따른 키 분배 시스템의 이진 트리에 각 엔티티가 할당되는 상황을 나타낸 도면,
도 3은 본 발명의 일 실시예에 따른 키 분배 방법을 개략적으로 나타낸 흐름도,
도 4는 본 발명의 일 실시예에 따른 키 분배 방법에 따라 키를 분배하는 모습을 나타낸 도면,
도 5는 본 발명의 일 실시예에 따른 키 분배 방법의 엔티티 탈퇴 과정을 구체적으로 나타낸 상세흐름도,
도 6a는 본 발명의 일 실시예에 따른 키 분배 방법의 엔티티 가입 과정을 구체적으로 나타낸 상세흐름도,
도 6b는 본 발명의 일 실시예에 따른 키 분배 방법에 따라 탈퇴했던 엔티티가 재가입하는 모습을 나타낸 도면,
도 7은 본 발명의 일 실시예에 따른 키 분배 방법에 따라 유니캐스트/멀티 캐스트 비밀 키 생성 모습을 나타낸 도면
도 8은 본 발명의 일 실시예에 따른 소스 인증 방법에 따라 공개키/비밀키를 생성하는 초기화 단계를 나타낸 흐름도,
도 9는 본 발명의 일 실시예에 따른 소스 인증 방법에 따른 단말이 공개키를 확인하는 과정을 나타낸 흐름도,
도 10은 본 발명의 일 실시예에 따른 소스 인증 방법에 다른 마스터 시스템이 실제 ID와 만료기간을 획득하는 과정을 나타낸 흐름도이다.
도 2는 본 발명의 일 실시예에 따른 키 분배 시스템의 이진 트리에 각 엔티티가 할당되는 상황을 나타낸 도면,
도 3은 본 발명의 일 실시예에 따른 키 분배 방법을 개략적으로 나타낸 흐름도,
도 4는 본 발명의 일 실시예에 따른 키 분배 방법에 따라 키를 분배하는 모습을 나타낸 도면,
도 5는 본 발명의 일 실시예에 따른 키 분배 방법의 엔티티 탈퇴 과정을 구체적으로 나타낸 상세흐름도,
도 6a는 본 발명의 일 실시예에 따른 키 분배 방법의 엔티티 가입 과정을 구체적으로 나타낸 상세흐름도,
도 6b는 본 발명의 일 실시예에 따른 키 분배 방법에 따라 탈퇴했던 엔티티가 재가입하는 모습을 나타낸 도면,
도 7은 본 발명의 일 실시예에 따른 키 분배 방법에 따라 유니캐스트/멀티 캐스트 비밀 키 생성 모습을 나타낸 도면
도 8은 본 발명의 일 실시예에 따른 소스 인증 방법에 따라 공개키/비밀키를 생성하는 초기화 단계를 나타낸 흐름도,
도 9는 본 발명의 일 실시예에 따른 소스 인증 방법에 따른 단말이 공개키를 확인하는 과정을 나타낸 흐름도,
도 10은 본 발명의 일 실시예에 따른 소스 인증 방법에 다른 마스터 시스템이 실제 ID와 만료기간을 획득하는 과정을 나타낸 흐름도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다.
그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제 1, 제 2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 스마트 그리드 네트워크 시스템을 설명하기 위한 개념도이다. 도 1에 도시된 바와 같이, 스마트 그리드 네트워크는 전력 공급 장치(10)의 효율과 신뢰성을 높이기 위해 사용되는 여러 엔티티로 구성된다.
도 1을 참조하면, 엔티티들은 양방향 통신 시스템이 구비된 제어 센터(20), 스마트 미터(30), 기지국(40)을 포함할 수 있다. 전력 공급 장치(10)는 전력을 공급하고 전력 공급을 관리한다. 제어 센터(20)는 전력 공급 장치(10)로 각각의 전력 소비 장치에서의 전력과 관련된 정보를 중계하여 전력 공급 장치(10)로 전달한다. 스마트 미터(30)는 실질적으로 전력과 관련된 정보를 센싱하여 획득한다. 스마트 미터(30)는 기지국(40)을 통해 양방향 데이터 송수신이 가능하고, 따라서 센싱된 데이터를 제어 센터(20)로 전송할 수 있다. 스마트 미터(30)는 실생활에서, 빌딩(50) 또는 아파트(60)의 사무실 또는 가정 집 각각에 구비되어 각각의 사무실 또는 가정에서 사용하는 전력량을 센싱하여 센싱된 정보를 송수신할 수 있다. 도면에서, NAN은 Neighbor Area Network를, BAN은 Building Area Network, HAN은 Home Area Network를 의미한다.
전술한 바와 같이, 본 발명은 스마트 그리드 네트워크에서 유니 캐스트, 멀티 캐스트, 브로드 캐스트 통신을 위한 키 관리 프로토콜을 제안한다. 본 발명의 일 실시예에 따른 키 관리 방법은 이진 트리를 기반으로 하여 각 엔티티의 비밀 키 값을 관리하며, 시스템 초기화 단계, 브로드 캐스트 통신에서의 안전한 통신을 위한 키 관리, 유니 캐스트/멀티 캐스트 통신에서의 안전한 통신을 위한 키 관리를 하는 단계로 크게 3가지의 부분으로 구분된다.
도 2는 본 발명의 일 실시예에 따른 키 분배 시스템의 이진 트리에 각 엔티티가 할당되는 상황을 나타낸 도면이다. 도 2를 참조하면, 마스터(master)는 전력 공급 장치로서, 마스터 자신을 루트 노드로 하여, 레벨이 깊어질수록 두 갈래로 나뉘어져 2의 n승 개의 리프 노드를 생성한다.
도 2를 참조하면, 리프 노드에 앞서 말한 각각의 엔티티가 배치된다. 즉, 리프 노드의 왼쪽부터 엔티티가 배치되어 왼쪽 첫번째에는 엔티티 1이, 두 번째에는 엔티티 2가 순차적으로 배치되어 마지막 8번째 리프 노드에는 엔티티 8이 배치된다. 원래의 엔티티는 MTU(Master Terminal Unit), 서브 MTU 및 RTU(Remote Terminal Unit)을 포함하는 개념이나, 도 2에서의 엔티티는 실제 엔티티를 의미하며, 실질적으로 RTU를 가리킨다. 각각의 노드는 Ki ,j로 표시되는데, i는 깊이 레벨을 의미하고(루트 노드는 0 레벨), j는 각 레벨 노드 중 해당 노드가 왼쪽부터 몇 번째 노드인지를 나타낸다. 그리고, 각각의 노드는 자신만의 비밀 키를 가지고 있는데, 이는 루트 노드를 기점으로 해시 함수를 사용하여 할당된다. 자식 노드의 왼쪽에는 해시 레프트(HL) 함수를 적용하고, 오른쪽에는 해시 라이트(HR)를 적용하여 이를 루트 노드부터 순차적으로 수행하여 리프 노드까지 이진 트리에 존재하는 모든 노드에 비밀 키를 생성하여 할당한다.
도 3은 본 발명의 일 실시예에 따른 키 분배 방법을 개략적으로 나타낸 흐름도이다. 도 3을 참조하면, 본 발명의 일 실시예에 따른 키 분배 방법은 이진 트리 생성 단계(S310), 비밀 키 생성 단계(S320), 엔티티 배치 단계(S330) 및 비밀 키 값의 세트 제공 단계(S340)를 포함할 수 있다.
도 3을 참조하면, 이진 트리 생성 단계(S310)에서, 마스터는 자신을 루트 노드로 하여 이진 트리를 생성한다. 마스터는 자신이 관할하는 엔티티의 수를 알고 있으므로, 엔티티의 수를 고려하여 적절한 레벨의 이진 트리를 생성한다. 이때, 전체 자식 노드의 수가 엔티티의 숫자보다 더 많은 노드로 구성된 이진 트리를 생성해야 한다.
그리고는, 비밀 키 생성 단계(S320)에서, 이진 트리 생성 단계(S310)에서 생성된 이진 트리 내의 모든 노드에 비밀 키를 생성하여 할당한다. 비밀 키 생성을 위해 마스터는 먼저, 루트 노드(K0 ,0)의 비밀 키 값을 설정한다. 이진 트리 내의 모든 노드의 비밀 키 값은 상기 루트 노드의 비밀 키 값을 토대로 하여 순차적으로 해시 함수를 통해 생성되므로, 먼저 루트 노드의 비밀 키 값 설정이 선행되어야 이후 작업을 진행할 수 있다.
본 발명의 일 실시예에 따르면, 마스터는 왼쪽 자식 노드에는 해시 레프트(HL) 연산을, 오른쪽 자식 노드에는 해시 라이트(HR) 연산을 통해 위 작업을 리프 노드까지 순차적으로 수행함으로써 이진 트리 내의 모든 노드의 비밀 키 값을 생성할 수 있다.
그리고는, 엔티티 배치 단계(S330)에서, 마스터는 이진 트리 내의 모드에 엔티티를 배치한다. 이때, 실제 엔티티 즉, RTU는 이진 트리의 리프 노드에 배치된다. RTU는 왼쪽부터 순차적으로 배치된다. 그리고, 루트 노드와 리프 노드 사이의 노드에 MTU(Master Terminal Unit) 및 서브 MTU(sub-MTU) 중 적어도 어느 하나가 할당될 수 있다.
다음으로, 비밀 키 값의 세트 제공 단계(S340)에서, 마스터는 각각의 리프 노드에 배치된 엔티티에게 루트 노드로부터 상기 각각의 리프 노드로 오는 경로를 제외한 모든 노드의 비밀 값의 세트를 제공한다. 즉, 각각의 리프 노드에 배치된 엔티티는 마스터로부터 각자의 비밀 키를 할당받을 수 있다.
도 4는 본 발명의 일 실시예에 따른 키 분배 방법에 따라 키를 분배하는 모습을 나타낸 도면이다. 도 4를 참조하면, 엔티티 2(K3 ,1)는 자신의 비밀 키를 HR(K2,0, 0)을 통해 할당받고, 비밀 키 값 세트 제공 단계(S340)에서, 루트 노드로부터 자신까지 오는 경로, 즉, 노드(K0,0, K1,0, K2,0 및 K3,1)을 제외한 모든 노드(빗금으로 표시된 노드)의 비밀 키 값의 세트를 마스터로부터 수신한다. 수신된 타 노드의 비밀 키 값은 이후, 브로드캐스트 키의 업데이트 또는 유니 캐스트 및 멀티 캐스트 키를 생성하는 데 다른 노드의 비밀 키 값을 통한 연산을 수행시 필요한 정보이다. 따라서, 각각의 노드가 타 노드의 비밀 키 값을 알고 있음으로 해서, 최초 마스터로부터 할당된 비밀 키 값과 상기 비밀 키 값 세트만 알고 있으면, 이후, 비밀 키의 업데이트시 마스터가 추가적으로 모든 노드의 비밀 키 값을 생성하여 재할당하는 로드를 줄일 수 있고, 불필요한 오버헤드를 감소시킬 수 있다.
브로드 캐스트에서의 안전한 통신을 위한 키 관리에는 그룹에서 탈퇴한 구성원 같이 이전의 그룹 키를 알고 있는 사용자가 자신이 탈퇴한 후의 그룹 키를 알 수 없는 전방향 안정성과 그룹에 새롭게 가입하거나 기존에 있던 구성원으로 현재 그룹 키를 알고 있는 사용자가 이전의 그룹 키를 알 수 없는 후방향 안전성을 만족해야한다. 이러한 전방향/후방향 안전성을 위하여 노드가 이진 트리에서 구성원이 떠나는 단계 및 가입하는 단계, 각각 2가지 키 업데이트 경우가 존재한다.
도 5는 본 발명의 일 실시예에 따른 키 분배 방법의 엔티티 탈퇴 과정을 구체적으로 나타낸 상세흐름도이다. 도 5에 도시된 바와 같이, 본 발명의 일 실시예에 따른 엔티티 탈퇴 단계는 탈퇴 요청 수신 단계(S510), 브로드캐스팅 단계(S520) 및 업데이트 단계(S530)를 포함할 수 있다.
도 5를 참조하면, 탈퇴 요청 수신 단계(S510)에서, 마스터는 이진 트리에서 탈퇴하고자 하는 엔티티가 전송하는 탈퇴 요청을 수신한다. 마스터는 탈퇴 요청을 수신하면 브로드 캐스트 통신으로 비인가된 접근을 막기 위해 키를 업데이트 해야 한다.
브로드캐스팅 단계(S520)에서, 마스터는 상기 탈퇴하고자 하는 엔티티 이외의 모든 엔티티에게 탈퇴 관련 메시지를 브로드캐스팅한다. 탈퇴 관련 메시지는 상기 탈퇴하고자 하는 엔티티의 비밀 키 값을 포함한다. 본 발명의 실시예에 따르면, 모든 엔티티에게 떠나는 엔티티의 비밀 키 값을 {LEAVE, ENTITYi} 형식으로 브로드 캐스팅할 수 있다.
다음으로, 업데이트 단계(S530)에서, 탈퇴 관련 메시지를 수신한 모든 엔티티가 상기 탈퇴 관련 메시지를 기반으로 새로운 브로드캐스트 키로 업데이트를 수행한다. 본 발명의 실시예에 따르면, 마스터로부터 브로드 캐스팅 메시티를 받은 모든 엔티티는 떠나는 엔티티의 비밀 값과 XOR 연산 수행 후, Hash 연산을 가지고 KEYBROADCAST' = H(KEYBROADCAST SELECTNODEi)를 계산하여 새로운 브로드 캐스트 키로 업데이트하게 된다.
도 6a는 본 발명의 일 실시예에 따른 키 분배 방법의 엔티티 가입 과정을 구체적으로 나타낸 상세흐름도이다. 도 6에 도시된 바와 같이, 본 발명의 실시예에 따른 엔티티 가입 단계는 가입 요청 수신 단계(S610), 빈 리프 노드 할당 단계(S620), 비밀 키 값 할당 단계(S630), 브로드캐스팅 단계(640) 및 업데이트 단계(S650)를 포함할 수 있다.
도 6a를 참조하면, 엔티티가 이진 트기에 가입하기 위한 단계에서도 후방향 안정성을 만족하기 위해 브로드캐스트 키가 즉시 업데이트 되어야 한다. 가입 요청 수신 단계(S610)에서, 마스터는 이진 트리에 가입하고자 하는 엔티티가 전송하는 가입 요청을 수신한다. 마스터는 가입 요청을 수신하면 브로드 캐스트 통신으로 비인가된 접근을 막기 위해 키를 업데이트 해야 한다.
빈 리프 노드 할당 단계(S620)에서, 마스터는 가입하고자 하는 엔티티에게 빈 리프 노드를 할당한다. 엔티티가 이진 트리의 중간에 가입하게 되면 트리 구조의 변형이 심각하게 발생하기 때문에 가입하는 엔티티는 반드시 리프 노드에 할당한다. 이때, 기존 리프 노드에 모든 엔티티가 꽉 들어차 있는 경우, 노드의 레벨을 확장하여 기존 리프 노드에 존재하는 엔티티를 새로운 리프 노드의 왼쪽부터 채워나가고, 새로 가입하고자 하는 엔티티를 가장 나중에 채워 리프 노드를 할당한다.
그리고는, 비밀 키 값 할당 단계(S630)에서, 루트 노드로부터 새로 할당된 리프 노드까지의 경로를 갖는 비밀 키 값을 할당한다.
브로드캐스팅 단계(S640)에서, 마스터는 상기 가입하고자 하는 엔티티 이외의 모든 엔티티에게 가입 관련 메시지를 브로드캐스팅한다. 가입 관련 메시지는 상기 가입하고자 하는 엔티티의 비밀 키 값을 포함한다. 본 발명의 실시예에 따르면, 모든 엔티티에게 들어오는 엔티티의 비밀 키 값을 {JOIN, ENTITYi} 형식으로 브로드 캐스팅할 수 있다.
다음으로, 업데이트 단계(S650)에서, 가입 관련 메시지를 수신한 모든 엔티티가 상기 가입 관련 메시지를 기반으로 새로운 브로드캐스트 키로 업데이트를 수행한다. 본 발명의 실시예에 따르면, 마스터로부터 브로드 캐스팅 메시티를 받은 모든 엔티티는 들어오는 엔티티의 비밀 값과 XOR 연산 수행 후, Hash 연산을 가지고 KEYBROADCAST' = H(KEYBROADCAST SELECTNODEi)를 계산하여 새로운 브로드 캐스트 키로 업데이트하게 된다.
만약, 탈퇴한 엔티티가 재가입을 원하는 경우, 빈 리프 노드에 임의로 할당하게 되면 기존의 비밀 값과 현재 새롭게 할당받은 비밀 값을 조합하여 인가되지 않은 그룹 메시지 수신을 할 가능성이 존재한다. 따라서 이러한 문제점을 해결하기 위하여 재가입 엔티티는 빈 리프 노드에 할당하지 않고, 탈퇴 이전에 존재했던 위치로 다시 할당하게 되고 혹 그 위치에 다른 엔티티가 할당되어있을 경우, 레벨을 늘려 할당된 다른 엔티티는 왼쪽 자식 노드로 확장하고, 재가입하려는 노드는 오른쪽 자식 노드에 할당하는 방식을 취한다.
도 6b는 본 발명의 일 실시예에 따른 키 분배 방법에 따라 탈퇴했던 엔티티가 재가입하는 모습을 나타낸 도면이다. 도 6b에 도시된 바와 같이, 재가입하려는 엔티티가 엔티티 9인 경우, 탈퇴 이전에 존재했던 노드가 K3 ,7인데 재가입 시점에 엔티티 8이 존재하고 있어 원래 위치로의 재할당이 어려운 상태이다. 이때, 마스터는 기존 존재했던 엔티티 8을 레벨을 늘린 후 왼쪽 자식 노드(K4 ,1)에 할당하고, 재가입하려는 노드를 오른쪽 자식 노드(K4 ,2)에 할당한다.
유니 캐스트/멀티 캐스트에서의 안전한 통신을 위한 키는 모두에게 알려진 브로드 캐스트 키를 사용할 수 없다. 유니/멀티 캐스트 통신을 보고하기 위하여 통신 세션에 참여하는 엔티티만이 공유할 수 있는 키를 새로 수립해야한다. 새로운 키를 공유하기 위해서 통신 세션에 참여하는 엔티티들이 이진 트리에서 공통으로 가지는 노드의 비밀 키 값을 XOR하고 그 결과 값을 멀티 캐스트 키로 사용한다.
도 7은 본 발명의 일 실시예에 따른 키 분배 방법에 따라 유니캐스트/멀티 캐스트 비밀 키 생성 모습을 나타낸 도면이다. 도 7에 도시된 바와 같이, 엔티티 2와 엔티티 4가 유니 캐스트 통신을 수행하려고 하면, 통신 세션에 참여하는 엔티티는 엔티티 2 및 엔티티 4가 된다. 엔티티 2는 K3 ,0, K2 ,1, K3 ,2, K3 ,3, K1 ,1, K2 ,2, K2 ,3, K3,4, K3 ,5, K3 ,5, K3 ,7의 비밀 키 세트 값을 갖고 있고, 엔티티 4는 K2 ,0, K3 ,0, K3 ,1, K3,2, K1 ,1, K2 ,2, K2 ,3, K3 ,4, K3 ,5, K3 ,5, K3 ,7의 비밀 키 세트 값을 가지고 있다. 따라서, 공통으로 가지는 노드(빗금 친 노드들)는 K3 ,0, K3 ,2, K1 ,1, K2 ,2, K2 ,3, K3 ,4, K3 ,5, K3,5, K3 ,7가 되고, 공통 노드의 비밀 키 값을 XOR 연산하여 유니 캐스트 키로 사용할 수 있다.
스마트 그리드에서 안전한 통신을 하기 위해서는 키 관리도 중요하지만 실제적으로 악의적인 데이터인지 아닌지를 판별하는 것도 큰 도움이 된다. 공격자가 악의적인 의도를 가지고 전력이 끊겨서는 안 되는 사회 기반 시설의 전력을 끊는 것을 방지하기 위해 출처 인증이 필요하다. 전력 공급소는 전력을 차단하는 명령이 내려온 곳이 사회 기반시설인지 아닌지에 대한 확증이 필요하게 된다.
도 8은 본 발명의 일 실시예에 따른 소스 인증 방법에 따라 공개키/비밀키를 생성하는 초기화 단계를 나타낸 흐름도이다. 도 8을 참조하면, 소스 인증을 위해 마스터(800)와 엔티티(850: MTU/Sub-MTU/RTU를 포함함) 사이에서 초기화 과정이 필요하다. 마스터(800)는 자신의 아이디 IDMASTER를 선택하고 각 엔티티의 키 값을 생성하기 위한 값들을 준비하는 과정을 거친다. 큰 소수 p, q를 선택하여 두 수를 곱해 n을 계산한다. 큰 소수를 두 개를 곱하는 것은 악의적인 공격자로 하여금 쉽지 않은 n의 인수분해로 실제 p, q를 구하지 못하게 하기 위함이다. 또한 위수가 될 g를 선택하고 대칭키 알고리즘 E(·)과 자신의 마스터 키를 선택한다(S802).
그 후에, 마스터(800)는 엔티티에게 자신의 아이디 IDMASTER와 n, g, E(·)를 모든 엔티티(850)에게 브로드 캐스팅한다(S804).
메시지를 받은 엔티티(850)들은 자신을 서명할 때 사용할 수 있을 랜덤한 숫자를 비밀 키 PRIMTU로 선택하고 비밀 키에 대한 공개키를 마스터가 초기화 과정 때 전송한 값을 이용하여 공개키 PUBMTU = gPRIMTU mod n식으로 계산한다(S806). 비밀 키와 공개 키는 대응되는 관계로, 자신이 비밀 키로 암호화한 메시지는 상대가 공개키로 열 수 있고, 자신이 공개 키로 암호화한 메시지는 상대가 비밀 키가 아니면 열 수가 없다. 그 후, 마스터(800)에게 등록을 위해 IDMTU, PUBMTU를 전송한다(S808).
메시지를 받은 마스터(800)는 IDMTU를 통하여 엔티티(850)가 세 종류의 장비(MTU/Sub-MTU/RTU) 중 어떤 장비인지를 식별하고, 해당 엔티티(850)의 공개키 PUBMTU에 대한 만료시간 EXPIREMTU을 설정한다. 만료 시간은 해당 공개키가 유효한 시간을 의미하고, 만료 시간이 지나면, 공개키는 유효하지 않은 키가 된다. 만료 시간 설정 후 설정된 만료 시간을 가지고 TRACE 값을 TRACEMTU = (Emasterkey(EXPIREMTU∥IDMTU))-1 mod Φ(n) 를 통해 계산한다. 계산에 쉽도록 tMTU = PUBMTU Emasterkey( EXPIREMTU ∥IDMTU) mod n 을 이용할 수 있다. 마지막으로 X 값 xMTU = (tMTU - (EXPIREMTU∥"MTU"∥IDMASTER))(EXPIREMTU∥" MTU "∥ IDMASTER )-1 mod n를 계산한다(S810).
계산된 XMTU, TRACEMTU, EXPIREMTU를 해당 엔티티(850)에게 다시 전송하면서 초기화 단계는 끝난다(S812).
도 9는 본 발명의 일 실시예에 따른 소스 인증 방법에 따른 단말이 공개키를 확인하는 과정을 나타낸 흐름도이다.
도 9를 참조하면, 수신자(950)에게 자신의 공개키를 증명하기 위해서 송신자(900)가 xMTU, "MTU", TRACEMTU 및 EXPIREMTU를 보내면(S902), 수신자(950)는 PUBMTU = (xMTU ( EXPIREMTU ∥" MTU "∥ IDMASTER ) + (EXPIREMTU∥"MTU"∥IDMASTER))TRACEMTU를 계산하게 되는데 TRACEMTU와 XMTU에 들어있는 Φ(n)은 마스터에서 선택한 큰 두 소수 p, q를 곱한 값이므로 마스터를 제외한 엔티티들이 계산적으로 구할 수 없으므로 자동적으로 증명이 완료된다.
도 10은 본 발명의 일 실시예에 따른 소스 인증 방법에 따른 마스터 시스템이 실제 ID와 만료기간을 획득하는 과정을 나타낸 흐름도이다.
공개키의 증명이 완료된 후에는, 송신자(1000)가 메시지를 보낼 때 자신의 비밀 키로 서명을 해서 자신을 증명하게 된다. 그 절차로 랜덤한 숫자 r을 선택하고 다음 R값(R = gr mod n)을 계산하게 된다. 상기 R값을 사용하여 제 1 서명 값 σ1 = H(M∥H) 와 제 2 서명 값 σ2 = (r - PRIMTU1·σ1) mod n를 계산한다(S1002). 그리고는 메시지에 상기 서명 값(σ1 및 σ2)을 첨부하여 보내게 된다(S1004).
메시지와 제 1, 2 서명을 받은 수신자(1030)는 상대의 PUBMTU값과 서명 값들 및 메시지를 이용하여 실제 서명이 맞는지 확인할 수 있는 새로운 제 2 서명 값을 생성한다. 새로운 제 2 서명 값은 σ2 = H(M∥gσ2·PUBMTU σ1)을 사용하여 계산할 수 있다. 생성된 새로운 제 2 서명 값을 기반으로, 실제로 전송된 σ2과 자신이 만들어 낸 σ2'값이 같은 지를 확인하여 서명의 유효성을 확인한다(S1006). 실제로 전송된 σ2는 서명을 만든 송신자(1000)의 비밀 키로 생성한 서명이고 수신자(1030)가 받은 σ2값은 서명을 한 비밀 키의 한 쌍인 공개 키로 만들었으므로 메시지에 대한 인증이 된다.
그 후 메시지 수신 전 받았던 인증서와 만료기간, 받은 메시지와 서명 값을 마스터(1060)에서 전송하면(S1008), 마스터(1060)는 일단 메시지를 보냈던 엔티티의 공개키(PUB)를 계산하고 인증서 및 키 초기화 시에 통신을 위해 주었던 만료 시간 및 인증서 값을 마스터 키(masterkey)를 통해서 복호화함으로써 실제 만료 기간과 메시지를 보낸 엔티티 즉, 송신자(1000)의 실제 ID를 획득하여 소스를 인증할 수 있다(S1010).
이상 도면 및 실시예를 참조하여 설명하였지만, 본 발명의 보호범위가 상기 도면 또는 실시예에 의해 한정되는 것을 의미하지는 않으며 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
Claims (21)
- 네트워크에서의 마스터 및 상기 마스터에 종속된 엔티티의 키를 관리하는 방법에 있어서,
(a) 상기 마스터가 상기 마스터를 루트 노드로 하여 이진 트리를 생성하는 단계;
(b) 상기 마스터가 상기 루트 노드의 비밀 값을 설정하고 해시 연산을 통해 상기 이진 트리 내의 모든 노드에 비밀 키를 생성하는 단계;
(c) 상기 마스터가 상기 이진 트리의 리프 노드에 상기 엔티티 중 RTU(Remote Terminal Unit)를 배치하는 단계;
(d) 상기 마스터가 각각의 리프 노드에 배치된 엔티티에게 상기 루트 노드로부터 상기 각각의 리프 노드로 오는 경로를 제외한 모든 노드의 비밀 키 값의 세트를 제공하는 단계를 포함하는 것을 특징으로 하는 네트워크에서의 키 관리 방법.
- 제 1 항에 있어서,
상기 엔티티는 RTU(Remote Terminal Unit), MTU(Master Terminal Unit) 및 서브 MTU(sub-MTU) 중 적어도 어느 하나를 포함하는 것을 특징을 하는 네트워크에서의 키 관리 방법.
- 제 1 항에 있어서, 상기 (b) 단계는
상기 마스터가 왼쪽 자식 노드에는 해시 레프트(HL) 연산을, 오른쪽 자식 노드에는 해시 라이트(HR) 연산을 상기 리프 노드까지 순차적으로 수행함으로써 상기 이진 트리 내의 모든 노드의 비밀 키 값을 생성하는 단계를 포함하는 것을 특징으로 하는 네트워크에서의 키 관리 방법.
- 제 1 항에 있어서,
상기 마스터가 상기 이진 트리에서 탈퇴하고자 하는 엔티티로부터 탈퇴 요청을 수신하는 단계;
상기 마스터가 상기 탈퇴하고자 하는 엔티티 이외의 모든 엔티티에게 탈퇴 관련 메시지를 브로드캐스팅하는 단계; 및
상기 탈퇴 관련 메시지를 수신한 모든 엔티티가 상기 탈퇴 관련 메시지를 기반으로 새로운 브로드캐스트 키로 업데이트하는 단계를 더 포함하는 것을 특징으로 하는 네트워크에서의 키 관리 방법.
- 제 4 항에 있어서,
상기 탈퇴 관련 메시지는 상기 탈퇴하고자 하는 엔티티의 비밀 키 값을 포함하고,
상기 새로운 브로드 캐스트 키는 상기 탈퇴하고자 하는 엔티티의 비밀 키 값과 상기 탈퇴하고자 하는 엔티티 이외의 모든 엔티티의 브로드캐스트 키와 XOR 연산을 수행한 후, 해시 연산을 수행하여 업데이트되는 것을 특징으로 하는 네트워크에서의 키 관리 방법.
- 제 1 항에 있어서,
상기 마스터가 상기 이진 트리에 가입하고자 하는 엔티티로부터 가입 요청을 수신하는 단계;
상기 마스터가 상기 가입하고자 하는 엔티티에게 빈 리프 노드를 할당하는 단계;
상기 가입하고자 하는 엔티티에게 상기 루트 노드로부터 새로 할당된 리프 노드까지의 경로를 갖는 비밀 키 값을 할당하는 단계;
상기 가입하고자 하는 엔티티 이외의 모든 엔티티에게 가입 관련 메시지를 브로드캐스팅하는 단계; 및
상기 가입 관련 메시지를 수신한 모든 엔티티가 상기 가입 관련 메시지를 기반으로 새로운 브로드캐스트 키로 업데이트하는 단계를 포함하는 것을 특징으로 하는 네트워크에서의 키 관리 방법.
- 제 6 항에 있어서,
상기 가입 관련 메시지는 상기 가입하고자 하는 엔티티의 비밀 키 값을 포함하고,
상기 새로운 브로드 캐스트 키는 상기 가입하고자 하는 엔티티의 비밀 키 값과 상기 가입하고자 하는 엔티티 이외의 모든 엔티티의 브로드캐스트 키와 XOR 연산을 수행한 후, 해시 연산을 수행하여 업데이트되는 것을 특징으로 하는 네트워크에서의 키 관리 방법.
- 제 6 항에 있어서, 상기 빈 리프 노드 할당 단계는
상기 이진 트리에 빈 리프 노드가 없는 경우, 상기 이진 트리의 레벨을 확장하는 단계;
확장 전에 리프 노드에 할당되어 있던 엔티티를, 확장 전 위치를 기준으로 왼쪽 자식 노드에 할당하고, 상기 가입하고자 하는 엔티티를 확장 전 위치를 기준으로 오른쪽 자식 노드에 할당하는 단계를 포함하는 것을 특징으로 하는 네트워크에서의 키 관리 방법.
- 제 6 항에 있어서, 상기 빈 리프 노드 할당 단계는
탈퇴한 엔티티가 재가입을 원하는 경우, 재가입 엔티티를 탈퇴 이전에 존재했던 위치로 재할당하는 단계를 포함하고, 상기 재할당 단계는,
상기 탈퇴 이전에 존재했던 위치에 다른 엔티티가 할당되어 있는 경우, 상기 이진 트리의 레벨을 확장하여, 상기 다른 엔티티를 확장 전 위치를 기준으로 왼쪽 자식 노드에 할당하고, 확장 전 위치를 기준으로 오른쪽 자식 노드에 할당하는 단계를 포함하는 것을 특징으로 하는 네트워크에서의 키 관리 방법.
- 제 1 항에 있어서,
일부 엔티티만이 참여하여 통신하는 유니 캐스트/멀티캐스트 통신을 수행시 통신 세션에 참여하는 엔티티들이 각자의 비밀 키에서 상기 이진 트리에서 공통으로 포함된 노드의 비밀 키 값을 XOR하여 유니 캐스트/멀티캐스트 키를 생성하는 것을 특징으로 하는 네트워크에서의 키 관리 방법.
- 제 1 항에 있어서,
상기 네트워크는 스마트 그리드 네트워크이고, 상기 마스터는 전력 공급을 관리하는 전력 공급 관리 장치이며, 상기 엔티티는 스마트 미터인 것을 특징으로 하는 네트워크에서의 키 관리 방법.
- 네트워크에서 마스터 및 엔티티의 키 관리하는 시스템에 있어서,
자신을 루트 노드로 하여 이진 트리를 생성하고, 상기 루트 노드의 비밀 값을 설정하고 해시 연산을 통해 상기 이진 트리 내의 모든 노드에 비밀 키를 생성하며, 상기 이진 트리의 리프 노드에 상기 엔티티 중 RTU(Remote Terminal Unit)를 배치하고, 각각의 리프 노드에 배치된 엔티티에게 상기 루트 노드로부터 상기 각각의 리프 노드로 오는 경로를 제외한 모든 노드의 비밀 키 값의 세트를 제공하는 마스터;
상기 리프 노드에 배치되는 RTU; 및
상기 루트 노드 및 리프 노드를 제외한 나머지 노드에 배치되는 MTU(Master Terminal Unit) 및 서브 MTU(sub-MTU)를 포함하는 것을 특징으로 하는 네트워크에서의 키 관리 시스템.
- 네트워크에서 메시지의 송신자를 인증하기 위한 소스 인증 방법에 있어서,
마스터와 엔티티 사이에 초기화를 수행하는 초기화 단계;
상기 송신자의 공개키를 증명하기 위한 송신자 공개키 증명 정보를 수신하여상기 송신자 공개키 증명 정보를 통해 상기 송신자의 공개키를 인증하는 공개키 인증 단계;
상기 메시지에 첨부된 서명의 유효성을 확인하여 상기 메시지를 인증하는 메시지 인증 단계;
상기 초기화 단계에서 수신하는 인증서 값 및 만료시간, 상기 메시지 및 서명 값을 상기 마스터에 전송하면서 소스를 의뢰하여 상기 송신자의 실제 ID를 획득하는 소스 인증 단계를 포함하는 것을 특징으로 하는 네트워크에서의 소스 인증 방법.
- 제 13 항에 있어서, 상기 초기화 단계는
상기 마스터가 각 엔티티의 키 값을 생성하기 위한 값을 모든 엔티티에게 브로드캐스트하는 단계;
상기 엔티티가 상기 각 엔티티의 키 값을 생성하기 위한 값을 기반으로 비밀 키 및 공개키를 생성하여 엔티티 ID 및 상기 공개키를 상기 마스터로 전송하는 단계;
상기 마스터가 상기 엔티티 ID를 통해 어떤 장비인지 식별하고, 상기 식별된 장비의 공개키에 대한 만료시간 및 상기 인증서 값 - 인증서 값은 상기 만료시간을 추적하는데 사용되는 TRACE 값 및 상기 TRACE 값과 상기 만료시간을 기반으로 계산되는 특수 값인 X 값을 포함함 - 을 해당 엔티티에게 전송하는 단계를 포함하는 것을 특징으로 하는 네트워크에서의 소스 인증 방법.
- 제 14 항에 있어서,
상기 각 엔티티의 키 값 생성을 위한 값은 상기 마스터 자신의 ID, 두 개의 큰 소수의 곱으로 이루어진 랜덤 값(n), 공개키 계산의 위수가 되는 값(g), 대칭키 알고리즘 및 마스터 키를 포함하는 것을 특징으로 하는 네트워크에서의 소스 인증 방법.
- 제 13 항에 있어서,
상기 송신자 공개키 증명 정보는 상기 송신자의 X 값 - 여기서, X 값은 TRACE 값과 만료시간을 기반으로 계산되는 특수 값을 나타냄 -, 상기 송신자가 MTU인지 서브 MTU인지 RTU인지를 나타내는 값, 상기 송신자의 TRACE 값 및 상기 송신자의 공개키 만료시간을 포함하는 것을 특징으로 하는 네트워크에서의 소스 인증 방법.
- 제 16 항에 있어서, 상기 공개키 인증 단계는
상기 송신자 공개키 증명 정보를 기반으로 상기 송신자의 공개키를 계산하고 상기 계산된 공개키와 상기 송신자의 실제 공개키가 동일한지 비교하여 상기 송신자의 공개키를 인증하는 단계를 포함하는 것을 특징으로 하는 네트워크에서의 소스 인증 방법.
- 제 15 항에 있어서,
상기 메시지에 첨부된 서명은 제 1 서명값 σ1 = H(M∥R) 및 제 2 서명값 σ2 = (r - PRIMTU·σ1) mod n(여기서, σ1 및 σ2는 제 1 및 제 2 서명값, H()는 해시 함수, M은 메시지, R은 gr mod n, r은 송신자가 선택한 랜덤수, PRIMTU는 송신자의 비밀키 값, n은 마스터가 생성한 랜덤 값을 나타냄)을 포함하고,
상기 메시지 인증 단계는 상기 제 2 서명값과 수신자가 직접 σ2′= H(M∥gσ2·PUBMTU σ1)(여기서, g는 상기 공개키 계산의 위수를 나타냄)를 통해 계산한 서명값을 비교하여 상기 메시지에 첨부된 서명의 유효성을 판단하는 단계를 포함하는 것을 특징으로 하는 네트워크에서의 소스 인증 방법.
- 제 13 항에 있어서, 상기 소스 인증 단계에서,
상기 마스터는 상기 인증서 값 및 상기 만료시간, 상기 메시지 및 상기 서명 값을 수신하여 상기 송신자의 공개키를 계산하고, 인증서, 및 상기 만료 시간 및 마스터 키를 기반으로 복호화를 수행하여 실제 만료 기간과 상기 송신자의 실제 ID를 획득하여 수신자로 전송하는 것을 특징으로 하는 네트워크에서의 소스 인증 방법.
- 제 13 항에 있어서,
상기 네트워크는 스마트 그리드 네트워크이고, 상기 마스터는 전력 공급 관리 장비이며, 상기 엔티티는 MTU, 서브 MTU 및 RTU 중 어느 하나인 것을 특징으로 하는 네트워크에서의 소스 인증 방법.
- 네트워크에서 메시지의 송신자를 인증하기 위한 소스 인증 시스템에 있어서,
엔티티들과의 초기화를 수행하고, 각 엔티티에 인증서 값 및 만료시간을 계산하여 할당하며, 수신자로부터의 소스 의뢰에 응답하여 상기 송신자의 실제 ID를 계산하여 상기 수신자로 전송하는 마스터;
송신자 공개키를 증명하기 위한 송신자 공개키 증명 정보, 상기 메시지 및 상기 메시지의 유효성을 증명하기 위한 서명을 상기 수신자로 전송하는 송신자;
상기 송신자로부터 상기 송신자의 공개키를 증명하기 위한 송신자 공개키 증명 정보를 수신하여 상기 송신자 공개키 증명 정보를 통해 상기 송신자의 공개키를 인증하고, 상기 메시지에 첨부된 서명의 유효성을 확인하여 상기 메시지를 인증하며, 초기화 단계에서 수신하는 인증서 값 및 만료시간, 상기 메시지 및 서명 값을 상기 마스터에 전송하면서 소스를 의뢰하여 상기 송신자의 실제 ID를 획득하는 수신자를 포함하는 것을 특징으로 하는 네트워크에서의 소스 인증 시스템.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120096275A KR101336144B1 (ko) | 2012-08-31 | 2012-08-31 | 네트워크에서의 키 관리 방법 및 시스템, 및 소스 인증 방법 및 시스템 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120096275A KR101336144B1 (ko) | 2012-08-31 | 2012-08-31 | 네트워크에서의 키 관리 방법 및 시스템, 및 소스 인증 방법 및 시스템 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101336144B1 true KR101336144B1 (ko) | 2013-12-02 |
Family
ID=49987092
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020120096275A KR101336144B1 (ko) | 2012-08-31 | 2012-08-31 | 네트워크에서의 키 관리 방법 및 시스템, 및 소스 인증 방법 및 시스템 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101336144B1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20170129069A (ko) * | 2016-05-16 | 2017-11-24 | 주식회사 투아이피 | 서버 및 피어의 동작 방법 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20070093109A (ko) * | 2005-01-12 | 2007-09-17 | 브리티쉬 텔리커뮤니케이션즈 파블릭 리미티드 캄퍼니 | Rfid 태그 보안 시스템 및 그 방법 |
KR20100023629A (ko) * | 2008-08-22 | 2010-03-04 | 고려대학교 산학협력단 | 무선 센서 네트워크에서의 브로드 캐스팅 메시지 인증을 통한 그룹키 분배 방법, 그 시스템 및 이를 기록한 기록매체 |
KR20100084854A (ko) * | 2009-01-19 | 2010-07-28 | 충남대학교산학협력단 | Scada 시스템 통신 환경에 효율적인 키 관리 방법 |
KR20110118273A (ko) * | 2010-04-23 | 2011-10-31 | 한국과학기술원 | 해쉬 트리 기반의 스트림 암호화 및 복호화 방법과 암호 파일 시스템 |
-
2012
- 2012-08-31 KR KR1020120096275A patent/KR101336144B1/ko not_active IP Right Cessation
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20070093109A (ko) * | 2005-01-12 | 2007-09-17 | 브리티쉬 텔리커뮤니케이션즈 파블릭 리미티드 캄퍼니 | Rfid 태그 보안 시스템 및 그 방법 |
KR20100023629A (ko) * | 2008-08-22 | 2010-03-04 | 고려대학교 산학협력단 | 무선 센서 네트워크에서의 브로드 캐스팅 메시지 인증을 통한 그룹키 분배 방법, 그 시스템 및 이를 기록한 기록매체 |
KR20100084854A (ko) * | 2009-01-19 | 2010-07-28 | 충남대학교산학협력단 | Scada 시스템 통신 환경에 효율적인 키 관리 방법 |
KR20110118273A (ko) * | 2010-04-23 | 2011-10-31 | 한국과학기술원 | 해쉬 트리 기반의 스트림 암호화 및 복호화 방법과 암호 파일 시스템 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20170129069A (ko) * | 2016-05-16 | 2017-11-24 | 주식회사 투아이피 | 서버 및 피어의 동작 방법 |
KR101991731B1 (ko) * | 2016-05-16 | 2019-06-24 | 주식회사 투아이피 | 서버 및 피어의 동작 방법 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Wazid et al. | Secure three-factor user authentication scheme for renewable-energy-based smart grid environment | |
Nicanfar et al. | Efficient authentication and key management mechanisms for smart grid communications | |
US7965845B2 (en) | System and methods for efficient authentication of medical wireless ad hoc network nodes | |
CN104753917A (zh) | 基于id的密钥管理系统及方法 | |
KR20120047911A (ko) | 센서 네트워크에서 인증 및 비밀 키 관리 메커니즘을 결합하는 방법 | |
US20120324554A1 (en) | Automatic device pairing | |
CN102223629B (zh) | 一种移动自组网门限密钥分发方法 | |
JP5378296B2 (ja) | 通信装置および通信方法 | |
CN109981263B (zh) | 一种基于cp-abe的分布式可验证随机数生成方法 | |
Ometov et al. | Securing network-assisted direct communication: The case of unreliable cellular connectivity | |
Lin et al. | Secure and efficient group key management with shared key derivation | |
CN103763094A (zh) | 一种智能电表系统安全监控信息处理方法 | |
KR100892616B1 (ko) | 무선 센서 네트워크에서의 새로운 장치 참여 방법 | |
Ambika et al. | A novel RSA algorithm for secured key transmission in a centralized cloud environment | |
Nicanfar et al. | Password‐authenticated cluster‐based group key agreement for smart grid communication | |
KR20130051636A (ko) | M2m 환경에서의 상호 인증 및 보안 방법 | |
KR101336144B1 (ko) | 네트워크에서의 키 관리 방법 및 시스템, 및 소스 인증 방법 및 시스템 | |
De Ree et al. | DECENT: decentralized and efficient key management to secure communication in dense and dynamic environments | |
Kamboj et al. | Survey of various keys management techniques in MANET | |
US20220407845A1 (en) | System and Method for Performing Secure Key Exchange | |
JP4371629B2 (ja) | グループ暗号通信方法、認証方法、計算機及びプログラム | |
JP2017076940A (ja) | 無線システム、基地局装置、端末装置および識別情報報知方法 | |
Wu et al. | A survey of key management in mobile ad hoc networks | |
KR101165350B1 (ko) | 유비쿼터스 컴퓨팅 네트워크 환경에서 커뮤니티 컴퓨팅을 위한 디바이스 멤버 인증방법 | |
KR20210054720A (ko) | 안전한 통신의 수행을 위한 스마트 미터링 시스템 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20160928 Year of fee payment: 4 |
|
LAPS | Lapse due to unpaid annual fee |