KR100573740B1 - 디알엠 기법을 적용한 소프트웨어 불법복제 및 불법사용방지방법 및 시스템 - Google Patents

디알엠 기법을 적용한 소프트웨어 불법복제 및 불법사용방지방법 및 시스템 Download PDF

Info

Publication number
KR100573740B1
KR100573740B1 KR1020030041371A KR20030041371A KR100573740B1 KR 100573740 B1 KR100573740 B1 KR 100573740B1 KR 1020030041371 A KR1020030041371 A KR 1020030041371A KR 20030041371 A KR20030041371 A KR 20030041371A KR 100573740 B1 KR100573740 B1 KR 100573740B1
Authority
KR
South Korea
Prior art keywords
installation
software
program
original
encrypted
Prior art date
Application number
KR1020030041371A
Other languages
English (en)
Other versions
KR20050000824A (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 KR1020030041371A priority Critical patent/KR100573740B1/ko
Publication of KR20050000824A publication Critical patent/KR20050000824A/ko
Application granted granted Critical
Publication of KR100573740B1 publication Critical patent/KR100573740B1/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/105Arrangements for software license management or administration, e.g. for managing licenses at corporate level
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • 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/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution
    • H04L2209/603Digital right managament [DRM]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Technology Law (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 디알엠 기법을 적용한 소프트웨어 불법복제 및 불법사용 방지방법 및 시스템에 관한 것이다. 본 발명의 각각 적어도 중앙처리장치와, 저장수단과, 통신수단과, 오퍼레이팅 시스템을 포함하여 구성되는 매니저 시스템과 클라이언트 시스템 및 DRM 서버 시스템으로 이루어져서 인터넷 등의 네트워크를 통하여 연결되는 불법복제 소프트웨어 패키지의 설치 및 실행 방지 시스템은, 상기 매니저 시스템은 적어도 원본 소프트웨어 패키지를 입력하는 입력수단과, 이 원본 소프트웨어 패키지가 인스톨버전인 경우에는 암호화가 필요한 원본 파일을 얻기 위하여 임시로 이를 설치하는 설치수단과, 상기 DRM 서버 시스템에 암호화키를 요청하여 이를 받는 통신수단과, 이 암호화키를 이용하여 상기 소프트웨어 패키지의 전부 또는 일부를 암호화하여 암호화된 주 실행파일 및 어플리케이션 브리지를 생성하고 인스톨 브리지를 포함하는 새로운 설치프로그램을 생성하는 암호화수단을 포함하여 구성되고; 상기 클라이언트 시스템은 컴퓨터, 휴대폰 등의 단말기로서, 적어도 상기 매니저 시스템에서 생성된 새로운 설치프로그램을 실행할 때 작동하는 인스톨 브리지(install bridge)와, 새로운 설치 프로그램으로부터 설치된 암호화된 주 실행파일을 실행시키기 위하여 작동하는 어플리케이션 브리지(application bridge)를 포함하여 구성되며, 특히, 상기 인스톨 브리지는 암호화된 파일을 읽을 때 휘발성 저장장치 내에서 복호화하는 디바이스 드라이버와, DRM 서버 시스템에 복호화키를 요청하여 이를 받는 인증과정을 수행한 후 디바이스 드라이버를 통해 복호화된 설치 프로그램을 읽어 실행시키므로써 새로운 주 실행파일 역할을 하는 어플리케이션 브리지 및 암호화된 원래의 주 실행파일을 설치하는 응용 프로그램으로 구성되고, 상기 어플리케이션 브리지는 암호화된 원본 주 실행 파일을 읽을 때 휘발성 저장장치 내에서 복호화하는 디바이스 드라이버와, DRM 서버 시스템에 복호화키를 요청하여 이를 받는 인증과정을 수행한 후 디바이스 드라이버를 통해 복호화된 주 실행 프로그램을 구동하는 응용 프로그램으로 구성되며; 상기 DRM 서버 시스템은 적어도 매니저 시스템의 요청에 의하여 암호화키를 전송하는 매니저 서버와, 클라이언트 시스템의 요청에 의하여 복호화키를 전송하는 라이센스 서버를 포함하여 구성됨을 특징으로 한다.
소프트웨어, 불법복제, 불법사용, 인스톨 브리지, 어플리케이션 브리지

Description

디알엠 기법을 적용한 소프트웨어 불법복제 및 불법사용 방지방법 및 시스템{THE DRM METHOD AND SYSTEM FOR THE PROTECTION OF SOFTWARE DISTRIBUTION AGAINST ILLEGAL COPY AND ILLEGAL USE}
도 1은 본 발명에 따른 디알엠 기법을 적용한 소프트웨어 불법복제 및 불법사용 방지 시스템의 일실시예 구성도,
도 2는 본 발명에 따라 exe이외에 타 파일이 있는 경우 인스톨 버전의 패키지 파일 구성을 설명하기 위한 일예,
도 3은 본 발명에 따라 exe이외에 타 파일이 없는 경우 인스톨 버전의 패키지 파일 구성을 설명하기 위한 일예,
도 4는 본 발명에 따른 논인스톨 버전의 패키지 파일 구성을 설명하기 위한 일예,
도 5는 본 발명에 따른 디알엠 기법을 적용한 소프트웨어 불법복제 및 불법사용 방지 방법의 패키징 과정을 설명하기 위한 일실시예 흐름도,
도 6은 본 발명에 따른 디알엠 기법을 적용한 소프트웨어 불법복제 및 불법사용 방지 방법의 설치과정을 설명하기 위한 일실시예 흐름도,
도 7은 본 발명에 따른 디알엠 기법을 적용한 소프트웨어 불법복제 및 불법 사용 방지 방법의 실행과정을 설명하기 위한 일실시예 흐름도.
본 발명은 디알엠(Digital Rights Management; 이하 "DRM"이라 함) 기법을 적용한 소프트웨어 불법복제 및 불법사용 방지방법 및 시스템에 관한 것으로서, 보다 상세히는 오퍼레이팅 시스템, 시스템 프로그램, 어플리케이션 프로그램을 불문하고, 개인용 컴퓨터, PDA, 휴대폰 등의 개념을 포괄하는 단말기에 필요한 소프트웨어를 배포하는 유통업자가 소프트웨어 제작자로부터 받은 소프트웨어 패키지를 가공하여 불법설치 및 불법실행을 방지할 수 있는 방법 및 이에 필요한 시스템에 관한 것이다.
일반적으로 소프트웨어란 하드웨어에 특정 기능을 부여하는 무형의 프로그램을 말한다. 특히 근래에는 이러한 소프트웨어가 적용되는 하드웨어로서 단순히 개인용 컴퓨터만이 존재하는 것이 아니라, 노트북, PDA, 휴대폰, 네비게이션 시스템 등의 다종다양한 하드웨어가 존재하고 있다. 이들이 특히 네트워크에 접속될 경우에는 이를 단말기라고 부르게 되는데, 이하에서는 상기와 같이 네트워크에 접속될 수 있는 기능을 가지며, 소프트웨어에 의하여 특정 기능이 부여되는 하드웨어를 모두 "단말기"라고 총칭하기로 한다.
한편, 소프트웨어 패키지라 함은 특정 기능을 가지는 소프트웨어와 그 작동 에 필요한 각종 시스템파일, 데이터파일 등의 집합을 말하며, 특히 하나의 단위가 되어 판매 및 유통되는 것을 말한다. 이러한 소프트웨어 패키지의 범주에는 어플리케이션 소프트웨어 뿐만 아니라 시스템 소프트웨어, 오퍼레이팅 시스템 등도 포함될 수 있다.
이러한 소프트웨어 패키지를 단말기에서 기능을 구현하기 위해서는 보통은 그 단말기의 사용자인 수요자가 그 소프트웨어 패키지를 단말기에 설치한 후에, 그 소프트웨어 패키지를 실행시켜야 한다.
여기서, 소프트웨어 패키지가 단말기에 설치되는 경우에 대하여 좀 더 경우를 나누어 보면, 그 소프트웨어 패키지가 간단한 경우에는 단 하나의 실행파일로 구성되어 있는 경우도 있지만, 복잡한 경우에는 하나 또는 여러 개의 실행파일과, 이에 부속되는 시스템파일, 데이터파일 등으로 함께 구성된 경우도 있다. 또한, 이보다 더 복잡한 설정 내역을 가지고 있어서 수요자에게 그 설치를 마음대로 일임할 경우에 실행시 오작동의 우려가 있을 정도의 소프트웨어 패키지에 있어서는, 그 소프트웨어 패키지에 설치(install 또는 setup) 파일 또는 기능이 미리 마련되어 있는 경우도 있다. 즉, 소프트웨어 패키지는 인스톨버전(install version)과 논인스톨버전(non install version)으로 나눌 수 있다.
여기서, 인스톨버전이라 함은 인스톨 과정(예컨대 setup.exe 실행)을 통하여 프로그램을 실행할 수 있는 실행파일(예컨대 XXX.exe)을 설치하면서 환경설정을 하고, 차후에는 이 실행파일만 실행하면 되도록 구성되어 있는 것이다. 이 인스톨 프로그램은 폴더 형태로 존재하기도 하고, 인스톨에 관련된 모든 파일이 하나의 실행 파일로 묶여서 존재하기도 한다.
이에 반하여, 논인스톨버전이라 함은 인스톨 과정 없이 단순히 실행파일을 실행시킴으로써 프로그램을 실행(XXX.exe)할 수 있는 것이다. 이 논인스톨버전은 다시 하나의 실행 파일 형태로 존재할 수도 있고, 실행에 관련된 여러 파일이 폴더 형태로 존재할 수도 있다.
그런데, 이러한 소프트웨어 패키지는 결국 하나 이상의 파일(file)로 구성되어 있고, 이 파일들은 복사가 가능하며, 그 특성상 이렇게 복사를 하여도 원본과 복사본은 완전히 동일한 기능을 가지게 되는 것이 특징이다. 이러한 특징은 소프트웨어의 장점이자 약점이 될 수 있다. 특히 소프트웨어 패키지 제작자나 유통업자의 입장에서는 막대한 노력과 시간, 비용을 들여서 개발, 판매하는 상품이 무단으로 복제됨으로써 엄청난 손실을 입고 있는 것이 현실이다.
이렇게 아무런 방지책을 부여하지 않은 상태에서는 불법복제 및 불법사용을 막을 수가 없기 때문에, 결국 소프트웨어 패키지를 유통시킬 수가 없게 되며, 이로 인하여 이들 소프트웨어가 필요한 산업분야의 발전을 저해하게 된다. 따라서 소프트웨어 패키지의 성공적인 유통과 산업발전을 위해서는 불법적인 복제, 설치 및 사용을 방지할 수 있는 기술이 필요 불가결하게 되었다.
종래에 이렇게 소프트웨어 패키지의 불법 복제, 설치 및 사용을 방지하기 위한 기술로서 대표적인 것은 마그네틱 테이프, 플로피디스크 또는 CD, OD, LD, MD, DVD 등의 소프트웨어 저장매체에 대하여 적용하는 기술이 있다. 소프트웨어 패키지는 디지털로 표현된 것이므로, 이를 저장할 수 있는 매체는 결국 용량이나 방식의 차이를 떠나서 모두 동일한 것으로 볼 수 있으므로, 이하에서는 이들을 모두 '저장매체'라고 표현하기로 한다.
종래에 저장매체의 복제 및 실행 방지하는 기술(protection)로서는 일명 락(Lock) 기술, 즉 가드 모듈(Guard Module)을 저장매체에 적용하는 것과, 시리얼넘버(또는 인증키, 액티베이션 키)를 이용하는 것이 대표적이다.
상기 락 기술은 저장매체 자체에 논리적 또는 물리적 결함을 일부러 만들어놓고, 복제, 설치 또는 실행 과정에서 이 결함부위를 탐색하여 정본 저장매체인지 여부를 확인하도록 하는 것을 말하고, 상기 시리얼넘버를 이용하는 기술은 설치시에 정본 저장매체와 함께 제공된 특정기호의 조합을 입력하도록 함으로써 정당한 사용자인지 여부를 확인하는 것을 말한다.
그런데, 최근에는 상기 저장매체에 대하여 락을 위하여 고의로 만들어 놓은 결함부위까지 그대로 똑같이 복제하는 기술이 개발되어 유포된 상태이고, 시리얼넘버는 원래부터 쉽게 타인에게 알려지기 쉬운 속성을 가지는 것이라는 약점이 있어서, 락과 시리얼넘버에 의한 복제, 설치 및 실행방지 기술은 그 의미를 이미 잃었다고 하여도 결코 과언이 아니라고 하겠다.
한편, 상기 종래기술에 의하여 저장매체를 유통시키는 경우를 생각해 보면, 유통업자의 입장에서는 무형인 소프트웨어 패키지를 유형의 저장매체에 저장한 채로 소프트웨어 패키지의 제작자가 처리한 락 또는 시리얼넘버를 유지시킨 채로 배포 또는 유통시켜야 한다. 이는 유통업자에게는 막대한 제약사항이 된다는 단점을 가지고 있다.
즉, 반드시 소프트웨어 패키지 정본 저장매체가 필요하다. 따라서 반드시 현재의 재고가 떨어지거나 하여 추가주문을 하게 되면 물리적인 배송시간 걸리게 되는 것은 물론이고, 그 배송 비용, 배송 사고 등 일반적인 우편 소포에서 상정할 수 있는 다양한 문제점이 발생하게 된다.
게다가, 만일 그 유통업자가 여러 소프트웨어 패키지 제작자를 거래선으로 하고 있는 경우에도 제약사항이 존재한다. 즉, 일반적으로 각 소프트웨어 패키지 제작자들마다, 또한 상품마다 락 방식과 시리얼넘버 부여 양식 등이 모두 다르기 때문에 통일적인 관리가 불가능하다. 이는 곧 하나 하나의 소프트웨어 패키지 제작자마다, 또한 그들의 상품 하나하나 마다에 대하여 개별적인 관리를 해야 한다는 어려움을 발생시킨다.
뿐만 아니라 일반적으로 기술의 발전에 따라 저장매체는 부피나 무게에 대비하여 그 저장용량이 급격히 증가하고 있는 추세이기는 하지만, 역시 유형의 크기를 가지는 것이 사실이기 때문에, 이것을 하나하나 놓고 보면 그 크기가 작을 수 있지만, 이들을 모아 놓으면 창고나 진열대가 필요하게 된다는 문제점도 있다. 즉, 유형의 저장매체의 유통과 판매를 위한 점포나 창고, 진열대 등의 유형적·물리적인 공간도 필요하게 되고, 이를 위한 비용의 지출도 고려해야 한다. 특히, 라이프사이클이 극히 짧은 소프트웨어 패키지의 특성상 만일 재고가 생기게 되는 경우에는 이에 대한 처분의 문제도 매우 심각한 상황에 처하게 된다.
한편, 이와는 별개의 관점에서 보면, 저장매체에는 소프트웨어 패키지 제작자가 미리 만들어 놓은 락이나 시리얼넘버가 부여되어 있는데, 이에 의한 보호는 거의 효과가 없어서, 불법 복제, 설치 및 실행을 막을 수 없다. 따라서, 소프트웨어 패키지 상품의 매출은 항상 초기 매출 이후에 급감하는 경향이 있다.
그런데, 이러한 불법행위로 인한 손해는 항상 소프트웨어 패키지 제작자보다는 유통업자가 직접적으로 입게 된다는 점에 주목할 필요가 있다. 즉 소프트웨어 패키지 제작자는 일단 유통업자들이 상품을 구매해 주므로, 일단 판매된 상품에 대해서는 손해를 보지 않지만, 유통업자들은 이를 수요자에게 판매해야 하는데, 불법행위로 인하여 판매를 할 수 없게 되면, 결국 상품의 구매비용을 건지지 못하는 경우가 많이 발생하게 된다는 것이다.
이러한 손해는 근본적으로 소프트웨어 제작자가 제공하는 종래의 복제, 설치, 실행방지 기술이 불완전하기 때문에 발생하는 것이다. 따라서, 유통업자들 자신이 소프트웨어 패키지 제작자들과 독립적으로 직접 복제, 설치 및 실행을 방지하는 기능을 부여할 수 있는 통일된 인증 툴의 출현이 기대되는 상황까지 이르게 되었다.
게다가, 소프트웨어 패키지 제작자의 입장에서도 저장매체에 의한 판매의 경우에 정본 저장매체의 제작과 관리에 막대한 비용이 소모되고, 유통업자에게 판매된 양과 재고량 및 유실물 등을 모두 통합 관리하기가 복잡하여, 실제 엔드유저에 대한 판매량을 제대로 파악할 수 없어서 상품의 인기나 선호도를 예측할 수 없어서 다음 상품의 준비에 대비할 수 없다는 단점이 있었다.
한편, 저장매체를 직접 유통시키는 경우의 이러한 여러가지 단점과 신속성을 보완하려는 소망으로 인하여 전자 소프트웨어 배포(Electronic Software Delivery; 이하 "ESD"라 함)라는 유통 형태가 출현하게 되었다. 상기 ESD는 유통업자가 인터넷 등의 배포망을 이용하여 유형의 저장매체 그 자체가 아닌 무형의 파일 형태의 소프트웨어를 유통시키는 형태를 총칭하는 것이다.
그런데, 상기 ESD는 소프트웨어 패키지의 불법 복제 및 사용을 방지하기 위한 기술은 아니고, 단지 유통의 형태에 지나지 않는 것이다. 즉, 유통시에 저장매체를 그대로 유통시키는 현물 유통이 아니라, 그 저장매체에 포함되어 있는 알맹이, 즉 소프트웨어 패키지의 디지털 부분만을 별도로 파일 형태로 추출하여 이것만을 전자적으로 유통시키는 것에 지나지 않는다. 따라서, 소프트웨어 패키지의 불법 복제, 설치 및 사용을 방지한다는 측면에서 볼 때는 아무런 대책도 되지 못함은 당연하며, 따라서 이 분야에 있어서의 소프트웨어 저작권의 보호는 극히 취약한 상태에 있는 것이다.
다만, 일부 유통업자의 경우에는 소프트웨어 패키지 제작자의 도움을 받아서 이러한 전자적 유통의 대상이 되는 파일들에 대하여 암호를 걸어 두고, 후일 그 소프트웨어 패키지의 판매 후에 그 암호를 이메일로 전송하여 준다거나 하는 방법을 적용하고 있는 경우가 있다. 그러나, 이 경우에도 그 암호는 그 수요자의 개인적인 양심에 따라서는 타인에게 쉽게 알려질 수 있는 것이고, 이메일 서버의 해킹 등에 의하여 그 암호는 노출되어 버릴 우려가 상존한다는 문제점이 있었다. 뿐만 아니라, 상기 암호 등은 소프트웨어 패키지 제작자가 부여하는 것이어서, 유통업자가 자신이 유통시키는 소프트웨어 패키지 상품들에 대하여 체계적으로 불법 복제, 설치 및 사용을 방지할 수 있도록 가공을 할 수 있는 것이 아니라는 문제점이 있었 다.
게다가, 소프트웨어 패키지에 상기와 같은 종래의 기술에 의한 유통용 가공이 이루어진 채 유형적 저장매체로 또는 전자적 ESD로 유통되는 어떠한 경우라 하더라도, 불법 복제, 설치 및 사용 방지기능까지를 모두 가지는 배포판의 제작은 불가능하다. 즉, 락을 걸거나 시리얼넘버 또는 암호를 부여하는 방식에 의하면 결국 어느 경우에도 원본과 동일한 상태의 복제는 할 수 있다. 이러한 복제는 원본과 동일하게 이루어지므로 시리얼넘버 또는 암호가 있어야 설치가 되는 것이다.
그런데, 상기 시리얼넘버나 암호가 어떠한 경로를 통하여 유출된 경우에는 불법복제자의 단말기 시스템에 설치가 가능함은 물론이다. 그리고 그 이후에는 상기 원본 또는 그 원본과 동일한 복사본이 없다 하더라도 불법설치된 파일들의 집합에 의하여 실행가능한 복제가 이루어질 수도 있고, 불법설치된 소프트웨어 패키지는 원본과 동일한 기능을 가지면서 실행될 수도 있다. 따라서 상기 종래의 방법들은 어느 것도 불법적인 복제, 설치 및 실행을 완벽하게 방지할 수 없는 것이라는 문제점이 있다.
따라서, 복제 및 설치의 방지 뿐만 아니라 실행의 방지 기능까지도 가지는 기술의 출현이 요망되고 있었으나, 아직까지 이러한 기능을 가지는 기술은 개발되지 못한 상태에 있는 것이다.
본 발명은 상기와 같은 문제점들을 감안하여 안출된 것으로서, 온라인 인증 과정을 이용하여 불법복제 소프트웨어에 대해서는 설치(install)과정 뿐만 아니라 실행(execution)과정까지 무력화시킬 수 있는 기능을 가지는 배포판 소프트웨어 패키지를 제작하기 위한 방법과, 이 방법이 적용되는 시스템을 제공하고자 하는 것이다.
상기의 기술적 과제를 달성하기 위하여, 본발명은, 각각 적어도 중앙처리장치와 저장수단과 통신수단과 오퍼레이팅 시스템을 포함하여 구성되는 클라이언트 시스템과, DRM 서버 시스템으로 이루어져서, 인터넷 등의 네트워크를 통하여 연결되는 소프트웨어 불법복제 및 불법사용 방지 시스템에 있어서, 적어도, 소프트웨어의 주 실행 프로그램 대신에, 이에 DRM이 적용됨으로써 암호화된 채 상기 클라이언트 시스템에 저장되어 있는, 실행 프로그램에 대한 불법복제 및 불법사용 방지 수단인 어플리케이션 브리지 (application bridge) 프로그램을 포함하여 구성되며, 상기 어플리케이션 브리지 프로그램이 실행되면, 메인메모리에 로드된 후, 상기 DRM 서버 시스템으로부터의 인증을 통하여 라이센스를 획득하여, 상기 암호화된 주 실행 프로그램을 자동으로 복호화하며, 이 원래의 주 실행 프로그램을 메인메모리에 로드시켜서 실행 가능하게 하는, 것을 특징으로 하는 소프트웨어 불법복제 및 불법사용 방지 시스템을 제공한다.
또한, 각각 적어도 중앙처리장치와 저장수단과 통신수단과 오퍼레이팅 시스템을 포함하여 구성되는 클라이언트 시스템과, DRM 서버 시스템으로 이루어져서, 인터넷 등의 네트워크를 통하여 연결되는 소프트웨어 불법복제 및 불법사용 방지 시스템에 있어서, 적어도, 청구항 1에 기재된 상기 어플리케이션 브리지 프로그램과, 상기 클라이언트 시스템에 저장되어 있으며, 상기 어플리케이션 브리지의 주 실행 프로그램이 포함되는 원본 소프트웨어 설치 패키지에 대하여 DRM이 적용됨으로써 암호화된 설치 패키지 전체를 포함하여 이루어지고, 실제 상기 암호화된 설치 패키지의 설치 작업 실행 시점에 구동되어, 상기 DRM 서버 시스템으로부터의 인증을 통하여 라이센스를 획득하여, 상기 암호화된 설치 패키지를 자동으로 복호화하여, 원래의 소프트웨어의 설치 작업이 진행되도록 한 후, 상기 원본의 주 실행 프로그램 파일을 상기 어플리케이션 브리지로 대체하는, 설치 프로그램에 대한 불법복제 및 불법사용 방지 수단인 인스톨 브리지 (install bridge) 프로그램을 포함하여 구성되는 것을 특징으로 하는 소프트웨어 불법복제 및 불법사용 방지 시스템을 제고한다.
이 경우, 중앙처리장치와 저장수단과 통신수단과 오퍼레이팅 시스템을 포함하여 구성되는 매니저 시스템이 더욱 구비되고, 상기 매니저 시스템은 상기 DRM 서버 시스템으로부터 암호화키 및 Key ID를 제공받아, 주 실행 프로그램 파일과 원본 소프트웨어 설치 패키지를 암호화하고, 적어도 어플리케이션 브리지와 인스톨 브리지 프로그램 중의 어느 하나를 생성하는 것을 특징으로 하는 소프트웨어 불법복제 및 불법사용 방지 시스템을 제공할 수 있다.
또한, 각각 적어도 중앙처리장치와 저장수단과 통신수단과 오퍼레이팅 시스템을 포함하여 구성되는 클라이언트 시스템과, DRM 서버 시스템으로 이루어져서, 인터넷 등의 네트워크를 통하여 연결되는 하드웨어 시스템을 이용하여, 소프트웨어 불법복제 및 불법사용을 방지하는 방법에 있어서, 적어도, (1) 소프트웨어의 주 실행 프로그램 대신에, 이에 DRM이 적용됨으로써 암호화된 채 상기 클라이언트 시스템에 저장되어 있는, 실행 프로그램에 대한 불법복제 및 불법사용 방지 수단인 어플리케이션 브리지 (application bridge) 프로그램을 구비하는 단계와, (2) 상기 어플리케이션 브리지 프로그램이 실행되면, 메인메모리에 로드된 후, 상기 DRM 서버 시스템으로부터의 인증을 통하여 라이센스를 획득하는 단계와, (3) 상기 암호화된 주 실행 프로그램을 자동으로 복호화하는 단계와, (4) 이 원래의 주 실행 프로그램을 메인메모리에 로드시켜서 실행 가능하게 하는 단계,로 구성되는 것을 특징으로 하는 소프트웨어 불법복제 및 불법사용 방지 방법을 제공한다.
또한, 각각 적어도 중앙처리장치와 저장수단과 통신수단과 오퍼레이팅 시스템을 포함하여 구성되는 클라이언트 시스템과, DRM 서버 시스템으로 이루어져서, 인터넷 등의 네트워크를 통하여 연결되는 하드웨어 시스템을 이용하여, 소프트웨어 불법복제 및 불법사용을 방지하는 방법에 있어서, (1) 상기 청구항 14에 기재된 단계들로 이루어지는 처리수단을 구비하는 단계와, (2) 처리대상으로서 상기 클라이언트 시스템에 저장되어 있으며, 상기 어플리케이션 브리지의 주 실행 프로그램이 포함되는 원본 소프트웨어 설치 패키지에 대하여 DRM이 적용됨으로써 암호화된 설치 패키지 전체를 구비하고, 실제 상기 암호화된 설치 패키지의 설치 작업 실행 시점에 자동으로 구동되는 단계와, (3) 상기 DRM 서버 시스템으로부터의 인증을 통하여 라이센스를 획득하는 단계와, (4) 상기 암호화된 설치 패키지를 자동으로 복호화하는 단계와, (5) 상기 복호화된 원래의 소프트웨어의 설치 작업이 진행되도록 하는 단계와, (6) 상기 원본의 주 실행 프로그램 파일을 상기 어플리케이션 브리지로 대체하는 단계, 로 구성되는 것을 특징으로 하는 소프트웨어 불법복제 및 불법사용 방지 방법을 제공한다.
또한, 중앙처리장치와 저장수단과 통신수단과 오퍼레이팅 시스템을 포함하여 구성되는 매니저 시스템이 더욱 구비되고, 상기 매니저 시스템에 의하여, (1) 상기 DRM 서버 시스템으로부터 암호화키 및 Key ID를 제공받는 단계와, (2) 주 실행 프로그램 파일과 원본 소프트웨어 설치 패키지를 암호화하는 단계와, (3) 적어도 어플리케이션 브리지와 인스톨 브리지 프로그램 중의 어느 하나를 생성하는 단계를 수행하도록 구성되는 것을 특징으로 하는 소프트웨어 불법복제 및 불법사용 방지 방법을 제공한다.
또한, 이들의 방법이 기록된 기록매체를 제공한다.
<실시예>
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
이하, 본 발명의 구성에 대하여 보다 상세히 설명한다.
일반적으로, 소프트웨어 패키지에 의하여 구동되는 디지털 컨텐츠는 종래로부터 서적, 영화 등의 아날로그 저작물과는 그 특성이 매우 달라서 이들을 일별하여 디지털 저작물이라고 부르고 있다. 그리고, 이들의 특성을 감안한 특별한 방식의 보호를 위하여 최근에 DRM(Digital Rights Management)이라 불리우는 기법이 본 발명의 출원인 등에 의하여 개발되어 왔다. 이러한 DRM 기법 중의 일부는 다운로드와 실행시 또는 스트리밍시에 그 디지털 컨텐츠에 미리 부가되어 있는 특수정보를 이용하여 서버와 접속하여 인증절차를 거치도록 함으로써, 컨텐츠 내용 전부 또는 일부를 실시간으로 플레이시킬지 여부를 결정하는 기술이다.
그런데, 상기 기존의 DRM 기법은 소프트웨어 패키지나 실행파일에 적용되는 것이 아니다. DRM 기법의 적용대상은 소프트웨어 패키지나 실행파일의 대상이 되는 컨텐츠이다. 즉 기존의 DRM 기법은 본 발명의 대상이 되는 소프트웨어 패키지와는 전혀 상관이 없는 방법이다. 따라서 당연히 종래에는 실행파일을 포함하는 소프트웨어 패키지에 대하여 DRM 기법이 적용된 선례는 없는 것이며, 그 중에서도 특히 불법복제된 소프트웨어 패키지를 설치할 때 또는 실행할 때의 무력화 방법에 대하여 DRM 분야에서 언급되거나 제안된 예는 전혀 찾을 수 없다.
더구나, 단순한 데이터의 집합에 지나지 않으며, 수동적, 정적인 특성을 가지는 디지털 컨텐츠에 DRM 기법을 적용하는 경우와 비교하여, 만일 폴더 구조를 가지며, 능동적, 동적인 특성을 가지는 소프트웨어 패키지에 대하여 DRM 기법을 적용하여 불법 설치 및 실행방지 기능을 가지는 배포판을 만드는 경우를 상정한다면, 그 적용의 대상과 성격이 현저히 다를 뿐만 아니라, 부수되는 시스템파일, 데이터파일 등과의 관계, 인스톨 스타일의 다양성, 패키지 파일의 구성 등이 너무나도 다르다는 점을 쉽게 알 수 있다. 따라서, 비교도 할 수 없을 정도로 매우 복잡한 문제가 야기된다는 점을 알 수 있는데, 이로 인하여 종래에는 이렇게 DRM 기법을 불법복제 소프트웨어의 설치 및 실행방지 기능을 가지는 배포판 소프트웨어 패키지에 적용하는 방법에 대하여 알려진 바가 전혀 없다.
그러나, 상기 DRM 기법은 본 발명의 발명자 등이 오랜 기간 연구하여 온 결과 매우 체계적이고 강력한 인증수단으로 인정할 수 있다는 점을 알게 되었으며, 이를 불법복제가 만연한 소프트웨어 패키지 부문에 적용할 경우에 엄청난 효과를 거둘 수 있다는 점을 발견하였다.
먼저, 본 발명의 방법이 적용되는 시스템에 대하여 설명하기로 한다.
본 발명의 불법복제 소프트웨어 패키지의 설치 및 실행 방지 시스템은 인터넷 등의 네트워크를 통하여 연결되어 구동되는 것을 특징으로 한다. 특히 매니저 시스템과 클라이언트 시스템 및 DRM 서버 시스템의 3자로 이루어져 있는데, 이들은 각각 적어도 중앙처리장치와, 저장수단과, 통신수단과, 오퍼레이팅 시스템을 포함하여 구성되어 있다. 기타 입력수단과 출력수단, 전원 등 필수적인 구성요소들은 일반적인 컴퓨터 시스템 또는 PDA, 휴대폰 등의 지능형 단말기 등에 준하여 구성되는 것으로 가정하여, 상세한 설명은 생략하기로 한다.
상기 매니저 시스템은 적어도 입력수단, 설치수단, 통신수단 및 암호화수단을 포함하여 구성되어 있다.
상기 입력수단은 매니저 시스템에 원본 소프트웨어 패키지를 입력하는 수단으로서, 예컨대 CD롬 형태로 유통되는 소프트웨어 패키지의 경우에는 이를 매니저 시스템에 받아들일 수 있는 CD롬 드라이브가 될 것이고, 온라인으로 유통되는 소프트웨어 패키지의 경우에는 통신포트가 될 수도 있다. 이들 입력수단을 통하여 입력된 데이터는 메모리에 읽어들일 수 있는 형태가 되어야 한다.
그리고, 상기 설치수단은 이 원본 소프트웨어 패키지가 인스톨버전인 경우에는 암호화가 필요한 원본 파일을 얻기 위하여 임시로 이를 설치하기 위한 것이다. 이에 의하여 원본 소프트웨어 패키지는 매니저 시스템의 하드디스크 또는 이를 에뮬레이팅하는 메모리의 일부 특정 영역에 설치될 수 있다. 이때의 '설치'라 함은 원본 소프트웨어 패키지의 락 또는 시리얼넘버 등에 의한 복제방지 기능이 정상적으로 해제된 상태에서 사용가능한 상태로 설치된 것을 의미한다.
그리고, 통신수단은 상기 DRM 서버 시스템에 암호화키를 요청하고, 그 결과 그 암호화키를 받아들이는 수단이다. 이는 본 발명의 특징적인 부분으로서, 인증에 있어서 DRM 서버 시스템을 이용하고 있으며, 설치 및/또는 실행에 관한 인증 요청에 대하여 온라인으로 자동으로, 획일적으로 인증 관리를 할 수 있도록 하기 위한 구성이다.
그리고, 암호화수단은 이 암호화키를 이용하여 상기 소프트웨어 패키지의 전부 또는 일부를 암호화하는 역할을 한다. 그 결과, 적어도 암호화된 주 실행파일 및 어플리케이션 브리지를 생성하고, 인스톨 브리지를 포함하는 새로운 설치프로그램을 생성하게 된다. 이 암호화수단에 의하여 생성되는 새로운 설치프로그램은 유통업자가 소프트웨어 패키지 제작자의 도움을 받지 않고도 자신이 취급하는 상품을 암호화하여 통일적으로 관리할 수 있는 툴을 제공하게 되는 근거가 된다.
한편, 상기 클라이언트 시스템은 앞서 설명한 바와 같이 소프트웨어 패키지가 설치될 수 있는 현재 또는 가까운 미래의 모든 컴퓨터, 휴대폰 등의 단말기를 지칭하는 말이다. 이 클라이언트 시스템에는 통상의 다른 하드웨어적 구성요소 이외에 적어도 소프트웨어에 의하여 구현되는 인스톨 브리지(install bridge)와, 어플리케이션 브리지(application bridge)가 포함되어 구성된다. 이 두 가지 요소는 새로운 설치프로그램의 실행 이후에 클라이언트 시스템에 설치되는 것으로서, 이 두 가지도 본 발명의 특징적인 부분이다.
상기 인스톨 브리지는 상기 매니저 시스템에서 생성된 새로운 설치프로그램을 실행할 때 자동으로 작동한다. 이는 다시 세부적으로는 암호화된 파일을 읽을 때 휘발성 저장장치 내에서 복호화하는 디바이스 드라이버와, DRM 서버 시스템에 복호화키를 요청하여 이를 받는 인증과정을 수행한 후 디바이스 드라이버를 통해 복호화된 설치 프로그램을 읽어 실행시키므로써 새로운 주 실행파일 역할을 하는 어플리케이션 브리지 및 암호화된 원래의 주 실행파일을 설치하는 응용 프로그램으로 구성되어 있다.
그리고, 상기 어플리케이션 브리지는 이 인스톨 브리지에서 설치된 새로운 주 실행파일을 실행할 때 자동으로 작동한다. 이는 다시 세부적으로는 암호화된 원본 주 실행 파일을 읽을 때 휘발성 저장장치 내에서 복호화하는 디바이스 드라이버와, DRM 서버 시스템에 복호화키를 요청하여 이를 받는 인증과정을 수행한 후 디바이스 드라이버를 통해 복호화된 주 실행 프로그램을 구동하는 응용 프로그램으로 구성되어 있다.
상기 인스톨 브리지와 어플리케이션 브리지는, 특히 복호화 과정이 암호화된 프로그램을 휘발성 저장장치 내에서 실행한다는 점과, 디바이스 드라이버로 구성되어 있어서 실행속도가 높다는 점과, 낮은 수준의 시스템 레이어에 위치하고 있어서 해킹의 염려가 극히 낮다는 점이 특징이다.
한편, 상기 DRM 서버 시스템은 적어도 매니저 서버와 라이센스 서버를 포함하여 구성되어 있다.
상기 매니저 서버는 매니저 시스템의 요청에 의하여 암호화키를 전송하는 역할을 한다. 이 암호화키는 데이터베이스에 저장되어 있게 된다.
그리고, 라이센스 서버는 클라이언트 시스템의 요청에 의하여 복호화키를 전송하는 역할을 하는데, 이 복호화키는 앞에서 데이터베이스에 저장되어 있던 암호 화키 그 자체 또는 이를 일정한 규칙에 의하여 가공한 것이다.
상기와 같은 기본적인 구성을 가지는 본 발명의 시스템에 있어서, 상기 매니저 시스템에서 암호화된 소프트웨어 패키지가 클라이언트 시스템에 전달되는 경로는 인터넷 등의 네트워크를 통한 ESD 유통에 의한 것이어도 좋고, 아니면 CD 등 전통적인 저장매체에 저장된 타이틀의 형태로 상가 등의 유형적 유통망을 통한 것이어도 좋다. 즉, 유통의 형태와 상관없이 본 발명의 시스템은 적용될 수 있다.
한편, 상기 매니저 시스템에서의 암호화는 상기 DRM 서버의 매니저 서버에서 받은 암호화키를 이용하여 이루어지는데, 상기 매니저 서버는 암호화키 이외에도 Key ID를 제공하도록 구성되어 있다. 이 Key ID는 나중에 설치 및/또는 실행에 관한 인증 요청시에 확인하기 위하여 암호화되는 과정에서 헤더에 정보로서 포함되게 된다.
이와 관련하여, 상기 클라이언트 시스템의 인스톨 브리지와 어플리케이션 브리지에 구비되어 있는 인증수단은 상기 DRM 서버의 라이센스 서버와 통신하여 설치시 및/또는 실행시에 인증을 받아야 하는데, 이때 이 브리지들은 유저 ID, 패스워드 및 Key ID를 제공하고, 이에 대한 인증 결과 및 라이센스를 서버로부터 받도록 구성되어 있다. 여기서 유저 ID, 패스워드는 보다 더 세밀한 확인과, 패스워드의 신속한 변경에 의하여 불법도용을 방지하기 위한 2중 조치로 이용될 수 있는 것으로서, 실무적으로는 예컨대 유통업자의 홈페이지에서 등록된 것을 사용하도록 하는 것도 좋다.
그런데, 상기 매니저 시스템의 암호화수단에 의하여 생성되는 새로운 설치프 로그램은 하나의 실행파일로 구성될 수도 있다. 즉 여러 개의 파일로 구성되는 경우에 발생하는 관리의 번잡을 피하고, 통신 전달시에 보다 신속한 전송을 위하여 하나의 파일로 구성하는 것이 유리하게 된다.
이때, 상기 하나의 실행파일은 인스톨 브리지와; 적어도 인증에 필요한 정보와 라이센스 서버의 URL을 포함하여 구성되는 헤더와; 어플리케이션 브리지와; 암호화된 주 실행파일과; 일부 필요한 파일만 암호화된 또는 전체가 암호화된 원본 소프트웨어 패키지, 혹은 전혀 암호화 되지 않은 원본 소프트웨어 패키지의 주 실행 파일을 제외한 나머지 부분과; 헤더 옵셋으로 구성되도록 할 수 있다. 이렇게 구성함으로써 빠짐없이 인증, 설치 및 복호화에 필요한 모든 정보가 하나의 파일로 체계적으로 구성될 수 있다.
물론 여기서, 상기 인스톨 브리지 및 어플리케이션 브리지는 그 실행시에 필요한 필수 파일들과 함께 실행될 수 있도록 저장되도록 구성할 수 있고, 또한 이렇게 구성함이 바람직하다. 이들 브리지들은 일종의 실행파일이므로, 그 실행에 필요한 필수적인 파일들이 압축되어 있거나 다른 장소에 저장되어 있는 경우에는 이들을 함께 취합하는데 걸리는 시간만큼 낭비가 발생된다. 따라서 이들은 함께 로드되도록 하여 시간 절약의 효과를 누릴 수 있다.
그런데, 상기 원본 소프트웨어 패키지의 형태와 파일 구성에 따라서 여러가지로 고찰해 볼 필요가 있다. 이는 패키지의 효율화를 위한 것이다.
만일 상기 원본 소프트웨어 패키지가 실행파일 이외의 여러 파일을 가지는 폴더로 구성된 인스톨버전인 경우에는 인스톨하기 전의 폴더 내에 있는 cab 파일이 나 기타 인스톨에 필수적인 파일을 암호화하여 구성함이 바람직하다. 폴더의 내용이 방대하여 압축해야 하며, 압축하지 않을 경우에는 용량의 비대화로 인하여 전송시간, 설치시간이 길어지게 되고, 암호화하지 않을 경우에는 내용의 노출 염려가 있기 때문이다.
이에 비하여, 상기 원본 소프트웨어 패키지가 하나의 실행파일만을 가지는 인스톨버전인 경우에는 인스톨하기 전의 실행파일을 exe 암호화하여 구성함이 바람직하다. 이 경우는 폴더 내용이 복잡하지 않으므로, 압축방식이 다르며, 다만, 암호화의 필요성은 동일하다.
그리고, 상기 원본 소프트웨어 패키지가 논인스톨버전인 경우에는 원본 소프트웨어 패키지 중에서 주 실행파일을 제외한 나머지 파일들을 암호화하지 않은 채 구성함이 바람직하다. 이는 용량도 작고, 원본에서도 인스톨의 필요성을 느끼지 못할 정도로 간단한 패키지이므로, 압축 및 암호화 등 아무런 조치를 취하지 않더라도 속도나 용량의 면에서 문제가 되지 않기 때문이다.
한편, 상기 어플리케이션 브리지는 그 소프트웨어 패키지의 주 아이콘과 링크되도록 함이 바람직하다. 이는 실행파일로서 어플리케이션 브리지가 대체되게 되므로, 주 아이콘을 이에 대응시킴으로써 사용자가 보다 용이하게 실행시킬 수 있도록 하고, 원본의 주 실행파일을 실행되지 않도록 하기 위한 것이다. 물론, 암호화된 원본 주 실행파일을 직접 실행시킨다 하더라도 어플리케이션 브리지에 의하여 복호화되지 않으므로 실행이 불가능하다.
또한, 상기 헤더 옵셋은 DWORD 4바이트로 고정시켜도 좋다. 이렇게 헤더 옵 셋 크기를 미리 정해 둠으로써 과다한 연산 없이도 신속하게 헤더의 내용을 읽어낼 수 있게 되기 때문이다.
한편, 용량의 면에서 고려하면, 상기 어플리케이션 브리지, 암호화된 주 실행파일 및 원본 소프트웨어 패키지 부분은 압축시킴이 바람직하다. 이때, 다른 부분들은 신속한 실행을 위하여 압축하지 않고 그냥 두는 편이 좋다.
그리고, 상기 원본 소프트웨어 패키지가 논인스톨버전인 경우에는 인스톨 브리지는 인스톨러 역할을 하여, 헤더에 표시된 설치 디렉토리를 만들고, 압축되어 있는 나머지 파일들을 압축을 풀어 이동시키는 기능을 하도록 구성함이 바람직하다. 이는 하나의 실행파일 뿐인 경우이므로, 굳이 인스톨 과정을 복잡하게 만들 필요성이 없기 때문이다.
이상에서 본 발명에 관련된 시스템에 관하여 살펴보았다. 이하에서는, 본 발명에 관련된 방법에 대하여 상세히 살펴보기로 한다.
본 발명의 불법복제 소프트웨어 패키지의 설치 및 실행을 방지하는 방법은 상기 청구항 1에 의하여 구현된 시스템을 이용할 수 있다. 즉 그 시스템은 각각 적어도 중앙처리장치와, 저장수단과, 통신수단과, 오퍼레이팅 시스템을 포함하여 구성되는 매니저 시스템과 클라이언트 시스템 및 DRM 서버 시스템으로 이루어져 있다. 이들 3자의 시스템은 네트워크, 예컨대 인터넷 등을 통하여 연결되어 있다.
여기서, 먼저 소프트웨어 패키지의 불법설치만을 방지하는 방법도 구현이 가능한데, 이 방법은 적어도
상기 매니저 시스템에서 원본 소프트웨어 패키지를 입력하는 단계와, 이 원본 소프트웨어 패키지가 인스톨버전인 경우에는 이를 임시로 설치하는 단계와, 상기 DRM 서버 시스템에 암호화키를 요청하여 이를 받는 단계와, 이 암호화키를 이용하여 상기 소프트웨어 패키지의 전부 또는 일부를 암호화하여 적어도 인스톨 브리지를 포함하는 새로운 설치프로그램을 생성하는 단계와, 컴퓨터, 휴대폰 등의 단말기로 이루어지는 상기 클라이언트 시스템에서 상기 새로운 설치프로그램이 실행되면 상기 인스톨 브리지(install bridge)가 자동으로 작동하는 단계와, 상기 인스톨 브리지가 DRM 서버 시스템에 복호화키를 요청하여 이를 받는 인증단계와, 이 인증결과에 따라 디바이스 드라이버를 설치하여 이 인스톨 브리지의 디바이스 드라이버가 원본 설치 프로그램을 휘발성 저장장치 내에서 복호화하여 실행하는 단계를 포함하여 구성된다.
이에 비하여, 소프트웨어 패키지의 불법설치는 물론이고, 불법사용까지도 방지할 수 있는 방법도 구현될 수 있는데, 이 방법은, 적어도 상기 매니저 시스템에서 원본 소프트웨어 패키지를 입력하는 단계와, 이 원본 소프트웨어 패키지가 인스톨버전인 경우에는 이를 임시로 설치하는 단계와, 상기 DRM 서버 시스템에 암호화키를 요청하여 이를 받는 단계와, 이 암호화키를 이용하여 상기 소프트웨어 패키지의 전부 또는 일부를 암호화하여 적어도 암호화된 주 실행파일 및 어플리케이션 브리지를 생성하고 인스톨 브리지를 포함하는 새로운 설치프로그램을 생성하는 단계와, 컴퓨터, 휴대폰 등의 단말기로 이루어지는 상기 클라이언트 시스템에서 상기 새로운 설치프로그램이 실행되면 상기 인스톨 브리지가 자동으로 작동하는 단계와, 상기 인스톨 브리지가 DRM 서버 시스템에 복호화키를 요청하여 이를 받는 인증단계와, 이 인증결과에 따라 인스톨 브리지의 디바이스 드라이버를 설치하여 이 디바이스 드라이버가 원본 설치 프로그램을 휘발성 저장장치 내에서 복호화하여 실행하는 단계와, 인스톨 브리지의 응용 프로그램이 새로운 주 실행파일 역할을 하는 어플리케이션 브리지(application bridge)를 설치하고 원본 설치 프로그램에 의하여 설치된 원래의 주 실행 파일을 암호화된 주 실행파일로 대체하는 단계와, 상기 새로운 주 실행파일이 실행되면 상기 어플리케이션 브리지가 자동으로 작동하는 단계와, 상기 어플리케이션 브리지가 DRM 서버 시스템에 복호화키를 요청하여 이를 받는 인증단계와, 이 인증결과에 따라 어플리케이션 브리지의 디바이스 드라이버를 설치하여 이 디바이스 드라이버가 암호화된 주 실행파일을 휘발성 저장장치 내에서 복호화하여 실행하는 단계를 포함하여 구성된다.
상기와 같은 설치 및 실행 방지의 방법은 ESD용으로 또는 CD 형태로 유통되어도 좋다. 그리고, 상기 매니저 시스템과 DRM 서버의 매니저 서버 사이에는 암호화키 요청과, 이에 따른 암호화키 및 Key ID의 제공이 됨은 앞서 설명한 바와 같고, 상기 클라이언트 시스템의 인스톨 브리지 및 어플리케이션 브리지와 DRM 서버의 라이센스 서버간의 인증은 유저 ID, 패스워드 및 Key ID의 제공과, 이에 대한 인증 결과 및 라이센스의 제공이라는 과정을 거친다는 점도 앞서 설명한 바와 같다.
그리고, 이러한 기능을 가지는 방법은 하나의 실행파일로 구성되어도 좋고, 이 경우에 이는 인스톨 브리지와; 적어도 인증에 필요한 정보와 라이센스 서버의 URL을 포함하여 구성되는 헤더와; 어플리케이션 브리지와; 암호화된 주 실행파일 과; 일부 필요한 파일만 암호화된 또는 전체가 암호화된 원본 소프트웨어 패키지, 혹은 전혀 암호화 되지 않은 원본 소프트웨어 패키지의 주 실행 파일을 제외한 나머지 부분과; 헤더 옵셋으로 구성됨이 바람직하며, 특히 상기 인스톨 브리지 및 어플리케이션 브리지는 그 실행시에 필요한 필수 파일들과 함께 실행될 수 있도록 저장됨이 실행속도의 면에서 바람직하다는 점도 앞서 설명한 바와 같다.
한편, 소프트웨어 패키지의 형태와 구성 파일을 기준으로 3가지로 나누어서 실행파일 이외의 여러 파일을 가지는 폴더로 구성된 인스톨버전인 경우에는 인스톨하기 전의 폴더 내에 있는 cab 파일이나 기타 인스톨에 필수적인 파일을 암호화하여 구성하고, 하나의 실행파일만을 가지는 인스톨버전인 경우에는 인스톨하기 전의 실행파일을 exe 암호화하여 구성하며, 논인스톨버전인 경우에는 원본 소프트웨어 패키지 중에서 주 실행파일을 제외한 나머지 파일들을 암호화하지 않은 채 구성함이 용량과 보안, 시간의 면에서 바람직한 선택이 되리라는 점은 앞서 설명한 바와 같다.
뿐만 아니라, 상기 어플리케이션 브리지는 그 소프트웨어 패키지의 주 아이콘과 링크되도록 하여야 사용자가 실행파일로 생각하고 브리지를 실행시키게 되는 것이므로 바람직하고, 상기 헤더 옵셋은 DWORD 4바이트로 고정하는 것이 신속한 연산에 의한 여러가지 혜택에 의하여 바람직하다.
그리고, 상기 어플리케이션 브리지, 암호화된 주 실행파일 및 원본 소프트웨어 패키지 부분은 용량의 측면에서 압축처리를 함이 바람직하다.
한편, 특수한 경우로서 상기 원본 소프트웨어 패키지가 논인스톨버전인 경우 에는 인스톨 브리지는 인스톨러 역할을 하여, 헤더에 표시된 설치 디렉토리를 만들고, 압축되어 있는 나머지 파일들을 압축을 풀어 이동시키는 기능을 하도록 구성하는 것이 용량과 속도의 면에서 바람직하다.
물론, 선택의 문제로서, 새로운 주 실행파일을 포함하는 새로운 설치프로그램을 생성하는 단계는 소프트웨어 패키지 제작자에 의하여 행하여지도록 구성하여도 좋다.
한편, 이러한 불법복제 소프트웨어의 설치 및 실행방지 방법은 저장매체에 기록되어서 컴퓨터에 의하여 읽혀지고, 실행될 수 있도록 저장되어 유통되거나 보관되는 것도 생각해 볼 수 있으며, 이러한 경우도 본 발명의 취지의 범위 내에 속하는 것이라 하겠다.
이하, 본 발명의 작용을 살펴본다.
먼저, 본 발명의 실시자, 예컨대 유통업자는 적어도 청구항 1의 구성을 가지는 시스템을 이용한다. 실시자는 불법 설치만을 방지하는 배포판을 만들거나 불법 실행까지도 방지하는 배포판을 만들 수 있는데, 먼저 전자의 경우를 살펴본다.
이때는 본 발명의 적용 대상이 되는 소프트웨어 패키지의 원본을 매니저 시스템에 입력한다. 이때는 입력수단을 이용하게 된다.
상기 매니저 시스템은 암호화가 필요한 원본 파일을 얻기 위하여 임시로 상기 원본 소프트웨어 패키지를 일단 설치하는데, 이때 인스톨버전인지 논인스톨버전인지에 따라서 설치의 과정은 달라질 수 있지만, 그 결과 실행가능한 상태가 되면 족하다.
상기 설치가 완료된 후, 매니저 시스템은 DRM 서버 시스템에 암호화키를 요청하여 이를 받는다. 여기서 암호화키는 상기 DRM 서버에서 체계적인 관리방법, 예컨대 미리 정해져 있는 규칙에 의한 시드를 이용한 난수 발생 등에 의하여 생성되는 것이 보통이다.
상기 암호화키를 받으면, 매니저 시스템은 이 암호화키를 이용하여 상기 소프트웨어 패키지의 전부 또는 일부를 암호화하여 적어도 인스톨 브리지를 포함하는 새로운 설치프로그램을 생성하여야 한다. 상기 암호화의 방법은 이미 알려진 많은 암호화 기법 중의 하나가 임의적으로 선택되어 채용될 수 있으며, 본 발명의 주 관심사가 아니므로 상세한 설명은 생략한다. 그리고, 상기 새로운 설치프로그램에 대해서는 원본 설치프로그램의 주 아이콘을 배정하여 두는 것이 바람직하다. 상기 결과물들을 종합하여 새로운 배포판을 형성한다.
그 후 상기 패키지는 저장매체 등의 유형적 또는 ESD 등의 무형적 유통과정을 거쳐서 수요자에게 전달된다. 이 이후의 단계는 수요자의 클라이언트 시스템에서 이루어진다.
다음으로, 수요자에 의하여 컴퓨터, 휴대폰 등의 단말기로 이루어지는 상기 클라이언트 시스템에서 상기 새로운 설치프로그램이 실행되면 상기 인스톨 브리지(install bridge)가 자동으로 작동된다.
상기 인스톨 브리지는 DRM 서버 시스템에 복호화키를 요청하며, DRM 서버 시스템은 이에 응답하여 ID, 암호화정보 등을 확인한 후 복호화키를 전송한다. 이는 온라인 인증단계로서, 본 발명의 특징적인 부분을 구성한다. 만일 이에 의하여 인 증이 되지 않는 경우에는 설치과정이 자동 종료되면서, 인스톨 브리지도 종료되고, 휘발성 저장장치나 비휘발성 저장장치 내에 있는 모든 중간 과정의 데이터 등을 삭제한다. 따라서 클라이언트 시스템에는 아무런 흔적이 남지 않게 된다.
한편, 인증이 정상적으로 이루어진 경우에는 인스톨 브리지가 디바이스 드라이버를 설치하며, 이 디바이스 드라이버가 원본 설치 프로그램을 휘발성 저장장치 내에서 복호화한 후에, 이를 실행한다. 이 디바이스 드라이버는 표면에 나타나지 않은 상태에서 실행될 수 있고, 설치 완료 후에는 삭제되므로 보안을 유지할 수 있다. 또한, 복호화는 휘발성 저장장치, 예컨대 메모리에서 실행되고, 설치 완료 후에는 삭제되므로 보안을 유지할 수 있다.
한편, 이에 비하여, 불법 실행 방지까지 구현하는 경우에는 상기 불법 설치만 방지하는 경우와 마찬가지로 상기 매니저 시스템에서 원본 소프트웨어 패키지를 입력하는 단계와, 이 원본 소프트웨어 패키지가 인스톨버전인 경우에는 이를 설치하는 단계와, 상기 DRM 서버 시스템에 암호화키를 요청하여 이를 받는 단계를 거친다.
그 후, 주 실행파일을 찾는다. 상기 주 실행파일은 하나 또는 그 이상이어도 상관없으며, 여러 개일 경우에는 각각에 대하여 후술하는 어플리케이션 브리지를 하나씩 마련하면 된다.
그리고, 이 암호화키를 이용하여 상기 소프트웨어 패키지의 전부 또는 일부를 암호화한다. 이 암호화의 기법에 대해서는 종래의 어떠한 기법을 적용하여도 좋다.
이 암호화에 의하여 적어도 암호화된 주 실행파일 및 어플리케이션 브리지를 생성하고 인스톨 브리지를 포함하는 새로운 설치프로그램을 생성한다. 따라서 이들이 종합되어 새로운 배포판이 형성된다.
그 이후에 유통과정을 거쳐서 상기 배포판이 수요자에게 전달된다.
수요자에 의하여 컴퓨터, 휴대폰 등의 단말기로 이루어지는 상기 클라이언트 시스템에서 상기 새로운 설치프로그램이 실행되면 상기 인스톨 브리지가 자동으로 작동된다. 그러면 상기 인스톨 브리지는 먼저 DRM 서버 시스템에 복호화키를 요청하며, DRM 서버 시스템은 이를 데이터베이스에 저장되어 있는 정보와 비교하여 검증하고, 검증이 이루어지면 이를 인증하여 복호화키를 전달한다.
이 정상적인 인증에 따라 인스톨 브리지는 디바이스 드라이버를 설치하여 이 디바이스 드라이버가 원본 설치 프로그램을 휘발성 저장장치 내에서 복호화하여 실행한다. 즉, 메모리 등의 휘발성 저장장치 내에서만 복호화를 행하고, 하드디스크 등의 비휘발성 저장장치에는 그 흔적을 남기지 않는다.
복호화를 한 후에는 새로운 주 실행파일 역할을 하는 어플리케이션 브리지(application bridge)를 설치하고 원본 설치 프로그램에 의하여 설치된 원래의 주 실행 파일을 암호화된 주 실행파일로 대체한다. 여기서 상기 어플리케이션 브리지는 상기 새로운 주 실행파일이 실행되는 경우에 작동되는 것이다. 그리고 암호화된 주 실행파일은 실행할 수 없도록 미리 정해진 어떤 확장자를 가지도록 이름을 변경함으로써 보안에 충실을 기함이 바람직하다.
이와 같이 하면 정당한 인증을 받은 경우에만 설치가 가능하므로, 불법 설치 를 방지할 수 있고, 또한, 불법 실행을 방지할 수 있는 준비를 할 수 있다. 설치과정은 이렇게 하여 종료된다.
그 후, 수요자가 클라이언트 시스템에서 그 소프트웨어 패키지를 실행시키고자 하는 경우에는 상기 어플리케이션 브리지로 대체된 새로운 주 실행파일이 실행시키면 된다. 그러면 상기 어플리케이션 브리지가 자동으로 작동되어 구동된다.
먼저 상기 어플리케이션 브리지는 DRM 서버 시스템에 복호화키를 요청한다. 이에 대하여 DRM 서버 시스템에서는 클라이언트 시스템에서 보내온 ID, 암호화정보 등을 데이터베이스의 정보와 비교하여 하여 인증 여부를 결정하고, 정상적인 사용자라고 판단되는 경우에는 이 클라이언트 시스템에 복호화키를 보냄으로써 인증을 한다.
상기 인증과정에서 인증을 받으면, 상기 어플리케이션 브리지는 디바이스 드라이버를 설치한다. 이 디바이스 드라이버는 암호화된 주 실행파일을 휘발성 저장장치 내에서 복호화하여 복호화된 원본 주 실행파일을 실행시킴으로써 소프트웨어 패키지를 실행시키게 된다. 그리고, 이 소프트웨어 패키지를 종료시키면, 상기 디바이스 드라이버는 삭제된다. 따라서 원본 소프트웨어 패키지에 대한 정보는 남지 않게 된다.
지금까지 몇 가지의 실시예에 의하여 설명하였으나, 본 발명은 이에 한정되는 것은 아니며, 본 발명을 실시하는 자의 형편과 시스템, 적용대상, 적용 목적 등에 따라서 다양한 변형이 가능하다. 특히 적용 대상이 되는 클라이언트 시스템의 하드웨어 종류에 대해서는 소프트웨어 패키지가 설치될 수 있는 것이면 모두 본 발 명이 적용될 수 있으며, 가까운 미래에 출현하게 될 모든 하드웨어도 배제하지 않는다. 또한, 본 발명은 유통업자가 실시하는 것을 상정하여 기술하고 있지만, 소프트웨어 패키지의 제작자가 실시하는 경우에 적용하여도 좋다.
따라서, 특히 특허청구범위에 기재된 내용의 동일성 범위 내에서의 변형은 본 발명의 범주 내에 속하게 됨은 물론이다.
상기와 같은 본 발명에 의하면 크게 메니저 시스템, 클라이언트 시스템, DRM 서버 시스템으로 구성되어 있어서, DRM 기법을 적용하여 소프트웨어 패키지의 설치시와 실행시에 인증절차를 반드시 거치도록 구성되어 있으므로, 불법적으로 소프트웨어 패키지를 복제한다고 하더라도, 그 설치나 실행이 불가능하게 되어 획기적으로 불법행위를 방지할 수 있는 효과가 있다.
또한, 새로운 설치프로그램의 실행 후에 인스톨 브리지와 어플리케이션 브리지의 디바이스 드라이버에 의해 암호화된 프로그램을 휘발성 저장장치 내에서 복호화하여 실행한다는 점과, 디바이스 드라이버로 구성되어 있어서 실행속도가 높다는 점과, 낮은 수준의 시스템 레이어에 위치하고 있어서 해킹의 염려가 극히 낮다는 점에서 획기적인 효과가 있다.
그리고, 상기 매니저 시스템에서 암호화된 소프트웨어 패키지가 클라이언트 시스템에 전달되는 경로는 인터넷 등의 네트워크를 통한 ESD 유통에 의한 것이어도 좋고, 아니면 CD 등 전통적인 저장매체에 저장된 타이틀의 형태로 상가 등의 유형적 유통망을 통한 것이어도 좋으므로, 발명의 적용 범위가 넓다는 장점이 있다.
또한, 인증시에 유저 ID, 패스워드는 보다 더 세밀한 확인과, 패스워드의 신속한 변경에 의하여 불법도용을 방지하기 위한 2중 조치로 이용될 수 있는 것이어서, 보다 확실한 인증이 가능하다는 장점이 있다.
그리고, 매니저 시스템의 암호화수단에 의하여 생성되는 새로운 설치프로그램은 하나의 실행파일로 구성될 수도 있어서, 관리의 번잡을 피하고, 통신 전달시에 보다 신속한 전송이 가능하다는 장점이 있다. 또한, 상기 하나의 실행파일은 빠짐없이 인증, 설치 및 복호화에 필요한 모든 정보가 하나의 파일로 체계적으로 구성될 수 있다는 장점도 있다.
그리고, 상기 인스톨 브리지 및 어플리케이션 브리지는 그 실행시에 필요한 필수 파일들과 함께 실행될 수 있도록 저장되도록 구성할 수 있어서, 함께 로드되도록 하여 시간 절약의 효과를 누릴 수 있다.
또한, 상기 원본 소프트웨어 패키지가 실행파일 이외의 여러 파일을 가지는 폴더로 구성된 인스톨버전인 경우에는 인스톨하기 전의 폴더 내에 있는 cab 파일이나 기타 인스톨에 필수적인 파일을 암호화하여 구성하여, 용량의 비대화로 인하여 전송시간, 설치시간의 장기화, 내용의 노출 염려를 방지할 수 있는 효과가 있다.
한편, 상기 원본 소프트웨어 패키지가 하나의 실행파일만을 가지는 인스톨버전인 경우에는 인스톨하기 전의 실행파일을 exe 암호화하여 구성하여, 간단한 경우에는 실행속도를 줄이면서, 내용 노출만 방지할 수도 있는 효과가 있다.
그리고, 상기 원본 소프트웨어 패키지가 논인스톨버전인 경우에는 원본 소프트웨어 패키지 중에서 주 실행파일을 제외한 나머지 파일들을 암호화하지 않은 채 구성하여, 속도나 용량의 면에서 최적화를 할 수도 있는 효과가 있다.
한편, 상기 어플리케이션 브리지는 그 소프트웨어 패키지의 주 아이콘과 링크되도록 하여, 사용자가 보다 용이하게 실행시킬 수 있도록 하고, 원본의 주 실행파일을 실행되지 않도록 할 수 있는 효과가 있다.
또한, 상기 헤더 옵셋은 DWORD 4바이트로 고정시켜서, 과다한 연산 없이도 신속하게 헤더의 내용을 읽어낼 수 있게 할 수 있는 효과가 있다.
한편, 상기 어플리케이션 브리지, 암호화된 주 실행파일 및 원본 소프트웨어 패키지 부분은 압축시키고 다른 부분들은 압축하지 않고 그냥 두어서, 신속한 실행을 보장하는 효과가 있다.
그리고, 상기 원본 소프트웨어 패키지가 논인스톨버전인 경우에는 인스톨 브리지는 인스톨러 역할을 하여, 헤더에 표시된 설치 디렉토리를 만들고, 압축되어 있는 나머지 파일들을 압축을 풀어 이동시키는 기능을 하도록 구성함으로써, 간단하고 신속하게 인스톨 과정을 형성할 수 있는 효과가 있다.
상기와 같은 효과들은 본 발명에 의한 시스템은 물론이고, 본 발명에 의한 방법의 경우에도 동일하거나 마찬가지라고 하겠다.
한편, 본 발명의 방법에 있어서는, 특히 상기의 시스템을 이용하여 소프트웨어 패키지의 불법설치만을 방지하는 방법만을 구현하거나, 불법설치는 물론이고, 불법사용까지도 방지할 수 있는 방법을 구현할 수 있어서, 본 발명의 실시자의 형편, 적용대상, 적용범위 등에 따라서 다양한 선택을 할 수 있는 효과가 있다.
또한, 선택의 문제로서, 새로운 주 실행파일을 포함하는 새로운 설치프로그 램을 생성하는 단계는 소프트웨어 패키지 제작자에 의하여 행하여지도록 구성할 수도 있으므로, 유통업자의 입장에서는 선택의 폭이 넓게 된다는 효과가 있다.
한편, 이러한 불법복제 소프트웨어의 설치 및 실행방지 방법은 저장매체에 기록되어서 컴퓨터에 의하여 읽혀지고, 실행될 수 있도록 저장되어 유통되거나 보관될 수도 있는 효과가 있다.

Claims (32)

  1. 각각 적어도 중앙처리장치와 저장수단과 통신수단과 오퍼레이팅 시스템을 포함하여 구성되는 클라이언트 시스템과, DRM 서버 시스템으로 이루어져서, 인터넷 등의 네트워크를 통하여 연결되는 소프트웨어 불법복제 및 불법사용 방지 시스템에 있어서,
    적어도, 소프트웨어의 주 실행 프로그램 대신에, 이에 DRM이 적용됨으로써 암호화된 채 상기 클라이언트 시스템에 저장되어 있는, 실행 프로그램에 대한 불법복제 및 불법사용 방지 수단인 어플리케이션 브리지 (application bridge) 프로그램을 포함하여 구성되며,
    상기 어플리케이션 브리지 프로그램이 실행되면, 메인메모리에 로드된 후, 상기 DRM 서버 시스템으로부터의 인증을 통하여 라이센스를 획득하여, 상기 암호화된 주 실행 프로그램을 자동으로 복호화하며, 이 원래의 주 실행 프로그램을 메인메모리에 로드시켜서 실행 가능하게 하는,
    것을 특징으로 하는 소프트웨어 불법복제 및 불법사용 방지 시스템.
  2. 각각 적어도 중앙처리장치와 저장수단과 통신수단과 오퍼레이팅 시스템을 포함하여 구성되는 클라이언트 시스템과, DRM 서버 시스템으로 이루어져서, 인터넷 등의 네트워크를 통하여 연결되는 소프트웨어 불법복제 및 불법사용 방지 시스템에 있어서, 적어도,
    청구항 1에 기재된 상기 어플리케이션 브리지 프로그램과,
    상기 클라이언트 시스템에 저장되어 있으며, 상기 어플리케이션 브리지의 주 실행 프로그램이 포함되는 원본 소프트웨어 설치 패키지에 대하여 DRM이 적용됨으로써 암호화된 설치 패키지 전체를 포함하여 이루어지고,
    실제 상기 암호화된 설치 패키지의 설치 작업 실행 시점에 구동되어,
    상기 DRM 서버 시스템으로부터의 인증을 통하여 라이센스를 획득하여, 상기 암호화된 설치 패키지를 자동으로 복호화하여, 원래의 소프트웨어의 설치 작업이 진행되도록 한 후, 상기 원본의 주 실행 프로그램 파일을 상기 어플리케이션 브리지로 대체하는,
    설치 프로그램에 대한 불법복제 및 불법사용 방지 수단인 인스톨 브리지 (install bridge) 프로그램을 포함하여 구성되는 것을 특징으로 하는 소프트웨어 불법복제 및 불법사용 방지 시스템.
  3. 삭제
  4. 삭제
  5. 청구항 1 또는 청구항 2에 있어서,
    상기 라이센스는, 사용자의 소프트웨어 사용 기간과 사용 회수 등을 제어하기 위한 사용 권한 정보를 포함하고, 또한 복호화에 이용되는 복호화키를 포함하며,
    상기 클라이언트 시스템 상에서 자동 복호화를 실행할 때, 상기 라이센스에 포함된 사용 권한에 따라 복호화를 실행할지의 여부를 제어하도록 구성됨을 특징으로 하는 소프트웨어 불법복제 및 불법사용 방지 시스템.
  6. 청구항 1 또는 청구항 2에 있어서,
    상기 라이센스는, 상기 클라이언트 시스템 내부에 미리 저장되어 있어서, 상기 DRM 서버 시스템과의 통신이 필요 없도록 구성됨을 특징으로 하는 소프트웨어 불법복제 및 불법사용 방지 시스템.
  7. 삭제
  8. 청구항 1 또는 청구항 2에 있어서,
    상기 클라이언트 시스템 상에서의 자동 복호화가, 필터 형태의 파일 디바이스 드라이버를 통해서, 이루어지도록 구성됨을 특징으로 하는 소프트웨어 불법복제 및 불법사용 방지 시스템.
  9. 청구항 1 또는 청구항 2에 있어서,
    상기 클라이언트 시스템 및 DRM 서버 시스템에 더하여, 중앙처리장치와 저장수단과 통신수단과 오퍼레이팅 시스템을 포함하여 구성되는 매니저 시스템이 더욱 구비되고,
    상기 매니저 시스템은 상기 DRM 서버 시스템으로부터 암호화키 및 Key ID 중 적어도 어느 하나를 제공받아, 이를 이용하여
    (1) 주 실행 프로그램 파일의 암호화에 의한 어플리케이션 브리지의 생성
    (2) 원본 소프트웨어 설치 패키지의 암호화에 의한 인스톨 브리지의 생성
    중 적어도 어느 하나를 수행함을 특징으로 하는 소프트웨어 불법복제 및 불법사용 방지 시스템.
  10. 청구항 9에 있어서,
    소프트웨어 패키지가 이미 설치 프로그램 형태로 존재할 경우에, 상기 매니저 시스템은,
    적어도 설치 프로그램에 역공학을 적용하여 실행 프로그램을 추출하는 방법과 임시로 실제 설치 과정을 수행하여 실행 프로그램을 추출하는 방법 중의 어느 하나를 사용하여, 주 실행 프로그램을 얻는 것을 특징으로 하는 소프트웨어 불법복제 및 불법사용 방지 시스템.
  11. 청구항 9에 있어서,
    상기 매니저 시스템은,
    암호화되는 주 실행 프로그램 파일의 범주에, 그 프로그램의 실행을 위해 필요한 데이터 파일들도 포함시켜 암호화함을 특징으로 하는 소프트웨어 불법복제 및 불법사용 방지 시스템.
  12. 청구항 9에 있어서,
    상기 매니저 시스템은,
    원본 소프트웨어 패키지를 암호화할 때에, 일부 데이터 파일을 제외하고 암호화하는 것을 특징으로 하는 소프트웨어 불법복제 및 불법사용 방지 시스템.
  13. 청구항 9에 있어서,
    상기 매니저 시스템은,
    상기 어플리케이션 브리지에 대하여, 그 원본 소프트웨어 패키지의 주 실행 프로그램 아이콘과 링크시킴을 특징으로 하는 소프트웨어 불법복제 및 불법사용 방지 시스템.
  14. 각각 적어도 중앙처리장치와 저장수단과 통신수단과 오퍼레이팅 시스템을 포함하여 구성되는 클라이언트 시스템과, DRM 서버 시스템으로 이루어져서, 인터넷 등의 네트워크를 통하여 연결되는 하드웨어 시스템을 이용하여, 소프트웨어 불법복제 및 불법사용을 방지하는 방법에 있어서, 적어도,
    (1) 소프트웨어의 주 실행 프로그램 대신에, 이에 DRM이 적용됨으로써 암호화된 채 상기 클라이언트 시스템에 저장되어 있는, 실행 프로그램에 대한 불법복제 및 불법사용 방지 수단인 어플리케이션 브리지 (application bridge) 프로그램을 구비하는 단계와,
    (2) 상기 어플리케이션 브리지 프로그램이 실행되면, 메인메모리에 로드된 후, 상기 DRM 서버 시스템으로부터의 인증을 통하여 라이센스를 획득하는 단계와,
    (3) 상기 암호화된 주 실행 프로그램을 자동으로 복호화하는 단계와,
    (4) 이 원래의 주 실행 프로그램을 메인메모리에 로드시켜서 실행 가능하게 하는 단계,
    로 구성되는 것을 특징으로 하는 소프트웨어 불법복제 및 불법사용 방지 방법.
  15. 각각 적어도 중앙처리장치와 저장수단과 통신수단과 오퍼레이팅 시스템을 포함하여 구성되는 클라이언트 시스템과, DRM 서버 시스템으로 이루어져서, 인터넷 등의 네트워크를 통하여 연결되는 하드웨어 시스템을 이용하여, 소프트웨어 불법복제 및 불법사용을 방지하는 방법에 있어서,
    (1) 상기 청구항 14에 기재된 단계들로 이루어지는 처리수단을 구비하는 단계와,
    (2) 처리대상으로서 상기 클라이언트 시스템에 저장되어 있으며, 상기 어플리케이션 브리지의 주 실행 프로그램이 포함되는 원본 소프트웨어 설치 패키지에 대하여 DRM이 적용됨으로써 암호화된 설치 패키지 전체를 구비하고, 실제 상기 암호화된 설치 패키지의 설치 작업 실행 시점에 자동으로 구동되는 단계와,
    (3) 상기 DRM 서버 시스템으로부터의 인증을 통하여 라이센스를 획득하는 단계와,
    (4) 상기 암호화된 설치 패키지를 자동으로 복호화하는 단계와,
    (5) 상기 복호화된 원래의 소프트웨어의 설치 작업이 진행되도록 하는 단계와,
    (6) 상기 원본의 주 실행 프로그램 파일을 상기 어플리케이션 브리지로 대체하는 단계,
    로 구성되는 것을 특징으로 하는 소프트웨어 불법복제 및 불법사용 방지 방법.
  16. 삭제
  17. 삭제
  18. 청구항 14 또는 청구항 15에 있어서,
    상기 라이센스는, 사용자의 소프트웨어 사용 기간과 사용 회수 등을 제어하기 위한 사용 권한 정보를 포함하고, 또한 복호화에 이용되는 복호화키를 포함하며,
    상기 클라이언트 시스템 상에서 자동 복호화를 실행할 때, 상기 라이센스에 포함된 사용 권한에 따라 복호화를 실행할지의 여부를 제어하도록 구성됨을 특징으로 하는 소프트웨어 불법복제 및 불법사용 방지 방법.
  19. 청구항 14 또는 청구항 15에 있어서,
    상기 라이센스는, 상기 클라이언트 시스템 내부에 미리 저장되어 있어서, 상기 DRM 서버 시스템과의 통신이 필요 없도록 구성됨을 특징으로 하는 소프트웨어 불법복제 및 불법사용 방지 방법.
  20. 삭제
  21. 청구항 14 또는 청구항 15에 있어서,
    상기 클라이언트 시스템 상에서의 자동 복호화가, 필터 형태의 파일 디바이스 드라이버를 통해서, 이루어지도록 구성됨을 특징으로 하는 소프트웨어 불법복제 및 불법사용 방지 방법.
  22. 청구항 14 또는 청구항 15에 있어서,
    상기 클라이언트 시스템 및 DRM 서버 시스템에 더하여, 중앙처리장치와 저장수단과 통신수단과 오퍼레이팅 시스템을 포함하여 구성되는 매니저 시스템이 더욱 구비되고,
    상기 매니저 시스템은,
    (1) 상기 DRM 서버 시스템으로부터 암호화키 및 Key ID 중 적어도 어느 하나를 제공받는 제1 단계를 수행한 후, 이를 이용하여,
    (2) 제2 단계로서,
    a) 주 실행 프로그램 파일의 암호화에 의하여 어플리케이션 브리지를 생성하는 단계, 또는
    b) 원본 소프트웨어 설치 패키지의 암호화에 의하여 인스톨 브리지를 생성하는 단계,
    중 적어도 어느 하나를 수행하도록 구성됨을 특징으로 하는 소프트웨어 불법복제 및 불법사용 방지 방법.
  23. 청구항 22에 있어서,
    소프트웨어 패키지가 이미 설치 프로그램 형태로 존재할 경우에, 상기 매니저 시스템은,
    적어도 설치 프로그램에 역공학을 적용하여 실행 프로그램을 추출하는 방법과 임시로 실제 설치 과정을 수행하여 실행 프로그램을 추출하는 방법 중의 어느 하나를 사용하여, 주 실행 프로그램을 얻는 것을 특징으로 하는 소프트웨어 불법복제 및 불법사용 방지 방법.
  24. 청구항 22에 있어서,
    상기 매니저 시스템은,
    암호화되는 주 실행 프로그램 파일의 범주에, 그 프로그램의 실행을 위해 필요한 데이터 파일들도 포함시켜 암호화함을 특징으로 하는 소프트웨어 불법복제 및 불법사용 방지 방법.
  25. 청구항 22에 있어서,
    상기 매니저 시스템은,
    원본 소프트웨어 패키지를 암호화할 때에, 일부 데이터 파일을 제외하고 암호화하는 것을 특징으로 하는 소프트웨어 불법복제 및 불법사용 방지 방법.
  26. 청구항 22에 있어서,
    상기 매니저 시스템은,
    상기 어플리케이션 브리지에 대하여, 그 원본 소프트웨어 패키지의 주 실행 프로그램 아이콘과 링크시킴을 특징으로 하는 소프트웨어 불법복제 및 불법사용 방지 방법.
  27. 상기 청구항 14의 방법을 컴퓨터에서 실행 가능한 프로그램으로 구현한 것을 기록한, 컴퓨터로 읽을 수 있는 기록매체.
  28. 상기 청구항 15의 방법을 컴퓨터에서 실행 가능한 프로그램으로 구현한 것을 기록한, 컴퓨터로 읽을 수 있는 기록매체.
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
KR1020030041371A 2003-06-25 2003-06-25 디알엠 기법을 적용한 소프트웨어 불법복제 및 불법사용방지방법 및 시스템 KR100573740B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020030041371A KR100573740B1 (ko) 2003-06-25 2003-06-25 디알엠 기법을 적용한 소프트웨어 불법복제 및 불법사용방지방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030041371A KR100573740B1 (ko) 2003-06-25 2003-06-25 디알엠 기법을 적용한 소프트웨어 불법복제 및 불법사용방지방법 및 시스템

