KR101062995B1 - Scada 시스템 통신 환경에 효율적인 키 관리 방법 - Google Patents

Scada 시스템 통신 환경에 효율적인 키 관리 방법 Download PDF

Info

Publication number
KR101062995B1
KR101062995B1 KR1020090004213A KR20090004213A KR101062995B1 KR 101062995 B1 KR101062995 B1 KR 101062995B1 KR 1020090004213 A KR1020090004213 A KR 1020090004213A KR 20090004213 A KR20090004213 A KR 20090004213A KR 101062995 B1 KR101062995 B1 KR 101062995B1
Authority
KR
South Korea
Prior art keywords
terminal
node
sub
key
shared key
Prior art date
Application number
KR1020090004213A
Other languages
English (en)
Other versions
KR20100084854A (ko
Inventor
이성진
김승주
원동호
최동현
이광우
이병희
정한재
전웅렬
허순행
차욱재
조성규
박현상
이형섭
이현승
김송이
조영준
Original Assignee
충남대학교산학협력단
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 충남대학교산학협력단 filed Critical 충남대학교산학협력단
Priority to KR1020090004213A priority Critical patent/KR101062995B1/ko
Priority to US12/384,173 priority patent/US20100183150A1/en
Publication of KR20100084854A publication Critical patent/KR20100084854A/ko
Application granted granted Critical
Publication of KR101062995B1 publication Critical patent/KR101062995B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key 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/083Key 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/0833Key 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/0836Key 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key 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/0822Key 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) using key encryption key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy

Abstract

마스터 단말(MTU), 다수의 서브단말(SUB-MTU), 다수의 원격단말(RTU)이 순차적인 계층으로 구성된 SCADA(Supervisory Control And Data Acquisition) 시스템에서의 통신을 위한 그룹키의 공유키를 관리방법에 관한 것으로서, (a) 마스터 단말은 비밀키를 생성하여 원격단말에게 할당하는 단계; (b) 그룹키를 트리구조로 생성하되, 그룹키의 각 노드의 공유키는 모든 자식노드의 공유키들을 해시하여 생성되고, 그룹키의 리프노드의 공유키는 원격단말의 비밀키로 정해지는 단계; (c) 상기 원격단말 또는 서브단말은 자신과 대응되는 노드에서 루트 노드까지의 공유키를 수신하여 저장하는 단계; (d) 상기 원격단말 또는 서브단말이 추가 또는 삭제되면, 상기 마스터 단말은 상기 추가 또는 삭제되는 단말에 대응되는 노드에서 루트 노드까지의 경로에 있는 노드들의 공유키를 다시 생성하는 단계; (e) 상기 원격단말 또는 서브단말은 다시 생성된 공유키를 수신하여 저장하는 단계를 포함하는 구성을 마련한다.
상기와 같은 SCADA 시스템 통신 환경의 키 관리방법에 의하여, 메시지를 암호화하여 브로드캐스팅 또는 멀티캐스팅 하는 경우, 발생되는 연산량을 줄일 수 있는 효과가 얻어진다.
Figure R1020090004213
SCADA, MTU, RTU, 암호화, 그룹키, 공유키

Description

SCADA 시스템 통신 환경에 효율적인 키 관리 방법 { A effective key management method for secure SCADA communication }
본 발명은 마스터 단말(MTU), 다수의 서브단말(SUB-MTU), 다수의 원격단말(RTU)이 순차적인 계층으로 구성된 SCADA(Supervisory Control And Data Acquisition) 시스템에서, 그룹키를 트리구조로 생성하고, 원격단말 또는 서브단말이 자신에 해당하는 노드에서 루트 노드까지의 그룹키 공유키를 저장하여, 공유키를 통해 통신을 하는 SCADA 시스템 통신 환경의 키 관리방법에 관한 것이다.
특히, 본 발명은 SCADA 시스템의 그룹키를 트리구조로 생성하되, 리프노드와 리프노드의 부모노드를 각각 원격단말과 서브단말에 대응하여 하나의 그룹키를 생성하거나, 마스터 단말과 서브단말, 서브단말과 이와 연결된 원격단말로 분리하여 그룹키를 생성하고, 분리된 그룹간에는 Iolus 프레임워크로 통신을 연계하는 키 관 리방법에 관한 것이다.
또, 본 발명은 원격단말 또는 서브단말이 추가 또는 삭제되면, 이에 대응되는 그룹키의 트리구조를 변경하고 변경된 트리구조의 공유키를 갱신하여, 공유키를 재분배하는 키 관리방법에 관한 것이다.
일반적으로 SCADA(Supervisory Control And Data Acquisition) 시스템은 국가 기반시설 등에서 사용되는 산업적인 제어 및 감시 시스템이다. 즉, SCADA 시스템은 수자원 시설, 변전소 또는 발전소 등 에너지 시설, 가스 및 송유관 시설 등의 프로세스를 감시하고 제어하는 컴퓨터 시스템이다.
과거에 SCADA 시스템은 폐쇄적인 환경에서 사용되었기 때문에 보안성에 대한 고려 없이 설계되었다. 하지만, 점차 SCADA 시스템을 개방 네트워크에 연결하려는 요구가 증가함에 따라 SCADA 시스템에 대한 보안이 이슈화 되었다. SCADA 시스템의 보안성을 향상시키기 위해서는 데이터의 암호화 기능과 그에 따른 암호화 키 관리가 필수적이다.
기존에 SCADA 시스템을 위한 키 관리 방법으로 SKE(Key establishment for SCADA systems)와 SKMA(Key management scheme for SCADA systems)가 제안되었지만, 이러한 키 관리 방법들은 브로드캐스팅이나 멀티캐스팅 통신을 지원하지 못한다는 단점이 있었다. 즉, SKE나 SKMA 방식에서는 메시지를 여러 장치에게 보내기 위해서는 각 장치와 공유한 키를 이용하여 메시지를 장치의 수만큼 암호화해야 한 다. 이러한 방법은 수 천 개의 장치를 관리하며, 실시간 처리를 해야 하는 SCADA 시스템에 많은 부하를 줄 수 있으며, 적절하지 못한 통신 방법이다.
이를 해결하고자, 계층구조를 가지는 논리키를 통해 이를 해결하는 SCADA 시스템의 안전한 통신환경을 위하여 개선된 키 관리 체계가 제시되었다. 그러나 상기 개선된 키 관리 체계는 많은 연산량을 요구한다는 문제점을 가지고 있다. 특히, 이 문제는 실시간 처리를 해야 하는 SCADA 시스템에는 치명적인 약점이다.
본 발명의 목적은 상술한 바와 같은 문제점을 해결하기 위한 것으로, 마스터 단말(MTU), 다수의 서브단말(SUB-MTU), 다수의 원격단말(RTU)이 순차적인 계층으로 구성된 SCADA(Supervisory Control And Data Acquisition) 시스템에서, 그룹키를 트리구조로 생성하고, 원격단말 또는 서브단말이 자신에 해당하는 노드에서 루트 노드까지의 그룹키 공유키를 저장하여, 공유키를 통해 통신을 하는 SCADA 시스템 통신 환경의 키 관리방법을 제공하는 것이다.
본 발명의 다른 목적은 SCADA 시스템의 그룹키를 트리구조로 생성하되, 리프노드와 리프노드의 부모노드를 각각 원격단말과 서브단말에 대응하여 하나의 그룹키를 생성하거나, 마스터 단말과 서브단말, 서브단말과 이와 연결된 원격단말로 분리하여 그룹키를 생성하고, 분리된 그룹간에는 Iolus 프레임워크로 통신을 연계하는 키 관리방법을 제공하는 것이다.
본 발명의 또 다른 목적은 원격단말 또는 서브단말이 추가 또는 삭제되면, 이에 대응되는 그룹키의 트리구조를 변경하고 변경된 트리구조의 공유키를 갱신하여, 공유키를 재분배하는 키 관리방법을 제공하는 것이다.
상기 목적을 달성하기 위해 본 발명은 마스터 단말(MTU), 다수의 서브단말(SUB-MTU), 다수의 원격단말(RTU)이 순차적인 계층으로 구성되는 SCADA(Supervisory Control And Data Acquisition) 시스템 통신환경의 공유키 관리방법에 관한 것으로서, (a) 상기 마스터 단말은 다수의 비밀키를 생성하여 상기 원격단말에게 각각 할당하는 단계; (b) 상기 마스터 단말은 그룹키를 트리구조로 생성하되, 상기 트리구조의 리프노드는 각 원격단말과 대응되고, 원격단말에 대응되는 노드의 부모노드는 원격단말이 연결된 서브단말에 대응되고, 상기 그룹키의 각 노드의 공유키는 모든 자식노드의 공유키들을 해시하여 생성되고, 상기 그룹키의 리프노드의 공유키는 상기 원격 단말의 비밀키로 정해지는 단계; (c) 상기 원격단말 또는 서브단말은 자신과 대응되는 노드에서 루트 노드까지의 공유키를 수신하여 저장하는 단계; (d) 상기 원격단말 또는 서브단말이 추가 또는 삭제되면, 상기 마스터 단말은 상기 추가 또는 삭제되는 단말에 대응되는 노드에서 루트 노드까지의 경로에 있는 노드들의 공유키를 다시 생성하는 단계; (e) 상기 원격단말 또는 서브단말은 다시 생성된 공유키를 수신하여 저장하는 단계를 포함하는 것을 특징으로 한다.
또, 본 발명은 SCADA 시스템 통신 환경의 공유키 관리방법에 있어서, 상기 (a)단계에서, 상기 마스터 단말은 연결된 원격단말이 없는 서브단말에 비밀키를 생성하여 할당하고, 상기 (b)단계에서, 원격단말이 없는 서브단말은 상기 트리구조의 리프노드에 대응되는 것을 특징으로 한다.
또, 본 발명은 SSCADA 시스템 통신 환경의 공유키 관리방법에 있어서, 상기 트리구조는 서브단말에 대응되는 노드까지 2진 트리이고, 서브단말에서 원격단말까지는 n차 트리인 것을 특징으로 한다.
또, 본 발명은 SSCADA 시스템 통신 환경의 공유키 관리방법에 있어서, 상기 (d)단계는, (d1) 원격단말이 추가 또는 삭제되면, 상기 추가 또는 삭제된 원격단말이 연결된 서브단말에 대응되는 노드에서, 상기 추가 또는 삭제된 원격단말에 대응되는 노드를 추가 또는 삭제하는 단계; (d2) 서브단말이 추가 또는 삭제되면, 상기 추가 또는 삭제된 서브단말에 대응되는 노드를 상기 그룹키의 트리구조에서 추가 또는 삭제하고, 상기 그룹키의 트리구조를 2진트리로 재구성하는 단계; (d3) 상기 추가 또는 삭제된 노드에서 루트노드까지의 경로에 있는 노드들의 공유키를 다시 생성하는 단계를 포함하는 것을 특징으로 한다.
또, 본 발명은 SSCADA 시스템 통신 환경의 공유키 관리방법에 있어서, 상기 (d2)단계는, 상기 서브단말이 추가되면, 상기 마스터 단말은, 추가된 서브단말에 대응되는 추가노드를 생성하고, 상기 그룹키의 트리구조에서 하나의 리프노드를 제외하고, 상기 추가노드와 상기 제외된 리프노드를 자식노드로 하는 중간노드를 생성하고, 상기 중간노드를 상기 제외된 리프노드가 있었던 위치에 연결하고, 상기 서브단말이 삭제되면, 상기 마스터 단말은, 삭제된 서브단말에 대응되는 노드를 상기 그룹키의 트리구조에서 삭제하고, 상기 삭제된 노드의 형제노드를 상기 삭제된 노드의 부모노드에 대치하는 것을 특징으로 한다.
또, 본 발명은 SSCADA 시스템 통신 환경의 공유키 관리방법에 있어서, 상기 (e)단계는, 상기 마스터 단말은 다시 생성된 공유키를 다시 생성전 공유키로 암호화하여 서브단말 또는 원격단말에게 멀티캐스팅하고, 상기 서브단말 또는 원격단말은 암호화된 공유키를 수신하고 복호화하여 저장하는 것을 특징으로 한다.
또한, 본 발명은 마스터 단말(MTU), 다수의 서브단말(SUB-MTU), 다수의 원격단말(RTU)이 순차적인 계층으로 구성되는 SCADA(Supervisory Control And Data Acquisition) 시스템 통신환경의 공유키 관리방법에 관한 것으로서, (a) 상기 마스터 단말은 다수의 비밀키를 생성하여 상기 서브 단말에게 각각 할당하고, 상기 서브 단말은 다수의 비밀키를 생성하여 자신에게 속하는 원격 단말에게 각각 할당하는 단계; (b) 상기 마스터 단말은 상기 서브단말의 그룹키를 트리구조로 생성하고 상기 서브단말은 자신에게 속하는 원격단말의 그룹키를 트리구조로 생성하되, 상기 트리구조의 리프노드는 각 원격단말 또는 각 서브단말과 대응되고, 상기 그룹키의 각 노드의 공유키는 모든 자식노드의 공유키들을 해시하여 생성되고, 상기 그룹키의 리프노드의 공유키는 상기 원격단말 또는 서브단말의 비밀키로 정해지는 단계; (c) 상기 서브단말 또는 원격단말은 자신과 대응되는 노드에서 루트 노드까지의 공유키를 수신하여 저장하는 단계; (d) 상기 서브단말 또는 원격단말이 추가 또는 삭 제되면, 상기 마스터 단말 또는 서브단말은 추가 또는 삭제된 단말에 대응되는 노드에서 루트 노드까지의 경로에 있는 노드들의 공유키를 다시 생성하는 단계; (e) 상기 원격단말 또는 서브단말은 다시 생성된 공유키를 수신하여 저장하는 단계를 포함하는 것을 특징으로 한다.
또, 본 발명은 SSCADA 시스템 통신 환경의 공유키 관리방법에 있어서, 상기 트리구조는 2진 트리인 것을 특징으로 한다.
또, 본 발명은 SSCADA 시스템 통신 환경의 공유키 관리방법에 있어서, 상기 (d)단계는, (d1) 원격단말 또는 서브단말이 추가 또는 삭제되면, 상기 추가 또는 삭제된 원격단말 또는 서브단말에 대응되는 노드를, 상기 그룹키의 트리구조에서 추가 또는 삭제하고, 상기 그룹키의 트리구조를 2진트리로 재구성하는 단계; (d2) 상기 추가 또는 삭제된 노드에서 루트노드까지의 경로에 있는 노드들의 공유키를 다시 생성하는 단계를 포함하는 것을 특징으로 한다.
또, 본 발명은 SSCADA 시스템 통신 환경의 공유키 관리방법에 있어서, 상기 (d2)단계는, 상기 서브단말 또는 원격단말이 추가되면, 상기 마스터 단말 또는 서브단말은, 추가된 서브단말 또는 원격단말에 대응되는 추가노드를 생성하고, 상기 그룹키의 트리구조에서 하나의 리프노드를 제외하고, 상기 추가노드와 상기 제외된 리프노드를 자식노드로 하는 중간노드를 생성하고, 상기 중간노드를 상기 제외된 리프노드가 있었던 위치에 연결하고, 상기 서브단말 또는 원격단말이 삭제되면, 상기 마스터 단말 또는 서브단말은, 삭제된 서브단말 또는 원격단말에 대응되는 노드를 상기 그룹키의 트리구조에서 삭제하고, 상기 삭제된 노드의 형제노드를 상기 삭 제된 노드의 부모노드에 대치하는 것을 특징으로 한다.
또, 본 발명은 SSCADA 시스템 통신 환경의 공유키 관리방법에 있어서, 상기 (e)단계는, 상기 마스터 단말 또는 상기 서브단말은 다시 생성된 공유키를 다시 생성전 공유키로 암호화하여 서브단말 또는 원격단말에게 멀티캐스팅하고, 상기 서브단말 또는 원격단말은 암호화된 공유키를 수신하고 생성전 공유키로 복호화하여 저장하는 것을 특징으로 한다.
또한, 본 발명은 상기 SSCADA 시스템 통신 환경의 공유키 관리방법을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것이다.
또한, 본 발명은 마스터 단말(MTU), 다수의 서브단말(SUB-MTU), 다수의 원격단말(RTU)이 순차적인 계층으로 구성된 SCADA(Supervisory Control And Data Acquisition) 시스템에서, 상기 SSCADA 시스템 통신 환경의 공유키 관리방법에 의하여 구성된 그룹키를 이용하여 세션키를 생성하는, SCADA 시스템 통신 환경의 세션키 생성방법에 관한 것이다.
또, 본 발명은 SCADA 시스템 통신 환경의 세션키 생성방법에 있어서, 상기 세션키는, 상기 그룹키와, 타임스탬프 및 시퀀스 번호가 결합된 값을 해시하여 생성되는 것을 특징으로 한다.
또한, 본 발명은 마스터 단말(MTU), 다수의 서브단말(SUB-MTU), 다수의 원격 단말(RTU)이 순차적인 계층으로 구성된 SCADA(Supervisory Control And Data Acquisition) 시스템에서, 상기 SSCADA 시스템 통신 환경의 공유키 관리방법에 의하여 구성된 그룹키를 이용하여, 마스터 단말과 서브단말의 그룹과, 서브단말과 원격단말의 그룹간에 Iolus 프레임워크에 의해 메시지 통신을 하는, SCADA 시스템 통신 환경의 메시지 통신방법에 관한 것이다.
또, 본 발명은 SCADA 시스템 통신 환경의 메시지 통신방법에 있어서, 상기 서브단말은 서브단말의 그룹키를 이용한 암호화된 메시지를 수신하면, 그룹키를 이용하여 암호화된 메시지를 복호화하고, 자신에게 속하는 원격단말의 그룹키의 루트노드의 공유키를 이용하여 상기 복호화된 메시지를 암호화하여 자신에게 속하는 원격단말에게 멀티캐스팅하는 것을 특징으로 한다.
상술한 바와 같이, 본 발명에 따른 SCADA 시스템 통신 환경의 키 관리방법에 의하면, SCADA 시스템에서 메시지를 암호화하여 브로드캐스팅 또는 멀티캐스팅 하는 경우, 발생되는 연산량을 줄일 수 있는 효과가 얻어진다.
또, 본 발명에 따른 SCADA 시스템 통신 환경의 키 관리방법에 의하면, 메모리 공간과 연산능력이 제한적인 SCADA 시스템 통신 장치의 암호화 통신 수행 시, 브로드캐스팅이나 멀티캐스팅 통신을 위한 암호화 연산량이 줄어들어 실시간 처리를 요하는 SCADA 시스템에 효율적일 뿐만 아니라, 저장해야 할 키의 수가 적어 효율적으로 키를 관리할 수 있는 효과가 얻어진다.
이하, 본 발명의 실시를 위한 구체적인 내용을 도면에 따라서 설명한다.
또한, 본 발명을 설명하는데 있어서 동일 부분은 동일 부호를 붙이고, 그 반복 설명은 생략한다.
먼저, 본 발명을 실시하기 위한 SCADA 시스템의 전체 구성의 일례에 대하여 도 1을 참조하여 설명한다.
도 1에서 보는 바와 같이, 본 발명을 실시하기 위한 SCADA 시스템은 관리자 단말(HMI, Human-Machine Interface)(10), 마스터 단말(MTU, Master Terminal Unit)(21), 서브단말(SUB-MTU, SUB Master Terminal Unit)(22), 원격단말(RTU, Remote Terminal Unit)(23)로 구성된다. 특히, 마스터 단말(21), 서브단말(22), 원격단말(33)은 순차적으로 계층적 구조를 갖는다.
관리자 단말(10)은 기반시설의 프로세스 데이터를 관리자에게 보여주는 장치로서, 관리자가 이를 통해 기반시설을 모니터링하고 제어하는 단말 장치이다. 이를 위해, 관리자 단말(10)은 컴퓨팅 기능을 가진 단말장치로 구성된다.
원격단말(23)은 기반시설에 직접 설치되어 프로세스 데이터를 수집하여 전송하거나 제어명령에 따라 수행하는 단말장치이다. 일반적으로 SCADA시스템에 적용되는 기반시설은 지역적으로 넓게 분포되어 있기 때문에, 원격단말(23)들도 지역적으로 흩어져 있다.
서브단말(22)은 특정한 원격단말(23)과 통신하고 이들을 제어한다. 마스터 단말(21)은 전체적으로 프로세스 데이터를 수집하고 제어하는 장치이다. 즉, 마스터 단말(21)은 서브단말(22)을 제어하고 서브단말(22)을 통해 원격단말(23)을 모니터링하고 제어한다.
마스터 단말(21), 서브단말(22), 원격단말(23)들이 서로 암호화된 통신을 하기 위해서는 세션키를 이용한다. 즉, 송신하는 단말과 수신하는 단말 사이에서 세션키를 생성하여 서로 나누어 갖는다. 그리고 송신 단말은 보내려는 메시지를 세션키로 암호화하여 전송하고, 수신 단말은 암호화된 메시지를 수신하여 세션키로 복호화한다.
세션키는 메시지를 송수신하는 특정 세션에서만 이용되는 키로서, 세션을 달리하면 다르게 생성된다. 세션키가 노출되더라도 다른 세션은 안전하다. 그런데 세션키를 만들기 위해서 사용되는 비밀키가 공유키이다. 즉, 세션키는 공유키에 타임스탬프, 시퀀스 번호, 장치의 식별자 등이 추가되어 생성된다. 따라서 안전한 통신을 위해서는 무엇보다 공유키의 관리가 중요하다.
본 발명에 따른 SCADA 시스템 통신 환경의 공유키 관리방법은 마스터 단말(21)에 의해 전체적으로 하나의 논리구조로 관리하는 제1 실시예와, 마스터 단말(21) 또는 서브단말(22)이 각각 별도의 논리구조로 나누어 관리하는 제2 실시예로 나뉜다.
즉, 본 발명의 제1 실시예에 따르면, 마스터 단말(21)이 공유키를 생성하여 서브단말(22) 또는 원격단말(23)에 전달된다. 즉, 마스터 단말(21)이 전체의 공유 키를 주체적으로 관리한다. 그리고 공유키는 전체적으로 공유된다.
본 발명의 제2 실시예에 따르면, 마스터 단말(21)이 공유키를 생성하여 자신이 관리하는 서브단말(22)에 전달하고, 서브단말(22)도 공유키를 생성하여 자신이 관리하는 원격단말(22)에 전달한다. 즉, 마스터 단말(21)과 서브단말(22)이 2개의 계층으로 공유키를 나누어 관리한다. 또, 공유키는 마스터 단말(21)과 서브단말(22), 서브단말(22)과 원격단말(23)로 구분되어 공유된다.
이때, 마스터 단말(21)과 이에 속하는 서브단말(22)을 "마스터 계층 그룹"이라고 칭하고, 서브단말(22)과 이에 속하는 원격단말(23)을 "서브계층 그룹"으로 부르기로 한다.
이 경우, 서브단말(22)은 마스터 계층 그룹 내에서 통신을 할 때는 마스터 계층 그룹에서 만들어지는 세션키를 이용하고, 서브 계층 그룹 내에서 통신을 할 때는 서브 계층 그룹에서 만들어지는 세션키를 이용한다. 또, 세션키는 각 그룹에서 생성되고 관리되는 공유키에 의해 생성된다.
한편, 마스터 계층 그룹과 서브계층 그룹 간의 메시지 통신은 Iolus 프레임워크에 의해 연계된다. 즉, 마스터 계층 그룹에서 서브계층 그룹으로 메시지를 전달하는 경우, 서브단말(22)은 마스터 계층 그룹에서 만들어진 세션키로 수신된 메시지를 복호화하고, 서브계층 그룹에서 만들어진 세션키로 다시 암호화하여 서브계층 그룹으로 전달한다. 반대로 서브계층 그룹에서 마스터 계층 그룹으로 전송하는 경우, 서브단말(22)은 그 반대로 작업을 수행한다.
한편, SCADA시스템에서 서브단말(22) 또는 원격단말(23)이 삭제되거나 추가 되면, 도 1과 같은 SCADA시스템의 구조가 변경된다. SCADA시스템의 구조가 변경되면, 이에 따라 공유키도 변경된다.
즉, 제1 실시예에 따르면 마스터 단말(21)이, 제2 실시예에 따르면 마스터 단말(21) 또는 서브단말(22)이 변경된 SCADA시스템의 구조에 따라 공유키를 갱신하고, 서브단말(22) 또는 원격단말(23)에 갱신된 공유키를 전달한다.
다음으로, 본 발명의 제1 실시예에 따른 SCADA 시스템 통신 환경의 공유키 관리방법을 도 2를 참조하여 설명한다.
도 2에서 보는 바와 같이, 본 발명의 제 1의 실시예에 따른 키 관리방법은 (a) 마스터 단말은 비밀키를 생성하여 원격단말에게 할당하는 단계(S10); (b) 그룹키를 트리구조로 생성하되, 그룹키의 각 노드의 공유키는 모든 자식노드의 공유키들을 해시하여 생성되고, 그룹키의 리프노드의 공유키는 원격단말의 비밀키로 정해지는 단계(S20); (c) 상기 원격단말 또는 서브단말은 자신과 대응되는 노드에서 루트 노드까지의 공유키를 수신하여 저장하는 단계(S30); (d) 상기 원격단말 또는 서브단말이 추가 또는 삭제되면, 상기 마스터 단말은 상기 추가 또는 삭제되는 단말에 대응되는 노드에서 루트 노드까지의 경로에 있는 노드들의 공유키를 다시 생성하는 단계(S40); (e) 상기 원격단말 또는 서브단말은 다시 생성된 공유키를 수신하여 저장하는 단계(S50)로 구성된다.
상기 (a)단계는 마스터 단말(21)이 다수의 비밀키를 생성하여 원격단말(23)에게 각각 할당하는 단계이다(S10). 또, 상기 마스터 단말(21)은 연결된 원격단 말(23)이 없는 서브단말(22)에 비밀키를 생성하여 할당한다.
따라서 마스터 단말(21)은 SCADA 시스템의 계층구조에서 제일 말단, 즉, 리프노드에 해당하는 서브단말(22) 또는 원격단말(23) 모두에 비밀키를 생성하여 할당한다.
상기 (b)단계에서, 상기 마스터 단말(21)은 그룹키를 트리구조로 생성하되, 상기 트리구조의 리프노드는 각 원격단말(23)과 대응되고, 원격단말(23)에 대응되는 노드의 부모노드는 원격단말(23)이 연결된 서브단말(22)에 대응되고, 상기 그룹키의 각 노드의 공유키는 모든 자식노드의 공유키들을 해시하여 생성되고, 상기 그룹키의 리프노드의 공유키는 상기 원격 단말(23)의 비밀키로 정해지는 단계(S20)이다.
특히, 상기 그룹키의 트리구조는 서브단말(22)에 대응되는 노드까지 2진 트리이고, 서브단말(22)에서 원격단말(23)까지는 n차 트리이다.
본 발명의 제1 실시예에 따른 그룹키(30)의 트리구조를 도 3을 참조하여 보다 자세히 설명한다.
도 3에서 보는 바와 같이, 그룹키(30)는 SCADA시스템에 대응되는 트리구조를 가진다. 그룹키(30)의 루트노드(31)는 마스터 단말(21)에 대응되고, 리프노드(33)는 원격단말(23)에 대응된다. 이를 각각 "마스터 단말 노드(31)", "원격단말 노드(32)"라 부르기로 한다.
또, 리프노드(33)의 부모노드(32)는 서브단말(22)에 대응된다. 이를 "서브단말 노드(33)"라 부르기로 한다. 특히, 하나의 서브단말 노드(32)의 자식노드(33)들 은 이 서브단말(22)에 연결된 원격단말(23)에 대응되는 노드(33)들이다. 따라서 서브단말 또는 원격단말에 대응되는 노드들의 구조는 SCADA시스템의 계층구조와 동일하다. 또, 서브단말(22)에는 다수의 원격단말(23)이 연결될 수 있으므로, 서브단말(22)에 대응되는 노드를 루트로 하는 트리는 n차 트리(n-array tree)이다.
한편, 마스터 단말 노드(31)와 서브단말 노드(32) 사이는 2진 트리구조로 만들어진다. 마스터 단말 노드(31)와 서브단말 노드(32) 사이의 노드를 "중간노드(34)"라 부르기로 한다.
따라서 마스터 단말 노드(31)를 정점(루트노드)으로 하여 서브단말 노드(32)까지의 트리는 2진 트리구조이고, 서브단말 노드(32)를 정점으로 하는 트리는 n차 트리(n-array tree)이다.
상기 그룹키(31)의 트리구조의 각 노드에는 공유키가 생성된다. 생성되는 방법은 다음과 같다.
먼저, 앞서 (a)단계에서 각 원격단말(23)에 할당된 비밀키가 그룹키(30)의 리프노드(33)(또는 원격단말 노드)의 공유키로 정해진다. 원격단말이 없는 서브단말(22)에 대응되는 서브단말 노드(32)에도 상기 서브단말(23)에 할당된 비밀키가 공유키로 정해진다. 즉, 그룹키(30)의 트리구조의 리프노드에 비밀키가 공유키로 정해진다. 예를 들면, 도 3에서, 그룹키(30)의 리프노드에는 원격단말 RTU1, RTU2, ..., RTU100, 에 각각 할당된 비밀키인 Kh+1,1, Kh+1,2, ..., Kh+1,100,이 공유키로 정해진다.
다음으로, 그룹키(30)의 각 노드의 공유키는 모든 자식노드의 공유키들을 해시하여 생성된다.
특히, 서브단말 노드(32)의 공유키는 서브단말(22)에 연결된 모든 원격단말(23)의 비밀키를 해시하여 생성한다. 서브단말 노드(32)의 공유키
Figure 112009003310617-pat00001
는 m개의 원격단말의 비밀키
Figure 112009003310617-pat00002
를 해시하여 생성된다. 식으로 표현하면, [수식 1]과 같다.
[수식 1]
Figure 112009003310617-pat00003
단, n은 서브단말에 연결하는 원격단말의 수,
m은 원격단말의 개수
한편, 마스터 단말 노드(31)와 서브단말 노드(32) 사이는 2진 트리 형태로 공유키 구조가 생성된다. 2진 트리구조에서 각 노드의 공유키 값은 자식 노드의 두 공유키(또는 해시된 값)를 해시함으로써 생성된다. 식으로 표현하면, [수식 2]와 같다.
[수식 2]
Figure 112009003310617-pat00004
단, m은 원격단말의 개수
h = 1 + log2 m
따라서 위의 식을 통해 2진 트리구조의 공유키 구조가 형성되며, 루트노드의 공유키 K0,1 이 생성된다.
상기 (c)단계는 상기 원격단말(23) 또는 서브단말(22)이 자신과 대응되는 노드에서 루트 노드까지의 공유키를 수신하여 저장하는 단계이다(S30).
앞서 (b)단계에서 설명된 그룹키 구조에서 서브단말(22)은 자신의 노드부터 루트 노드까지의 경로에 있는 모든 노드의 키 값을 저장한다. 즉, 서브단말(22)의 개수가 m개 일 경우, 1 + log2 m 개의 공유키를 저장하며, 원격단말(23)은 서브단말(22)의 공유키 개수에서 자신의 공유키(또는 비밀키)를 더한 2 + log2 m 개의 공유키를 저장한다.
상기 (d)단계는 상기 원격단말(23) 또는 서브단말(22)이 추가 또는 삭제되면, 상기 마스터 단말(21)이 상기 추가 또는 삭제되는 단말에 대응되는 노드에서 루트 노드까지의 경로에 있는 노드들의 공유키를 다시 생성하는 단계(S40)이다.
상기 (d)단계를 도 4를 참조하여 상세히 설명한다.
도 4에서 보는 바와 같이, 상기 (d)단계는 (d1) 원격단말(23)이 추가 또는 삭제되면 그룹키(30)를 변경하는 단계(S41), (d2) 서브단말(22)이 추가 또는 삭제되면 그룹키(30)를 변경하는 단계(S42), (d3) 그룹키(30)의 변경에 따라 노드들의 공유키를 재생성하는 단계(S43)으로 나뉜다.
상기 (d1)단계는, 원격단말(23)이 추가 또는 삭제되면, 상기 추가 또는 삭제된 원격단말(23)이 연결된 서브단말에 대응되는 노드(32)에서, 상기 추가 또는 삭제된 원격단말에 대응되는 노드(33)를 추가 또는 삭제하는 단계(S41)이다.
서브단말(22)과 원격단말(23)의 구조는 그룹키(30)에서 서브단말 노드(32)와 원격단말 노드(33)의 구조가 동일하다. 또, 서브단말 노드(32)와 원격단말 노드(33)의 트리구조는 n차원 트리(n-array tree)이므로 서브단말 노드(23)의 자식노드 개수는 몇 개도 가능하다. 따라서 원격단말(23)이 추가 또는 삭제되면, 서브단말 노드(32)에서 원격단말 노드(33)를 추가 또는 삭제한다. 그룹키(30)의 다른 노드를 변경하지 않는다.
예를 들면, 도 3에서, 원격단말 RTU100이 삭제되면, 이에 대응되는 그룹키(30)의 노드인 Kh+1,100을 서브단말 노드 Kh,m에서 삭제한다. 또, 도 3에서 원격단말 RTU101이 추가되면, 이에 대응되는 노드 Kh+1,101을 서브단말 노드 Kh,m에서 추가한다. 이외에 도 3에서 변경되는 그룹키(30)의 구조는 없다.
상기 (d2)단계는, 서브단말(22)이 추가 또는 삭제되면, 상기 추가 또는 삭제된 서브단말(22)에 대응되는 노드를 상기 그룹키(30)의 트리구조에서 추가 또는 삭제하고, 상기 그룹키(30)의 트리구조를 2진 트리로 재구성하는 단계(S42)이다.
앞서 원격단말(23)이 추가 또는 삭제되는 것과는 달리, 서브단말(22)이 추가 또는 삭제되면, 마스터 단말 노드(31)에서 서브단말(32)까지의 노드들을 2진 트리로 재구성해야 한다. 이를 도 5와 도 6을 참조하여 설명한다.
도 5에서 보는 바와 같이, 상기 (d2)단계에서, 상기 서브단말(22)이 추가되면, 상기 마스터 단말(21)은, 추가된 서브단말(22)에 대응되는 추가노드를 생성하고, 상기 그룹키(30)의 트리구조에서 하나의 리프노드를 제외하고, 상기 추가노드와 상기 제외된 리프노드를 자식노드로 하는 중간노드를 생성하고, 상기 중간노드를 상기 제외된 리프노드가 있었던 위치에 연결한다.
도 5에서, 추가되는 서브단말(22)에 대응되는 추가노드는 K4,2이고, 추가하려고 하는 위치는 서브단말 노드인 K3,8이다. 추가노드 K4,2를 추가하여 2진 트리를 만들기 위해서는, 서브단말 노드 K3,8의 위치에 새로운 중간노드 K'3,8을 추가하고, 서브단말 노드 K3,8과 추가노드 K4,2를 새로운 중간노드 K'3,8의 자식노드로 추가한다. 따라서 표기상 서브단말 노드 K3,8은 서브단말 노드 K4,1로 표기된다.
한편, 도 6에서 보는 바와 같이, 상기 (d2)단계에서, 상기 서브단말(22)이 삭제되면, 상기 마스터 단말(21)은, 삭제된 서브단말(22)에 대응되는 노드를 상기 그룹키(30)의 트리구조에서 삭제하고, 상기 삭제된 노드의 형제노드를 상기 삭제된 노드의 부모노드에 대치한다.
도 6에서, 삭제되는 서브단말(22)에 대응되는 삭제노드는 K4,2이다. 삭제노드 K4,2를 삭제하면, 중간노드 K3,8의 자식노드가 서브단말 노드 K4,1 한 개만 남는다. 따라서 혼자 남은 서브단말 노드 K4,1을 중간노드 K3,8의 위치로 대치한다. 표기상 대치된 서브단말 노드 K4,1은 K'3,8로 표기된다.
앞서 서브단말(22)이 삭제 또는 추가될 때, 삭제 또는 추가되는 서브단말(22)에 연결된 원격단말(23)은 그대로 상기 서브단말(22)에 연결된다. 따라서 서브추가 또는 삭제되는 서브단말 노드(32)의 자식노드들인 원격단말 노드(33)들도 그대로 연결된다. 도 5와 도 6에서 서브단말 노드(32)의 자식노드는 표시하지 않았으나, 자식노드는 그대로 서브단말 노드(32)를 따라 이동된다.
상기 (d3)단계는, 상기 추가 또는 삭제된 노드에서 루트노드까지의 경로에 있는 노드들의 공유키를 다시 생성하는 단계(S43)이다.
그룹키(30)의 트리구조가 변경되면, 변경된 것에 따라 각 노드의 공유키를 다시 생성한다. 생성방법은 앞서 (b)단계와 유사하다. 다만, 공유키를 재생성하는 노드는 추가 또는 삭제된 노드에서 루트노드까지의 경로에 있는 노드들이다. 각 노드는 모든 자식노드의 공유키를 해시하기 때문이다.
예를 들면, 도 5 또는 도 6에서 중간노드 공유키인 K1,1의 자식노드들의 공유키는 변함이 없으므로, 갱신할 필요가 없다. 그러나 공유키 K1,1, K1,2, K2,4, 등 루트노드까지의 경로상의 공유키는 갱신된다.
상기 (e)단계는, 상기 원격단말(23) 또는 서브단말(22)은 다시 생성된 공유 키를 수신하여 저장하는 단계이다(S50). 특히, 상기 (e)단계에서, 상기 마스터 단말(21)은 다시 생성된 공유키를 다시 생성전 공유키로 암호화하여 원격단말(23) 또는 서브단말(22)에게 멀티캐스팅하고, 상기 원격단말(23) 또는 서브단말(22)은 암호화된 공유키를 수신하고 복호화하여 저장한다.
마스터 단말(21)은 갱신된 공유키를 그 키의 이전 공유키로 암호화하여 멀티캐스팅 한다. 그리고 갱신된 공유키들을 새로운 노드의 공유키와 새로운 노드의 형제 노드의 공유키로 각각 암호화하여 새로 추가된 서브단말(22) 또는 원격단말(23)과 그 형제 노드에게 유니캐스팅 한다.
다음으로, 본 발명의 제2 실시예에 따른 SCADA 시스템 통신 환경의 공유키 관리방법을 도 7을 참조하여 설명한다.
도 7에서 보는 바와 같이, 본 발명의 제2 실시예에 따른 키 관리방법은 (a) 마스터 단말 또는 서브단말은 비밀키를 생성하여 서브단말 또는 원격단말에게 할당하는 단계(S60); (b) 마스터 계층 그룹과 서브계층 그룹 각각의 그룹키를 트리구조로 생성하되, 그룹키의 각 노드의 공유키는 모든 자식노드의 공유키들을 해시하여 생성되고, 그룹키의 리프노드의 공유키는 서브단말 또는 원격단말의 비밀키로 정해지는 단계(S70); (c) 상기 원격단말 또는 서브단말은 자신과 대응되는 노드에서 루트 노드까지의 공유키를 수신하여 저장하는 단계(S80); (d) 상기 원격단말 또는 서브단말이 추가 또는 삭제되면, 상기 마스터 단말 또는 서브단말은 상기 추가 또는 삭제되는 단말에 대응되는 노드에서 루트 노드까지의 경로에 있는 노드들의 공유키 를 다시 생성하는 단계(S90); (e) 상기 원격단말 또는 서브단말은 다시 생성된 공유키를 수신하여 저장하는 단계(S100)로 구성된다.
앞서 본 바와 같이, 본 발명에 따른 제2 실시예는 마스터 단말(21)과 이에 속하는 서브단말(22)의 그룹인 "마스터 계층 그룹"과, 서브단말(22)과 이에 속하는 원격단말(23)의 그룹인 "서브계층 그룹"으로 나누어 공유키를 관리한다.
마스터 계층 그룹에서는 마스터 단말(21)이 주체적으로 공유키를 관리하고, 서브계층 그룹에서는 서브단말(22)이 주체적으로 공유키를 관리한다. 각 그룹에서 그룹키의 공유키를 관리하는 방식은 동일하다. 또한, 그룹키의 관리방식은 제1 실시예의 마스터 단말 노드에서 서브단말 노드까지의 트리구조를 관리하는 방식과 거의 유사하다. 따라서 이하에서, 앞서 설명된 제1 실시예를 참조하여 설명한다.
상기 (a)단계는, 상기 마스터 단말(21)이 다수의 비밀키를 생성하여 상기 서브 단말(22)에게 각각 할당하고, 상기 서브 단말(22)은 다수의 비밀키를 생성하여 자신에게 속하는 원격 단말(23)에게 각각 할당하는 단계이다(S60).
상기 (b)단계는, 마스터 단말(21)이 서브단말(22)의 그룹키를 트리구조로 생성하고 상기 서브단말(22)도 자신에게 속하는 원격단말(23)의 그룹키를 트리구조로 생성하는 단계이다(S70). 다만, 상기 트리구조의 리프노드는 각 원격단말(23) 또는 각 서브단말(22)과 대응되고, 상기 그룹키의 각 노드의 공유키는 모든 자식노드의 공유키들을 해시하여 생성되고, 상기 그룹키의 리프노드의 공유키는 상기 원격단말(23) 또는 각 서브단말(22)의 비밀키로 정해지는 단계이다(S70).
이때, 트리구조는 2진 트리이다. 상기 그 계층 그룹으로 분리된 그룹키의 트 리구조가 도 8에 도시되고 있다.
도 8에서 보는 바와 같이, 마스터 단말 노드 K0,1을 루트노드(41)로 하는 마스터 계층 그룹키(40)와, 서브단말 노드 K1 0,1, K2 0,1, ..., Km 0,1, 을 각각 루트노드(52)로 하는 서브계층 그룹키(50)로 분리된다. 서브계층 그룹키(50)는 서브단말(22)의 개수만큼 만들어진다.
그룹키를 생성하는 방법은 다음과 같다. 앞서 (a)단계에서 마스터 단말(21)은 모든 서브단말(22)에게 비밀키를 할당하며, 각 서브단말(22)은 자신의 비밀키를 알고 있다. 이 비밀키 구조에서 다른 노드의 공유키 값
Figure 112009003310617-pat00005
은 상기 [수식 2]와 같이 자식 노드의 두 해시값(공유키)을 해시함으로써 생성된다. 따라서 위의 식에 따라 이진 트리 형태의 키 구조가 형성되며 루트노드의 공유키 K0,1가 생성된다.
서브단말(22)과 원격단말(23) 사이의 그룹키 구조도 위의 방법과 동일하게 형성된다. 앞서 (a)단계에서 서브단말(22)은 각 원격단말(23)에게 비밀키를 할당하며, 각 원격단말(23)은 자신의 키를 알고 있다. 서브단말(22)과 원격단말(23) 사이의 공유키 구조는 2진 트리를 형성하며, 각 노드의 공유키 값
Figure 112009003310617-pat00006
은 상기 [수식 2]와 같이 자식 노드의 두 공유키(해시값)을 해시함으로써 생성된다.
상기 (c)단계는 상기 서브단말(22) 또는 원격단말(23)은 자신과 대응되는 노 드에서 루트 노드까지의 공유키를 수신하여 저장하는 단계이다(S80).
제2 실시예에 따른 공유키 구조에서 서브단말(22)은 자신의 노드부터 마스터 단말 노드(41)인 루트 노드까지의 경로에 있는 모든 노드의 공유키 값과 자신이 관리하는 모든 원격단말(23)의 공유키를 저장하게 된다. 즉, 서브단말(22)의 개수가 m개이고, 하나의 서브단말(22)이 관리하는 원격단말(23)의 개수가 n개일 경우, 1 + n + log2 m 개의 공유키를 저장한다. 원격단말(23)은 자신의 관리하는 서브단말(22)의 노드인 루트 노드까지의 경로에 있는 모든 노드의 공유키 값을 저장한다. 즉, 하나의 서브단말(22)이 관리하는 원격단말(23)의 개수가 n개 일 경우, 1 + log2 n 개의 공유키를 저장하게 된다.
상기 (d)단계는, 서브단말(22) 또는 원격단말(23)이 추가 또는 삭제되면, 상기 마스터 단말(21) 또는 서브단말(22)은 추가 또는 삭제된 단말에 대응되는 노드에서 루트 노드까지의 경로에 있는 노드들의 공유키를 다시 생성하는 단계이다(S90).
특히, 상기 (d)단계는, (d1) 원격단말(23) 또는 서브단말(22)이 추가 또는 삭제되면, 상기 추가 또는 삭제된 원격단말(23) 또는 서브단말(22)에 대응되는 노드를, 상기 그룹키(40, 50)의 트리구조에서 추가 또는 삭제하고, 상기 그룹키(40, 50)의 트리구조를 2진트리로 재구성하는 단계와, (d2) 상기 추가 또는 삭제된 노드에서 루트노드까지의 경로에 있는 노드들의 공유키를 다시 생성하는 단계로 나뉜다.
한편, 제2 실시예에서, 서브단말(22) 또는 원격단말(23)이 추가 또는 삭제될 때, 그룹키의 공유키를 재생성하는 방법은 앞서 설명한 제1 실시예에서 서브단말(22)이 추가 또는 삭제될 때의 공유키 재생성 방법과 동일하다.
즉, 상기 (d2)단계에서, 상기 서브단말(22) 또는 원격단말(23)이 추가되면, 상기 마스터 단말(21) 또는 서브단말(22)은, 추가된 서브단말(22) 또는 원격단말(23)에 대응되는 추가노드를 생성하고, 상기 그룹키의 트리구조에서 하나의 리프노드를 제외하고, 상기 추가노드와 상기 제외된 리프노드를 자식노드로 하는 중간노드를 생성하고, 상기 중간노드를 상기 제외된 리프노드가 있었던 위치에 연결한다.
또, 상기 (d2)단계에서, 상기 서브단말(22) 또는 원격단말(23)이 삭제되면, 상기 마스터 단말(21) 또는 서브단말(22)은, 삭제된 서브단말(22) 또는 원격단말(23)에 대응되는 노드를 상기 그룹키의 트리구조에서 삭제하고, 상기 삭제된 노드의 형제노드를 상기 삭제된 노드의 부모노드에 대치한다.
상기 (e)단계도, 제1 실시예와 마찬가지로, 상기 마스터 단말(21) 또는 서브단말(22)은 다시 생성된 공유키를 다시 생성전 공유키로 암호화하여 서브단말(22) 또는 원격단말(23)에게 멀티캐스팅하고, 상기 서브단말(22) 또는 원격단말(23)은 암호화된 공유키를 수신하고 생성전 공유키로 복호화하여 저장한다.
다음으로, 본 발명에 따른 SCADA 시스템 통신 환경의 세션키 생성방법 및 메시지 통신방법을 설명한다.
본 발명에 따른 메시지 통신방법은 다수의 장치로 메시지를 전송할 경우, 다수의 장치가 그룹키 계층 구조를 통해 공유한 키를 통해 세션키를 생성하고, 그 세션키로 메시지를 암호화 하여 전송한다. 세션키는 기본적으로 타임스탬프와 시퀀스 번호가 결합된 TVP와 그룹키 구조에서 통신하는 장치들 간의 공유한 키를 이용하여 생성된다. TVP는 재생 공격으로부터 세션키를 보호하기 위해 사용된다. 송신 장치 i가 다수의 수신장치 그룹 j와 통신할 경우, 세션키 SKi,j는 [수식 3]과 같이 공유한 키 Ku,v와 TVP를 해시함으로써 생성된다.
[수식 3]
SKi,j = H( Ku,v, TVP )
송신 장치 i가 하나의 수신 장치 j와 통신할 경우, 세션키 SKi,j는 위의 식과 구별 되도록 각 장치의 ID를 추가하여 [수식 4]와 같이 공유한 키 Ku,v 와 TVP, 송신 장치의 ID, 수신 장치의 ID를 해시함으로써 생성된다.
[수식 4]
SKi,j = H( Ku,v, IDi, IDj, TVP )
본 발명에 따른 세션키 생성 방법은 [수식 3]과 [수식 4]에 제한적이지 않으며, 추가적인 요소가 더해져서 생성될 수 있다.
본 발명에 따른 메시지 통신방법은 Iolus 프레임워크를 적용할 수 있다. Iolus 프레임워크를 적용할 경우, 메시지 암호화를 위한 연산량을 줄일 수 있다. Iolus 프레임워크를 적용한 통신 방법은 다음과 같다. 먼저 마스터 단말(21)은 GSC(Group Security Controller)의 역할을 담당하게 되고, 서브단말(22)은 GSI(Group Security Intermediary) 역할을 담당하게 된다.
따라서 모든 전송 메시지는 서브단말(22)을 통해서 전송된다. 송신 장치는 메시지를 랜덤한 키로 암호화 하고, 그 랜덤한 암호화 키는 송신 장치와 서브단말(22)이 공유한 세션키로 암호화 하여 서브단말(22)로 전송한다. 서브단말(22)은 암호화된 메시지와 암호화된 키를 수신한 뒤, 송신 장치와 공유한 세션키로 암호화된 키를 복호화 하고, 그 키를 수신 장치와 공유한 세션키로 재암호화 하여 수신 장치로 전송한다. 이 때, 세션키가 그룹키 계층 구조를 통해 특정 다수의 수신 장치와 공유한 세션키인 경우, 해당 수신 장치만 암호화된 키를 복호화 하고, 그 키로 메시지를 복호화 할 수 있다.
다음으로, 본 발명에 따른 공유키 관리방법과 이를 이용한 메시지 통신방법의 효과를 도 9를 참조하여 설명한다.
본 발명에 따른 키 관리 방법 및 통신 방법을 사용할 경우, 도면 9a와 도면 9b와 같이 SKE나 SKMA 방식 보다 더 높은 효율성을 갖게 된다. 도면 9a와 도면 9b에서 CE는 하나의 메시지를 암호화하는데 드는 연산량이며, CEk 는 하나의 키를 암 호화하는데 드는 연산량, p는 멀티캐스팅 메시지를 받을 서브단말(22)의 개수, q는 멀티캐스팅 메시지를 받을 원격단말(23)의 개수, X는
Figure 112009003310617-pat00007
인 마스터 단말(21)이 멀티캐스팅 메시지 암호화에 사용할 키의 개수, Y는
Figure 112009003310617-pat00008
인 서브단말(22)이 멀티캐스팅 메시지 암호화에 사용할 키의 개수이다.
이상, 본 발명자에 의해서 이루어진 발명을 상기 실시 예에 따라 구체적으로 설명하였지만, 본 발명은 상기 실시 예에 한정되는 것은 아니고, 그 요지를 이탈하지 않는 범위에서 여러 가지로 변경 가능한 것은 물론이다.
본 발명은 SCADA 시스템에서 암호화 통신으로 메시지를 송수신하는 시스템을 개발하는 데 적용이 가능하다. 특히, 본 발명은 SCADA 시스템에서 암호화 통신을 브로드캐스팅이나 멀티캐스팅 통신으로 할 수 있는 효율적인 암호화 통신시스템을 개발하는 데 유용하다.
도 1은 본 발명을 실시하기 위한 SCADA 시스템의 전체 구성을 도시한 도면이다.
도 2는 본 발명의 제1 실시예에 따른 SCADA 시스템 통신 환경의 공유키 관리방법을 설명한 흐름도이다.
도 3은 본 발명의 제1 실시예에 따라 생성한 그룹키의 트리구조를 예시한 도면이다.
도 4는 본 발명의 제1 실시예에 따라 원격단말 또는 서브단말이 추가 또는 삭제될 때의 공유키 재생성 단계를 설명하는 흐름도이다.
도 5는 본 발명의 제1 실시예에 따라 서브단말이 추가될 때, 그룹키의 트리 구조를 재구성하는 일례를 도시한 도면이다.
도 6은 본 발명의 제1 실시예에 따라 서브단말이 삭제될 때, 그룹키의 트리구조를 재구성하는 일례를 도시한 도면이다.
도 7은 본 발명의 제2 실시예에 따른 SCADA 시스템 통신 환경의 공유키 관리방법을 설명한 흐름도이다.
도 8은 본 발명의 제2 실시예에 따라 생성한 그룹키의 트리구조를 예시한 도면이다.
* 도면의 주요 부분에 대한 부호의 설명 *
10 : HMI단말 21 : 마스터 단말
22 : 서브 단말 23 : 원격 단말
30 : 그룹키 31, 41 : 마스터 단말 노드
32, 42, 52 : 서브 단말 노드 33, 53 : 원격 단말 노드
34, 44, 54 : 중간노드

Claims (16)

  1. 마스터 단말(MTU), 다수의 서브단말(SUB-MTU), 다수의 원격단말(RTU)이 순차 적인 계층으로 구성되는 SCADA(Supervisory Control And Data Acquisition) 시스템 통신환경의 공유키 관리방법에 있어서,
    (a) 상기 마스터 단말은 다수의 비밀키를 생성하여 상기 원격단말에게 각각 할당하는 단계;
    (b) 상기 마스터 단말은 그룹키를 트리구조로 생성하되,
    상기 트리구조의 리프노드는 각 원격단말과 대응되고, 원격단말에 대응되는 노드의 부모노드는 원격단말이 연결된 서브단말에 대응되고,
    상기 그룹키의 각 노드의 공유키는 모든 자식노드의 공유키들을 해시하여 생성되고, 상기 그룹키의 리프노드의 공유키는 상기 원격 단말의 비밀키로 정해지는 단계;
    (c) 상기 원격단말 또는 서브단말은 자신과 대응되는 노드에서 루트 노드까지의 공유키를 수신하여 저장하는 단계;
    (d) 상기 원격단말 또는 서브단말이 추가 또는 삭제되면, 상기 마스터 단말은 상기 추가 또는 삭제되는 단말에 대응되는 노드에서 루트 노드까지의 경로에 있는 노드들의 공유키를 다시 생성하는 단계;
    (e) 상기 원격단말 또는 서브단말은 다시 생성된 공유키를 수신하여 저장하는 단계를 포함하는 것을 특징으로 하는 SCADA 시스템 통신 환경의 공유키 관리방법.
  2. 제 1항에 있어서,
    상기 (a)단계에서, 상기 마스터 단말은 연결된 원격단말이 없는 서브단말에 비밀키를 생성하여 할당하고,
    상기 (b)단계에서, 원격단말이 없는 서브단말은 상기 트리구조의 리프노드에 대응되는 것을 특징으로 하는 SCADA 시스템 통신 환경의 공유키 관리방법.
  3. 제 1항에 있어서,
    상기 트리구조는 서브단말에 대응되는 노드까지 2진 트리이고, 서브단말에서 원격단말까지는 n차 트리인 것을 특징으로 하는 SCADA 시스템 통신 환경의 공유키 관리방법.
  4. 제 3항에 있어서, 상기 (d)단계는,
    (d1) 원격단말이 추가 또는 삭제되면, 상기 추가 또는 삭제된 원격단말이 연결된 서브단말에 대응되는 노드에서, 상기 추가 또는 삭제된 원격단말에 대응되는 노드를 추가 또는 삭제하는 단계;
    (d2) 서브단말이 추가 또는 삭제되면, 상기 추가 또는 삭제된 서브단말에 대응되는 노드를 상기 그룹키의 트리구조에서 추가 또는 삭제하고, 상기 그룹키의 트리구조를 2진트리로 재구성하는 단계;
    (d3) 상기 추가 또는 삭제된 노드에서 루트노드까지의 경로에 있는 노드들의 공유키를 다시 생성하는 단계를 포함하는 것을 특징으로 하는 SCADA 시스템 통신 환경의 공유키 관리방법.
  5. 제 4항에 있어서, 상기 (d2)단계는,
    상기 서브단말이 추가되면, 상기 마스터 단말은, 상기 그룹키의 트리구조에서 리프노드 중 하나(이하 제외노드)를 제외하고, 새로운 노드(이하 중간노드)를 하나 생성하여 상기 제외노드가 있었던 위치에 연결하고, 추가된 서브단말에 대응되는 노드(이하 추가노드)를 생성하여 상기 중간노드의 자식노드로 연결하고, 상기 제외노드를 상기 중간노드의 자식노드로 연결하고,
    상기 서브단말이 삭제되면, 상기 마스터 단말은, 삭제된 서브단말에 대응되는 노드(이하 삭제노드) 및 상기 삭제노드의 부모노드를 상기 그룹키의 트리구조에서 삭제하고, 상기 삭제노드의 형제노드를 상기 삭제된 노드의 부모노드가 있었던 위치에 연결하는 것을 특징으로 하는 SCADA 시스템 통신 환경의 공유키 관리방법.
  6. 제 1항에 있어서, 상기 (e)단계는,
    상기 마스터 단말은 다시 생성된 공유키를 다시 생성전 공유키로 암호화하여 서브단말 또는 원격단말에게 멀티캐스팅하고,
    상기 서브단말 또는 원격단말은 암호화된 공유키를 수신하고 복호화하여 저 장하는 것을 특징으로 하는 SCADA 시스템 통신 환경의 공유키 관리방법.
  7. 마스터 단말(MTU), 다수의 서브단말(SUB-MTU), 다수의 원격단말(RTU)이 순차적인 계층으로 구성되는 SCADA(Supervisory Control And Data Acquisition) 시스템 통신환경의 공유키 관리방법에 있어서,
    (a) 상기 마스터 단말은 다수의 비밀키를 생성하여 상기 서브 단말에게 각각 할당하고, 상기 서브 단말은 다수의 비밀키를 생성하여 자신에게 속하는 원격 단말에게 각각 할당하는 단계;
    (b) 상기 마스터 단말은 상기 서브단말의 그룹키를 트리구조로 생성하고 상기 서브단말은 자신에게 속하는 원격단말의 그룹키를 트리구조로 생성하되,
    상기 트리구조의 리프노드는 각 원격단말 또는 각 서브단말과 대응되고,
    상기 그룹키의 각 노드의 공유키는 모든 자식노드의 공유키들을 해시하여 생성되고, 상기 그룹키의 리프노드의 공유키는 상기 원격단말 또는 서브단말의 비밀키로 정해지는 단계;
    (c) 상기 서브단말 또는 원격단말은 자신과 대응되는 노드에서 루트 노드까지의 공유키를 수신하여 저장하는 단계;
    (d) 상기 서브단말 또는 원격단말이 추가 또는 삭제되면, 상기 마스터 단말 또는 서브단말은 추가 또는 삭제된 단말에 대응되는 노드에서 루트 노드까지의 경로에 있는 노드들의 공유키를 다시 생성하는 단계;
    (e) 상기 원격단말 또는 서브단말은 다시 생성된 공유키를 수신하여 저장하는 단계를 포함하는 것을 특징으로 하는 SCADA 시스템 통신 환경의 공유키 관리방법.
  8. 제 7항에 있어서,
    상기 트리구조는 2진 트리인 것을 특징으로 하는 SCADA 시스템 통신 환경의 공유키 관리방법.
  9. 제 8항에 있어서, 상기 (d)단계는,
    (d1) 원격단말 또는 서브단말이 추가 또는 삭제되면, 상기 추가 또는 삭제된 원격단말 또는 서브단말에 대응되는 노드를, 상기 그룹키의 트리구조에서 추가 또는 삭제하고, 상기 그룹키의 트리구조를 2진트리로 재구성하는 단계;
    (d2) 상기 추가 또는 삭제된 노드에서 루트노드까지의 경로에 있는 노드들의 공유키를 다시 생성하는 단계를 포함하는 것을 특징으로 하는 SCADA 시스템 통신 환경의 공유키 관리방법.
  10. 제 9항에 있어서, 상기 (d2)단계는,
    상기 서브단말 또는 원격단말이 추가되면, 상기 마스터 단말 또는 서브단말은, 상기 그룹키의 트리구조에서 리프노드 중 하나(이하 제외노드)를 제외하고, 새로운 노드(이하 중간노드)를 하나 생성하여 상기 제외노드가 있었던 위치에 연결하고, 추가된 서브단말 또는 원격단말에 대응되는 노드(이하 추가노드)를 생성하여 상기 중간노드의 자식노드로 연결하고, 상기 제외노드를 상기 중간노드의 자식노드로 연결하고,
    상기 서브단말 또는 원격단말이 삭제되면, 상기 마스터 단말 또는 서브단말은, 삭제된 서브단말 또는 원격단말에 대응되는 노드(이하 삭제노드) 및 상기 삭제노드의 부모노드를 상기 그룹키의 트리구조에서 삭제하고, 상기 삭제노드의 형제노드를 상기 삭제노드의 부모노드가 있었던 위치에 연결하는 것을 특징으로 하는 SCADA 시스템 통신 환경의 공유키 관리방법.
  11. 제 7항에 있어서, 상기 (e)단계는,
    상기 마스터 단말 또는 상기 서브단말은 다시 생성된 공유키를 다시 생성전 공유키로 암호화하여 서브단말 또는 원격단말에게 멀티캐스팅하고,
    상기 서브단말 또는 원격단말은 암호화된 공유키를 수신하고 생성전 공유키로 복호화하여 저장하는 것을 특징으로 하는 SCADA 시스템 통신 환경의 공유키 관리방법.
  12. 제 1항 내지 제 11항 중 어느 한 항의 SCADA 시스템 통신 환경의 공유키 관 리방법을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  13. 마스터 단말(MTU), 다수의 서브단말(SUB-MTU), 다수의 원격단말(RTU)이 순차적인 계층으로 구성된 SCADA(Supervisory Control And Data Acquisition) 시스템의 통신환경의 세션키 생성방법에 있어서,
    제 1항 내지 제 11항 중 어느 한 항의 공유키 관리방법에 의하여 그룹키를 생성하여 저장하는 제1 단계; 및,
    상기 마스터 단말(MTU), 상기 서브단말(SUB-MTU), 또는 상기 원격단말(RTU)은 상기 그룹키를 이용하여 세션키를 생성하는 제2 단계를 포함하는 것을 특징으로 하는 SCADA 시스템 통신 환경의 세션키 생성방법.
  14. 제 13항에 있어서, 상기 세션키는,
    상기 그룹키와, 타임스탬프 및 시퀀스 번호가 결합된 값을 해시하여 생성되는 것을 특징으로 하는 SCADA 시스템 통신 환경의 세션키 생성방법.
  15. 마스터 단말(MTU), 다수의 서브단말(SUB-MTU), 다수의 원격단말(RTU)이 순차적인 계층으로 구성된 SCADA(Supervisory Control And Data Acquisition) 시스템 통신 환경의 메시지 통신방법에 있어서,
    제 1항의 공유키 관리방법에 의하여 그룹키를 생성하는 제1 단계; 및,
    상기 서브단말이 서브단말의 그룹키를 이용한 암호화된 메시지를 수신하면, 그룹키를 이용하여 암호화된 메시지를 복호화하고, 자신에게 속하는 원격단말의 그룹키의 루트노드의 공유키를 이용하여 상기 복호화된 메시지를 암호화하여 자신에게 속하는 원격단말에게 멀티캐스팅하는 제2 단계를 포함하는 것을 특징으로 하는 SCADA 시스템 통신 환경의 메시지 통신방법.
  16. 삭제
