[go: up one dir, main page]

KR102585404B1 - Data security apparatus - Google Patents

Data security apparatus Download PDF

Info

Publication number
KR102585404B1
KR102585404B1 KR1020230109838A KR20230109838A KR102585404B1 KR 102585404 B1 KR102585404 B1 KR 102585404B1 KR 1020230109838 A KR1020230109838 A KR 1020230109838A KR 20230109838 A KR20230109838 A KR 20230109838A KR 102585404 B1 KR102585404 B1 KR 102585404B1
Authority
KR
South Korea
Prior art keywords
server
data
files
mdms
fep
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
KR1020230109838A
Other languages
Korean (ko)
Other versions
KR20230127951A (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 KR1020230109838A priority Critical patent/KR102585404B1/en
Publication of KR20230127951A publication Critical patent/KR20230127951A/en
Application granted granted Critical
Publication of KR102585404B1 publication Critical patent/KR102585404B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

데이터 보안 장치가 개시된다. 본 발명의 데이터 보안 장치는 DCU(Date Concentration Unit)로부터 전달된 데이터를 비트 이동시키는 지역 서버; 지역 서버에 의해 비트 이동된 파일을 원위치시키는 FEP(Front End Processor) 서버; FEP 서버에 의해 원위치된 파일을 불독화시키는 불독화 시스템; FEP 서버에 의해 원위치된 파일을 FEP 서버로부터 전달받아 불독화 시스템에 전달하는 MDMS(Meter Data Management System) 서버; MDMS 서버로부터 전달된 파일들을 난독화시키는 난독화 시스템; 및 MDMS 서버로부터 불독화 시스템에 의해 불독화된 파일들을 전달받아 저장하고, MDMS 서버로부터 전달된 파일을 난독화 시스템에 전달하여 난독화시키도록 하는 통합 서버를 포함하는 것을 특징으로 한다.A data security device is disclosed. The data security device of the present invention includes a local server that moves bits of data transmitted from a DCU (Date Concentration Unit); a Front End Processor (FEP) server that resets files that have been bit-shifted by the local server; a detoxification system that detoxifies files placed by the FEP server; an MDMS (Meter Data Management System) server that receives files returned by the FEP server from the FEP server and delivers them to the decryption system; An obfuscation system that obfuscates files delivered from the MDMS server; and an integrated server that receives and stores files decrypted by the deobfuscation system from the MDMS server, and transmits the files delivered from the MDMS server to the obfuscation system 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 specifically, to a data security device that protects data and development source code 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 the AOS (AMI Operating System) site or services such as Power Planner (placebo/challenge detection, GIS information, and services for the elderly living alone). However, there is a possibility of hacking incidents in these systems, and AMI, a core technology of smart grid, must safely protect the data and source code transmitted from the consumer's smart meter (100) to the MDMS from external cyber attacks.

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

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

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

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

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

본 발명의 일 측면에 따른 데이터 보안 장치는 DCU(Date Concentration Unit)로부터 전달된 데이터를 비트 이동시키는 지역 서버; 상기 지역 서버에 의해 비트 이동된 파일을 원위치시키는 FEP(Front End Processor) 서버; 상기 FEP 서버에 의해 원위치된 파일을 불독화시키는 불독화 시스템; 상기 FEP 서버에 의해 원위치된 파일을 상기 FEP 서버로부터 전달받아 상기 불독화 시스템에 전달하는 MDMS(Meter Data Management System) 서버; 상기 MDMS 서버로부터 전달된 파일들을 난독화시키는 난독화 시스템; 및 상기 MDMS 서버로부터 상기 불독화 시스템에 의해 불독화된 파일들을 전달받아 저장하고, 상기 MDMS 서버로부터 전달된 파일을 상기 난독화 시스템에 전달하여 난독화시키도록 하는 통합 서버를 포함하고, 상기 지역 서버는 DCU로부터 전달된 데이터를 랜덤 넘버를 이용하여 파일 단위별로 비트 이동시키며, 상기 불독화 시스템은 불독화하기 전 파일에 시퀀스 넘버를 삽입하고 시퀀스 넘버순대로 불독화 모듈에 업로드하여 인증을 통과한 서버에서만 데이터를 볼 수 있도록 하는 것을 특징으로 한다. A data security device according to one aspect of the present invention includes a local server that moves bits of data transmitted from a Date Concentration Unit (DCU); a Front End Processor (FEP) server that resets files bit-shifted by the local server; a decryption system that decrypts files relocated by the FEP server; an MDMS (Meter Data Management System) server that receives a file returned by the FEP server from the FEP server and delivers it to the decryption system; An obfuscation system that obfuscates files delivered from the MDMS server; and an integrated server that receives and stores files decrypted by the deobfuscation system from the MDMS server and transmits the files delivered from the MDMS server to the obfuscation system to obfuscate them, and the local server. The data transferred from the DCU is moved bit by file using a random number, and the decryption system inserts a sequence number into the file before detoxification and uploads it to the detoxification module in the order of the sequence number to pass authentication. It is characterized by allowing data to be viewed only in .

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

도 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.
Figure 2 is a diagram showing an example of conventional JavaScript obfuscation.
Figure 3 is a diagram showing an example of string value obfuscation conversion according to an embodiment of the present invention.
Figure 4 is a diagram showing a conventional Power Planner web obfuscation code.
Figure 5 is a diagram showing the Power Planner web obfuscation code according to an embodiment of the present invention.
Figure 6 is a diagram showing an example of a binary deobfuscation process according to an embodiment of the present invention.
Figure 7 is a diagram showing the process of the 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 attached drawings. In this process, the thickness of lines or sizes of components shown in the drawings may be exaggerated for clarity and convenience of explanation. In addition, the terms described below are terms defined in consideration of functions in the present invention, and may vary depending on the intention or custom of the user or operator. Therefore, definitions of these terms should be made based on the content throughout this specification.

본 명세서에서 설명된 구현은, 예컨대, 방법 또는 프로세스, 장치, 소프트웨어 프로그램, 데이터 스트림 또는 신호로 구현될 수 있다. 단일 형태의 구현의 맥락에서만 논의(예컨대, 방법으로서만 논의)되었더라도, 논의된 특징의 구현은 또한 다른 형태(예컨대, 장치 또는 프로그램)로도 구현될 수 있다. 장치는 적절한 하드웨어, 소프트웨어 및 펌웨어 등으로 구현될 수 있다. 방법은, 예컨대, 컴퓨터, 마이크로프로세서, 집적 회로 또는 프로그래밍가능한 로직 디바이스 등을 포함하는 프로세싱 디바이스를 일반적으로 지칭하는 프로세서 등과 같은 장치에서 구현될 수 있다. 프로세서는 또한 최종-사용자 사이에 정보의 통신을 용이하게 하는 컴퓨터, 셀 폰, 휴대용/개인용 정보 단말기(personal digital assistant: "PDA") 및 다른 디바이스 등과 같은 통신 디바이스를 포함한다.Implementations described herein may be implemented, for example, as a method or process, device, software program, data stream, or signal. Although discussed only in the context of a single form of implementation (eg, only as a method), implementations of the features discussed may also be implemented in other forms (eg, devices or programs). The device may be implemented with appropriate hardware, software, firmware, etc. The method may be implemented in a device such as a processor, which generally refers to a processing device that includes a computer, microprocessor, integrated circuit, or programmable logic device. Processors also include 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 은 본 발명의 일 실시예에 따른 불독화 모듈의 프로세스를 나타낸 도면이다.Figure 1 is a block diagram of a data security device according to an embodiment of the present invention, Figure 2 is a diagram showing a conventional JavaScript obfuscation example, and Figure 3 is a string value obfuscation according to an embodiment of the present invention. This is a diagram showing an example of conversion, 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, and Figure 6 is a diagram showing the present invention. This is a diagram showing an example of a binary deobfuscation process according to an embodiment of the present invention, and FIG. 7 is a diagram showing a process of a deobfuscation 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 Figure 1, the data security device according to an embodiment of the present invention includes a smart meter 100, a Date Concentration Unit (DCU) 200, a local server 300, an integrated server 400, and an obfuscation system ( 410), a FEP server 500, an MDMS server 600, and a decryption system 610.

스마트 미터(100)는 각각의 수용가에 설치되어 주기적으로 전기사용량 LP(시간별 사용량) 데이터, 유효전력량, 무효전력량, 역률, ID, 검침 시간 등의 데이터를 검침한다. The smart meter 100 is installed at each customer and periodically reads data such as electricity usage 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 the data measured by 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). and transmits the high-pressure data to the integrated server 400.

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

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

