KR101292004B1 - Method for security enhancement of source code package for web applications, and computer readable recording medium storing program for the same - Google Patents

Method for security enhancement of source code package for web applications, and computer readable recording medium storing program for the same Download PDF

Info

Publication number
KR101292004B1
KR101292004B1 KR1020110084139A KR20110084139A KR101292004B1 KR 101292004 B1 KR101292004 B1 KR 101292004B1 KR 1020110084139 A KR1020110084139 A KR 1020110084139A KR 20110084139 A KR20110084139 A KR 20110084139A KR 101292004 B1 KR101292004 B1 KR 101292004B1
Authority
KR
South Korea
Prior art keywords
web application
source code
package
wgt
file
Prior art date
Application number
KR1020110084139A
Other languages
Korean (ko)
Other versions
KR20130021707A (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 KR1020110084139A priority Critical patent/KR101292004B1/en
Publication of KR20130021707A publication Critical patent/KR20130021707A/en
Application granted granted Critical
Publication of KR101292004B1 publication Critical patent/KR101292004B1/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]
    • 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/105Arrangements for software license management or administration, e.g. for managing licenses at corporate level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Human Computer Interaction (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 웹 어플리케이션에 사용되는 소스코드 패키지에 관한 보안 관리를 강화하는 기술에 관한 것이다. 좀더 구체적으로는, 본 발명은 웹 어플리케이션의 소스코드를 WGT 패키징하기 전에 대칭키 암호화 기술로 먼저 인크립션하여 WGT 파일을 생성하고 디바이스에서 웹 어플리케이션의 기동을 위해 WGT 리소스를 읽어들일 때 대칭키 암호화 기술을 사용하여 디크립션하여 사용하도록 하여 보안관리를 강화함으로써 제3자가 웹 어플리케이션을 무단 복제하여 임의로 활용하는 것을 막을 수 있도록 해주는 기술을 제공한다. 본 발명에 따르면 웹 어플리케이션의 소스코드 패키지에 관한 보안관리를 강화함으로써 제3자가 웹 어플리케이션의 소스코드를 무단 복제하여 임의로 활용하는 것을 막을 수 있는 장점이 있다. 특히, 본 발명은 소스코드 패키지에서 이미지나 동영상 등은 암호화하지 않고 텍스트 부분만 선별하여 암호화하도록 구성함으로써 복호화 단계에서 디바이스의 프로세싱 부담을 경감시켜 주었고, 그에 따라 보안성은 크게 강화하면서도 디바이스에서 웹 어플리케이션을 실행할 때 이로 인해 동작성능의 저하가 거의 나타나지 않도록 구성한 장점이 있다.The present invention relates to a technique for strengthening security management on a source code package used in a web application. More specifically, the present invention generates a WGT file by first encrypting the source code of the web application with the symmetric key encryption technique before packaging the WGT file, and uses the symmetric key encryption technique when the WGT resource is read for the activation of the web application on the device. It provides a technology that prevents the third party from copying and randomly using the web application by strengthening security management by using it and decrypting it. According to the present invention, it is possible to prevent a third party from randomly copying the source code of the web application and utilizing it by reinforcing security management on the source code package of the web application. In particular, the present invention reduces the processing burden of the device during the decryption step by configuring to encrypt only the text portion without encrypting the image or video in the source code package, thereby greatly improving the security while maintaining the web application in the device This has the advantage of being configured so that when running, there is almost no degradation in operation performance.

Figure R1020110084139
Figure R1020110084139

Description

웹 어플리케이션의 소스코드 패키지 보안 방법 및 이를 실행하기 위한 프로그램을 기록한 컴퓨터로 판독가능한 기록매체{METHOD FOR SECURITY ENHANCEMENT OF SOURCE CODE PACKAGE FOR WEB APPLICATIONS, AND COMPUTER READABLE RECORDING MEDIUM STORING PROGRAM FOR THE SAME}TECHNICAL FOR SECURITY ENHANCEMENT OF SOURCE CODE PACKAGE FOR WEB APPLICATIONS, AND COMPUTER READABLE RECORDING MEDIUM STORING PROGRAM FOR THE SAME}

본 발명은 웹 어플리케이션에 사용되는 소스코드 패키지에 관한 보안 관리를 강화하는 기술에 관한 것이다. 좀더 구체적으로는, 본 발명은 웹 어플리케이션의 소스코드를 WGT 패키징하기 전에 대칭키 암호화 기술로 먼저 인크립션하여 WGT 파일을 생성하고 디바이스에서 웹 어플리케이션의 기동을 위해 WGT 리소스를 읽어들일 때 대칭키 암호화 기술을 사용하여 디크립션하여 사용하도록 하여 보안관리를 강화함으로써 제3자가 웹 어플리케이션을 무단 복제하여 임의로 활용하는 것을 막을 수 있도록 해주는 기술을 제공한다.
The present invention relates to a technique for strengthening security management on a source code package used in a web application. More specifically, the present invention generates a WGT file by first encrypting the source code of the web application with the symmetric key encryption technique before packaging the WGT file, and uses the symmetric key encryption technique when the WGT resource is read for the activation of the web application on the device. It provides a technology that prevents the third party from copying and randomly using the web application by strengthening security management by using it and decrypting it.

웹 어플리케이션은 웹(WEB)을 기반으로 실행되는 프로그램을 의미하는데, 구체적으로는 디바이스(컴퓨터나 각종 단말장치)의 웹 브라우저 상에서 동작하는 프로그램으로서 인터넷을 통해 다운로드 설치하고 그 실행에 있어서도 인터넷을 기반으로 당해 목적에 따른 동작을 실행한다.A web application refers to a program that is executed based on the web. Specifically, a web application is a program that runs on a web browser of a device (computer or various terminal devices). The operation according to the purpose is performed.

