KR20200080776A - Data security apparatus - Google Patents

Data security apparatus Download PDF

Info

Publication number
KR20200080776A
KR20200080776A KR1020180170578A KR20180170578A KR20200080776A KR 20200080776 A KR20200080776 A KR 20200080776A KR 1020180170578 A KR1020180170578 A KR 1020180170578A KR 20180170578 A KR20180170578 A KR 20180170578A KR 20200080776 A KR20200080776 A KR 20200080776A
Authority
KR
South Korea
Prior art keywords
server
data
file
obfuscation
fep
Prior art date
Application number
KR1020180170578A
Other languages
Korean (ko)
Other versions
KR102570688B1 (en
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 KR1020180170578A priority Critical patent/KR102570688B1/en
Publication of KR20200080776A publication Critical patent/KR20200080776A/en
Priority to KR1020230109838A priority patent/KR102585404B1/en
Priority to KR1020230109839A priority patent/KR102585405B1/en
Application granted granted Critical
Publication of KR102570688B1 publication Critical patent/KR102570688B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/125Restricting unauthorised execution of programs by manipulating the program code, e.g. source code, compiled code, interpreted code, machine code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/14Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Technology Law (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Disclosed is a data security device. The data security device of the present invention comprises: a local server bit-shifting data delivered from a data concentration unit (DCU); a front end processor (FEP) server originally locating the file bit-shifted by the local server; a non-readability system making the file originally located by the FEP server to be non-readable; a meter data management system (MDMS) server receiving the file originally located by the FEP server from the FEP server and delivering the file to the non-readability system; an obfuscation system obfuscating files delivered from the MDMS server; and an integrated server receiving and storing files which have been made to be non-readable by the non-readability system from the MDMS server, and delivering the file delivered from the MDMS server to the obfuscation system in order to make the file to be obfuscated.

Description

데이터 보안 장치{DATA SECURITY APPARATUS}DATA SECURITY APPARATUS

본 발명은 데이터 보안 장치에 관한 것으로서, 더욱 상세하게는 MDMS 시스템(Meter Data Management System) 환경에서 발생되는 데이터 및 개발 소스코드를 보호하고 데이터의 신뢰성을 향상시킨 데이터 보안 장치에 관한 것이다. The present invention relates to a data security device, and more particularly, to a data security device that protects data and development source codes generated in an MDMS system (Meter Data Management System) environment and improves data reliability.

MDMS(Meter Data Management System)는 현재 AMI(Advanced Metering Infrastructure) 고객들의 계량데이터를 수집, 검증, 집계 및 관리한다. MDMS는 데이터를 AOS(AMI Operating System) 사이트 또는 파워플래너와 같은 서비스(위약/도전 탐지, GIS 정보 및 독거노인 서비스 등) 등을 통해 제공한다. 하지만 이러한 시스템은 해킹 사고가 발생할 가능성이 있는데, 스마트그리드의 핵심 기술인 AMI는 수용가의 스마트 미터(100)로부터 MDMS까지 전달되는 데이터 및 소스코드를 외부 사이버 공격으로부터 안전하게 보호해야한다. MDMS (Meter Data Management System) currently collects, verifies, aggregates and manages metering data from AMI (Advanced Metering Infrastructure) customers. MDMS provides data through AOS (AMI Operating System) sites or services such as power planners (placebo/challenge detection, GIS information, and the elderly living alone). However, there is a possibility that a hacking accident may occur in such a system, and AMI, a core technology of smart grid, must securely protect data and source codes transmitted from the consumer's smart meter 100 to the MDMS from external cyber attacks.

AMI 계량데이터와 소스코드는 신뢰성 및 보안성이 중요하기 때문에 데이터와 소스코드 대한 보안 서비스(기밀성, 인증, 패킹 및 부인방지 등)와 같은 기술개발, 체계 및 제공이 필요하다. 즉, 데이터(전기사용량, 개인정보, 주소, 카드번호, 소스코드 등)와 고객들에 대한 신뢰성 및 보안성을 좌우하는 매우 중요한 기술로서, 이에 대한 데이터 보안 시스템은 반드시 필요한 실정이다.Since reliability and security of AMI weighing data and source code are important, it is necessary to develop, structure, and provide technologies such as security services for data and source code (confidentiality, authentication, packing, and non-repudiation, etc.). In other words, data (electricity usage, personal information, address, card number, source code, etc.) and customers are very important technologies that depend on reliability and security, and data security systems are essential.

종래의 MDMS 시스템은 데이터 보관, 자바스크립트 웹서버 업로드, 소스코드 관리시 데이터 및 코드에 대한 보안 조치를 하지 않으므로, 외부 및 내부로부터 탈취될 경우 쉽게 정보가 오픈된다. 이러한 개인 또는 국가기관 핵심 정보 등의 데이터가 악의적인 공격자에게 넘어갈 경우, 개인정보가 담긴 데이터, 개발 소스코드 등으로 인해 막대한 금전적 피해가 발생할 가능성이 높다. 이러한 단점이 있기 때문에 외/내부의 공격으로 탈취됐을 경우 사전에 차단할 수 있는 데이터 보안시스템이 필요하다.Conventional MDMS systems do not take security measures for data and codes when storing data, uploading JavaScript web servers, and managing source codes, so information is easily opened when it is captured from outside and inside. When data such as core information of an individual or a national institution passes to a malicious attacker, there is a high possibility of causing huge financial damages due to data containing personal information and development source code. Because of these shortcomings, a data security system that can be blocked in advance in case of stealing from external/internal attacks is needed.

게다가, 종래의 MDMS 시스템은 데이터를 평문으로 전송하고 데이터 및 소스코드의 난독화 및 불독화 같은 패킹 과정을 수행하지 않기 때문에, 외부 공격자에게 데이터 및 소스코드가 쉽게 노출되거나 인가되지 않은 기기와 통신하여 전력 사용량 또는 개인정보와 같은 중요한 내용이 담긴 데이터를 유출시킬 수 있는 단점이 있어 신뢰성이 많이 떨어진다.In addition, the conventional MDMS system transmits data in plain text and does not perform the packing process such as obfuscation and obfuscation of data and source codes, so that data and source codes are easily exposed to external attackers or communicate with unauthorized devices. There is a disadvantage in that data containing important contents such as power consumption or personal information can be leaked, so reliability is poor.

본 발명의 배경기술은 대한민국 등록특허공보 10-1328012호의 '애플리케이션 코드 난독화 장치 및 그 방법'에 개시되어 있다.Background art of the present invention is disclosed in'Application code obfuscation apparatus and method' of Korean Patent Publication No. 10-1328012.

본 발명은 전술한 문제점을 개선하기 위해 창안된 것으로서, 본 발명의 일 측면에 따른 목적은 수용가의 스마트 미터로부터 MDMS까지 전달되는 데이터 및 소스코드를 외부 사이버 공격으로부터 안전하게 보호하는 데이터 보안 장치를 제공하는 데 있다. The present invention was devised to improve the above-mentioned problems, and an object according to an aspect of the present invention is to provide a data security device that securely protects data and source codes transmitted from a consumer's smart meter to an MDMS from external cyber attacks. Having

본 발명의 일 측면에 따른 데이터 보안 장치는 DCU(Date Concentration Unit)로부터 전달된 데이터를 비트 이동시키는 지역 서버; 상기 지역 서버에 의해 비트 이동된 파일을 원위치시키는 FEP(Front End Processor) 서버; 상기 FEP 서버에 의해 원위치된 파일을 불독화시키는 불독화 시스템; 상기 FEP 서버에 의해 원위치된 파일을 상기 FEP 서버로부터 전달받아 상기 불독화 시스템에 전달하는 MDMS(Meter Data Management System) 서버; 상기 MDMS 서버로부터 전달된 파일들을 난독화시키는 난독화 시스템; 및 상기 MDMS 서버로부터 상기 불독화 시스템에 의해 불독화된 파일들을 전달받아 저장하고, 상기 MDMS 서버로부터 전달된 파일을 상기 난독화 시스템에 전달하여 난독화시키도록 하는 통합 서버를 포함하는 것을 특징으로 한다.A data security device according to an aspect of the present invention includes a local server that bit-transfers data transmitted from a Date Concentration Unit (DCU); A Front End Processor (FEP) server that returns the bit-shifted file by the local server; A detoxification system that detoxifies the files located by the FEP server; An MDMS (Meter Data Management System) server that receives the file located by the FEP server from the FEP server and delivers the file to the non-reading system; An obfuscation system that obfuscates files transferred from the MDMS server; And an integrated server configured to receive and store the files read by the deobfuscation system from the MDMS server and obfuscate the files delivered from the MDMS server to the obfuscation system. .

본 발명의 상기 지역 서버는 DCU로부터 전달된 데이터를 랜덤 넘버를 이용하여 파일 단위별로 비트 이동시키는 것을 특징으로 한다.The regional server of the present invention is characterized in that the data transmitted from the DCU is moved bit by file unit using a random number.

본 발명의 상기 불독화 시스템은 불독화하기 전 파일에 시퀀스 넘버를 삽입하고 시퀀스 넘버순대로 불독화 모듈에 업로드하여 인증을 통과한 서버에서만 데이터를 볼 수 있도록 하는 것을 특징으로 한다.The detoxification system of the present invention is characterized in that a sequence number is inserted into a file before detoxification and uploaded to the detoxification module in the sequence number order so that data can be viewed only on the server that has passed authentication.

본 발명의 상기 불독화 시스템은 상기 지역 서버의 MAC주소, 전달될 생성 파일의 Data, 파일 생성 시간, 및 파일 생성 시퀀스 순으로 불독화 모듈에 입력하는 것을 특징으로 한다.The detoxification system of the present invention is characterized in that it is input to the detoxification module in the order of MAC address of the local server, data of the generated file to be delivered, file creation time, and file generation sequence.

본 발명의 상기 불독화 시스템은 상기 FEP 서버에 의해 원위치된 파일을 EFL 파일 포맷의 .data 영역에 인증값을 삽입하는 것을 특징으로 한다.The deobfuscation system of the present invention is characterized in that an authentication value is inserted into the .data area of the EFL file format by inserting the file located by the FEP server.

본 발명의 상기 불독화 시스템은 불독화된 데이터를 IPv4 또는 IPv6의 네트워크 패킷 형태로 전달하고, 인증값을 Header Checksum 영역에 삽입하는 것을 특징으로 한다.The detoxification system of the present invention is characterized in that the detoxified data is delivered in the form of an IPv4 or IPv6 network packet, and an authentication value is inserted into a header checksum area.

본 발명의 상기 난독화 시스템은 상기 FEP 서버에 의해 원위치된 파일의 소스코드의 스트링값을 코드변환을 통해 문장력을 상실시키는 것을 특징으로 한다.The obfuscation system of the present invention is characterized in that the string value of the source code of the file located by the FEP server loses sentence power through code conversion.

본 발명의 상기 난독화 시스템은 상기 FEP 서버에 의해 원위치된 파일의 소스코드의 스트링값을 기 설정된 코드변환진수로 코드변환을 하는 것을 특징으로 한다.The obfuscation system of the present invention is characterized in that the string value of the source code of the file located by the FEP server is code-converted to a predetermined code conversion number.

본 발명의 상기 코드변환진수는 8진수와 16진수 중 적어도 하나를 포함하는 것을 특징으로 한다.The code conversion decimal number of the present invention is characterized in that it includes at least one of an octal number and a hexadecimal number.

본 발명의 상기 난독화 시스템은 코드변환된 소스코드의 스트링값을 기 설정된 난독화 SW(Software) 툴을 통해 추가적으로 더 난독화시키는 것을 더 포함하는 것을 특징으로 한다. The obfuscation system of the present invention is further characterized in that it further comprises further obfuscating the string value of the code-converted source code through a preset obfuscation software (SW) tool.

본 발명의 일 측면에 따른 데이터 보안 장치는 수용가의 스마트 미터로부터 MDMS까지 전달되는 데이터 및 소스코드를 외부 사이버 공격으로부터 안전하게 보호한다. 특히, 본 발명의 일 측면에 따른 데이터 보안 장치는 데이터에 대한 비트 이동을 통해 스니핑 공격에 대응할 수 있고, 소스코드 난독화를 통해 소스코드의 가독성을 높여 외부에서 보기 힘든 코드로 변환함으로써 고급기술력의 유출을 방지할 수 있으며, 인증된 기기에서만 해당 데이터를 읽을 수 있도록 함으로써, MDMS 시스템의 보안성을 향상시킬 수 있다. The data security device according to an aspect of the present invention securely protects data and source codes transmitted from the consumer's smart meter to the MDMS from external cyber attacks. In particular, the data security device according to an aspect of the present invention can respond to a sniffing attack through bit movement of data, and improves the readability of the source code through obfuscation of the source code to convert it into a code that is difficult to see from the outside. The leakage can be prevented, and the data can be read only by an authenticated device, thereby improving the security of the MDMS system.

도 1 은 본 발명의 일 실시예에 따른 데이터 보안 장치의 블럭 구성도이다.
도 2 는 종래의 자바스트립트 난독화 예를 나타낸 도면이다.
도 3 은 본 발명의 일 실시예에 따른 스트링값 난독화 변환 예를 나타낸 도면이다.
도 4 는 종래의 파워플래너 웹 난독화 코드를 나타낸 도면이다.
도 5 는 본 발명의 일 실시예에 따른 파워플래너 웹 난독화 코드를 나타낸 도면이다.
도 6 은 본 발명의 일 실시예에 따른 바이너리 불독화 과정의 일 예를 나타낸 도면이다.
도 7 은 본 발명의 일 실시예에 따른 불독화 모듈의 프로세스를 나타낸 도면이다.
1 is a block diagram of a data security device according to an embodiment of the present invention.
2 is a view showing a conventional Java script obfuscation example.
3 is a diagram illustrating an example of a string value obfuscation conversion according to an embodiment of the present invention.
4 is a diagram showing a conventional power planner web obfuscation code.
5 is a diagram illustrating a power planner web obfuscation code according to an embodiment of the present invention.
6 is a view showing an example of a binary fluorination process according to an embodiment of the present invention.
7 is a view showing a process of a detoxification module according to an embodiment of the present invention.

이하에서는 본 발명의 일 실시예에 따른 데이터 보안 장치를 첨부된 도면들을 참조하여 상세하게 설명한다. 이러한 과정에서 도면에 도시된 선들의 두께나 구성요소의 크기 등은 설명의 명료성과 편의상 과장되게 도시되어 있을 수 있다. 또한 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서, 이는 이용자, 운용자의 의도 또는 관례에 따라 달라질 수 있다. 그러므로 이러한 용어들에 대한 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야할 것이다. Hereinafter, a data security device according to an embodiment of the present invention will be described in detail with reference to the accompanying drawings. In this process, the thickness of the lines or the size of components shown in the drawings may be exaggerated for clarity and convenience. In addition, terms to be described later are terms defined in consideration of functions in the present invention, which may vary according to a user or operator's intention or practice. Therefore, the definition of these terms should be made based on the contents throughout the specification.

본 명세서에서 설명된 구현은, 예컨대, 방법 또는 프로세스, 장치, 소프트웨어 프로그램, 데이터 스트림 또는 신호로 구현될 수 있다. 단일 형태의 구현의 맥락에서만 논의(예컨대, 방법으로서만 논의)되었더라도, 논의된 특징의 구현은 또한 다른 형태(예컨대, 장치 또는 프로그램)로도 구현될 수 있다. 장치는 적절한 하드웨어, 소프트웨어 및 펌웨어 등으로 구현될 수 있다. 방법은, 예컨대, 컴퓨터, 마이크로프로세서, 집적 회로 또는 프로그래밍가능한 로직 디바이스 등을 포함하는 프로세싱 디바이스를 일반적으로 지칭하는 프로세서 등과 같은 장치에서 구현될 수 있다. 프로세서는 또한 최종-사용자 사이에 정보의 통신을 용이하게 하는 컴퓨터, 셀 폰, 휴대용/개인용 정보 단말기(personal digital assistant: "PDA") 및 다른 디바이스 등과 같은 통신 디바이스를 포함한다.The implementation described herein can be implemented, for example, as a method or process, apparatus, software program, data stream or signal. Although discussed only in the context of a single form of implementation (eg, discussed only as a method), implementation of the features discussed may also be implemented in other forms (eg, devices or programs). The device can be implemented with suitable hardware, software and firmware. The method can be implemented in an apparatus, such as a processor, generally referring to a processing device, including, for example, a computer, microprocessor, integrated circuit, or programmable logic device. The processor also includes communication devices such as computers, cell phones, portable/personal digital assistants ("PDAs") and other devices that facilitate communication of information between end-users.

도 1 은 본 발명의 일 실시예에 따른 데이터 보안 장치의 블럭 구성도이고, 도 2 는 종래의 자바스트립트 난독화 예를 나타낸 도면이며, 도 3 은 본 발명의 일 실시예에 따른 스트링값 난독화 변환 예를 나타낸 도면이며, 도 4 는 종래의 파워플래너 웹 난독화 코드를 나타낸 도면이며, 도 5 는 본 발명의 일 실시예에 따른 파워플래너 웹 난독화 코드를 나타낸 도면이며, 도 6 은 본 발명의 일 실시예에 따른 바이너리 불독화 과정의 일 예를 나타낸 도면이며, 도 7 은 본 발명의 일 실시예에 따른 불독화 모듈의 프로세스를 나타낸 도면이다.1 is a block diagram of a data security device according to an embodiment of the present invention, FIG. 2 is a diagram showing an example of a conventional Java script obfuscation, and FIG. 3 is a string value obfuscation according to an embodiment of the present invention A diagram showing a conversion example, Figure 4 is a diagram showing a conventional power planner web obfuscation code, Figure 5 is a diagram showing a power planner web obfuscation code according to an embodiment of the present invention, Figure 6 is the present invention FIG. 7 is a diagram illustrating an example of a process of binary detoxification according to an embodiment of the present invention, and FIG. 7 is a diagram illustrating a process of a detoxification module according to an embodiment of the present invention.

도 1 을 참조하면, 본 발명의 일 실시예에 따른 데이터 보안 장치는 스마트 미터(100), DCU(Date Concentration Unit)(200), 지역 서버(300), 통합 서버(400), 난독화 시스템(410), FEP 서버(500), MDMS 서버(600) 및 불독화 시스템(610)을 포함한다. Referring to FIG. 1, a data security device according to an embodiment of the present invention includes a smart meter 100, a Date Concentration Unit (DCU) 200, a regional server 300, an integrated server 400, and an obfuscation system ( 410), an FEP server 500, an MDMS server 600, and a detoxification system 610.

스마트 미터(100)는 각각의 수용가에 설치되어 주기적으로 전기사용량 LP(시간별 사용량) 데이터, 유효전력량, 무효전력량, 역률, ID, 검침 시간 등의 데이터를 검침한다. The smart meter 100 is installed at each customer and periodically reads data such as electricity consumption LP (hourly usage) data, active power, reactive power, power factor, ID, and meter reading time.

DCU(200)는 스마트 미터(100) 각각에 의해 측정된 데이터를 각 스마트 미터(100)로부터 취합하고, 취합된 데이터를 저압 데이터 및 고압 데이터로 구분한 후, 저압 데이터를 지역 서버(300)에 전달하고, 고압 데이터를 통합 서버(400)에 전달한다. The DCU 200 collects data measured by each smart meter 100 from each smart meter 100, divides the collected data into low pressure data and high pressure data, and then sends the low pressure data to the local server 300. The high-pressure data is transmitted to the integrated server 400.

지역서버(300)는 DCU(200)로부터 전달된 데이터를 기존 시스템 설비 시 보안 담당자가 정책을 기반으로 한 랜덤 넘버(nonce)를 가지고 비트 이동 모듈에 적용하여 파일 단위별로 비트 이동을 한 후 FEP(Front End Processor) 서버(500)에 전달한다.The local server 300 applies the data transmitted from the DCU 200 to the bit movement module by using a policy-based random number based on the policy when the existing system is installed and performs bit movement for each file unit, and then performs FEP ( Front End Processor) server 500.

FEP 서버(500)는 전달받은 비트 이동된 파일들을 다시 원위치시켜 MDMS 서버(600)에 전달한다. The FEP server 500 returns the transferred bit-shifted files back to the MDMS server 600.

MDMS 서버(600)는 수집된 파일들을 불독화 시스템(610)에 입력하여 특수 코드를 파일 포맷에 첨부한다. 이러한 특수 코드가 첨부된 파일들에 있어서, 고객들의 데이터는 업무 프로세스를 통해 분류(저/고압, 계약종 등)되어 통합 서버(400)에 저장된다. The MDMS server 600 inputs the collected files to the detoxification system 610 to attach a special code to the file format. In the files to which these special codes are attached, data of customers is classified (low/high pressure, contract type, etc.) through a business process and stored in the integrated server 400.

AOS(AMI Operating System) 관리 페이지 및 파워플래너 웹사이트는 통합 서버(400)에 저장된 데이터를 관리자 또는 고객들에게 제공하는데, 이를 위해서는 난독화 기능이 필요한다. The AOS (AMI Operating System) management page and the power planner website provide data stored in the integrated server 400 to administrators or customers, and for this, obfuscation is required.

통합 서버(400)는 해당 소스코드들을 난독화 시스템(410)을 통하여 난독화시켜 해당 출력된 코드를 웹서버에 업로드한다.The integrated server 400 obfuscates the corresponding source codes through the obfuscation system 410 and uploads the outputted codes to the web server.

도 2 를 참조하면, 종래의 HTML, CSS 및 자바스크립트의 코드를 공개 툴로 난독화했을 경우 결과를 보여준다. 도 2 에 도시된 바와 같이, 종래에는 불필요한 소스코드 등을 추가하여 기존 코드에 대한 가독성을 저하시키므로, 다른 공개 툴로 언패킹하여 다시 역추출하면 일부 소스코드가 보일 수 있다. 이에, MDMS 소스코드(HTML, CSS, JavaScript 등)에 적합하지 않을 수 있다. Referring to FIG. 2, the results of obfuscating conventional HTML, CSS, and JavaScript code with public tools are shown. As illustrated in FIG. 2, in the related art, unnecessary source code or the like is added to deteriorate readability of the existing code, and when unpacked with another public tool and back extracted, some source codes may be seen. Therefore, it may not be suitable for MDMS source codes (HTML, CSS, JavaScript, etc.).

그러나, 본 발명의 일 실시예에 따른 난독화 시스템(410)은 스트립트 소스코드에 대한 난독화를 수행하는 과정에서, 스트링값을 8진수 또는 16진수 등의 코드변환을 통해 코드의 가독성을 저하시킨다. However, the obfuscation system 410 according to an embodiment of the present invention degrades the readability of a code through code conversion such as an octal number or hexadecimal number in the process of obfuscating a script source code .

즉, 난독화 시스템(410)은 도 3 에 도시된 바와 같이, 스트링값(String)값을 8진수, 16진수 등의 코드변환을 통해 기존의 알파벳으로 알 수 있는 문장력을 상실시켜 코드의 가독성을 저하시킨다. 여기서 가독성을 향상시키기 위해, 공개 SW(Software Tool)툴로 추가적으로 더 업그레이드하여 다시 가독성을 높일 수 있기 때문에 소스코드에 대한 외부 배포 시 코드 보호에 대한 안전성을 높일 수 있다. That is, as shown in FIG. 3, the obfuscation system 410 loses the grammar that can be recognized by the existing alphabet through code conversion such as an octal number or a hexadecimal number, thereby improving the readability of the code. Lowers. Here, in order to improve readability, it is possible to further improve readability by further upgrading with a public software tool (SW) tool, thereby improving the safety of code protection when externally distributing the source code.

도 4 에는 기존의 파워플래너 웹사이트에서 일부 코드를 난독화한 결과를 보여주고 있다. 여기서는 16진수 변환을 하였는데 해당 코드에 대한 test.jsp 파일을 생성하였다. 해당 jsp파일을 웹서버에 업로드하여 사용하거나 해당 소스코드들을 외부로 이관 시 난독화 모듈을 통해 데이터를 안전하게 배포할 수 있는 장점이 있다. Figure 4 shows the result of obfuscating some code from the existing Power Planner website. Here, the hexadecimal number was converted, and the test.jsp file for the code was created. There is an advantage in that the data can be safely distributed through the obfuscation module when the corresponding jsp file is uploaded to the web server or used or the source codes are transferred to the outside.

도 5 에는 제안한 난독화 모듈에서 개선된 코드를 보여준다.Fig. 5 shows the improved code in the proposed obfuscation module.

그러나, 본 실시예에서의 난독화 시스템(410)은 코드 변환 진수를 선택하여 소스코드의 데이터 변환 후 기 설정된 난독화 SW 툴을 통해 가독성을 높이고 압축하여 코드를 최적화시켜줄 수 있다. 이러한 난독화 시스템(410)은 상기한 코드 변환을 이용하는 코드 가독성과 이미 검증된 공개 툴을 같이 사용하므로, 소스코드 보호와 다운로드 성능을 향상시킬 수 있는 장점이 있다. However, the obfuscation system 410 in this embodiment can optimize the code by increasing the readability and compressing the code through a preset obfuscation SW tool after data conversion of the source code by selecting a code conversion decimal number. Since the obfuscation system 410 uses the code readability using the above-described code conversion and a publicly verified public tool, it has an advantage of improving source code protection and download performance.

도 6 을 참조하면, 불독화 시스템(610)은 난독화 소스코드뿐만 아니라 MDMS에 생성된 데이터 파일들의 외부 유출을 막기 위한 불독화 과정을 수행한다.Referring to FIG. 6, the detoxification system 610 performs a detoxification process to prevent external leakage of data files generated in the MDMS as well as the obfuscation source code.

불독화 시스템(610)은 도 6 에 도시된 바와 같이 불독화하기 전 파일에 시퀀스 넘버를 삽입하고 시퀀스 넘버순대로 불독화 모듈에 업로드함으로써, 인증을 통과한 서버에서만 해당 데이터를 볼 수 있도록 한다. As shown in FIG. 6, the detoxification system 610 inserts a sequence number into a file before de-reading and uploads the de-reading module in the order of the sequence number, so that the corresponding data can be viewed only on the server that has passed the authentication.

도 6 을 참조하면, 미인증된 서버에서 해당 파일을 읽기, 쓰기 등을 할 경우 내부에 삽입된 코드를 통해 내용이 자동 삭제하여 실제 데이터를 볼 수 없도록 한다.Referring to FIG. 6, when an unauthenticated server reads or writes the file, the contents are automatically deleted through the code inserted therein so that actual data cannot be viewed.

이를 위해, 불독화 시스템(610)은 도 7 에 도시된 바와 같이 인증값을 데이터 포맷의 .data 영역에 삽입한다.To this end, the deobfuscation system 610 inserts the authentication value into the .data area of the data format as shown in FIG. 7.

먼저, 불독화 시스템(610)은 지역 서버(300)의 MAC주소(A6:C7 등의 48비트 식별 코드), 전달될 생성 파일의 Data, 파일 생성 시간, 및 파일 생성 시퀀스 순으로 불독화 모듈에 입력한다. First, the detoxification system 610 receives the MAC address of the local server 300 (48-bit identification code such as A6:C7), the data of the generated file to be delivered, the file creation time, and the file creation sequence in order. Enter.

불독화 시스템(610)은 4개의 순서 리스트를 인증값으로 Merge하는 본 실시예에서 인증값은 SH_A6_TEAF13001로 나타내었다. 예를 들어 지역 본부가 서울본부일 경우 SH(Seoul Headquarter), A6는 서버 랜카드의 MAC 주소, TEAF는 Two Thousand August Friday순으로 앞글자일 수 있다. 13은 생성 시간을 나타내며, 001은 파일 생성 시퀀스이다. In the present embodiment in which the fluorination system 610 merges the four order lists with the authentication value, the authentication value is indicated as SH_A6_TEAF13001. For example, if the regional headquarter is Seoul Headquarters, SH (Seoul Headquarter), A6 may be the MAC address of the server LAN card, and TEAF may be an initial letter in the order of Two Thousand August Friday. 13 represents a creation time, and 001 is a file creation sequence.

이러한 인증값들은 다양한 형태로 관리자들의 정책을 통해 다른 형태로 변형하여 사용이 가능하다. These authentication values can be used in various forms by modifying them through other policies.

이어, 불독화 시스템(610)은 인증값을 ELF 파일 포맷의 .data 영역 등에 삽입하고, 데이터 전달시 IPv4, IPv6 등의 네트워크 패킷 형태로 전달을 하는데, 이때, 인증값을 Header Checksum 영역에 삽입한다. 여기서, 인증값을 저장하는 영역은 변경이 가능하다. 본 실시예에서는 인증값을 헤더 체크섬에 삽입하였다.Subsequently, the non-reading system 610 inserts the authentication value into the .data area of the ELF file format, etc., and delivers the data in the form of a network packet such as IPv4 or IPv6 when transmitting the data. At this time, the authentication value is inserted into the Header Checksum area. . Here, the area for storing the authentication value can be changed. In this embodiment, the authentication value is inserted into the header checksum.

불독화 시스템(610)은 해당 인증값을 다른 서버로 보낼 경우, 인증값을 암호화하여 보내며, 전달받은 서버(미도시)는 복호화하여 불독화 모듈 시스템(미도시)에 입력 후 Lock을 풀어야 사용이 가능하다. 전달받은 서버의 불독화 모듈 시스템이 Lock을 풀 경우 기 설명한 MAC 주소는 생략되는데, 기존의 보안 관리자 및 최초 설비 시 내부 서버 CPU 프로세서 등에 삽입한 값으로 수정하여 Lock을 해제하여야 한다. When the authentication value 610 is transmitted to another server, the authentication value is encrypted and sent, and the received server (not shown) is decrypted and input to the fluoridation module system (not shown) to release the lock. It is possible. When the system of the detoxification module of the received server releases the lock, the previously described MAC address is omitted, and the lock must be released by modifying the value inserted into the internal server CPU processor, etc. at the time of the existing security manager and the initial installation.

서버의 불독화 모듈 시스템이 상기한 Lock를 해제하는 과정을 N번 실패할 경우, 도 6의 Step 3처럼 데이터를 읽을 수 없는 형태로 변형된다. 이 또한 내부자가 외부로 데이터를 유출할 경우, 해당 코드의 Lock을 풀 수 있는 모듈도 없을 뿐만 아니라 따로 프로그램을 작성하여 만들더라도 내부 업무 프로세스(최상위 관리자만)를 모를 경우 쉽게 Lock을 풀지 못하여 훔친 데이터의 내용을 읽을 수 없는 상태가 된다. If the process of releasing the above-mentioned lock is failed N times by the system of the server's detoxification module, it is transformed into an unreadable form as in Step 3 of FIG. 6. In addition, if an insider leaks data to the outside, there is no module to unlock the corresponding code, and even if a separate program is created and created, if the internal business process (only the top-level administrator) is not known, the data cannot be easily unlocked and stolen data. It becomes unreadable.

이와 같이, 본 발명의 일 실시예에 따른 데이터 보안 장치는 수용가의 스마트 미터로부터 MDMS까지 전달되는 데이터 및 소스코드를 외부 사이버 공격으로부터 안전하게 보호한다. 특히, 본 발명의 일 실시예에 따른 데이터 보안 장치는 데이터에 대한 비트 이동을 통해 스니핑 공격에 대응할 수 있고, 소스코드 난독화를 통해 소스코드의 가독성을 높여 외부에서 보기 힘든 코드로 변환함으로써 고급기술력의 유출을 방지할 수 있으며, 인증된 기기에서만 해당 데이터를 읽을 수 있도록 함으로써, MDMS 시스템의 보안성을 향상시킬 수 있다. As described above, the data security device according to an embodiment of the present invention securely protects data and source codes transmitted from the consumer's smart meter to the MDMS from external cyber attacks. In particular, the data security device according to an embodiment of the present invention can respond to a sniffing attack through bit movement of data, and improves the readability of the source code through obfuscation of the source code and converts it into a code that is hard to see from the outside. It is possible to prevent the leakage of data and to improve the security of the MDMS system by allowing only the authenticated device to read the data.

본 발명은 도면에 도시된 실시예를 참고로 하여 설명되었으나, 이는 예시적인 것에 불과하며 당해 기술이 속하는 기술분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 아래의 특허청구범위에 의하여 정해져야할 것이다.The present invention has been described with reference to the embodiment shown in the drawings, but this is only exemplary, and a person skilled in the art to which the technology belongs may have various modifications and other equivalent embodiments from this. Will understand. Therefore, the true technical protection scope of the present invention should be defined by the claims below.

100: 스마트 미터 200: DCU
300: 지역서버 400: 통합 서버
410: 난독화 시스템 500: FEP 서버
600: MDMS 서버 610: 불독화 시스템
100: smart meter 200: DCU
300: regional server 400: integrated server
410: obfuscation system 500: FEP server
600: MDMS server 610: detoxification system

Claims (10)

DCU(Date Concentration Unit)로부터 전달된 데이터를 비트 이동시키는 지역 서버;
상기 지역 서버에 의해 비트 이동된 파일을 원위치시키는 FEP(Front End Processor) 서버;
상기 FEP 서버에 의해 원위치된 파일을 불독화시키는 불독화 시스템;
상기 FEP 서버에 의해 원위치된 파일을 상기 FEP 서버로부터 전달받아 상기 불독화 시스템에 전달하는 MDMS(Meter Data Management System) 서버;
상기 MDMS 서버로부터 전달된 파일들을 난독화시키는 난독화 시스템; 및
상기 MDMS 서버로부터 상기 불독화 시스템에 의해 불독화된 파일들을 전달받아 저장하고, 상기 MDMS 서버로부터 전달된 파일을 상기 난독화 시스템에 전달하여 난독화시키도록 하는 통합 서버를 포함하는 것을 데이터 보안 장치.
A regional server that bit-shifts data transmitted from a Date Concentration Unit (DCU);
A Front End Processor (FEP) server that returns the bit-shifted file by the local server;
A detoxification system that detoxifies the files located by the FEP server;
An MDMS (Meter Data Management System) server that receives the file located by the FEP server from the FEP server and delivers the file to the detoxification system;
An obfuscation system that obfuscates files transferred from the MDMS server; And
And an integrated server configured to receive and store the files detoxified by the obfuscation system from the MDMS server, and to obfuscate the files delivered from the MDMS server by passing them to the obfuscation system.
제 1 항에 있어서, 상기 지역 서버는 DCU로부터 전달된 데이터를 랜덤 넘버를 이용하여 파일 단위별로 비트 이동시키는 것을 특징으로 하는 데이터 보안 장치.The data security device of claim 1, wherein the local server bit-shifts data transmitted from the DCU for each file unit using a random number. 제 1 항에 있어서, 상기 불독화 시스템은 불독화하기 전 파일에 시퀀스 넘버를 삽입하고 시퀀스 넘버순대로 불독화 모듈에 업로드하여 인증을 통과한 서버에서만 데이터를 볼 수 있도록 하는 것을 특징으로 하는 데이터 보안 장치.The data security according to claim 1, wherein the deobfuscation system inserts a sequence number into a file before disabling and uploads the sequence number in the sequence to the deobfuscation module so that data can be viewed only on the server that has passed authentication. Device. 제 3 항에 있어서, 상기 불독화 시스템은 상기 지역 서버의 MAC주소, 전달될 생성 파일의 Data, 파일 생성 시간, 및 파일 생성 시퀀스 순으로 불독화 모듈에 입력하는 것을 특징으로 하는 데이터 보안 장치.4. The data security device according to claim 3, wherein the detoxification system is input to the detoxification module in the order of MAC address of the local server, data of the generated file to be delivered, file creation time, and file generation sequence. 제 3 항에 있어서, 상기 불독화 시스템은 상기 FEP 서버에 의해 원위치된 파일을 EFL 파일 포맷의 .data 영역에 인증값을 삽입하는 것을 특징으로 하는 데이터 보안 장치.4. The data security device according to claim 3, wherein the deobfuscation system inserts an authentication value into the .data area of the EFL file format by inserting the file located by the FEP server. 제 3 항에 있어서, 상기 불독화 시스템은 불독화된 데이터를 IPv4 또는 IPv6의 네트워크 패킷 형태로 전달하고, 인증값을 Header Checksum 영역에 삽입하는 것을 특징으로 하는 데이터 보안 장치.4. The data security device of claim 3, wherein the deobfuscation system transmits the deobfuscated data in the form of an IPv4 or IPv6 network packet, and inserts an authentication value into a header checksum area. 제 1 항에 있어서, 상기 난독화 시스템은 상기 FEP 서버에 의해 원위치된 파일의 소스코드의 스트링값을 코드변환을 통해 문장력을 상실시키는 것을 특징으로 하는 데이터 보안 장치.The data security device of claim 1, wherein the obfuscation system loses sentence power through code conversion of a string value of a source code of a file located by the FEP server. 제 7 항에 있어서, 상기 난독화 시스템은 상기 FEP 서버에 의해 원위치된 파일의 소스코드의 스트링값을 기 설정된 코드변환진수로 코드변환을 하는 것을 특징으로 하는 데이터 보안 장치.8. The data security device of claim 7, wherein the obfuscation system performs code conversion of a string value of a source code of a file located by the FEP server into a preset code conversion number. 제 7 항에 있어서, 상기 코드변환진수는 8진수와 16진수 중 적어도 하나를 포함하는 것을 특징으로 하는 데이터 보안 장치. The data security device of claim 7, wherein the coded conversion number includes at least one of an octal number and a hexadecimal number. 제 7 항에 있어서, 상기 난독화 시스템은 코드변환된 소스코드의 스트링값을 기 설정된 난독화 SW(Software) 툴을 통해 추가적으로 더 난독화시키는 것을 더 포함하는 것을 특징으로 하는 데이터 보안 장치.
8. The data security device of claim 7, wherein the obfuscation system further comprises further obfuscating the string value of the code-converted source code through a preset obfuscation software (SW) tool.
KR1020180170578A 2018-12-27 2018-12-27 Data security apparatus KR102570688B1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020180170578A KR102570688B1 (en) 2018-12-27 2018-12-27 Data security apparatus
KR1020230109838A KR102585404B1 (en) 2018-12-27 2023-08-22 Data security apparatus
KR1020230109839A KR102585405B1 (en) 2018-12-27 2023-08-22 Data security apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180170578A KR102570688B1 (en) 2018-12-27 2018-12-27 Data security apparatus

Related Child Applications (2)

Application Number Title Priority Date Filing Date
KR1020230109839A Division KR102585405B1 (en) 2018-12-27 2023-08-22 Data security apparatus
KR1020230109838A Division KR102585404B1 (en) 2018-12-27 2023-08-22 Data security apparatus

Publications (2)

Publication Number Publication Date
KR20200080776A true KR20200080776A (en) 2020-07-07
KR102570688B1 KR102570688B1 (en) 2023-08-28

Family

ID=71602617

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020180170578A KR102570688B1 (en) 2018-12-27 2018-12-27 Data security apparatus
KR1020230109839A KR102585405B1 (en) 2018-12-27 2023-08-22 Data security apparatus
KR1020230109838A KR102585404B1 (en) 2018-12-27 2023-08-22 Data security apparatus

Family Applications After (2)

Application Number Title Priority Date Filing Date
KR1020230109839A KR102585405B1 (en) 2018-12-27 2023-08-22 Data security apparatus
KR1020230109838A KR102585404B1 (en) 2018-12-27 2023-08-22 Data security apparatus

Country Status (1)

Country Link
KR (3) KR102570688B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230127952A (en) * 2018-12-27 2023-09-01 한국전력공사 Data security apparatus

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004038966A (en) * 2002-06-28 2004-02-05 Microsoft Corp Secure and opaque type library for providing secure variable data protection
KR20120133623A (en) * 2011-05-31 2012-12-11 한국전력공사 Method for meter registration
KR101451323B1 (en) * 2014-02-10 2014-10-16 주식회사 락인컴퍼니 Application security system, security server, security client apparatus, and recording medium
KR20160066999A (en) * 2014-12-03 2016-06-13 한국전자통신연구원 Method of controlling integrated energy service using smart grid inter-operability
US20180075262A1 (en) * 2016-09-15 2018-03-15 Nuts Holdings, Llc Nuts

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102310501B1 (en) * 2017-05-02 2021-10-12 한국전기연구원 Network management system for ami
KR102570688B1 (en) * 2018-12-27 2023-08-28 한국전력공사 Data security apparatus

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004038966A (en) * 2002-06-28 2004-02-05 Microsoft Corp Secure and opaque type library for providing secure variable data protection
KR20120133623A (en) * 2011-05-31 2012-12-11 한국전력공사 Method for meter registration
KR101451323B1 (en) * 2014-02-10 2014-10-16 주식회사 락인컴퍼니 Application security system, security server, security client apparatus, and recording medium
KR20160066999A (en) * 2014-12-03 2016-06-13 한국전자통신연구원 Method of controlling integrated energy service using smart grid inter-operability
US20180075262A1 (en) * 2016-09-15 2018-03-15 Nuts Holdings, Llc Nuts

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230127952A (en) * 2018-12-27 2023-09-01 한국전력공사 Data security apparatus

Also Published As

Publication number Publication date
KR102585404B1 (en) 2023-10-10
KR20230127952A (en) 2023-09-01
KR102570688B1 (en) 2023-08-28
KR20230127951A (en) 2023-09-01
KR102585405B1 (en) 2023-10-10

Similar Documents

Publication Publication Date Title
US11818274B1 (en) Systems and methods for trusted path secure communication
CN109361668B (en) Trusted data transmission method
CN112217835B (en) Message data processing method and device, server and terminal equipment
CN108418691A (en) Dynamic network identity identifying method based on SGX
CN105099705B (en) A kind of safety communicating method and its system based on usb protocol
CN112332975A (en) Internet of things equipment secure communication method and system
CN101807234A (en) Method for installing rights object for content in memory card
CN112131564A (en) Encrypted data communication method, apparatus, device, and medium
CN109309645A (en) A kind of software distribution security guard method
KR102585405B1 (en) Data security apparatus
Phoha Internet security dictionary
Kumar et al. TPA auditing to enhance the privacy and security in cloud systems
KR20130100032A (en) Method for distributting smartphone application by using code-signing scheme
JP3905170B2 (en) Processing system and client device
CN104144054A (en) Login system based on server, login server and verification method of login server
CN115022042A (en) Compliance code verification method for protecting data privacy and computer readable medium
CN114329546A (en) File encryption method and device and file decryption method
CN112202549A (en) Charging management method, charging terminal data processing method and charging management platform data processing method
CN100546242C (en) A kind of generation of super code and authentication method
Hastings et al. A case study of authenticated and secure file transfer: the Iowa Campaign Finance Reporting System (ICFRS)
KR101210411B1 (en) Transaction Protection System and Method using Connection of Certificate and OTP Generated by Keystream
Hagalisletto et al. Using the mobile phone in two-factor authentication
Yang et al. Secure Data Access Method based on electronic identity for Mobile Internet
Muñoz-Gallego et al. Secure Mobile Agents on Embedded Boards: a TPM based solution
CN116938463A (en) Application running environment credibility detection method, equipment and medium

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