Publications (2)

Publication Number Publication Date
KR20050000824A KR20050000824A (ko) 2005-01-06
KR100573740B1 true KR100573740B1 (ko) 2006-04-25

Family

ID=37216709

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030041371A KR100573740B1 (ko) 2003-06-25 2003-06-25 디알엠 기법을 적용한 소프트웨어 불법복제 및 불법사용방지방법 및 시스템

Country Status (1)

Country Link
KR (1) KR100573740B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101292004B1 (ko) * 2011-08-23 2013-08-23 주식회사 인프라웨어 웹 어플리케이션의 소스코드 패키지 보안 방법 및 이를 실행하기 위한 프로그램을 기록한 컴퓨터로 판독가능한 기록매체

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101152388B1 (ko) * 2004-05-31 2012-06-05 삼성전자주식회사 휴대용 저장장치와 디바이스에서 다수의 어플리케이션을수행하는 방법 및 장치
KR101314751B1 (ko) * 2006-01-26 2013-10-02 삼성전자주식회사 디알엠 설치 관리 방법 및 장치
KR100755708B1 (ko) * 2006-03-22 2007-09-05 삼성전자주식회사 임시 라이센스를 사용하여 컨텐츠를 임시로 사용하는 방법및 장치
JP4824127B2 (ja) 2007-08-29 2011-11-30 シーディーネットワークス カンパニー リミテッド デジタルメディアコンテンツの無断複製(不正コピー)に対する保護
KR101733520B1 (ko) * 2009-11-27 2017-05-11 삼성전자주식회사 어플리케이션 보호 방법 및 이를 이용한 어플리케이션 실행 방법
KR101881303B1 (ko) * 2011-11-08 2018-08-28 삼성전자주식회사 애플리케이션 데이터 보호를 위한 휴대용 단말기의 장치 및 방법
KR101526323B1 (ko) * 2012-07-13 2015-06-11 단국대학교 산학협력단 소프트웨어 인증 방법 및 시스템

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101292004B1 (ko) * 2011-08-23 2013-08-23 주식회사 인프라웨어 웹 어플리케이션의 소스코드 패키지 보안 방법 및 이를 실행하기 위한 프로그램을 기록한 컴퓨터로 판독가능한 기록매체