[도 1]은 일반적인 웹 어플리케이션의 동작 방식을 나타내는 도면으로, [도 1]을 참조하여 웹 어플리케이션의 개념에 대해 살펴본다. 먼저, 디바이스(110)에서 웹 브라우저(111)가 웹 서버(120)로 특정의 웹 페이지를 요청한다. 이러한 웹 페이지 요청에 대응하여, 해당 웹 서버(120)는 그 요청된 웹 페이지에 포함된 각종의 로직처리 및 데이터베이스 연동을 수행하기 위해서 웹 어플리케이션 서버(WAS : 130)로 이들의 처리를 요청한다. FIG. 1 is a diagram illustrating an operation method of a general web application. The concept of the web application will be described with reference to FIG. 1. First, the web browser 111 requests a specific web page from the device 110 to the web server 120. In response to such a web page request, the web server 120 requests the web application server (WAS) 130 to process them in order to perform various logic processing and database interworking included in the requested web page.

그러면, 웹 어플리케이션 서버(130)는 필요에 따라서 선택적으로 데이터베이스(131)와 연동하여 데이터 처리를 수행하고, 이어서 로직처리 및 데이터베이스 연동작업의 처리 결과를 웹 서버(120)로 리턴한다. 이어서, 웹 서버(120)는 그 제공받은 결과를 다시 웹 브라우저(111)로 제공하며, 그 결과로 웹 브라우저(111)에는 특정의 웹 페이지가 표시된다.Then, the web application server 130 selectively performs data processing in association with the database 131 as needed, and then returns the processing result of the logic processing and the database interworking operation to the web server 120. Subsequently, the web server 120 provides the received result back to the web browser 111, and as a result, a specific web page is displayed on the web browser 111.

이러한 웹 어플리케이션은 일반적으로 사용자가 웹 브라우저(111)를 사용하여 웹 페이지를 오픈하고 특정의 조작을 실행하는 중에 필요에 따라 자동 또는 수동으로 설치된다. 이를 위해 웹 어플리케이션 서버(130)으로부터 웹 어플리케이션을 위한 소스코드 패키지가 제공되는데, 일반적으로 HTML, CSS, JavaScript의 텍스트로 구성되며 확장자가 *.wgt인 zip 형태의 압축파일이다. 이러한 파일을 본 명세서에서는 WGT 압축파일 또는 웹 어플리케이션의 소스코드 패키지라고 부르기로 한다. Such a web application is generally installed automatically or manually as needed while a user opens a web page using the web browser 111 and performs a specific operation. For this purpose, a source code package for a web application is provided from the web application server 130. In general, a zip type compressed file consisting of text of HTML, CSS, and JavaScript and having an extension of * .wgt is provided. Such files are referred to herein as WGT compressed files or source code packages of web applications.

이러한 과정에서 제3자가 웹 어플리케이션의 WGT 압축파일을 무단 복제하여 임의로 활용할 우려가 있다. 즉, WGT 압축파일을 무단 복제한 후에 그 압축을 풀어 HTML, CSS, JavaScript 텍스트를 확보하고, 그 내용을 리버스 엔지니어링하여 자신의 웹 어플리케이션을 개발할 때 임의로 활용할 수 있다. 원래 웹 어플리케이션의 저작권을 실질적으로 침해하는 것이나, 그러한 일이 발생한다고 하더라도 이를 감지하는 것은 매우 어렵고, 설사 감지했다고 하더라도 이 문제를 해결하는 것은 매우 번거로운 일이다.
In this process, a third party may randomly copy and use the WGT compressed file of the web application. In other words, after copying the WGT compressed file, it can be decompressed to obtain HTML, CSS, and JavaScript text, and its contents can be reverse engineered to be used when developing your own web application. Substantially violating the copyright of the original web application, even if it happens, it is very difficult to detect, and even if detected, solving this problem is very cumbersome.

본 발명의 목적은 웹 어플리케이션에 사용되는 소스코드 패키지에 관한 보안 관리를 강화하는 기술을 제공하는 것이다. 특히, 본 발명의 목적은 웹 어플리케이션의 소스코드를 WGT 패키징하기 전에 대칭키 암호화 기술로 먼저 인크립션하여 WGT 파일을 생성하고 디바이스에서 웹 어플리케이션의 기동을 위해 WGT 리소스를 읽어들일 때 대칭키 암호화 기술을 사용하여 디크립션하여 사용하도록 하여 보안관리를 강화함으로써 제3자가 웹 어플리케이션을 무단 복제하여 임의로 활용하는 것을 막을 수 있도록 해주는 기술을 제공하는 것이다.
It is an object of the present invention to provide a technique for enhancing security management on source code packages used in web applications. In particular, it is an object of the present invention to generate a WGT file by first encrypting the source code of the web application with the symmetric key encryption technique before packaging the WGT, and using the symmetric key encryption technique when reading the WGT resource for the activation of the web application on the device. It is to provide technology that prevents unauthorized copying of web applications by unauthorized use by strengthening security management by using decryption.

