KR101523309B1 - 어플리케이션 배포 시스템 및 방법 - Google Patents

어플리케이션 배포 시스템 및 방법 Download PDF

Info

Publication number
KR101523309B1
KR101523309B1 KR1020130010953A KR20130010953A KR101523309B1 KR 101523309 B1 KR101523309 B1 KR 101523309B1 KR 1020130010953 A KR1020130010953 A KR 1020130010953A KR 20130010953 A KR20130010953 A KR 20130010953A KR 101523309 B1 KR101523309 B1 KR 101523309B1
Authority
KR
South Korea
Prior art keywords
application
digital signature
transaction server
security verification
verification
Prior art date
Application number
KR1020130010953A
Other languages
English (en)
Other versions
KR20140098912A (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 KR1020130010953A priority Critical patent/KR101523309B1/ko
Priority to US14/052,173 priority patent/US20140215220A1/en
Publication of KR20140098912A publication Critical patent/KR20140098912A/ko
Application granted granted Critical
Publication of KR101523309B1 publication Critical patent/KR101523309B1/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/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6272Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database by registering files or documents with a third party
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Accounting & Taxation (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Virology (AREA)
  • Bioethics (AREA)
  • Finance (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

본 발명은 어플리케이션 배포 시스템 및 방법에 관한 것으로, 본 발명에 따른 어플리케이션 배포 시스템은 어플리케이션의 등록을 요청하는 개발자 단말기와, 상기 개발자 단말기의 요청에 따라 상기 어플리케이션을 어플리케이션 스토어에 등록 및 게시하는 어플리케이션 거래 서버를 포함하며, 상기 어플리케이션 거래 서버는 상기 어플리케이션에 전자서명이 없으면 기설정된 어플리케이션 보안 검증 기준에 근거하여 상기 어플리케이션에 대한 보안 검증을 수행한 후 상기 어플리케이션에 대한 전자서명을 생성하여 상기 개발자 단말기로 전송하고, 상기 어플리케이션에 전자서명이 존재하면 상기 전자서명의 검증을 통해 어플리케이션의 보안 검증을 수행한다.

Description

어플리케이션 배포 시스템 및 방법{A SYSTEM AND METHOD FOR DISTRIBUTING APPLICATION}
본 발명은 어플리케이션 배포 시스템과 방법에 관한 것으로, 다수의 어플리케이션 거래 서버 간에 합의된 어플리케이션 보안 검증 기준에 따라 어플리케이션을 검증하여 등록 및 게시하는 어플리케이션 배포 시스템 및 방법에 관한 것이다.
최근에는 스마트폰이 빠르게 보급되면서 스마트폰에서 사용할 수 있는 다양한 어플리케이션(application)에 대한 관심이 증폭되고 있다. 이로 인해, 스마트폰 제조사나 모바일 서비스 업체는 스마트폰에서 구동 가능한 다양한 어플리케이션을 사용자들이 손쉽게 구매할 수 있도록 하는 어플리케이션 스토어(application store, 이하, '앱스토어'라 함)를 운영하고 있다.
상기 앱스토어는 개발자가 어플리케이션을 개발하여 앱스토어에 등록하면 구매자가 앱스토어에 접속하여 무료 또는 유료로 원하는 어플리케이션을 다운로드받는 형식으로 운영되고 있다.
이러한 종래기술에 따르면, 앱스토어는 각기 다른 보안 기준으로 어플리케이션을 검증하고 있어 유통되는 어플리케이션의 보안 수준이 각기 다르다. 따라서, 앱스토어에서 낮은 강도의 보안 기준으로 어플리케이션을 검증하는 경우 안전하지 않은 어플리케이션이 유통될 수 있다.
또한, 어플리케이션 개발자가 각기 다른 앱스토어에 동일한 어플리케이션의 등록을 요청하는 경우, 각각의 앱스토어에서 매번 앱 보안 검증을 다시 받아야 하므로 시간이 오래 걸리고 앱스토어에서도 어플리케이션 검증을 중복적으로 수행해야 하는 문제점이 있다.
KR 101150784 B1
본 발명은 상기한 종래기술의 문제점을 해결하기 위하여 안출된 것으로, 어플리케이션 거래 서비스를 운영하는 업체들 간에 합의된 어플리케이션 보안 검증 기준을 사용하여 어플리케이션을 보안 검증하는 어플리케이션 배포 시스템 및 방법을 제공하기 위한 것이다.
또한, 본 발명은 각각의 어플리케이션 거래 서버는 고유의 인증서를 가지고 어플리케이션에 대해 전자서명을 수행할 수 있는 어플리케이션 배포 시스템 및 방법을 제공하기 위한 것이다.
상기한 과제를 해결하기 위하여, 본 발명에 따른 어플리케이션 배포 시스템은 어플리케이션의 등록을 요청하는 개발자 단말기와, 상기 개발자 단말기의 요청에 따라 상기 어플리케이션을 어플리케이션 스토어에 등록 및 게시하는 어플리케이션 거래 서버를 포함하며, 상기 어플리케이션 거래 서버는 상기 어플리케이션에 전자서명이 없으면 기설정된 어플리케이션 보안 검증 기준에 근거하여 상기 어플리케이션에 대한 보안 검증을 수행한 후 상기 어플리케이션에 대한 전자서명을 생성하여 상기 개발자 단말기로 전송하고, 상기 어플리케이션에 전자서명이 존재하면 상기 전자서명의 검증을 통해 어플리케이션의 보안 검증을 수행하는 것을 특징으로 한다.
또한, 상기 개발자 단말기는, 어플리케이션 등록 요청 시 상기 어플리케이션의 소스 코드 및 실행파일, 사양서를 전송하는 것을 특징으로 한다.
또한, 상기 개발자 단말기는, 어플리케이션 등록 요청 시 상기 어플리케이션의 소스 코드 및 실행파일, 사양서, 전자서명을 전송하는 것을 특징으로 한다.
또한, 상기 전자서명은 상기 어플리케이션에 대한 타어플리케이션 거래 서버의 전자서명인 것을 특징으로 한다.
또한, 상기 어플리케이션 거래 서버는, 상기 어플리케이션의 소스코드 및 실행파일에 대한 정적 및 동적 분석을 수행하여 상기 기설정된 어플리케이션 보안 검증 기준의 만족여부를 확인하는 보안 검증부와, 상기 소스코드를 해쉬연산하여 생성되는 해쉬값을 상기 어플리케이션 거래 서버의 전자서명 생성키로 암호화하여 전자서명으로 생성하는 전자서명 생성부와, 상기 어플리케이션의 전자서명 검증키로 상기 어플리케이션에 서명된 전자서명을 복호화하고 그 복호화된 값이 상기 어플리케이션의 소스 코드를 해쉬연산한 값과 일치하는지를 확인하는 전자서명 검증부를 포함하는 것을 특징으로 한다.
또한, 상기 기설정된 어플리케이션 보안 검증 기준은, 어플리케이션 거래 서비스를 제공하는 업체들 간에 사전에 합의된 보안 검증 기준인 것을 특징으로 한다.
또한, 본 발명에 따른 어플리케이션 배포 방법은 개발자 단말기가 개발된 어플리케이션의 등록을 어플리케이션 거래 서버에 요청하는 단계와, 상기 어플리케이션 거래 서버가 기설정된 어플리케이션 보안 검증 기준에 근거하여 상기 어플리케이션에 대한 보안 검증을 수행하는 단계와, 상기 어플리케이션의 보안 검증 후 상기 어플리케이션 거래 서버가 상기 어플리케이션에 대한 전자서명을 생성하는 단계와, 상기 어플리케이션 거래 서버가 상기 어플리케이션에 대한 전자서명을 상기 개발자 단말기로 전송하는 단계와, 상기 개발자 단말기가 상기 전자서명으로 서명된 어플리케이션을 타어플리케이션 거래 서버에 등록 요청하는 단계와, 상기 타어플리케이션 거래 서버가 상기 어플리케이션에 서명된 상기 전자서명을 검증하는 단계와, 상기 전자서명의 검증이 성공되면 상기 타어플리케이션 거래 서버가 상기 전자서명으로 서명된 상기 어플리케이션을 어플리케이션 스토어에 등록 및 게시하는 단계를 포함하는 것을 특징으로 한다.
또한, 상기 어플리케이션 보안 검증 단계는, 상기 어플리케이션의 소스 코드 및 실행 파일에 대한 정적 및 동적 분석을 수행하여 상기 기설정된 어플리케이션 보안 검증 기준을 만족하는지를 확인하는 것을 특징으로 한다.
또한, 상기 전자서명 생성 단계는, 상기 어플리케이션의 소스 코드를 해쉬연산하여 해쉬값을 생성하는 단계와, 상기 어플리케이션 거래 서버의 전자서명 생성키를 이용하여 상기 해쉬값을 암호화하여 상기 전자서명으로 생성하는 단계를 포함하는 것을 특징으로 한다.
또한, 상기 전자서명 검증 단계는, 상기 어플리케이션 거래 서버의 전자서명 검증키를 사용하여 상기 전자서명을 복호화하는 단계와, 상기 전자서명을 복호화한 값이 상기 어플리케이션의 소스코드를 해쉬연산한 값과 동일한지를 확인하는 단계를 포함하는 것을 특징으로 한다.
본 발명은 어플리케이션 거래 서비스를 제공하는 업체들 간에 사전 합의된 어플리케이션 보안 검증 기준을 만족하는 어플리케이션만이 앱스토어에 게시될 수 있도록 함으로써, 일정 수준의 보안성이 보장되는 어플리케이션이 유통될 수 있도록 하여 어플리케이션의 보안성을 향상시킬 수 있다.
또한, 본 발명은 어플리케이션 개발자 입장에서 각기 다른 앱스토어에 어플리케이션을 게시하는 경우 어플리케이션 보안 검증에 소요되는 시간을 줄일 수 있으며, 어플리케이션 개발에서 앱스토어 등록/게시까지에 걸리는 시간을 줄일 수 있다.
또한, 본 발명은 앱스토어 입장에서 동일한 어플리케이션을 중복적으로 검증함으로써 드는 노력 및 시간 등의 비용을 줄일 수 있다.
또한, 본 발명은 사용자가 보안성이 검증된 안전한 어플리케이션을 이용할 수 있게 한다.
도 1은 본 발명에 따른 어플리케이션 배포 시스템을 도시한 구성도.
도 2는 도 1에 도시된 어플리케이션 거래 서버를 도시한 블록구성도.
도 3은 본 발명의 일 실시예에 따른 어플리케이션 배포 방법을 도시한 흐름도.
도 4는 본 발명의 다른 실시예에 따른 어플리케이션 배포 방법을 도시한 흐름도.
이하, 첨부된 도면들을 참조하여 본 발명의 실시예를 상세하게 설명한다.
도 1은 본 발명에 따른 어플리케이션 배포 시스템을 도시한 구성도이고, 도 2는 도 1에 도시된 어플리케이션 거래 서버를 도시한 블록구성도이다.
도 1을 참조하면, 본 발명에 따른 어플리케이션 배포 시스템은 네트워크를 통해 연결되는 개발자 단말기(100), 어플리케이션 거래 서버(200), 사용자 단말기(300)를 포함한다. 여기서, 네트워크는 유무선 인터넷망 및 이동통신망, 근거리 통신망과 같은 통신망이 사용된다.
개발자 단말기(100)에서는 개발자에 의해 개발된 어플리케이션(application, 이하, '앱'이라 함)의 소스 코드(source code) 및 실행파일(executable file), 사양서(specification)가 작성된다. 개발자 단말기(100)에는 어플리케이션을 개발하는 데 이용되는 프로그램 개발 도구(program development tools)가 설치된다.
개발자 단말기(100)는 통신망을 통해 어플리케이션 거래 서버(200)에 접속하여 어플리케이션 거래 서버(200)에서 운영하는 앱스토어(application store, app store)에 개발된 앱의 등록을 요청한다. 상기 앱스토어는 모바일 어플리케이션(이동단말기에 탑재되는 일정관리·주소록·알람·계산기·게임·동영상·음악재생·내비게이션·워드·액셀 등의 콘텐츠 응용프로그램)을 자유롭게 사고 팔 수 있는 온라인상의 모바일 콘텐츠 장터로, 애플사의 앱스토어, 구글의 안드로이드 마켓, SKT의 티스토어(T store) 등이 있다.
어플리케이션 거래 서버(200)는 개발자 단말기(100)의 요청에 따라 개발된 앱을 데이터베이스에 등록하고 앱스토어(어플리케이션 거래 사이트)에 게시한다. 이러한 어플리케이션 거래 서버(200)는 도 2에 도시된 바와 같이 통신부(210), 보안 검증부(220), 전자서명 생성부(230), 전자서명 검증부(240), 데이터베이스(database, DB)(250), 제어부(260)를 포함한다.
어플리케이션 거래 서버(200)는 통신부(210)를 통해 개발자 단말기(100) 및 사용자 단말기(300)와 데이터를 송수신한다. 통신부(210)는 이동통신모듈 및 유무선 통신 모듈 등으로 구성된다.
어플리케이션 거래 서버(200)의 제어부(260)는 통신부(210)를 통해 개발자 단말기(100)로부터 전송되는 앱 등록 요청을 수신하면, 등록 요청된 앱이 보안 검증 대상인지를 확인한다. 즉, 제어부(260)는 등록 요청된 앱에 전자서명이 있는지를 확인한다.
제어부(260)는 등록 요청된 앱에 전자서명이 없으면, 보안 검증부(220)를 제어하여 등록 요청된 앱의 소스 코드 및 실행파일에 대해 정적 및 동적 분석을 통해 보안 검증을 수행한다. 이때, 보안 검증부(220)는 등록 요청된 앱이 다른 어플리케이션 거래 서버들(200)과 사전에 상호 합의된 어플리케이션 보안 검증 기준을 만족하는지 여부를 확인한다.
전자서명 생성부(230)는 제어부(260)의 제어에 따라 등록 요청된 앱이 보안 검증 기준을 만족하면 앱의 소스 코드를 해쉬연산하여 해쉬값을 생성하고, 그 해쉬값을 전자서명 생성키로 암호화하여 전자서명(인증서)을 생성한다. 그리고, 어플리케이션 거래 서버(200)는 통신부(210)를 통해 생성된 전자서명을 개발자 단말기(100)로 전송한다. 어플리케이션 거래 서버(200)는 전자서명을 생성할 때 사용되는 자신만의 전자서명 생성키 및 다른 어플리케이션 거래 서버(200)가 앱에 서명된 전자서명을 검증할 때 사용하는 전자서명 검증키를 갖는다.
어플리케이션 거래 서버(200)는 등록 요청된 앱이 보안 검증이 완료된 앱이면 전자서명 검증부(240)는 개발자 단말기(100)가 앱 등록 요청시 함께 전송한 전자서명을 검증한다. 다시 말해서, 어플리케이션 거래 서버(200)는 등록 요청된 앱에 전자서명이 존재하면 해당 전자서명을 검증한다.
전자서명 검증부(240)는 최초로 앱 보안 검증을 수행한 어플리케이션 거래 서버(200)의 전자서명 검증키로 등록 요청된 앱에 서명된 전자서명을 복호화한다. 그리고, 전자서명 검증부(240)는 그 복호화한 값이 등록 요청된 앱의 소스 코드를 해쉬연산한 해쉬값과 일치하는지를 확인한다.
제어부(260)는 전자서명 검증부(240)로부터 출력되는 전자서명 검증 결과에 따라 등록요청된 앱을 데이터베이스(250)에 등록하고 앱스토어에 게시한다. 다시 말해서, 어플리케이션 거래 서버(200)는 상기 복호화한 값(해쉬값)과 등록 요청된 앱의 소스 코드를 해쉬연산하여 얻은 해쉬값이 일치하면 해당 앱을 데이터베이스(250)에 등록하며 앱스토어에 게시한다. 한편, 상기 복호화한 값이 등록요청된 앱의 소스 코드를 해쉬연산한 해쉬값과 일치하지 않으면 개발자 단말기(100)로 그 사실을 피드백(feedback)한다.
또한, 어플리케이션 거래 서버(200)는 사용자 단말기(300)가 무선 통신을 통해 특정 어플리케이션를 구매하면 해당 어플리케이션을 사용자 단말기(300)로 전송한다. 다시 말해서, 사용자 단말기(300)는 앱스토어에 접속하여 원하는 어플리케이션을 구매하고 해당 어플리케이션을 다운로드하여 단말기 내에 설치한다.
이와 같이, 본 발명은 개발자가 개발된 앱을 최초로 등록하는 경우에만 어플리케이션 거래 서버(200)에서 앱 보안 검증을 수행하고, 앱 보안 검증이 성공하면 어플리케이션 거래 서버(200)의 고유 인증서를 사용하여 앱의 소스 코드에 대한 전자서명을 생성하여 개발자에게 제공하므로, 개발자는 제공받은 전자서명을 사용하여 앱의 소스코드에 대한 서명을 수행할 수 있다.
도 3은 본 발명의 일 실시예에 따른 어플리케이션 배포 방법을 도시한 흐름도이다. 본 실시예는 개발자에 의해 개발된 앱을 최초로 앱스토어에 등록하는 경우를 예로 들어 설명한다.
먼저, 개발자 단말기(100)는 어플리케이션 거래 서버(200)에 사용자 인증을 요청한다(S101). 이때, 개발자 단말기(100)는 개발자의 아이디(ID) 및 비밀번호를 식별정보로 전송한다.
어플리케이션 거래 서버(200)는 개발자 단말기(100)로부터 전송된 아이디 및 비밀번호가 데이터베이스(250)에 등록되어 있는지를 확인하여 인증 여부를 개발자 단말기(100)에 알린다(S102). 즉, 어플리케이션 거래 서버(200)는 사용자 인증처리에 따른 인증 결과를 개발자 단말기(100)로 전송한다.
상기 인증처리가 완료되면, 개발자 단말기(100)는 개발자에 의해 개발된 어플리케이션(앱)의 등록을 어플리케이션 거래 서버(200)에 요청한다(S103). 이때, 개발자 단말기(100)는 앱의 소스 코드 및 실행파일, 사양서가 포함된 요청 메시지를 전송한다.
어플리케이션 거래 서버(200)는 기설정된 앱 보안 검증 기준으로 등록 요청된 어플리케이션에 대해 보안 검증을 수행한다(S104). 즉, 보안 검증부(220)는 어플리케이션 거래 서비스를 제공하는 제공사들 간에 사전에 합의된 앱 보안 검증 기준에 따라 개발자 단말기(100)로부터 전송된 앱에 대한 보안 검증을 수행한다.
어플리케이션 거래 서버(200)는 어플리케이션의 보안성이 앱 보안 검증 기준을 통과하면 등록 요청된 어플리케이션에 대한 어플리케이션 거래 서버(200)의 전자서명을 생성한다(S106). 어플리케이션 거래 서버(200)의 전자서명 생성부(230)는 앱의 소스 코드를 해쉬연산하여 해쉬값을 생성한 후 어플리케이션 거래 서버(200)의 고유한 전자코드 생성키로 그 생성된 해쉬값을 암호화하여 전자서명을 생성한다. 즉, 전자서명 생성부(230)는 앱의 소스 코드에 대한 전자서명을 수행하는 것이다.
그리고, 어플리케이션 거래 서버(200)는 통신부(210)를 통해 생성된 전자서명을 개발자 단말기(100)로 전송한다(S107).
어플리케이션 거래 서버(200)는 생성된 전자서명을 전송한 후 그 전자서명으로 서명된 어플리케이션을 어플리케이션 거래 서버(200)에서 운영하는 앱스토어에 등록 및 게시한다(S108).
한편, 상기 단계(S105)에서 등록 요청된 앱의 보안 검증이 실패하면 어플리케이션 거래 서버(200)의 제어부(260)는 그 결과를 개발자 단말기(100)로 전송한다(S105-1). 다시 말해서, 어플리케이션 거래 서버(200)는 등록 요청된 앱이 기설정된 앱 보안 검증 기준을 통과하지 못하면 그 사실을 알리는 알림메시지를 개발자 단말기(100)로 피드백한다.
도 4는 본 발명의 다른 실시예에 따른 어플리케이션 배포 방법을 도시한 흐름도이다. 본 실시예는 개발자에 의해 개발된 앱의 보안 검증 후 타 앱스토어에 등록하는 경우를 설명한다.
도 4에 도시된 바와 같이, 개발자 단말기(100)는 앱을 등록할 어플리케이션 거래 서버(200)에 접속하여 사용자 인증 절차를 거친다(S201, S202).
개발자 단말기(100)는 다른 어플리케이션 거래 서버(200)의 보안 검증을 받은 앱의 등록을 어플리케이션 거래 서버(200)에 요청한다(S203). 이때, 개발자 단말기(100)는 등록 요청 메시지를 전송할 때 앱의 소스 코드, 전자서명, 실행파일, 사양서를 함께 전송한다. 어플리케이션 거래 서버(200)는 개발자 단말기(100)로부터 앱 등록 요청을 수신하면 등록 요청한 앱에 전자서명이 있는지를 확인한다.
어플리케이션 거래 서버(200)는 앱에 서명된 전자서명을 검증한다(S204). 다시 말해서, 어플리케이션 거래 서버(200)는 개발자 단말기(100)로부터 등록 요청된 앱에 전자서명이 있으면 전자서명 검증부(240)를 통해 앱에 서명된 전자서명을 검증한다. 이와 같이, 본 발명은 앱에 서명된 전자서명의 검증을 통해 앱의 보안 검증 여부를 확인한다.
어플리케이션 거래 서버(200)는 전자서명 검증이 성공하면 해당 앱을 앱스토어에 등록 및 게시한다(S205, S206).
한편, 전자서명이 검증되지 않으면 어플리케이션 거래 서버(200)는 개발자 단말기(100)로 전자서명 검증 실패를 알리는 검증결과를 피드백한다(S205-1).
100: 개발자 단말기
200: 어플리케이션 거래 서버
210: 통신부
220: 보안 검증부
230: 전자서명 생성부
240: 전자서명 검증부
250: 데이터베이스
260: 제어부
300: 사용자 단말기

Claims (10)

  1. 어플리케이션의 보안 검증을 수행하는 어플리케이션 배포 시스템에 있어서,
    어플리케이션의 등록을 요청하는 개발자 단말기와,
    상기 개발자 단말기의 요청에 따라 상기 어플리케이션을 어플리케이션 스토어에 등록 및 게시하는 어플리케이션 거래 서버를 포함하여 구성되며,
    상기 어플리케이션 거래 서버는 상기 어플리케이션에 전자서명이 없으면 어플리케이션 거래 서비스를 운영하는 업체들 간 사전에 합의된 어플리케이션 보안 검증 기준에 근거하여 상기 어플리케이션에 대한 보안 검증을 수행한 후 상기 어플리케이션에 대한 전자서명을 생성하여 상기 개발자 단말기로 전송하고, 상기 어플리케이션에 전자서명이 존재하면 상기 전자서명의 검증을 통해 어플리케이션의 보안 검증을 수행하며,
    상기 어플리케이션 거래 서버는,
    상기 어플리케이션의 소스코드 및 실행파일에 대한 정적 및 동적 분석을 수행하여 기설정된 어플리케이션 보안 검증 기준의 만족여부를 확인하는 보안 검증부와,
    상기 소스코드를 해쉬연산하여 생성되는 해쉬값을 상기 어플리케이션 거래 서버의 전자서명 생성키로 암호화하여 전자서명으로 생성하는 전자서명 생성부와,
    상기 어플리케이션의 전자서명 검증키로 상기 어플리케이션에 서명된 전자서명을 복호화하고 그 복호화된 값이 상기 어플리케이션의 소스 코드를 해쉬연산한 값과 일치하는지를 확인하는 전자서명 검증부를 포함하는 것을 특징으로 하는 어플리케이션 배포 시스템.
  2. 제1항에 있어서,
    상기 개발자 단말기는,
    어플리케이션 등록 요청 시 상기 어플리케이션의 소스 코드 및 실행파일, 사양서를 전송하는 것을 특징으로 하는 어플리케이션 배포 시스템.
  3. 제2항에 있어서,
    상기 개발자 단말기는,
    어플리케이션 등록 요청 시 상기 어플리케이션의 소스 코드 및 실행파일, 사양서, 전자서명을 전송하는 것을 특징으로 하는 어플리케이션 배포 시스템.
  4. 제1항 또는 제3항에 있어서,
    상기 전자서명은 상기 어플리케이션에 대한 타어플리케이션 거래 서버의 전자서명인 것을 특징으로 하는 어플리케이션 배포 시스템.
  5. 삭제
  6. 삭제
  7. 어플리케이션의 보안 검증을 수행하는 시스템의 어플리케이션 배포 방법에 있어서,
    개발자 단말기가 개발된 어플리케이션의 등록을 어플리케이션 거래 서버에 요청하는 단계와,
    상기 어플리케이션 거래 서버가 어플리케이션 거래 서비스를 운영하는 업체들 간 사전에 합의된 어플리케이션 보안 검증 기준에 근거하여 상기 어플리케이션에 대한 보안 검증을 수행하는 단계와,
    상기 어플리케이션의 보안 검증 후 상기 어플리케이션 거래 서버가 상기 어플리케이션에 대한 전자서명을 생성하는 단계와,
    상기 어플리케이션 거래 서버가 상기 어플리케이션에 대한 전자서명을 상기 개발자 단말기로 전송하는 단계와,
    상기 개발자 단말기가 상기 전자서명으로 서명된 어플리케이션을 타어플리케이션 거래 서버에 등록 요청하는 단계와,
    상기 타어플리케이션 거래 서버가 상기 어플리케이션에 서명된 상기 전자서명을 검증하는 단계와,
    상기 전자서명의 검증이 성공되면 상기 타어플리케이션 거래 서버가 상기 전자서명으로 서명된 상기 어플리케이션을 어플리케이션 스토어에 등록 및 게시하는 단계를 포함하여 이루어지며,
    상기 어플리케이션 거래 서버는,
    상기 어플리케이션의 소스코드 및 실행파일에 대한 정적 및 동적 분석을 수행하여 기설정된 어플리케이션 보안 검증 기준의 만족여부를 확인하는 보안 검증부와,
    상기 소스코드를 해쉬연산하여 생성되는 해쉬값을 상기 어플리케이션 거래 서버의 전자서명 생성키로 암호화하여 전자서명으로 생성하는 전자서명 생성부와,
    상기 어플리케이션의 전자서명 검증키로 상기 어플리케이션에 서명된 전자서명을 복호화하고 그 복호화된 값이 상기 어플리케이션의 소스 코드를 해쉬연산한 값과 일치하는지를 확인하는 전자서명 검증부를 포함하는 것을 특징으로 하는 어플리케이션 배포 방법.
  8. 제7항에 있어서,
    상기 어플리케이션 보안 검증 단계는,
    상기 어플리케이션의 소스 코드 및 실행 파일에 대한 정적 및 동적 분석을 수행하여 상기 기설정된 어플리케이션 보안 검증 기준을 만족하는지를 확인하는 것을 특징으로 하는 어플리케이션 배포 방법.
  9. 제7항에 있어서,
    상기 전자서명 생성 단계는,
    상기 어플리케이션의 소스 코드를 해쉬연산하여 해쉬값을 생성하는 단계와,
    상기 어플리케이션 거래 서버의 전자서명 생성키를 이용하여 상기 해쉬값을 암호화하여 상기 전자서명으로 생성하는 단계를 포함하는 것을 특징으로 하는 어플리케이션 배포 방법.
  10. 제7항에 있어서,
    상기 전자서명 검증 단계는,
    상기 어플리케이션 거래 서버의 전자서명 검증키를 사용하여 상기 전자서명을 복호화하는 단계와,
    상기 전자서명을 복호화한 값이 상기 어플리케이션의 소스코드를 해쉬연산한 값과 동일한지를 확인하는 단계를 포함하는 것을 특징으로 하는 어플리케이션 배포 방법.
KR1020130010953A 2013-01-31 2013-01-31 어플리케이션 배포 시스템 및 방법 KR101523309B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020130010953A KR101523309B1 (ko) 2013-01-31 2013-01-31 어플리케이션 배포 시스템 및 방법
US14/052,173 US20140215220A1 (en) 2013-01-31 2013-10-11 Application distribution system and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130010953A KR101523309B1 (ko) 2013-01-31 2013-01-31 어플리케이션 배포 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20140098912A KR20140098912A (ko) 2014-08-11
KR101523309B1 true KR101523309B1 (ko) 2015-06-02

Family

ID=51224365

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130010953A KR101523309B1 (ko) 2013-01-31 2013-01-31 어플리케이션 배포 시스템 및 방법

Country Status (2)

Country Link
US (1) US20140215220A1 (ko)
KR (1) KR101523309B1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105162842A (zh) * 2015-08-04 2015-12-16 北京金山安全软件有限公司 一种应用墙中应用的显示方法及装置
JP6531564B2 (ja) * 2015-08-26 2019-06-19 富士ゼロックス株式会社 情報処理システム
US11068580B2 (en) * 2015-09-07 2021-07-20 Karamba Security Ltd. Context-based secure controller operation and malware prevention
CN107679394A (zh) * 2017-06-25 2018-02-09 平安科技(深圳)有限公司 应用登录控制方法、服务终端及计算机可读存储介质
CN108460273B (zh) * 2017-12-27 2022-10-14 ***股份有限公司 一种终端的应用管理方法、应用服务器及终端
KR102435917B1 (ko) * 2019-03-06 2022-08-24 주식회사 클루 전산응용해석 지식 거래 시스템의 제어 장치, 제어 방법 및 이를 기록한 기록매체
KR102367756B1 (ko) * 2020-04-08 2022-02-28 소프트캠프 주식회사 폐쇄형 내부망으로의 입력 소프트웨어 보안시스템과 보안방법
CN115186286B (zh) * 2022-09-09 2022-11-18 北京数牍科技有限公司 模型处理方法、装置、设备、可读存储介质及程序产品

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110066274A (ko) * 2009-12-11 2011-06-17 에스케이 텔레콤주식회사 오픈 마켓 플레이스 시스템, 서버 및 이를 이용한 애플리케이션 제공 방법
KR20120004536A (ko) * 2009-04-27 2012-01-12 퀄컴 인코포레이티드 코드 및 데이터 서명을 개선하기 위한 방법 및 장치

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NO321850B1 (no) * 2004-06-25 2006-07-10 Buypass As Fremgangsmate for a generere og verifisere en elektronisk signatur
US20090210702A1 (en) * 2008-01-29 2009-08-20 Palm, Inc. Secure application signing
US8296568B2 (en) * 2009-10-27 2012-10-23 Google Inc. Systems and methods for authenticating an electronic transaction
US8504480B2 (en) * 2011-02-03 2013-08-06 Ricoh Co., Ltd Creation of signatures for authenticating applications
US8631239B2 (en) * 2012-01-12 2014-01-14 Facebook, Inc. Multiple system images for over-the-air updates
WO2014106148A1 (en) * 2012-12-31 2014-07-03 Safelylocked, Llc Techniques for validating data exchange

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120004536A (ko) * 2009-04-27 2012-01-12 퀄컴 인코포레이티드 코드 및 데이터 서명을 개선하기 위한 방법 및 장치
KR20110066274A (ko) * 2009-12-11 2011-06-17 에스케이 텔레콤주식회사 오픈 마켓 플레이스 시스템, 서버 및 이를 이용한 애플리케이션 제공 방법

Also Published As

Publication number Publication date
KR20140098912A (ko) 2014-08-11
US20140215220A1 (en) 2014-07-31

Similar Documents

Publication Publication Date Title
KR101523309B1 (ko) 어플리케이션 배포 시스템 및 방법
KR101883156B1 (ko) 인증 시스템 및 방법과 이를 수행하기 위한 사용자 단말, 인증 서버 및 서비스 서버
KR101740256B1 (ko) 모바일 앱 무결성 보증 장치 및 방법
US20140259004A1 (en) System for trusted application deployment
KR101210260B1 (ko) 통합센터를 이용한 유심칩기반 모바일 오티피 인증장치 및 인증방법
US11057219B2 (en) Timestamped license data structure
JP2007072608A (ja) 機器情報送信プログラム、サービス制御プログラム、機器情報送信装置、サービス制御装置および機器情報送信方法
JP2014072749A (ja) 鍵付け替え管理装置および鍵付け替え管理方法
US20140259003A1 (en) Method for trusted application deployment
CN109617694B (zh) 一种应用程序发布方法和装置
CN105191293A (zh) 广告下载验证
KR20130101964A (ko) 플랫폼 컴포넌트들의 보안 업그레이드 또는 다운그레이드를 위한 방법 및 시스템
CN109818965B (zh) 个人身份验证装置及方法
CN110324343B (zh) 一种资讯监播方法、装置、电子设备及存储介质
KR101355077B1 (ko) 디지털 컨텐츠의 원본 생성 및 확인 시스템과 그 방법
JP5278495B2 (ja) 機器情報送信方法、機器情報送信装置、機器情報送信プログラム
US11244031B2 (en) License data structure including license aggregation
US11409847B2 (en) Source-based authentication for a license of a license data structure
US20130254127A1 (en) Authentication method and authentication system of electronic product
KR102209531B1 (ko) 클라우드 환경에서 인증서 및 개인키의 저장 방법 및 그 인증서 및 개인키를 다운로드 하는 방법
US20180260541A1 (en) License data structure including location-based application features
US20170373842A1 (en) System and Method for Authenticating Public Artworks and Providing Associated Information
JP6913237B2 (ja) カード発給及び決済システム並びに方法
CN112333134A (zh) 密码安全的动态第三方资源
KR101808315B1 (ko) 모바일 장치 및 사용자 단말기 사이의 인증서 로밍 방법 및 시스템

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: 20180509

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190502

Year of fee payment: 5