MDMS 서버(600)는 수집된 파일들을 불독화 시스템(610)에 입력하여 특수 코드를 파일 포맷에 첨부한다. 이러한 특수 코드가 첨부된 파일들에 있어서, 고객들의 데이터는 업무 프로세스를 통해 분류(저/고압, 계약종 등)되어 통합 서버(400)에 저장된다. The MDMS server 600 inputs the collected files into the decryption system 610 and attaches a special code to the file format. In files with these special codes attached, customer data 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 Power Planner website provide data stored in the integrated server 400 to managers or customers, and for this, an obfuscation function is required.

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

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

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

즉, 난독화 시스템(410)은 도 3 에 도시된 바와 같이, 스트링값(String)값을 8진수, 16진수 등의 코드변환을 통해 기존의 알파벳으로 알 수 있는 문장력을 상실시켜 코드의 가독성을 저하시킨다. 여기서 가독성을 향상시키기 위해, 공개 SW(Software Tool)툴로 추가적으로 더 업그레이드하여 다시 가독성을 높일 수 있기 때문에 소스코드에 대한 외부 배포 시 코드 보호에 대한 안전성을 높일 수 있다. In other words, as shown in FIG. 3, the obfuscation system 410 converts the string value into octal, hexadecimal, etc., thereby losing the sentence power that can be known from the existing alphabet, thereby improving the readability of the code. It degrades. Here, in order to improve readability, readability can be improved again by further upgrading with a public SW (Software Tool) tool, thereby increasing the safety of code protection when externally distributing the source code.

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