이러한 목적을 달성하기 위하여, 본 발명에 따른 소스코드 패키지 보안 방법은, 저작장치가 웹 어플리케이션의 소스코드를 확보하는 제 1 단계; 상기 웹 어플리케이션의 소스코드 중 텍스트 부분만 선택하는 제 2 단계; 상기 선택된 텍스트 부분을 암호화하는 제 3 단계; 상기 웹 어플리케이션을 위해 상기 암호화가 완료된 코드를 사용하여 WGT 패키지를 실행하는 제 4 단계; 상기 웹 어플리케이션의 WGT 패키지를 디바이스로 제공하는 제 5 단계; 디바이스가 상기 웹 어플리케이션 WGT 패키지를 로딩하는 제 6 단계; 상기 WGT 패키지 중에서 텍스트 부분을 선별하는 제 7 단계; 상기 선별된 텍스트 부분을 복호화하는 제 8 단계; 상기 복호화가 완료된 코드를 사용하여 WGT 패키지를 파싱하는 제 9 단계; 상기 웹 어플리케이션을 실행하는 제 10 단계;를 포함하여 구성된다.In order to achieve this object, the source code package security method according to the present invention, the authoring device to obtain the source code of the web application; Selecting a text portion of the source code of the web application; Encrypting the selected text portion; A fourth step of executing a WGT package using the encrypted code for the web application; Providing a WGT package of the web application to a device; A sixth step of the device loading the web application WGT package; A seventh step of selecting a text part from the WGT package; An eighth step of decoding the selected text portion; A ninth step of parsing a WGT package using the decrypted code; And a tenth step of executing the web application.

한편, 본 발명의 소스코드 패키지 보안 방법에서 상기 제 3 단계의 암호화 및 상기 제 8 단계의 복호화는 ARIA 대칭키 알고리즘으로 실행되는 것이 바람직하고, 이때 상기 저작장치와 상기 디바이스는 외부의 인증서버와의 통신을 통해 상기 제 3 단계의 암호화 및 상기 제 8 단계의 복호화를 위한 키(key)를 제공받는 것이 바람직하다. 또한, 본 발명의 소스코드 패키지 보안 방법에서 상기 제 2 단계에서 상기 웹 어플리케이션의 소스코드 중 텍스트 부분은 상기 웹 어플리케이션을 위한 HTML 파일, HTM 파일, JS 파일, CSS 파일의 하나 이상을 포함하여 구성되는 것이 바람직하다.On the other hand, in the source code package security method of the present invention, the encryption of the third step and the decryption of the eighth step are preferably performed by an ARIA symmetric key algorithm, wherein the authoring device and the device are connected to an external authentication server. It is preferable to receive a key for encryption of the third step and decryption of the eighth step through communication. In the second step of the source code package security method of the present invention, the text portion of the source code of the web application includes one or more of an HTML file, an HTM file, a JS file, and a CSS file for the web application. It is preferable.

한편, 본 발명에 따른 컴퓨터로 판독가능한 기록매체는 상기와 같은 소스코드 패키지 보안 방법을 실행하기 위한 보안 프로그램을 저장한다.
On the other hand, the computer-readable recording medium according to the present invention stores a security program for executing the source code package security method as described above.

본 발명에 따르면 웹 어플리케이션의 소스코드 패키지에 관한 보안관리를 강화함으로써 제3자가 웹 어플리케이션의 소스코드를 무단 복제하여 임의로 활용하는 것을 막을 수 있는 장점이 있다. According to the present invention, it is possible to prevent a third party from randomly copying the source code of the web application and utilizing it by reinforcing security management on the source code package of the web application.

특히, 본 발명은 소스코드 패키지에서 이미지나 동영상 등은 암호화하지 않고 텍스트 부분만 선별하여 암호화하도록 구성함으로써 복호화 단계에서 디바이스의 프로세싱 부담을 경감시켜 주었고, 그에 따라 보안성은 크게 강화하면서도 디바이스에서 웹 어플리케이션을 실행할 때 이로 인해 동작성능의 저하가 거의 나타나지 않도록 구성한 장점이 있다.
In particular, the present invention reduces the processing burden of the device during the decryption step by configuring to encrypt only the text portion without encrypting the image or video in the source code package, thereby greatly improving the security while maintaining the web application in the device This has the advantage of being configured so that when running, there is almost no degradation in operation performance.

[도 1]은 일반적인 웹 어플리케이션의 동작 방식을 나타내는 도면.
[도 2]는 본 발명에 따른 웹 어플리케이션 소스코드 패키지 보안방법을 구현하기 위한 전체 시스템의 상세 구성을 나타내는 블록도.
[도 3]은 본 발명에 따른 웹 어플리케이션 소스코드 패키지 보안방법의 개념을 나타내기 위한 흐름도.
[도 4]는 ARIA 알고리즘의 암호화 과정과 복호화 과정을 나타내는 도면.
1 is a diagram illustrating a method of operating a general web application.
Figure 2 is a block diagram showing the detailed configuration of the entire system for implementing the web application source code package security method according to the present invention.
3 is a flowchart illustrating the concept of a web application source code package security method according to the present invention.
4 is a diagram illustrating an encryption process and a decryption process of an ARIA algorithm.

이하에서는 도면을 참조하여 본 발명을 보다 상세하게 설명한다.Hereinafter, with reference to the drawings will be described the present invention in more detail.

[도 2]는 본 발명에 따른 웹 어플리케이션 소스코드 패키지 보안방법을 구현하기 위한 전체 시스템의 상세 구성을 나타내는 블록도이다.2 is a block diagram showing a detailed configuration of an entire system for implementing a web application source code package security method according to the present invention.

[도 2]를 참조하면, 본 발명을 구현하기 위한 전체 시스템은 웹 어플리키이션 제공사(500 ; 저작장치), 디바이스(200), 웹 어플리케이션 서버(300), 인증서버(400)를 포함하여 이루어진다. 웹 어플리케이션 서버(300)는 [도 1]을 참조하여 전술한 종래기술의 구성과 별달리 차이가 없더라도 무방하다.Referring to FIG. 2, the entire system for implementing the present invention includes a web application provider 500 (authoring apparatus), a device 200, a web application server 300, and an authentication server 400. . The web application server 300 may be different from the configuration of the related art described above with reference to FIG. 1.

