KR101520097B1 - Program source code distributing system and method thereof - Google Patents
Program source code distributing system and method thereof Download PDFInfo
- Publication number
- KR101520097B1 KR101520097B1 KR1020080092789A KR20080092789A KR101520097B1 KR 101520097 B1 KR101520097 B1 KR 101520097B1 KR 1020080092789 A KR1020080092789 A KR 1020080092789A KR 20080092789 A KR20080092789 A KR 20080092789A KR 101520097 B1 KR101520097 B1 KR 101520097B1
- Authority
- KR
- South Korea
- Prior art keywords
- program
- terminal
- source
- authentication information
- program source
- Prior art date
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
본 발명은 프로그램 소스 다운로드 시스템 및 방법에 관한 것이다.The present invention relates to a system and method for downloading a program source.
이를 위한 본 발명은 프로그램 구입 서비스를 제공하는 컨텐츠 포탈 서버; 상기 컨텐츠 포탈 서버로부터, 구매가 이루어진 프로그램의 식별정보와 상기 프로그램을 구입한 단말기의 인증정보를 전송받아서 상기 식별정보에 대응되는 프로그램의 소스를 암호화하는 컨텐츠 다운로드 서버; 및 인증정보를 상기 컨텐츠 포탈 서버에 전달하고, 상기 컨텐츠 다운로드 서버로부터 암호화된 프로그램 소스를 다운로드 받아 복호화 및 컴파일하여 실행파일로 변환하는 단말기;로 구성된 것에 특징이 있다.To this end, the present invention provides a content portal server for providing a program purchase service; A content download server for receiving identification information of a purchased program and authentication information of a terminal purchasing the program from the content portal server and encrypting a source of the program corresponding to the identification information; And a terminal for transmitting the authentication information to the content portal server, downloading the encrypted program source from the content download server, decrypting, compiling and converting the encrypted program source into an executable file.
소스 암호화, XML(extensible markup language), UUID(Universal Unique Identifier), Source encryption, extensible markup language (XML), Universal Unique Identifier (UUID)
Description
본 발명은 이동통신단말기의 프로그램을 바이너리가 아닌 소스코드 형태로 배포하는 프로그램 소스 다운로드 시스템 및 방법에 관한 것이다.The present invention relates to a program source downloading system and method for distributing a program of a mobile communication terminal in a source code form instead of a binary code.
주지하다시피, 현재 이동통신산업은 날로 성장하여 이동통신가입자 수가 국내는 물론 전 세계적으로 증가하고 있는 추세이다. 이러한 상황 가운데 이동통신기술의 발달과 함께 무선 인터넷에 대한 관심이 갈수록 증대되어, 최근에는 셀룰러 폰, PCS, PDA 등으로 대표되는 단말기를 이용해 언제 어디서나 무선인터넷 통신을 사용할 수 있게 되었다. As is well known, the mobile communication industry is growing day by day, and the number of mobile communication subscribers is increasing in domestic as well as worldwide. In this situation, with the development of mobile communication technology, interest in wireless Internet has been increasing more and more recently, wireless Internet communication can be used anytime and anywhere by using a terminal represented by a cellular phone, a PCS, a PDA or the like.
따라서, 무선 인터넷의 발달은 다양한 프로그램 산업에도 큰 영향을 미치게 되었고, 최근 들어서는 가상 머신(VM : Virtual Machine), 브루(Brew), WinCE 등과 같은 단말기용 다운로드 플랫폼이 개발됨에 따라 단말기를 통해 다양한 응용프로그램들을 다운로드 받아 이용할 수 있게 되었다.Accordingly, the development of the wireless Internet has a great influence on various program industries. Recently, as a download platform for terminals such as a virtual machine (VM), a Brew, and a WinCE has been developed, Have been downloaded and available.
이러한 소프트웨어 배포과정을 살펴보면, 컨텐츠 다운로드 서버에서 해당 프 로그램 소스코드를 컴파일하여 실행가능한 바이너리 파일로 변환한 후 단말기로로 다운로드 서비스를 제공하였기 때문에, 별도의 바이너리 변환 서버 인프라가 발생해 시스템구조가 복잡해질 뿐만 아니라, 단말기의 VM에 최적화된 컴파일이 진행되지 않아 그만큼 프로그램 실행속도가 느려지는 문제점이 있었다. In this software distribution process, the content download server compiles the program source code and converts it into an executable binary file, and then provides the download service to the terminal. Therefore, a separate binary conversion server infrastructure is generated, Not only complicated, but also compile optimization optimized for the terminal's VM is not performed, which slows down the program execution speed.
또한 종래의 프로그램 다운로드 방법에 의하면, 응용프로그램 다운로드시 별도의 보안체계가 구축되지 않은 상태에서 다운로드를 허용했기 때문에, 그만큼 불법다운로드 및 불법복제 등과 같은 보안사고가 발생할 수밖에 없어 프로그램 사업자 입장에서는 막대한 손실로 이어지는 문제점이 있었다. In addition, according to the conventional program downloading method, since downloading is permitted without installing a separate security system when an application program is downloaded, security incidents such as illegal downloading and illegal copying are incurred, There was a following problem.
본 발명은 별도의 바이너리 변환 서버 인프라를 제거하여 소프트웨어 다운로드 시스템의 구조를 단순화시키고, 컴파일 및 보안성의 향상을 가능케하는 것을 목적으로 한다.It is an object of the present invention to simplify the structure of a software download system by eliminating a separate binary conversion server infrastructure, and to improve compilation and security.
상기와 같은 목적을 해결하고자 하는 본 발명의 프로그램 소스 다운로드 시스템은, 프로그램 구입 서비스를 제공하는 컨텐츠 포탈 서버;According to another aspect of the present invention, there is provided a program source download system including: a content portal server for providing a program purchase service;
상기 컨텐츠 포탈 서버로부터, 구매가 이루어진 프로그램의 식별정보와 상기 프로그램을 구입한 단말기의 인증정보를 전송받아서 상기 식별정보에 대응되는 프로그램의 소스를 암호화하는 컨텐츠 다운로드 서버; 및A content download server for receiving identification information of a purchased program and authentication information of a terminal purchasing the program from the content portal server and encrypting a source of the program corresponding to the identification information; And
인증정보를 상기 컨텐츠 포탈 서버에 전달하고, 상기 컨텐츠 다운로드 서버로부터 암호화된 프로그램 소스를 다운로드 받아 복호화 및 컴파일하여 실행파일로 변환하는 단말기;를 구비하는 것을 특징으로 한다.And a terminal for transferring authentication information to the content portal server and downloading the encrypted program source from the content download server, decrypting and compiling the encrypted program source, and converting the encrypted program source into an executable file.
한편, 상기와 같은 목적을 해결하고자 하는 본 발명의 프로그램 소스 다운로드방법은, 단말기가 프로그램을 선택한 후 인증정보를 컨텐츠 포탈 서버에 전달하는 단계; According to another aspect of the present invention, there is provided a method for downloading a program source, the method comprising the steps of: after a terminal selects a program, transmitting authentication information to a content portal server;
컨텐츠 다운로드 서버가 상기 컨텐츠 포탈 서버로부터 상기 단말기의 인증정 보 및 프로그램 식별정보를 전달받아 상기 단말기의 인증정보를 이용하여 프로그램 소스를 암호화하여 상기 단말기로 전송하는 단계; 및 Receiving the authentication information and the program identification information of the terminal from the content portal server, encrypting the program source using the authentication information of the terminal, and transmitting the encrypted program source to the terminal; And
상기 단말기가 상기 컨텐츠 다운로드 서버로부터 암호화된 프로그램 소스를 다운로드 받아 복호화 및 컴파일하여 실행파일로 변환하는 단계;로 이루어지는 것을 특징으로 한다.The terminal downloads an encrypted program source from the content download server, decrypts, compiles and converts the encrypted program source into an executable file.
본 발명에 의하면 응용프로그램 다운로드시 프로그램 소스코드 자체를 단말기로 제공하되, 해당 단말기의 전화번호 또는 UUID 정보 등과 같은 단말정보를 이용해 그 프로그램 소스코드를 XML 암호화하여 제공해줌으로써, 별도의 바이너리 변환 서버 인프라를 제거하여 프로그램 다운로드 시스템의 구조를 최적화시킴과 동시에 그만큼 프로그램 보안체계를 향상시키고, According to the present invention, when the application program is downloaded, the program source code itself is provided to the terminal, and the program source code is XML encrypted using the terminal information such as the telephone number or the UUID information of the terminal, thereby providing a separate binary conversion server infrastructure To optimize the structure of the program download system and to improve the program security system accordingly,
단말 입장에서는 응용프로그램 소스코드 자체를 다운로드 받아 자신이 직접 컴파일한 후 프로그램을 실행시키기 때문에 VM 기반 프로그램 실행속도가 현격히 빨라지는 뛰어난 효과가 있다.In terms of the terminal, since the application source code itself is downloaded and the program is executed after compiling itself, the execution speed of the VM-based program is remarkably improved.
이하에서는 첨부하는 도면을 참조하여 본 발명에 의한 프로그램 소스 다운로드 시스템의 구성을 상세히 설명하기로 한다. 도 1은 본 발명에 의한 프로그램 소스 다운로드 시스템의 구성을 도시하는 망 구성도이다. Hereinafter, a configuration of a program source download system according to the present invention will be described in detail with reference to the accompanying drawings. 1 is a network configuration diagram showing a configuration of a program source download system according to the present invention.
도 1에 도시된 바에 의하면 프로그램 소스 다운로드 시스템은 단말기(100), 컨텐츠 포탈 서버(200) 및 컨텐츠 다운로드 서버(Contents Download Server)(300)로 구성된다.1, the program source downloading system includes a
단말기(100)는 사용자가 컨텐츠 포탈 서버(200)로 접속하여 프로그램을 선택 구입하면, 단말기 자신의 전화번호 또는 UUID(Universal Unique Identifier) 정보 를 상기 컨텐츠 포탈 서버(200)로 전송한다. 이때, UUID란 인터넷상에서 객체나 실체를 식별하는 데 사용되는 128비트 숫자를 의미하며, 전화번호와 마찬가지로 단말마다 유일하게 결정되는 정보이다.The
도 1에서는 비록 단말기(100)가 이동통신단말기인 경우를 예를 들어 설명하고 있으나, 단말기(100)는 상기의 제한을 만족하는 것이라면 하드웨어의 형태에는 국한되지 아니한다.Although FIG. 1 illustrates an example in which the
한편, 컨텐츠 포탈 서버(200)는 상기 단말기(100)가 무선망을 통해 접속하여 프로그램을 구입할 수 있도록 서비스를 제공하며, 상기 단말기(100)로부터 전송받은 전화번호 또는 UUID 정보를 컨텐츠 다운로드 서버(300)로 전달한다.Meanwhile, the
상기 컨텐츠 다운로드 서버(300)는 사용자가 구입한 프로그램을 상기 단말기(100)로 전송함에 있어, 프로그램 소스 자체를 전송하되, 보안을 위해 암호화시켜 전송한다. 이때, 상기 프로그램 소스는 이미 상술한 바와 같이 단말기(100)의 인증정보(전화번호 또는 UUID)를 이용하여 XML 워터마크(WaterMark) 방식으로 암호화된다.The
한편, 프로그램 소스는 C/C++, java 기타의 언어에 의해 작성된 것일 수 있으며, 컴파일 이전 고급언어로 작성된 상태를 의미한다.On the other hand, the program source may be written by C / C ++, java, or other languages, and is a state written in a high-level language before compilation.
도 2는 본 발명에 적용된 단말기(100)의 계층도이다. 상기 단말기(100)는 상기 컨텐츠 다운로드 서버(300)로부터 XML로 암호화된 프로그램 소스를 다운로드 받아 복호화 및 컴파일(Compile) 과정을 거쳐 프로그램 실행 파일을 생성하는 다운로드 플랫폼(Download Platform)(110)과; 상기 다운로드 플랫폼(110)에 의해 생성된 프로그램 실행 파일을 실행시키는 어플리케이션 계층(Application Layer)(120)로 구성된다. 2 is a hierarchical view of a
또한, 상기 다운로드 플랫폼(110)은 도 2에 도시된 것처럼, 소스 다운로드 복호화모듈(111), 프로그램 소스 컴파일러(112), 프로그램 보관 매니저(113) 및 프로그램 실행 로더(114)로 구성되어 있다. 2, the
상기 소스 다운로드 복호화모듈(111)은 상기 컨텐츠 다운로드 서버(300)로부터 수신받은 암호화된 XML 소스문서를 자신의 단말정보, 즉 전화번호 또는 UUID와 비교하여 일치하면 즉, 암호화된 XML 소스가 자신의 전화번호 또는 UUID를 이용하여 암호화된 것이라면, 이번에는 반대로 자신의 전화번호 또는 UUID를 이용하여 복호화한다. 따라서, 자신의 단말정보와 일치하지 않는 암호화된 XML 소스인 경우, 복호화는 물론 실행파일을 생성하는 것은 불가능하다.The source
또한, 상기 프로그램 소스 컴파일러(112)는 프로그램 소스코드를 컴파일하여 바이너리(Binary) 실행파일을 생성한다. 이때, 단말 고유의 VM 환경이나 무선플랫폼에 기반한 최적화된 컴파일이 가능함은 물론이다.Also, the
한편, 상기 프로그램 보관 매니저(113)는 프로그램 바이너리 실행파일을 저장하는 역할을 하고, 상기 프로그램 실행 로더(114)는 프로그램 실행 바이너리 파일을 검색하여 실행하는 역할을 한다. Meanwhile, the
그러면, 상기와 같은 구성을 가지는 시스템을 이용한 본 발명의 일 실시예에 따른 프로그램 소스 다운로드방법에 대해 첨부된 도면을 참조하여 설명하기로 한다.Hereinafter, a method of downloading a program source according to an embodiment of the present invention using a system having the above-described configuration will be described with reference to the accompanying drawings.
우선, 도 1에 도시된 것처럼 프로그램 개발자는 프로그램 소스를 상기 컨텐츠 다운로드 서버(300)로 등록한다.First, as shown in FIG. 1, a program developer registers a program source with the
한편, 상기 단말기(100)의 사용자는 컨텐츠 서버(200)에 접속하여 자신이 원하는 프로그램을 인터넷에서 검색하여 구입한 후, 인증을 위한 처리동작을 수행한다. 그러면, 상기 단말기(100)는 도 3에 도시된 것처럼, 자신의 전화번호 또는 UUID 정보를 상기 컨텐츠 포탈 서버(200)로 전달한다(S110).Meanwhile, the user of the
상기 단말기(100)의 전화번호 또는 UUID 정보가 상기 컨텐츠 포탈 서버(200)로 전달되면, 상기 컨텐츠 포탈 서버(200)는 상기 전달된 상기 단말기(100)의 전화번호 또는 UUID 정보를 상기 컨텐츠 다운로드 서버(300)로 전송한다(S120).When the phone number or UUID information of the
상기 컨텐츠 다운로드 서버(300)는 상기 단말기(100)로 해당 프로그램을 다운로드시키기에 앞서, 먼저 상기 컨텐츠 다운로드 서버(300)로부터 전송된 상기 단말기의 전화번호 또는 UUID 정보를 이용하여 프로그램 소스를 XML 소스문서로 암호화한다. 이는 프로그램 소스의 보안을 위한 것으로, 본 발명에서 중요한 점은 단말마다 유일하게 결정되는 정보를 이용해 XML 소스문서로 암호화한다는 점이다. 이에 의하여 단 하나의 단말기(100)만이 암호화된 소스를 복호화할 수 있게 된다.The
그런 후, 상기 컨텐츠 다운로드 서버(300)는 암호화된 XML 소스문서를 상기 단말기(100)로 전송한다(S130). Then, the
그러면, 상기 단말기(100)는 해당 XML 소스문서를 다운로드 받아 복호화과정을 처리한다. 이때 상기 컨텐츠 다운로드 서버(300)로부터 다운로드 받은 상기 XML 소스문서가 자신의 단말정보 즉, 자신의 전화번호 또는 UUID 정보와 다를 경우, 상기 단말기(100)는 복호화를 진행하는 것이 불가능하므로 종료한다. 나아가, 보안성의 향상을 위하여, 단말정보와 일치하지 않는 경우에는 암호화된 XML 소스를 삭제한다.Then, the
반면에, 상기 XML 소스문서와 자신의 전화번호 또는 UUID 정보가 동일하면, 상기 단말기(100)는 복호화한 후 컴파일하여 실행파일로 변환한다(S140).On the other hand, if the XML source document and its own telephone number or UUID information are the same, the
도 4는 상술한 단말기(100)의 세부과정을 더 구체적으로 설명한다. 즉, 상기 단말기(100)는 프로그램 구입과정에서 인증정보를 컨텐츠 포탈 서버(200)로 전달한다(S210). 이때의 인증정보는 단말 자신의 전화번호 또는 UUID 정보임은 물론이다.4 illustrates the detailed procedure of the
그런 후, 상기 단말기(100)는 상기 컨텐츠 다운로드 서버(300)에 접속하여 XML로 암호화된 프로그램 소스를 다운로드 받는데, 상기 프로그램 소스는 단말(100)의 전화번호 또는 UUID 정보를 통해 암호화되어 있다(S220). Then, the
상기 단말기(100)는 XML 소스문서의 복호화를 위해, 해당 XML 문서와 단말정보를 비교하여(S230), 일치하면(YES) 복호화한다(S240). 따라서 복호화과정을 통해 프로그램 소스코드가 생성되는 것이다. The
이후, 컴파일 과정을 거쳐(S250), 최종적으로 프로그램 실행 바이너리 파일이 생성됨으로써, 단말기(100) 내에서 실행될 수 있게 된다.Thereafter, the program execution binary file is finally generated through the compiling process (S250), so that the program execution binary file can be executed in the
이러한 과정을 거쳐 프로그램 실행 바이너리 파일이 생성되면, 상기 단말기(100)의 VM 이나 무선 플랫폼 등의 환경에 최적화된 프로그램 컴파일이 가능하므로, 단말 VM 기반의 프로그램 실행속도가 향상된다. When the program execution binary file is generated through this process, program compilation optimized for an environment such as a VM or a wireless platform of the
반면에, 상기 단말기(100)는 상기 비교단계(S230)에서 암호화된 XML 소스문서와 단말기의 정보가 다르면(NO), 복호화 과정의 진행이 불가능함은 물론, 나아가 암호화된 XML 소스문서 자체를 강제로 삭제함으로써 보안성을 강화한다(S260).On the other hand, if the encrypted XML source document and the terminal information are different (NO) in the comparing step S230, the
이상 다수의 실시예를 들어 본 발명을 상세하게 설명하였으나, 본 발명의 권리범위는 이러한 실시예로 국한되어 해석되지 아니하며, 본 발명은 특허청구범위에 기재된 기술사상을 벗어나지 않는 범위 내에서 다양하게 변형실시될 수 있다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the scope of the present invention should not be construed as being limited thereby. .
도 1은 본 발명의 일 실시예에 따른 프로그램 소스 다운로드 시스템의 구성을 나타낸 망 구성도, 1 is a network configuration diagram illustrating a configuration of a program source download system according to an embodiment of the present invention;
도 2는 도 1에 따른 프로그램 소스 다운로드 시스템에서 단말기(100)의 계층도,2 is a hierarchical view of the terminal 100 in the program source download system according to FIG.
도 3은 본 발명의 일 실시예에 따른 프로그램 소스 다운로드방법을 나타낸 동작 플로우챠트, 3 is a flowchart illustrating a method of downloading a program source according to an exemplary embodiment of the present invention.
도 4는 도 2에 따른 프로그램 소스 다운로드방법에서 단말기(100) 입장에서의 처리과정을 나타낸 동작 플로우챠트이다.FIG. 4 is a flowchart illustrating an operation procedure of the terminal 100 in the program source downloading method according to FIG.
<도면의 주요 부분에 대한 부호의 설명>Description of the Related Art
100 : 단말기100: terminal
110 : 다운로드 플랫폼110: Download Platform
111 : 소스 다운로드 복호화모듈111: Source download decryption module
112 : 프로그램 소스 컴파일러112: Program source compiler
113 : 프로그램 보관 매니저113: Program Archiving Manager
114 : 프로그램 실행 로더114: Program execution loader
120 : 어플리케이션 계층120: Application layer
200 : 컨텐츠 포탈 서버200: Content Portal Server
300 : 컨텐츠 다운로드 서버300: Content download server
Claims (8)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080092789A KR101520097B1 (en) | 2008-09-22 | 2008-09-22 | Program source code distributing system and method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080092789A KR101520097B1 (en) | 2008-09-22 | 2008-09-22 | Program source code distributing system and method thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20100033766A KR20100033766A (en) | 2010-03-31 |
KR101520097B1 true KR101520097B1 (en) | 2015-05-14 |
Family
ID=42182552
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020080092789A KR101520097B1 (en) | 2008-09-22 | 2008-09-22 | Program source code distributing system and method thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101520097B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11055075B2 (en) | 2015-12-15 | 2021-07-06 | Samsung Electronics Co., Ltd. | User terminal device, server, and application execution method thereof |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200009594A (en) * | 2018-07-19 | 2020-01-30 | (주)코믹스브이 | Method for providing virtual-reality cartoon service using panoramic image |
-
2008
- 2008-09-22 KR KR1020080092789A patent/KR101520097B1/en active IP Right Grant
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11055075B2 (en) | 2015-12-15 | 2021-07-06 | Samsung Electronics Co., Ltd. | User terminal device, server, and application execution method thereof |
Also Published As
Publication number | Publication date |
---|---|
KR20100033766A (en) | 2010-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109214168B (en) | Firmware upgrading method and device | |
CN109284586B (en) | Method and device for realizing software license | |
US20120089733A1 (en) | Managing Access to an Application | |
EP2628125B1 (en) | Method and apparatus for downloading drm module | |
CN104239757A (en) | Application program reversing-preventing method and device and operation method and terminal | |
JP2018530041A (en) | System and method for application code obfuscation | |
US20140376718A1 (en) | Downloading of data to secure devices | |
CN101316168B (en) | Authentification device and method | |
US20180067777A1 (en) | Application protection method, server, and terminal | |
US8284942B2 (en) | Persisting private/public key pairs in password-encrypted files for transportation to local cryptographic store | |
CN101957903A (en) | Method and device for protecting class files | |
US8638932B2 (en) | Security method and system and computer-readable medium storing computer program for executing the security method | |
JP2007233426A (en) | Application execution device | |
KR101541526B1 (en) | conversion device, conversion method and user terminal | |
KR100951866B1 (en) | Virtual machine based mobile application protecting system, and method for the same | |
KR101520097B1 (en) | Program source code distributing system and method thereof | |
JP7331714B2 (en) | Information processing device, information processing method and program | |
KR101823226B1 (en) | Method and system for code protection | |
CN110135131B (en) | Encryption method of application program, storage medium and terminal equipment | |
CN112416395A (en) | Hot repair updating method and device | |
CN107087004A (en) | Source file processing method and processing device, source file acquisition methods and device | |
CN108563953B (en) | Safe and extensible trusted application development method | |
US20160275271A1 (en) | User Terminal And Method For Protecting Core Codes Using Peripheral Device of User Terminal | |
CN112765567A (en) | Data processing method and device for application program | |
CN112052018A (en) | Application program installation method and device |
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: 20180411 Year of fee payment: 6 |