Also Published As

Publication number Publication date
KR20050000824A (ko) 2005-01-06

Similar Documents

Publication Publication Date Title
US10181166B2 (en) Secure content distribution system
US7685636B2 (en) System, service, and method for enabling authorized use of distributed content on a protected media
US7499550B2 (en) System and method for protecting a title key in a secure distribution system for recordable media content
US7716474B2 (en) Anti-piracy software protection system and method
US20080071617A1 (en) Apparatus and methods for validating media
CN102073826B (zh) 利用轻量级数字水印添加组件的数字版权管理的系统和方法
US7310821B2 (en) Host certification method and system
US7571328B2 (en) System and method for distributing digital content over a network
US20060149683A1 (en) User terminal for receiving license
US20040117664A1 (en) Apparatus for establishing a connectivity platform for digital rights management
US20040225894A1 (en) Hardware based method for digital rights management including self activating/self authentication software
US20030002671A1 (en) Delivery of electronic content over a network using a hybrid optical disk for authentication
US20040117644A1 (en) Method for reducing unauthorized use of software/digital content including self-activating/self-authenticating software/digital content
US20040107368A1 (en) Method for digital rights management including self activating/self authentication software
US20040117628A1 (en) Computer readable storage medium for enhancing license compliance of software/digital content including self-activating/self-authenticating software/digital content
US20030135465A1 (en) Mastering process and system for secure content
US20070078775A1 (en) System and method for preventing unauthorized use of digital works
GB2404536A (en) Protection of data using software wrappers
US20040117631A1 (en) Method for digital rights management including user/publisher connectivity interface
WO2005122149A1 (ja) ライセンス管理システム及びライセンス管理方法
US20070260551A1 (en) Media Burning Terminal and System for Providing Digital Content
US8463708B2 (en) System and method for using digital strings to provide secure distribution of digital content
Nair et al. Enabling DRM-preserving digital content redistribution
KR100573740B1 (ko) 디알엠 기법을 적용한 소프트웨어 불법복제 및 불법사용방지방법 및 시스템
WO2003062962A2 (en) Method and system for securely transmitting and distributing information and for producing a physical instantiation of the transmitted information in an intermediate, information-storage medium

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for 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: 20130412

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140421

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20170118

Year of fee payment: 11

R401 Registration of restoration
LAPS Lapse due to unpaid annual fee