인증서버(400)는 본 발명의 기술을 구현한 디바이스(200)에서 소스코드의 암호화/복호화에 사용할 키(key)를 관리하고 상호 인증과정을 통해 디바이스(200)와 웹 어플리키이션 제공사(500)에서 필요에 따라 이들 키를 획득할 수 있도록 해준다. 소스코드의 암호화/복호화를 위해서는 바람직하게는 ARIA (Academy, Research Institute, Agency) 알고리즘이 사용될 수 있는데, 본 발명의 권리범위는 이 ARIA 알고리즘에 한정되지 않으며 다양한 암호화/복호화 알고리즘 중에서 선택하여 사용할 수 있다.The authentication server 400 manages a key to be used for encryption / decryption of the source code in the device 200 implementing the technology of the present invention, and the device 200 and the web application provider 500 through the mutual authentication process. ) Allows you to obtain these keys as needed. For encryption / decryption of the source code, preferably, ARIA (Academy, Research Institute, Agency) algorithm may be used. The scope of the present invention is not limited to this ARIA algorithm, and may be selected and used from various encryption / decryption algorithms. .

ARIA에 대해서 살펴보면, ARIA 알고리즘은 전자정부 구현 등으로 다양한 환경에 적합한 암호 알고리즘이 필요함에 따라 대한민국 국가보안기술연구소(NSRI) 주도로 학계, 국가정보원 등의 암호기술 전문가들이 힘을 모아 개발한 국가 암호화 알고리즘이다. ARIA는 경량 환경 및 경량 하드웨어 구현을 위해 최적화된 인볼루션 SPN(Involutional SPN) 구조를 갖는 범용 블록 암호화 알고리즘이다. ARIA 알고리즘의 특징을 정리하면 다음과 같다.
As for ARIA, the ARIA algorithm requires a cryptographic algorithm suitable for various environments such as e-government implementation. Therefore, it is a national encryption developed by cryptographic experts such as academia and the National Intelligence Service. Algorithm. ARIA is a general-purpose block encryption algorithm with an Involutional SPN structure optimized for lightweight environments and lightweight hardware implementations. The features of the ARIA algorithm are summarized as follows.

블록크기 : 128 비트Block size: 128 bits

키 크기 : 128/192/256 비트Key size: 128/192/256 bits

전체구조 : Involutional Substitution-Permutation NetworkOverall structure: Involutional Substitution-Permutation Network

라운드수 : 12/14/16 (키 크기에 따라 결정됨)
Rounds: 12/14/16 (depending on key size)