도 5 에는 제안한 난독화 모듈에서 개선된 코드를 보여준다.Figure 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 selecting the code conversion base, converting the data of the source code, and then improving readability and compressing it through a preset obfuscation SW tool. This obfuscation system 410 has the advantage of improving source code protection and download performance because it uses code readability using the above code conversion and already verified public tools.

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

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

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

이를 위해, 불독화 시스템(610)은 도 7 에 도시된 바와 같이 인증값을 데이터 포맷의 .data 영역에 삽입한다.To this end, the decryption 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 decryption system 610 sends the MAC address of the local server 300 (48-bit identification code such as A6:C7), data of the generated file to be transmitted, file creation time, and file creation sequence to the deobfuscation module. Enter.

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

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

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

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

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

이와 같이, 본 발명의 일 실시예에 따른 데이터 보안 장치는 수용가의 스마트 미터로부터 MDMS까지 전달되는 데이터 및 소스코드를 외부 사이버 공격으로부터 안전하게 보호한다. 특히, 본 발명의 일 실시예에 따른 데이터 보안 장치는 데이터에 대한 비트 이동을 통해 스니핑 공격에 대응할 수 있고, 소스코드 난독화를 통해 소스코드의 가독성을 높여 외부에서 보기 힘든 코드로 변환함으로써 고급기술력의 유출을 방지할 수 있으며, 인증된 기기에서만 해당 데이터를 읽을 수 있도록 함으로써, MDMS 시스템의 보안성을 향상시킬 수 있다. In this way, the data security device according to an embodiment of the present invention safely protects data and source code 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 sniffing attacks by moving bits about data, and improves the readability of the source code through source code obfuscation and converts it into code that is difficult to see from the outside, thereby providing advanced technology. Leakage of data can be prevented, and the security of the MDMS system can be improved by allowing only authorized devices to read the data.

