KR101611103B1 - Control System Based on Closed Network Capable of Remote Debugging and Remote Debugging Method Using The Same - Google Patents

Control System Based on Closed Network Capable of Remote Debugging and Remote Debugging Method Using The Same Download PDF

Info

Publication number
KR101611103B1
KR101611103B1 KR1020140192309A KR20140192309A KR101611103B1 KR 101611103 B1 KR101611103 B1 KR 101611103B1 KR 1020140192309 A KR1020140192309 A KR 1020140192309A KR 20140192309 A KR20140192309 A KR 20140192309A KR 101611103 B1 KR101611103 B1 KR 101611103B1
Authority
KR
South Korea
Prior art keywords
debugging
shared memory
debugging data
data
encrypted
Prior art date
Application number
KR1020140192309A
Other languages
Korean (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 KR1020140192309A priority Critical patent/KR101611103B1/en
Application granted granted Critical
Publication of KR101611103B1 publication Critical patent/KR101611103B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/12Arrangements for remote connection or disconnection of substations or of equipment thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Debugging And Monitoring (AREA)
  • Storage Device Security (AREA)

Abstract

Disclosed is a control system based on a closed network, for enabling remote debugging of a control application thereof. The control system comprises: a process processing system controlling apparatuses installed in a field by using a control application; a remote management server having an application management module which generates debugging data of the control application to record the data in a first shared memory, and a first remote management module which reads the debugging data from the first shared memory to encrypt the data; and a local management server having a second remote management module which receives the debugging data from the first remote management module and decrypts the received debugging data to record the data in a second shared memory, and a system device management module which reads the debugging data recorded in the second shared memory to transmit the data to the process processing system. The local management server and the processing system are connected through an internal network, and the remote management server and the local management server are connected through an external network.

Description

원격 디버깅이 가능한 폐쇠망 기반의 제어 시스템 및 이를 이용한 원격 디버깅 방법{Control System Based on Closed Network Capable of Remote Debugging and Remote Debugging Method Using The Same}Technical Field [0001] The present invention relates to a control system based on a closed network capable of remote debugging, and a remote debugging method using the same. [0002]

본 발명은 제어 시스템에 관한 것으로서, 보다 구체적으로 폐쇠망 기반의 제어 시스템에 관한 것이다.The present invention relates to a control system, and more particularly to a closed network-based control system.

공장 설비들을 제어하기 위한 용도로 현장에 설치된 제어 시스템은 보안 등의 이유로 외부와 단절된 폐쇠망으로 구성되어 있기 때문에, 제어 시스템에 대한 외부 접근이 차단되어 있다.In order to control plant facilities, the control system installed in the field is composed of a closed network disconnected from the outside for reasons of security, so external access to the control system is blocked.

이러한 폐쇠망 기반의 제어 시스템의 구성이 도 1에 도시되어 있다. 도 1에 도시된 바와 같은 폐쇠망 기반의 제어 시스템(100)은 프로세스 처리 장치(110) 및 관리서버(120)를 포함한다. 관리서버(120)에는 시스템 장치 관리 모듈(122), 어플리케이션 관리 모듈(124), 및 공유 메모리(126)가 탑재되어 있다.The configuration of such a closed network-based control system is shown in FIG. The closed network-based control system 100 as shown in FIG. 1 includes a process processing device 110 and a management server 120. The management server 120 has a system device management module 122, an application management module 124, and a shared memory 126 mounted thereon.

먼저, 프로세스 처리 시스템(110)은 현장에 설치되어 있는 장치들(미도시)과 직접 연결되고, 내부에 탑재된 제어용 어플리케이션(112)를 이용하여 해당 장치들을 제어하는 역할을 수행한다. 시스템 장치 관리 모듈(122)은 제어 시스템(100)의 환경설정을 수행하고, 어플리케이션 관리 모듈(124)과 데이터를 공유함으로써 시스템의 진단을 수행한다. 어플리케이션 관리 모듈(124)은 프로세서 처리 장치(110)에 탑재된 제어용 어플리케이션(112)을 관리하고, 제어용 어플리케이션(112)의 디버깅을 수행한다.First, the process processing system 110 is directly connected to devices (not shown) installed in the field, and controls the corresponding devices using the control application 112 installed in the process. The system device management module 122 performs configuration of the control system 100 and performs diagnosis of the system by sharing data with the application management module 124. The application management module 124 manages the control application 112 installed in the processor processing unit 110 and performs debugging of the control application 112.

도 1에 도시된 바와 같이, 기존의 폐쇠망 기반의 제어 시스템(100)의 경우, 프로세스 처리 장치(110)와 관리서버(120)에 탑재된 시스템 장치 관리 모듈(122)은 내부의 TCP/IP망을 통해 서로 연결되어 있고, 관리서버(122) 내에서 시스템 관리 모듈(122)과 어플리케이션 관리 모듈(124)은 공유 메모리(126)를 통해 서로 데이터를 송수신하게 된다는 것을 알 수 있다.1, in the case of the existing closed network-based control system 100, the system processing unit 110 and the system device management module 122 mounted on the management server 120 have internal TCP / IP And the system management module 122 and the application management module 124 in the management server 122 transmit and receive data to and from each other through the shared memory 126. [

이와 같이, 종래의 제어 시스템(100)의 경우, 시스템 장치 관리 모듈(122)과 어플리케이션 관리 모듈(124)이 공유 메모리(126)를 통해 데이터를 송수신하는 구조이므로, 시스템 장치 관리 모듈(122)과 어플리케이션 관리 모듈(124)은 동일한 관리 서버(120) 내에 구현되어야만 하고, 시스템 장치 관리 모듈(122)은 내부의 TCP/IP망을 통해 프로세스 처리 장치(110)에 연결되어야 하기 때문에, 프로세서 처리 장치(110)에 탑재되는 제어용 어플리케이션(112)을 새롭게 개발하거나 기 탑재되어 있는 제어용 어플리케이션(112)의 디버깅이 필요한 경우 시스템 운영자가 제어 시스템(100)이 설치되어 있는 현장에 직접 방문하여 제어 시스템(100)에 접근하여야만 한다는 불편함이 있다.
본 발명의 배경이 되는 기술은 대한민국 공개특허공보 제10-2000-0047720호(발명의 명칭: 원격 지시 시스템, 2000.07.25. 공개)에 개시되어 있다.
As described above, in the conventional control system 100, since the system device management module 122 and the application management module 124 transmit and receive data through the shared memory 126, the system device management module 122, The application management module 124 must be implemented in the same management server 120 and the system device management module 122 must be connected to the process processing device 110 via the internal TCP / When a control application 112 installed on the control system 100 is newly developed or debugging of the control application 112 installed is required, the system operator directly visits the site where the control system 100 is installed, There is an inconvenience that it should be approached.
BACKGROUND ART [0002] The technology that provides a background of the present invention is disclosed in Korean Patent Laid-Open Publication No. 10-2000-0047720 (entitled Remote Indication System, published on Jun. 25, 2000).

본 발명은 상술한 문제점을 해결하기 위한 것으로서, 제어 시스템의 제어용 어플리케이션을 원격으로 디버깅할 수 있는 원격 디버깅이 가능한 폐쇠망 기반의 제어 시스템 및 이를 이용한 원격 디버깅 방법을 제공하는 것을 그 기술적 과제로 한다.SUMMARY OF THE INVENTION The present invention has been made to solve the above-mentioned problems, and it is a technical object of the present invention to provide a control system based on a closed network capable of remotely debugging a control application of a control system and a remote debugging method using the same.

또한, 본 발명은 제어용 어플리케이션의 원격 디버깅시 보안성을 향상시킬 수 있는 원격 디버깅이 가능한 폐쇠망 기반의 제어 시스템 및 이를 이용한 원격 디버깅 방법 제공하는 것을 다른 기술적 과제로 한다.Another object of the present invention is to provide a control system based on a closed network capable of remote debugging, which can improve security when remote debugging a control application, and a remote debugging method using the same.

상술한 목적을 달성하기 위한 본 발명의 일 측면에 따른 원격 디버깅이 가능한 폐쇠망 기반의 제어 시스템은, 현장에 설치된 장치들을 제어용 어플리케이션을 이용하여 제어하는 프로세스 처리 시스템; 상기 제어용 어플리케이션의 디버깅 데이터를 생성하여 제1 공유 메모리에 기록하는 어플리케이션 관리 모듈과, 상기 제1 공유 메모리에서 상기 디버깅 데이터를 독출하여 암호화하는 제1 원격관리모듈을 포함하는 리모트 관리 서버; 및 상기 제1 원격관리모듈로부터 상기 디버깅 데이터를 수신하고 상기 수신된 디버깅 데이터를 복호화하여 제2 공유 메모리에 기록하는 제2 원격관리모듈과, 상기 제2 공유 메모리에 기록된 상기 디버깅 데이터를 독출하여 상기 프로세스 처리 시스템으로 전달하는 시스템 장치 관리 모듈을 포함하는 로컬 관리 서버를 포함하고, 상기 로컬 관리 서버와 상기 프로세스 처리 시스템은 내부 네트워크를 통해 연결되고, 상기 리모트 관리 서버와 상기 로컬 관리 서버는 외부 네트워크를 통해 연결되는 것을 특징으로 한다.According to an aspect of the present invention, there is provided a control system based on a closure network capable of remote debugging, the system including: a process processing system for controlling devices installed on a site using a control application; A remote management server including an application management module for generating debugging data of the control application and recording the debugging data in the first shared memory, and a first remote management module for reading and encrypting the debugging data in the first shared memory; A second remote management module that receives the debugging data from the first remote management module and decrypts the received debugging data and writes the decrypted debugging data to a second shared memory; and a second remote management module that reads the debugging data recorded in the second shared memory Wherein the local management server and the process processing system are connected via an internal network, and the remote management server and the local management server are connected to each other via an external network As shown in FIG.

상술한 목적을 달성하기 위한 본 발명의 다른 측면에 따른 제어 시스템의 원격 디버깅 방법은, 현장에 설치된 장치들의 제어를 위한 제어용 어플리케이션이 탑재된 프로세스 처리 장치, 상기 프로세스 처리 장치와 내부 네트워크를 통해 연결된 리모트 관리 서버, 및 상기 리모트 관리 서버와 외부 네트워크를 통해 연결된 로컬 관리 서버를 포함하는 제어 시스템의 원격 디버깅 방법으로서, 상기 리모트 관리 서버가 상기 제어용 어플리케이션의 디버깅 데이터를 생성하여 제1 공유 메모리에 기록하는 단계; 상기 리모트 관리 서버가 제1 공유 메모리로부터 상기 디버깅 데이터를 독출하여 암호화하는 단계; 상기 로컬 관리 서버가 상기 리모트 관리 서버로부터 전달되는 상기 암호화된 디버깅 데이터를 복호화여 제2 공유 메모리에 기록하는 단계; 및 상기 로컬 관리 서버가 상기 제2 공유 메모리에 기록된 상기 디버깅 데이터를 독출하여 상기 프로세스 처리 시스템으로 전달하는 단계를 포함하는 것을 특징으로 한다.According to another aspect of the present invention, there is provided a remote debugging method for a control system, the method including: a process processing apparatus having a control application for controlling devices installed on the field; A remote debugging method of a control system including a management server and a local management server connected to the remote management server through an external network, the remote management server generating debugging data of the control application and writing the debugging data in the first shared memory ; Reading the debugging data from the first shared memory and encrypting the debugging data; The local management server decrypting the encrypted debugging data transmitted from the remote management server and writing the encrypted debugging data to a second shared memory; And reading the debugging data recorded in the second shared memory by the local management server and transferring the debugging data to the process processing system.

본 발명에 따르면, 원격관리모듈의 추가를 통해 제어용 어플리케이션의 원격 디버깅을 가능하게 함으로써 시스템 운영자가 제어 시스템이 설치된 현장에 방문하지 않고도 원격지에서 제어용 어플리케이션을 관리할 수 있어 빠른 대응이 가능할 뿐만 아니라 제어 시스템의 유지보수 비용을 절감할 수 있다는 효과가 있다.According to the present invention, remote debugging of a control application is enabled by adding a remote management module, so that a system operator can manage a control application from a remote place without visiting a site where a control system is installed, It is possible to reduce the maintenance cost of the system.

또한, 본 발명에 따르면, 원격관리모듈간의 데이터 송수신시 공유 메모리의 공유 영역 별로 할당된 대칭키를 이용하여 암호화를 수행함으로써 제어용 어플리케이션의 원격 디버깅시 보안성을 향상시킬 수 있다는 효과가 있다.According to the present invention, encryption and decryption are performed using a symmetric key allocated to each shared area of a shared memory when transmitting / receiving data between remote management modules, thereby improving security in remote debugging of a control application.

또한, 본 발명에 따르면 로컬 관리 서버 및 리모트 관리 서버가 공유 영역의 암호화를 위한 대칭키에 대한 정보를 설정파일 형태로 미리 공유하도록 함으로써 대칭키 교환시 대칭키 누출로 인한 보안문제를 미연에 방지할 수 있다는 효과가 있다.In addition, according to the present invention, the local management server and the remote management server share the information about the symmetric key for encrypting the shared area in advance in the form of a configuration file, thereby preventing a security problem due to the symmetric key leakage Can be effective.

도 1은 종래기술에 따른 폐쇠망 기반의 제어 시스템의 구성을 개략적으로 보여주는 도면이다.
도 2는 본 발명의 일 실시예에 따른 원격 디버깅이 가능한 폐쇠망 기반의 제어 시스템의 구성을 개략적으로 보여주는 도면이다.
도 3은 도 2에 도시된 리모트 관리서버의 구성을 보여주는 블록도이다.
도 4a는 도 3에 도시된 제1 원격관리모듈이 디버깅 데이터를 전송하는 방법을 개념적으로 보여주는 도면이다.
도 4b는 도 3에 도시된 제1 원격관리모듈이 디버깅 결과값을 수신하는 방법을 개념적으로 보여주는 도면이다.
도 5는 도 2에 도시된 로컬 관리서버의 구성을 보여주는 블록도이다.
도 6a는 도 5에 도시된 제2 원격관리모듈이 디버깅 결과값을 전송하는 방법을 개념적으로 보여주는 도면이다.
도 6b는 도 5에 도시된 제2 원격관리모듈이 디버깅 데이터를 수신하는 방법을 개념적으로 보여주는 도면이다.
도 7은 본 발명의 일 실시예에 따른 제어 시스템의 원격 디버깅 방법을 보여주는 플로우차트이다.
1 is a schematic view showing a configuration of a control system based on a closure network according to the related art.
FIG. 2 is a schematic diagram of a control system based on a closed network capable of remote debugging according to an embodiment of the present invention. Referring to FIG.
3 is a block diagram showing the configuration of the remote management server shown in FIG.
4A is a conceptual diagram illustrating a method for transmitting debugging data by the first remote management module shown in FIG.
FIG. 4B is a conceptual view illustrating a method of receiving the debugging result by the first remote management module shown in FIG. 3. FIG.
5 is a block diagram showing the configuration of the local management server shown in FIG.
FIG. 6A is a conceptual diagram illustrating a method of transmitting a debugging result value by the second remote management module shown in FIG. 5. FIG.
6B is a conceptual diagram illustrating a method of receiving debugging data by the second remote management module shown in FIG.
7 is a flowchart showing a remote debugging method of a control system according to an embodiment of the present invention.

본 명세서에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.The meaning of the terms described herein should be understood as follows.

단수의 표현은 문맥상 명백하게 다르게 정의하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "제1", "제2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로, 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다.The word " first, "" second," and the like, used to distinguish one element from another, are to be understood to include plural representations unless the context clearly dictates otherwise. The scope of the right should not be limited by these terms.

"포함하다" 또는 "가지다" 등의 용어는 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.It should be understood that the terms "comprises" or "having" does not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or combinations thereof.

"적어도 하나"의 용어는 하나 이상의 관련 항목으로부터 제시 가능한 모든 조합을 포함하는 것으로 이해되어야 한다. 예를 들어, "제1 항목, 제2 항목 및 제 3항목 중에서 적어도 하나"의 의미는 제1 항목, 제2 항목 또는 제3 항목 각각 뿐만 아니라 제1 항목, 제2 항목 및 제3 항목 중에서 2개 이상으로부터 제시될 수 있는 모든 항목의 조합을 의미한다.It should be understood that the term "at least one" includes all possible combinations from one or more related items. For example, the meaning of "at least one of the first item, the second item and the third item" means not only the first item, the second item or the third item, but also the second item and the second item among the first item, Means any combination of items that can be presented from more than one.

이하에서는 설명의 편의를 위해 동일한 구성에 대해서는 동일한 도면부호를 부여하여 해당 구성을 설명하기로 한다.
Hereinafter, for the sake of convenience of description, the same reference numerals are assigned to the same components and the corresponding components will be described.

이하, 첨부되는 도면을 참고하여 본 발명의 실시예들에 대해 상세히 설명한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 2는 본 발명의 일 실시예에 따른 원격 디버깅이 가능한 제어 시스템의 구성을 개략적으로 보여주는 블록도이다.2 is a block diagram schematically illustrating a configuration of a remote debugging control system according to an embodiment of the present invention.

도 2에 도시된 바와 같이, 본 발명의 일 실시예에 따른 원격 디버깅이 가능한 제어 시스템(200, 이하, '제어 시스템'이라 함)은 프로세스 처리 장치(210), 리모트 관리 서버(220), 및 로컬 관리 서버(230)를 포함한다.2, a control system 200 (hereinafter, referred to as a 'control system') capable of remote debugging according to an embodiment of the present invention includes a process processing unit 210, a remote management server 220, And a local management server 230.

프로세스 처리 장치(210)는 현장에 설치된 장치들과 통신을 통해 연결되거나 입출력 보드(미도시)를 통해 직접 연결되어, 해당 장치들을 제어한다. 프로세스 처리 장치(210)에는 각 장치들의 제어를 위한 제어용 어플리케이션(212)이 탑재되고, 프로세스 처리 장치(210)는 제어용 어플리케이션(212)을 이용하여 각 장치들의 동작을 제어하게 된다.The process processing apparatus 210 is connected to devices installed in the field via communication or directly connected through an input / output board (not shown) to control the devices. A control application 212 for controlling each device is mounted on the process processing device 210 and the process processing device 210 controls the operation of each device using the control application 212.

본 발명의 일 실시예에 따른 프로세스 처리장치(210)는 리모트 관리 서버(220)에 의해 생성된 제어용 어플리케이션의 디버깅 데이터를 내부 네트워크를 통해 로컬 관리 서버(230)로부터 전달받고, 전달받은 디버깅 데이터를 제어용 어플리케이션(212)에 적용함으로써 제어용 어플리케이션(212)의 디버깅 결과값을 생성한다. 일 실시예에 있어서, 디버깅 결과값은 디버깅 데이터에 의해 변경된 제어로직, 변수, 또는 태그 등의 값을 포함할 수 있다.The process processing apparatus 210 according to an embodiment of the present invention receives the debugging data of the control application generated by the remote management server 220 from the local management server 230 via the internal network and receives the received debugging data And generates the debugging result value of the control application 212 by applying it to the control application 212. [ In one embodiment, the debugging result values may include values such as control logic, variables, or tags that have been modified by the debugging data.

프로세스 처리 장치(210)는 생성된 디버깅 결과값을 내부 네트워크를 통해 로컬 관리 서버(230)로 전달한다.The process processing unit 210 transfers the generated debugging result value to the local management server 230 through the internal network.

리모트 관리 서버(220)는 프로세스 처리 장치(210)에 탑재될 제어용 어플리케이션(212)을 새롭게 작성하거나, 프로세스 처리 장치(210)에 탑재되어 있는 제어용 어플리케이션(212)을 원격에서 디버깅하기 위한 디버깅 데이터를 생성한다. 리모트 관리 서버(220)는 생성한 디버깅 데이터를 암호화하여 로컬 관리 서버(230)로 전달한다.The remote management server 220 creates debugging data for debugging the control application 212 installed in the process processing apparatus 210 by remotely creating the control application 212 to be installed in the process processing apparatus 210 . The remote management server 220 encrypts the generated debugging data and transfers the encrypted debugging data to the local management server 230.

또한, 리모트 관리 서버(220)는 로컬 관리 서버(230)로부터 암호화된 디버깅 결과값을 수신하고, 암호화된 디버깅 결과값을 복호화하여 운영자에게 제공한다. Also, the remote management server 220 receives the encrypted debugging result value from the local management server 230, decrypts the encrypted debugging result value, and provides the decrypted result to the operator.

이하, 리모트 관리 서버(220)의 구성을 도 3을 참조하여 보다 구체적으로 설명한다.Hereinafter, the configuration of the remote management server 220 will be described in more detail with reference to FIG.

도 3은 본 발명의 일 실시예에 따른 리모트 관리 서버(220)의 구성을 개략적으로 보여주는 블록도이다.3 is a block diagram schematically showing the configuration of a remote management server 220 according to an embodiment of the present invention.

도 3에 도시된 바와 같이, 본 발명의 일 실시예에 따른 리모트 관리 서버(220)는 어플리케이션 관리 모듈(310), 제1 공유 메모리(320), 및 제1 원격관리모듈(330)을 포함한다.3, the remote management server 220 according to an exemplary embodiment of the present invention includes an application management module 310, a first shared memory 320, and a first remote management module 330 .

이하에서는 설명의 편의를 위해 리모트 관리 서버(220)의 각 구성들(310~330)이 디버깅 데이터를 생성하여 전송하는 방법에 대해 먼저 설명한 후, 각 구성들(310~330)이 디버깅 결과값을 수신하는 방법에 대해 설명하도록 한다.
Hereinafter, for convenience of explanation, a method of generating and transmitting debugging data by each of the configurations 310 to 330 of the remote management server 220 will be described first, and then each of the configurations 310 to 330 will be referred to as a debugging result value Describe how to receive.

<디버깅 데이터의 생성 및 전송><Generation and transmission of debugging data>

어플리케이션 관리 모듈(310)은 제어용 어플리케이션(312)의 디버깅을 위한 디버깅 데이터를 생성한다. 일 실시예에 있어서, 어플리케이션 관리 모듈(310)에 의해 생성되는 디버깅 데이터는 제어용 어플리케이션에 포함된 제어로직, 변수, 또는 태그 등의 변경 데이터를 포함한다. 어플리케이션 관리 모듈(310)은 생성된 디버깅 데이터를 제1 공유 메모리(320)에 기록한다.The application management module 310 generates debugging data for debugging the control application 312. In one embodiment, the debugging data generated by the application management module 310 includes change data such as control logic, variables, or tags included in the control application. The application management module 310 records the generated debugging data in the first shared memory 320. [

제1 공유 메모리(320)에는 어플리케이션 관리 모듈(310)에 의해 생성된 디버깅 데이터가 공유 영역들 중 하나에 기록된다.In the first shared memory 320, debugging data generated by the application management module 310 is recorded in one of the shared areas.

일 실시예에 있어서, 제1 공유 메모리(320)는 복수개의 공유 영역으로 구분되고, 각 공유 영역 별로 식별자(ID)가 부여되어 있으며, 제1 공유 메모리(320)를 구성하는 각 공유 영역 별로 적용할 암호화키가 별도로 할당되어 있다. 이러한 실시예에 따르는 경우, 리모트 관리 서버(220) 및 로컬 관리 서버(230)는 각 서버에 포함된 공유 메모리를 구성하는 각 공유 영역의 식별자, 상기 식별자에 해당하는 공유 영역의 크기, 및 상기 공유 영역 별로 할당된 암호화키가 매칭되어 저장된 공유 메모리 정보를 사전에 공유하고 있을 수 있다.In one embodiment, the first shared memory 320 is divided into a plurality of shared areas, and an identifier (ID) is assigned to each shared area. The shared memory 320 is applied to each shared area constituting the first shared memory 320 The encryption key to be assigned is separately allocated. According to this embodiment, the remote management server 220 and the local management server 230 are configured to store the identifiers of the respective shared areas constituting the shared memory included in each server, the size of the shared area corresponding to the identifiers, And may share the shared memory information stored in advance by matching the encryption key allocated to each area.

예컨대, 리모트 관리 서버(220)와 로컬 관리 서버(230)는 공유 메모리 정보를 config.cnf와 같은 설정파일 형태로 서로 공유할 수 있다. 이와 같이, 본 발명에 따르면 리모트 관리 서버(220) 및 로컬 관리 서버(230)가 외부의 설정파일을 참조로 하여 공유 메모리를 이용하기 때문에, 공유 메모리를 사용하고 있는 소스 내부에서 공유 메모리 참조 형태가 변경되더라도 설정파일만 수정하면 된다.For example, the remote management server 220 and the local management server 230 can share the shared memory information in the form of a configuration file such as config.cnf. As described above, according to the present invention, since the remote management server 220 and the local management server 230 use the shared memory with reference to the external configuration file, the shared memory reference type Even if you change it, you only need to modify the configuration file.

이러한 실시예에 따르는 경우, 리모트 관리 서버(220)는 공유 메모리 정보를 기초로 디버깅 데이터가 저장될 공유 영역 별로 할당된 암호화키를 이용하여 디버깅 데이터를 암호화하게 되고, 로컬 관리 서버(230)는 공유 메모리 정보를 기초로 디버깅 데이터가 저장될 공유 영역 별로 할당된 암호화키를 이용하여 디버깅 데이터를 복호화하게 된다.According to this embodiment, the remote management server 220 encrypts the debugging data using the encryption key allocated to each shared area in which the debugging data is to be stored based on the shared memory information, and the local management server 230 Based on the memory information, the debugging data is decrypted using the encryption key allocated to each shared area in which the debugging data is to be stored.

제1 원격관리모듈(330)은 제1 공유 메모리(320)에 디버깅 데이터가 기록되면, 제1 공유 메모리(320)로부터 디버깅 데이터를 독출하고, 독출된 디버깅 데이터를 암호화하여 로컬 관리 서버(230)로 전달한다.The first remote management module 330 reads the debugging data from the first shared memory 320 when the debugging data is written to the first shared memory 320 and encrypts the read debugging data to transmit the debugging data to the local management server 230. [ .

이를 위해, 제1 원격관리모듈(330)은 제1 공유 메모리 처리부(332), 제1 보안 처리부(334), 및 제1 통신부(336)를 포함한다.To this end, the first remote management module 330 includes a first shared memory processing unit 332, a first security processing unit 334, and a first communication unit 336.

제1 공유 메모리 처리부(332)는 제1 공유 메모리(320)에 디버깅 데이터가 기록되는지 여부를 판단하고, 디버깅 데이터가 기록된 것으로 판단되면 디버깅 데이터가 기록되어 있는 공유 영역에서 디버깅 데이터를 독출하여 제1 보안 처리부(334)로 전달한다. 이때, 제1 공유 메모리 처리부(332)는 제1 공유 메모리에서 디버깅 데이터가 기록되어 있는 공유 영역의 식별자를 제1 보안 처리부(334) 및 제1 통신부(336)로 제공한다.The first shared memory processing unit 332 determines whether or not debugging data is recorded in the first shared memory 320. If it is determined that debugging data is recorded, the first shared memory processing unit 332 reads the debugging data in the shared area in which the debugging data is recorded 1 security processing unit 334. [ At this time, the first shared memory processing unit 332 provides the identifier of the shared area in which the debugging data is recorded in the first shared memory to the first security processing unit 334 and the first communication unit 336.

일 실시예에 있어서, 제1 공유 메모리 처리부(332)는 제1 공유 메모리(320)에 기록되는 플래그가 검색되면, 제1 공유 메모리(320)에 디버깅 데이터가 기록된 것으로 판단하고 해당 플래그가 지시하는 공유 영역에서 디버깅 데이터를 독출한 후, 해당 플래그를 클리어시킨다.The first shared memory processing unit 332 determines that the debugging data is written in the first shared memory 320 when the flag recorded in the first shared memory 320 is retrieved, After debugging data is read from the shared area, the corresponding flag is cleared.

제1 보안 처리부(334)는 제1 공유 메모리 처리부(332)에서 독출된 디버깅 데이터를 암호화한다. 일 실시예에 있어서, 제1 보안 처리부(334)는 공유 메모리 정보 상에서 제1 공유 메모리 처리부(332)로부터 전달받은 공유 영역의 식별자와 매칭되어 있는 대칭키를 획득하고, 획득된 대칭키를 이용하여 디버깅 데이터를 암호화할 수 있다. 이때, 제1 보안 처리부(334)는 획득된 대칭키를 이용한 AES(Advanced Encryption Standard) 알고리즘에 따라 디버깅 데이터를 암호화할 수 있다.The first security processing unit 334 encrypts the debugging data read out from the first shared memory processing unit 332. In one embodiment, the first security processing unit 334 obtains a symmetric key matching the identifier of the shared area received from the first shared memory processing unit 332 on the shared memory information, and uses the obtained symmetric key Debugging data can be encrypted. At this time, the first security processing unit 334 can encrypt the debugging data according to the AES (Advanced Encryption Standard) algorithm using the obtained symmetric key.

이와 같이, 본 발명은 대칭키 기반의 암호화 방식을 이용하므로 암호화 속도가 빠를 뿐만 아니라, 암복호화를 위한 대칭키는 외부의 설정파일(예컨대, config.cnf)에 저장되어 리모트 관리 서버(220)와 로컬 관리 서버(230)가 사전에 다른 경로를 통해 공유하고 있기 때문에, 암복화를 위한 프로세스에서 대칭키를 전달할 필요가 없어 대칭키 전달로 인한 보안상의 문제도 미연에 방지할 수 있게 된다.The symmetric key for encryption / decryption is stored in an external configuration file (for example, config.cnf), so that the remote management server 220 and the remote management server 220 Since the local management server 230 previously shares the information through the other path, it is not necessary to transfer the symmetric key in the process for encrypting, so that the security problem due to the symmetric key transfer can be prevented in advance.

제1 통신부(336)는 제1 보안 처리부(334)에 의해 암호화된 디버깅 데이터에 제1 공유 메모리 처리부(332)로부터 전달받은 공유 영역의 식별자를 추가하여 로컬 관리 서버(230)로 전달한다.The first communication unit 336 adds the identifier of the shared area received from the first shared memory processing unit 332 to the debugging data encrypted by the first security processing unit 334 and transfers the identifier to the local management server 230.

상술한 바와 같은 제1 원격관리모듈(330)이 디버깅 데이터를 생성하여 전송하는 과정을 도시화하면 도 4a와 같다. 도 4a에서는 디버깅 데이터가 공유 영역 C에 저장되어 있고, 공유 영역의 식별자는 C인 것으로 도시하였다.
The process of generating and transmitting the debugging data by the first remote management module 330 as shown in FIG. 4A is shown in FIG. 4A. In FIG. 4A, the debugging data is stored in the shared area C, and the identifier of the shared area is shown as C. FIG.

<디버깅 결과값 수신><Receiving debugging result value>

제1 원격관리모듈(330)은 로컬 관리 서버(230)로부터 암호화된 디버깅 결과값이 수신되면, 암호화된 디버깅 결과값을 복호화하여 제1 공유 메모리(320)에 기록한다.When the encrypted debugging result value is received from the local management server 230, the first remote management module 330 decrypts the encrypted debugging result value and writes the decrypted encrypted debugging result value to the first shared memory 320.

구체적으로, 제1 통신부(336)는 로컬 관리 서버(230)로부터 디버깅 결과값을 수신하고, 수신된 디버깅 결과값으로부터 해당 디버깅 결과값이 저장될 공유 영역의 식별자를 획득한다.Specifically, the first communication unit 336 receives the debugging result value from the local management server 230, and obtains the identifier of the shared area in which the corresponding debugging result value is to be stored, from the received debugging result value.

일 실시예에 있어서, 제1 통신부(336)는 수신된 디버깅 결과값의 헤더 영역으로부터 공유 영역의 식별자를 획득할 수 있다. 제1 통신부(336)는 획득한 공유 영역의 식별자를 제1 보안 처리부(334) 및 제1 공유 메모리 처리부(332)로 전달하고, 수신한 디버깅 결과값을 제1 보안 처리부(334)로 전달한다.In one embodiment, the first communication unit 336 may obtain the identifier of the shared area from the header area of the received debugging result value. The first communication unit 336 transfers the obtained identifier of the shared area to the first security processing unit 334 and the first shared memory processing unit 332 and transmits the received debugging result value to the first security processing unit 334 .

제1 보안 처리부(334)는 제1 통신부(336)로부터 전달받은 디버깅 결과값을 복호화한다. 일 실시예에 있어서, 제1 보안 처리부(334)는 로컬 관리 서버(230)와 미리 공유하고 있는 공유 메모리 정보 상에서 제1 통신부(336)로부터 전달받은 공유 영역의 식별자와 매칭되어 있는 대칭키를 획득하고, 획득한 대칭키를 이용하여 디버깅 결과값을 복호화할 수 있다.The first security processing unit 334 decodes the debugging result value received from the first communication unit 336. In one embodiment, the first security processing unit 334 obtains a symmetric key matching the identifier of the shared area transmitted from the first communication unit 336 on the shared memory information previously shared with the local management server 230 And the debugging result value can be decrypted using the obtained symmetric key.

제1 보안 처리부(334)는 복호화한 디버깅 결과값을 제1 공유 메모리 처리부(332)로 전달한다.The first security processing unit 334 transfers the decrypted debugging result value to the first shared memory processing unit 332.

제1 공유 메모리 처리부(332)는 제1 보안 처리부(334)에 의해 복호화된 디버깅 결과값을 제1 공유 메모리(320) 내에서 제1 통신부(336)로부터 전달받은 공유 영역의 식별자에 해당하는 영역 내에 기록한다. 이때, 제1 공유 메모리 처리부(332)는 디버깅 결과값을 제1 공유 메모리(320) 내에 기록하기 위해 로컬 관리 서버(230)와 미리 공유하고 있는 공유 메모리 정보 상에서 제1 통신부(336)로부터 전달받은 공유 영역의 식별자와 매칭되어 있는 공유 영역에 대한 정보를 획득하게 된다.The first shared memory processing unit 332 receives the debugging result value decoded by the first security processing unit 334 in an area corresponding to the identifier of the shared area received from the first communication unit 336 in the first shared memory 320, Lt; / RTI &gt; The first shared memory processing unit 332 receives the debugging result value from the first communication unit 336 on the shared memory information shared in advance with the local management server 230 in order to record the debugging result value in the first shared memory 320 And acquires information on the shared area matching the identifier of the shared area.

상술한 바와 같은 제1 원격관리모듈(330)이 디버깅 결과값을 수신하여 복호화하는 과정을 도시화하면 도 4b와 같다. 도 4b에서는 디버깅 데이터에 포함된 공유 영역의 식별자는 C이고, 따라서 제1 원격관리모듈(330)은 디버깅 결과값을 제1 공유 메모리(320) 내에서 공유 영역 C에 기록하는 것으로 도시하였다.The process of receiving and decoding the debugging result value by the first remote management module 330 as described above is shown in FIG. 4B. In FIG. 4B, the identifier of the shared area included in the debugging data is C, and therefore, the first remote management module 330 records the debugging result value in the shared area C in the first shared memory 320. FIG.

다시 도 3을 참조하면, 제1 공유 메모리(320)에는 제1 원격관리모듈(330)에 의해 복호화된 디버깅 결과값이 공유 영역들 중 하나에 기록된다. 이때, 제1 공유 메모리(320)에서 디버깅 결과값이 기록되는 공유 영역은, 로컬 관리 서버(230)로부터 수신된 디버깅 결과값에서 획득된 공유 영역의 식별자에 상응하는 영역으로 지정된다. 이를 통해 리모트 관리 서버(220) 및 로컬 관리 서버(230)는 마치 하나의 서버 내에서 동작하는 것과 같이 제1 공유 메모리(320)를 사용할 수 있게 된다.Referring again to FIG. 3, a debugging result value decoded by the first remote management module 330 is recorded in one of the shared areas in the first shared memory 320. At this time, the shared area in which the debugging result value is recorded in the first shared memory 320 is designated as an area corresponding to the identifier of the shared area obtained from the debugging result value received from the local management server 230. Accordingly, the remote management server 220 and the local management server 230 can use the first shared memory 320 as if they were operating in one server.

어플리케이션 관리 모듈(310)은 제1 공유 메모리(320)에 디버깅 결과값이 기록되는지 여부를 판단하고, 디버깅 결과값이 기록된 것으로 판단되면 디버깅 결과값이 기록되어 있는 공유 영역에서 디버깅 결과값을 독출하여 운영자에게 제공한다. 이를 통해 운영자는 디버깅이 정상적으로 수행되었는지 여부를 확인할 수 있게 된다.The application management module 310 determines whether the debugging result value is recorded in the first shared memory 320. If it is determined that the debugging result value is recorded, the application management module 310 reads the debugging result value from the shared area in which the debugging result value is recorded To the operator. This enables the operator to check whether debugging has been performed normally.

일 실시예에 있어서, 어플리케이션 관리 모듈(310)은 제1 공유 메모리(320)에서 플래그가 검색되면, 제1 공유 메모리(320)에 디버깅 결과값이 기록된 것으로 판단하고 해당 플래그가 지시하는 공유 영역에서 디버깅 결과값을 독출하고, 해당 플래그를 클리어시킨다.In one embodiment, when the flag is retrieved in the first shared memory 320, the application management module 310 determines that the debugging result value is written in the first shared memory 320, The debugging result value is read out, and the corresponding flag is cleared.

상술한 바와 같은 리모트 관리 서버(220)는 제어용 어플리케이션의 디버깅 이외에도, 제어용 어플리케이션의 모니터링을 수행할 수도 있다.The remote management server 220 as described above may perform monitoring of the control application in addition to debugging of the control application.

다시 도 2를 참조하면, 로컬 관리 서버(230)는 리모트 관리 서버(220)로부터 암호화된 디버깅 데이터를 수신하여 복호화한 후 프로세스 처리 장치(210)로 전달한다. 또한, 로컬 관리 서버(230)는 프로세스 처리 장치(210)로부터 디버깅 결과값을 수신하여 암호화한 후 리모트 관리 서버(220)로 전달한다.Referring again to FIG. 2, the local management server 230 receives and decrypts the encrypted debugging data from the remote management server 220, and transfers the encrypted debugging data to the process processing device 210. Also, the local management server 230 receives the debugging result value from the process processing device 210, encrypts it, and transfers the result to the remote management server 220.

이하, 로컬 관리 서버(230)의 구성을 도 5를 참조하여 보다 구체적으로 설명한다.Hereinafter, the configuration of the local management server 230 will be described in more detail with reference to FIG.

도 5는 본 발명의 일 실시예에 따른 로컬 관리 서버(230)의 구성을 개략적으로 보여주는 블록도이다.5 is a block diagram schematically illustrating the configuration of the local management server 230 according to an embodiment of the present invention.

도 5에 도시된 바와 같이, 본 발명의 일 실시예에 따른 로컬 관리 서버(230)는 시스템 장치 관리 모듈(510), 제2 공유 메모리(520), 및 제2 원격관리모듈(530)을 포함한다.5, the local management server 230 according to an embodiment of the present invention includes a system device management module 510, a second shared memory 520, and a second remote management module 530 do.

이하에서는 설명의 편의를 위해 로컬 관리 서버(230)의 각 구성들(510~530)이 디버깅 결과값을 리모트 관리 서버(220)로 전달하는 방법에 대해 먼저 설명한 후, 각 구성들(510~530)이 디버깅 데이터를 프로세스 처리 장치(210)로 전달하는 방법에 대해 설명하도록 한다.
Hereinafter, for convenience of description, a method of transmitting the debugging result value to the remote management server 220 will be described first with respect to each of the configurations 510 to 530 of the local management server 230, ) The method of transferring the debugging data to the process processing apparatus 210 will be described.

<디버깅 결과값의 전송><Transmission of Debugging Result Value>

시스템 장치 관리 모듈(510)은 프로세스 처리 장치(210)에 의해 생성된 디버깅 결과값을 프로세스 처리 장치(210)로부터 내부 네트워크를 통해 수신한다. 상술한 바와 같이, 디버깅 결과값은 디버깅 데이터를 제어용 어플리케이션(212)에 적용함에 의해 생성되는 것으로서, 디버깅 데이터의 적용을 통해 변경되는 제어로직, 변수, 또는 태그 등의 값을 포함한다. 시스템 장치 관리 모듈(510)은 수신한 디버깅 결과값을 제2 공유 메모리(520)에 기록한다.The system device management module 510 receives the debugging result value generated by the process processing device 210 from the process processing device 210 via the internal network. As described above, the debugging result value is generated by applying the debugging data to the control application 212, and includes values such as control logic, variables, or tags that are changed through application of the debugging data. The system device management module 510 records the received debugging result in the second shared memory 520.

제2 공유 메모리(520)에는 시스템 장치 관리 모듈(510)에 의해 생성된 디버깅 결과값이 공유 영역 중 하나에 기록된다.In the second shared memory 520, the debugging result value generated by the system device management module 510 is recorded in one of the shared areas.

일 실시예에 있어서, 제2 공유 메모리(520) 또한 제1 공유 메모리와 동일하게 복수개의 공유 영역으로 구분되고, 각 공유 영역 별로 식별자(ID)가 부여되어 있으며, 제2 공유 메모리(520)를 구성하는 각 공유 영역 별로 적용할 암호화키가 별도로 할당되어 있다.In an embodiment, the second shared memory 520 is divided into a plurality of shared areas in the same manner as the first shared memory, an identifier (ID) is assigned to each shared area, and a second shared memory 520 The encryption key to be applied to each shared area to be configured is separately allocated.

이때, 로컬 관리 서버(230) 및 리모트 관리 서버(220)는 제1 공유 메모리(320) 및 제2 공유 메모리(520) 중 동일 어드레스에 해당하는 공유 영역에 대해 동일한 식별자 및 동일한 대칭키를 할당하고, 각 공유 영역의 식별자, 상기 식별자에 해당하는 공유 영역의 크기, 및 상기 공유 영역 별로 할당된 암호화키를 서로 매칭시킨 공유 메모리 정보를 사전에 공유하게 된다. 이에 따라, 로컬 관리 서버(230)는 공유 메모리 정보를 기초로 디버깅 결과값이 저장될 공유 영역 별로 할당된 암호화키를 이용하여 디버깅 결과값을 암호화하게 되고, 리모트 관리 서버(220)는 공유 메모리 정보를 기초로 디버깅 결과값이 저장될 공유 영역 별로 할당된 암호화키를 이용하여 디버깅 결과값을 복호화하게 된다.At this time, the local management server 230 and the remote management server 220 allocate the same identifier and the same symmetric key to the shared area corresponding to the same address among the first shared memory 320 and the second shared memory 520 The size of the shared area corresponding to the identifier, and the shared memory information that matches the encryption keys allocated to the shared area in advance. Accordingly, the local management server 230 encrypts the debugging result value using the encryption key allocated to the shared area in which the debugging result value is to be stored based on the shared memory information, and the remote management server 220 encrypts the shared memory information The debugging result value is decrypted using the encryption key allocated to each shared area in which the debugging result value is to be stored.

제2 원격관리모듈(520)은 제2 공유 메모리(520)에 디버깅 결과값이 기록되면, 제2 공유 메모리(520)로부터 디버깅 결과값을 독출하고, 독출된 디버깅 결과값을 암호화하여 리모트 관리 서버(220)로 전달한다.The second remote management module 520 reads the debugging result value from the second shared memory 520 when the debugging result value is recorded in the second shared memory 520, encrypts the read debugging result value, (220).

이를 위해, 제2 원격관리모듈(530)은 제2 공유 메모리 처리부(532), 제2 보안 처리부(534), 및 제2 통신부(536)를 포함한다.To this end, the second remote management module 530 includes a second shared memory processing unit 532, a second security processing unit 534, and a second communication unit 536.

제2 공유 메모리 처리부(532)는 제2 공유 메모리(520)에 디버깅 결과값이 기록되는지 여부를 판단하고, 디버깅 결과값이 기록된 것으로 판단되면 디버깅 결과값이 기록되어 있는 공유 영역에서 디버깅 결과값을 독출하여 제2 보안 처리부(534)로 전달한다. 이때, 제2 공유 메모리 처리부(532)는 제2 공유 메모리(520)에서 디버깅 결과값이 기록되어 있는 공유 영역의 식별자를 제2 보안 처리부(534) 및 제1 통신부(536)로 제공한다.The second shared memory processing unit 532 determines whether the debugging result value is recorded in the second shared memory 520. If it is determined that the debugging result value is recorded, the second shared memory processing unit 532 outputs the debugging result value And transmits it to the second security processing unit 534. At this time, the second shared memory processing unit 532 provides the identifier of the shared area in which the debugging result value is recorded in the second shared memory 520, to the second security processing unit 534 and the first communication unit 536.

일 실시예에 있어서, 제2 공유 메모리 처리부(532)는 제2 공유 메모리(520)에서 플래그가 검색되면, 제2 공유 메모리(520)에 디버깅 결과값이 기록된 것으로 판단하고 해당 플래그가 지시하는 공유 영역에서 디버깅 결과값을 독출하고, 해당 플래그를 클리어시킨다.In one embodiment, when the flag is retrieved in the second shared memory 520, the second shared memory processing unit 532 determines that the debugging result value is written in the second shared memory 520, Reads the debugging result value from the shared area, and clears the corresponding flag.

제2 보안 처리부(534)는 제2 공유 메모리 처리부(532)에서 독출된 디버깅 결과값을 암호화한다. 일 실시예에 있어서, 제2 보안 처리부(534)는 공유 메모리 정보 상에서 제2 공유 메모리 처리부(532)로부터 전달받은 공유 영역의 식별자와 매칭되어 있는 대칭키를 획득하고, 획득된 대칭키를 이용하여 디버깅 결과값을 암호화할 수 있다. 이때, 제2 보안 처리부(534)는 획득된 대칭키를 이용한 AES(Advanced Encryption Standard) 알고리즘에 따라 디버깅 결과값을 암호화할 수 있다.The second security processing unit 534 encrypts the debugging result value read out from the second shared memory processing unit 532. In one embodiment, the second security processing unit 534 obtains a symmetric key matching the identifier of the shared area received from the second shared memory processing unit 532 on the shared memory information, and uses the obtained symmetric key The debugging result value can be encrypted. At this time, the second security processing unit 534 may encrypt the debugging result value according to an AES (Advanced Encryption Standard) algorithm using the obtained symmetric key.

제2 통신부(536)는 제2 보안 처리부(534)에 의해 암호화된 디버깅 결과값에 제2 공유 메모리 처리부(532)로부터 전달받은 공유 영역의 식별자를 추가하여 외부 네트워크를 통해 리모트 관리 서버(220)로 전달한다.The second communication unit 536 adds the identifier of the shared area received from the second shared memory processing unit 532 to the debugging result value encrypted by the second security processing unit 534 and transmits the identifier to the remote management server 220 through the external network, .

상술한 바와 같은 제2 원격관리모듈(530)이 디버깅 결과값을 전달하는 과정을 도시화하면 도 6a와 같다. 도 6a에서는 디버깅 결과값이 공유 영역 C에 저장되어 있고, 공유 영역의 식별자는 C인 것으로 도시하였다.
The process of transmitting the debugging result value by the second remote management module 530 will be described with reference to FIG. 6A. In FIG. 6A, the debugging result value is stored in the shared area C, and the identifier of the shared area is shown as C.

<디버깅 데이터 수신><Receiving debugging data>

제2 원격관리모듈(530)은 리모트 관리 서버(220)로부터 암호화된 디버깅 데이터가 수신되면, 암호화된 디버깅 데이터를 복호화하여 제2 공유 메모리(520)에 기록한다.When the encrypted debugging data is received from the remote management server 220, the second remote management module 530 decrypts the encrypted debugging data and records the decrypted encrypted debugging data in the second shared memory 520.

구체적으로, 제2 통신부(536)는 리모트 관리 서버(220)로부터 디버깅 데이터를 수신하고, 수신된 디버깅 데이터로부터 해당 디버깅 데이터가 저장될 공유 영역의 식별자를 획득한다. 일 실시예에 있어서, 제2 통신부(536)는 수신된 디버깅 데이터의 헤더 영역으로부터 공유 영역의 식별자를 획득할 수 있다. 제2 통신부(536)는 획득한 공유 영역의 식별자를 제2 보안 처리부(534) 및 제2 공유 메모리 처리부(532)로 전달하고, 수신한 디버깅 데이터를 제2 보안 처리부(534)로 전달한다.Specifically, the second communication unit 536 receives the debugging data from the remote management server 220 and acquires the identifier of the shared area in which the corresponding debugging data is to be stored, from the received debugging data. In one embodiment, the second communication unit 536 may obtain the identifier of the shared area from the header area of the received debugging data. The second communication unit 536 transfers the obtained identifier of the shared area to the second security processing unit 534 and the second shared memory processing unit 532 and transfers the received debugging data to the second security processing unit 534.

제2 보안 처리부(534)는 제2 통신부(536)로부터 전달받은 디버깅 데이터를 복호화한다. 일 실시예에 있어서, 제2 보안 처리부(534)는 리모트 관리 서버(220)와 미리 공유하고 있는 공유 메모리 정보 상에서 제2 통신부(536)로부터 전달받은 공유 영역의 식별자와 매칭되어 있는 대칭키를 획득하고, 획득한 대칭키를 이용하여 디버깅 데이터를 복호화할 수 있다.The second security processing unit 534 decrypts the debugging data transmitted from the second communication unit 536. In one embodiment, the second security processing unit 534 acquires a symmetric key matching the identifier of the shared area received from the second communication unit 536 on the shared memory information previously shared with the remote management server 220 And the debugging data can be decrypted using the obtained symmetric key.

제2 보안 처리부(534)는 복호화한 디버깅 데이터를 제2 공유 메모리 처리부(532)로 전달한다.The second security processing unit 534 transfers the decrypted debugging data to the second shared memory processing unit 532.

제2 공유 메모리 처리부(532)는 제2 보안 처리부(534)에 의해 복호화된 디버깅 데이터를 제2 공유 메모리(520) 내에서 제2 통신부(536)로부터 전달받은 공유 영역의 식별자에 해당하는 영역 내에 기록한다. 이때, 제2 공유 메모리 처리부(532)는 디버깅 데이터를 제2 공유 메모리(520) 내에 기록하기 위해 리모트 관리 서버(220)와 미리 공유하고 있는 공유 메모리 정보 상에서 제2 통신부(536)로부터 전달받은 공유 영역의 식별자와 매칭되어 있는 공유 영역에 대한 정보를 획득하게 된다.The second shared memory processing unit 532 stores the debugging data decoded by the second security processing unit 534 in the area corresponding to the identifier of the shared area received from the second communication unit 536 in the second shared memory 520 Record. At this time, the second shared memory processing unit 532 transmits the shared data received from the second communication unit 536 on the shared memory information that is preliminarily shared with the remote management server 220 in order to record the debugging data in the second shared memory 520 And acquires information on the shared area that matches the identifier of the area.

상술한 바와 같은 제2 원격관리모듈(530)이 디버깅 데이터를 수신하여 복호화하는 과정을 도시화하면 도 6b와 같다. 도 6b에서는 디버깅 데이터에 포함된 공유 영역의 식별자는 C이고, 따라서 제2 원격관리모듈(530)은 디버깅 데이터를 제2 공유 메모리(520) 내에서 공유 영역 C에 기록하는 것으로 도시하였다.The process of receiving and decoding the debugging data by the second remote management module 530 will be described with reference to FIG. 6B. In FIG. 6B, the identifier of the shared area included in the debugging data is C, and therefore, the second remote management module 530 records the debugging data in the second shared memory 520 in the shared area C. FIG.

제2 공유 메모리(520)에는 제2 원격관리모듈(530)에 의해 복호화된 디버깅 데이터가 공유 영역들 중 하나에 기록된다. 이때, 제2 공유 메모리(520)에서 디버깅 데이터가 기록되는 공유 영역은, 리모트 관리 서버(220)로부터 수신된 디버깅 데이터에서 획득된 공유 영역의 식별자에 상응하는 영역으로 지정된다. 이를 통해 로컬 관리 서버(230) 및 리모트 관리 서버(220)는 마치 하나의 서버 내에서 동작하는 것과 같이 제2 공유 메모리(520)를 사용할 수 있게 된다.In the second shared memory 520, the debugging data decoded by the second remote management module 530 is recorded in one of the shared areas. At this time, the shared area in which the debugging data is written in the second shared memory 520 is designated as an area corresponding to the identifier of the shared area obtained from the debugging data received from the remote management server 220. The local management server 230 and the remote management server 220 can use the second shared memory 520 as if they were operating in one server.

시스템 장치 관리 모듈(510)은 제2 공유 메모리(520)에 디버깅 데이터가 기록되는지 여부를 판단하고, 디버깅 데이터가 기록된 것으로 판단되면 디버깅 데이터가 기록되어 있는 공유 영역에서 디버깅 데이터를 독출하여 프로세스 처리 장치(210)로 전달한다. 이를 통해 프로세스 처리 장치(210)는 디버깅 데이터를 제어용 어플리케이션(212)에 적용함으로써 제어용 어플리케이션(212)이 수정되도록 할 수 있다.The system device management module 510 determines whether or not debugging data is recorded in the second shared memory 520. If it is determined that the debugging data is recorded, the system device management module 510 reads the debugging data from the shared area in which the debugging data is recorded, To the device 210. This allows the process processing device 210 to modify the control application 212 by applying debugging data to the control application 212.

일 실시예에 있어서, 시스템 장치 관리 모듈(510)은 제2 공유 메모리(520)에서 플래그가 검색되면, 제2 공유 메모리(520)에 디버깅 데이터가 기록된 것으로 판단하고 해당 플래그가 지시하는 공유 영역에서 디버깅 데이터를 독출하고, 해당 플래그를 클리어시킨다.In one embodiment, when the flag is retrieved in the second shared memory 520, the system device management module 510 determines that the debugging data is written in the second shared memory 520, The debugging data is read out and the corresponding flag is cleared.

상술한 바와 같은 시스템 장치 관리 모듈(510)는 디버깅 데이터 및 디버깅 결과값의 전달 이외에, 프로세서 처리 장치(210)로부터 프로세스 처리 장치(210) 및 현장에 설치된 장치들의 상태정보를 수신하여 각 장치들의 상태를 진단하거나, 프로세스 처리 장치(210)의 환경설정을 하는 기능을 추가로 수행할 수도 있다.The system device management module 510 as described above receives the status information of the process processing device 210 and field installed devices from the processor processing device 210 in addition to the transmission of the debugging data and the debugging result value, Or perform a function of setting the environment of the process processing apparatus 210.

이와 같이, 본 발명에 따른 제어 시스템(200)은, 제어용 어플리케이션(212)을 디버깅하기 위한 리모트 관리 서버(220)와 제어용 어플리케이션(212)의 디버깅 데이터를 프로세스 처리 장치(210)로 전달하기 위한 로컬 관리 서버(230)를 서로 분리하여 구현함으로써 운영자가 원격에서도 제어용 어플리케이션(212)을 디버깅할 수 있게 된다.
As described above, the control system 200 according to the present invention includes a remote management server 220 for debugging the control application 212, and a local (local) server for transmitting the debugging data of the control application 212 to the process processing device 210. [ And the management server 230 are separated from each other so that the operator can debug the control application 212 remotely.

이하, 도 7을 참조하여 본 발명에 따른 제어 시스템의 원격 디버깅 방에 대해 설명한다.Hereinafter, a remote debugging room of the control system according to the present invention will be described with reference to FIG.

도 7은 본 발명의 일 실시예에 따른 제어 시스템의 원격 디버깅 방법을 보여주는 플로우차트이다.7 is a flowchart showing a remote debugging method of a control system according to an embodiment of the present invention.

도 7에 도시된 제어 시스템의 원격 디버깅 방법은 도 2에 도시된 바와 같은 구성을 갖는 제어 시스템에 적용될 수 있다.The remote debugging method of the control system shown in Fig. 7 can be applied to a control system having a configuration as shown in Fig.

먼저, 리모트 관리 서버가 프로세스 처리 장치에 탑재된 제어용 어플리케이션의 디버깅 데이터를 생성하여 제1 공유 메모리에 기록한다(S700). 일 실시예에 있어서, 디버깅 데이터는 제어용 어플리케이션에 포함된 제어로직, 변수, 또는 태그 등의 변경 데이터를 포함할 수 있다.First, the remote management server generates debugging data of the control application loaded in the process processing apparatus and writes the debugging data in the first shared memory (S700). In one embodiment, the debugging data may include change data, such as control logic, variables, or tags, included in the control application.

이후, 리모트 관리 서버는 제1 공유 메모리로부터 디버깅 데이터를 독출하고(S710), 제1 공유 메모리에서 디버깅 데이터가 기록되어 있는 공유 영역의 식별자에 대해 할당된 대칭키를 이용하여 디버깅 데이터를 암호화한다(S720).Thereafter, the remote management server reads the debugging data from the first shared memory (S710) and encrypts the debugging data using the symmetric key assigned to the identifier of the shared area in which the debugging data is recorded in the first shared memory S720).

일 실시예에 있어서, 리모트 관리 서버는 제1 공유 메모리에 기록된 플래그(Flag)를 기초로 제1 공유 메모리에 디버깅 데이터가 기록되는지 여부를 판단할 수 있고, 제1 공유 메모리에서 플래그가 지시하는 식별자에 해당하는 공유 영역에서 디버깅 데이터를 독출할 수 있다. 이러한 실시예에 따르는 경우, 리모트 관리 서버는 제1 공유 메모리에서 디버깅 데이터의 독출이 완료되면 해당 플래그를 클리어시킨다.In one embodiment, the remote management server can determine whether or not debugging data is written to the first shared memory based on the flag (Flag) recorded in the first shared memory, Debugging data can be read from the shared area corresponding to the identifier. According to this embodiment, the remote management server clears the corresponding flag when the reading of the debugging data from the first shared memory is completed.

이후, 리모트 관리 서버는 암호화된 디버깅 데이터에 디버깅 데이터가 기록되어 있는 공유 영역의 식별자를 추가하여 외부 네트워크를 통해 로컬 관리 서버로 전송한다(S730).Thereafter, the remote management server adds the identifier of the shared area in which the debugging data is recorded to the encrypted debugging data, and transmits the identifier to the local management server through the external network (S730).

이후, 로컬 관리 서버는 암호화된 디버깅 데이터에 포함된 공유 영역의 식별자를 기초로 제2 공유 메모리에서 디버깅 데이터가 기록될 공유 영역을 결정한다(S740). 일 실시예에 있어서, 로컬 관리 서버는 S730에서 수신된 암호화된 디버깅 데이터의 헤더 부분에서 공유 영역의 식별자를 획득할 수 있다.Thereafter, the local management server determines a shared area in which debugging data is to be written in the second shared memory based on the identifier of the shared area included in the encrypted debugging data (S740). In one embodiment, the local management server may obtain the identifier of the shared area in the header portion of the encrypted debugging data received at S730.

이후, 로컬 관리 서버는 암호화된 디버깅 데이터를 암호화된 디버깅 데이터가 기록될 공유 영역에 할당된 대칭키를 이용하여 복호화한다(S750).Thereafter, the local management server decrypts the encrypted debugging data using the symmetric key allocated to the shared area in which the encrypted debugging data will be written (S750).

본 발명의 경우, 로컬 관리 서버 및 리모트 관리 서버는 제1 공유 메모리 및 제2 공유 메모리를 구성하는 각 공유 영역의 식별자, 상기 식별자에 해당하는 공유 영역의 크기, 및 상기 공유 영역 별로 할당된 암호화키가 매칭되어 저장된 공유 메모리 정보를 설정파일 형태로 사전에 공유하고 있기 때문에, 디버깅 데이터가 저장되는 공유 영역 별로 할당된 대칭키를 이용하여 디버깅 데이터를 안전하게 암호화 또는 복호화할 수 있다.In the case of the present invention, the local management server and the remote management server store the identifier of each shared area constituting the first shared memory and the second shared memory, the size of the shared area corresponding to the identifier, The shared memory information stored in advance is shared in the form of a configuration file, so that the debugging data can be securely encrypted or decrypted using the symmetric key allocated to each shared area in which the debugging data is stored.

이후, 로컬 관리 서버는 복호화된 디버깅 데이터를 제2 공유 메모리에서 디버깅 데이터가 기록될 공유 영역에 기록한다(S760).Thereafter, the local management server records the decrypted debugging data in the second shared memory in the shared area where the debugging data is to be recorded (S760).

이후, 로컬 관리 서버는 제2 공유 메모리에 기록된 디버깅 데이터를 독출하여 프로세스 처리 장치로 전달한다(S770).Thereafter, the local management server reads the debugging data recorded in the second shared memory and transfers it to the process processor (S770).

이후, 프로세스 처리 장치는 S770에서 전달받은 디버깅 데이터를 제어용 어플리케이션에 적용함으로써 디버깅 결과값을 생성한 후(S780), 생성된 디버깅 결과값을 내부 네트워크를 통해 로컬 관리 서버로 전송한다(S790).In step S780, the process processor generates a debugging result by applying the debugging data received in step S770 to the control application, and transmits the generated debugging result to the local management server through the internal network in step S790.

이후, 로컬 관리 서버는 프로세스 처리 장치로부터 수신되는 디버깅 결과값을 제2 공유 메모리에 기록한다(S800). 일 실시예에 있어서, 디버깅 결과값은 디버깅 데이터의 적용을 통해 변경되는 제어로직, 변수, 또는 태그 등의 값을 포함할 수 있다.Thereafter, the local management server records the debugging result value received from the process processing device in the second shared memory (S800). In one embodiment, the debugging result values may include values such as control logic, variables, or tags that change through application of debugging data.

이후, 로컬 관리 서버는 제2 공유 메모리로부터 디버깅 결과값을 독출하고(S810), 제2 공유 메모리에서 디버깅 결과값이 기록되어 있는 공유 영역의 식별자에 대해 할당된 대칭키를 이용하여 디버깅 결과값을 암호화한다(S820). 일 실시예에 있어서, 로컬 관리 서버는 제2 공유 메모리에 기록된 플래그를 기초로 제2 공유 메모리에 디버깅 결과값이 기록되는지 여부를 판단할 수 있고, 제2 공유 메모리에서 플래그가 지시하는 식별자에 해당하는 공유 영역에서 디버깅 결과값을 독출할 수 있다. 이러한 실시예에 따르는 경우, 로컬 관리 서버는 제2 공유 메모리에서 디버깅 결과값의 독출이 완료되면 해당 플래그를 클리어시킨다.Thereafter, the local management server reads the debugging result value from the second shared memory (S810), and uses the symmetric key assigned to the identifier of the shared area in which the debugging result value is recorded in the second shared memory, And encrypts it (S820). In one embodiment, the local management server can determine whether the debugging result value is recorded in the second shared memory based on the flag recorded in the second shared memory, and determine whether the debugging result value is recorded in the identifier indicated by the flag in the second shared memory The debugging result value can be read out from the corresponding shared area. According to this embodiment, the local management server clears the corresponding flag when the reading of the debugging result value from the second shared memory is completed.

이후, 로컬 관리 서버는 암호화된 디버깅 결과값에 디버깅 결과값이 기록되어 있는 공유 영역의 식별자를 추가하여 외부 네트워크를 통해 리모트 관리 서버로 전송한다(S830).Thereafter, the local management server adds the identifier of the shared area in which the debugging result value is recorded to the encrypted debugging result value, and transmits the identifier to the remote management server through the external network (S830).

이후, 리모트 관리 서버는 로컬 관리 서버로부터 암호화된 디버깅 결과값이 수신되면, 디버깅 결과값에 포함된 공유 영역의 식별자를 기초로 제1 공유 메모리에서 디버깅 결과값이 기록될 공유 영역을 결정한다(S840). 일 실시예에 있어서, 리모트관리 서버는 S830에서 수신된 암호화된 디버깅 결과값의 헤더 부분에서 공유 영역의 식별자를 획득할 수 있다.Thereafter, when the encrypted debugging result value is received from the local management server, the remote management server determines a shared area in which the debugging result value is to be recorded in the first shared memory based on the identifier of the shared area included in the debugging result value (S840 ). In one embodiment, the remote management server can obtain the identifier of the shared area in the header portion of the encrypted debugging result value received at S830.

이후, 리모트 관리 서버는 암호화된 디버깅 결과값을 암호화된 디버깅 결과값이 기록될 공유 영역에 할당된 대칭키를 이용하여 복호화한다(S850).Thereafter, the remote management server decrypts the encrypted debugging result value using the symmetric key assigned to the shared area in which the encrypted debugging result value is to be recorded (S850).

이후, 리모트 관리 서버는 복호화된 디버깅 결과값을 제1 공유 메모리에서 디버깅 결과값이 기록될 공유 영역에 기록한다(S860).Thereafter, the remote management server records the decrypted debugging result value in the shared area in which the debugging result value is to be recorded in the first shared memory (S860).

이후, 리모트 관리 서버는 제1 공유 메모리에 기록된 디버깅 결과값을 독출하여 운영자에게 제공한다(S870).Thereafter, the remote management server reads the debugging result value recorded in the first shared memory and provides it to the operator (S870).

본 명이 속하는 기술분야의 당업자는 상술한 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다.Those skilled in the art will appreciate that the invention described above may be embodied in other specific forms without departing from the spirit or essential characteristics thereof.

그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.It is therefore to be understood that the above-described embodiments are illustrative in all aspects and not restrictive. The scope of the present invention is defined by the appended claims rather than the detailed description and all changes or modifications derived from the meaning and scope of the claims and their equivalents are to be construed as being included within the scope of the present invention do.

200: 제어 시스템 210: 프로세스 처리 장치
220: 리모트 관리 서버 230: 로컬 관리 서버
310: 어플리케이션 관리 모듈 320: 제1 공유 메모리
330: 제1 원격관리모듈 332: 제1 공유 메모리 처리부
334: 제1 보안 처리부 336: 제1 통신부
510: 시스템 장치 관리 모듈 520: 제2 공유 메모리
530: 제2 원격관리모듈 532: 제2 공유 메모리 처리부
534: 제2 보안 처리부 536: 제2 통신부
200: control system 210: process processing device
220: remote management server 230: local management server
310: application management module 320: first shared memory
330: first remote management module 332: first shared memory processor
334: first security processing unit 336: first communication unit
510: system device management module 520: second shared memory
530: second remote management module 532: second shared memory processor
534: second security processing unit 536: second communication unit

Claims (12)

현장에 설치된 장치들을 제어용 어플리케이션을 이용하여 제어하는 프로세스 처리 시스템;
상기 제어용 어플리케이션의 디버깅 데이터를 생성하여 제1 공유 메모리에 기록하는 어플리케이션 관리 모듈과, 상기 제1 공유 메모리에서 상기 디버깅 데이터를 독출하여 암호화하는 제1 원격관리모듈을 포함하는 리모트 관리 서버; 및
상기 제1 원격관리모듈로부터 상기 디버깅 데이터를 수신하고 상기 수신된 디버깅 데이터를 복호화하여 제2 공유 메모리에 기록하는 제2 원격관리모듈과, 상기 제2 공유 메모리에 기록된 상기 디버깅 데이터를 독출하여 상기 프로세스 처리 시스템으로 전달하는 시스템 장치 관리 모듈을 포함하는 로컬 관리 서버를 포함하고,
상기 로컬 관리 서버와 상기 프로세스 처리 시스템은 내부 네트워크를 통해 연결되고, 상기 리모트 관리 서버와 상기 로컬 관리 서버는 외부 네트워크를 통해 연결되고,
상기 디버깅 데이터는 상기 제어용 어플리케이션을 원격에서 디버깅하기 위한 데이터인 것을 특징으로 하는 원격 디버깅이 가능한 폐쇠망 기반의 제어 시스템.
A process processing system for controlling devices installed in the field using a control application;
A remote management server including an application management module for generating debugging data of the control application and recording the debugging data in the first shared memory, and a first remote management module for reading and encrypting the debugging data in the first shared memory; And
A second remote management module that receives the debugging data from the first remote management module and decodes the received debugging data and writes the decrypted debugging data to a second shared memory; a second remote management module that reads the debugging data recorded in the second shared memory, And a local management server including a system device management module for transferring the management information to a process processing system,
Wherein the local management server and the process processing system are connected via an internal network, the remote management server and the local management server are connected via an external network,
Wherein the debugging data is data for remotely debugging the control application.
제1항에 있어서,
상기 리모트 관리 서버 및 상기 로컬 관리 서버는,
상기 제1 원격관리모듈 및 제2 원격관리모듈은,
상기 디버깅 데이터가 저장될 공유 영역 별로 할당된 암호화키를 이용하여 상기 디버깅 데이터를 암호화 또는 복호화하는 것을 특징으로 하는 원격 디버깅이 가능한 폐쇠망 기반의 제어 시스템.
The method according to claim 1,
The remote management server and the local management server,
Wherein the first remote management module and the second remote management module,
Wherein the debugging data is encrypted or decrypted using an encryption key allocated to each shared area in which the debugging data is to be stored.
제1항에 있어서,
상기 제1 원격관리모듈은,
상기 제1 공유 메모리로부터 상기 디버깅 데이터를 독출하는 제1 공유 메모리 처리부;
상기 디버깅 데이터를 상기 디버깅 데이터가 기록되어 있는 공유 영역 별로 할당된 대칭키로 암호화하는 제1 보안처리부; 및
상기 암호화된 디버깅 데이터에 상기 디버깅 데이터가 기록되어 있는 공유 영역의 식별자를 추가하여 상기 제2 원격관리모듈로 전송하는 제1 통신부를 포함하는 것을 특징으로 하는 원격 디버깅이 가능한 폐쇠망 기반의 제어 시스템.
The method according to claim 1,
Wherein the first remote management module comprises:
A first shared memory processing unit for reading the debugging data from the first shared memory;
A first security processing unit for encrypting the debugging data with a symmetric key allocated to each shared area in which the debugging data is recorded; And
And a first communication unit for adding an identifier of a shared area in which the debugging data is recorded to the encrypted debugging data and transmitting the identifier to the second remote management module.
제3항에 있어서,
상기 제1 공유 메모리 처리부는,
상기 제1 공유 메모리에 기록된 플래그(Flag)를 기초로 상기 제1 공유 메모리에 상기 디버깅 데이터의 기록 여부를 판단하고, 상기 제1 공유 메모리에 상기 디버깅 데이터가 기록된 것으로 판단되면 상기 제1 공유 메모리에서 상기 플래그가 지시하는 식별자에 해당하는 공유 영역에서 상기 디버깅 데이터를 독출한 후 상기 플래그를 클리어하는 것을 특징으로 하는 원격 디버깅이 가능한 폐쇠망 기반의 제어 시스템.
The method of claim 3,
Wherein the first shared memory processing unit comprises:
Wherein the control unit determines whether or not the debugging data is written in the first shared memory based on a flag recorded in the first shared memory and if the debugging data is recorded in the first shared memory, And the flag is cleared after reading the debugging data from the shared area corresponding to the identifier indicated by the flag in the memory.
제1항에 있어서,
상기 제2 원격관리모듈은,
상기 제1 원격관리모듈로부터 상기 암호화된 디버깅 데이터를 수신하고, 상기 암호화된 디버깅 데이터에 포함된 공유 영역의 식별자를 기초로 상기 제2 공유 메모리에서 상기 암호화된 디버깅 데이터가 기록될 공유 영역을 결정하는 제2 통신부;
상기 암호화된 디버깅 데이터를 상기 암호화된 디버깅 데이터가 기록될 공유 영역에 할당된 대칭키로 복호화하는 제2 보안처리부; 및
상기 복호화된 디버깅 데이터를 상기 제2 공유 메모리에서 상기 디버깅 데이터가 기록될 공유 영역에 기록하는 제2 공유 메모리 처리부를 포함하는 것을 특징으로 하는 원격 디버깅이 가능한 폐쇠망 기반의 제어 시스템.
The method according to claim 1,
Wherein the second remote management module comprises:
Receiving the encrypted debugging data from the first remote management module and determining a shared area in which the encrypted debugging data is to be recorded in the second shared memory based on the identifier of the shared area included in the encrypted debugging data A second communication unit;
A second security processing unit for decrypting the encrypted debugging data with a symmetric key allocated to a shared area in which the encrypted debugging data is to be recorded; And
And a second shared memory processor for recording the decrypted debugging data in the second shared memory in a shared area in which the debugging data is to be written.
제1항에 있어서,
상기 프로세스 처리 시스템는 상기 디버깅 데이터를 상기 제어용 어플리케이션에 적용하여 디버깅 결과값을 생성하고,
상기 시스템 장치 관리 모듈은 상기 디버깅 결과값을 상기 제2 공유 메모리에 기록하며,
상기 제2 원격관리모듈은 상기 디버깅 결과값을 암호화하여 상기 제1 원격관리모듈로 전송하고,
상기 제1 원격관리모듈은 상기 암호화된 디버깅 결과값을 수신하여 복호화하고, 복호화된 디버깅 결과값을 상기 제1 공유 메모리에 기록하며,
상기 어플리케이션 관리 모듈은 상기 제1 공유 메모리에서 상기 디버깅 결과값을 독출하는 것을 특징으로 하는 원격 디버깅이 가능한 폐쇠망 기반의 제어 시스템.
The method according to claim 1,
Wherein the process processing system applies the debugging data to the control application to generate a debugging result value,
The system device management module writes the debugging result value to the second shared memory,
The second remote management module encrypts the debugging result value and transmits the encrypted debugging result value to the first remote management module,
Wherein the first remote management module receives and decrypts the encrypted debugging result value, writes the decrypted debugging result value to the first shared memory,
Wherein the application management module reads the debugging result value from the first shared memory.
제6항에 있어서,
상기 제2 원격관리모듈은,
상기 제2 공유 메모리로부터 상기 디버깅 결과값을 독출하는 제2 공유 메모리 처리부;
상기 디버깅 결과값을 상기 디버깅 결과값이 기록되어 있는 공유 영역 별로 할당된 대칭키로 암호화하는 제2 보안처리부; 및
상기 암호화된 디버깅 결과값에 상기 디버깅 결과값이 기록되어 있는 공유 영역의 식별자를 추가하여 상기 제1 원격관리모듈로 전송하는 제2 통신부를 포함하는 것을 특징으로 하는 원격 디버깅이 가능한 폐쇠망 기반의 제어 시스템.
The method according to claim 6,
Wherein the second remote management module comprises:
A second shared memory processing unit for reading the debugging result value from the second shared memory;
A second security processing unit for encrypting the debugging result value with a symmetric key allocated to each shared area in which the debugging result value is recorded; And
And a second communication unit for adding an identifier of a shared area in which the debugging result value is recorded to the encrypted debugging result value and transmitting the identifier to the first remote management module. system.
제6항에 있어서,
상기 제1 원격관리모듈은,
상기 제2 원격관리모듈로부터 상기 암호화된 디버깅 결과값을 수신하고, 상기 암호화된 디버깅 결과값에 포함된 공유 영역의 식별자를 기초로 상기 제1 공유 메모리에서 상기 암호화된 디버깅 결과값이 기록될 공유 영역을 결정하는 제1 통신부;
상기 암호화된 디버깅 결과값을 상기 암호화된 디버깅 결과값이 기록될 공유 영역에 할당된 대칭키로 복호화하는 제1 보안처리부; 및
상기 복호화된 디버깅 결과값을 상기 제1 공유 메모리에서 상기 디버깅 결과값이 기록될 공유 영역에 기록하는 제1 공유 메모리 처리부를 포함하는 것을 특징으로 하는 원격 디버깅이 가능한 폐쇠망 기반의 제어 시스템.
The method according to claim 6,
Wherein the first remote management module comprises:
Receiving the encrypted debugging result value from the second remote management module and storing the encrypted debugging result in the first shared memory based on the identifier of the shared area included in the encrypted debugging result value, A first communication unit for determining the first communication unit;
A first security processing unit for decrypting the encrypted debugging result value with a symmetric key assigned to a shared area in which the encrypted debugging result value is to be recorded; And
And a first shared memory processor for recording the decrypted debugging result value in a shared area in which the debugging result value is to be recorded in the first shared memory.
현장에 설치된 장치들의 제어를 위한 제어용 어플리케이션이 탑재된 프로세스 처리 장치, 상기 프로세스 처리 장치와 내부 네트워크를 통해 연결된 리모트 관리 서버, 및 상기 리모트 관리 서버와 외부 네트워크를 통해 연결된 로컬 관리 서버를 포함하는 제어 시스템의 원격 디버깅 방법으로서,
상기 리모트 관리 서버가 상기 제어용 어플리케이션의 디버깅 데이터를 생성하여 제1 공유 메모리에 기록하는 단계;
상기 리모트 관리 서버가 제1 공유 메모리로부터 상기 디버깅 데이터를 독출하여 암호화하는 단계;
상기 로컬 관리 서버가 상기 리모트 관리 서버로부터 전달되는 상기 암호화된 디버깅 데이터를 복호화여 제2 공유 메모리에 기록하는 단계; 및
상기 로컬 관리 서버가 상기 제2 공유 메모리에 기록된 상기 디버깅 데이터를 독출하여 상기 프로세스 처리 장치으로 전달하는 단계를 포함하고,
상기 디버깅 데이터는 상기 제어용 어플리케이션을 원격에서 디버깅하기 위한 데이터인 것을 특징으로 하는 제어 시스템의 원격 디버깅 방법.
A control processing system including a control application for controlling devices installed on the field, a remote management server connected to the process processing apparatus via an internal network, and a local management server connected to the remote management server through an external network A method for remote debugging,
Generating the debugging data of the control application by the remote management server and recording the generated debugging data in the first shared memory;
Reading the debugging data from the first shared memory and encrypting the debugging data;
The local management server decrypting the encrypted debugging data transmitted from the remote management server and writing the encrypted debugging data to a second shared memory; And
Reading the debugging data recorded in the second shared memory by the local management server and transferring the debugging data to the process processing apparatus,
Wherein the debugging data is data for remotely debugging the control application.
제9항에 있어서,
상기 디버깅 데이터는, 상기 디버깅 데이터가 저장되는 공유 영역 별로 할당된 암호화키를 이용하여 암호화 또는 복호화하는 것을 특징으로 하는 제어 시스템의 원격 디버깅 방법.
10. The method of claim 9,
Wherein the debugging data is encrypted or decrypted using an encryption key allocated to each shared area in which the debugging data is stored.
제9항에 있어서,
상기 디버깅 데이터를 독출하여 암호화하는 단계는,
상기 제1 공유 메모리로부터 상기 디버깅 데이터를 독출하는 단계;
상기 디버깅 데이터를 상기 디버깅 데이터가 기록되어 있는 공유 영역 별로 할당된 대칭키로 암호화하는 단계; 및
상기 암호화된 디버깅 데이터에 상기 디버깅 데이터가 기록되어 있는 공유 영역의 식별자를 추가하는 단계를 포함하는 것을 특징으로 하는 제어 시스템의 원격 디버깅 방법.
10. The method of claim 9,
Wherein the step of reading and encrypting the debugging data comprises:
Reading the debugging data from the first shared memory;
Encrypting the debugging data with a symmetric key allocated to each shared area in which the debugging data is recorded; And
And adding an identifier of a shared area in which the debugging data is recorded to the encrypted debugging data.
제9항에 있어서,
상기 암호화된 디버깅 데이터를 복호화여 제2 공유 메모리에 기록하는 단계는,
상기 암호화된 디버깅 데이터를 수신하는 단계;
상기 암호화된 디버깅 데이터에 포함된 공유 영역의 식별자를 기초로 상기 제2 공유 메모리에서 상기 암호화된 디버깅 데이터가 기록될 공유 영역을 결정하는 단계;
상기 암호화된 디버깅 데이터를 상기 암호화된 디버깅 데이터가 기록될 공유 영역에 할당된 대칭키로 복호화하는 단계; 및
상기 복호화된 디버깅 데이터를 상기 제2 공유 메모리에서 상기 디버깅 데이터가 기록될 공유 영역에 기록하는 단계를 포함하는 것을 특징으로 하는 제어 시스템의 원격 디버깅 방법.
10. The method of claim 9,
Wherein the step of decrypting the encrypted debugging data and writing the encrypted debugging data to the second shared memory comprises:
Receiving the encrypted debugging data;
Determining a shared area to which the encrypted debugging data is to be written in the second shared memory based on the identifier of the shared area included in the encrypted debugging data;
Decrypting the encrypted debugging data with a symmetric key assigned to a shared area in which the encrypted debugging data is to be recorded; And
And writing the decrypted debugging data in the second shared memory to a shared area in which the debugging data is to be written.
KR1020140192309A 2014-12-29 2014-12-29 Control System Based on Closed Network Capable of Remote Debugging and Remote Debugging Method Using The Same KR101611103B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140192309A KR101611103B1 (en) 2014-12-29 2014-12-29 Control System Based on Closed Network Capable of Remote Debugging and Remote Debugging Method Using The Same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140192309A KR101611103B1 (en) 2014-12-29 2014-12-29 Control System Based on Closed Network Capable of Remote Debugging and Remote Debugging Method Using The Same

Publications (1)

Publication Number Publication Date
KR101611103B1 true KR101611103B1 (en) 2016-04-21

Family

ID=55918022

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140192309A KR101611103B1 (en) 2014-12-29 2014-12-29 Control System Based on Closed Network Capable of Remote Debugging and Remote Debugging Method Using The Same

Country Status (1)

Country Link
KR (1) KR101611103B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110440421A (en) * 2019-08-07 2019-11-12 珠海格力电器股份有限公司 Multi-split debugging method based on random codes, household charging system and air conditioner
KR20190128431A (en) 2018-05-08 2019-11-18 에스케이플래닛 주식회사 Method for debugging cloud browser remotely and apparatus thereof
KR20200050901A (en) * 2018-11-02 2020-05-12 엘지전자 주식회사 The method and apparatus for transmitting and receiving positioning reference signal

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004096234A (en) * 2002-08-29 2004-03-25 Ntt Docomo Inc Local server apparatus, control method, remote control system, control program, and recording medium
JP2008015655A (en) * 2006-07-04 2008-01-24 Fuji Xerox Co Ltd Information processing apparatus and method of collecting log in information processing apparatus
JP2014167720A (en) 2013-02-28 2014-09-11 Kyocera Document Solutions Inc Remote debug system
KR101456129B1 (en) 2012-11-12 2014-11-03 김정옥 Method for providing kids care function using smart-phone, and Smart-phone with kids care function

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004096234A (en) * 2002-08-29 2004-03-25 Ntt Docomo Inc Local server apparatus, control method, remote control system, control program, and recording medium
JP2008015655A (en) * 2006-07-04 2008-01-24 Fuji Xerox Co Ltd Information processing apparatus and method of collecting log in information processing apparatus
KR101456129B1 (en) 2012-11-12 2014-11-03 김정옥 Method for providing kids care function using smart-phone, and Smart-phone with kids care function
JP2014167720A (en) 2013-02-28 2014-09-11 Kyocera Document Solutions Inc Remote debug system

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190128431A (en) 2018-05-08 2019-11-18 에스케이플래닛 주식회사 Method for debugging cloud browser remotely and apparatus thereof
KR20200050901A (en) * 2018-11-02 2020-05-12 엘지전자 주식회사 The method and apparatus for transmitting and receiving positioning reference signal
CN110440421A (en) * 2019-08-07 2019-11-12 珠海格力电器股份有限公司 Multi-split debugging method based on random codes, household charging system and air conditioner
CN110440421B (en) * 2019-08-07 2020-06-30 珠海格力电器股份有限公司 Multi-split debugging method based on random codes, household charging system and air conditioner

Similar Documents

Publication Publication Date Title
US9286241B2 (en) Cryptographic transmission system
CN109120639B (en) Data cloud storage encryption method and system based on block chain
CN103051664B (en) A kind of file management method of cloud storage system, device and this cloud storage system
CN100380274C (en) Method and system for backup and restore of a context encryption key
KR101046992B1 (en) Sensor data security method, system and recording media
US20220103347A1 (en) One-time pad encryption for industrial wireless instruments
CN109726575B (en) Data encryption method and device
CN104219234A (en) Security method of personal data in cloud storage
US9444622B2 (en) Computing platform with system key
KR101611103B1 (en) Control System Based on Closed Network Capable of Remote Debugging and Remote Debugging Method Using The Same
JP2001244925A (en) System and method for managing enciphered data and storage medium
US8750522B2 (en) Method and security system for the secure and unequivocal encoding of a security module
US20220085983A1 (en) Encryption keys from storage systems
US20100014673A1 (en) Radio frequency identification (rfid) authentication apparatus having authentication function and method thereof
US9979541B2 (en) Content management system, host device and content key access method
US8589690B2 (en) Information processing apparatus, server apparatus, medium recording information processing program and information processing method
JP2023083259A (en) Hybrid cloud-based security service method and apparatus for confidential data security
CN114629644A (en) Data encryption method, storage medium, computer program product and electronic device
CN103324970A (en) Efficient and safe RFID (radio frequency identification device) receiving and transmitting method and system
CN109711207B (en) Data encryption method and device
JP2014099727A (en) Key sharing system, key sharing method, and program
CN113158203A (en) SOC chip, circuit and external data reading and writing method of SOC chip
CN111324899A (en) Method, device and system for storing/reading data
KR101672800B1 (en) Method and System for Providing Network Service
US20240223355A1 (en) Homomorphic encryption key management

Legal Events

Date Code Title Description
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190401

Year of fee payment: 4