ARIA 알고리즘은 경량 환경 및 경량 하드웨어에서의 효율성 향상을 위해 개발되었으며, ARIA가 사용하는 대부분의 연산은 XOR같은 단순한 바이트 단위 연산으로 구성되어 있다. 'ARIA'라는 이름은 Academy, Research Institute, Agency의 첫 글자를 딴 것으로, ARIA 알고리즘의 개발에 참여한 학+연+관의 공동 노력을 표현하고 있다. ARIA는 2004. 12. 30.에 대한민국의 한국산업규격 KS표준으로 제정되었으며 소스코드, 명세서 등의 자료들은 현재 국가사이버안전센터 IT보안인증사무국 홈페이지(http://service1.nis.go.kr/)에서 배포한다. ARIA 알고리즘의 암호화 과정과 복호화 과정을 [도 4]에 나타내었다.The ARIA algorithm was developed to improve efficiency in lightweight environments and lightweight hardware, and most of the operations used by ARIA consist of simple byte operations such as XOR. The name 'ARIA' comes from the first letters of the Academy, Research Institute, and Agency, and represents the joint efforts of the academic and research institutes involved in the development of the ARIA algorithm. ARIA was enacted as Korean Industrial Standard KS Standard of Korea on December 30, 2004. Data such as source code and specification are currently on the homepage of the IT Cyber Certification Office of National Cyber Safety Center (http://service1.nis.go.kr/). To distribute). An encryption process and a decryption process of the ARIA algorithm are shown in FIG. 4.

다음으로, 웹 어플리키이션 제공사(500)는 소스 시큐리티 제어부(510), 통신부(520), 소스 암호부(530), 패키징부(540), 암호키 저장부(550)를 포함하여 이루어진다. 웹 어플리키이션 제공사(500; 저작장치)의 이와 같은 내부 구성을 상세하게 살펴보기 전에 먼저 [도 2]와 같은 본 발명의 구성이 필요하게 된 동기에 대해서 간단하게 살펴본다.Next, the web application provider 500 includes a source security controller 510, a communication unit 520, a source encryption unit 530, a packaging unit 540, and an encryption key storage unit 550. Before examining the internal configuration of the web application provider 500 (authoring apparatus) in detail, first, a brief description will be made of the motivation required for the configuration of the present invention as shown in FIG.

일반적인 어플리케이션 프로그램(소프트웨어)은 바이너리 코드 형태로 이루어져 있어 디버거 등과 같은 툴(tool)을 사용하여 상당한 시간동안 노력을 기울여야 겨우 소스 내용을 가늠해볼 수 있는 반면, 웹 어플리케이션은 WGT 압축파일 내에 들어있는 소스코드가 HTML, CSS, JavaScript 등의 텍스트 형태로 존재하고 있어 누구든지 쉽게 내용을 파악할 수 있다. A general application program (software) is in binary code form, so you can spend a considerable amount of time using tools such as a debugger to measure the source content, whereas a web application can use the source code contained in a WGT archive. Exists in the form of text such as HTML, CSS, and JavaScript, so anyone can easily understand the contents.

기존에 웹 어플리케이션의 보안을 강화하기 위하여 W3C 디지털 서명기술과 WAC 시큐리티 기술이 제시되어 있다. 하지만, 이들 기술은 웹 어플리케이션의 위변조를 막기 위한 기술로서 웹 어플리케이션의 소스코드 무단 복제 문제를 전혀 해결해주지 못하고 있다. 그에 따라, 웹 어플리케이션의 소스코드에 대해 보안을 강화하기 위한 기술을 제공한다.To enhance the security of web applications, W3C digital signature technology and WAC security technology are proposed. However, these technologies are technologies to prevent forgery of web applications and do not solve the problem of unauthorized copying of source code of web applications. As a result, it provides a technique for enhancing the security of the source code of the web application.

웹 어플리키이션 제공사(500)의 내부구성에 대해 살펴본다.It looks at the internal configuration of the web application provider 500.

통신부(520)는 네트워크(예: 웹, 인터넷)를 통해 외부의 웹 어플리케이션 서버(300)와 인증서버(400)를 액세스할 수 있는 경로를 제공한다. 통신부(520)는 임의의 네트워크 기술을 활용하여 구현될 수 있다.The communication unit 520 provides a path for accessing the external web application server 300 and the authentication server 400 through a network (for example, the web and the Internet). The communication unit 520 may be implemented using any network technology.

소스 암호부(530)는 웹 어플리케이션의 소스코드 중에서 텍스트 부분을 선별하여 암호화(인크립션)을 수행한다. 이때, 웹 어플리케이션의 소스코드는 일반적으로 텍스트, 이미지, 동영상, 오디오 데이터를 포함하고 있는데, 이중에서 텍스트 부분을 선별하여 소스 암호부(530)에서 암호화한다. 웹 어플리케이션의 소스코드에서 텍스트 부분은 HTML 파일, HTM 파일, JS 파일, CSS 파일 등이 있다. 암호화로는 ARIA 대칭키 알고리즘이 양호하게 사용될 수 있는데, 암호화 키는 인증서버(400)와의 인증과정을 거쳐 획득되는 것이 바람직하다.The source encryption unit 530 selects a text portion from the source code of the web application and performs encryption (encryption). In this case, the source code of the web application generally includes text, image, video, and audio data, of which the text portion is selected and encrypted by the source encryption unit 530. The text portion of the web application's source code includes HTML files, HTM files, JS files, and CSS files. As an encryption, an ARIA symmetric key algorithm may be preferably used, and the encryption key is preferably obtained through an authentication process with the authentication server 400.

패키징부(540)는 웹 어플리케이션의 소스코드를 WGT 패키징하기 위한 구성으로서, 특히 소스코드의 텍스트 부분이 앞서 암호화된 상태에서 패키징을 실행하는 점에 특징이 있다. 또한, 암호키 저장부(550)는 소스 암호부(530)가 예컨대 ARIA 대칭키 알고리즘으로 텍스트 인크립션을 실행할 때 사용하는 암호화 키를 저장하기 위한 공간이다. 키 정보가 안전하게 보호될 수 있도록 암호키 저장부(550)는 히든 영역에 마련되는 것이 바람직하다.The packaging unit 540 is a component for WGT packaging of the source code of the web application. In particular, the packaging unit 540 executes the packaging while the text portion of the source code is previously encrypted. In addition, the encryption key storage unit 550 is a space for storing an encryption key used by the source encryption unit 530 to execute text encryption using, for example, an ARIA symmetric key algorithm. The encryption key storage unit 550 is preferably provided in the hidden area so that the key information can be securely protected.

소스 시큐리티 제어부(510)는 이들 모듈을 전체적으로 제어한다. 즉, 소스 시큐리티 제어부(510)는 웹 어플리케이션의 소스코드 중에서 HTML 파일, HTM 파일, JS 파일, CSS 파일과 같은 텍스트 부분만 선택하고, 소스 암호부(530)에서 이들 선택된 텍스트 부분을 암호화하도록 한다. 그리고, 패키징부(540)를 통해 웹 어플리케이션을 위해 암호화가 완료된 소스코드를 사용하여 WGT 패키지를 실행하여 웹 어플리케이션 소스코드 패키지를 생성한다.The source security control unit 510 controls these modules as a whole. That is, the source security control unit 510 selects only text portions such as HTML files, HTM files, JS files, CSS files among the source codes of the web application, and encrypts the selected text portions in the source encryption unit 530. Then, the package unit 540 executes the WGT package using the encrypted source code for the web application to generate a web application source code package.

한편, 디바이스(200)는 디바이스 시큐리티 제어부(210), 통신부(220), 소스 복호부(230), 소스 검증부(240), 복호키 저장부(250)를 포함하여 이루어진다. 이하에서는 디바이스(200)의 내부 구성을 살펴본다.Meanwhile, the device 200 includes a device security controller 210, a communication unit 220, a source decoder 230, a source verification unit 240, and a decryption key storage unit 250. Hereinafter, an internal configuration of the device 200 will be described.

통신부(220)는 네트워크(예: 웹, 인터넷)를 통해 외부의 웹 어플리케이션 서버(300)와 인증서버(400)를 액세스할 수 있는 경로를 제공한다. 통신부(220)는 임의의 네트워크 기술을 활용하여 구현될 수 있다.The communication unit 220 provides a path for accessing the external web application server 300 and the authentication server 400 through a network (for example, the web or the Internet). The communication unit 220 may be implemented using any network technology.

소스 복호부(230)는 웹 어플리케이션 서버(300)로부터 제공받은 웹 어플리케이션 소스코드 패키지로부터 암호화되어 있는 부분을 찾아 이를 다시 복호화(디크립션)한다. 암호화되어 있는 부분을 찾는 것은 데이터 헤더를 찾아서 식별하는 것도 가능하지만, 기술규약을 통해 어떠한 부분을 암호화할 것인지를 미리 약속해놓는 방식도 가능하다. 소스 복호부(230)에서 사용하는 복호화 알고리즘은 앞서 소스 암호부(530)에서 사용한 암호화 알고리즘과 한 쌍으로 구성되는 것이며, 어떠한 알고리즘을 사용할 것인지는 기술규약에 정의된다.The source decoder 230 finds an encrypted portion from the web application source code package provided from the web application server 300 and decrypts it again (decryption). Finding the encrypted part can be done by looking for the data header, but it can also be a way of promising which part to encrypt through the technical convention. The decryption algorithm used in the source decryption unit 230 is configured in pairs with the encryption algorithm used in the source encryption unit 530, and which algorithm is used is defined in the technical convention.

소스 검증부(240)는 이상과 같이 재구성된 웹 어플리케이션 소스코드 패키지가 제대로 구성되었는지 여부를 체크한다.The source verification unit 240 checks whether the web application source code package reconfigured as described above is properly configured.

그리고, 복호키 저장부(240)는 소스 복호부(230)가 예컨대 ARIA 대칭키 알고리즘으로 텍스트 디크립션을 실행할 때 사용하는 복호화 키를 저장하기 위한 공간으로서, 키 정보가 안전하게 보호될 수 있도록 복호키 저장부(250)는 히든 영역에 마련되는 것이 바람직하다.In addition, the decryption key storage unit 240 is a space for storing a decryption key used when the source decryption unit 230 executes text decryption using, for example, an ARIA symmetric key algorithm, and decrypts the key information so that the key information can be safely protected. The key storage unit 250 is preferably provided in the hidden area.

디바이스 시큐리티 제어부(210)는 상기와 같은 디바이스의 각종 모듈을 전체적으로 제어한다. 즉, 디바이스 시큐리티 제어부(210)는 전술한 바와 같이 웹 어플리케이션 서버(300)로부터 웹 어플리케이션 WGT 패키지를 제공받아 필요에 따라 로딩하고, WGT 패키지 중에서 텍스트 부분을 선별한다. 그후, 그 선별된 텍스트 부분을 소스 복호부(230)를 통해 복호화(디크립션)하고, 이렇게 복호가 완료된 코드를 사용하여 WGT 패키지를 파싱한다. 그리고 나서, 웹 어플리케이션을 실행하여 동작이 이루어지도록 한다.
The device security controller 210 controls the various modules of the device as a whole. That is, the device security controller 210 receives the web application WGT package from the web application server 300 and loads it as necessary, and selects a text portion from the WGT package. Thereafter, the selected text portion is decoded (decrypted) by the source decoder 230, and the WGT package is parsed using the decoded code. Then run the web application to make it work.

[도 3]은 본 발명에 따른 웹 어플리케이션 소스코드 패키지 보안방법의 개념을 나타내기 위한 흐름도이다. 기술적 구성의 대부분은 [도 2]를 참조하여 이미 설명하였으므로, 이하에서는 프로세스의 흐름에 대해서만 간략히 설명한다. 프로세스 순서는 [도 3]에 도시된 것에 한정되지 않으며, 발명의 목적을 달성하는 범위 내에서 일부 단계가 서로 순서를 바꾸어 구성될 수 있다.3 is a flowchart illustrating the concept of a web application source code package security method according to the present invention. Since most of the technical configuration has already been described with reference to [FIG. 2], hereinafter, only the flow of the process will be briefly described. The process order is not limited to that shown in [FIG. 3], and some steps may be configured in reverse order within the scope of the object of the invention.

(S1 단계) : 웹 어플리키이션 제공사(500 ; 저작장치)는 웹 어플리케이션의 소스코드 중에서 텍스트 부분을 선별하고, 이렇게 선별된 텍스트 부분을 미리 설정된 암호화 알고리즘으로 암호화한다. 웹 어플리케이션의 소스코드에서 텍스트 부분은 HTML 파일, HTM 파일, JS 파일, CSS 파일 등이 있다. 암호화 알고리즘은 나중에 디바이스(200)에서 디크립션 동작에 소요되는 프로세싱 리소스를 감안하여 대칭형 알고리즘을 사용하는 것이 바람직한데, 예컨대 자세하게 상술하였던 ARIA 알고리즘을 사용할 수 있다.(Step S1): The web application provider 500 (authoring device) selects the text portion from the source code of the web application, and encrypts the selected text portion by a predetermined encryption algorithm. The text portion of the web application's source code includes HTML files, HTM files, JS files, and CSS files. As the encryption algorithm, it is preferable to use a symmetric algorithm in consideration of the processing resources required for the decryption operation in the device 200 later, for example, the ARIA algorithm described above in detail may be used.

(S2 단계) : 웹 어플리키이션 제공사(500)는 텍스트 부분이 암호화된 소스코드를 활용하여 WGT 패키징을 수행한다.(S2 step): Web application provider 500 performs the WGT packaging using the source code is encrypted text portion.

(S3 단계) : 이렇게 WGT 패키징이 완료된 웹 어플리케이션은 웹 어플리케이션 서버(300)를 통해 디바이스(200)로 제공된다.(Step S3): The web application in which the WGT packaging is completed is provided to the device 200 through the web application server 300.

(S4 단계) : 그리고 나서, 디바이스(200)는 위에서 제공받은 웹 어플리케이션을 로딩한다. 구체적으로는 디바이스(200)가 웹 어플리케이션 소스코드의 WGT 패키지를 로딩하여 프로그램 실행을 준비한다.(S4 step): Then, the device 200 loads the web application provided above. Specifically, the device 200 prepares to execute a program by loading the WGT package of the web application source code.

(S5 단계) : 웹 어플리케이션의 WGT 패키지에서 텍스트 부분이 암호화되어 있으므로 이를 복호하지 않고서는 웹 어플리케이션의 실행이 불가능하다. 그에 따라 디바이스(200)는 소스 복호부(230)를 통해 웹 어플리케이션의 소스코드에서 암호화되어 있는 부분, 즉 텍스트 부분을 선별하여 복호화를 실행한다. 복호화에 사용되는 알고리즘은 단계(S1)에서 사용된 알고리즘과 한 쌍을 이루도록 선택되는데, 바람직하게는 ARIA 알고리즘을 사용할 수 있다.(Step S5): Since the text portion is encrypted in the WGT package of the web application, the web application cannot be executed without decrypting it. Accordingly, the device 200 selects an encrypted portion, that is, a text portion, from the source code of the web application through the source decoder 230 and executes decryption. The algorithm used for decryption is selected to pair with the algorithm used in step S1, preferably an ARIA algorithm.

(S6 단계) : 이러한 복호화 과정을 통해서 웹 어플리케이션 소스코드 패키지는 평서문(plaintext)로 복원되었기에, 디바이스(200)는 웹 어플리케이션 소스코드 패키지를 파싱하는 동작을 수행한다.In step S6, the web application source code package is restored to plaintext through the decryption process, and thus the device 200 parses the web application source code package.

(S7 단계) : 그리고 나서, 디바이스(200)는 웹 어플리케이션을 실행하여 소망하는 동작을 수행한다.
(Step S7): Then, the device 200 executes a web application to perform a desired operation.

이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능하다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 한다.
The above description is merely illustrative of the technical idea of the present invention, and those skilled in the art may make various modifications and changes without departing from the essential characteristics of the present invention. Therefore, the embodiments disclosed in the present invention are intended to illustrate rather than limit the scope of the present invention, and the scope of the technical idea of the present invention is not limited by these embodiments. The scope of protection of the present invention should be interpreted by the following claims, and all technical ideas within the scope equivalent thereto should be construed as being included in the scope of the present invention.

200 : 디바이스
210 : 디바이스 시큐리티 제어부
220 : 통신부
230 : 소스 복호부
240 : 소스 검증부
250 : 복호키 저장부
300 : 웹 어플리케이션 서버
400 : 인증서버
500 : 웹 어플리케이션 제공사(저작장치)
510 : 소스 시큐리티 제어부
520 : 통신부
530 : 소스 암호부
540 : 패키징부
550 : 암호키 저장부
200: device
210: device security control unit
220: communication unit
230: source decoder
240: source verification unit
250: decryption key storage unit
300: web application server
400: authentication server
500: Web application provider (authoring device)
510: source security control
520:
530: source code
540: packaging
550: encryption key storage unit

Claims (6)

저작장치가 웹 어플리케이션의 소스코드를 확보하는 제 1 단계;
상기 웹 어플리케이션의 소스코드 중에서 상기 웹 어플리케이션을 위한 HTML 파일, HTM 파일, JS 파일, CSS 파일의 하나 이상을 포함하여 구성되는 텍스트 부분만 선택하는 제 2 단계;
상기 선택된 텍스트 부분을 미리 설정된 대칭키 알고리즘에 의해 암호화하는 제 3 단계;
상기 웹 어플리케이션을 위해 상기 암호화가 완료된 코드를 사용하여 WGT 패키지를 실행하는 제 4 단계;
상기 웹 어플리케이션의 WGT 패키지를 디바이스로 제공하는 제 5 단계;
상기 디바이스가 상기 웹 어플리케이션 WGT 패키지를 로딩하는 제 6 단계;
상기 WGT 패키지 중에서 상기 웹 어플리케이션을 위한 HTML 파일, HTM 파일, JS 파일, CSS 파일의 하나 이상을 포함하여 구성되는 상기 텍스트 부분을 선별하는 제 7 단계;
상기 선별된 텍스트 부분을 상기 미리 설정된 대칭키 알고리즘에 의해 복호화하는 제 8 단계;
상기 복호화가 완료된 코드를 사용하여 WGT 패키지를 파싱하는 제 9 단계;
상기 웹 어플리케이션을 실행하는 제 10 단계;
를 포함하여 구성되는 웹 어플리케이션의 소스코드 패키지 보안 방법.
A first step of the authoring apparatus securing source code of the web application;
Selecting only a text portion including at least one of an HTML file, an HTM file, a JS file, and a CSS file for the web application from the source code of the web application;
Encrypting the selected text portion by a preset symmetric key algorithm;
A fourth step of executing a WGT package using the encrypted code for the web application;
Providing a WGT package of the web application to a device;
A sixth step of the device loading the web application WGT package;
Selecting a text portion of the WGT package including at least one of an HTML file, an HTM file, a JS file, and a CSS file for the web application;
An eighth step of decoding the selected text portion by the preset symmetric key algorithm;
A ninth step of parsing a WGT package using the decrypted code;
A tenth step of executing the web application;
Source code package security method of the web application configured to include.
청구항 1에 있어서,
상기 제 3 단계의 암호화 및 상기 제 8 단계의 복호화는 ARIA 대칭키 알고리즘으로 실행하는 것을 특징으로 하는 웹 어플리케이션의 소스코드 패키지 보안 방법.
The method according to claim 1,
And encrypting the third step and decrypting the eighth step using an ARIA symmetric key algorithm.
청구항 2에 있어서,
상기 저작장치와 상기 디바이스는 외부의 인증서버와의 통신을 통해 상기 제 3 단계의 암호화 및 상기 제 8 단계의 복호화를 위한 키(key)를 제공받는 것을 특징으로 하는 웹 어플리케이션의 소스코드 패키지 보안 방법.
The method according to claim 2,
The authoring apparatus and the device are provided with a key for encryption of the third step and decryption of the eighth step through communication with an external authentication server. .
삭제delete 청구항 1 내지 청구항 3 중 어느 하나의 항에 따른 웹 어플리케이션의 소스코드 패키지 보안 방법을 실행하기 위한 보안 프로그램을 기록한 컴퓨터로 판독가능한 기록매체.A computer-readable recording medium having recorded thereon a security program for executing a method for securing a source code package of a web application according to any one of claims 1 to 3. 삭제delete
KR1020110084139A 2011-08-23 2011-08-23 Method for security enhancement of source code package for web applications, and computer readable recording medium storing program for the same KR101292004B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110084139A KR101292004B1 (en) 2011-08-23 2011-08-23 Method for security enhancement of source code package for web applications, and computer readable recording medium storing program for the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110084139A KR101292004B1 (en) 2011-08-23 2011-08-23 Method for security enhancement of source code package for web applications, and computer readable recording medium storing program for the same

Publications (2)

Publication Number Publication Date
KR20130021707A KR20130021707A (en) 2013-03-06
KR101292004B1 true KR101292004B1 (en) 2013-08-23

Family

ID=48174506

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110084139A KR101292004B1 (en) 2011-08-23 2011-08-23 Method for security enhancement of source code package for web applications, and computer readable recording medium storing program for the same

Country Status (1)

Country Link
KR (1) KR101292004B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020067833A1 (en) * 2000-12-05 2002-06-06 Han Ching-Chih (Jason) Method and apparatus for providing conditional access to the source code of a program
KR20040036745A (en) * 2002-10-15 2004-05-03 아르파(주) Web-based digital contents protection system and method using the real-time encryption/decryption
KR100573740B1 (en) * 2003-06-25 2006-04-25 주식회사 코어트러스트 The drm method and system for the protection of software distribution against illegal copy and illegal use
KR20070057938A (en) * 2004-09-30 2007-06-07 티티피컴 리미티드 Source code protection

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020067833A1 (en) * 2000-12-05 2002-06-06 Han Ching-Chih (Jason) Method and apparatus for providing conditional access to the source code of a program
KR20040036745A (en) * 2002-10-15 2004-05-03 아르파(주) Web-based digital contents protection system and method using the real-time encryption/decryption
KR100573740B1 (en) * 2003-06-25 2006-04-25 주식회사 코어트러스트 The drm method and system for the protection of software distribution against illegal copy and illegal use
KR20070057938A (en) * 2004-09-30 2007-06-07 티티피컴 리미티드 Source code protection

Also Published As

Publication number Publication date
KR20130021707A (en) 2013-03-06

Similar Documents

Publication Publication Date Title
CN111709038B (en) File encryption and decryption method, distributed storage system, device and storage medium
JP5930235B2 (en) Method and system for protecting the execution of cryptographic hash functions
CN110868287B (en) Authentication encryption ciphertext coding method, system, device and storage medium
US20080172562A1 (en) Encryption and authentication of data and for decryption and verification of authenticity of data
CN102163268B (en) The term of execution verifying software code the method and apparatus of integrality
JP5855696B2 (en) Block encryption method and block decryption method including integrity verification
US20130166909A1 (en) Client-Side Player File and Content License Verification
CN109728914B (en) Digital signature verification method, system, device and computer readable storage medium
US20130044875A1 (en) Combining key control information in common cryptographic architecture services
US20220014367A1 (en) Decentralized computing systems and methods for performing actions using stored private data
US20210167955A1 (en) Data transmission
US20140059341A1 (en) Creating and accessing encrypted web based content in hybrid applications
CN112272314B (en) Method, device, equipment and medium for safely transmitting video in video network
CN105812146A (en) MD5-based two-way encryption data protection method
US20210135851A1 (en) Encryption processing system and encryption processing method
CN111639325A (en) Merchant authentication method, device, equipment and storage medium based on open platform
KR102282788B1 (en) Blockchain system for supporting change of plain text data included in transaction
KR101292004B1 (en) Method for security enhancement of source code package for web applications, and computer readable recording medium storing program for the same
Schmidt et al. Countermeasures for symmetric key ciphers
Vennela et al. Performance analysis of cryptographic algorithms for cloud security
CN102647428A (en) Encrypting and decrypting system and method adopting trusteeship control based on communication network
Kapusta et al. Selective all-or-nothing transform: Protecting outsourced data against key exposure
Sri et al. SECURE FILE STORAGE USING HYBRID CRYPTOGRAPHY
CN110780884B (en) Information processing method, device and equipment
Kwofie et al. Cloud Security: Using Advance Encryption Standard Algorithm to Secure Cloud data at Client Side and Taking Measures to protect its Secrecy

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
FPAY Annual fee payment

Payment date: 20160712

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170626

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee