KR101669855B1 - 분산 네트워크 프로토콜 기반의 원격 단말 유닛 장치 및 그 동작 방법 - Google Patents
분산 네트워크 프로토콜 기반의 원격 단말 유닛 장치 및 그 동작 방법 Download PDFInfo
- Publication number
- KR101669855B1 KR101669855B1 KR1020160090849A KR20160090849A KR101669855B1 KR 101669855 B1 KR101669855 B1 KR 101669855B1 KR 1020160090849 A KR1020160090849 A KR 1020160090849A KR 20160090849 A KR20160090849 A KR 20160090849A KR 101669855 B1 KR101669855 B1 KR 101669855B1
- Authority
- KR
- South Korea
- Prior art keywords
- user
- group
- message
- role information
- variation
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer And Data Communications (AREA)
Abstract
분산 네트워크 프로토콜(Distributed Network Protocol: DNP3) 기반의 원격 단말 유닛(Remote Terminal Unit: RTU) 장치 및 그 동작 방법이 개시된다. 본 발명에 따른 DNP3 기반의 원격 단말 유닛 장치는 메시지 전송 장치로부터 전송되는 제어 메시지에 포함될 수 있는 함수 코드(Function Code)들뿐만 아니라, 상기 제어 메시지에 포함될 수 있는 복수의 그룹(Group)들과 배리에이션(Variation)들을 기초로 만들 수 있는 복수의 함수 코드-그룹-배리에이션 조합들 별로, 제어 명령을 실행할 수 있는 권한을 갖는 사용자의 역할 정보를 대응시켜 저장한 권한 테이블을 유지함으로써, 상기 메시지 전송 장치로부터 전송되는 제어 메시지의 처리와 관련된 사용자의 역할에 따른 제약 조건을 기존의 DNP3 기반의 통신 시스템이 단순히 함수 코드에 따라 규정한 것에 비해서 보다 다양하고 세밀하게 규정할 수 있다.
Description
본 발명은 분산 네트워크 프로토콜(Distributed Network Protocol: DNP3) 기반의 통신 시스템에서 사용자의 역할에 따라 원격 단말 유닛(Remote Terminal Unit: RTU) 장치의 제어와 관련된 권한을 서로 다르게 설정하는 기법에 대한 기술과 관련된다.
최근 전력망에 IT를 접목하는 형태인 스마트 그리드(Smart Grid)가 활성화되어감에 따라, 전력망의 핵심 요소 중 하나인 SCADA(Supervisory Control and Data Acquisition) 시스템도 점차 기존의 폐쇄 형태가 아닌 개방형으로 변화해가고 있다.
이에 따라 기존에 많은 취약점을 가지고 있었던 SCADA 시스템에 대한 보안 연구가 활발히 진행되고 있다. SCADA 시스템과 같은 제어 시스템에서는 데이터 전송 장치와 원격 단말 유닛(Remote Terminal Unit: RTU) 장치 간의 데이터 송수신을 위한 프로토콜로 분산 네트워크 프로토콜(Distributed Network Protocol: DNP3)이 표준 프로토콜로 많이 사용되고 있는데, 이러한 분산 네트워크 프로토콜을 기반으로 하는 데이터 송수신 과정에서는 제3자의 침입을 방지하여 보안을 강화시킬 수 있는 기법에 대한 연구가 필요하다.
DNP3 기반의 통신 시스템에서는 보안을 강화하기 위해서, 데이터 전송 장치에서 원격 단말 유닛 장치에 제어 명령을 인가할 수 있는 사용자의 권한을 상기 사용자의 역할에 따라 구분하고 있다.
예컨대, 사용자가 상급 관리자의 경우에는 원격 단말 유닛 장치에 대해 소정의 데이터 파일을 기록(write)할 수 있는 권한이 부여된 반면에, 하급 관리자의 경우에는 원격 단말 유닛 장치에 대해 파일을 기록할 수 있는 권한은 없고, 파일을 읽을 수 있는 권한만 부여되는 형태로 관리되고 있다.
이렇게, DNP3 기반의 통신 시스템에서 사용자의 역할에 따라 원격 단말 유닛 장치에 대해 수행할 수 있는 제어 명령의 실행 권한을 다르게 부여한 것을 역할 기반 접근 제어(Role-Based Access Control: RBAC) 라고 한다.
이러한 RBAC 기능을 구현하기 위해, DNP3 기반의 통신 시스템에서는 원격 단말 유닛 장치에 전송할 수 있는 복수의 제어 명령들 각각에 대해서 해당 제어 명령의 실행이 가능한 것으로 지정된 사용자의 역할 정보를 미리 기록해둔 권한 정책을 유지함으로써, 데이터 전송 장치로부터 원격 단말 유닛 장치로 제어 메시지가 수신되면, 원격 단말 유닛 장치가 상기 제어 메시지 내에 포함되어 있는 제어 명령과 상기 제어 메시지를 전송한 사용자의 역할 정보를 기초로 상기 권한 정책을 참조하여 해당 제어 명령을 실행시킬지 여부를 결정하도록 구성되어 있다.
관련해서, DNP3 기반 통신 시스템에서 RBAC 기능을 구현하기 위한 기술적인 내용을 보다 상세히 설명하면 다음과 같다.
우선, DNP3 기반의 통신 시스템에서 데이터 전송 장치로부터 원격 단말 유닛 장치로 전송되는 제어 메시지는 도 1에 도시된 그림과 같은 구조를 갖는다.
즉, 상기 제어 메시지는 애플리케이션 리퀘스트 헤더(Application Request Header)(110)와 적어도 하나의 오브젝트(Object)(131, 132) 및 적어도 하나의 오브젝트(131, 132) 각각에 대한 오브젝트 헤더(Object Header)(121, 122)로 구성되어 있다.
이때, 애플리케이션 리퀘스트 헤더(110)는 적어도 하나의 오브젝트(131, 132)가 원격 단말 유닛 장치에 어떠한 식으로 적용될 것인지 여부를 결정하기 위한 제어 명령을 지시하는 함수 코드(Function Code)(111)를 포함하고 있고, 적어도 하나의 오브젝트(131, 132)는 원격 단말 유닛 장치에 실질적으로 영향을 미치는 일종의 데이터를 의미한다.
그리고, 오브젝트 헤더(121, 122)는 다시 오브젝트 타입 필드(Object Type Field) 내에 적어도 하나의 오브젝트(131, 132)의 타입을 정의하기 위한 그룹(Group)(141)과 배리에이션(Variation)(142)으로 구성되어 있다.
여기서, 함수 코드(111)는 원격 단말 유닛 장치에 대한 제어 명령을 지시하기 위한 코드로, DNP3 기반의 통신 시스템에서는 하기의 표 1(표 1에서는 일부 코드만 표시함)과 같이, 총 36가지 제어 명령들과 이에 대응하는 36가지의 함수 코드를 정의하고 있다.
함수 코드(Hex) | 제어 명령 |
0x00 | Confirm |
0x01 | Read |
0x02 | Write |
0x03 | Select |
... | ... |
예컨대, 도 1과 같은 제어 메시지에서 함수 코드(111)가 "0x02"라고 하고, 오브젝트 1(131)이 소정의 파일이라고 하는 경우, 원격 단말 유닛 장치에서 상기 제어 메시지가 처리되는 경우, 함수 코드(111)에 따라 오브젝트 1(131)에 해당되는 파일이 원격 단말 유닛 장치에 기록되게 된다.
이때, DNP3 기반의 통신 시스템에서는 36가지의 함수 코드들 별로 해당 함수 코드에 대한 제어 명령의 실행이 가능한 것으로 미리 지정된 사용자의 역할 정보들을 소정의 권한 정책으로 관리함으로써, 상기 제어 메시지를 전송한 사용자의 역할에 따라 원격 단말 유닛 장치에서 상기 제어 메시지를 처리할지 여부가 결정되도록 구성되어 있다.
관련해서, 상기 권한 정책은 하기의 표 2와 같이 구성되어 있을 수 있다.
함수 코드(Hex) | 미리 지정된 사용자의 역할 정보 |
0x00 | VIEWER, OPERATOR, ENGINEER |
0x01 | VIEWER, OPERATOR |
0x02 | OPERATOR, ENGINEER |
0x03 | OPERATOR |
... | ... |
이때, 상기 제어 메시지에서 함수 코드(111)를 "0x02"라고 하고, 오브젝트 1(131)이 소정의 파일이라고 하며, 데이터 전송 장치를 통해서 상기 제어 메시지를 전송하는 사용자의 역할이 "VIEWER"인 경우, 원격 단말 유닛 장치는 상기 표 2에서 "VIEWER"는 "0x02"라고 하는 함수 코드에 대응하는 제어 명령을 실행할 권한이 설정되어 있지 않기 때문에 상기 제어 메시지를 처리하지 않게 된다.
하지만, 데이터 전송 장치를 통해서 상기 제어 메시지를 전송하는 사용자의 역할이 "OPERATOR"인 경우, 원격 단말 유닛 장치는 상기 표 2에서 "OPERATOR"는 "0x02"라고 하는 함수 코드에 대응하는 제어 명령을 실행할 권한이 설정되어 있기 때문에 상기 제어 메시지를 처리하게 된다.
이러한 방식으로, DNP3 기반의 통신 시스템에서는 제어 메시지를 전송하는 사용자의 역할에 따라 원격 단말 유닛 장치에서 상기 제어 메시지가 선택적으로 처리될 수 있도록 함으로써, 권한 없는 사용자가 함부로 원격 단말 유닛 장치를 조작하는 것을 방지하고 있다.
하지만, 기존의 DNP3 기반의 통신 시스템에서는 36가지의 함수 코드에 대해서만 각 함수 코드에 대응하는 제어 명령을 실행할 권한을 가진 사용자의 역할 정보를 지정해 놓고 있기 때문에, 권한 설정을 할 수 있는 경우의 수가 36가지로 한정되어 있다.
관련해서, 제어 메시지를 전송하는 사용자의 역할이 "OPERATOR"이고, 상기 제어 메시지 내의 함수 코드(111)가 "0x02"라고 하는 경우, 상기 제어 메시지 내에 삽입되어 있는 적어도 하나의 오브젝트(131, 132)의 종류나 타입에 관계없이, 원격 단말 유닛 장치는 상기 사용자가 "0x02"라고 하는 함수 코드(111)를 실행할 권한이 있는 사람이기 때문에 상기 제어 메시지를 처리하게 된다.
하지만, DNP3 기반의 통신 시스템에서 "OPERATOR"라는 역할의 사용자가 "파일 1"을 원격 단말 유닛 장치에 기록하는 것은 보안 상 문제가 없지만, "파일 2"에 대해서는 해당 파일의 특성 상 "OPERATOR"라는 역할의 사용자가 원격 단말 유닛 장치에 파일을 기록하는 것은 보안 상의 문제를 일으킬 수 있는 경우, "OPERATOR"라는 사용자가 데이터 전송 장치를 통해서, 제어 메시지 내에 "0x02"라는 함수 코드를 삽입하고, 상기 제어 메시지 내에 "파일 2"를 오브젝트로 포함시켰다면, 기존의 DNP3 기반의 통신 시스템에 따르면, 원격 단말 유닛 장치는 권한 정책 내에 "0x02"라는 함수 코드에 대해서 "OPERATOR"라는 사용자의 역할 정보가 제어 명령의 실행 권한이 있는 것으로 설정되어 있기 때문에 상기 제어 메시지를 처리함으로써, "파일 2"를 원격 단말 유닛 장치 내에 기록하게 된다. 이 경우, "파일 2"에 대해서는 해당 파일의 특성상 "OPERATOR"라는 사용자가 원격 단말 유닛 장치에 기록하는 것이 보안 상 허용되지 않음에도 불구하고, 원격 단말 유닛 장치에 "파일 2"가 기록되어 버리는 문제가 발생하게 된다.
이와 관련해서, 기존의 DNP3 기반의 통신 시스템에서 단순히 36개의 함수 코드에 대해서만 사용자의 역할 정보를 지정해 놓은 권한 관리 기법과 달리, 보다 다양하게 사용자의 역할에 따른 권한을 설정할 수 있는 권한 관리 기법을 제안함으로써, 제어 메시지 내에 포함되어 있는 함수 코드뿐만 아니라, 제어 메시지에 포함되어 있는 오브젝트의 종류나 타입 등에 따라서도 해당 제어 메시지를 처리할 수 있는 사용자의 역할을 세밀하게 분류할 수 있는 기법에 대한 연구가 필요하다.
본 발명에 따른 분산 네트워크 프로토콜(Distributed Network Protocol: DNP3) 기반의 원격 단말 유닛(Remote Terminal Unit: RTU) 장치는 메시지 전송 장치로부터 전송되는 제어 메시지에 포함될 수 있는 함수 코드(Function Code)들뿐만 아니라, 상기 제어 메시지에 포함될 수 있는 복수의 그룹(Group)들과 배리에이션(Variation)들을 기초로 만들 수 있는 복수의 함수 코드-그룹-배리에이션 조합들 별로, 제어 명령을 실행할 수 있는 권한을 갖는 사용자의 역할 정보를 대응시켜 저장한 권한 테이블을 유지함으로써, 상기 메시지 전송 장치로부터 전송되는 제어 메시지의 처리와 관련된 사용자의 역할에 따른 제약 조건을 기존의 DNP3 기반의 통신 시스템이 단순히 함수 코드에 따라 규정한 것에 비해서 보다 다양하고 세밀하게 규정할 수 있도록 한다.
본 발명의 일실시예에 따른 분산 네트워크 프로토콜(Distributed Network Protocol: DNP3) 기반의 원격 단말 유닛(Remote Terminal Unit: RTU) 장치는 DNP3 기반의 통신 시스템에서 송수신되는 메시지를 구성하는 애플리케이션 리퀘스트 헤더(Application Request Header)에 포함 가능한 복수의 서로 다른 함수 코드(Function Code)들 별로, 복수의 서로 다른 제어 명령들이 기록되어 있는 제어 명령 테이블을 저장하여 유지하는 제어 명령 테이블 유지부, 상기 복수의 서로 다른 함수 코드들과 상기 DNP3 기반의 통신 시스템에서 송수신되는 메시지를 구성하는 적어도 하나의 오브젝트(Object)에 대한 오브젝트 헤더(Header)에 포함 가능한 복수의 서로 다른 그룹(Group)들 및 복수의 서로 다른 배리에이션(Variation)들에 의해 구성 가능한 복수의 함수 코드-그룹-배리에이션 조합들 별로, 제어 명령에 대한 수행 권한이 있는 것으로 미리 지정된 적어도 하나의 사용자의 역할 정보가 기록되어 있는 권한 테이블을 저장하여 유지하는 권한 테이블 유지부, 메시지 전송 장치로부터 상기 원격 단말 유닛 장치의 제어를 위한 제어 메시지를 수신하는 메시지 수신부, 상기 제어 메시지가 수신되면, 상기 제어 메시지를 파싱(parsing)하여 상기 제어 메시지를 구성하는 애플리케이션 리퀘스트 헤더로부터 제1 함수 코드를 추출하고, 상기 제어 메시지를 구성하는 n개(n은 1이상의 자연수)의 오브젝트들에 대한 오브젝트 헤더로부터 n개의 그룹-배리에이션 쌍들을 추출하는 메시지 파싱부, 상기 제어 명령 테이블로부터 상기 제1 함수 코드에 대응하는 제1 제어 명령을 추출하는 제어 명령 추출부, 상기 메시지 전송 장치에 대한 제1 사용자의 역할 정보를 확인하고, 상기 제1 함수 코드와 상기 n개의 그룹-배리에이션 쌍들을 조합하여 n개의 함수 코드-그룹-배리에이션 조합들을 생성한 후 상기 권한 테이블 상에서 상기 n개의 함수 코드-그룹-배리에이션 조합들 전체에 대해 상기 제1 사용자의 역할 정보가 대응되어 기록되어 있는지 여부를 판단하는 권한 판단부 및 상기 권한 테이블 상에서 상기 n개의 함수 코드-그룹-배리에이션 조합들 전체에 대해 상기 제1 사용자의 역할 정보가 대응되어 기록되어 있는 것으로 판단되면, 상기 제1 제어 명령에 따라 상기 제어 메시지를 처리하는 메시지 처리부를 포함한다.
또한, 본 발명의 일실시예에 따른 DNP3 기반의 원격 단말 유닛 장치의 동작 방법은 DNP3 기반의 통신 시스템에서 송수신되는 메시지를 구성하는 애플리케이션 리퀘스트 헤더에 포함 가능한 복수의 서로 다른 함수 코드들 별로, 복수의 서로 다른 제어 명령들이 기록되어 있는 제어 명령 테이블을 저장하여 유지하는 단계, 상기 복수의 서로 다른 함수 코드들과 상기 DNP3 기반의 통신 시스템에서 송수신되는 메시지를 구성하는 적어도 하나의 오브젝트에 대한 오브젝트 헤더에 포함 가능한 복수의 서로 다른 그룹들 및 복수의 서로 다른 배리에이션들에 의해 구성 가능한 복수의 함수 코드-그룹-배리에이션 조합들 별로, 제어 명령에 대한 수행 권한이 있는 것으로 미리 지정된 적어도 하나의 사용자의 역할 정보가 기록되어 있는 권한 테이블을 저장하여 유지하는 단계, 메시지 전송 장치로부터 상기 원격 단말 유닛 장치의 제어를 위한 제어 메시지를 수신하는 단계, 상기 제어 메시지가 수신되면, 상기 제어 메시지를 파싱하여 상기 제어 메시지를 구성하는 애플리케이션 리퀘스트 헤더로부터 제1 함수 코드를 추출하고, 상기 제어 메시지를 구성하는 n개(n은 1이상의 자연수)의 오브젝트들에 대한 오브젝트 헤더로부터 n개의 그룹-배리에이션 쌍들을 추출하는 단계, 상기 제어 명령 테이블로부터 상기 제1 함수 코드에 대응하는 제1 제어 명령을 추출하는 단계, 상기 메시지 전송 장치에 대한 제1 사용자의 역할 정보를 확인하고, 상기 제1 함수 코드와 상기 n개의 그룹-배리에이션 쌍들을 조합하여 n개의 함수 코드-그룹-배리에이션 조합들을 생성한 후 상기 권한 테이블 상에서 상기 n개의 함수 코드-그룹-배리에이션 조합들 전체에 대해 상기 제1 사용자의 역할 정보가 대응되어 기록되어 있는지 여부를 판단하는 단계 및 상기 권한 테이블 상에서 상기 n개의 함수 코드-그룹-배리에이션 조합들 전체에 대해 상기 제1 사용자의 역할 정보가 대응되어 기록되어 있는 것으로 판단되면, 상기 제1 제어 명령에 따라 상기 제어 메시지를 처리하는 단계를 포함한다.
본 발명에 따른 분산 네트워크 프로토콜(Distributed Network Protocol: DNP3) 기반의 원격 단말 유닛(Remote Terminal Unit: RTU) 장치는 메시지 전송 장치로부터 전송되는 제어 메시지에 포함될 수 있는 함수 코드(Function Code)들뿐만 아니라, 상기 제어 메시지에 포함될 수 있는 복수의 그룹(Group)들과 배리에이션(Variation)들을 기초로 만들 수 있는 복수의 함수 코드-그룹-배리에이션 조합들 별로, 제어 명령을 실행할 수 있는 권한을 갖는 사용자의 역할 정보를 대응시켜 저장한 권한 테이블을 유지함으로써, 상기 메시지 전송 장치로부터 전송되는 제어 메시지의 처리와 관련된 사용자의 역할에 따른 제약 조건을 기존의 DNP3 기반의 통신 시스템이 단순히 함수 코드에 따라 규정한 것에 비해서 보다 다양하고 세밀하게 규정할 수 있다.
도 1은 분산 네트워크 프로토콜(Distributed Network Protocol: DNP3) 기반의 통신 시스템에서 송수신되는 메시지의 구조를 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 DNP3 기반의 원격 단말 유닛(Remote Terminal Unit: RTU) 장치의 구조를 도시한 도면이다.
도 3은 본 발명의 일실시예에 따른 DNP3 기반의 원격 단말 유닛 장치의 동작 방법을 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 DNP3 기반의 원격 단말 유닛(Remote Terminal Unit: RTU) 장치의 구조를 도시한 도면이다.
도 3은 본 발명의 일실시예에 따른 DNP3 기반의 원격 단말 유닛 장치의 동작 방법을 도시한 도면이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하에서, 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다.
도 2는 본 발명의 일실시예에 따른 분산 네트워크 프로토콜(Distributed Network Protocol: DNP3) 기반의 원격 단말 유닛(Remote Terminal Unit: RTU) 장치의 구조를 도시한 도면이다.
도 2를 참조하면, 본 발명에 따른 DNP3 기반의 원격 단말 유닛 장치(210)는 제어 명령 테이블 유지부(211), 권한 테이블 유지부(212), 메시지 수신부(213), 메시지 파싱(parsing)부(214), 제어 명령 추출부(215), 권한 판단부(216) 및 메시지 처리부(217)를 포함한다.
제어 명령 테이블 유지부(211)는 DNP3 기반의 통신 시스템에서 송수신되는 메시지를 구성하는 애플리케이션 리퀘스트 헤더(Application Request Header)에 포함 가능한 복수의 서로 다른 함수 코드(Function Code)들 별로, 복수의 서로 다른 제어 명령들이 기록되어 있는 제어 명령 테이블을 저장하여 유지한다.
관련해서, DNP3 기반의 통신 시스템에서 송수신되는 메시지는 앞서 도 1을 이용하여 설명한 바와 같이, 애플리케이션 리퀘스트 헤더(110)와 적어도 하나의 오브젝트(Object)(131, 132) 및 적어도 하나의 오브젝트(131, 132) 각각에 대한 오브젝트 헤더(Object Header)(121, 122)로 구성되어 있고, 애플리케이션 리퀘스트 헤더(110)는 적어도 하나의 오브젝트(131, 132)가 원격 단말 유닛 장치(210)에 어떠한 식으로 적용될 것인지 여부를 결정하기 위한 제어 명령을 지시하는 함수 코드(111)를 포함하는데, 여기서, 제어 명령 테이블 유지부(211)는 하기의 표 3과 같이, 애플리케이션 리퀘스트 헤더(110)에 포함 가능한 복수의 서로 다른 함수 코드들 별로, 복수의 서로 다른 제어 명령들이 기록되어 있는 제어 명령 테이블을 저장하여 유지할 수 있다.
복수의 함수 코드들 | 복수의 제어 명령들 |
함수 코드 1 | Confirm |
함수 코드 2 | Read |
함수 코드 3 | Write |
함수 코드 4 | Select |
... | ... |
그리고, 권한 테이블 유지부(212)는 상기 복수의 서로 다른 함수 코드들과 상기 DNP3 기반의 통신 시스템에서 송수신되는 메시지를 구성하는 적어도 하나의 오브젝트(131, 132)에 대한 오브젝트 헤더(121, 122)에 포함 가능한 복수의 서로 다른 그룹(Group)들 및 복수의 서로 다른 배리에이션(Variation)들에 의해 구성 가능한 복수의 함수 코드-그룹-배리에이션 조합들 별로, 제어 명령에 대한 수행 권한이 있는 것으로 미리 지정된 적어도 하나의 사용자의 역할 정보가 기록되어 있는 권한 테이블을 저장하여 유지한다.
관련해서, 앞서 도 1을 이용하여 설명한 바와 같이, DNP3 기반의 통신 시스템에서 송수신되는 메시지에 포함되어 있는 오브젝트 헤더(121, 122)는 다시 오브젝트 타입 필드(Object Type Field) 내에 적어도 하나의 오브젝트(131, 132)의 타입을 정의하기 위한 그룹(141)과 배리에이션(142)으로 구성되어 있는데, 이러한 그룹(141)과 배리에이션(142)은 DNP3 기반의 통신 시스템에서 그 종류가 다수개 존재한다.
이때, 권한 테이블 유지부(212)는 상기 복수의 서로 다른 함수 코드들과 오브젝트 헤더(121, 122)에 포함 가능한 복수의 서로 다른 그룹들 및 복수의 서로 다른 배리에이션들에 의해 구성 가능한 복수의 함수 코드-그룹-배리에이션 조합들 별로, 제어 명령에 대한 수행 권한이 있는 것으로 미리 지정된 적어도 하나의 사용자의 역할 정보가 기록되어 있는 권한 테이블을 저장하여 유지할 수 있다.
관련해서, 상기 권한 테이블에는 하기의 표 4와 같이 정보가 기록되어 있을 수 있다.
복수의 함수 코드-그룹- 배리에이션 조합들 | 각 조합들 별 적어도 하나의 사용자의 역할 정보 |
함수 코드 1-그룹 1-배리에이션 1 | VIEWER, OPERATOR, ENGINEER |
함수 코드 1-그룹 2-배리에이션 2 | VIEWER, OPERATOR |
함수 코드 2-그룹 3-배리에이션 3 | OPERATOR, ENGINEER |
함수 코드 2-그룹 4-배리에이션 4 | ENGINEER |
함수 코드 3-그룹 2-배리에이션 1 | ENGINEER, OPERATOR |
함수 코드 3-그룹 3-배리에이션 2 | OPERATOR, INSTALLER |
... | ... |
이때, 상기 권한 테이블은 기존의 DNP3 기반의 통신 시스템이 복수의 함수 코드들에만 기초하여 사용자의 역할에 따른 권한을 분류한 것에 비해서, 복수의 함수 코드들, 복수의 그룹들 및 복수의 배리에이션들에 의해서 생성될 수 있는 다양한 조합들에 기초하여 사용자의 역할에 따른 권한을 분류하고 있어서, 기존의 DNP3 기반의 통신 시스템보다 훨씬 다양하게 사용자의 역할에 따라 서로 다른 권한 설정이 가능하도록 지원할 수 있다.
이렇게, 상기 표 3과 같은 제어 명령 테이블과 상기 표 4와 같은 권한 테이블을 저장하고 유지하고 있는 상태에서, 원격 단말 유닛 장치(210)에 메시지 전송 장치(230)로부터 원격 단말 유닛 장치(210)의 제어를 위한 도 1에 도시된 형태의 제어 메시지가 수신되면, 메시지 수신부(213)는 상기 제어 메시지를 수신한다.
메시지 파싱부(214)는 상기 제어 메시지가 수신되면, 상기 제어 메시지를 파싱하여 상기 제어 메시지를 구성하는 애플리케이션 리퀘스트 헤더(110)로부터 제1 함수 코드(111)를 추출하고, 상기 제어 메시지를 구성하는 n개(n은 1이상의 자연수)의 오브젝트들(131, 132)에 대한 오브젝트 헤더(121, 122)로부터 n개의 그룹-배리에이션 쌍(141-142)들을 추출한다.
예컨대, n이 2라고 하는 경우, 메시지 파싱부(214)는 상기 제어 메시지를 파싱하여 상기 제어 메시지를 구성하는 애플리케이션 리퀘스트 헤더(110)로부터 제1 함수 코드(111)를 추출하고, 상기 제어 메시지를 구성하는 2개의 오브젝트들(131, 132)에 대한 오브젝트 헤더(121, 122)로부터 2개의 그룹-배리에이션 쌍들(141-142)을 추출할 수 있다.
이때, 제어 명령 추출부(215)는 상기 제어 명령 테이블로부터 상기 제1 함수 코드(111)에 대응하는 제1 제어 명령을 추출한다.
그리고, 권한 판단부(216)는 메시지 전송 장치(230)에 대한 제1 사용자의 역할 정보를 확인하고, 상기 제1 함수 코드(111)와 상기 n개의 그룹-배리에이션 쌍들(141-142)을 조합하여 n개의 함수 코드-그룹-배리에이션 조합들을 생성한 후 상기 권한 테이블 상에서 상기 n개의 함수 코드-그룹-배리에이션 조합들 전체에 대해 상기 제1 사용자의 역할 정보가 대응되어 기록되어 있는지 여부를 판단한다.
메시지 처리부(217)는 상기 권한 테이블 상에서 상기 n개의 함수 코드-그룹-배리에이션 조합들 전체에 대해 상기 제1 사용자의 역할 정보가 대응되어 기록되어 있는 것으로 판단되면, 상기 제1 제어 명령에 따라 상기 제어 메시지를 처리한다.
예컨대, 상기 제1 함수 코드(111)가 "함수 코드 3"이라고 하는 경우, 제어 명령 추출부(215)는 상기 제어 명령 테이블로부터 "함수 코드 3"에 대응하는 "Write"라고 하는 제어 명령을 추출할 수 있다.
그러고 나서, 권한 판단부(216)는 메시지 전송 장치(230)에 대한 제1 사용자의 역할 정보를 확인하고, "함수 코드 3"과 상기 n개의 그룹-배리에이션 쌍들을 조합하여 n개의 함수 코드-그룹-배리에이션 조합들을 생성한 후 상기 권한 테이블 상에서 상기 n개의 함수 코드-그룹-배리에이션 조합들 전체에 대해 상기 제1 사용자의 역할 정보가 대응되어 기록되어 있는지 여부를 판단할 수 있다.
여기서, 상기 n을 2라고 하고, 2개의 그룹-배리에이션 쌍들이 각각 "그룹 2-배리에이션 1", "그룹 3-배리이에션 2"라고 하는 경우, 권한 판단부(216)는 "함수 코드 3"과 "그룹 2-배리에이션 1"을 조합해서 "함수 코드 3-그룹 2-배리에이션 1"이라고 하는 조합 및 "함수 코드 3"과 "그룹 3-배리에이션 2"를 조합해서 "함수 코드 3-그룹 3-배리에이션 2"라고 하는 조합을 생성할 수 있다.
그러고 나서, 권한 판단부(216)는 상기 표 4와 같은 권한 테이블 상에서 "함수 코드 3-그룹 2-배리에이션 1"과 "함수 코드 3-그룹 3-배리에이션 2"라는 조합들 전체에 대해 상기 제1 사용자의 역할 정보가 대응되어 기록되어 있는지 여부를 판단할 수 있다.
만약, 상기 제1 사용자의 역할 정보가 "OPERATOR"라고 하는 경우, 권한 판단부(216)는 상기 권한 테이블 상에서 "함수 코드 3-그룹 2-배리에이션 1"과 "함수 코드 3-그룹 3-배리에이션 2"라는 조합들 전체에 대해 상기 제1 사용자의 역할 정보인 "OPERATOR"가 대응되어 기록되어 있는 것으로 판단할 수 있고, 이를 통해, 메시지 처리부(217)는 상기 권한 테이블 상에서 상기 n개의 함수 코드-그룹-배리에이션 조합들 전체에 대해 상기 제1 사용자의 역할 정보가 대응되어 기록되어 있는 것으로 판단되었기 때문에, 상기 제1 제어 명령인 "Write"에 따라 상기 제어 메시지에 포함되어 있는 2개의 오브젝트들(131, 132)을 원격 단말 유닛 장치(210)에 기록할 수 있다.
하지만, 상기 제1 사용자의 역할 정보가 "INSTALLER"라고 하는 경우, "INSTALLER"는 상기 권한 테이블 상에서 "함수 코드 3-그룹 3-배리에이션 2"라는 조합에 대해서만 제어 명령을 실행할 권한이 있는 것으로 대응되어 기록되어 있기 때문에 메시지 처리부(217)는 상기 제1 제어 명령인 "Write"를 실행하지 않을 수 있다.
이때, 본 발명의 일실시예에 따르면, 권한 판단부(216)는 상기 제어 메시지 내에서 상기 n개의 오브젝트들(131, 132)이 위치하는 순서에 따라 상기 권한 테이블 상에서 상기 n개의 함수 코드-그룹-배리에이션 조합들에 대해 상기 제1 사용자의 역할 정보가 대응되어 기록되어 있는지 여부를 하나씩 판단할 수 있다.
예컨대, 상기 n이 2이고, 상기 제어 메시지 내에 오브젝트 1(131)과 오브젝트 2(132)가 순차적으로 위치하고 있다고 하는 경우, 권한 판단부(216)는 오브젝트 1(131)에 대한 오브젝트 헤더 1(121)에서 추출된 그룹-배리에이션 조합과 함수 코드의 조합에 의해서 생성된 함수 코드-그룹-배리에이션 조합 1에 대해 상기 권한 테이블 상에서 상기 제1 사용자의 역할 정보가 대응되어 기록되어 있는지 여부를 우선 판단하고, 상기 제1 사용자의 역할 정보가 대응되어 기록되어 있는 것으로 판단되면, 권한 판단부(216)는 오브젝트 2(132)에 대한 오브젝트 헤더 2(122)에서 추출된 그룹-배리에이션 조합과 함수 코드의 조합에 의해서 생성된 함수 코드-그룹-배리에이션 조합 2에 대해 상기 권한 테이블 상에서 상기 제1 사용자의 역할 정보가 대응되어 기록되어 있는지 여부를 판단할 수 있다.
또한, 본 발명의 일실시예에 따르면, 권한 판단부(216)는 상기 n개의 함수 코드-그룹-배리에이션 조합들 중 상기 권한 테이블 상에 존재하지 않은 함수 코드-그룹-배리에이션 조합이 하나 이상 존재하는 경우, 에러 메시지를 생성하여 상기 에러 메시지를 메시지 전송 장치(230)로 전송할 수 있다.
또한, 본 발명의 일실시예에 따르면, 상기 권한 테이블에는 상기 복수의 서로 다른 함수 코드들, 상기 복수의 서로 다른 그룹들, 상기 복수의 서로 다른 배리에이션들 및 상기 DNP3 기반의 통신 시스템에서 송수신되는 메시지에 포함 가능한 복수의 선정된(predetermined) 오브젝트의 내용들에 의해 구성 가능한 복수의 함수 코드-그룹-배리에이션-오브젝트의 내용 조합들 별로, 제어 명령에 대한 수행 권한이 있는 것으로 미리 지정된 적어도 하나의 사용자의 역할 정보가 추가 기록되어 있을 수 있다.
여기서, 선정된 오브젝트의 내용이란 제어 메시지에 포함되는 오브젝트의 파일명이나, 확장자 등과 같이, 관리자에 의해 미리 정해진 오브젝트의 특정 속성이나 특징들을 의미한다.
이때, 상기 권한 테이블에는 하기의 표 5와 같은 정보가 추가로 기록되어 있을 수 있다.
복수의 함수 코드-그룹- 배리에이션 -선정된 오브젝트의 내용 조합들 | 각 조합들 별 적어도 하나의 사용자의 역할 정보 |
함수 코드 3-그룹 2-배리에이션 1-오브젝트 파일명이 "abc" | VIEWER, INSTALLER |
함수 코드 3-그룹 3-배리에이션 2-오브젝트 파일명이 "def" | ENGINEER |
... | ... |
이때, 권한 판단부(216)는 상기 권한 테이블 상에서 상기 n개의 함수 코드-그룹-배리에이션 조합들 중 상기 제1 사용자의 역할 정보가 대응되어 기록되어 있지 않은 t개(t는 n보다 작고, 1이상의 자연수)의 함수 코드-그룹-배리에이션 조합들이 존재하는 것으로 판단되는 경우, 상기 t개의 함수 코드-그룹-배리에이션 조합들 각각의 순서에 대응하는 상기 제어 메시지 내에 포함되어 있는 t개의 오브젝트들의 내용을 추가로 확인해서, 상기 t개의 함수 코드-그룹-배리에이션 조합들 각각에 상기 t개의 오브젝트들의 내용이 각각 추가로 조합된 t개의 함수 코드-그룹-배리에이션-오브젝트의 내용 조합들을 생성한 후 상기 권한 테이블 상에서 상기 t개의 함수 코드-그룹-배리에이션-오브젝트의 내용 조합들 전체에 대해 상기 제1 사용자의 역할 정보가 대응되어 기록되어 있는지 여부를 추가로 판단할 수 있다.
그리고, 메시지 처리부(217)는 상기 권한 테이블 상에서 상기 t개의 함수 코드-그룹-배리에이션 조합들이 제외된 상기 n개의 함수 코드-그룹-배리에이션 조합들 전체에 대해 상기 제1 사용자의 역할 정보가 대응되어 기록되어 있음과 동시에 상기 t개의 함수 코드-그룹-배리에이션-오브젝트의 내용 조합들 전체에 대해 상기 제1 사용자의 역할 정보가 대응되어 기록되어 있는 것으로 판단되면, 상기 제1 제어 명령에 따라 상기 제어 메시지를 처리할 수 있다.
예컨대, 상기 n을 2라고 하고, 제어 메시지에 포함되어 있는 함수 코드가 "함수 코드 3"이고, 상기 제어 메시지에 "오브젝트 1"과 "오브젝트 2"가 순서대로 포함되어있으며, "오브젝트 1"에 대한 오브젝트 헤더에 포함된 그룹-배리에이션 쌍이 "그룹 2-배리에이션 1"이라고 하고, "오브젝트 2"에 대한 오브젝트 헤더에 포함된 그룹-배리에이션 쌍이 "그룹 3-배리이에션 2"라고 하는 경우, 권한 판단부(216)는 "함수 코드 3"과 "그룹 2-배리에이션 1"을 조합해서 "함수 코드 3-그룹 2-배리에이션 1"이라고 하는 조합 및 "함수 코드 3"과 "그룹 3-배리에이션 2"를 조합해서 "함수 코드 3-그룹 3-배리에이션 2"라고 하는 조합을 생성할 수 있다.
그러고 나서, 권한 판단부(216)는 상기 표 4와 같은 권한 테이블 상에서 "함수 코드 3-그룹 2-배리에이션 1"과 "함수 코드 3-그룹 3-배리에이션 2"라는 조합들 전체에 대해 상기 제1 사용자의 역할 정보가 대응되어 기록되어 있는지 여부를 판단할 수 있다.
만약, 상기 제1 사용자의 역할 정보가 "ENGINEER"라고 하는 경우, 권한 판단부(216)는 상기 권한 테이블 상에서 "함수 코드 3-그룹 2-배리에이션 1"과 "함수 코드 3-그룹 3-배리에이션 2"라는 조합들 전체에 대해 상기 제1 사용자의 역할 정보인 "ENGINEER"가 대응되어 기록되어 있는지 여부를 판단할 수 있다.
상기 권한 테이블 상에서는 "함수 코드 3-그룹 2-배리에이션 1" 조합에 대해서만 "ENGINEER"가 대응되어 기록되어 있으므로, 권한 판단부(216)는 "함수 코드 3-그룹 2-배리에이션 1" 조합과 "함수 코드 3-그룹 3-배리에이션 2" 조합 중 "ENGINEER"가 기록되어 있지 않은 "함수 코드 3-그룹 3-배리에이션 2" 조합에 대응하는 상기 제어 메시지 내에 포함되어 있는 "오브젝트 2"의 내용을 추가로 확인할 수 있다. 만약, 상기 "오브젝트 2"가 "def"라는 파일명을 갖는 오브젝트인 경우, 권한 판단부(216)는 상기 "함수 코드 3-그룹 3-배리에이션 2" 조합에 상기 "오브젝트 2"의 내용이 추가로 조합된 "함수 코드 3-그룹 3-배리에이션 2-오브젝트 파일명이 "def""라는 조합을 생성한 후 상기 권한 테이블 상에서 "함수 코드 3-그룹 3-배리에이션 2-오브젝트 파일명이 "def"" 라는 조합에 대해 상기 제1 사용자의 역할 정보인 "ENGINEER"가 대응되어 기록되어 있는지 여부를 추가로 판단할 수 있다.
상기 표 5에서는 "함수 코드 3-그룹 3-배리에이션 2-오브젝트 파일명이 "def"" 라는 조합에 대해 "ENGINEER"가 대응되어 기록되어 있기 때문에 메시지 처리부(217)는 상기 권한 테이블 상에서 "함수 코드 3-그룹 2-배리에이션 1" 조합과 "함수 코드 3-그룹 3-배리에이션 2-오브젝트 파일명이 "def""라는 조합에 대해 모두 상기 제1 사용자의 역할 정보인 "ENGINEER"가 대응되어 있다고 판단되어서, 상기 제어 메시지에 포함되어 있는 상기 "함수 코드 3"에 따른 제어 명령에 따라 상기 제어 메시지를 처리할 수 있다.
본 발명의 일실시예에 따르면, DNP3 기반의 원격 단말 유닛 장치(210)는 사용자 데이터베이스(218)를 더 포함할 수 있다.
사용자 데이터베이스(218)에는 복수의 사용자들에 대한 고유 식별 번호와 상기 복수의 사용자들 각각에 대해 미리 지정되어 있는 역할 정보가 저장되어 있다.
이때, 메시지 수신부(213)는 메시지 전송 장치(230)로부터 상기 제어 메시지와 함께 상기 제1 사용자에 대해 발급되어 있는 제1 고유 식별 번호를 수신할 수 있고, 권한 판단부(216)는 사용자 데이터베이스(218)로부터 상기 제1 고유 식별 번호에 대응되어 저장되어 있는 역할 정보를 추출하여 상기 추출된 역할 정보를 상기 제1 사용자의 역할 정보로 확인할 수 있다.
이때, 본 발명의 일실시예에 따르면, DNP3 기반의 원격 단말 유닛 장치(210)는 사용자 등록부(219) 및 고유 식별 번호 발급부(220)를 더 포함할 수 있다.
사용자 등록부(219)는 메시지 전송 장치(230)로부터 메시지 전송 장치(230)의 상기 제1 사용자에 대한 최초 등록 요청과 함께 상기 제1 사용자의 역할 정보가 수신되면, 상기 제1 사용자에 대한 상기 제1 고유 식별 번호를 생성하여 상기 제1 고유 식별 번호와 상기 제1 사용자의 역할 정보를 사용자 데이터베이스(218)에 대응시켜 저장한다.
그리고, 고유 식별 번호 발급부(220)는 상기 제1 고유 식별 번호를 메시지 전송 장치(230)로 전송한다.
즉, 메시지 전송 장치(230)에 대한 제1 사용자가 메시지 전송 장치(230)를 통해서 원격 단말 유닛 장치(210)를 제어하기 위해 최초 등록을 시도하면, 사용자 등록부(219)는 메시지 전송 장치(230)로부터 상기 제1 사용자의 역할 정보를 수신한 후 상기 제1 사용자에 대한 제1 고유 식별 정보를 생성하여 상기 제1 고유 식별 번호와 상기 제1 사용자의 역할 정보를 사용자 데이터베이스(218) 상에 저장해 둘 수 있다.
그리고, 고유 식별 번호 발급부(220)는 상기 제1 고유 식별 번호를 메시지 전송 장치(230)로 전송할 수 있다.
그 이후, 메시지 전송 장치(230)로부터 원격 단말 유닛 장치(210)로 제어 메시지와 함께 상기 제1 사용자에 대해 발급되어 있는 상기 제1 고유 식별 번호가 전송되면, 메시지 수신부(213)는 상기 제어 메시지와 상기 제1 고유 식별 번호를 수신하고, 권한 판단부(216)는 사용자 데이터베이스(218)로부터 상기 제1 고유 식별 번호에 대응되어 저장되어 있는 상기 제1 사용자의 역할 정보를 확인한 후 상기 권한 테이블을 참조하여 상기 제1 사용자의 역할 정보가 상기 제어 메시지에 포함되어 있는 상기 n개의 함수 코드-그룹-배리에이션 조합들 전체에 대해 권한이 설정되어 있는지 여부를 판단할 수 있다.
결국, 본 발명에 따른 DNP3 기반의 원격 단말 유닛 장치(210)는 메시지 전송 장치(230)로부터 전송되는 제어 메시지에 포함될 수 있는 함수 코드들뿐만 아니라, 상기 제어 메시지에 포함될 수 있는 복수의 그룹들과 배리에이션들을 기초로 만들 수 있는 복수의 함수 코드-그룹-배리에이션 조합들 별로, 제어 명령을 실행할 수 있는 권한을 갖는 사용자의 역할 정보를 대응시켜 저장한 권한 테이블을 유지함으로써, 메시지 전송 장치(230)로부터 전송되는 제어 메시지의 처리와 관련된 사용자의 역할에 따른 제약 조건을 기존의 DNP3 기반의 통신 시스템이 단순히 함수 코드에 따라 규정한 것에 비해서 보다 다양하고 세밀하게 규정할 수 있다.
도 3은 본 발명의 일실시예에 따른 DNP3 기반의 원격 단말 유닛 장치의 동작 방법을 도시한 도면이다.
단계(S310)에서는 DNP3 기반의 통신 시스템에서 송수신되는 메시지를 구성하는 애플리케이션 리퀘스트 헤더에 포함 가능한 복수의 서로 다른 함수 코드들 별로, 복수의 서로 다른 제어 명령들이 기록되어 있는 제어 명령 테이블을 저장하여 유지한다.
단계(S320)에서는 상기 복수의 서로 다른 함수 코드들과 상기 DNP3 기반의 통신 시스템에서 송수신되는 메시지를 구성하는 적어도 하나의 오브젝트에 대한 오브젝트 헤더에 포함 가능한 복수의 서로 다른 그룹들 및 복수의 서로 다른 배리에이션들에 의해 구성 가능한 복수의 함수 코드-그룹-배리에이션 조합들 별로, 제어 명령에 대한 수행 권한이 있는 것으로 미리 지정된 적어도 하나의 사용자의 역할 정보가 기록되어 있는 권한 테이블을 저장하여 유지한다.
단계(S330)에서는 메시지 전송 장치로부터 상기 원격 단말 유닛 장치의 제어를 위한 제어 메시지를 수신한다.
단계(S340)에서는 상기 제어 메시지가 수신되면, 상기 제어 메시지를 파싱하여 상기 제어 메시지를 구성하는 애플리케이션 리퀘스트 헤더로부터 제1 함수 코드를 추출하고, 상기 제어 메시지를 구성하는 n개(n은 1이상의 자연수)의 오브젝트들에 대한 오브젝트 헤더로부터 n개의 그룹-배리에이션 쌍들을 추출한다.
단계(S350)에서는 상기 제어 명령 테이블로부터 상기 제1 함수 코드에 대응하는 제1 제어 명령을 추출한다.
단계(S360)에서는 상기 메시지 전송 장치에 대한 제1 사용자의 역할 정보를 확인하고, 상기 제1 함수 코드와 상기 n개의 그룹-배리에이션 쌍들을 조합하여 n개의 함수 코드-그룹-배리에이션 조합들을 생성한 후 상기 권한 테이블 상에서 상기 n개의 함수 코드-그룹-배리에이션 조합들 전체에 대해 상기 제1 사용자의 역할 정보가 대응되어 기록되어 있는지 여부를 판단한다.
단계(S370)에서는 상기 권한 테이블 상에서 상기 n개의 함수 코드-그룹-배리에이션 조합들 전체에 대해 상기 제1 사용자의 역할 정보가 대응되어 기록되어 있는 것으로 판단되면, 상기 제1 제어 명령에 따라 상기 제어 메시지를 처리한다.
이때, 본 발명의 일실시예에 따르면, 상기 DNP3 기반의 원격 단말 유닛 장치의 동작 방법은 복수의 사용자들에 대한 고유 식별 번호와 상기 복수의 사용자들 각각에 대해 미리 지정되어 있는 역할 정보가 저장되어 있는 사용자 데이터베이스를 유지하는 단계를 더 포함할 수 있다.
이때, 단계(S330)에서는 상기 메시지 전송 장치로부터 상기 제어 메시지와 함께 상기 제1 사용자에 대해 발급되어 있는 제1 고유 식별 번호를 수신할 수 있고, 단계(S360)에서는 상기 사용자 데이터베이스로부터 상기 제1 고유 식별 번호에 대응되어 저장되어 있는 역할 정보를 추출하여 상기 추출된 역할 정보를 상기 제1 사용자의 역할 정보로 확인할 수 있다.
이때, 본 발명의 일실시예에 따르면, 상기 DNP3 기반의 원격 단말 유닛 장치의 동작 방법은 상기 메시지 전송 장치로부터 상기 메시지 전송 장치의 상기 제1 사용자에 대한 최초 등록 요청과 함께 상기 제1 사용자의 역할 정보가 수신되면, 상기 제1 사용자에 대한 상기 제1 고유 식별 번호를 생성하여 상기 제1 고유 식별 번호와 상기 제1 사용자의 역할 정보를 상기 사용자 데이터베이스에 대응시켜 저장하는 단계 및 상기 제1 고유 식별 번호를 상기 메시지 전송 장치로 전송하는 단계를 더 포함할 수 있다.
또한, 본 발명의 일실시예에 따르면, 단계(S360)에서는 상기 제어 메시지 내에서 상기 n개의 오브젝트들이 위치하는 순서에 따라 상기 권한 테이블 상에서 상기 n개의 함수 코드-그룹-배리에이션 조합들에 대해 상기 제1 사용자의 역할 정보가 대응되어 기록되어 있는지 여부를 하나씩 판단하고, 상기 n개의 함수 코드-그룹-배리에이션 조합들 중 상기 권한 테이블 상에 존재하지 않은 함수 코드-그룹-배리에이션 조합이 하나 이상 존재하는 경우, 에러 메시지를 생성하여 상기 에러 메시지를 상기 메시지 전송 장치로 전송할 수 있다.
또한, 본 발명의 일실시예에 따르면, 상기 권한 테이블에는 상기 복수의 서로 다른 함수 코드들, 상기 복수의 서로 다른 그룹들, 상기 복수의 서로 다른 배리에이션들 및 상기 DNP3 기반의 통신 시스템에서 송수신되는 메시지에 포함 가능한 복수의 선정된 오브젝트의 내용들에 의해 구성 가능한 복수의 함수 코드-그룹-배리에이션-오브젝트의 내용 조합들 별로, 제어 명령에 대한 수행 권한이 있는 것으로 미리 지정된 적어도 하나의 사용자의 역할 정보가 추가 기록되어 있을 수 있다.
이때, 단계(S360)에서는 상기 권한 테이블 상에서 상기 n개의 함수 코드-그룹-배리에이션 조합들 중 상기 제1 사용자의 역할 정보가 대응되어 기록되어 있지 않은 t개(t는 n보다 작고, 1이상의 자연수)의 함수 코드-그룹-배리에이션 조합들이 존재하는 것으로 판단되는 경우, 상기 t개의 함수 코드-그룹-배리에이션 조합들 각각의 순서에 대응하는 상기 제어 메시지 내에 포함되어 있는 t개의 오브젝트들의 내용을 추가로 확인해서, 상기 t개의 함수 코드-그룹-배리에이션 조합들 각각에 상기 t개의 오브젝트들의 내용이 각각 추가로 조합된 t개의 함수 코드-그룹-배리에이션-오브젝트의 내용 조합들을 생성한 후 상기 권한 테이블 상에서 상기 t개의 함수 코드-그룹-배리에이션-오브젝트의 내용 조합들 전체에 대해 상기 제1 사용자의 역할 정보가 대응되어 기록되어 있는지 여부를 추가로 판단할 수 있고, 단계(S370)에서는 상기 권한 테이블 상에서 상기 t개의 함수 코드-그룹-배리에이션 조합들이 제외된 상기 n개의 함수 코드-그룹-배리에이션 조합들 전체에 대해 상기 제1 사용자의 역할 정보가 대응되어 기록되어 있음과 동시에 상기 t개의 함수 코드-그룹-배리에이션-오브젝트의 내용 조합들 전체에 대해 상기 제1 사용자의 역할 정보가 대응되어 기록되어 있는 것으로 판단되면, 상기 제1 제어 명령에 따라 상기 제어 메시지를 처리할 수 있다.
이상, 도 4를 참조하여 본 발명의 일실시예에 따른 DNP3 기반의 원격 단말 유닛 장치의 동작 방법에 대해 설명하였다. 여기서, 본 발명의 일실시예에 따른 DNP3 기반의 원격 단말 유닛 장치의 동작 방법은 도 2를 이용하여 설명한 DNP3 기반의 원격 단말 유닛 장치(210)의 동작에 대한 구성과 대응될 수 있으므로, 이에 대한 보다 상세한 설명은 생략하기로 한다.
본 발명의 일실시예에 따른 DNP3 기반의 원격 단말 유닛 장치의 동작 방법은 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램으로 구현될 수 있다.
또한, 본 발명의 일실시예에 따른 DNP3 기반의 원격 단말 유닛 장치의 동작 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.
210: DNP3 기반의 원격 단말 유닛 장치
211: 제어 명령 테이블 유지부 212: 권한 테이블 유지부
213: 메시지 수신부 214: 메시지 파싱부
215: 제어 명령 추출부 216: 권한 판단부
217: 메시지 처리부 218: 사용자 데이터베이스
219: 사용자 등록부 220: 고유 식별 번호 발급부
230: 메시지 전송 장치
211: 제어 명령 테이블 유지부 212: 권한 테이블 유지부
213: 메시지 수신부 214: 메시지 파싱부
215: 제어 명령 추출부 216: 권한 판단부
217: 메시지 처리부 218: 사용자 데이터베이스
219: 사용자 등록부 220: 고유 식별 번호 발급부
230: 메시지 전송 장치
Claims (12)
- 분산 네트워크 프로토콜(Distributed Network Protocol: DNP3) 기반의 원격 단말 유닛(Remote Terminal Unit: RTU) 장치에 있어서,
DNP3 기반의 통신 시스템에서 송수신되는 메시지를 구성하는 애플리케이션 리퀘스트 헤더(Application Request Header)에 포함 가능한 복수의 서로 다른 함수 코드(Function Code)들 별로, 복수의 서로 다른 제어 명령들이 기록되어 있는 제어 명령 테이블을 저장하여 유지하는 제어 명령 테이블 유지부;
상기 복수의 서로 다른 함수 코드들과 복수의 서로 다른 그룹(Group)들 및 복수의 서로 다른 배리에이션(Variation)들 - 상기 복수의 서로 다른 그룹들과 상기 복수의 서로 다른 배리에이션들은 상기 DNP3 기반의 통신 시스템에서 송수신되는 메시지를 구성하는 적어도 하나의 오브젝트(Object)의 타입을 정의하기 위해서, 상기 적어도 하나의 오브젝트에 대한 오브젝트 헤더(Header)에 포함 가능한 값들임 - 에 의해 구성 가능한 복수의 함수 코드-그룹-배리에이션 조합들 별로, 제어 명령에 대한 수행 권한이 있는 것으로 미리 지정된 적어도 하나의 사용자의 역할 정보가 기록되어 있는 권한 테이블을 저장하여 유지하는 권한 테이블 유지부;
메시지 전송 장치로부터 상기 원격 단말 유닛 장치의 제어를 위한 제어 메시지를 수신하는 메시지 수신부;
상기 제어 메시지가 수신되면, 상기 제어 메시지를 파싱(parsing)하여 상기 제어 메시지를 구성하는 애플리케이션 리퀘스트 헤더로부터 제1 함수 코드를 추출하고, 상기 제어 메시지를 구성하는 n개(n은 1이상의 자연수)의 오브젝트들에 대한 오브젝트 헤더로부터 n개의 그룹-배리에이션 쌍들을 추출하는 메시지 파싱부;
상기 제어 명령 테이블로부터 상기 제1 함수 코드에 대응하는 제1 제어 명령을 추출하는 제어 명령 추출부;
상기 메시지 전송 장치에 대한 제1 사용자의 역할 정보를 확인하고, 상기 제1 함수 코드와 상기 n개의 그룹-배리에이션 쌍들을 조합하여 n개의 함수 코드-그룹-배리에이션 조합들을 생성한 후 상기 권한 테이블 상에서 상기 n개의 함수 코드-그룹-배리에이션 조합들 전체에 대해 상기 제1 사용자의 역할 정보가 대응되어 기록되어 있는지 여부를 판단하는 권한 판단부; 및
상기 권한 테이블 상에서 상기 n개의 함수 코드-그룹-배리에이션 조합들 전체에 대해 상기 제1 사용자의 역할 정보가 대응되어 기록되어 있는 것으로 판단되면, 상기 제1 제어 명령에 따라 상기 제어 메시지를 처리하는 메시지 처리부
를 포함하는 분산 네트워크 프로토콜 기반의 원격 단말 유닛 장치. - 제1항에 있어서,
복수의 사용자들에 대한 고유 식별 번호와 상기 복수의 사용자들 각각에 대해 미리 지정되어 있는 역할 정보가 저장되어 있는 사용자 데이터베이스
를 더 포함하고,
상기 메시지 수신부는
상기 메시지 전송 장치로부터 상기 제어 메시지와 함께 상기 제1 사용자에 대해 발급되어 있는 제1 고유 식별 번호를 수신하며,
상기 권한 판단부는
상기 사용자 데이터베이스로부터 상기 제1 고유 식별 번호에 대응되어 저장되어 있는 역할 정보를 추출하여 상기 추출된 역할 정보를 상기 제1 사용자의 역할 정보로 확인하는 분산 네트워크 프로토콜 기반의 원격 단말 유닛 장치. - 제2항에 있어서,
상기 메시지 전송 장치로부터 상기 메시지 전송 장치의 상기 제1 사용자에 대한 최초 등록 요청과 함께 상기 제1 사용자의 역할 정보가 수신되면, 상기 제1 사용자에 대한 상기 제1 고유 식별 번호를 생성하여 상기 제1 고유 식별 번호와 상기 제1 사용자의 역할 정보를 상기 사용자 데이터베이스에 대응시켜 저장하는 사용자 등록부; 및
상기 제1 고유 식별 번호를 상기 메시지 전송 장치로 전송하는 고유 식별 번호 발급부
를 더 포함하는 분산 네트워크 프로토콜 기반의 원격 단말 유닛 장치. - 제1항에 있어서,
상기 권한 판단부는
상기 제어 메시지 내에서 상기 n개의 오브젝트들이 위치하는 순서에 따라 상기 권한 테이블 상에서 상기 n개의 함수 코드-그룹-배리에이션 조합들에 대해 상기 제1 사용자의 역할 정보가 대응되어 기록되어 있는지 여부를 하나씩 판단하고, 상기 n개의 함수 코드-그룹-배리에이션 조합들 중 상기 권한 테이블 상에 존재하지 않은 함수 코드-그룹-배리에이션 조합이 하나 이상 존재하는 경우, 에러 메시지를 생성하여 상기 에러 메시지를 상기 메시지 전송 장치로 전송하는 분산 네트워크 프로토콜 기반의 원격 단말 유닛 장치. - 제1항에 있어서,
상기 권한 테이블에는
상기 복수의 서로 다른 함수 코드들, 상기 복수의 서로 다른 그룹들, 상기 복수의 서로 다른 배리에이션들 및 상기 DNP3 기반의 통신 시스템에서 송수신되는 메시지에 포함 가능한 복수의 선정된(predetermined) 오브젝트의 내용들에 의해 구성 가능한 복수의 함수 코드-그룹-배리에이션-오브젝트의 내용 조합들 별로, 제어 명령에 대한 수행 권한이 있는 것으로 미리 지정된 적어도 하나의 사용자의 역할 정보가 추가 기록되어 있으며,
상기 권한 판단부는
상기 권한 테이블 상에서 상기 n개의 함수 코드-그룹-배리에이션 조합들 중 상기 제1 사용자의 역할 정보가 대응되어 기록되어 있지 않은 t개(t는 n보다 작고, 1이상의 자연수)의 함수 코드-그룹-배리에이션 조합들이 존재하는 것으로 판단되는 경우, 상기 t개의 함수 코드-그룹-배리에이션 조합들 각각의 순서에 대응하는 상기 제어 메시지 내에 포함되어 있는 t개의 오브젝트들의 내용을 추가로 확인해서, 상기 t개의 함수 코드-그룹-배리에이션 조합들 각각에 상기 t개의 오브젝트들의 내용이 각각 추가로 조합된 t개의 함수 코드-그룹-배리에이션-오브젝트의 내용 조합들을 생성한 후 상기 권한 테이블 상에서 상기 t개의 함수 코드-그룹-배리에이션-오브젝트의 내용 조합들 전체에 대해 상기 제1 사용자의 역할 정보가 대응되어 기록되어 있는지 여부를 추가로 판단하며,
상기 메시지 처리부는
상기 권한 테이블 상에서 상기 t개의 함수 코드-그룹-배리에이션 조합들이 제외된 상기 n개의 함수 코드-그룹-배리에이션 조합들 전체에 대해 상기 제1 사용자의 역할 정보가 대응되어 기록되어 있음과 동시에 상기 t개의 함수 코드-그룹-배리에이션-오브젝트의 내용 조합들 전체에 대해 상기 제1 사용자의 역할 정보가 대응되어 기록되어 있는 것으로 판단되면, 상기 제1 제어 명령에 따라 상기 제어 메시지를 처리하는 분산 네트워크 프로토콜 기반의 원격 단말 유닛 장치. - 분산 네트워크 프로토콜(Distributed Network Protocol: DNP3) 기반의 원격 단말 유닛(Remote Terminal Unit: RTU) 장치의 동작 방법에 있어서,
DNP3 기반의 통신 시스템에서 송수신되는 메시지를 구성하는 애플리케이션 리퀘스트 헤더(Application Request Header)에 포함 가능한 복수의 서로 다른 함수 코드(Function Code)들 별로, 복수의 서로 다른 제어 명령들이 기록되어 있는 제어 명령 테이블을 저장하여 유지하는 단계:
상기 복수의 서로 다른 함수 코드들과 복수의 서로 다른 그룹(Group)들 및 복수의 서로 다른 배리에이션(Variation)들 - 상기 복수의 서로 다른 그룹들과 상기 복수의 서로 다른 배리에이션들은 상기 DNP3 기반의 통신 시스템에서 송수신되는 메시지를 구성하는 적어도 하나의 오브젝트(Object)의 타입을 정의하기 위해서, 상기 적어도 하나의 오브젝트에 대한 오브젝트 헤더(Header)에 포함 가능한 값들임 - 에 의해 구성 가능한 복수의 함수 코드-그룹-배리에이션 조합들 별로, 제어 명령에 대한 수행 권한이 있는 것으로 미리 지정된 적어도 하나의 사용자의 역할 정보가 기록되어 있는 권한 테이블을 저장하여 유지하는 단계;
메시지 전송 장치로부터 상기 원격 단말 유닛 장치의 제어를 위한 제어 메시지를 수신하는 단계;
상기 제어 메시지가 수신되면, 상기 제어 메시지를 파싱(parsing)하여 상기 제어 메시지를 구성하는 애플리케이션 리퀘스트 헤더로부터 제1 함수 코드를 추출하고, 상기 제어 메시지를 구성하는 n개(n은 1이상의 자연수)의 오브젝트들에 대한 오브젝트 헤더로부터 n개의 그룹-배리에이션 쌍들을 추출하는 단계;
상기 제어 명령 테이블로부터 상기 제1 함수 코드에 대응하는 제1 제어 명령을 추출하는 단계;
상기 메시지 전송 장치에 대한 제1 사용자의 역할 정보를 확인하고, 상기 제1 함수 코드와 상기 n개의 그룹-배리에이션 쌍들을 조합하여 n개의 함수 코드-그룹-배리에이션 조합들을 생성한 후 상기 권한 테이블 상에서 상기 n개의 함수 코드-그룹-배리에이션 조합들 전체에 대해 상기 제1 사용자의 역할 정보가 대응되어 기록되어 있는지 여부를 판단하는 단계; 및
상기 권한 테이블 상에서 상기 n개의 함수 코드-그룹-배리에이션 조합들 전체에 대해 상기 제1 사용자의 역할 정보가 대응되어 기록되어 있는 것으로 판단되면, 상기 제1 제어 명령에 따라 상기 제어 메시지를 처리하는 단계
를 포함하는 분산 네트워크 프로토콜 기반의 원격 단말 유닛 장치의 동작 방법. - 제6항에 있어서,
복수의 사용자들에 대한 고유 식별 번호와 상기 복수의 사용자들 각각에 대해 미리 지정되어 있는 역할 정보가 저장되어 있는 사용자 데이터베이스를 유지하는 단계
를 더 포함하고,
상기 제어 메시지를 수신하는 단계는
상기 메시지 전송 장치로부터 상기 제어 메시지와 함께 상기 제1 사용자에 대해 발급되어 있는 제1 고유 식별 번호를 수신하며,
상기 판단하는 단계는
상기 사용자 데이터베이스로부터 상기 제1 고유 식별 번호에 대응되어 저장되어 있는 역할 정보를 추출하여 상기 추출된 역할 정보를 상기 제1 사용자의 역할 정보로 확인하는 분산 네트워크 프로토콜 기반의 원격 단말 유닛 장치의 동작 방법. - 제7항에 있어서,
상기 메시지 전송 장치로부터 상기 메시지 전송 장치의 상기 제1 사용자에 대한 최초 등록 요청과 함께 상기 제1 사용자의 역할 정보가 수신되면, 상기 제1 사용자에 대한 상기 제1 고유 식별 번호를 생성하여 상기 제1 고유 식별 번호와 상기 제1 사용자의 역할 정보를 상기 사용자 데이터베이스에 대응시켜 저장하는 단계; 및
상기 제1 고유 식별 번호를 상기 메시지 전송 장치로 전송하는 단계
를 더 포함하는 분산 네트워크 프로토콜 기반의 원격 단말 유닛 장치의 동작 방법. - 제6항에 있어서,
상기 판단하는 단계는
상기 제어 메시지 내에서 상기 n개의 오브젝트들이 위치하는 순서에 따라 상기 권한 테이블 상에서 상기 n개의 함수 코드-그룹-배리에이션 조합들에 대해 상기 제1 사용자의 역할 정보가 대응되어 기록되어 있는지 여부를 하나씩 판단하고, 상기 n개의 함수 코드-그룹-배리에이션 조합들 중 상기 권한 테이블 상에 존재하지 않은 함수 코드-그룹-배리에이션 조합이 하나 이상 존재하는 경우, 에러 메시지를 생성하여 상기 에러 메시지를 상기 메시지 전송 장치로 전송하는 분산 네트워크 프로토콜 기반의 원격 단말 유닛 장치의 동작 방법. - 제6항에 있어서,
상기 권한 테이블에는
상기 복수의 서로 다른 함수 코드들, 상기 복수의 서로 다른 그룹들, 상기 복수의 서로 다른 배리에이션들 및 상기 DNP3 기반의 통신 시스템에서 송수신되는 메시지에 포함 가능한 복수의 선정된(predetermined) 오브젝트의 내용들에 의해 구성 가능한 복수의 함수 코드-그룹-배리에이션-오브젝트의 내용 조합들 별로, 제어 명령에 대한 수행 권한이 있는 것으로 미리 지정된 적어도 하나의 사용자의 역할 정보가 추가 기록되어 있으며,
상기 판단하는 단계는
상기 권한 테이블 상에서 상기 n개의 함수 코드-그룹-배리에이션 조합들 중 상기 제1 사용자의 역할 정보가 대응되어 기록되어 있지 않은 t개(t는 n보다 작고, 1이상의 자연수)의 함수 코드-그룹-배리에이션 조합들이 존재하는 것으로 판단되는 경우, 상기 t개의 함수 코드-그룹-배리에이션 조합들 각각의 순서에 대응하는 상기 제어 메시지 내에 포함되어 있는 t개의 오브젝트들의 내용을 추가로 확인해서, 상기 t개의 함수 코드-그룹-배리에이션 조합들 각각에 상기 t개의 오브젝트들의 내용이 각각 추가로 조합된 t개의 함수 코드-그룹-배리에이션-오브젝트의 내용 조합들을 생성한 후 상기 권한 테이블 상에서 상기 t개의 함수 코드-그룹-배리에이션-오브젝트의 내용 조합들 전체에 대해 상기 제1 사용자의 역할 정보가 대응되어 기록되어 있는지 여부를 추가로 판단하며,
상기 제어 메시지를 처리하는 단계는
상기 권한 테이블 상에서 상기 t개의 함수 코드-그룹-배리에이션 조합들이 제외된 상기 n개의 함수 코드-그룹-배리에이션 조합들 전체에 대해 상기 제1 사용자의 역할 정보가 대응되어 기록되어 있음과 동시에 상기 t개의 함수 코드-그룹-배리에이션-오브젝트의 내용 조합들 전체에 대해 상기 제1 사용자의 역할 정보가 대응되어 기록되어 있는 것으로 판단되면, 상기 제1 제어 명령에 따라 상기 제어 메시지를 처리하는 분산 네트워크 프로토콜 기반의 원격 단말 유닛 장치의 동작 방법. - 제6항 내지 제10항 중 어느 한 항의 방법을 수행하는 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.
- 제6항 내지 제10항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 컴퓨터 판독 가능한 저장매체에 저장된 컴퓨터 프로그램.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160090849A KR101669855B1 (ko) | 2016-07-18 | 2016-07-18 | 분산 네트워크 프로토콜 기반의 원격 단말 유닛 장치 및 그 동작 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160090849A KR101669855B1 (ko) | 2016-07-18 | 2016-07-18 | 분산 네트워크 프로토콜 기반의 원격 단말 유닛 장치 및 그 동작 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101669855B1 true KR101669855B1 (ko) | 2016-10-27 |
Family
ID=57247312
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160090849A KR101669855B1 (ko) | 2016-07-18 | 2016-07-18 | 분산 네트워크 프로토콜 기반의 원격 단말 유닛 장치 및 그 동작 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101669855B1 (ko) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11338839A (ja) * | 1997-10-31 | 1999-12-10 | Sun Microsyst Inc | ネットワーク資源へのアクセスを制御する分散システム及び方法 |
KR20060062319A (ko) * | 2004-12-03 | 2006-06-12 | 삼성에스디에스 주식회사 | 사용자별 권한 할당 및 접속을 관리하는 홈네트워크게이트웨이 및 그 제어방법 |
JP2011048455A (ja) * | 2009-08-25 | 2011-03-10 | Nippon Telegr & Teleph Corp <Ntt> | 中継装置、中継方法,プログラム、およびアクセス制御システム |
-
2016
- 2016-07-18 KR KR1020160090849A patent/KR101669855B1/ko active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11338839A (ja) * | 1997-10-31 | 1999-12-10 | Sun Microsyst Inc | ネットワーク資源へのアクセスを制御する分散システム及び方法 |
KR20060062319A (ko) * | 2004-12-03 | 2006-06-12 | 삼성에스디에스 주식회사 | 사용자별 권한 할당 및 접속을 관리하는 홈네트워크게이트웨이 및 그 제어방법 |
JP2011048455A (ja) * | 2009-08-25 | 2011-03-10 | Nippon Telegr & Teleph Corp <Ntt> | 中継装置、中継方法,プログラム、およびアクセス制御システム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110881044B (zh) | 一种计算机防火墙动态防御安全平台 | |
US8955143B1 (en) | Use of decoy data in a data store | |
CN102521165A (zh) | 安全优盘及其识别方法和装置 | |
CN116011005A (zh) | 阻止网络钓鱼或勒索软件攻击的方法和系统 | |
CN110210270B (zh) | 二维码信息安全加固方法及系统和二维码图像解析方法及系统 | |
CN100539499C (zh) | 一种安全的星形局域网计算机系统 | |
CN104025544A (zh) | 机密信息泄露防止系统、机密信息泄露防止方法和计算机可读记录介质 | |
CN103561091A (zh) | 文档外发控制系统及方法 | |
CN111083153A (zh) | 医疗接口间的业务访问方法、装置、设备及可读存储介质 | |
CN107846676A (zh) | 基于网络切片安全架构的安全通信方法和系统 | |
CN114117482A (zh) | 数据库的加密方法、装置、电子设备及存储介质 | |
CN104883341A (zh) | 应用管理装置、终端及应用管理方法 | |
CN112073366B (zh) | 一种用于铁路财务系统的数据处理方法及数据中台 | |
KR101669855B1 (ko) | 분산 네트워크 프로토콜 기반의 원격 단말 유닛 장치 및 그 동작 방법 | |
US10506288B2 (en) | DRM addition authentication | |
CN101291345A (zh) | 存储资源访问控制方法、ip存储系统、存储设备和主机 | |
KR102592874B1 (ko) | 무인 이동체, 무인 이동체의 중요 정보 보호 기능을 제공하는 소스 파일을 생성하는 장치 | |
CN105392112A (zh) | Mtc设备信息的保护方法、设备及系统 | |
CN115967565A (zh) | 一种战场态势感知方法、系统、终端设备及存储介质 | |
JP5537668B2 (ja) | バス接続プログラム及び装置 | |
CN102480475A (zh) | Web服务安全访问控制方法、装置及系统 | |
CN111723363A (zh) | 数据导出方法及装置 | |
CN108268796B (zh) | 一种基于离线密码的离线管理方法及装置 | |
CN104573570B (zh) | 一种由读卡器生成随机校验码的文件存储与访问方法 | |
CN111585982B (zh) | 不同级别安全网络的Restful信息交换系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 20190905 Year of fee payment: 4 |