KR102018064B1 - Scada 통신 네트워크 보안을 위한 보안 통신 장치 및 방법 - Google Patents

Scada 통신 네트워크 보안을 위한 보안 통신 장치 및 방법 Download PDF

Info

Publication number
KR102018064B1
KR102018064B1 KR1020120105705A KR20120105705A KR102018064B1 KR 102018064 B1 KR102018064 B1 KR 102018064B1 KR 1020120105705 A KR1020120105705 A KR 1020120105705A KR 20120105705 A KR20120105705 A KR 20120105705A KR 102018064 B1 KR102018064 B1 KR 102018064B1
Authority
KR
South Korea
Prior art keywords
dnp
data
secure
control command
response
Prior art date
Application number
KR1020120105705A
Other languages
English (en)
Other versions
KR20140043537A (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 KR1020120105705A priority Critical patent/KR102018064B1/ko
Publication of KR20140043537A publication Critical patent/KR20140043537A/ko
Application granted granted Critical
Publication of KR102018064B1 publication Critical patent/KR102018064B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Small-Scale Networks (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

SCADA(Supervisory Control And Data Acquisition) 통신 네트워크 보안을 위한 보안 통신 장치 및 방법이 개시된다. 본 발명에 따른, 마스터(master) 및 상기 마스터의 하위 노드인 아웃스테이션(outstation) 간의 SCADA 통신 네트워크 보안을 위한 보안 통신 장치는, 상기 마스터 또는 상기 아웃스테이션으로부터 DNP(Distributed Network Protocol) 제어 명령 또는 DNP 응답을 포함하는 DNP 데이터를 수신하는 제1 데이터 수신부; 상기 DNP 데이터에 DNP 표준 보안 정책에 대응하는 DNP 메시지 인증 데이터를 첨부하는 공세 모드를 적용하여 보안 DNP 데이터를 생성하는 공세 모드 구성부; 및 상기 DNP 데이터 또는 상기 보안 DNP 데이터를 다른 보안 통신 장치로 송신하는 제1 데이터 송신부를 포함한다.

Description

SCADA 통신 네트워크 보안을 위한 보안 통신 장치 및 방법{Secure communication apparatus and method for securing SCADA communication network}
본 발명은 SCADA 통신 네트워크 보안을 위한 보안 통신 장치 및 방법에 관한 것으로서, DNP 데이터에 DNP 표준 보안 정책에 대응하는 DNP 메시지 인증 데이터를 첨부하는 공세 모드를 적용하여 보안 DNP 데이터를 생성하는 기능을 수행하는 보안 통신 장치를 이용하여 양방향 데이터 인증을 수행함으로써, 보다 안전하게 SCADA 통신 네트워크를 통제할 수 있고 DNP 데이터의 무결성 보장을 위한 보안 기능 수행에 따른 전송시간 지연을 최소화할 수 있는 SCADA 통신 네트워크 보안을 위한 보안 통신 장치 및 방법에 관한 것이다.
SCADA(Supervisory Control And Data Acquisition) 시스템은 원격지 시설 장치를 중앙 집중식으로 감시 제어하기 위한 시스템이다. SCADA 시스템은 특히 발전·송배전 분야에서 통신 경로상의 아날로그 또는 디지털 신호를 사용하여 원격장치의 상태정보 데이터를 원격소 장치인 아웃스테이션(Outstation)으로 수신하고 기록 및 표시하여 수집하고, 상기 정보를 중앙제어시스템인 마스터(Master)로 전달함으로써 중앙 제어 시스템에서 원격장치를 감시·제어하도록 한다.
이러한 SCADA 시스템의 통신 네트워크 보호를 위해, IEEE 1815 DNP 3.0 표준에서 보안 인증(Secure Authentication)을 포함하고 있다. 보안 인증은 도청, 데이터 위변조 및 재전송 공격 등의 사이버공격으로부터 DNP 데이터 보호를 위해 기존 DNP 3.0 규격의 응용계층만 변경한 프로토콜로 인증과 무결성 보장을 위한 보안 메커니즘을 추가하였다. DNP 3.0 보안 인증은 메시지의 기밀성을 유지하기 위한 암호화 기능은 제공하지 않지만 마스터에서 아웃스테이션으로 전송하는 제어 명령과 같은 중요한 메시지들의 무결성을 보장하기 위해 인증 기능을 제공하고 있다. 보안 인증에서는 인증을 위해 챌린지-응답(Challenge-Response) 방식의 인증 모드를 제공한다. 챌린지-응답 모드는 기본 인증 모드로 도 1에 나타낸 것과 같이 인증을 위해 난수를 포함하는 인증 챌린지(Authentication Challenge)를 보내고 이에 대한 인증 응답(Authentication Response)을 수신하여 응답이 유효한지 검증하는 과정을 수행한다.
상기에서 기술한 것과 같이 SCADA 통신 네트워크 보호를 위해 IEEE 1815 표준에서 보안 인증이라는 보안 규격을 제시하고 있지만 기존의 전력제어 시스템은 보안성을 고려하지 않고 개발하여 운영되고 있고 DNP 3.0 보안 인증에서는 전력 제어시스템을 구성하는 마스터와 아웃스테이션에 보안 기능을 탑재하는 방식을 제안하고 있어 운영되고 있는 전력 제어 시스템에 보안 기능을 적용하는데 어려움이 있다.
첫째로, DNP 3.0 보안 인증은 응용레벨의 프로토콜로 기 구축된 대부분의 SCADA시스템에서 제공되지 않는 경우가 많으며 보안 인증에서 제시한 보안 기능을 제공하기 위해서는 기 구축된 시스템 전체를 보안기능이 추가된 신규시스템으로 교체해야 하기 때문에 보안을 위해 많은 구축비용을 필요로 하며 시스템 교체에 따른 전력서비스 공급 중단 문제 등 실질적으로 적용하는데 많은 문제점이 있다.
둘째로, 전력 서비스의 가용성 보장이 어렵다. 전력서비스는 현대 사회의 기본이 되는 서비스로 안정적인 전력 공급에 문제가 발생하게 되면 기본적인 사회 활동 유지에 어려움을 겪을 뿐만 아니라 국가적인 손실이 발생하게 된다. 전력 제어 시스템의 가장 큰 기능은 안정적인 전력 서비스의 공급에 있고 이를 위해 현재의 전력 제어시스템은 시스템 이중화 및 통신회선 이중화 등 다양한 메커니즘을 적용하고 있다. 그러나 전력 제어시스템을 구성하는 마스터와 아웃스테이션에 보안기능을 탑재한 경우 DNP 데이터의 무결성 보장을 위한 보안기능 오작동시 전력 제어시스템 전체에 영향을 주게 되므로 전력 설비 상태정보 수집 및 제어를 위한 DNP 데이터 송수신이 실패하게 된다. 결국에는 DNP 데이터 전송실패로 인해 전력 제어시스템의 기본 기능인 전력 서비스의 가용성 확보에 어려움이 발생한다.
DNP 3.0 보안 인증의 다른 문제점으로는 일방향 데이터 인증에 있다. 제어 명령에 대한 응답 및 계측, 감시 등의 변전소 운영정보는 스위치 개폐 등의 전력 설비의 운영을 결정하는 중요한 기초 정보이므로 이와 같은 운영정보가 위변조 되어 전력시스템 서버로 전달될 경우 시스템 운영자가 현재의 전력설비 운영 현황을 오판하게 되어 잘못된 제어명령을 내릴 수 있고 이로 인해 전력 공급에 문제가 발생할 수 있다. 전력설비의 운전에 직접적으로 영향을 미치는 제어 명령에 대한 보호도 필요하지만 상기에서 기술한 바와 같이 제어 명령에 대한 응답 및 계측, 감시 등의 변전소 운영정보도 중요한 정보이므로 이에 대한 보호가 필요하다.
그러나 DNP 3.0 보안 인증에서 제시하는 챌린지-응답 방식의 인증 구조는 도 1에 도식한 것과 같이 제어 명령에 대한 일방향 인증 기능만을 제공하고 응답에 대한 인증 기능을 제공하지 않고 있다.
또한, DNP 3.0 규격 자체가 가지고 있는 보안 취약점을 공개되어 있어 악의적인 의도를 가진 공격자가 상기의 취약점을 이용해 DNP 기반의 SCADA시스템을 공격할 가능성이 점차 커지고 있지만 종래의 SCADA 시스템에는 위변조된 DNP 메시지를 탐지하고 차단하기 위한 방법이 제공되지 않고 있다.
그러므로 전력 제어시스템의 교체 및 개선비용은 최소화하면서 DNP 요청 및 응답 데이터의 무결성을 보장하기 위한 DNP 보안시스템의 개발이 필요하다. 또한 상기의 DNP 보안시스템은 위변조된 DNP 메시지를 탐지하고 차단할 수 있어야 하며 보안기능 오작동시에도 간단한 조작만으로 DNP 요청 및 응답데이터를 안정적으로 전달할 수 있도록 구성하여 전력공급서비스의 가용성 확보에 심각한 영향을 미치지 않아야 한다.
관련하여, 한국공개특허 제2010-0078584호는 "SCADA 통신 보안을 위한 다중 암호화 장치 및 그 방법"을 개시하고 있다.
본 발명의 목적은 DNP 데이터에 DNP 표준 보안 정책에 대응하는 DNP 메시지 인증 데이터를 첨부하는 공세 모드를 적용하여 보안 DNP 데이터를 생성하는 기능을 수행하는 보안 통신 장치를 이용하여 양방향 데이터 인증을 수행함으로써, 보다 안전하게 SCADA 통신 네트워크를 통제할 수 있고 DNP 데이터의 무결성 보장을 위한 보안 기능 수행에 따른 전송시간 지연을 최소화할 수 있는 SCADA 통신 네트워크 보안을 위한 보안 통신 장치 및 방법을 제공하는 것이다.
본 발명의 일 실시예에 따른, 마스터(master) 및 상기 마스터의 하위 노드인 아웃스테이션(outstation) 간의 SCADA(Supervisory Control And Data Acquisition) 통신 네트워크 보안을 위한 보안 통신 장치는, 상기 마스터 또는 상기 아웃스테이션으로부터 DNP(Distributed Network Protocol) 제어 명령 또는 DNP 응답을 포함하는 DNP 데이터를 수신하는 제1 데이터 수신부; 상기 DNP 데이터에 DNP 표준 보안 정책에 대응하는 DNP 메시지 인증 데이터를 첨부하는 공세 모드를 적용하여 보안 DNP 데이터를 생성하는 공세 모드 구성부; 및 상기 DNP 데이터 또는 상기 보안 DNP 데이터를 다른 보안 통신 장치로 송신하는 제1 데이터 송신부를 포함하고, 상기 제1 데이터 수신부에서 수신된 DNP 데이터의 기능 코드를 분석하여 상기 DNP 데이터가 전력 공급과 관련된 크리티컬(critical) DNP 데이터에 해당하는지 여부를 판단하여, 상기 DNP 데이터가 크리티컬 DNP 데이터인 경우에는 상기 DNP 데이터를 상기 공세 모드 구성부로 전달하고, 아닌 경우에는 상기 DNP 데이터를 상기 제1 데이터 송신부로 전달하는 데이터 판단부를 더 포함하는 것일 수 있다.
상기 공세 모드 구성부는, 상기 DNP 제어 명령 또는 상기 DNP 응답의 기능 코드(function code)에 따라 분류된 등급별 제어용 세션키 또는 등급별 감시용 세션키를 이용하여 상기 DNP 메시지 인증 데이터를 생성할 수 있다.
상기 공세 모드 구성부는, 상기 DNP 데이터의 프레임 별로 공세 모드를 적용하여 보안 DNP 데이터를 생성할 수 있다.
삭제
상기 데이터 판단부는, 상기 제1 데이터 수신부에서 수신된 DNP 데이터가 상기 마스터로부터 수신된 DNP 제어 명령을 포함하는 DNP 데이터일 때, 상기 DNP 제어 명령이 인가된 SCADA 서버로부터 수신된 것인지 여부를 판단하여, 상기 DNP 제어 명령이 인가된 SCADA 서버로부터 수신된 경우에는 상기 제1 데이터 수신부에서 수신된 DNP 데이터가 크리티컬 DNP 데이터에 해당하는지 여부를 판단하고, 아닌 경우에는 상기 DNP 데이터의 패킷(packet)을 드롭(drop)할 수 있다.
상기 SCADA 통신 네트워크 보안을 위한 보안 통신 장치는, 다른 보안 통신 장치로부터 DNP 데이터 또는 보안 DNP 데이터를 수신하는 제2 데이터 수신부; 상기 제2 데이터 수신부에서 수신된 데이터가 보안 DNP 데이터인 경우, 상기 보안 DNP 데이터에 첨부된 DNP 메시지 인증 데이터가 상기 DNP 표준 보안 정책에 대응하는지 여부를 검증하는 보안 DNP 데이터 검증부; 상기 보안 DNP 데이터 검증부에서 상기 DNP 메시지 인증 데이터가 상기 DNP 표준 보안 정책에 대응하는 것으로 검증되는 경우, 상기 보안 DNP 데이터를 상기 DNP 데이터로 재구성하는 데이터 재구성부; 및 상기 제2 데이터 수신부로부터 수신된 DNP 데이터 또는 상기 데이터 재구성부에서 재구성된 DNP 데이터를 상기 마스터 또는 상기 아웃스테이션으로 송신하는 제2 데이터 송신부를 더 포함할 수 있다.
상기 SCADA 통신 네트워크 보안을 위한 보안 통신 장치는, 상기 보안 DNP 데이터 검증부에서 검증된 상기 보안 DNP 데이터가 상기 마스터로부터 수신된 DNP 제어 명령을 포함하는 보안 DNP 데이터일 때, 제어 명령 위변조 탐지 시그너쳐(signature) 데이터베이스에 기반하여 상기 보안 DNP 데이터의 위변조 여부를 탐지하고, 정상인 경우에는 상기 보안 DNP 데이터를 상기 데이터 재구성부로 전달하고, 위변조가 탐지된 경우에는 상기 보안 DNP 데이터의 패킷을 드롭하는 제어 명령 위변조 탐지부를 더 포함할 수 있다.
본 발명의 일 실시예에 따른, 마스터(master) 및 상기 마스터의 하위 노드인 아웃스테이션(outstation) 간의 SCADA(Supervisory Control And Data Acquisition) 통신 네트워크 보안을 위한 보안 통신 방법은, (a) 마스터 보안 통신 장치가 상기 마스터로부터 DNP(Distributed Network Protocol) 제어 명령을 포함하는 DNP 제어 명령 데이터를 수신하는 단계; (b) 상기 DNP 제어 명령 데이터에 DNP 표준 보안 정책에 대응하는 DNP 제어 명령 인증 데이터를 첨부하는 공세 모드를 적용하여 보안 DNP 제어 명령 데이터를 생성하는 단계; 및 (c) 상기 DNP 제어 명령 데이터 또는 상기 보안 DNP 제어 명령 데이터를 슬레이브 보안 통신 장치로 송신하는 단계를 포함하고, (d) 상기 (a) 단계에서 수신된 DNP 제어 명령 데이터의 기능 코드를 분석하여 상기 DNP 제어 명령 데이터가 전력 공급과 관련된 크리티컬(critical) DNP 데이터에 해당하는지 여부를 판단하는 단계를 더 포함하되, 상기 DNP 제어 명령 데이터가 크리티컬 DNP 데이터인 경우에는 상기 (b) 단계를 수행하고, 아닌 경우에는 상기 (c) 단계를 수행하는 것일 수 있다.
상기 (b) 단계는, 상기 DNP 제어 명령의 기능 코드(function code)에 따라 분류된 등급별 제어용 세션키를 이용하여 상기 DNP 제어 명령 인증 데이터를 생성하는 단계를 포함할 수 있다.
상기 (b) 단계는, 상기 DNP 제어 명령 데이터의 프레임 별로 공세 모드를 적용하여 보안 DNP 제어 명령 데이터를 생성하는 단계를 포함할 수 있다.
삭제
상기 SCADA 통신 네트워크 보안을 위한 보안 통신 방법은, (e) 상기 DNP 제어 명령이 인가된 SCADA 서버로부터 수신된 것인지 여부를 판단하는 단계를 더 포함할 수 있다. 이 때, 상기 DNP 제어 명령이 인가된 SCADA 서버로부터 수신된 경우에는 상기 (d) 단계를 수행하고, 아닌 경우에는 상기 DNP 제어 명령 데이터의 패킷(packet)을 드롭(drop)하는 단계를 수행할 수 있다.
상기 SCADA 통신 네트워크 보안을 위한 보안 통신 방법은, (f) 상기 슬레이브 보안 통신 장치가 상기 마스터 보안 통신 장치로부터 DNP 제어 명령 데이터 또는 보안 DNP 제어 명령 데이터를 수신하는 단계; (g) 상기 (f) 단계에서 수신된 데이터가 보안 DNP 제어 명령 데이터인 경우, 상기 보안 DNP 제어 명령 데이터에 첨부된 DNP 제어 명령 인증 데이터가 상기 DNP 표준 보안 정책에 대응하는지 여부를 검증하는 단계; (h) 상기 DNP 제어 명령 인증 데이터가 상기 DNP 표준 보안 정책에 대응하는 것으로 검증되는 경우, 상기 보안 DNP 제어 명령 데이터를 상기 DNP 제어 명령 데이터로 재구성하는 단계; 및 (i) 상기 (f) 단계에서 수신된 DNP 제어 명령 데이터 또는 상기 (h) 단계에서 재구성된 DNP 제어 명령 데이터를 상기 아웃스테이션으로 송신하는 단계를 더 포함할 쉬 있다.
상기 SCADA 통신 네트워크 보안을 위한 보안 통신 방법은, (j) 제어 명령 위변조 탐지 시그너쳐(signature) 데이터베이스에 기반하여 상기 (g) 단계에서 검증된 상기 보안 DNP 제어 명령 데이터의 위변조 여부를 탐지하는 단계를 더 포함할 수 있다. 이 때, 상기 보안 DNP 제어 명령 데이터가 정상인 경우에는 상기 (h) 단계를 수행하고, 위변조가 탐지된 경우에는 상기 보안 DNP 제어 명령 데이터의 패킷을 드롭하는 단계를 수행할 수 있다.
본 발명의 다른 실시예에 따른, 마스터(master) 및 상기 마스터의 하위 노드인 아웃스테이션(outstation) 간의 SCADA(Supervisory Control And Data Acquisition) 통신 네트워크 보안을 위한 보안 통신 방법은, (k) 슬레이브 보안 통신 장치가 상기 아웃스테이션으로부터 DNP(Distributed Network Protocol) 응답을 포함하는 DNP 응답 데이터를 수신하는 단계; (l) 상기 DNP 응답 데이터에 DNP 표준 보안 정책에 대응하는 DNP 응답 인증 데이터를 첨부하는 공세 모드를 적용하여 보안 DNP 응답 데이터를 생성하는 단계; 및 (m) 상기 DNP 응답 데이터 또는 상기 보안 DNP 응답 데이터를 마스터 보안 통신 장치로 송신하는 단계를 포함하고, (n) 상기 (k) 단계에서 수신된 DNP 응답 데이터의 기능 코드를 분석하여 상기 DNP 응답 데이터가 전력 공급과 관련된 크리티컬(critical) DNP 데이터에 해당하는지 여부를 판단하는 단계를 더 포함하되, 상기 DNP 응답 데이터가 크리티컬 DNP 데이터인 경우에는 상기 (l) 단계를 수행하고, 아닌 경우에는 상기 (m) 단계를 수행하는 것일 수 있다.
상기 (l) 단계는, 상기 DNP 응답 데이터의 기능 코드(function code)에 따라 분류된 등급별 감시용 세션키를 이용하여 상기 DNP 응답 인증 데이터를 생성하는 단계를 포함할 수 있다.
상기 (l) 단계는, 상기 DNP 응답 데이터의 프레임 별로 공세 모드를 적용하여 보안 DNP 응답 데이터를 생성하는 단계를 포함할 수 있다.
상기 SCADA 통신 네트워크 보안을 위한 보안 통신 방법은, (n) 상기 (k) 단계에서 수신된 DNP 응답 데이터의 기능 코드를 분석하여 상기 DNP 응답 데이터가 전력 공급과 관련된 크리티컬(critical) DNP 데이터에 해당하는지 여부를 판단하는 단계를 더 포함할 수 있다. 이 때, 상기 DNP 응답 데이터가 크리티컬 DNP 데이터인 경우에는 상기 (l) 단계를 수행하고, 아닌 경우에는 상기 (m) 단계를 수행할 수 있다.
상기 SCADA 통신 네트워크 보안을 위한 보안 통신 방법은, (o) 상기 마스터 보안 통신 장치가 상기 슬레이브 보안 통신 장치로부터 DNP 응답 데이터 또는 보안 DNP 응답 데이터를 수신하는 단계; (p) 상기 (o) 단계에서 수신된 데이터가 보안 DNP 응답 데이터인 경우, 상기 보안 DNP 응답 데이터에 첨부된 DNP 응답 인증 데이터가 상기 DNP 표준 보안 정책에 대응하는지 여부를 검증하는 단계; (q) 상기 DNP 응답 인증 데이터가 상기 DNP 표준 보안 정책에 대응하는 것으로 검증되는 경우, 상기 보안 DNP 응답 데이터를 상기 DNP 응답 데이터로 재구성하는 단계; 및 (r) 상기 (o) 단계에서 수신된 DNP 응답 데이터 또는 상기 (q) 단계에서 재구성된 DNP 응답 데이터를 상기 마스터로 송신하는 단계를 더 포함할 수 있다.
본 발명의 일 측면에 따르면, DNP 데이터에 DNP 표준 보안 정책에 대응하는 DNP 메시지 인증 데이터를 첨부하는 공세 모드를 적용하여 보안 DNP 데이터를 생성하는 기능을 수행하는 보안 통신 장치를 이용하여 양방향 데이터 인증을 수행함으로써, 보다 안전하게 SCADA 통신 네트워크를 통제할 수 있고 DNP 데이터의 무결성 보장을 위한 보안 기능 수행에 따른 전송시간 지연을 최소화할 수 있는 SCADA 통신 네트워크 보안을 위한 보안 통신 장치 및 방법을 제공할 수 있다.
도 1은 DNP 표준에서 권고하는 종래의 인증 방식인 챌린지-응답 방식에 대한 프로토콜 흐름도이다.
도 2는 본 발명을 실시하기 위한 전체 시스템의 구성의 일 예를 도시한 도면이다.
도 3은 DNP 표준에서 권고하는 종래의 챌린지-응답 방식을 이용한 SCADA 통신 네트워크 보안을 위한 보안 통신 장치의 인증 및 통제방식에 대한 프로토콜 흐름도이다.
도 4는 본 발명의 일 실시예에서 적용되는 공세 모드 인증 방식에 대한 프로토콜 흐름도이다.
도 5는 본 발명의 일 실시예에서 적용되는 공세 모드를 이용한 SCADA 통신 네트워크 보안을 위한 보안 통신 장치의 인증 및 통제 방식에 대한 프로토콜 흐름도이다.
도 6은 본 발명의 일 실시예에 따른 SCADA 통신 네트워크 보안을 위한 보안 통신 장치의 구성에 대한 블록도이다.
도 7는 본 발명의 일 실시예에 따른 SCADA 통신 네트워크 보안을 위한 마스터 보안 통신 장치의 구성에 대한 블록도이다.
도 8은 본 발명의 일 실시예에 따른 SCADA 통신 네트워크 보안을 위한 슬레이브 보안 통신 장치의 구성에 대한 블록도이다.
도 9는 마스터로부터 데이터를 수신한 마스터 보안 통신 장치에서의 메시지 인증 및 통제 방법의 일 예를 설명하는 흐름도이다.
도 10은 마스터 보안통신장치로부터 데이터를 수신한 슬레이브 보안 통신 장치에서의 메시지 검증 및 위변조 탐지 방법의 일 예를 설명하는 흐름도이다.
도 11은 아웃스테이션으로부터 데이터를 수신한 슬레이브 보안 통신 장치에서의 메시지 인증 및 통제 방법의 일 예를 설명하는 흐름도이다.
도 12는 슬레이브 보안 통신 장치로부터 데이터를 수신한 마스터 보안통신장치에서의 메시지 검증 방법의 일 예를 설명하는 흐름도이다.
본 발명을 첨부된 도면을 참조하여 상세히 설명하면 다음과 같다. 여기서, 반복되는 설명, 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능, 및 구성에 대한 상세한 설명은 생략한다. 본 발명의 실시형태는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위해서 제공되는 것이다. 따라서, 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.
도 2는 본 발명을 실시하기 위한 전체 시스템의 구성의 일 예를 도시한 도면이다.
도 2를 참조하면, 본 발명의 일 실시예에 따른 SCADA 통신 네트워크 보안을 위한 보안 통신 시스템은 마스터(10), 상기 마스터(10)의 하위 노드인 아웃스테이션(20), 상기 마스터(10)와 아웃스테이션(20) 간 SCADA 통신 네트워크(30)를 통해 전송되는 DNP(Distribute Network Protocol) 데이터에 대하여 DNP 데이터 인증 기능 및 위변조 탐지 기능을 제공하기 위한 마스터 보안 통신 장치(110)와 슬레이브 보안 통신 장치(120)를 포함하여 구성될 수 있다.
본 발명의 일 실시예에 따른 SCADA 통신 네트워크 보안을 위한 보안 통신 시스템에 따르면, 마스터(10)로부터 DNP 제어 명령(request)을 포함하는 DNP 제어 명령 데이터가 마스터 보안 통신 장치(110)로 송신되면, 마스터 보안 통신 장치(110)에서 DNP 제어 명령 데이터가 분석되고 공세 모드로 메시지 인증을 수행하여 보안 DNP 제어 명령 데이터를 생성한다. 생성된 보안 DNP 제어 명령 데이터는 SCADA 통신 네트워크(30)를 통해 슬레이브 보안 통신 장치(120)로 전송되며 슬레이브 보안 통신 장치(120)는 보안 DNP 제어 명령 데이터에 대한 검증을 수행하고 위변조 여부를 탐지한 후 아웃스테이션(20)으로 전송한다.
한편, 아웃스테이션(20)으로부터 DNP 응답(response)을 포함하는 DNP 응답 데이터가 슬레이브 보안 통신 장치(120)로 송신되면, 슬레이브 보안 통신 장치(120)에서 DNP 응답 데이터가 분석되고 공세 모드로 메시지 인증을 수행하여 보안 DNP 응답 데이터를 생성한다. SCADA 통신 네트워크(30)를 통해 마스터 보안 통신 장치(110)로 전송되며 마스터 보안 통신 장치(110)는 보안 DNP 응답 데이터에 대한 검증을 수행하고 마스터(10)로 전송한다.
본 발명의 일 실시예에 따른 SCADA 통신 네트워크 보안을 위한 보안 통신 시스템은 도 2에 도시한 바와 같이 SCADA 통신 네트워크(30)에서 마스터(10)와 마스터(10)의 하위 노드인 아웃스테이션(20) 상호 간에 SCADA 통신 네트워크(30)를 통해 전송되는 DNP 데이터를 보호하기 위한 보안 통신 장치를 별도로 구성하여 DNP 데이터 보호를 위한 기존 전력 제어시스템 변경은 최소화화였다. 또한, 본 발명의 일 실시예에 따른 SCADA 통신 네트워크 보안을 위한 보안 통신 시스템은 보안 기능 오작동시에도 통신 회선 절체 및 보안 통신 장치 제거 등의 간단한 동작만으로 DNP 제어명령 송수신이 원활히 이뤄질 수 있도록 할 수 있다.
그러나 보안 기능 수행을 위해 도 2와 같은 SCADA 통신 네트워크 보안을 위한 보안 통신 시스템에 DNP 3.0 보안 인증 표준에서 제시하는 챌린지-응답 방식(도 1 참조)의 인증 구조를 제어 명령과 이에 대한 응답에 모두 적용할 경우에는 전력시스템의 정상적인 운영에 문제가 발생할 수 있는데 이는 도 3을 참조하여 설명하도록 한다.
도 3은 DNP 표준에서 권고하는 종래의 챌린지-응답 방식을 이용한 SCADA 통신 네트워크 보안을 위한 보안 통신 장치의 인증 및 통제방식에 대한 프로토콜 흐름도이다.
도 3을 참조하면, 도 2에서 설명한 SCADA 통신 네트워크 보안을 위한 보안 통신 시스템에 챌린지-응답 방식(도 1 참조)의 인증 구조를 제어 명령과 이에 대한 응답에 모두 적용할 경우 통신 흐름을 도시하고 있다. 이 때, 보안 통신 시스템은 별도의 보안통신장치가 보안 기능을 수행하기 때문에, 인증 챌린지, 인증 응답 등의 송수신되는 데이터가 많아지게 되며, 전력설비에 대한 제어 명령을 수행하고 그 결과를 확인하기 위한 절차가 지나치게 복잡하게 된다. 이에 따라, DNP 데이터의 전송 시간이 증가하게 되고 최악의 경우 전력 제어 시스템이 정상적인 데이터를 수신하였다 하더라도 시스템에서 지정한 최대 전송 시간을 초과하게 되어 해당 데이터를 비정상 데이터로 처리하게 되어 전력 시스템의 정상적인 운영에 문제가 발생할 수 있다.
이와 같은 문제점을 해결하기 위해서는 도 2에서 설명한 SCADA 통신 네트워크 보안을 위한 보안 통신 시스템에 제어 명령과 응답 모두에 대해 챌린지-응답 방식의 인증 모드를 적용함으로써 발생하는 지연 시간을 최소화하기 위한 인증 방법을 고안할 필요가 있다. 이를 위해, 일 실시예에서, SCADA 통신 네트워크 보안을 위한 보안 통신 시스템은 DNP 메시지 무결성 보장을 위한 인증 데이터를 추가한 보안 DNP 데이터를 공세 모드로 전달함으로써 보안 기능 수행 시간을 단축할 수 있다. 공세 모드는 아래의 도 4를 참조하여 설명하도록 한다.
도 4는 본 발명의 일 실시예에서 적용되는 공세 모드 인증 방식에 대한 프로토콜 흐름도이다.
도 4를 참조하면, 공세 모드는 챌린지-응답 모드에서 발생하는 지연과 오버헤드를 제거하기 위한 인증 방식으로, 마스터(10)가 인증을 필요로 하는 제어 명령 데이터에 인증 응답(Authentication Response)을 포함하는 인증 데이터를 첨부하여 전송하는 방식이다. 공세 모드에서는 일반적인 메시지 전송에서의 챌린지-응답 절차를 따로 수행하지 않으므로, 송수신되는 데이터가 적기 때문에 보안 기능 수행에 따른 전송시간 지연을 최소화할 수 있다.
도 5는 본 발명의 일 실시예에서 적용되는 공세 모드를 이용한 SCADA 통신 네트워크 보안을 위한 보안 통신 장치의 인증 및 통제 방식에 대한 프로토콜 흐름도이다.
본 발명의 일 실시예에 따른 SCADA 통신 네트워크 보안을 위한 보안 통신 장치에서 메시지 인증 및 위변조 탐지는, 마스터(10)에서 DNP 제어 명령 데이터가 도착하면 마스터 보안 통신 장치(110)에서는 DNP 제어 명령 데이터를 분석하여 SCADA 서버별 크리티컬(critical) DNP 데이터인지 판단한다. 크리티컬 DNP 데이터는 전력 공급과 관련된 제어 명령 또는 응답으로서 전달에 이상이 발생할 경우 전력 공급에 차질을 빚을 수 있는 데이터를 말한다. 이 때, 크리티컬 DNP 데이터인데 불구하고 인가되지 않은 SCADA 서버에서 제어 명령이 내려온 경우 해당 데이터 패킷을 드롭(drop)한다. 인가된 SCADA 서버로부터 수신된 제어 명령일지라도 허가된 기능 코드가 아닌 경우에도 패킷을 드롭한다. 인가된 SCADA 서버의 허가된 기능 코드로 구성된 크리티컬 DNP 데이터인 경우 공세 모드로 보안 DNP 제어 명령 데이터를 구성하여 즉, DNP 제어 명령 데이터에 DNP 메시지 인증 데이터를 포함하여 보안 DNP 제어 명령 데이터를 구성하여 SCADA 통신 네트워크(30)를 통하여 슬레이브 보안 통신 장치(120)로 전송한다. 슬레이브 보안 통신 장치(120)에서는 DNP 제어 명령 데이터에 대한 DNP 메시지 인증 데이터를 검증한 후 제어 명령 위변조 탐지 시그너쳐 데이터베이스에 기반하여 DNP 제어 명령 데이터 위변조 여부를 탐지하고 정상인 경우 DNP 제어 명령 데이터를 아웃스테이션(20)으로 전송하고 위변조가 탐지되면 패킷을 드롭한다.
한편, 상기 아웃스테이션(20)에서 제어 명령에 대한 DNP 응답 데이터가 도착하면 슬레이브 보안 통신 장치(120)에서는 DNP 응답 데이터를 분석하여 SCADA 서버별 크리티컬 DNP 데이터인지 판단한다. 인가된 SCADA 서버의 크리티컬 DNP 데이터인 경우 공세 모드로 보안 DNP 응답 데이터를 구성하여 즉, DNP 응답 데이터에 DNP 메시지 인증 데이터를 포함하여 보안 DNP 응답 데이터를 구성하여 SCADA 통신 네트워크(30)를 통하여 마스터 보안 통신 장치(110)로 전송한다. 마스터 보안 통신 장치(110)에서는 DNP 응답 데이터에 대한 DNP 메시지 인증 데이터를 검증한 후 DNP 응답 데이터를 마스터(10)로 전송한다.
도 6은 본 발명의 일 실시예에 따른 SCADA 통신 네트워크 보안을 위한 보안 통신 장치의 구성에 대한 블록도이다.
도 6을 참조하면, 본 발명의 일 실시예에 따른 SCADA 통신 네트워크 보안을 위한 보안 통신 장치(100)는 제1 데이터 수신부(101), 데이터 판단부(102), 공세 모드 구성부(103), 제1 데이터 송신부(104), 제2 데이터 수신부(105), 보안 DNP 데이터 검증부(106), 제어 명령 위변조 탐지부(107), 데이터 재구성부(108) 및 제2 데이터 송신부(109)를 포함하여 구성될 수 있다. 도 6에 도시된 SCADA 통신 네트워크 보안을 위한 보안 통신 장치(100)는 일 실시예에 따른 것이고, 그 구성요소들이 도 6에 도시된 실시예에 한정되는 것은 아니며, 필요에 따라 일부 구성요소가 부가, 변경 또는 삭제될 수 있다.
제1 데이터 수신부(101)는 마스터(10) 또는 아웃스테이션(20)으로부터 DNP 제어 명령 또는 DNP 응답을 포함하는 DNP 데이터를 수신한다. 즉, 보안 통신 장치(100)가 마스터 보안 통신 장치인 경우에는 마스터(10)로부터 상기 DNP 데이터를 수신하고, 보안 통신 장치(100)가 슬레이브 보안 통신 장치인 경우에는 아웃스테이션(20)으로부터 상기 DNP 데이터를 수신한다.
데이터 판단부(102)는 제1 데이터 수신부(101)에서 수신된 DNP 데이터의 기능 코드를 분석하여 상기 DNP 데이터가 전력 공급과 관련된 크리티컬 DNP 데이터에 해당하는지 여부를 판단하여, 상기 DNP 데이터가 크리티컬 DNP 데이터인 경우에는 상기 DNP 데이터를 공세 모드 구성부(103)로 전달하고, 아닌 경우에는 상기 DNP 데이터를 상기 제1 데이터 송신부(104)로 전달한다. DNP 데이터의 기능 코드는 해당 DNP 데이터의 기능을 기록한 코드로서, DNP 데이터가 수행하는 기능을 통하여 해당 DNP 데이터가 전력 공급에 미치는 영향을 알아낼 수 있어, 기능 코드를 기초로 DNP 데이터의 중요도를 획득할 수 있다.
또한, 데이터 판단부(102)는 제1 데이터 수신부(101)에서 수신된 DNP 데이터가 마스터(10)로부터 수신된 DNP 제어 명령을 포함하는 DNP 데이터일 때, 상기 DNP 제어 명령이 인가된 SCADA 서버로부터 수신된 것인지 여부를 판단하여, 상기 DNP 제어 명령이 인가된 SCADA 서버로부터 수신된 경우에는 제1 데이터 수신부(101)에서 수신된 DNP 데이터가 크리티컬 DNP 데이터에 해당하는지 여부를 판단하고, 아닌 경우에는 상기 DNP 데이터의 패킷을 드롭할 수 있다.
공세 모드 구성부(103)는 DNP 데이터에 DNP 표준 보안 정책에 대응하는 DNP 메시지 인증 데이터를 첨부하는 공세 모드를 적용하여 보안 DNP 데이터를 생성한다. 이 때, 공세 모드 구성부(103)는 상기 DNP 제어 명령 또는 상기 DNP 응답의 기능 코드에 따라 분류된 등급별 제어용 세션키 또는 등급별 감시용 세션키를 이용하여 상기 DNP 메시지 인증 데이터를 생성할 수 있다. 또한, 공세 모드 구성부(103)는 상기 DNP 데이터의 프레임 별로 공세 모드를 적용하여 보안 DNP 데이터를 생성할 수 있다.
제1 데이터 송신부(104)는 상기 DNP 데이터 또는 상기 보안 DNP 데이터를 다른 보안 통신 장치(100')로 송신한다. 즉, 보안 통신 장치(100)가 마스터 보안 통신 장치인 경우에는 상기 DNP 데이터 또는 상기 보안 DNP 데이터를 슬레이브 보안 통신 장치로 송신하고, 보안 통신 장치(100)가 슬레이브 보안 통신 장치인 경우에는 상기 DNP 데이터 또는 상기 보안 DNP 데이터를 마스터 보안 통신 장치로 송신한다. 이 때, 제1 데이터 송신부(104)는 SCADA 통신 네트워크를 통하여 상기 DNP 데이터 또는 상기 보안 DNP 데이터를 다른 보안 통신 장치(100')로 송신할 수 있다.
제2 데이터 수신부(105)는 다른 보안 통신 장치로부터 DNP 데이터 또는 보안 DNP 데이터를 수신한다. 즉, 보안 통신 장치(100)가 슬레이브 보안 통신 장치인 경우에는 마스터 보안 통신 장치로부터 상기 DNP 데이터 또는 상기 보안 DNP 데이터를 수신하고, 보안 통신 장치(100)가 슬레이브 보안 통신 장치인 경우에는 마스터 보안 통신 장치로부터 상기 DNP 데이터 또는 상기 보안 DNP 데이터를 수신한다.
보안 DNP 데이터 검증부(106)는 제2 데이터 수신부(105)에서 수신된 데이터가 보안 DNP 데이터인 경우, 상기 보안 DNP 데이터에 첨부된 DNP 메시지 인증 데이터가 상기 DNP 표준 보안 정책에 대응하는지 여부를 검증한다.
제어 명령 위변조 탐지부(107)는 보안 DNP 데이터 검증부(106)에서 검증된 상기 보안 DNP 데이터가 마스터(10)로부터 수신된 DNP 제어 명령을 포함하는 보안 DNP 데이터일 때, 제어 명령 위변조 탐지 시그너쳐(signature) 데이터베이스에 기반하여 상기 보안 DNP 데이터의 위변조 여부를 탐지하고, 정상인 경우에는 상기 보안 DNP 데이터를 상기 데이터 재구성부로 전달하고, 위변조가 탐지된 경우에는 상기 보안 DNP 데이터의 패킷을 드롭한다. 제어 명령 위변조 탐지 시그너쳐 데이터베이스는 DNP 데이터의 불법 명령, 방해 공격, 위변조 등을 탐지하기 위하여 DNP 데이터 링크 및 응용 계층에 대한 취약성 등을 기록한 데이터베이스이다.
데이터 재구성부(108)는 보안 DNP 데이터 검증부(106)에서 상기 DNP 메시지 인증 데이터가 상기 DNP 표준 보안 정책에 대응하는 것으로 검증되는 경우, 상기 보안 DNP 데이터를 상기 DNP 데이터로 재구성한다.
제2 데이터 송신부(109)는 제2 데이터 수신부(105)로부터 수신된 DNP 데이터 또는 상기 데이터 재구성부(108)에서 재구성된 DNP 데이터를 마스터(10) 또는 아웃스테이션(20)으로 송신한다. 즉, 보안 통신 장치(100)가 마스터 보안 통신 장치인 경우에는 상기 DNP 데이터를 마스터(10)로 송신하고, 보안 통신 장치(100)가 슬레이브 보안 통신 장치인 경우에는 상기 DNP 데이터를 아웃스테이션(20)으로 송신한다.
도 7는 본 발명의 일 실시예에 따른 SCADA 통신 네트워크 보안을 위한 마스터 보안 통신 장치의 구성에 대한 블록도이다.
도 7을 참조하면, 본 발명의 일 실시예에 따른 SCADA 통신 네트워크 보안을 위한 마스터 보안 통신 장치(110)는 마스터(10) 및 슬레이브 보안 통신 장치(120)와 연결되어 있다. 또한, 마스터 보안 통신 장치(110)는 제1 데이터 수신부(111), 데이터 판단부(112), 공세 모드 구성부(113), 제1 데이터 송신부(114), 제2 데이터 수신부(115), 보안 DNP 데이터 검증부(116), 데이터 재구성부(118) 및 제2 데이터 송신부(119)를 포함하여 구성될 수 있다. 도 7에 도시된 SCADA 통신 네트워크 보안을 위한 마스터 보안 통신 장치(100)는 일 실시예에 따른 것이고, 그 구성요소들이 도 7에 도시된 실시예에 한정되는 것은 아니며, 필요에 따라 일부 구성요소가 부가, 변경 또는 삭제될 수 있다.
도 7에 따르면, 본 발명의 일 실시예에 따른 SCADA 통신 네트워크 보안을 위한 마스터 보안 통신 장치(110)는 제어 명령 위변조 탐지부를 포함하고 있지 아니한데, 이는 DNP 제어 명령 데이터 의 위변조 여부의 탐지가 슬레이브 보안 통신 장치(120)에서 이루어지므로 마스터 보안 통신 장치(110)에서는 DNP 제어 명령 데이터의 위변조 여부의 탐지를 중복으로 수행할 필요가 없기 때문이다.
도 8은 본 발명의 일 실시예에 따른 SCADA 통신 네트워크 보안을 위한 슬레이브 보안 통신 장치의 구성에 대한 블록도이다.
도 8을 참조하면, 본 발명의 일 실시예에 따른 SCADA 통신 네트워크 보안을 위한 슬레이브 보안 통신 장치(120)는 마스터 보안 통신 장치(110) 및 아웃스테이션(20)과 연결되어 있다. 또한, 슬레이브 보안 통신 장치(120)는 제1 데이터 수신부(121), 데이터 판단부(122), 공세 모드 구성부(123), 제1 데이터 송신부(124), 제2 데이터 수신부(125), 보안 DNP 데이터 검증부(126), 제어 명령 위변조 탐지부(127), 데이터 재구성부(128) 및 제2 데이터 송신부(129)를 포함하여 구성될 수 있다. 도 8에 도시된 SCADA 통신 네트워크 보안을 위한 슬레이브 보안 통신 장치(120)는 일 실시예에 따른 것이고, 그 구성요소들이 도 8에 도시된 실시예에 한정되는 것은 아니며, 필요에 따라 일부 구성요소가 부가, 변경 또는 삭제될 수 있다.
슬레이브 보안 통신 장치(120)의 데이터 판단부(122)에서는 DNP 데이터가 인가된 SCADA 서버로부터 수신된 것인지 여부를 판단하지 않는데, 이는 마스터 보안 통신 장치(110)에서 비인가된 SCADA 서버로부터의 제어 명령을 포함하는 DNP 데이터의 패킷은 드롭되므로, 슬레이브 보안 통신 장치(120)에서는 DNP 데이터가 인가된 SCADA 서버로부터 수신된 것인지 여부를 판단할 필요가 없기 때문이다.
도 9는 마스터로부터 데이터를 수신한 마스터 보안 통신 장치에서의 메시지 인증 및 통제 방법의 일 예를 설명하는 흐름도이다.
도 9를 참조하면, 먼저 마스터 보안 통신 장치(110)가 TCP/IP를 통하여 마스터(10)로부터 DNP 제어 명령을 포함하는 DNP 제어 명령 데이터를 수신(S100)하면 DNP 제어 명령 데이터를 분석(S110)하고 상기 DNP 제어 명령이 인가된 SCADA 서버로부터 수신된 것인지 여부를 판단(S120)한다. 단계(S120)에서는 상기 DNP 제어 명령이 인가된 SCADA 서버로부터 수신된 경우에는 DNP 제어 명령 데이터가 전력 공급과 관련된 크리티컬 DNP 데이터에 해당하는지 여부를 판단(S130)하고, 아닌 경우에는 경고 후 상기 DNP 제어 명령 데이터의 패킷을 드롭(S160)한다. 단계(S130)에서는 상기 DNP 제어 명령 데이터가 크리티컬 DNP 데이터인 경우에는 프레임 별로 공세 모드를 적용하여 보안 DNP 제어 명령 데이터를 생성(S140)한다. 단계(S140)에서는 DNP 제어 명령 데이터에 대하여 등급별 제어용 세션키를 이용하여 MAC(Message Authentication Code)를 인증 데이터로 생성한 후 DNP 제어 명령 데이터 뒤에 인증 데이터를 추가함으로써 보안 DNP 제어 명령 데이터를 구성할 수 있다. 그리고, 단계(S140)에서 생성된 보안 DNP 제어 명령 데이터를 슬레이브 보안 통신 장치(120)로 전송(S150)한다. 이 때, 단계(S130)에서 상기 DNP 제어 명령 데이터가 크리티컬 DNP 데이터가 아닌 경우 인증 데이터를 추가하지 않고 원래의 DNP 제어 명령 데이터를 슬레이브 보안 통신 장치(120)로 전송(S150)한다.
도 10은 마스터 보안통신장치로부터 데이터를 수신한 슬레이브 보안 통신 장치에서의 메시지 검증 및 위변조 탐지 방법의 일 예를 설명하는 흐름도이다.
도 10을 참조하면, 먼저 슬레이브 보안 통신 장치(120)가 SCADA 통신 네트워크(30)를 통하여 마스터 보안 통신 장치(110)로부터 DNP 제어 명령 데이터 또는 보안 DNP 제어 명령 데이터를 수신(S200)하면 보안 DNP 제어 명령 데이터(공세 모드 DNP 제어 명령 데이터)인지 일반 DNP 제어 명령 데이터인지 판단(S210)한다. 공세 모드로 구성된 보안 DNP 제어 명령 데이터인 경우 등급별 제어용 세션키를 이용하여 보안 DNP 제어 명령 데이터에 대한 메시지 인증 값을 검증(S220)한다. 즉, 단계(S220)에서 보안 DNP 제어 명령 데이터에 첨부된 DNP 제어 명령 인증 데이터가 상기 DNP 표준 보안 정책에 대응하는지 여부를 검증한다.
보안 DNP 제어 명령 데이터가 검증되거나 일반 DNP 제어 명령 데이터인 경우 데이터를 분석하여 데이터의 위변조 및 공격을 탐지(S230)한다. 여기서, 위변조 여부 탐지(S230)에서는 제어 명령 위변조 탐지 시그너쳐 데이터베이스가 사용된다. 보안 DNP 제어 명령 데이터의 위변조 여부 탐지(S230)을 통하여 보안 DNP 제어 명령 데이터가 정상인지 여부를 판별(S240)하고 정상이 아닌 경우 패킷을 드롭시키고 경고를 발생(S260)하며 정상인 경우 보안 DNP 제어 명령 데이터를 DNP 제어 명령 데이터로 재구성(S250)하고 DNP 제어 명령 데이터를 아웃스테이션(20)으로 송신(S270)한다.
도 11은 아웃스테이션으로부터 데이터를 수신한 슬레이브 보안 통신 장치에서의 메시지 인증 및 통제 방법의 일 예를 설명하는 흐름도이다.
도 11을 참조하면, 먼저 슬레이브 보안 통신 장치(120)가 아웃스테이션(20)으로부터 DNP 응답을 포함하는 DNP 응답 데이터를 수신(S300)하면 DNP 응답 데이터를 분석(S310)하고 크리티컬 DNP 데이터인지 판단(S320)한다. 여기서, 마스터 보안 통신 장치(110)에서 비인가된 서버로부터의 제어 명령은 패킷을 드롭하므로 슬레이브 보안 통신 장치(120)에서는 크리티컬 DNP 데이터인지만 판별한다.
단계(S320)에서는 상기 DNP 응답 데이터가 크리티컬 DNP 데이터인 경우에는 프레임 별로 공세 모드를 적용하여 보안 DNP 응답 데이터를 생성(S330)한다. 단계(S330)에서는 DNP 응답 데이터에 대하여 등급별 감시용 세션키를 이용하여 MAC를 인증 데이터로 생성한 후 DNP 응답 데이터 뒤에 인증 데이터를 추가함으로써 보안 DNP 응답 데이터를 구성할 수 있다. 그리고, 단계(S330)에서 생성된 보안 DNP 응답 데이터를 마스터 보안 통신 장치(110)로 전송(S340)한다. 이 때, 단계(S320)에서 상기 DNP 응답 데이터가 크리티컬 DNP 데이터가 아닌 경우 인증 데이터를 추가하지 않고 원래의 DNP 응답 데이터를 마스터 보안 통신 장치(110)로 전송(S340)한다.
도 12는 슬레이브 보안 통신 장치로부터 데이터를 수신한 마스터 보안통신장치에서의 메시지 검증 방법의 일 예를 설명하는 흐름도이다.
도 12를 참조하면, 먼저 마스터 보안 통신 장치(110)가 SCADA 통신 네트워크(30)를 통하여 슬레이브 보안 통신 장치(120)로부터 DNP 응답 데이터 또는 보안 DNP 응답 데이터를 수신(S400)하면 보안 DNP 응답 데이터(공세 모드 DNP 응답 데이터)인지 일반 DNP 제어 명령 데이터인지 판단(S410)한다. 공세 모드로 구성된 보안 DNP 응답 데이터인 경우 등급별 감시용 세션키를 이용하여 보안 DNP 응답 데이터에 대한 메시지 인증 값을 검증(S420)한다. 즉, 단계(S420)에서 보안 DNP 응답 데이터에 첨부된 DNP 응답 인증 데이터가 상기 DNP 표준 보안 정책에 대응하는지 여부를 검증한다.
보안 DNP 응답 데이터가 검증되면, 보안 DNP 응답 데이터를 DNP 응답 데이터로 재구성(S430)하고, DNP 응답 데이터를 마스터(10)으로 송신(S440)한다. 여기서, 제어 명령에 대한 위변조 탐지가 슬레이브 보안 통신 장치(120)에서 이루어졌으므로 마스터 보안 통신 장치(110)에서 제어 명령 응답에 대한 검증만을 사용하고 위변조 공격에 대한 탐지는 사용하지 않는다.
전술한 SCADA 통신 네트워크 보안을 위한 보안 통신 방법은 도면에 제시된 흐름도를 참조로 하여 설명되었다. 간단히 설명하기 위하여 상기 방법은 일련의 블록들로 도시되고 설명되었으나, 본 발명은 상기 블록들의 순서에 한정되지 않고, 몇몇 블록들은 다른 블록들과 본 명세서에서 도시되고 기술된 것과 상이한 순서로 또는 동시에 일어날 수도 있으며, 동일한 또는 유사한 결과를 달성하는 다양한 다른 분기, 흐름 경로, 및 블록의 순서들이 구현될 수 있다. 또한, 본 명세서에서 기술되는 방법의 구현을 위하여 도시된 모든 블록들이 요구되지 않을 수도 있다.
이상 본 발명의 특정 실시예를 도시하고 설명하였으나, 본 발명의 기술사상은 첨부된 도면과 상기한 설명내용에 한정하지 않으며 본 발명의 사상을 벗어나지 않는 범위 내에서 다양한 형태의 변형이 가능함은 이 분야의 통상의 지식을 가진 자에게는 자명한 사실이며, 이러한 형태의 변형은, 본 발명의 정신에 위배되지 않는 범위 내에서 본 발명의 특허청구범위에 속한다고 볼 것이다.
10 마스터
100 보안 통신 장치
110 마스터 보안 통신 장치
120 슬레이브 보안 통신 장치
20 슬레이브
30 SCADA 통신 네트워크

Claims (19)

  1. 마스터(master) 및 상기 마스터의 하위 노드인 아웃스테이션(outstation) 간의 SCADA(Supervisory Control And Data Acquisition) 통신 네트워크 보안을 위한 보안 통신 장치에 있어서,
    상기 마스터 또는 상기 아웃스테이션으로부터 DNP(Distributed Network Protocol) 제어 명령 또는 DNP 응답을 포함하는 DNP 데이터를 수신하는 제1 데이터 수신부;
    상기 DNP 데이터에 DNP 표준 보안 정책에 대응하는 DNP 메시지 인증 데이터를 첨부하는 공세 모드를 적용하여 보안 DNP 데이터를 생성하는 공세 모드 구성부; 및
    상기 DNP 데이터 또는 상기 보안 DNP 데이터를 다른 보안 통신 장치로 송신하는 제1 데이터 송신부를 포함하고,
    상기 제1 데이터 수신부에서 수신된 DNP 데이터의 기능 코드를 분석하여 상기 DNP 데이터가 전력 공급과 관련된 크리티컬(critical) DNP 데이터에 해당하는지 여부를 판단하여, 상기 DNP 데이터가 크리티컬 DNP 데이터인 경우에는 상기 DNP 데이터를 상기 공세 모드 구성부로 전달하고, 아닌 경우에는 상기 DNP 데이터를 상기 제1 데이터 송신부로 전달하는 데이터 판단부를 더 포함하는 것을 특징으로 하는 SCADA 통신 네트워크 보안을 위한 보안 통신 장치.
  2. 청구항 1에 있어서,
    상기 공세 모드 구성부는,
    상기 DNP 제어 명령 또는 상기 DNP 응답의 기능 코드(function code)에 따라 분류된 등급별 제어용 세션키 또는 등급별 감시용 세션키를 이용하여 상기 DNP 메시지 인증 데이터를 생성하는 것을 특징으로 하는 SCADA 통신 네트워크 보안을 위한 보안 통신 장치.
  3. 청구항 1에 있어서,
    상기 공세 모드 구성부는,
    상기 DNP 데이터의 프레임 별로 공세 모드를 적용하여 보안 DNP 데이터를 생성하는 것을 특징으로 하는 SCADA 통신 네트워크 보안을 위한 보안 통신 장치.
  4. 삭제
  5. 청구항 1에 있어서,
    상기 데이터 판단부는,
    상기 제1 데이터 수신부에서 수신된 DNP 데이터가 상기 마스터로부터 수신된 DNP 제어 명령을 포함하는 DNP 데이터일 때, 상기 DNP 제어 명령이 인가된 SCADA 서버로부터 수신된 것인지 여부를 판단하여, 상기 DNP 제어 명령이 인가된 SCADA 서버로부터 수신된 경우에는 상기 제1 데이터 수신부에서 수신된 DNP 데이터가 크리티컬 DNP 데이터에 해당하는지 여부를 판단하고, 아닌 경우에는 상기 DNP 데이터의 패킷(packet)을 드롭(drop)하는 것을 특징으로 하는 SCADA 통신 네트워크 보안을 위한 보안 통신 장치.
  6. 청구항 1에 있어서,
    다른 보안 통신 장치로부터 DNP 데이터 또는 보안 DNP 데이터를 수신하는 제2 데이터 수신부;
    상기 제2 데이터 수신부에서 수신된 데이터가 보안 DNP 데이터인 경우, 상기 보안 DNP 데이터에 첨부된 DNP 메시지 인증 데이터가 상기 DNP 표준 보안 정책에 대응하는지 여부를 검증하는 보안 DNP 데이터 검증부;
    상기 보안 DNP 데이터 검증부에서 상기 DNP 메시지 인증 데이터가 상기 DNP 표준 보안 정책에 대응하는 것으로 검증되는 경우, 상기 보안 DNP 데이터를 상기 DNP 데이터로 재구성하는 데이터 재구성부; 및
    상기 제2 데이터 수신부로부터 수신된 DNP 데이터 또는 상기 데이터 재구성부에서 재구성된 DNP 데이터를 상기 마스터 또는 상기 아웃스테이션으로 송신하는 제2 데이터 송신부를 더 포함하는 것을 특징으로 하는 SCADA 통신 네트워크 보안을 위한 보안 통신 장치.
  7. 청구항 6에 있어서,
    상기 보안 DNP 데이터 검증부에서 검증된 상기 보안 DNP 데이터가 상기 마스터로부터 수신된 DNP 제어 명령을 포함하는 보안 DNP 데이터일 때, 제어 명령 위변조 탐지 시그너쳐(signature) 데이터베이스에 기반하여 상기 보안 DNP 데이터의 위변조 여부를 탐지하고, 정상인 경우에는 상기 보안 DNP 데이터를 상기 데이터 재구성부로 전달하고, 위변조가 탐지된 경우에는 상기 보안 DNP 데이터의 패킷을 드롭하는 제어 명령 위변조 탐지부를 더 포함하는 것을 특징으로 하는 SCADA 통신 네트워크 보안을 위한 보안 통신 장치.
  8. 마스터(master) 및 상기 마스터의 하위 노드인 아웃스테이션(outstation) 간의 SCADA(Supervisory Control And Data Acquisition) 통신 네트워크 보안을 위한 보안 통신 방법에 있어서,
    (a) 마스터 보안 통신 장치가 상기 마스터로부터 DNP(Distributed Network Protocol) 제어 명령을 포함하는 DNP 제어 명령 데이터를 수신하는 단계;
    (b) 상기 DNP 제어 명령 데이터에 DNP 표준 보안 정책에 대응하는 DNP 제어 명령 인증 데이터를 첨부하는 공세 모드를 적용하여 보안 DNP 제어 명령 데이터를 생성하는 단계; 및
    (c) 상기 DNP 제어 명령 데이터 또는 상기 보안 DNP 제어 명령 데이터를 슬레이브 보안 통신 장치로 송신하는 단계를 포함하고,
    (d) 상기 (a) 단계에서 수신된 DNP 제어 명령 데이터의 기능 코드를 분석하여 상기 DNP 제어 명령 데이터가 전력 공급과 관련된 크리티컬(critical) DNP 데이터에 해당하는지 여부를 판단하는 단계를 더 포함하되,
    상기 DNP 제어 명령 데이터가 크리티컬 DNP 데이터인 경우에는 상기 (b) 단계를 수행하고, 아닌 경우에는 상기 (c) 단계를 수행하는 것을 특징으로 하는 SCADA 통신 네트워크 보안을 위한 보안 통신 방법.
  9. 청구항 8에 있어서,
    상기 (b) 단계는,
    상기 DNP 제어 명령의 기능 코드(function code)에 따라 분류된 등급별 제어용 세션키를 이용하여 상기 DNP 제어 명령 인증 데이터를 생성하는 단계를 포함하는 것을 특징으로 하는 SCADA 통신 네트워크 보안을 위한 보안 통신 방법.
  10. 청구항 8에 있어서,
    상기 (b) 단계는,
    상기 DNP 제어 명령 데이터의 프레임 별로 공세 모드를 적용하여 보안 DNP 제어 명령 데이터를 생성하는 단계를 포함하는 것을 특징으로 하는 SCADA 통신 네트워크 보안을 위한 보안 통신 방법.
  11. 삭제
  12. 청구항 8에 있어서,
    (e) 상기 DNP 제어 명령이 인가된 SCADA 서버로부터 수신된 것인지 여부를 판단하는 단계를 더 포함하되,
    상기 DNP 제어 명령이 인가된 SCADA 서버로부터 수신된 경우에는 상기 (d) 단계를 수행하고, 아닌 경우에는 상기 DNP 제어 명령 데이터의 패킷(packet)을 드롭(drop)하는 단계를 수행하는 것을 특징으로 하는 SCADA 통신 네트워크 보안을 위한 보안 통신 방법.
  13. 청구항 8에 있어서,
    (f) 상기 슬레이브 보안 통신 장치가 상기 마스터 보안 통신 장치로부터 DNP 제어 명령 데이터 또는 보안 DNP 제어 명령 데이터를 수신하는 단계;
    (g) 상기 (f) 단계에서 수신된 데이터가 보안 DNP 제어 명령 데이터인 경우, 상기 보안 DNP 제어 명령 데이터에 첨부된 DNP 제어 명령 인증 데이터가 상기 DNP 표준 보안 정책에 대응하는지 여부를 검증하는 단계;
    (h) 상기 DNP 제어 명령 인증 데이터가 상기 DNP 표준 보안 정책에 대응하는 것으로 검증되는 경우, 상기 보안 DNP 제어 명령 데이터를 상기 DNP 제어 명령 데이터로 재구성하는 단계; 및
    (i) 상기 (f) 단계에서 수신된 DNP 제어 명령 데이터 또는 상기 (h) 단계에서 재구성된 DNP 제어 명령 데이터를 상기 아웃스테이션으로 송신하는 단계를 더 포함하는 것을 특징으로 하는 SCADA 통신 네트워크 보안을 위한 보안 통신 방법.
  14. 청구항 13에 있어서,
    (j) 제어 명령 위변조 탐지 시그너쳐(signature) 데이터베이스에 기반하여 상기 (g) 단계에서 검증된 상기 보안 DNP 제어 명령 데이터의 위변조 여부를 탐지하는 단계를 더 포함하되,
    상기 보안 DNP 제어 명령 데이터가 정상인 경우에는 상기 (h) 단계를 수행하고, 위변조가 탐지된 경우에는 상기 보안 DNP 제어 명령 데이터의 패킷을 드롭하는 단계를 수행하는 것을 특징으로 하는 SCADA 통신 네트워크 보안을 위한 보안 통신 방법.
  15. 마스터(master) 및 상기 마스터의 하위 노드인 아웃스테이션(outstation) 간의 SCADA(Supervisory Control And Data Acquisition) 통신 네트워크 보안을 위한 보안 통신 방법에 있어서,
    (k) 슬레이브 보안 통신 장치가 상기 아웃스테이션으로부터 DNP(Distributed Network Protocol) 응답을 포함하는 DNP 응답 데이터를 수신하는 단계;
    (l) 상기 DNP 응답 데이터에 DNP 표준 보안 정책에 대응하는 DNP 응답 인증 데이터를 첨부하는 공세 모드를 적용하여 보안 DNP 응답 데이터를 생성하는 단계; 및
    (m) 상기 DNP 응답 데이터 또는 상기 보안 DNP 응답 데이터를 마스터 보안 통신 장치로 송신하는 단계를 포함하고,
    (n) 상기 (k) 단계에서 수신된 DNP 응답 데이터의 기능 코드를 분석하여 상기 DNP 응답 데이터가 전력 공급과 관련된 크리티컬(critical) DNP 데이터에 해당하는지 여부를 판단하는 단계를 더 포함하되,
    상기 DNP 응답 데이터가 크리티컬 DNP 데이터인 경우에는 상기 (l) 단계를 수행하고, 아닌 경우에는 상기 (m) 단계를 수행하는 것을 특징으로 하는 SCADA 통신 네트워크 보안을 위한 보안 통신 방법.
  16. 청구항 15에 있어서,
    상기 (l) 단계는,
    상기 DNP 응답 데이터의 기능 코드(function code)에 따라 분류된 등급별 감시용 세션키를 이용하여 상기 DNP 응답 인증 데이터를 생성하는 단계를 포함하는 것을 특징으로 하는 SCADA 통신 네트워크 보안을 위한 보안 통신 방법.
  17. 청구항 15에 있어서,
    상기 (l) 단계는,
    상기 DNP 응답 데이터의 프레임 별로 공세 모드를 적용하여 보안 DNP 응답 데이터를 생성하는 단계를 포함하는 것을 특징으로 하는 SCADA 통신 네트워크 보안을 위한 보안 통신 방법.
  18. 삭제
  19. 청구항 15에 있어서,
    (o) 상기 마스터 보안 통신 장치가 상기 슬레이브 보안 통신 장치로부터 DNP 응답 데이터 또는 보안 DNP 응답 데이터를 수신하는 단계;
    (p) 상기 (o) 단계에서 수신된 데이터가 보안 DNP 응답 데이터인 경우, 상기 보안 DNP 응답 데이터에 첨부된 DNP 응답 인증 데이터가 상기 DNP 표준 보안 정책에 대응하는지 여부를 검증하는 단계;
    (q) 상기 DNP 응답 인증 데이터가 상기 DNP 표준 보안 정책에 대응하는 것으로 검증되는 경우, 상기 보안 DNP 응답 데이터를 상기 DNP 응답 데이터로 재구성하는 단계; 및
    (r) 상기 (o) 단계에서 수신된 DNP 응답 데이터 또는 상기 (q) 단계에서 재구성된 DNP 응답 데이터를 상기 마스터로 송신하는 단계를 더 포함하는 것을 특징으로 하는 SCADA 통신 네트워크 보안을 위한 보안 통신 방법.
KR1020120105705A 2012-09-24 2012-09-24 Scada 통신 네트워크 보안을 위한 보안 통신 장치 및 방법 KR102018064B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120105705A KR102018064B1 (ko) 2012-09-24 2012-09-24 Scada 통신 네트워크 보안을 위한 보안 통신 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120105705A KR102018064B1 (ko) 2012-09-24 2012-09-24 Scada 통신 네트워크 보안을 위한 보안 통신 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20140043537A KR20140043537A (ko) 2014-04-10
KR102018064B1 true KR102018064B1 (ko) 2019-09-05

Family

ID=50651986

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120105705A KR102018064B1 (ko) 2012-09-24 2012-09-24 Scada 통신 네트워크 보안을 위한 보안 통신 장치 및 방법

Country Status (1)

Country Link
KR (1) KR102018064B1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101520769B1 (ko) * 2014-06-17 2015-05-14 울산과학대학교 산학협력단 안전하고 효율적인 scada 통신시스템을 위한 릴레이 장치 및 방법
KR101691201B1 (ko) * 2014-09-30 2017-01-10 한국전력공사 Dnp 메시지의 보안통신장치 및 방법
KR102314049B1 (ko) * 2015-09-09 2021-10-19 한국전력공사 분산 네트워크 프로토콜 보안 인증 제공 장치 및 그 방법
KR101894062B1 (ko) 2016-12-09 2018-08-31 한전케이디엔 주식회사 Ip 기반 보안 방식이 적용된 배전지능화시스템
KR102125047B1 (ko) 2018-12-26 2020-06-19 한전케이디엔 주식회사 배전 지능화 시스템 보안성 향상을 위한 키 관리 및 운용 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100994880B1 (ko) * 2008-07-11 2010-11-16 엘에스산전 주식회사 Dnp 통신을 이용한 전력감시 데이터 수집 시스템 및방법

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090102469A (ko) * 2008-03-26 2009-09-30 한국전기연구원 Dnp 기반 scada 네트워크 데이터 보호 시스템 및그 방법
KR101048286B1 (ko) * 2008-12-30 2011-07-13 한국전기연구원 Scada 통신 보안을 위한 다중 암호화 장치 및 그 방법
KR101621481B1 (ko) * 2009-12-15 2016-05-16 에스케이 텔레콤주식회사 보안 문서 관리 장치 및 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100994880B1 (ko) * 2008-07-11 2010-11-16 엘에스산전 주식회사 Dnp 통신을 이용한 전력감시 데이터 수집 시스템 및방법

Also Published As

Publication number Publication date
KR20140043537A (ko) 2014-04-10

Similar Documents

Publication Publication Date Title
CN106789015B (zh) 一种智能配电网通信安全系统
CN107094155B (zh) 一种基于联盟区块链的数据安全存储方法及装置
CN108292250B (zh) 用于促进分布式数据备份的方法和装置
US7698555B2 (en) System and method for enabling secure access to a program of a headless server device
EP2856695B1 (en) A method and system for transferring firmware or software to a plurality of devices
KR102018064B1 (ko) Scada 통신 네트워크 보안을 위한 보안 통신 장치 및 방법
RU2459369C2 (ru) Способ и устройство для передачи сообщений в реальном времени
US20180270052A1 (en) Cryptographic key distribution
Lim et al. Security protocols against cyber attacks in the distribution automation system
US20130081112A1 (en) Global Terminal Management Using 2-Factor Authentication
CN212486798U (zh) 一种基于区块链技术的电力传感设备
CN110362984B (zh) 多设备运行业务系统的方法及装置
CN116405302B (zh) 一种用于车内安全通信的系统及方法
CN106685775A (zh) 一种智能家电自检式防入侵方法及系统
Coppolino et al. Exposing vulnerabilities in electric power grids: An experimental approach
CN110474921A (zh) 一种面向局域物联网的感知层数据保真方法
CN106027473A (zh) 身份证读卡终端与云认证平台数据传输方法和系统
CN103647788A (zh) 一种智能电网中的节点安全认证方法
EP4045998A1 (en) Token-based device access restriction systems
KR101599213B1 (ko) 네트워크 보안 시스템에서 탐지규칙 제공 서비스 방법 및 시스템
Gilles et al. Securing IIot communications using OPC UA pubsub and trusted platform modules
CN111314382A (zh) 一种适用于高频紧急控制系统的网络安全防护方法
KR101691201B1 (ko) Dnp 메시지의 보안통신장치 및 방법
CN102804724B (zh) 在自动化装置之间防操纵的数据传输
Chan et al. Toward Safe Integration of Legacy SCADA Systems in the Smart Grid

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