본 발명은 도면에 도시된 실시예를 참고로 하여 설명되었으나, 이는 예시적인 것에 불과하며 당해 기술이 속하는 기술분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 아래의 특허청구범위에 의하여 정해져야할 것이다.The present invention has been described with reference to the embodiments shown in the drawings, but these are merely illustrative, and those skilled in the art will recognize that various modifications and other equivalent embodiments can be made therefrom. You will understand. Therefore, the true technical protection scope of the present invention should be determined by the scope of the patent claims below.

100: 스마트 미터 200: DCU
300: 지역서버 400: 통합 서버
410: 난독화 시스템 500: FEP 서버
600: MDMS 서버 610: 불독화 시스템
100: Smart Meter 200: DCU
300: Local server 400: Integrated server
410: Obfuscation system 500: FEP server
600: MDMS server 610: Bulldog system

Claims (1)

DCU(Date Concentration Unit)로부터 전달된 데이터를 비트 이동시키는 지역 서버;
상기 지역 서버에 의해 비트 이동된 파일을 원위치시키는 FEP(Front End Processor) 서버;
상기 FEP 서버에 의해 원위치된 파일을 불독화시키는 불독화 시스템;
상기 FEP 서버에 의해 원위치된 파일을 상기 FEP 서버로부터 전달받아 상기 불독화 시스템에 전달하는 MDMS(Meter Data Management System) 서버;
상기 MDMS 서버로부터 전달된 파일들을 난독화시키는 난독화 시스템; 및
상기 MDMS 서버로부터 상기 불독화 시스템에 의해 불독화된 파일들을 전달받아 저장하고, 상기 MDMS 서버로부터 전달된 파일을 상기 난독화 시스템에 전달하여 난독화시키도록 하는 통합 서버를 포함하고,
상기 지역 서버는 DCU로부터 전달된 데이터를 랜덤 넘버를 이용하여 파일 단위별로 비트 이동시키며,
상기 불독화 시스템은 불독화하기 전 파일에 시퀀스 넘버를 삽입하고 시퀀스 넘버순대로 불독화 모듈에 업로드하여 인증을 통과한 서버에서만 데이터를 볼 수 있도록 하는 것을 특징으로 하는 데이터 보안 장치.
a local server that bit-shifts data delivered from a Date Concentration Unit (DCU);
a Front End Processor (FEP) server that resets files bit-shifted by the local server;
a decryption system that decrypts files relocated by the FEP server;
an MDMS (Meter Data Management System) server that receives a file returned by the FEP server from the FEP server and delivers it to the decryption system;
An obfuscation system that obfuscates files delivered from the MDMS server; and
An integrated server that receives and stores files decrypted by the deobfuscation system from the MDMS server and transmits the files received from the MDMS server to the obfuscation system to obfuscate them,
The local server moves the data transmitted from the DCU bit by file unit using a random number,
The decryption system is a data security device characterized in that it inserts a sequence number into the file before decryption and uploads it to the deobfuscation module in the order of the sequence number, allowing the data to be viewed only on a server that has passed authentication.
KR1020230109838A 2018-12-27 2023-08-22 Data security apparatus Active KR102585404B1 (en)

Priority Applications (1)

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

Applications Claiming Priority (2)

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

Related Parent Applications (1)

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

Publications (2)

Publication Number Publication Date
KR20230127951A KR20230127951A (en) 2023-09-01
KR102585404B1 true KR102585404B1 (en) 2023-10-10

