KR20130140969A - 암호화된 웹 어플리케이션 제공 방법, 이를 지원하는 단말, 및 이를 위한 기록매체 - Google Patents

암호화된 웹 어플리케이션 제공 방법, 이를 지원하는 단말, 및 이를 위한 기록매체 Download PDF

Info

Publication number
KR20130140969A
KR20130140969A KR1020120055577A KR20120055577A KR20130140969A KR 20130140969 A KR20130140969 A KR 20130140969A KR 1020120055577 A KR1020120055577 A KR 1020120055577A KR 20120055577 A KR20120055577 A KR 20120055577A KR 20130140969 A KR20130140969 A KR 20130140969A
Authority
KR
South Korea
Prior art keywords
web application
encrypted
source files
encryption key
service device
Prior art date
Application number
KR1020120055577A
Other languages
English (en)
Other versions
KR101472346B1 (ko
Inventor
최명아
이지훈
곽노현
이규호
Original Assignee
주식회사 엘지유플러스
에스케이플래닛 주식회사
주식회사 케이티
재단법인 한국통합앱스토어
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 엘지유플러스, 에스케이플래닛 주식회사, 주식회사 케이티, 재단법인 한국통합앱스토어 filed Critical 주식회사 엘지유플러스
Priority to KR1020120055577A priority Critical patent/KR101472346B1/ko
Publication of KR20130140969A publication Critical patent/KR20130140969A/ko
Application granted granted Critical
Publication of KR101472346B1 publication Critical patent/KR101472346B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/123Restricting unauthorised execution of programs by using dedicated hardware, e.g. dongles, smart cards, cryptographic processors, global positioning systems [GPS] devices
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Technology Law (AREA)
  • Multimedia (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Computing Systems (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 무선 통신 시스템에서 암호화된 웹 어플리케이션 제공하는 방법, 그 장치 및 이를 위한 기록매체에 관한 것이다. 본 발명의 일실시예로서 하나 이상의 소스 파일이 패키징(packaging)된 웹 어플리케이션을 언패키징(unpackaging)하는 단계, 하나 이상의 소스 파일을 암호화하는 단계, 암호화된 하나 이상의 소스 파일을 재패키징하는 단계 및 재패키징된 웹 어플리케이션을 단말로부터 요청 받으면, 단말에 재패키징된 웹 어플리케이션을 전송하는 단계를 포함한다.

Description

암호화된 웹 어플리케이션 제공 방법, 그 장치, 이를 위한 기록매체 {Method for providing encrypted web application, device, and recording medium thereof}
본 발명은 무선 통신 시스템에 관한 것으로서, 보다 상세하게 무선 통신 시스템의 장치에서 암호화된 웹 어플리케이션을 제공하는 방법, 이를 지원하는 장치 및 이를 위한 기록매체에 관한 것이다.
최근 이동 통신 단말기의 사양이 높아짐에 따라 단말기에는 다양한 웹 어플리케이션(application)이 탑재 될 수 있는데, 그 구현 방식에 따라 네이티브 어플리케이션(native application)과 웹 어플리케이션(web application)으로 구분할 수 있다.
네이티브 어플리케이션이란, 네이티브 코드로 작성되어 컴파일 된 소프트웨어 로직(software logic)과 데이터(data) 등이 어플리케이션에 포함되어, 어플리케이션의 실행 시 단말의 플랫폼에 기반하여 단말에서 단독으로 실행되는 어플리케이션을 의미한다.
웹 어플리케이션(또는 웹앱)은 네이티브 어플리케이션과 달리 웹(Web) 기반의 HTML(Hyper Text Markup Language), 자바스크립트(JS: JavaScript), CSS(Cascading Style Sheets) 등의 웹 기반 언어로 작성된 어플리케이션으로서, 텍스트(text) 기반의 언어로 된 파일로 구성된다. 이러한 웹 어플리케이션을 위젯(wgt: widget)이라고 부르기도 한다. 단말에서 웹 어플리케이션의 실행 시 웹 브라우저와 동일하게 파싱(parsing)하여 실행하는 어플리케이션을 의미한다. 여기서, 웹 브라우저의 파싱 과정은 웹서핑을 통해 인터넷 브라우저가 웹 서버로부터 전송 받은 웹 코드로 된 웹 페이지를 해석하여 보여주는 과정과 유사하다. 다만, 일반적으로 개별 웹 페이지는 정적 문서로 웹 브라우저에 제공되지만, 웹 문서가 연속적으로 전달되며 문서 마크업(markup)에 포함된 웹폼(webform)을 통해 서버와 클라이언트 단말 간 정보를 주고 받을 수 있기 때문에 사용자에게 인터렉티브(interactive)한 서비스를 제공할 수 있다.
다만, 웹 어플리케이션의 경우 텍스트 기반으로 제작되므로 제 3자에 의한 복제의 위험성이 높다.
어플리케이션을 무단 복제하여 정당한 구매자가 아닌 자가 어플리케이션의 실행을 방지하기 위한 ARM(Application Rights Management) 기술은 이미 상용화되어 있다.
다만, ARM 기술은 어플리케이션의 자체를 암호화하는 것이 아니라, 어플리케이션을 실행하는 자가 어플리케이션의 정당한 구매자임을 ARM 서버를 통해 인증하는 기술에 불과하므로, 현재 ARM 기술을 웹 어플리케이션에 적용하더라도 웹 어플리케이션의 텍스트 기반의 소스 코드는 그대로 제3자에게 노출된다. 즉 제3자가 웹 어플리케이션의 소스 코드를 복제하여 다른 어플리케이션을 제작하는 것을 방지 할 수 없으므로, 어플리케이션 개발자의 저작권 보호가 취약하다는 단점이 있다.
본 발명은 상술한 종래의 문제점을 해결하기 위해 제안된 것으로서, 무선 통신 시스템에서 웹 어플리케이션의 소스의 유출 및 복제를 방지하여 어플리케이션 개발자의 저작권을 보호하기 위한 암호화된 웹 어플리케이션 제공 방법을 제안하는 데 그 목적이 있다.
본 발명의 다른 목적은 웹 어플리케이션을 통해 악성 코드를 유포를 방지하기 위한 암호화된 웹 어플리케이션 제공 방법을 제안하는 데 그 목적이 있다.
본 발명의 또 다른 목적은 상술한 방법들을 지원하는 장치를 제공하는 것이다.
본 발명에서 이루고자 하는 기술적 목적들은 이상에서 언급한 사항들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 이하 설명할 본 발명의 실시예들로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 고려될 수 있다.
상술한 목적을 달성하기 위한 본 발명의 암호화된 웹 어플리케이션 제공 방법은 하나 이상의 소스 파일이 패키징(packaging)된 웹 어플리케이션을 언패키징(unpackaging)하는 단계, 하나 이상의 소스 파일을 암호화하는 단계, 암호화된 하나 이상의 소스 파일을 재패키징하는 단계 및 재패키징된 웹 어플리케이션을 단말로부터 요청 받으면, 단말에 재패키징된 웹 어플리케이션을 전송하는 단계를 포함한다.
본 발명의 암호화된 웹 어플리케이션 제공 방법에 있어서, 재패키징 하는 단계는, 암호화된 하나 이상의 소스 파일을 단말에 설치된 운영 체제에 따라 상이한 형태로 재패키징한다.
본 발명의 암호화된 웹 어플리케이션 제공 방법에 있어서, 암호화하는 단계는, 하나 이상의 소스 파일 중 소정의 소스 파일만 추출하여 암호화한다.
본 발명의 암호화된 웹 어플리케이션 제공 방법에 있어서, 암호화하는 단계는, AES(Advanced Encryption Standard) 알고리즘을 이용하여 하나 이상의 소스 파일을 암호화한다.
본 발명의 암호화된 웹 어플리케이션 제공 방법에 있어서, 하나 이상의 소스 파일 중 어느 하나의 소스 파일에 웹 어플리케이션이 정당한 구매 절차를 거친 웹 어플리케이션인지 인증 과정을 수행하도록 하는 인증 코드를 추가하는 단계를 더 포함한다.
상술한 목적을 달성하기 위한 본 발명의 암호화된 웹 어플리케이션 제공 방법은 서비스 장치로부터 암호화된 하나 이상의 소스 파일이 패키징(packaging)된 웹 어플리케이션을 수신하는 단계, 웹 어플리케이션의 실행 입력을 받으면, 서비스 장치에 암호화된 하나 이상의 소스 파일을 복호화할 수 있는 암호화 키를 요청하는 단계, 서비스 장치로부터 암호화 키를 수신하는 단계, 수신한 암호화 키를 이용하여 암호화된 하나 이상의 소스 파일을 복호화하는 단계 및 복호화된 하나 이상의 소스 파일을 이용하여 웹 어플리케이션을 실행하는 단계를 포함한다.
본 발명의 암호화된 웹 어플리케이션 제공 방법에 있어서, 암호화 키를 요청하는 단계는, 웹 어플리케이션의 최초 실행 입력의 경우에 서비스 장치에 암호화 키를 요청하고, 수신한 암호화 키를 저장하는 단계를 더 포함한다.
본 발명의 암호화된 웹 어플리케이션 제공 방법에 있어서, 복호화하는 단계는, 웹 어플리케이션의 최초 실행 이후에는 저장된 암호화 키를 이용하여 암호화된 하나 이상의 소스 파일을 복호화한다.
본 발명의 암호화된 웹 어플리케이션 제공 방법에 있어서, 저장하는 단계는, 수신한 암호화 키를 암호화하여 저장한다.
본 발명의 암호화된 웹 어플리케이션 제공 방법에 있어서, 웹 어플리케이션을 실행하는 단계는, 서비스 장치에 접속하여 웹 어플리케이션이 정당한 구매 절차를 거친 웹 어플리케이션인지 인증 과정을 수행하는 단계를 포함한다.
상술한 목적을 달성하기 위한 본 발명의 암호화된 웹 어플리케이션 제공 방법은 서비스 장치로부터 암호화된 하나 이상의 소스 파일이 패키징(packaging)된 웹 어플리케이션 및 암호화된 하나 이상의 소스 파일을 복호화할 수 있는 암호화 키를 수신하는 단계, 수신한 웹 어플리케이션 및 암호화 키를 저장하는 단계, 웹 어플리케이션의 실행 입력을 받으면, 암호화 키를 이용하여 암호화된 하나 이상의 소스 파일을 복호화하는 단계 및 복호화된 하나 이상의 소스 파일을 이용하여 웹 어플리케이션을 실행하는 단계를 포함한다.
본 발명의 암호화된 웹 어플리케이션 제공 방법에 있어서, 저장하는 단계는, 수신한 암호화 키를 암호화하여 저장한다.
본 발명의 암호화된 웹 어플리케이션 제공 방법에 있어서, 웹 어플리케이션을 실행하는 단계는, 서비스 장치에 접속하여 웹 어플리케이션이 정당한 구매 절차를 거친 웹 어플리케이션인지 인증 과정을 수행하는 단계를 포함한다.
상술한 목적을 달성하기 위한 본 발명의 장치는, 데이터 송수신을 위한 송수신부 및 하나 이상의 소스 파일이 패키징(packaging)된 웹 어플리케이션을 언패키징(unpackaging)한 후, 하나 이상의 소스 파일을 암호화하고, 암호화된 하나 이상의 소스 파일을 재패키징하며, 재패키징된 웹 어플리케이션을 단말로부터 요청 받으면, 단말에 재패키징된 웹 어플리케이션을 전송하는 제어부를 포함한다.
본 발명의 장치에 있어서, 제어부는, 암호화된 하나 이상의 소스 파일을 단말에 설치된 운영 체제에 따라 상이한 형태로 재패키징한다.
본 발명의 장치에 있어서, 제어부는, 하나 이상의 소스 파일 중 소정의 소스 파일만 추출하여 암호화한다.
본 발명의 장치에 있어서, 제어부는, AES(Advanced Encryption Standard) 알고리즘을 이용하여 하나 이상의 소스 파일을 암호화한다.
본 발명의 장치에 있어서, 제어부는, 하나 이상의 소스 파일 중 어느 하나의 소스 파일에 상기 웹 어플리케이션이 정당한 구매 절차를 거친 웹 어플리케이션인지 인증 과정을 수행하도록 하는 인증 코드를 추가한다.
상술한 목적을 달성하기 위한 본 발명의 장치는, 정보 입력을 위한 입력부, 데이터 송수신을 위한 송수신부 및 서비스 장치로부터 암호화된 하나 이상의 소스 파일이 패키징(packaging)된 웹 어플리케이션을 수신하고, 입력부를 통해 웹 어플리케이션의 실행 입력을 받으면, 서비스 장치에 암호화된 하나 이상의 소스 파일을 복호화할 수 있는 암호화 키를 요청하며, 서비스 장치로부터 암호화 키를 수신하면 수신한 암호화 키를 이용하여 암호화된 하나 이상의 소스 파일을 복호화하고, 복호화된 하나 이상의 소스 파일을 이용하여 웹 어플리케이션을 실행하는 제어부를 포함한다.
본 발명의 장치에 있어서, 데이터 저장을 위한 저장부를 더 포함하고, 제어부는, 입력부를 통해 웹 어플리케이션의 최초 실행 입력을 받은 경우에 서비스 장치에 암호화 키를 요청하고, 수신한 암호화 키를 저장부에 저장한다.
본 발명의 장치에 있어서, 제어부는, 웹 어플리케이션의 최초 실행 이후에는 저장된 암호화 키를 이용하여 암호화된 하나 이상의 소스 파일을 복호화한다.
본 발명의 장치에 있어서, 제어부는, 수신한 암호화 키를 암호화하여 저장부에 저장한다.
본 발명의 장치에 있어서, 제어부는, 서비스 장치에 접속하여 웹 어플리케이션이 정당한 구매 절차를 거친 웹 어플리케이션인지 인증 과정을 수행한다.
본 발명의 장치에 있어서, 제어부는, 웹 어플리케이션의 복호화 과정 또는 실행 과정 중에 복호화된 하나 이상의 소스 파일이 저장부에 임시 파일로 생성되지 않도록 제어한다.
상술한 목적을 달성하기 위한 본 발명의 장치는, 정보 입력을 위한 입력부, 데이터 송수신을 위한 송수신부 및 서비스 장치로부터 암호화된 하나 이상의 소스 파일이 패키징(packaging)된 웹 어플리케이션 및 암호화된 하나 이상의 소스 파일을 복호화할 수 있는 암호화 키를 수신하면 수신한 웹 어플리케이션 및 암호화 키를 저장하고, 입력부를 통해 웹 어플리케이션의 실행 입력을 받으면 암호화 키를 이용하여 암호화된 하나 이상의 소스 파일을 복호화하며, 복호화된 하나 이상의 소스 파일을 이용하여 웹 어플리케이션을 실행하는 제어부를 포함한다.
본 발명의 장치에 있어서, 데이터 저장을 위한 저장부를 더 포함하고, 제어부는, 수신한 암호화 키를 암호화하여 저장부에 저장한다.
본 발명의 장치에 있어서, 제어부는, 서비스 장치에 접속하여 웹 어플리케이션이 정당한 구매 절차를 거친 웹 어플리케이션인지 인증 과정을 수행한다.
본 발명의 장치에 있어서, 제어부는, 웹 어플리케이션의 복호화 과정 또는 실행 과정 중에 복호화된 하나 이상의 소스 파일이 저장부에 임시 파일로 생성되지 않도록 제어한다.
또한, 상술한 목적을 달성하기 위한 본 발명의 프로그램을 기록한 컴퓨터 판독 가능한 기록매체는, 하나 이상의 소스 파일이 패키징(packaging)된 웹 어플리케이션을 언패키징(unpackaging)하는 수단, 하나 이상의 소스 파일을 암호화하는 수단, 암호화된 하나 이상의 소스 파일을 재패키징하는 수단 및 재패키징된 웹 어플리케이션을 단말로부터 요청 받으면, 단말에 재패키징된 웹 어플리케이션을 전송하는 수단을 포함한다.
또한, 상술한 목적을 달성하기 위한 본 발명의 프로그램을 기록한 컴퓨터 판독 가능한 기록매체는, 서비스 장치로부터 암호화된 하나 이상의 소스 파일이 패키징(packaging)된 웹 어플리케이션을 수신하는 수단, 웹 어플리케이션의 실행 입력을 받으면, 서비스 장치에 암호화된 하나 이상의 소스 파일을 복호화할 수 있는 암호화 키를 요청하는 수단, 서비스 장치로부터 암호화 키를 수신하는 수단, 수신한 암호화 키를 이용하여 암호화된 하나 이상의 소스 파일을 복호화하는 수단 및 복호화된 하나 이상의 소스 파일을 이용하여 웹 어플리케이션을 실행하는 수단을 포함한다.
또한, 상술한 목적을 달성하기 위한 본 발명의 프로그램을 기록한 컴퓨터 판독 가능한 기록매체는, 서비스 장치로부터 암호화된 하나 이상의 소스 파일이 패키징(packaging)된 웹 어플리케이션 및 암호화된 하나 이상의 소스 파일을 복호화할 수 있는 암호화 키를 수신하는 수단, 수신한 웹 어플리케이션 및 암호화 키를 저장하는 수단, 웹 어플리케이션의 실행 입력을 받으면, 암호화 키를 이용하여 암호화된 하나 이상의 소스 파일을 복호화하는 수단 및 복호화된 하나 이상의 소스 파일을 이용하여 웹 어플리케이션을 실행하는 수단을 포함한다.
본 발명에 의하면, 웹 어플리케이션의 소스 코드(또는 파일)를 암호화함으로써 웹 어플리케이션의 소스의 유출 및 복제를 방지할 수 있다.
또한, 본 발명에 의하면, 웹 어플리케이션의 소스의 유출 및 복제를 사전에 방지함으로써 어플리케이션 개발자의 기술 혹은 저작권을 보호할 수 있는 효과가 있다.
또한, 본 발명에 의하면, 웹 어플리케이션의 소스의 유출을 사전에 방지함으로써 악성 코드가 추가된 웹 어플리케이션이 재배포되는 것을 방지할 수 효과가 있다.
본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 발명에 관한 이해를 돕기 위해 상세한 설명의 일부로 포함되는, 첨부 도면은 본 발명에 대한 실시예를 제공하고, 상세한 설명과 함께 본 발명의 기술적 사상을 설명한다.
도 1은 본 발명의 일실시예에 따른 암호화된 웹 어플리케이션 제공 시스템을 나타낸다.
도 2는 본 발명의 일실시예에 따른 암호화된 웹 어플리케이션 제공 방법을 나타낸다.
도 3은 본 발명의 일실시예에 따른 웹 어플리케이션을 암호화하는 방법을 나타낸다.
도 4는 본 발명의 일실시예에 따른 단말에서 암호화된 웹 어플리케이션을 복호화하는 방법을 나타낸다.
도 5는 본 발명의 일실시예에 따른 단말에서 복호화된 웹 어플리케이션을 실행하는 방법의 일부를 나타낸다.
도 6은 본 발명의 일실시예에 따른 서비스 장치를 나타내는 블록도이다.
도 7은 본 발명의 일실시예에 따른 단말을 나타내는 블록도이다.
도 8은 본 발명의 일실시예에 따른 단말의 웹 어플리케이션 실행을 위한 플랫폼을 나타낸다.
이하, 본 발명에 따른 바람직한 실시 형태를 첨부된 도면을 참조하여 상세하게 설명한다. 첨부된 도면과 함께 이하에 개시될 상세한 설명은 본 발명의 예시적인 실시형태를 설명하고자 하는 것이며, 본 발명이 실시될 수 있는 유일한 실시형태를 나타내고자 하는 것이 아니다. 이하의 상세한 설명은 본 발명의 완전한 이해를 제공하기 위해서 구체적 세부사항을 포함한다. 도면에 대한 설명에서, 본 발명의 기술적 요지를 흐릴 수 있는 절차 또는 단계 등은 기술하지 않았으며, 당업자의 수준에서 이해할 수 있을 정도의 절차 또는 단계는 또한 기술하지 아니하였다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함(comprising 또는 including)"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "…부", "…기", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 또한, "일(a 또는 an)", "하나(one)", "그(the)" 및 유사 관련어는 본 발명을 기술하는 문맥에 있어서(특히, 이하의 청구항의 문맥에서) 본 명세서에 달리 지시되거나 문맥에 의해 분명하게 반박되지 않는 한, 단수 및 복수 모두를 포함하는 의미로 사용될 수 있다.
본 발명의 실시예들에서 사용되는 특정(特定) 용어들은 본 발명의 이해를 돕기 위해서 제공된 것이며, 이러한 특정 용어의 사용은 본 발명의 기술적 사상을 벗어나지 않는 범위에서 다른 형태로 변경될 수 있다.
1. 웹 어플리케이션 제공 시스템
도 1은 본 발명의 일실시예에 따른 암호화된 웹 어플리케이션 제공 시스템을 나타낸다.
도 1을 참조하면, 본 발명의 암호화된 웹 어플리케이션 제공 시스템은 어플리케이션 등록 장치(110), 서비스 장치(120), 단말(130) 및 네트워크(140)로 구성될 수 있다. 다만, 이하에서 언급되는 암호화된 웹 어플리케이션 제공 시스템은 도 1에 도시된 구성요소들 중 적어도 하나를 포함하나, 반드시 이에 한정되는 것은 아니다.
어플리케이션 등록 장치(110)는 웹 어플리케이션 제작자로부터 웹 어플리케이션을 수신하여 등록하고, 등록된 웹 어플리케이션을 서비스 장치(120)로 제공하는 장치를 말한다. 웹 어플리케이션은 패키지(package) 형식으로 구성될 수 있으며, 패키지 형태의 일례로 ".zip", ".wgt" 파일 형식이 될 수 있다.
서비스 장치(120)는 암호화 키를 생성 및 관리하고, 생성한 암호화 키를 이용하여 어플리케이션 등록 장치(110)로부터 수신한 웹 어플리케이션의 암호화를 수행하며, 암호화된 웹 어플리케이션을 단말(140)에게 제공하는 장치를 말한다. 서비스 장치(120)는 패키징된 웹 어플리케이션에 포함된 ".html", ".htm", ".js", ".css" 형식의 소스 파일(또는 소스 코드)들을 암호화 알고리즘을 이용하여 암호화하고, 암호화된 파일들을 실제 웹 어플리케이션이 동작될 운영 체제(OS: Operation System) 별로 상이한 파일 형식으로 패키징할 수 있다. 예를 들어, 안드로이드(android) 운영 체제로 운영되는 단말에서 웹 어플리케이션이 동작할 수 있도록 ".wgt"의 패키징 파일 형식을 가진 웹 어플리케이션에 대한 암호화 과정을 수행한 후에 ".APK" 파일 형식으로 재패키징할 수 있다.
또한, 서비스 장치(120)는 인증과정을 거쳐 인증에 성공한 단말(140)에게만 웹 어플리케이션을 제공할 수 있으며, 단말(140)에게 웹 어플리케이션을 제공하는 경우에 단말(140)에게 일정 요금을 부과할 수도 있다. 여기서, 서비스 장치(120)는 하나의 구성 요소로 도시되어 있지만, 다양한 웹 어플리케이션을 상이한 서비스 장치(120)에서 단말(140)에 제공할 수 있으므로 서비스 장치(120)는 복수의 장치가 포함된 집합을 의미할 수 있다.
단말(130)은 암호화된 웹 어플리케이션을 서비스 장치(120)로부터 제공받고, 사용자의 웹 어플리케이션 실행 입력에 따라 암호화된 웹 어플리케이션을 복호화하여 웹 어플리케이션을 실행하는 장치를 말한다. 단말(130)의 일례로, PC(Personal Computer), 노트북 컴퓨터, 휴대폰(mobile phone), 태블릿 PC, 스마트폰(smart phone), PDA(Personal Digital Assistants)를 포함할 수 있다. 물론 이는 예시에 불과할 뿐이며, 상술한 예 이외에도 현재 개발되어 상용화되었거나 향후 개발될 모든 통신이 가능한 장치를 포함하는 개념으로 해석되어야 한다.
네트워크(140)는 서비스 장치(120), 단말(130) 간의 데이터 전송, 정보 교환을 위한 데이터 통신망을 의미하며, 그 종류에는 특별히 제한되지 않는다. 예를 들어, 인터넷 프로토콜(IP)을 통하여 대용량 데이터의 송수신 서비스 및 끊기는 현상이 없는 데이터 서비스를 제공하는 아이피망으로, 아이피를 기반으로 서로 다른 망을 통합한 아이피망 구조인 올 아이피(All IP)망 일 수 있다. 또한, 네트워크(140)는 유선망, Wibro(Wireless Broadband)망, WCDMA를 포함하는 이동통신망, HSDPA(High Speed Downlink Packet Access)망 및 LTE망을 포함하는 이동통신망, LTE advanced를 포함하는 이동통신망, 위성 통신망 및 와이파이(Wi-Fi)망 중에서 하나 이상을 결합하여 이루어질 수 있다.
2. 웹 어플리케이션 제공 방법
이하, 서비스 장치(120)에서 단말(130)에 웹 어플리케이션을 제공하는 방법을 제안한다. 이하 설명되는 각 방법은 본 발명의 일실시예에 불과하며, 웹 어플리케이션을 제공하기 위한 방법을 제한하는 것은 아니다.
2. 1. 암호화된 웹 어플리케이션 제공 방법
도 2는 본 발명의 일실시예에 따른 암호화된 웹 어플리케이션 제공 방법을 나타낸다.
도 2를 참조하면, 어플리케이션 등록 장치(110)는 웹 어플리케이션 제작자로부터 웹 어플리케이션을 수신하여 등록한다(S201). 이때, 웹 어플리케이션은 패키지(package) 형식으로 구성될 수 있으며, 패키지 형태의 일례로 ".zip", ".wgt" 파일 형식이 될 수 있다.
어플리케이션 등록 장치(110)는 S201 단계에서 등록된 웹 어플리케이션을 서비스 장치(120)로 전송(또는 업로드(upload))하고(S203), 서비스 장치(120)는 수신한 웹 어플리케이션을 암호화 알고리즘을 이용하여 암호화를 수행한다(S205). 서비스 장치(120)가 웹 어플리케이션을 암호화하는 과정은 차후 상세히 설명한다.
서비스 장치(120)는 암호화된 웹 어플리케이션을 단말(130)에 전송한다(S207). 이때, 도시되지 않았지만 서비스 장치(120)는 단말(130)로부터 암호화된 웹 어플리케이션의 전송을 요청 받으면, 해당 웹 어플리케이션을 요청한 단말(130)에게 요청된 웹 어플리케이션을 전송할 수 있다. 또한, 서비스 장치(120)는 단말(130)에 설치된 운영 체제를 확인하고, 단말(130)에 설치된 운영 체제에서 동작 가능한 웹 어플리케이션을 추출하여 전송할 수도 있다.
서비스 장치(120)로부터 암호화된 웹 어플리케이션을 수신한 단말(130)은 해당 웹 어플리케이션을 설치(install)한다(S209).
이후, 단말(130)이 사용자로부터 저장된 암호화된 웹 어플리케이션의 실행을 위한 입력을 받으면(S211), 기 저장된 해당 암호화된 웹 어플리케이션을 복호화한다(S213). 이때, 단말(130)은 서비스 장치(120)와 웹 어플리케이션의 복호화를 위해 데이터를 교환하며 해당 암호화된 웹 어플리케이션을 복호화할 수 있으며, 단말(130)이 단독으로 해당 암호화된 웹 어플리케이션을 복호화할 수 있다. 또한, 해당 암호화된 웹 어플리케이션의 복호화하는 과정은 해당 암호화된 웹 어플리케이션의 최초의 실행 시에만 수행될 수 있으며, 해당 암호화된 웹 어플리케이션의 실행 시마다 수행될 수도 있다. 단말(130)이 암호화된 웹 어플리케이션을 복호화하는 과정은 차후 상세히 설명한다.
이어, 단말(130)은 복호화된 웹 어플리케이션을 실행한다(S215). 이때, 단말(130)은 웹 어플리케이션에 대한 동작 상태 및 동작 결과를 사용자에게 출력할 수 있다.
2. 2. 웹 어플리케이션 암호화 방법
도 3은 본 발명의 일실시예에 따른 웹 어플리케이션을 암호화하는 방법을 나타낸다. 도 3에 따른 웹 어플리케이션을 암호화 및 패키징 기능은 서비스 장치(120)가 수행할 수 있으며, 서비스 장치(120)와 연동된 별도로 구현되는 장치가 수행할 수도 있다. 이하, 서비스 장치(120)가 상술한 기능을 수행하는 것으로 가정한다.
도 3을 참조하면, 서비스 장치(120)는 어플리케이션 등록 장치(110)로부터 수신한 패키징된 웹 어플리케이션을 언패키징(unpackaging)한다(S301). 예를 들어, ".wgt" 파일 형식으로 패키징된 웹 어플리케이션을 ".html", ".htm", ".js", ".css" 형식의 소스 파일(또는 소스 코드)들로 언패키징한다.
서비스 장치(120)는 웹 어플리케이션을 암호화할 때 이용하기 위한 암호화 키(encryption key)를 생성한다(S303). 이때, 서비스 장치(120)는 웹 어플리케이션을 암호화할 때 이용하는 알고리즘에 따라 상이한 크기(size)를 가지는 암호화 키를 생성할 수 있다. 예를 들어, 서비스 장치(120)가 AES(Advanced Encryption Standard) 알고리즘을 이용하는 경우에 128, 192, 256 bit 중 어느 하나의 크기를 가지는 암호화 키를 생성할 수 있다.
암호화 키를 생성한 서비스 장치(120)는 생성된 암호화 키와 암호화 알고리즘을 이용하여 웹 어플리케이션의 소스 파일들을 암호화한다(S305). 즉, 서비스 장치(120)는 언패키징된 웹 어플리케이션에 포함되는 ".html", ".htm", ".js", ".css" 형식의 소스 파일(또는 소스 코드)들을 생성한 암호화 키와 암호화 알고리즘을 이용하여 암호화한다. 이때, 서비스 장치(120)는 언패키징된 웹 어플리케이션에 속하는 모든 소스 파일을 암호화할 수 있으며, 웹 어플리케이션의 동작에 주요 기능을 담당하는 특정 형식의 소스 파일들만 암호화할 수도 있다. 여기서, 서비스 장치(120)가 웹 어플리케이션의 소스 파일을 암호화할 때, AES, RSA(Rivest-Shamir-Adelman), ECC(Elliptic Curve Cryptosystem), 시드(SEED) 블록 암호 알고리즘, DES(Data Encryption Standard) 등 암호화 알고리즘이 사용될 수 있으나, 이에 한정되는 것은 아니다.
서비스 장치(120)는 웹 어플리케이션에 포함된 소스 파일을 복호화하기 위한 복호화 키를 설정한다(S307). 이렇게 설정된 웹 어플리케이션에 대한 복호화 키는 차후 단말(130)이 서비스 장치(120)에 암호화된 웹 어플리케이션를 복호화하기 위하여 요청하는 경우에 단말(130)에 전송될 수 있다. S305 단계에서 서비스 장치(120)가 이용하는 암호화 알고리즘에 따라 복호화 키는 암호화 키와 동일할 수 있으며, 상이할 수도 있다. 또한, 암호화 키와 복호화 키가 동일한 경우에는 S307 단계가 생략될 수 있다.
웹 어플리케이션 소스 파일들을 암호화한 서비스 장치(120)는 웹 어플리케이션 패키징을 수행한다(S309). 이때, 서비스 장치(120)는 실제 웹 어플리케이션이 향후 동작될 단말(130)에 설치된 운영 체제 별로 상이한 파일 형식으로 패키징할 수 있다. 상술한 바와 같이 안드로이드 운영 체제로 운영되는 단말에서 웹 어플리케이션이 동작될 수 있도록 암호화된 ".html", ".htm", ".js", ".css" 형식의 소스 파일들을 ".APK" 파일 형식으로 패키징할 수 있다.
한편, 서비스 장치(120)는 언패키징 된 웹 어플리케이션의 소스 코드(또는 파일)을 상술한 단계들을 거쳐 암호화하기 이전에, 웹 어플리케이션의 소스 코드(또는 파일)에 인증 코드를 추가함으로써 추후 단말(130)에서 웹 어플리케이션 실행 시 정당한 구매 절차를 거친 웹 어플리케이션인지 인증하고 인증 성공 시 단말(130)에 인증서(license)를 발급하는 절차를 수행할 수 있다. 이때, 서비스 장치(120)는 단말(130)이 웹 어플리케이션을 최초 실행하는 경우에만 인증 과정을 거쳐 인증서를 발급받는 절차를 수행하도록 인증 코드를 추가할 수 있다. 여기서, 인증 코드는 단말(130)이 웹 어플리케이션 실행 시 해당 웹 어플리케이션이 정당하게 구매한 어플리케이션인지 서비스 장치(120)에 접속하여 인증을 받고, 인증 성공 시 서비스 장치(120)로부터 인증서(license)를 발급받는 절차를 수행하도록 하는 코드를 의미한다.
서비스 장치(120)는 언패키징 된 웹 어플리케이션의 소스 코드(또는 파일) 중 어느 하나의 소스 코드(또는 파일)에 상술한 인증 코드를 추가할 수 있다. 예를 들어, 서비스 장치(120)는 ".java" 형식의 소스 파일에 인증 코드를 추가할 수 있다. 이때, 서비스 장치(120)는 단말(130)이 웹 어플리케이션을 실행하는 과정에서 가장 우선적으로 웹 어플리케이션의 인증 코드가 실행될 수 있도록 인증 코드를 추가하는 것이 바람직하다.
서비스 장치(120)는 정당한 구매 절차를 거친 웹 어플리케이션인지 인증하기 위하여 기존에 알려진 인증 방식을 이용할 수 있으며, 상술한 ARM(Application Rights Management) 기술을 이용할 수도 있다.
한편, 이러한 인증 절차는 서비스 장치(120)가 수행할 수 있으며, 서비스 장치(120)와 구분되는 별도의 인증 장치(예를 들어, ARM 서버)가 수행할 수도 있다. 별도의 인증 장치가 웹 어플리케이션에 대한 인증을 수행하는 경우에 서비스 장치(120)는 소스 코드에 별도의 인증 장치에 접속하기 위한 접속 정보를 포함시키는 것이 바람직하다.
2. 3. 암호화된 웹 어플리케이션 복호화 방법
도 4는 본 발명의 일실시예에 따른 단말에서 암호화된 웹 어플리케이션을 복호화하는 방법을 나타낸다.
도 4를 참조하면, 단말(130)은 암호화된 웹 어플리케이션을 실행하기 위한 사용자 입력을 받으면, 암호화된 웹 어플리케이션의 복호화에 이용하기 위한 복호화 키를 서비스 장치(120)에 요청하여 수신한다(S401).
이때, 단말(130)은 서비스 장치(120)로부터 해당 웹 어플리케이션의 복호화에 이용하기 위한 복호화 키를 해당 웹 어플리케이션의 실행 시마다 요청하여 수신할 수 있다. 또한, 단말(130)은 해당 웹 어플리케이션의 최초의 실행 시에만 서비스 장치(120)에 복호화 키를 요청하여 수신하고, 수신한 암호화 키를 내부에 저장하여 차후 해당 웹 어플리케이션의 실행 시에는 서비스 장치(120)에 복호화 키를 요청하지 않을 수도 있다. 또한, 단말(130)은 암호화된 웹 어플리케이션을 단말(130)에 설치(install)할 때, 서비스 장치(120)로 복호화 키를 요청하여 수신한 후, 내부에 저장할 수도 있다. 이처럼, 단말(130)이 웹 어플리케이션의 최초 실행 시 또는 웹 어플리케이션의 설치 시 복호화 키를 수신하여 저장하는 경우, 사용자가 임의로 접근하여 이용할 수 없도록 복호화 키를 암호화하여 저장할 수 있다. 이때의 암호화 알고리즘은 웹 어플리케이션을 암호화할 때 이용한 암호화 알고리즘과 동일할 수 있으며, 상이할 수도 있다.
이어, 단말(130)은 수신한 복호화 키를 이용하여 웹 어플리케이션을 복호화한다(S403). 즉, 단말(130)은 패키징 된 웹 어플리케이션에 포함된 소스 파일들을 수신한 복호화 키와 함께 서비스 장치(120)에서 이용한 암호화 알고리즘에 대응되는 복호화 알고리즘을 이용하여 복호화한다. 예를 들어, 단말(130)은 암호화된 ".html", ".htm", ".js", ".css" 형식의 소스 파일들을 복호화 키와 복호화 알고리즘을 이용하여 복호화할 수 있다.
또한, 상술한 바와 같이 복호화 키를 암호화하여 저장하는 경우, 단말(130)은 암호화된 웹 어플리케이션을 실행하는 때마다 암호화된 복호화 키를 복호화하고, 복호화된 복호화 키를 이용하여 암호화된 웹 어플리케이션을 복호화하여 실행할 수 있다.
이어, 웹 어플리케이션을 복호화한 단말(130)은 복호화된 평문(plaintext) 데이터 형태인 웹 어플리케이션을 실행한다(S405). 이때, 단말(130)은 웹 어플리케이션에 대한 동작 상태 및 동작 결과를 사용자에게 출력할 수 있다.
2. 4. 복화화된 어플리케이션 실행 방법
도 5는 본 발명의 일실시예에 따른 단말에서 복호화된 웹 어플리케이션을 실행하는 방법의 일부를 나타낸다. 도 5에 따른 실시예는 도 4의 S405 단계에서 수행될 수 있다.
도 5를 참조하면, 단말(130)은 복호화된 웹 어플리케이션을 실행하는 중 웹 어플리케이션의 소스 코드(또는 파일)에 포함된 인증 코드를 판독한다(S501). 상술한 바와 같이 인증 코드는 서비스 장치(120)가 웹 어플리케이션의 소스 코드(또는 파일)에 추가할 수 있다. 이하, 단말(130)이 수행하는 단계들은 S501 단계에서 판독한 인증 코드에 따라 수행될 수 있다.
웹 어플리케이션의 인증 코드를 판독한 단말(130)은 저장부에 해당 웹 어플리케이션이 정당하게 구매한 어플리케이션임을 나타내는 인증서(license)가 저장되어 있는지 판단한다(S503).
S501 단계에서 인증서가 저장부에 저장되어 있지 않은 경우, 단말(130)은 서비스 장치(120)에 접속한다(S505). 이때, 도시하지 않았지만, 상술한 바와 같이 서비스 장치(120)와 구분되는 별도의 인증 장치가 웹 어플리케이션에 대한 인증을 수행하는 경우에 단말(130)는 별도의 인증 장치에 접속할 수 있다.
단말(130)은 서비스 장치(120)에 접속한 상태에서 해당 웹 어플리케이션에 대한 인증을 받기 위한 절차를 수행한다(S507). 즉, 단말(130)은 서비스 장치(120)가 해당 웹 어플리케이션이 정당한 구매 절차를 거친 어플리케이션임을 인증하기 위하여 웹 어플리케이션 정보 이외에 필요한 정보들 (단말 고유식별정보, 사용자 고유식별정보 등)을 서비스 장치(120)에 전송할 수 있다.
서비스 장치(120)로부터 웹 어플리케이션에 대한 인증에 성공한 단말(130)은 서비스 장치(120)로부터 해당 웹 어플리케이션에 대한 인증서를 수신하고, 저장부에 저장한다(S509). 이어, 단말(130)은 웹 어플리케이션의 나머지 실행 과정을 수행한다.
반면, S501 단계에서 인증서가 저장부에 저장되어 있는 경우, 단말(130)은 S503 내지 S507 단계를 생략하고 웹 어플리케이션의 실행 과정을 수행한다. 즉, 웹 어플리케이션의 최초 실행 시 서비스 장치(120)로부터 웹 어플리케이션에 대한 인증에 성공하여 단말(130)이 인증서를 저장부에 저장하고 있는 경우, 단말(130)이 이후 해당 웹 어플리케이션을 재실행하더라도 서비스 장치(120)에서의 해당 웹 어플케이션에 대한 인증 과정을 생략할 수 있다.
3. 본 발명이 구현될 수 있는 장치
3. 1. 서비스 장치
도 6은 본 발명의 일실시예에 따른 서비스 장치를 나타내는 블록도이다.
도 6을 참조하면, 서비스 장치(120)는 송수신부(610), 제어부(processor, 620) 및 저장부(630)를 포함할 수 있다. 이하에서 언급되는 서비스 장치(120)는 도 6에 도시된 구성요소들 중 적어도 하나를 포함하나, 반드시 이에 한정되는 것은 아니다.
송수신부(610)는 어플리케이션 등록 장치(110) 또는 단말(130)과 데이터를 송수신하기 위한 인터페이스를 가진다.
저장부(630)는 서비스 장치(120)의 동작에 필요한 데이터 및 프로그램을 저장하는 수단으로서, 기본적으로 서비스 장치(120)에 의해 실행될 운영 프로그램 및 응용 프로그램을 저장한다. 본 발명에 있어서 저장부(630)는 어플리케이션 등록 장치(110)로부터 수신한 웹 어플리케이션 또는 단말(130)에 제공하기 위한 암호화된 웹 어플리케이션을 저장하기 위한 저장소가 될 수 있다. 저장부(630)는 제어부(620) 내부 또는 외부에 있을 수 있고, 잘 알려진 다양한 수단으로 제어부(620)와 연결될 수 있다.
제어부(620)는 송수신부(610), 저장부(630)의 동작을 전반적으로 제어하며, 도 1 내지 도 5에서 제안된 기능, 과정 및/또는 방법을 구현한다.
3. 2. 단말
도 7은 본 발명의 일실시예에 따른 단말을 나타내는 블록도이다.
도 7을 참조하면, 단말(130)은 송수신부(710), 제어부(processor, 720), 저장부(730), 입력부(740) 및 출력부(750)를 포함할 수 있다. 이하에서 언급되는 단말은 도 7에 도시된 구성요소들 중 적어도 하나를 포함하나, 반드시 이에 한정되는 것은 아니다.
송수신부(710)는 서비스 장치(120)와 데이터를 송수신하기 위한 인터페이스를 가진다.
저장부(730)는 단말(130)의 동작에 필요한 데이터 및 프로그램을 저장하는 수단으로서, 기본적으로 단말(130)에 의해 실행될 운영 프로그램 및 응용 프로그램을 저장한다. 본 발명에 있어서 저장부(730)는 웹 어플리케이션을 실행하기 위한 플랫폼과 운영체제를 저장하고, 특히 서비스 장치(120)로부터 수신한 암호화된 웹 어플리케이션 또는 복호화 키를 저장하기 위한 저장소가 될 수 있다. 저장부(730)는 제어부(720) 내부 또는 외부에 있을 수 있고, 잘 알려진 다양한 수단으로 제어부(720)와 연결될 수 있다.
또한, 저장부(730)는 제어부(720)의 제어에 따라 웹 어플리케이션의 소스 코드(또는 파일)을 로드(load)하는 임시 저장 기억 공간(이하, "메모리"라고 한다.)(미도시)을 포함할 수 있으며, 메모리와 별도로 구성될 수도 있다. 메모리는 웹 애플리케이션 실행 등을 위해 단말(130)의 전원이 켜있는 동안 일시적으로 데이터를 보관하는 휘발성 메모리(예를 들면, RAM(Random Access Memory))를 의미한다. 예를 들면, 제어부(720)는 웹 어플리케이션을 실행하기 위하여 해당 암호화된 웹 어플리케이션의 소스 코드(또는 파일)을 메모리로 로딩하여 복호화한 후 컴파일 함으로써 컴파일된 머신 코드(machine code) 형태의 데이터로 메모리에 상주시킬 수 있다.
입력부(740)는 사용자의 조작에 따라 사용자 입력 신호를 발생한다. 이러한 입력부(740)는 다양한 방식의 입력 수단으로 구현될 수 있다. 예를 들면, 단말 입력부(740)는 키 입력 수단, 터치 입력 수단, 제스처 입력 수단, 음성 입력 수단 중에서 하나 이상을 포함할 수 있다. 키 입력 수단은, 키 조작에 따라서 해당 키에 대응하는 신호를 발생시키는 것으로서, 키패드, 키보드가 해당된다. 터치 입력 수단은, 사용자가 특정 부분을 터치하는 동작을 감지하여 입력 동작을 인식하는 것으로서, 터치 패드, 터치 스크린, 터치 센서를 들 수 있다. 특히 본 발명에서 사용자는 입력부(740)를 통해 웹 어플리케이션 실행을 위한 입력을 받을 수 있다.
출력부(750)는 제어부(720)의 제어에 따라서 단말(130)의 동작 상태 및 동작 결과를 사용자에게 출력하는 부분으로서, 특히, 본 발명에 있어서 출력부(750)는 웹 어플리케이션의 실행 시 동작 상태 또는 동작 결과를 출력할 수 있다. 이러한 출력부(750)는 디스플레이 수단으로 구현될 수 있는데, 예를 들어, LCD((Liquid Crystal Display), TFT-LCD(Thin Film Transistor-Liquid Crystal Display), LED(Light Emitting Diodes), OLED(Organic Light Emitting Diodes), AMOLED(Active Matrix Organic Light Emitting Diodes), 플렉시블 디스플레이(flexible display), 3차원 디스플레이 중에서 어느 하나가 될 수 있다.
제어부(720)는 송수신부(710), 저장부(730), 입력부(740) 및 출력부(750)의 동작을 전반적으로 제어하며, 도 1 내지 도 5에서 제안된 기능, 과정 및/또는 방법을 구현한다. 특히, 제어부(720)는 운영 체제, 플랫폼 및 웹 어플리케이션을 실제로 구동시키는 기능을 수행한다. 즉, 제어부(720)는 사용자의 조작에 따른 웹 어플리케이션의 실행 요청이 있는 경우, 계층 구조상 운영 체제 상위에서 플랫폼을 구동시키고, 플랫폼은 그 상위에서 웹 어플리케이션을 실행시킨다. 이처럼, 제어부(720)는 플랫폼을 저장부(730)로부터 불러 와서 실행시킬 수 있으며, 플랫폼이 제어부(720) 내에 하나의 모듈로 구성될 수도 있다.
도 8은 본 발명의 일실시예에 따른 단말의 웹 어플리케이션 실행을 위한 플랫폼을 나타낸다.
도 8을 참조하면, 단말(130)의 제어부(720)는 운영 체제(830) 및 플랫폼(820)을 구동시킨 상태에서 웹 어플리케이션(810)을 실행시킨다. 즉, 제어부(720)에서 운영 체제(830)가 구동되면, 운영 체제(830) 상위 계층에서 플랫폼(820)이 구동되고, 사용자의 웹 어플리케이션(810) 실행 요청이 있으면, 웹 어플리케이션(810)은 플랫폼(820)의 상위 계층에서 실행될 수 있다.
운영 체제(830)는 국가별, 이동통신사 별 또는 이동 단말 제조사 별로 상이할 수 있다. 그 일례로 윈도우 기반의 Windows Mobile 운영 체제 및 리눅스 기반의 LiMo 또는 Android 운영 체제 등을 포함할 수 있다. 이러한 운영 체제는 웹 어플리케이션이 실행되기 위한 환경을 제공하는 것으로, 하나 이상의 웹 어플리케이션이 운영 체제에 의하여 실행될 수 있다.
플랫폼(820)은 이동 단말기에서 웹 애플리케이션(810)을 실행하기 위해 필요한 사용자 인터페이스(UI: user interface)를 포함하는 소프트웨어 로직 및 데이터 등을 제공한다. 플랫폼(820)는 브라우저 엔진(browser engine), UI 프레임워크(framework), 플러그-인 인터페이스(plug-in interface) 등이 포함될 수 있다. 특히, 본 발명에서의 플랫폼(820)은 복호화 모듈 및 웹 어플리케이션 DB를 포함할 수 있다.
복호화 모듈은 서비스 장치(120)로부터 수신한 복호화 키를 이용하여 암호화된 웹 어플리케이션을 복호화하는 모듈을 의미한다. 이때, 복호화 모듈은 복호화된 웹 어플리케이션의 소스 파일이 웹 어플리케이션의 복호화 과정이나 웹 어플리케이션의 실행 과정 중 저장부(730)에 임시(temporary) 파일로 생성되지 않도록 제어한다. 즉 복호화된 웹 어플리케이션 소스 파일은 메모리에서만 존재하도록 관리된다. 복호화된 웹 어플리케이션을 임시(temporary) 파일 등으로 저장부(730)에 저장하고 해당 웹 어플리케이션을 실행한 후 저장부(730)에 저장된 복호화된 웹 어플리케이션을 삭제할 수 있으나, 이 경우 임시 파일이 해킹(hacking)되어 해당 웹 어플리케이션의 소스 코드(또는 파일)가 노출될 수 있기 때문이다.
또한, 복호화 모듈은 서비스 장치(120)로부터 복호화 키를 수신하기 위한 인터페이스를 가질 수 있다. 즉, 복호화 모듈은 암호화된 웹 어플리케이션의 설치 시 또는 암호화된 웹 어플리케이션의 실행 시 서비스 장치(120)에 해당 웹 어플리케이션을 복호화하기 위한 복호화 키를 요청하고, 서비스 장치(120)로부터 요청한 복호화 키를 수신하기 위한 인터페이스를 가질 수 있다. 서비스 장치(120)로부터 복호화 키를 수신하게 되면, 웹 어플리케이션 DB에 복호화 키를 저장할 수 있다.
한편, 이러한 복호화 모듈은 일반적인 브라우저 엔진에 포함될 수 있으며, 브라우저 엔진과 별도로 구성될 수도 있다.
웹 어플리케이션 DB는 서비스 장치(120)로부터 수신한 복호화 키를 저장하는 저장소를 의미한다. 웹 어플리케이션 DB는 사용자가 임의로 접근할 수 없도록 일반 데이터가 저장되는 공간과 구분될 수 있다. 사용자로부터 웹 어플리케이션(810)의 실행 입력을 받으면, 복호화 모듈은 웹 어플리케이션 DB에 복호화 키를 요청하고 암호화된 웹 어플리케이션을 복호화할 수 있다. 이때, 웹 어플리케이션(810) 또는 브라우저 엔진이 웹 어플리케이션 DB에 복호화 키를 요청하고, 수신한 암호화 키를 복호화 모듈로 전달할 수도 있다.
브라우저 엔진은 HTML(HyperText Markup Language)과 같은 마크업(Mark-Up) 언어, 스크립트(Script) 언어 및 CSS(Cascading Style Sheets)와 같은 웹 언어로 제작된 사용자 인터페이스 로직 등의 소프트웨어 로직 및 데이터를 렌더링(rendering) 및 파싱(parsing)하는 엔진으로, 웹 언어로 구성된 웹 애플리케이션의 로직 및 데이터를 렌더링 및 파싱한다.
UI 프레임워크는 웹 애플리케이션(810)의 실행에 필요한 사용자 인터페이스 로직을 라이브러리로 저장하는데, Perl, VBScript, JavaScript과 같은 스크립트 언어(웹 언어)로 구현된 사용자 인터페이스 로직을 저장하거나, 웹 언어로 호출될 수 있는 OPEN VG, C 또는 C++과 같은 네이티브 언어로 구현된 컴파일 되어 있는 사용자 인터페이스 로직을 저장한다. 플러그-인 인터페이스는 웹 애플리케이션(810)의 확장 기능을 지원한다.
이상에서 설명된 실시예들은 본 발명의 구성요소들과 특징들이 소정 형태로 결합된 것들이다. 각 구성요소 또는 특징은 별도의 명시적 언급이 없는 한 선택적인 것으로 고려되어야 한다. 각 구성요소 또는 특징은 다른 구성요소나 특징과 결합되지 않은 형태로 실시될 수 있다. 또한, 일부 구성요소들 및/또는 특징들을 결합하여 본 발명의 실시예를 구성하는 것도 가능하다. 본 발명의 실시예들에서 설명되는 동작들의 순서는 변경될 수 있다. 어느 실시예의 일부 구성이나 특징은 다른 실시예에 포함될 수 있고, 또는 다른 실시예의 대응하는 구성 또는 특징과 교체될 수 있다. 특허청구범위에서 명시적인 인용 관계가 있지 않은 청구항들을 결합하여 실시예를 구성하거나 출원 후의 보정에 의해 새로운 청구항으로 포함시킬 수 있음은 자명하다.
본 발명에 따른 실시예는 다양한 수단, 예를 들어, 하드웨어, 펌웨어(firmware), 소프트웨어 또는 그것들의 결합 등에 의해 구현될 수 있다. 하드웨어에 의한 구현의 경우, 본 발명의 일 실시예는 하나 또는 그 이상의 ASICs(application specific integrated circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 프로세서, 콘트롤러, 마이크로 콘트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다.
펌웨어나 소프트웨어에 의한 구현의 경우, 본 발명의 일 실시예는 이상에서 설명된 기능 또는 동작들을 수행하는 모듈, 절차, 함수 등의 형태로 구현될 수 있다. 소프트웨어 코드는 메모리 유닛에 저장되어 프로세서에 의해 구동될 수 있다. 메모리 유닛은 상기 프로세서 내부 또는 외부에 위치하여, 이미 공지된 다양한 수단에 의해 상기 프로세서와 데이터를 주고 받을 수 있다.
본 발명은 본 발명의 특징을 벗어나지 않는 범위에서 다른 특정한 형태로 구체화될 수 있음은 당업자에게 자명하다. 따라서, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.
본 발명의 무선 통신 시스템에서 웹 어플리케이션을 암호화하고, 암호화된 웹 어플리케이션을 단말에 제공하는 방안은 3GPP LTE 시스템 등과 같은 다양한 무선 통신 시스템에 적용하는 것이 가능하다.
110: 어플리케이션 등록 장치 120: 서비스 장치
130: 단말 140: 네트워크
610: 송수신부 620: 제어부
630: 저장부 710: 송수신부
720: 제어부 730: 저장부
740: 입력부 750: 출력부
810: 웹 어플리케이션 820: 플랫폼
830: 운영 체제

Claims (31)

  1. 하나 이상의 소스 파일이 패키징(packaging)된 웹 어플리케이션을 언패키징(unpackaging)하는 단계;
    상기 하나 이상의 소스 파일을 암호화하는 단계;
    상기 암호화된 하나 이상의 소스 파일을 재패키징하는 단계; 및
    상기 재패키징된 웹 어플리케이션을 단말로부터 요청 받으면, 상기 단말에 상기 재패키징된 웹 어플리케이션을 전송하는 단계를 포함하는, 암호화된 웹 어플리케이션 제공 방법.
  2. 제1항에 있어서, 상기 재패키징 하는 단계는,
    상기 암호화된 하나 이상의 소스 파일을 상기 단말에 설치된 운영 체제에 따라 상이한 형태로 재패키징하는, 암호화된 웹 어플리케이션 제공 방법.
  3. 제1항에 있어서, 상기 암호화하는 단계는,
    상기 하나 이상의 소스 파일 중 소정의 소스 파일만 추출하여 암호화하는, 암호화된 웹 어플리케이션 제공 방법.
  4. 제1항에 있어서, 상기 암호화하는 단계는,
    AES(Advanced Encryption Standard) 알고리즘을 이용하여 상기 하나 이상의 소스 파일을 암호화하는, 암호화된 웹 어플리케이션 제공 방법.
  5. 제1항에 있어서,
    상기 하나 이상의 소스 파일 중 어느 하나의 소스 파일에 상기 웹 어플리케이션이 정당한 구매 절차를 거친 웹 어플리케이션인지 인증 과정을 수행하도록 하는 인증 코드를 추가하는 단계를 더 포함하는, 암호화된 웹 어플리케이션 제공 방법.
  6. 서비스 장치로부터 암호화된 하나 이상의 소스 파일이 패키징(packaging)된 웹 어플리케이션을 수신하는 단계;
    상기 웹 어플리케이션의 실행 입력을 받으면, 상기 서비스 장치에 상기 암호화된 하나 이상의 소스 파일을 복호화할 수 있는 암호화 키를 요청하는 단계;
    상기 서비스 장치로부터 상기 암호화 키를 수신하는 단계;
    상기 수신한 암호화 키를 이용하여 상기 암호화된 하나 이상의 소스 파일을 복호화하는 단계; 및
    상기 복호화된 하나 이상의 소스 파일을 이용하여 상기 웹 어플리케이션을 실행하는 단계를 포함하는, 암호화된 웹 어플리케이션 제공 방법.
  7. 제6항에 있어서, 상기 암호화 키를 요청하는 단계는,
    상기 웹 어플리케이션의 최초 실행 입력의 경우에 상기 서비스 장치에 상기 암호화 키를 요청하고,
    상기 수신한 암호화 키를 저장하는 단계를 더 포함하는, 암호화된 웹 어플리케이션 제공 방법.
  8. 제7항에 있어서, 상기 복호화하는 단계는,
    상기 웹 어플리케이션의 최초 실행 이후에는 상기 저장된 암호화 키를 이용하여 상기 암호화된 하나 이상의 소스 파일을 복호화하는, 암호화된 웹 어플리케이션 제공 방법.
  9. 제7항에 있어서, 상기 저장하는 단계는,
    상기 수신한 암호화 키를 암호화하여 저장하는, 암호화된 웹 어플리케이션 제공 방법.
  10. 제6항에 있어서, 상기 웹 어플리케이션을 실행하는 단계는,
    상기 서비스 장치에 접속하여 상기 웹 어플리케이션이 정당한 구매 절차를 거친 웹 어플리케이션인지 인증 과정을 수행하는 단계를 포함하는, 암호화된 웹 어플리케이션 제공 방법.
  11. 서비스 장치로부터 암호화된 하나 이상의 소스 파일이 패키징(packaging)된 웹 어플리케이션 및 상기 암호화된 하나 이상의 소스 파일을 복호화할 수 있는 암호화 키를 수신하는 단계;
    상기 수신한 웹 어플리케이션 및 상기 암호화 키를 저장하는 단계;
    상기 웹 어플리케이션의 실행 입력을 받으면, 상기 암호화 키를 이용하여 상기 암호화된 하나 이상의 소스 파일을 복호화하는 단계; 및
    상기 복호화된 하나 이상의 소스 파일을 이용하여 상기 웹 어플리케이션을 실행하는 단계를 포함하는, 암호화된 웹 어플리케이션 제공 방법.
  12. 제11항에 있어서, 상기 저장하는 단계는,
    상기 수신한 암호화 키를 암호화하여 저장하는, 암호화된 웹 어플리케이션 제공 방법.
  13. 제11항에 있어서, 상기 웹 어플리케이션을 실행하는 단계는,
    상기 서비스 장치에 접속하여 상기 웹 어플리케이션이 정당한 구매 절차를 거친 웹 어플리케이션인지 인증 과정을 수행하는 단계를 포함하는, 암호화된 웹 어플리케이션 제공 방법.
  14. 데이터 송수신을 위한 송수신부; 및
    하나 이상의 소스 파일이 패키징(packaging)된 웹 어플리케이션을 언패키징(unpackaging)한 후, 상기 하나 이상의 소스 파일을 암호화하고, 상기 암호화된 하나 이상의 소스 파일을 재패키징하며, 상기 재패키징된 웹 어플리케이션을 단말로부터 요청 받으면, 상기 단말에 상기 재패키징된 웹 어플리케이션을 전송하는 제어부를 포함하는, 장치.
  15. 제14항에 있어서, 상기 제어부는,
    상기 암호화된 하나 이상의 소스 파일을 상기 단말에 설치된 운영 체제에 따라 상이한 형태로 재패키징하는, 장치.
  16. 제14항에 있어서, 상기 제어부는,
    상기 하나 이상의 소스 파일 중 소정의 소스 파일만 추출하여 암호화하는, 장치.
  17. 제14항에 있어서, 상기 제어부는,
    AES(Advanced Encryption Standard) 알고리즘을 이용하여 상기 하나 이상의 소스 파일을 암호화하는, 장치.
  18. 제14항에 있어서, 상기 제어부는,
    상기 하나 이상의 소스 파일 중 어느 하나의 소스 파일에 상기 웹 어플리케이션이 정당한 구매 절차를 거친 웹 어플리케이션인지 인증 과정을 수행하도록 하는 인증 코드를 추가하는, 장치.
  19. 정보 입력을 위한 입력부;
    데이터 송수신을 위한 송수신부; 및
    서비스 장치로부터 암호화된 하나 이상의 소스 파일이 패키징(packaging)된 웹 어플리케이션을 수신하고, 상기 입력부를 통해 상기 웹 어플리케이션의 실행 입력을 받으면, 상기 서비스 장치에 상기 암호화된 하나 이상의 소스 파일을 복호화할 수 있는 암호화 키를 요청하며, 상기 서비스 장치로부터 상기 암호화 키를 수신하면 상기 수신한 암호화 키를 이용하여 상기 암호화된 하나 이상의 소스 파일을 복호화하고, 상기 복호화된 하나 이상의 소스 파일을 이용하여 상기 웹 어플리케이션을 실행하는 제어부를 포함하는, 장치.
  20. 제19항에 있어서, 데이터 저장을 위한 저장부를 더 포함하고,
    상기 제어부는, 상기 입력부를 통해 상기 웹 어플리케이션의 최초 실행 입력을 받은 경우에 상기 서비스 장치에 상기 암호화 키를 요청하고, 상기 수신한 암호화 키를 상기 저장부에 저장하는, 장치.
  21. 제20항에 있어서, 상기 제어부는,
    상기 웹 어플리케이션의 최초 실행 이후에는 상기 저장된 암호화 키를 이용하여 상기 암호화된 하나 이상의 소스 파일을 복호화하는, 장치.
  22. 제20항에 있어서, 상기 제어부는,
    상기 수신한 암호화 키를 암호화하여 상기 저장부에 저장하는, 장치.
  23. 제19항에 있어서, 상기 제어부는,
    상기 서비스 장치에 접속하여 상기 웹 어플리케이션이 정당한 구매 절차를 거친 웹 어플리케이션인지 인증 과정을 수행하는, 장치.
  24. 제19항에 있어서, 상기 제어부는,
    상기 웹 어플리케이션의 복호화 과정 또는 실행 과정 중에 상기 복호화된 하나 이상의 소스 파일이 상기 저장부에 임시 파일로 생성되지 않도록 제어하는, 장치.
  25. 정보 입력을 위한 입력부;
    데이터 송수신을 위한 송수신부; 및
    서비스 장치로부터 암호화된 하나 이상의 소스 파일이 패키징(packaging)된 웹 어플리케이션 및 상기 암호화된 하나 이상의 소스 파일을 복호화할 수 있는 암호화 키를 수신하면 상기 수신한 웹 어플리케이션 및 상기 암호화 키를 저장하고, 상기 입력부를 통해 상기 웹 어플리케이션의 실행 입력을 받으면 상기 암호화 키를 이용하여 상기 암호화된 하나 이상의 소스 파일을 복호화하며, 상기 복호화된 하나 이상의 소스 파일을 이용하여 상기 웹 어플리케이션을 실행하는 제어부를 포함하는, 장치.
  26. 제25항에 있어서, 데이터 저장을 위한 저장부를 더 포함하고,
    상기 제어부는, 상기 수신한 암호화 키를 암호화하여 상기 저장부에 저장하는, 장치.
  27. 제25항에 있어서, 상기 제어부는,
    상기 서비스 장치에 접속하여 상기 웹 어플리케이션이 정당한 구매 절차를 거친 웹 어플리케이션인지 인증 과정을 수행하는, 장치.
  28. 제25항에 있어서, 상기 제어부는,
    상기 웹 어플리케이션의 복호화 과정 또는 실행 과정 중에 상기 복호화된 하나 이상의 소스 파일이 상기 저장부에 임시 파일로 생성되지 않도록 제어하는, 장치.
  29. 하나 이상의 소스 파일이 패키징(packaging)된 웹 어플리케이션을 언패키징(unpackaging)하는 수단;
    상기 하나 이상의 소스 파일을 암호화하는 수단;
    상기 암호화된 하나 이상의 소스 파일을 재패키징하는 수단; 및
    상기 재패키징된 웹 어플리케이션을 단말로부터 요청 받으면, 상기 단말에 상기 재패키징된 웹 어플리케이션을 전송하는 수단을 포함하는, 프로그램을 기록한 컴퓨터 판독 가능한 기록매체.
  30. 서비스 장치로부터 암호화된 하나 이상의 소스 파일이 패키징(packaging)된 웹 어플리케이션을 수신하는 수단;
    상기 웹 어플리케이션의 실행 입력을 받으면, 상기 서비스 장치에 상기 암호화된 하나 이상의 소스 파일을 복호화할 수 있는 암호화 키를 요청하는 수단;
    상기 서비스 장치로부터 상기 암호화 키를 수신하는 수단;
    상기 수신한 암호화 키를 이용하여 상기 암호화된 하나 이상의 소스 파일을 복호화하는 수단; 및
    상기 복호화된 하나 이상의 소스 파일을 이용하여 상기 웹 어플리케이션을 실행하는 수단을 포함하는, 프로그램을 기록한 컴퓨터 판독 가능한 기록매체.
  31. 서비스 장치로부터 암호화된 하나 이상의 소스 파일이 패키징(packaging)된 웹 어플리케이션 및 상기 암호화된 하나 이상의 소스 파일을 복호화할 수 있는 암호화 키를 수신하는 수단;
    상기 수신한 웹 어플리케이션 및 상기 암호화 키를 저장하는 수단;
    상기 웹 어플리케이션의 실행 입력을 받으면, 상기 암호화 키를 이용하여 상기 암호화된 하나 이상의 소스 파일을 복호화하는 수단; 및
    상기 복호화된 하나 이상의 소스 파일을 이용하여 상기 웹 어플리케이션을 실행하는 수단을 포함하는, 프로그램을 기록한 컴퓨터 판독 가능한 기록매체.
KR1020120055577A 2012-05-24 2012-05-24 암호화된 웹 어플리케이션 제공 방법, 이를 지원하는 단말, 및 이를 위한 기록매체 KR101472346B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120055577A KR101472346B1 (ko) 2012-05-24 2012-05-24 암호화된 웹 어플리케이션 제공 방법, 이를 지원하는 단말, 및 이를 위한 기록매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120055577A KR101472346B1 (ko) 2012-05-24 2012-05-24 암호화된 웹 어플리케이션 제공 방법, 이를 지원하는 단말, 및 이를 위한 기록매체

Publications (2)

Publication Number Publication Date
KR20130140969A true KR20130140969A (ko) 2013-12-26
KR101472346B1 KR101472346B1 (ko) 2014-12-16

Family

ID=49985183

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120055577A KR101472346B1 (ko) 2012-05-24 2012-05-24 암호화된 웹 어플리케이션 제공 방법, 이를 지원하는 단말, 및 이를 위한 기록매체

Country Status (1)

Country Link
KR (1) KR101472346B1 (ko)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120029683A (ko) * 2010-09-17 2012-03-27 주식회사 엘지유플러스 애플리케이션에 대한 리소스 보호 시스템 및 방법
KR20150134254A (ko) * 2014-05-21 2015-12-01 단국대학교 산학협력단 서버 및 휴대용 단말의 에플리케이션 보호방법 및 장치
WO2017026738A1 (ko) * 2015-08-10 2017-02-16 라인 가부시키가이샤 어플리케이션의 코드를 보호하기 위한 시스템 및 방법
WO2017061654A1 (ko) * 2015-10-06 2017-04-13 (주)유라클 하이브리드 어플리케이션의 웹 리소스 보안방법 및 그에 따른 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체
US10216941B2 (en) 2015-04-03 2019-02-26 Line Corporation Method of distributing application with security features and method of operating the application
WO2020101080A1 (ko) * 2018-11-16 2020-05-22 (주)에프에스알엔티 무선 통신을 이용한 선박내 객체의 위치 측위 방법
KR102258638B1 (ko) * 2020-08-06 2021-06-01 주식회사 알파인랩 자바스크립트 기반의 웹 자동화 공격 및 스니핑 차단 시스템 및 방법

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120029683A (ko) * 2010-09-17 2012-03-27 주식회사 엘지유플러스 애플리케이션에 대한 리소스 보호 시스템 및 방법
KR20150134254A (ko) * 2014-05-21 2015-12-01 단국대학교 산학협력단 서버 및 휴대용 단말의 에플리케이션 보호방법 및 장치
US10216941B2 (en) 2015-04-03 2019-02-26 Line Corporation Method of distributing application with security features and method of operating the application
WO2017026738A1 (ko) * 2015-08-10 2017-02-16 라인 가부시키가이샤 어플리케이션의 코드를 보호하기 위한 시스템 및 방법
WO2017061654A1 (ko) * 2015-10-06 2017-04-13 (주)유라클 하이브리드 어플리케이션의 웹 리소스 보안방법 및 그에 따른 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체
WO2020101080A1 (ko) * 2018-11-16 2020-05-22 (주)에프에스알엔티 무선 통신을 이용한 선박내 객체의 위치 측위 방법
KR102258638B1 (ko) * 2020-08-06 2021-06-01 주식회사 알파인랩 자바스크립트 기반의 웹 자동화 공격 및 스니핑 차단 시스템 및 방법

Also Published As

Publication number Publication date
KR101472346B1 (ko) 2014-12-16

Similar Documents

Publication Publication Date Title
KR101472346B1 (ko) 암호화된 웹 어플리케이션 제공 방법, 이를 지원하는 단말, 및 이를 위한 기록매체
US20170295013A1 (en) Method for fulfilling a cryptographic request requiring a value of a private key
KR101471589B1 (ko) 공통중간언어 기반 프로그램을 위한 보안 제공 방법
Cooijmans et al. Analysis of secure key storage solutions on android
Jung et al. Repackaging attack on android banking applications and its countermeasures
US9652610B1 (en) Hierarchical data security measures for a mobile device
EP2795829B1 (en) Cryptographic system and methodology for securing software cryptography
US9356922B2 (en) Operation of mobile device as trusted mobile web client or trusted mobile web server
US20130067243A1 (en) Secure Data Synchronization
CN102414690A (zh) 用特权签字创建安全网页浏览环境的方法和设备
KR101537205B1 (ko) 해쉬값을 이용하여 응용 프로그램의 위변조 여부를 탐지하는 사용자 단말기 및 그것을 이용한 위변조 탐지 방법
CN111193725B (zh) 一种基于配置的联合登录方法、装置和计算机设备
US20140059341A1 (en) Creating and accessing encrypted web based content in hybrid applications
KR20130143263A (ko) 트러스티드 플랫폼 기반의 개방형 아이디 인증 방법, 이를 위한 장치 및 시스템
CN111163094B (zh) 网络攻击检测方法、网络攻击检测装置、电子设备和介质
US20220006637A1 (en) File system supporting remote attestation-based secrets
US20180004982A1 (en) Transparent execution of secret content
CN110928571A (zh) 业务程序开发方法和装置
US20140059708A1 (en) Apparatuses and methods for protecting program file content using digital rights management (drm)
KR101566141B1 (ko) 서명정보를 이용하여 응용 프로그램의 위변조 여부를 탐지하는 사용자 단말기 및 그것을 이용한 위변조 탐지 방법
CN110135131B (zh) 一种应用程序的加密方法、存储介质及终端设备
US10262161B1 (en) Secure execution and transformation techniques for computing executables
CN108958771B (zh) 应用程序的更新方法、装置、服务器及存储介质
CN113836582A (zh) 软件加密及解密方法、装置、电子设备和存储介质
JP2023525384A (ja) ウェブブラウザ基盤のコンテンツセキュリティのためのサービス提供方法

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
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: 20171109

Year of fee payment: 6