KR1020090004213A 2009-01-19 2009-01-19 Scada 시스템 통신 환경에 효율적인 키 관리 방법 KR101062995B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020090004213A KR101062995B1 (ko) 2009-01-19 2009-01-19 Scada 시스템 통신 환경에 효율적인 키 관리 방법
US12/384,173 US20100183150A1 (en) 2009-01-19 2009-03-31 Shared key management method, shared key generating method and message communication method for scada system, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090004213A KR101062995B1 (ko) 2009-01-19 2009-01-19 Scada 시스템 통신 환경에 효율적인 키 관리 방법

Publications (2)

Publication Number Publication Date
KR20100084854A KR20100084854A (ko) 2010-07-28
KR101062995B1 true KR101062995B1 (ko) 2011-09-07

Family

ID=42336966

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090004213A KR101062995B1 (ko) 2009-01-19 2009-01-19 Scada 시스템 통신 환경에 효율적인 키 관리 방법

Country Status (2)

Country Link
US (1) US20100183150A1 (ko)
KR (1) KR101062995B1 (ko)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8681975B2 (en) * 2009-08-31 2014-03-25 Apple Inc. Encryption method and apparatus using composition of ciphers
CN102725737B (zh) * 2009-12-04 2016-04-20 密码研究公司 可验证防泄漏的加密和解密
US9444620B1 (en) * 2010-06-24 2016-09-13 F5 Networks, Inc. Methods for binding a session identifier to machine-specific identifiers and systems thereof
KR101359789B1 (ko) * 2011-09-29 2014-02-10 한국전력공사 Scada 통신 네트워크의 보안 시스템 및 방법
KR101336144B1 (ko) * 2012-08-31 2013-12-02 성균관대학교산학협력단 네트워크에서의 키 관리 방법 및 시스템, 및 소스 인증 방법 및 시스템
WO2015097834A1 (ja) * 2013-12-26 2015-07-02 株式会社東芝 通信制御装置、通信制御方法およびプログラム
US9864864B2 (en) * 2014-09-23 2018-01-09 Accenture Global Services Limited Industrial security agent platform
US20160364553A1 (en) * 2015-06-09 2016-12-15 Intel Corporation System, Apparatus And Method For Providing Protected Content In An Internet Of Things (IOT) Network
CN106470104B (zh) 2015-08-20 2020-02-07 阿里巴巴集团控股有限公司 用于生成共享密钥的方法、装置、终端设备及系统
US10218698B2 (en) * 2015-10-29 2019-02-26 Verizon Patent And Licensing Inc. Using a mobile device number (MDN) service in multifactor authentication
US11063758B1 (en) 2016-11-01 2021-07-13 F5 Networks, Inc. Methods for facilitating cipher selection and devices thereof
CN106530131B (zh) * 2016-11-17 2019-06-21 南京南瑞继保电气有限公司 一种动态实时录波监视方法
US11128452B2 (en) * 2017-03-25 2021-09-21 AVAST Software s.r.o. Encrypted data sharing with a hierarchical key structure
CN107222308A (zh) * 2017-06-07 2017-09-29 哈尔滨理工大学 电力系统中物理信息安全传播方法
US10567168B2 (en) * 2017-11-16 2020-02-18 International Business Machines Corporation Blockchain transaction privacy enhancement through broadcast encryption
CN110213228B (zh) * 2019-04-25 2021-09-07 平安科技(深圳)有限公司 一种认证通信的方法、装置、存储介质及计算机设备
US20210119802A1 (en) * 2019-10-21 2021-04-22 Vmware, Inc. Two-way authentication for voice-activated devices
US11218360B2 (en) 2019-12-09 2022-01-04 Quest Automated Services, LLC Automation system with edge computing
KR102400260B1 (ko) * 2020-08-05 2022-05-23 재단법인대구경북과학기술원 속성 기반 접근 제어를 이용하는 엣지 컴퓨팅 기반의 차량-내 통신 시스템 및 그 방법

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2016701A4 (en) * 2006-04-25 2012-04-25 Stephen Laurence Boren DYNAMIC DISTRIBUTED KEY SYSTEM AND METHOD FOR MANAGING IDENTITY, AUTHENTICATION OF SERVERS, DATA SECURITY AND PREVENTING ATTACKS OF MIDDLE MAN
US8706914B2 (en) * 2007-04-23 2014-04-22 David D. Duchesneau Computing infrastructure

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
C.L. Beaver외, "A Key Management for SCADA", 2002
Robert Dawson외 "SKMA A Key Management Architecture for SCADA Systems", 2006