Family

ID=71602617

Family Applications (3)

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

Family Applications Before (2)

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

Country Status (1)

Country Link
KR (3) KR102570688B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102570688B1 (en) * 2018-12-27 2023-08-28 한국전력공사 Data security apparatus
CN119365998A (en) 2022-10-14 2025-01-24 株式会社Lg新能源 Secondary battery

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101451323B1 (en) 2014-02-10 2014-10-16 주식회사 락인컴퍼니 Application security system, security server, security client apparatus, and recording medium

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7254586B2 (en) * 2002-06-28 2007-08-07 Microsoft Corporation Secure and opaque type library providing secure data protection of variables
KR101791693B1 (en) * 2011-05-31 2017-10-31 한국전력공사 Method for meter registration
KR20160066999A (en) * 2014-12-03 2016-06-13 한국전자통신연구원 Method of controlling integrated energy service using smart grid inter-operability
CA3031531A1 (en) * 2016-09-15 2018-03-22 Nuts Holdings, Llc Encrypted userdata transit and storage
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 (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101451323B1 (en) 2014-02-10 2014-10-16 주식회사 락인컴퍼니 Application security system, security server, security client apparatus, and recording medium

Also Published As

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

Similar Documents

Publication Publication Date Title
US11818274B1 (en) Systems and methods for trusted path secure communication
KR102585404B1 (en) Data security apparatus
CN112217835B (en) Message data processing method and device, server and terminal equipment
JP4240297B2 (en) Terminal device, authentication terminal program, device authentication server, device authentication program
CN101444063B (en) Secure time functionality for a wireless device
CN101802833B (en) Local stores service is provided to the application run in application execution environment
CN112332975A (en) Internet of things equipment secure communication method and system
US10635826B2 (en) System and method for securing data in a storage medium
CN101807234A (en) Method for installing rights object for content in memory card
CN104484628B (en) It is a kind of that there is the multi-application smart card of encrypting and decrypting
CN109309645A (en) A kind of software distribution security guard method
Cooijmans et al. Secure key storage and secure computation in Android
CN113918982A (en) Data processing method and system based on identification information
Knockel et al. The Not-So-Silent Type: Vulnerabilities in Chinese IME Keyboards' Network Security Protocols
KR20130100032A (en) Method for distributting smartphone application by using code-signing scheme
CN106503529A (en) A kind of cloud storage system based on fingerprint
CN116055105A (en) Cloud storage data processing method, device and server
CN104144054A (en) Login system based on server, login server and verification method of login server
KR20040048161A (en) DRM Method for PDA Terminal in Wireless Telephony Network
KR20120093594A (en) Transaction protection system and method using connection of certificate and opt generated by keystream
CN106156625A (en) The method of a kind of plug-in unit signature and electronic equipment
KR102812231B1 (en) Crypto wallet password cracking system, method, and application using the same
Hastings et al. A case study of authenticated and secure file transfer: the Iowa Campaign Finance Reporting System (ICFRS)
CN114760111B (en) File confidentiality method and file confidentiality device based on block chain
CN118944986B (en) Risk control method, device and storage medium of service interface

Legal Events

Date Code Title Description
A107 Divisional application of patent
PA0107 Divisional application

St.27 status event code: A-0-1-A10-A16-div-PA0107

St.27 status event code: A-0-1-A10-A18-div-PA0107

PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

PG1501 Laying open of application

St.27 status event code: A-1-1-Q10-Q12-nap-PG1501

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

St.27 status event code: A-1-2-D10-D22-exm-PE0701

PR0701 Registration of establishment

St.27 status event code: A-2-4-F10-F11-exm-PR0701

PR1002 Payment of registration fee

Fee payment year number: 1

St.27 status event code: A-2-2-U10-U11-oth-PR1002

PG1601 Publication of registration

St.27 status event code: A-4-4-Q10-Q13-nap-PG1601