1 |
1
DNP(Distribute Network Protocol) 메시지를 송수신하는 시리얼 인터페이스; 상기 시리얼 인터페이스를 통해 송수신되는 상기 DNP 메시지를 첫번째 블록, 중간 블록 및 마지막 블록으로 나누어 블록별로 분석하고 관리하는 블록분석부; 상기 블록분석부에 의해 블록화된 DNP 블록의 암호화를 위해 암호 라이브러리를 제공하고, 보안키와 보안정책의 관리를 담당하는 보안모듈부; 및 상기 보안모듈부로부터 전달받은 암호 라이브러리를 이용하여 상기 DNP 블록을 암호화하고 인증 처리하는 보안처리부를 포함하고, 상기 블록분석부는 상기 DNP 블록의 위치와 보안운영모드를 관리하는 블록식별모듈; 상기 블록식별모듈의 보안운영모드에 따라 상기 DNP 메시지의 Secure 헤더를 추가 및 검증하는 Secure 헤더 처리모듈; 상기 DNP 블록을 저장하는 블록저장모듈; 및 상기 DNP 블록의 메시지인증코드 생성을 위해 인증대상 데이터를 저장하는 인증데이터 저장모듈을 포함하며, 상기 블록식별모듈은 상기 DNP 블록을 분석하여 상기 DNP 블록의 DNP 프레임 내 위치와 처리상태를 타입으로 관리하며,상기 타입은 타입 1, 타입 2, 타입 3 및 타입 4로 구분되고, 상기 타입 1은 초기 값으로 데이터 링크 헤더를 포함하는 첫 번째 블록을 나타내고, 상기 타입 2는 응용계층 데이터를 포함하는 중간 블록을 의미하며, 상기 타입 3은 상기 DNP 메시지 수신시에만 사용되는 타입으로, 데이터 크기가 DNP 보안통신모드와 암호 알고리즘에 의해 추가되는 Secure 헤더, 암호 패딩, 해쉬 데이터 크기 이상이 되는 경우에는 타입 설정값이 4로 변경되며, 상기 타입 4는 DNP 메시지가 수신 완료되었음을 나타내는 것을 특징으로 하는 DNP 메시지의 보안통신장치
|
2 |
2
삭제
|
3 |
3
삭제
|
4 |
4
삭제
|
5 |
5
제 1 항에 있어서, 상기 블록식별모듈은 상기 타입이 상기 타입 1로 설정되어 있으면 상기 DNP 블록이 DNP 식별코드를 포함하고 있는지 여부를 검사하고, DNP 프레임 전체 길이를 계산한 후 상기 블록저장모듈의 데이터 크기가 기 설정된 크기 이상이 되면 상기 타입 1에서 상기 타입 2로 변경하는 것을 특징으로 하는 DNP 메시지의 보안통신장치
|
6 |
6
제 1 항에 있어서, 상기 DNP 메시지 전송시, 상기 타입이 상기 타입 2로 설정된 경우에는, 상기 블록식별모듈은 상기 첫 번째 블록에서 계산된 DNP 길이 정보를 참조하여 상기 블록저장모듈의 데이터 크기가 DNP 길이 이상이 되면 상기 타입 2에서 상기 타입 4로 변경하는 것을 특징으로 하는 DNP 메시지의 보안통신장치
|
7 |
7
제 1 항에 있어서, 상기 DNP 메시지 수신시, 상기 타입이 상기 타입 2로 설정된 경우에는, 상기 블록식별모듈은 상기 첫 번째 블록에서 계산된 DNP 길이 정보를 참조하여 상기 블록저장모듈의 데이터 크기가 DNP 길이 이상이 되면 상기 타입 2를 상기 타입 3으로 변경하는 것을 특징으로 하는 DNP 메시지의 보안통신장치
|
8 |
8
제 1 항에 있어서, 상기 블록식별모듈은 상기 타입이 상기 타입 3인 경우 상기 DNP 메시지 검증을 위한 추가 데이터의 수신이 완료되면 상기 타입 3을 타입 4로 변경하는 것을 특징으로 하는 DNP 메시지의 보안통신장치
|
9 |
9
제 1 항에 있어서, 상기 블록식별모듈은 상기 타입이 상기 타입 4인 경우 상기 DNP 블록을 처리한 후 상기 타입 4를 상기 타입 1로 초기화하는 것을 특징으로 하는 DNP 메시지의 보안통신장치
|
10 |
10
제 1 항에 있어서, 상기 Secure헤더 처리모듈은 상기 보안모듈부의 보안정책을 참조하여 보안모드를 결정한 후 결정된 보안모드에 따라 Secure 헤더 필드를 생성하는 것을 특징으로 하는 DNP 메시지의 보안통신장치
|
11 |
11
제 1 항에 있어서, 상기 보안처리부는 상기 보안모듈부에서 제공하는 암호 알고리즘과 보안키를 이용하여 상기 DNP 블록에 대한 데이터 암호기능을 제공하는 암호 모듈; 및 데이터 인증 기능을 제공하는 인증 모듈을 포함하는 것을 특징으로 하는 DNP 메시지의 보안통신장치
|
12 |
12
제 1 항에 있어서, 상기 보안처리부는 인증 기능을 제공하는 인증모드에서는 상기 첫번째 블록과 상기 중간 블록을 마스터 또는 아웃스테이션으로 전송하고, 상기 블록분석부에 저장되어 있는 전체 DNP 프레임에 대한 메시지 인증 코드를 생성한 후, 상기 메시지 인증코드를 상기 마지막 블록에 추가하여 상기 마스터 또는 상기 아웃스테이션으로 전송하는 것을 특징으로 하는 DNP 메시지의 보안통신장치
|
13 |
13
제 1 항에 있어서, 상기 보안처리부는 메시지 암호와 인증 기능을 제공하는 암호 인증모드에서는 상기 첫번째 블록과 상기 중간 블록을 상기 블록분석부에 복사한 후, 상기 첫번째 블록 및 상기 중간 블록을 암호화하여 마스터나 아웃스테이션으로 전송하고, 상기 마지막 블록을 암호화하여 상기 블록분석부에 저장되어 있는 인증영역 데이터에 대한 메시지 인증 코드를 생성한 후 암호화된 상기 마지막 블록에 첨부하여 상기 마스터 또는 상기 아웃스테이션으로 전송하는 것을 특징으로 하는 DNP 메시지의 보안통신장치
|
14 |
14
메시지 암호와 인증 기능을 제공하는 암호 인증모드에서 DNP 블록을 수신하는 제1단계; 수신된 상기 DNP 블록을 첫번째 블록, 중간 블록 및 마지막 블록 중 어느 하나로 식별하는 제2단계; 및 상기 식별 결과에 따라, 상기 첫번째 블록과 상기 중간 블록을 암호화하여 전송하고, 상기 마지막 블록을 암호화하고 메시지 인증 코드를 생성한 후 상기 메시지 인증 코드를 암호화된 상기 마지막 블록에 첨부하여 전송하는 제3단계를 포함하고, 상기 제3단계는 상기 DNP 블록이 상기 첫번째 블록이면, 보안정책을 참조하여 보안모드를 결정하고, 결정된 보안모드에 따라 Secure 헤더 필드를 생성하여 데이터링크 헤더 CRC 앞에 추가한 후 변경된 데이터를 저장하는 단계; 및 변경된 상기 데이터 중 Secure 헤더 이후의 데이터 크기와 암호 알고리즘의 입출력 크기를 비교하여 Secure 헤더 이후의 데이터 크기가 상기 암호 알고리즘의 입출력 크기보다 크면, 암호 알고리즘의 입출력 크기 만큼의 데이터 암호라이브러리와 보안키를 이용하여 상기 첫번째 블록을 암호화한 후 DNP 데이터링크의 헤더와 함께 마스터 또는 아웃스테이션으로 전송하는 단계를 포함하는 것을 특징으로 하는 DNP 메시지의 보안통신방법
|
15 |
15
삭제
|
16 |
16
제 14 항에 있어서, 상기 제3단계는 상기 DNP 블록이 상기 중간 블록이면,상기 DNP 블록이 상기 첫 번째 블록일 경우에 암호화된 데이터 이후부터의 추가 수신데이터 크기가 암호 알고리즘의 입출력 크기보다 크면, 상기 암호 알고리즘의 입출력 크기만큼의 데이터를 암호라이브러리와 보안키를 이용하여 암호화하는 것을 특징으로 하는 DNP 메시지의 보안통신방법
|
17 |
17
제 16 항에 있어서, 상기 제3단계는 상기 DNP 블록이 상기 마지막 블록이면, 상기 마지막 블록이 상기 암호 알고리즘의 입출력 크기보다 작으면 상기 추가 수신데이터에 패딩 데이터를 추가하여 암호화하고, 상기 추가 수신데이터가 상기 암호 알고리즘의 입출력 크기와 같으면 상기 패딩 데이터를 추가하지 않고 암호화한 후, 인증데이터저장모듈에 저장된 데이터를 대상으로 메시지인증코드를 생성하며, 생성된 메시지인증코드를 상기 마지막 블록에 추가하여 전송하는 것을 특징으로 하는 DNP 메시지의 보안통신방법
|
18 |
18
삭제
|
19 |
19
DNP 블록을 첫번째 블록, 중간 블록 및 마지막 블록 중 어느 하나로 식별하는 단계; 상기 첫번째 블록과 상기 중간 블록을 마스터나 아웃스테이션으로 실시간으로 전송하는 단계; 및상기 마지막 블록을 메시지 무결성 검증결과에 따라 처리한 후 상기 마스터 또는 아웃스테이션으로 전송하는 단계를 포함하고, 상기 마지막 블록을 메시지 무결성 검증결과에 따라 처리한 후 상기 마스터 또는 아웃스테이션으로 전송하는 단계는, 상기 무결성 검증 결과, 유효한 메시지는 전달하고, 상기 무결성 검증이 실패한 메시지는 상기 마스터 또는 상기 아웃스테이션이 상기 무결성 검증을 실패한 상기 메시지를 드롭(drop)시키도록 상기 마지막 블록을 임의의 데이터로 변경한 후 전송하는 것을 특징으로 하는 DNP 메시지의 보안통신방법
|
20 |
20
삭제
|
21 |
21
메시지 암호와 인증 기능을 제공하는 암호 인증모드에서 DNP 블록을 수신하는 제1단계; 수신된 상기 DNP 블록을 첫번째 블록, 중간 블록 및 마지막 블록 중 어느 하나로 식별하는 제2단계; 및 상기 식별 결과에 따라, 상기 첫번째 블록 또는 상기 중간 블록에 대해 복호화를 수행하고, 상기 첫번째 블록 또는 상기 중간 블록을 마스터 또는 아웃스테이션으로 전송하고, 상기 마지막 블록에 대해 복호화 및 무결성 검증을 수행하고, 상기 무결성 검증 결과에 따라 상기 마스터 또는 상기 아웃스테이션으로 전송하는 제3단계를 포함하되,상기 제3단계는 상기 마지막 블록의 무결성 검증 결과에 따라, 유효한 메시지는 상기 마스터 또는 상기 아웃스테이션으로 전달하고, 상기 무결성 검증이 실패한 메시지는 상기 마스터 또는 상기 아웃스테이션이 상기 무결성 검증을 실패한 상기 메시지를 드롭(drop)시키도록 상기 마지막 블록을 임의의 데이터로 변경한 후 전송하는 것을 특징으로 하는 DNP 메시지의 보안통신방법
|