Also Published As

Publication number Publication date
US20100183150A1 (en) 2010-07-22
KR20100084854A (ko) 2010-07-28

Similar Documents

Publication Publication Date Title
KR101062995B1 (ko) Scada 시스템 통신 환경에 효율적인 키 관리 방법
KR101133262B1 (ko) 강인한 scada시스템의 하이브리드 키 관리방법 및 세션키 생성방법
US20110158405A1 (en) Key management method for scada system
Choi et al. Advanced key-management architecture for secure SCADA communications
Choi et al. Efficient secure group communications for SCADA
CN104301413B (zh) 面向云数据库的一种Oracle分布式实时监控方法
CN112035422B (zh) 基于ipfs的分布式实时数据同步方法、节点设备及系统
Shang et al. Publish-subscribe communication in building management systems over named data networking
Lu et al. Wireless sensor networks for environmental monitoring applications: A design framework
CN107769918B (zh) 一种安全的云数据多副本关联删除方法
CN106341256B (zh) 基于软件定义网络的v2g系统及其安全通信方法
Kandi et al. An efficient multi-group key management protocol for internet of things
Sun et al. Efficient key management for advanced distribution automation system
US9049181B2 (en) Network key update system, a server, a network key update method and a recording medium
Abraham et al. An efficient protocol for authentication and initial shared key establishment in clustered wireless sensor networks
Lee et al. An efficient key management scheme for secure SCADA communication
CN102255724B (zh) 一种基于超图模型的组播密钥管理方法
KR101103033B1 (ko) Scada 시스템 통신 환경에 효율적인 키 관리 방법
CN116192281B (zh) 基于量子通信的网络拓扑控制方法
US11729216B1 (en) Messaging layer security (MLS) delivery service for real-time group confidentiality using hybrid information-centric networking (hICN)
Patil et al. Improvised group key management protocol for scada system
Chen et al. SD-WAN source route based on protocol-oblivious forwarding
CN115174076B (zh) 基于联盟链技术的私有寻踪及边缘计算网络的构建方法
Peiris et al. Vault-a shared distributed and redundant storage solution
Lee et al. A probability model for reconstructing secret sharing under the internet environment

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: 20150807

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160725

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170728

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20180723

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20190730

Year of fee payment: 9