KR101008448B1 - 소프트웨어 무단 복제 방지를 위한 시스템, 컴퓨터-구현형 방법, 및 컴퓨터 판독 가능 기록 매체 - Google Patents

소프트웨어 무단 복제 방지를 위한 시스템, 컴퓨터-구현형 방법, 및 컴퓨터 판독 가능 기록 매체 Download PDF

Info

Publication number
KR101008448B1
KR101008448B1 KR1020040006098A KR20040006098A KR101008448B1 KR 101008448 B1 KR101008448 B1 KR 101008448B1 KR 1020040006098 A KR1020040006098 A KR 1020040006098A KR 20040006098 A KR20040006098 A KR 20040006098A KR 101008448 B1 KR101008448 B1 KR 101008448B1
Authority
KR
South Korea
Prior art keywords
enterprise
file
computing device
software
license
Prior art date
Application number
KR1020040006098A
Other languages
English (en)
Other versions
KR20040070084A (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 마이크로소프트 코포레이션
Publication of KR20040070084A publication Critical patent/KR20040070084A/ko
Application granted granted Critical
Publication of KR101008448B1 publication Critical patent/KR101008448B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

고유의 볼륨 라이선스 키(VLK)가 볼륨 라이선스 보유자에게 제공된다. VLK와 볼륨 라이선스 보유자가 제출한 컴퓨팅 환경 정보에서 파생된 데이터를 포함하는 서명형 파일이 라이선스형 소프트웨어와 함께 볼륨 라이선스 보유자에게 제공된다. 라이선스 파일은 상당히 큰 임의 유형의 파일로, 중앙 위치, 예컨대 설치 서버 상에 저장되거나 지역적으로 클라이언트 기계 상에 저장된다. 로그온 시, 라이선스 파일이 판독되고, 데이터가 확인되어 시스템이 인증된다. 라이선스 데이터가 확인되지 못하는 경우, 접속된 시스템은 유예 기간 내에 전체 기능을 수행하거나 확인이 성공하기까지 제한된 기능 모드로 작동한다. 시스템이 차단된 경우, 그 시스템이 네트워크에 다시 연결되기까지 차단된 상태의 특징만으로 기능한다. 완전히 오프라인 시스템인 경우, 라이선스 파일은 소프트웨어 벤더가 할당한 특정적 VLK와 소프트웨어 벤더가 제공한 보안 하드웨어 장치를 이용하여 볼륨 라이선스 보유자에 의하여 생성된다. 소프트웨어 패키지, VLK, 그리고 라이선스 파일의 배포 방식은 유동적일 수 있고, 하나 또는 복수의 매체를 포함하되 이로써 제한되지는 않는다.
소프트웨어 무단 복제 방지, 볼륨 라이선스 키

Description

소프트웨어 무단 복제 방지를 위한 시스템, 컴퓨터-구현형 방법, 및 컴퓨터 판독 가능 기록 매체{SYSTEMS AND METHODS FOR DETERRING SOFTWARE PIRACY IN A VOLUME LICENSE ENVIRONMENT}
도 1은 본 발명의 특징이 구현될 수 있는 예시적 컴퓨팅 환경을 도시한 도면,
도 2는 본 발명의 일실시예에 따라 소프트웨어 무단 복제를 방지하기 위한 예시적인 환경-바인딩-강제형(environment-binding-enforced) 시스템을 도시한 블록도,
도 3은 본 발명의 일실시예에 따라 소프트웨어 무단 복제를 방지하기 위한 예시적인 오프라인 시스템을 도시한 블록도,
도 4는 본 발명의 일실시예에 따라 환경-바인딩-강제형 시스템에서 소프트웨어 무단 복제를 방지하는 예시적 방법에 관한 흐름도.
<도면의 주요 부분에 대한 부호의 설명>
110 : 컴퓨터
120 : 프로세싱 유닛
130 : 시스템 메모리
140, 150, 160, 170 : 인터페이스
180 : 원격 컴퓨터
202 : 벤더
204 : 서버
206, 208 : 클라이언트
224 : 라이선스 파일
250 : 오프라인 시스템
본 발명은 소프트웨어 무단 복제 방지 분야에 관한 것이며, 보다 구체적으로는 볼륨 라이선스 키(volume license key : VLK)를 이용한 소프트웨어의 볼륨 라이선싱 분야에 관한 것이다.
소프트웨어 무단 복제는 매년 소프트웨어 벤더들에게 막대한 양의 금전을 지불하게 하는 세계적인 문제이다. 캐주얼 카피(casual copying)라고 알려진 무단 복제의 일형태는 최종 사용자가 라이선스 계약을 위반하여 복수 컴퓨터 상에서 소프트웨어를 공유하고 설치하는 것이다. 정품 인증(product activation)은 이러한 유형의 무단 복제를 줄이기 위한 한가지 방법이다.
대개의 정품 인증은 소프트웨어 벤더에 대하여 설치 식별 코드(installation identification code) 및/또는 하드웨어 식별자(hardware identifier)를 제출함에 의존한다. 그에 응답하여 소프트웨어 벤더는 인증 확인 코드(activation confirmation code)를 반환한다. 일유형의 정품 인증에 있어서, 고유의 정품 키(unique product key)가 각각의 박스 단위 소프트웨어 패키지마다 제공된다. 일반적으로, 소정의 유예 기간(소프트웨어를 설치한 후 인증없이 그 소프트웨어를 사용할 수 있는 기간)이 경과한 후, 고객은 소프트웨어 벤더와 접촉하여 자신의 소프트웨어 카피를 인증받아야 한다. 신속하게 그리 하지 못한다면 그 소프트웨어의 사용이 불가능해지거나 소프트웨어의 기능이 열화된다. 일반적으로 고유의 정품 키를 이용하여 고유의 정품 식별 코드를 생성하며, 그 고유의 정품 식별 코드는 해시형 하드웨어 관련 값(hashed hardware-related value)과 결합하여 소프트웨어가 실행되는 기계에 특정적인 설치 식별 코드를 생성할 수 있다. 일반적으로, 그 소프트웨어가 실행될 수 있게 하는 인증 확인이 고객에게 반환된다. 또한, 이와 관련하여, 인증 확인은 라이선스 파일일 수도 있고, 라이선스를 나타내는 이진수일 수도 있다. 매 번의 로그인 시마다 라이선스형 소프트웨어는 전에 실행되었던 하드웨어와 실제 동일한 하드웨어에서 실행되는지 검사하는 체크를 수행한다. 검사가 실패로 끝나면, 그 소프트웨어가 다시 실행되기 전에 재인증이 요구된다.
기업 고객은 일반적으로 볼륨 라이선스를 구입한다. 자기의 도메인으로 수백 또는 수천의 기계를 보유한 기업 고객이 매 소프트웨어 카피를 설치할 때마다 기계-특정적 인증 코드를 부여받기 위하여 소프트웨어 벤더와 접촉하는 것은 실제로 불가능하다. 그러므로, 대개의 경우, 볼륨 라이선스 키가 검출된 경우 소프트웨어는 인증 요건을 통과하기 때문에, 볼륨 라이선스 보유자는 자신의 소프트웨어를 인증받기 위하여 소프트웨어 벤더와 접촉할 필요가 없다. 그러므로, 동일한 볼 륨 라이선스 키가 많은 상이한 컴퓨터들에서 이용될 수 있고, 이러한 경우 유예 기간이 만료되기 전이나 후나, 그 많은 상이한 컴퓨터들 중 어느 것도 소프트웨어 실행을 위한 인증을 필요로 하지 않는다. 이와 같이 편리한 특징으로 인하여 볼륨 라이선스 키는 무단 복제의 매혹적 타깃이 되고 있다.
볼륨 라이선스 키를 무단 복제하는 것이 보다 곤란해지도록 하는 방법이 있다면 유용할 것이다.
기업-특정적 VLK, 라이선스 ID, 네트워크 환경 바인딩 해시(network environment binding hashes), 그리고 임의의 정책 데이터(policy data)를 포함한 소프트웨어-벤더-서명형 파일이 라이선스형 소프트웨어와 함께 볼륨 라이선스 보유자에게 제공된다. 이러한 기업-특정적 라이선스 파일은 중앙 서버, 예컨대 설치 서버 상에 저장될 수도 있고, 또는 지역 기계 상에 저장될 수도 있다. 기업-특정적 라이선스 파일은 그 파일이 플로피 디스크에 적합하지 않을 만큼 상당히 큰 것(예컨대, 1.44MB 초과)일 수 있다. 일실시예에서, 무인 설치 스크립트(unattended installation script)가 그 기업-특정적 VLK 라이선스 파일을 참조할 수 있으며 또는 그와 다른 소정 방식(예컨대, 수동이나 자동 파일 카피 동작)에 의한 설치 과정동안이나 그 이후 VLK 라이선스 파일을 적절하게 배치시킬 수도 있다. 그러한 스크립트는 기업-특정적 라이선스 파일의 위치를 포함한다. 로그온 시, 기업-특정적 라이선스 파일이 판독되고, 데이터가 확인되고 소프트웨어가 인증된다. 네트워크에 접속된 동안 소프트웨어 시스템이 라이선스 데이터를 확인하지 못한 경우, 유예 기간 내에는 그러한 소프트웨어가 전체 기능을 다 할 수 있을 것이나, 그 기간이 경과하고 나면 소프트웨어가 제한된 기능 모드에서 작동하게 되거나 사용자가 소프트웨어 벤더에 대해 서명형 연장(signed extension)을 요청할 수 있다. 기계가 네트워크로부터 차단되어 있는 동안 환경 바인딩이 확인되지 못하는 경우, 그 시스템은 네트워크에 다시 접속하기까지 차단된 특징(disconnected features)만으로 작동할 것이다. 소프트웨어가 설치된 각각의 운영 체제(OS) 설치에 대해 고유한 지점에 유예 기간 플래그가 마크된다. 소프트웨어를 통하여 그 플래그가 정당화 될 수 있다.
기업이 소프트웨어 벤더로부터 서명형 VLK 라이선스 파일을 획득하지 못하는 경우, 그 기업은 소프트웨어 벤더가 공급한 하드웨어 장치, 예컨대 스마트카드 등을 이용하여 라이선스 파일을 생성할 수 있다. 소프트웨어 벤더에 대하여 그 컴퓨팅 환경의 특성을 제출할 필요없이 기업 스스로 라이선스 파일을 생성함으로써, 기업은 그 컴퓨팅 환경의 보안 특성을 손상시킬 필요가 없다.
예시적 컴퓨팅 환경
도 1 및 이하의 설명은 본 발명이 구현될 수 있는 적합한 컴퓨팅 환경에 관한 간단하고 일반적인 설명을 제공하고자 하는 것이다. 그러나, 본 발명과 관련하여 핸드헬드 컴퓨팅 장치, 포터블 컴퓨팅 장치, 및 기타 모든 유형의 컴퓨팅 장치도 이용이 예상될 수 있음을 분명히 알아야 한다. 이하 범용 컴퓨터가 설명되지만, 이는 한가지 예일 뿐, 본 발명은 단지 네트워크 서버 정보 처리 상호 운용 가 능성 및 대화 기능을 구비한 신(thin) 클라이언트이면 된다. 따라서, 매우 작거나 간단한 클라이언트 리소스가 관련된 네트워크형 호스트 서비스(networked hosted service) 환경, 예컨대 클라이언트 장치가 월드 와이드 웹으로의 브라우저나 인터페이스로서만 기능하는 네트워크형 환경에서 본 발명이 구현될 수 있다.
반드시 그럴 필요는 없지만, 본 발명은, 개발자가 이용하기 위한 것이며 그리고/또는 하나 이상의 컴퓨터, 예컨대 클라이언트 워크스테이션, 서버, 기타 장치 등에 의하여 실행될 수 있는 컴퓨터-실행가능 명령어, 예컨대 프로그램 모듈 등에 관한 일반적 문맥에서 설명될 네트워크 브라우징 소프트웨어 내에 포함된 애플리케이션 프로그래밍 인터페이스(API)를 통하여 구현될 수 있다. 일반적으로, 프로그램 모듈에는 특정 작업을 수행하거나 특정 추상 데이터 타입을 구현하는 루틴, 프로그램, 객체, 구성 요소, 데이터 구조 등이 포함된다. 일반적으로, 프로그램 모듈의 기능은 여러 다양한 실시예에서 필요에 따라 결합될 수도 있고 분산될 수도 있다. 또한, 당업자라면 본 발명이 이와 다른 컴퓨터 시스템 구성에서도 실시될 수 있음을 알 것이다. 본 발명에 이용되기 적합한 또 다른 주지된 컴퓨팅 시스템, 환경, 및/또는 구성에는 개인용 컴퓨터(PC), 자동 현금 지급기, 서버 컴퓨터, 핸드헬드나 랩탑 장치, 멀티-프로세서 시스템, 마이크로프로세서-기반형 시스템, 프로그램 가능 고객 전자장치, 네트워크 PC, 미니컴퓨터, 메인프레임 컴퓨터 등이 포함되지만 이것에만 한정되는 것은 아니다. 본 발명은 또한 통신 네트워크나 기타 데이터 전송 매체를 통하여 연결된 원격 프로세싱 장치에 의하여 작업이 수행되는 분산 컴퓨팅 환경에서 실시될 수도 있다. 분산 컴퓨팅 환경에서, 프로그램 모듈은 메모리 저장 장치를 포함하는 지역 및 원격 컴퓨터 저장 매체 모두에 배치될 수 있다.
다음으로, 도 1은 본 발명이 구현될 수 있는 적합한 컴퓨팅 시스템 환경(100)의 일예를 도시하고 있지만, 앞서 분명히 언급되듯이, 컴퓨팅 시스템 환경(100)은 본 발명에 적합한 컴퓨팅 환경 중 단지 하나의 예일 뿐이며, 본 발명의 이용 범위나 기능에 어떠한 제한을 가하고자 의도하는 것은 아니다. 또한, 컴퓨팅 환경(100)은 상기 예시적 동작 환경(100)에 도시된 소자 중 임의의 하나 또는 그 소자들의 조합에 어떠한 의존을 한다거나 그에 관한 어떠한 요구 사항을 갖는 것으로 이해되어서는 안된다.
도 1을 참조하면, 본 발명을 구현하기 위한 예시적 시스템은 컴퓨터(110) 형태의 범용 컴퓨팅 장치를 포함한다. 컴퓨터(110)의 소자로는 프로세싱 유닛(120), 시스템 메모리(130), 그리고 시스템 메모리를 포함한 다양한 시스템 소자들을 프로세싱 유닛(120)에 연결시키는 시스템 버스(121)가 포함지되만, 이것에만 한정되는 것은 아니다. 시스템 버스(121)는 다양한 버스 아키텍처(architecture) 중 임의의 것을 이용하는 지역 버스, 메모리 버스나 메모리 제어기, 주변 버스 등 여러 버스 유형 중 임의 유형의 버스일 수 있다. 예로써, 그러한 아키텍처에는 Industry Standard Architecture(ISA) 버스, Micro Channel Architecture(MCA) 버스, 강화 ISA(enhanced ISA), Video Electronics Standards Association(VESA) 버스, 및 Peripheral Component Interconnect(PCI) 버스(Mezzanine 버스라고도 알려짐) 등이 포함되지만, 이것에만 한정되는 것은 아니다.
컴퓨터(110)는 일반적으로 다양한 컴퓨터 판독 가능 매체를 구비한다. 컴퓨터 판독 가능 매체는 컴퓨터(110)가 액세스할 수 있는 임의의 이용 가능 매체일 수 있고, 휘발성 매체 및 비휘발성 매체 모두를 포함하며, 이동가능 매체 및 이동불가능 매체 모두를 포함한다. 예로써, 컴퓨터 판독 가능 매체는 컴퓨터 저장 매체와 통신 매체를 포함하되, 이로써 제한되는 것은 아니다. 컴퓨터 저장 매체는 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터 등의 정보 저장 방법 또는 기법으로써 구현된 휘발성 및 비휘발성 매체, 이동가능 및 이동불가능 매체를 모두 포함한다. 컴퓨터 저장 매체에는 RAM, ROM, EEPROM, 플래시 메모리나 기타 메모리 기술, CDROM, DVD(digital versatile disks) 또는 기타 광디스크 저장 장치, 자기 카세트, 자기 테입, 자기 디스크 저장 장치 또는 기타 자기 저자 장치, 또는 원하는 정보를 저장하는데 이용될 수 있으며 컴퓨터(110)가 액세스할 수 있는 임의의 기타 매체 등이 포함될 수 있지만, 이에 한정되는 것은 아니다. 통신 매체는 일반적으로 반송파 또는 기타 전송 메카니즘 등의 피변조 데이터 신호로 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터 등을 구현하며, 임의의 정보 전달 매체를 포함한다. "피변조 데이터 신호"라는 용어는 그 특성 세트 중 하나 이상을 갖는 신호 또는 신호 내의 정보를 인코딩한 것과 같은 방식으로 변경된 신호를 의미한다. 예로써, 통신 매체에는 유선 네트워크나 직접적-유선 연결 등의 유선 매체와, 음향, RF, 적외선 및 기타 무선 매체 등의 무선 매체가 포함되나, 이로써 제한되는 것은 아니다. 전술한 것들로 구성된 임의의 조합도 컴퓨터 판독 가능 매체의 영역 내에 역시 포함되어야 한다.
시스템 메모리(130)는 ROM(131) 및 RAM(132) 등의 비휘발성 및/또는 휘발성 메모리 형태의 컴퓨터 저장 매체를 포함한다. 시동(start-up) 동안 컴퓨터(110) 내 소자들 간 정보 전달을 돕는 기본 루틴을 포함하는 기본 입출력 시스템(133)(BIOS)은 일반적으로 ROM(131)에 저장된다. RAM(132)은 일반적으로 프로세싱 유닛(120)에 즉시 액세스 가능하고 그리고/또는 그 즉시 프로세싱 유닛(120)에 의하여 처리될 수 있는 데이터 및/또는 프로그램 모듈을 포함한다. 예로써, 도 1a는 운영 체제(134), 애플리케이션 프로그램(135), 기타 프로그램 모듈(136), 그리고 프로그램 데이터(137)를 도시하고 있지만, 이에만 한정되는 것은 아니다.
컴퓨터(110)는 또한 그와 다른 이동가능/이동불가능, 휘발성/비휘발성 저장 매체를 포함할 수도 있다. 단지 예로써, 도 1a는 이동불가능, 비휘발성 자기 매체로부터 판독하거나 그러한 자기 매체에 기록하는 하드디스크 드라이브(141), 이동가능, 비휘발성 자기 디스크(152)로부터 판독하거나 그러한 자기 디스크에 기록하는 자기 디스크 드라이브(151), 그리고 CD ROM을 비롯한 기타 광 매체 등의 이동가능, 비휘발성 광디스크(156)로부터 판독하거나 그러한 광디스크에 기록하는 광 디스크 드라이브(155)를 도시하고 있다. 예시적 동작 환경에 이용될 수 있는 또 다른 이동가능/이동불가능, 휘발성/비휘발성 컴퓨터 저장 매체에는 자기 테입 카세트, 플래시 메모리 카드, DVD, 디지털 비디오 테입, 고체 RAM(solid state RAM), 고체 ROM 등이 포함되나, 이로써 제한되는 것은 아니다. 하드디스크 드라이브(141)는 일반적으로 인터페이스(140) 등의 이동불가능 메모리 인터페이스 를 통하여 시스템 버스(121)로 연결되고, 자기 디스크 드라이브(151) 및 광디스크 드라이브(155)는 일반적으로 인터페이스(150) 등의 이동가능 메모리 인터페이스에 의하여 시스템 버스(121)로 연결된다.
앞서 설명된 도 1에 도시된 드라이브 및 그에 연관된 컴퓨터 저장 매체는 컴퓨터(110)에 대한 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈, 및 기타 데이터 저장 기능을 제공한다. 도 1에서는, 예컨대, 하드디스크 드라이브(141)가 운영 체제(144), 애플리케이션 프로그램(145), 기타 프로그램 모듈(146) 및 프로그램 데이터(147)를 저장하는 것으로 도시되어 있다. 이들 구성 성분들은 운영 체제(134), 애플리케이션 프로그램(135), 기타 프로그램 모듈(136) 및 프로그램 데이터(137)와 동일할 수도 있고 상이할 수도 있음에 유의해야 한다. 여기서는, 최소한 상이한 카피 본임을 나타내기 위하여 운영 체제(144), 애플리케이션 프로그램(145), 기타 프로그램 모듈(146), 및 프로그램 데이터(147)에 상이한 참조번호를 부여하였다. 사용자는 키보드(162)와, 일반적으로 마우스, 트랙볼(trackball) 또는 터치 패드라 불리는 위치 지정 장치(pointing device)(161) 등의 입력 장치를 통하여 컴퓨터(110)로 명령과 정보를 입력할 수 있다. 또 다른 입력 장치(도시되지 않음)로는 마이크로폰, 조이스틱, 게임 패드, 위성 접시, 스캐너 등이 포함될 수 있다. 이들 입력 장치를 비롯한 기타 입력 장치 들은 대개 시스템 버스(121)에 연결된 사용자 입력 인터페이스(160)를 통하여 프로세싱 유닛(120)에 연결되지만, 병렬 포트, 게임 포트 또는 유니버설 직렬 버스(universal serial bus : USB) 등의 버스 구조 및 기타 인터페이스에 의하여 연결될 수도 있다.
모니터(191) 또는 그와 다른 유형의 디스플레이 장치가 또한 비디오 인터페이스(190) 등의 인터페이스를 통하여 시스템 버스(121)에 연결된다. Northbridge 등의 그래픽 인터페이스(182)도 시스템 버스(121)에 연결될 수 있다. Northbridge는 CPU나 호스트 프로세싱 유닛(120)과 통신하는 칩세트(chipset)이고 AGP(accelerated graphics port) 통신을 담당한다. 하나 이상의 그래픽 프로세싱 유닛(GPU)(184)이 그래픽 인터페이스(182)와 통신할 수 있다. 이와 관련하여, GPU(184)는 일반적으로 레지스터 저장 장치(register storage) 등의 온-칩 메모리 저장 장치를 가지며 비디오 메모리(186)와 통신한다. 그러나, GPU(184)는 보조 프로세서의 일예일 뿐이며, 다양한 보조 프로세싱 장치가 컴퓨터(110) 내에 포함될 수 있다. 모니터(191)이나 또 다른 유형의 디스플레이 장치가 또한 비디오 메모리(186)와 교대로 통신할 수 있는 비디오 인터페이스(190) 등의 인터페이스를 통하여 시스템 버스(121)에 연결된다. 컴퓨터는, 모니터(191) 뿐만 아니라, 출력 주변 인터페이스(195)를 통하여 연결될 수 있는 스피커(197) 및 프린터(196) 등의 기타 주변 출력 장치를 포함할 수도 있다.
컴퓨터(110)는 원격 컴퓨터(180)를 비롯한 하나 이상의 원격 컴퓨터로의 논리적 연결(logical connection)을 이용하는 네트워크형 환경에서 동작할 수 있다. 원격 컴퓨터(180)는 개인용 컴퓨터, 서버, 라우터, 네트워크 PC, 피어 장치(peer device) 또는 기타 일반적 네트워크 노드일 수 있고, 도 1a에는 메모리 저장 장치(181)만이 도시되어 있으나, 컴퓨터(110)와 관련하여 전술한 소자들 전체 또는 그 중 일부 소자들을 포함한다. 도 1a에 도시된 논리적 연결은 LAN(local area network)(171) 및 WAN(wide area network)(173)을 포함하지만, 이와 다른 네트워크도 포함할 수 있다. 그러한 네트워크 환경은 사무실, 기업-광역 컴퓨터 네트워크(enterprise-wide computer network), 인트라넷 및 인터넷에서 흔히 찾아볼 수 있다.
LAN 네트워크 환경에서 이용되는 경우, 컴퓨터(110)는 네트워크 인터페이스 즉 어댑터(170)를 통하여 LAN(171)에 연결된다. WAN 네트워크 환경에서 이용되는 경우, 컴퓨터(110)는 일반적으로 모뎀(172)이나, 인터넷 등의 WAN(173)을 통한 통신 확립을 위한 기타 수단을 포함한다. 내장형 또는 외장형의 모뎀(172)은 사용자 입력 인터페이스(160)를 통하여나 기타 적절한 메카니즘에 의하여 시스템 버스(121)에 연결될 수 있다. 네트워크형 환경에서, 컴퓨터(110)와 관련하여 도시된 프로그램 모듈이나 그 일부는 원격 메모리 저장 장치 내에 저장될 수 있다. 예로써, 도 1a는 메모리 장치(181) 상에 상주하는 원격 애플리케이션 프로그램(185)을 도시하고 있으나, 이로써 제한되지는 않는다. 도시된 네트워크 연결은 예시적이고 컴퓨터 간 통신을 확립하는 기타 다른 수단이 이용될 수도 있음을 알아야 한다.
당업자라면 컴퓨터(110)나 기타 클라이언트 장치가 컴퓨터 네트워크의 일부로서 적절히 배치될 수 있음을 알 것이다. 이러한 점에서, 본 발명은 임의의 수의 메모리나 저장 유닛을 포함하는 임의의 컴퓨터 시스템과, 임의의 수의 저장 유닛이나 볼륨 전체에 걸쳐 발생하는 임의의 수의 애플리케이션 및 프로세스에 관련된다. 본 발명은, 원격 저장 장치 또는 지역 저장 장치를 포함하는, 네트워크 환경에 놓인 서버 컴퓨터 및 클라이언트 컴퓨터로 구성된 환경에 적용될 수 있다. 본 발명은 또한 프로그래밍 언어 기능, 번역(interpretation) 및 실행 능력을 갖춘 독립 조작 컴퓨팅 장치에도 적용될 수 있다.
소프트웨어 무단 복제를 방지하기 위한 시스템 및 방법
도 2는 본 발명의 일실시예에 따라 소프트웨어 무단 복제를 방지하기 위한 환경-바인딩-강제형 분산 시스템을 나타내는 블록도이다. 서버(204)나 벤더(202)는 WAN, LAN(유선 또는 무선), 인트라넷, 또는 기타 적합한 네트워크 등을 통하여 하나 이상의 클라이언트(206 또는 208)에 연결될 수 있다. 도 2에서는, 서버(204)의 역할이 초기 라이선스 파일 발견을 위한 것이고 본 발명 구현을 위하여 필요한 것은 아니라는 점에서 그러한 서버(204)가 선택적임을 보여주기 위하여, 본 발명의 대체적 구현을 점선으로 나타내고 있다.
소프트웨어 벤더는 제한되는 것은 아니지만 CD ROM 등의 소정 매체 상에 기록된 볼륨 라이선스형 소프트웨어(212)를 볼륨 라이선스 보유자에게 제공할 수 있다. 소프트웨어(212)에는 기업-특정적 또는 볼륨 라이선스 보유자 특정적 VLK(222)가 첨부될 수 있다. 본 발명의 일실시예에서, VLK(222)는 라이선스 파일(224)이라 불리는 비교적 큰 파일 내에 포함될 수 있다. 라이선스 파일(224)은, 예컨대, 회사와 그 회사에 라이선스가 부여된 제품 ID에 따라 구성될 수 있고, 도메인 제어기(domain controller : DC), 활성 디렉토리(active directory : AD) 등의 명칭으로 구성된 해시와 같은 환경 바인딩 정보를 포함할 수 있다. 예시적 실시예에서, 라이선스 파일은 비교적 큰 시스템 파일이다. 선택된 특정 파일 유형은 이미지나 오디오 파일 포맷 등의 임의 유형의 파일일 수 있으되, 이로써 제한되는 것은 아니다. VLK(222)는 데이터 내 어디에도 포함될 수 있으며, 일실시예에서는 라이선스 파일(224)을 생성하기 위한 비밀 키(private key)로 서명된다. 본 발명의 일실시예에서, 라이선스 파일(224)의 사이즈는 1.44메가바이트(MB)를 넘는, 예컨대, 2MB 정도여서, 그 라이선스 파일(224)이 플로피 디스크 상에 복제되는 것을 방지한다. 본 발명에 관한 일실시예에서, 라이선스 파일(224)은 CD ROM에 기록되는데, 이러한 CD ROM은 그 라이선스 파일(224)만을 포함하고 관련 소프트웨어(212)를 포함한 CD ROM의 볼륨 레이블과는 상이한 볼륨 레이블을 갖는다.
전술한 환경에서는 라이선스 보유자의 소프트웨어(212)가 클라이언트들(206,208)간에 분산되어 있다. 로그온 시, 라이선스 파일(224)이 부정 변경된 것이 아님을 확인하기 위하여, 클라이언트 기계(206,208) 상에 존재하는 인증 코드가 그 라이선스 파일(224)의 내용을 판독한다. 본 명세서에서 이용되는 바에 따르면, 인증이란 소프트웨어 라이선스 데이터 확인, 네트워크 환경 바인딩, 그리고 일정 시간 주기 동안 추가적 바인딩 확인없이 그 소프트웨어가 기능을 수행할 수 있도록 하는 과정의 프로세스를 말한다. 이러한 점에서, 소프트웨어 설치 프로세스 동안, VLK(222) 및/또는 라이선스 파일(224)은, 예컨대, 서버(204)를 거쳐 클라이언트(208)나 클라이언트(206)로 전송될 수 있다. 확인 프로세스에는 라이선스 내에 규정된 바인딩 또는 정책과 비교하여 지역 기계 상의 라이선스를 체크 하는 단계를 포함한다. 서버 위치로부터 라이선스 파일을 수신하는 것은 선택적이다.
라이선스 파일(224)의 무결성은 파일의 서명을 체크함으로써 확인될 수 있다. 라이선스 파일(224)이 부정 변경되지 않았다면, 즉 그 무결성이 확인된다면, 그 소프트웨어는 실행이 허용될 것이다. 라이선스 파일(224)이 부정 변경된 경우라면, 그 소프트웨어는 제한된 기능 모드로 실행될 것이다.
일반적으로 관리자가 대규모의 소프트웨어를 많은 수의 기계에 개별적으로 설치하려면 너무 비용이 많이 들고 시간도 많이 소모된다. 또한, 관리자는 대개 최종 사용자가 개인적으로 그 기계를 인증하는 것을 원하지 않는다. 따라서, 그러한 설치는 일반적으로 무인 또는 원격 프로세스를 이용하여 자동으로 이루어진다.
볼륨 라이선스형 소프트웨어의 인증은 설치 동안 수행될 수도 있고 설치 이후 수행될 수도 있다. 무인 응답 파일은 소프트웨어 설치 루틴과 더불어 정규 설치 프롬프트를 건너뛰도록 하는데 이용되는 텍스트 파일이다. 무인 파일은, 예컨대, 타깃이 되는 기계의 LAN을 통해서나 인터넷을 거쳐서, 최종 사용자를 대신하여, VLK를 자동으로 입력하고, 프록시 설정(proxy setting)을 구성하고, 시스템을 자동으로 인증할 수 있다. 또한, 인증은 명령-라인 스크립트(command-line scripts)를 이용하여 설치 이후 이루어질 수도 있다.
클라이언트(206) 및 클라이언트(208) 등에 볼륨 라이선스형 소프트웨어를 설치할 때, 설치 이미지(installation image)가 무인 파일의 도움으로 마련될 수 있다. 무인 파일은 무인 설치를 가능하게 하는 특별한 스크립트이다. 그 스크립트 를 실행함으로써 소프트웨어(212)가 클라이언트 기계(206,208) 등에 설치된다. 이러한 스크립트는 서버(204)를 포함하여 여러 주지된 위치의 리스트에 라이선스 파일(224)의 위치를 설정한다. 이와 달리, 라이선스 파일(224)이 설치 이미지의 일부인 경우 그 라이선스 파일(224)은 클라이언트 기계 상에 복사될 수 있다. 로그온 시, 라이선스 파일(224)이 판독되고, 데이터가 확인되어 클라이언트 기계(206,208) 등이 인증된다. 시스템이 연결되어 있는 동안 라이선스 파일(224) 내에 지정된 환경 특성이 확인되지 못하는 경우, 시스템은 유예 기간 동안 계속 작동할 것이다. 유예 기간이 경과하면, 시스템은 제한된 기능 모드로 작동할 수도 있고 또는 최종 사용자가 소프트웨어 벤더(202)에 대해 연장을 요청할 수도 있다. 시스템이 차단되어 있는 동안 라이선스 데이터가 확인되지 못한다면, 소프트웨어는 시스템이 다시 네트워크에 연결될 때까지 차단된 상태의 특징만으로 계속하여 작동할 것이다.
여러 실시예에 있어서, 유예 기간이 경과하지 않았고 네트워크는 연결되어 있으나 본 발명의 시스템이 그 환경을 확인하지 못한 경우, 시스템은 누설(leakage)을 체크하고 부가적 유예 기간을 허여할 수 있는 중앙 위치에 접촉할 수 있다. 예컨대, 라이선스 파일 해시와 HWID가 중앙 위치로 전송될 수 있고, 서버는 그 해시를 블랙 리스트와 비교하여 체크하고, 그 다음 클라이언트 위치로 영구 일자를 갖춘 서명형 라이선스를 전송할 수 있다.
이점에 있어서, 일실시예에서는, VLK 파일이 체크에 실패하는 경우, 결과도 실패로 끝난다. 또 다른 실시예에서는, VLK 파일이 체크에 실패하는 경우, 그 VLK 라이선스 파일이 분석될 수 있고, 그런 다음 새로운 라이선스 파일을 위하여 리스트된 여러 서버에 대한 검색이 이루어질 수 있다.
블랙-연산(black-op) 시나리오에서, 기업은 소프트웨어 벤더로부터 VLK 환경과 관련된 라이선스를 얻을 수 없다. 그러므로, 일실시예에 있어서, 블랙-연산의 경우, 기업은 소프트웨어 벤더에 의하여 생산된 하드웨어 피스(들)에 의하여 그 자신의 서명형 라이선스 파일을 생성할 수 있다.
도 3은 본 발명의 일실시예에 따른 소프트웨어 무단 복제 방지용 기업 오프라인 시스템(250)의 블록도이다. 그와 같은 오프라인 시스템에 있어서, 기업은 VLK(222)와 소프트웨어 벤더가 제공한 보안 하드웨어 장치(252)를 받는다. 하드웨어 장치(252)는 포맷에 있어서 라이선스 파일(224)과 동일한 라이선스 파일(225)을 생성하기 위한 서명 동작을 수행할 수 있다. 클라이언트 기계(206,208) 상에의 볼륨 라이선스형 소프트웨어 설치, 인증 프로세스, 및 라이선스 확인 절차는 VLK 라이선스 파일이 서명형이고 소프트웨어 벤더로부터 유래하는 도 2에서 설명된 바와 동일하다. 도 2에서와 같이, 도 3에서는, 점선이 본 발명의 또 다른 구현예를 나타내고 있다.
도 4는 환경 바인딩 강제형 시스템에서 소프트웨어 무단 복제를 보다 곤란하게 하는 방법을 나타내는 흐름도이다. 단계(402)에서, 기업-특정적 VLK와 그에 관련된 라이선스 파일이 수신된다. 하나 이상의 클라이언트 기계 상에의 설치에 대비하여, 관련된 볼륨 라이선스형 소프트웨어의 설치 이미지가 마련될 수 있다. 단계(404)에서, 기업-특정적 또는 볼륨-라이선스-보유자-특정적 라이선스 파일이 중 앙 서버 상에 저장되거나 클라이언트 기계 상에 저장될 수 있다. 기업-특정적 또는 볼륨-라이선스-보유자-특정적 라이선스 파일은 서버와 연관된 클라이언트 기계에 자유로이 액세스할 수 없다. 무인 설치를 수행하기 위한 특별한 스크립트가 마련될 수 있다.
단계(406)에서, 소프트웨어가 클라이언트 기계(들) 상에 설치된다. 단계(408)에서, 스크립트는 예컨대, 윈도우즈 관리 인터페이스(WMI)를 통하여나 하드코드형 레지스트리 키(hardcoded registry key)를 통하여, 클라이언트 기계 상에 배치된 바에 따라 또는 클라이언트 기계에 대하여 라이선스 파일의 위치를 알림으로써 시스템 내에 주지된 위치의 리스트에 라이선스 파일의 위치를 설정한다. 단계(410)에서는, 로그온 시, 인증 루틴이 라이선스 파일의 위치를 검색한다. 라이선스 파일이 원격 서버 상에 존재하는 경우, 스크립트는 예컨대, 인터넷 프로토콜(IP) 어드레스를 비교함으로써, 라이선스 파일의 위치를 선택적으로 확인할 수 있다. 단계(412)에서는, 인증 루틴이 라이선스 파일로부터 데이터를 판독하고, 그 데이터가 확인된 것인지 검증하고, 라이선스 파일에서 지정된 환경 특성을 검증하여, 소프트웨어를 인증한다. 시스템이 연결되어 있는 동안 라이선스 파일 내에 지정된 환경 특성이 검증되지 못하는 경우, 시스템은 유예 기간 동안 계속하여 작동할 것이다. 유예 기간이 경과하고 나면, 시스템이 제한된 기능 모드로 작동하거나 최종 사용자가 소프트웨어 벤더에 대해 연장을 요청할 수 있다. 시스템이 차단되어 있는 동안 라이선스 데이터가 검증되지 못하는 경우, 시스템이 다시 네트워크에 연결되기까지 소프트웨어는 차단된 상태의 특성만으로 계속 작동할 것 이다.
앞서 설명한 예들은 단지 설명을 위하여 제공된 것이며 본 발명을 제한하고자 하는 것은 아님을 알아야 한다. 또한, 애플리케이션 및 서비스가 본 발명에 따른 라이선싱 정보를 획득하도록 하는 적절한 API, 툴 키트(tool kit), 드라이버 코드, 운영 체제, 제어, 독립 조작 또는 다운로드 가능 소프트웨어 객체 등 본 발명을 구현하는 다양한 방법이 있다는 점을 알아야 한다. 본 발명은, API(또는 다른 소프트웨어 객체)의 관점에서, 그리고 본 명세서에 개시된 VLK 라이선싱 기법에 관하여 정보를 주고받는 소프트웨어 또는 하드웨어 객체에서 이용될 것을 의도한 것이다. 따라서, 본 명세서에 개시된 본 발명에 관한 다양한 구현들은 소프트웨어 내에서 이루어질 수 있을 뿐 아니라 전체적으로 하드웨어 내에서 이루어질 수도, 부분적으로는 하드웨어 내에서 그리고 부분적으로는 소프트웨어 내에서 이루어질 수도 있는 특징을 가질 수 있다.
앞서 언급한 바와 같이, 본 발명의 예시적 실시예들이 여러 컴퓨팅 장치 및 네트워크 아키텍처와 관련하여 설명되었으나, 그 기본 개념은 무단 복제를 방지할 필요가 있는 임의의 컴퓨팅 장치나 시스템에 적용될 수 있다. 따라서, 본 발명에 따른 데이터 인코딩/디코딩 기법은 다양한 애플리케이션 및 장치에 적용될 수 있다. 예컨대, 본 발명의 알고리즘 및 하드웨어 구현은, 메모리 내, 컴퓨팅 장치 상 별도의 객체로서, 또 다른 객체의 일부로서, 재사용 가능한 제어(reusable control)로서, 서버로부터 다운로드 가능한 객체로서, 장치나 객체와 네트워크 사이의 중개자로서, 분산형 객체로서, 하드웨어로서라거나, 또는 이들 중 임의의 조 합으로서라면, 컴퓨팅 장치의 운영 체제에도 적용될 수 있다. 본 명세서에서는 예시적인 프로그래밍 언어, 명칭 및 예제가 다양한 선택 사항의 대표로서 선택되었지만, 이러한 언어, 명칭 및 예제가 본 발명을 제한하고자 하는 것은 아니다. 본 발명을 달성하기 위한 제어의 이용에 관한 실시예에 있어서, 본 발명은 .NET 제어의 제공으로 제한되는 것이 아니며, 오히려 본 발명에 따른 무단복제 방지 목적을 달성시키는 임의의 소프트웨어(및/또는 하드웨어) 피스에 관한 보다 일반적인 문맥에서 이해되어야 한다. 당업자라면 본 발명에 관한 다양한 실시예에 의하여 달성되는 것과 동일하거나 유사 또는 등가의 기능을 이루는 객체 코드 및 명명법(nomenclature) 제공에 관한 많은 방법이 있음을 알 것이다. 본 발명은 또한 온라인 경매나 입찰 사이트와 관련해서도 구현될 수 있다.
전술한 바와 같이, 본 명세서에서 개시된 여러 다양한 기법은 하드웨어로나 소프트웨어로 구현될 수 있고, 필요에 따라서는, 그 양자 모두로 구현될 수도 있다. 따라서, 본 발명의 장치 및 방법, 또는 그 일부나 그에 관한 소정의 특징은 예컨대, 플로피 디스켓, CD-ROM, 하드드라이브, 또는 기타 임의의 기계-판독가능 저장 매체 등의 유형 매체(tangible media)로써 구현된 프로그램 코드 형태(명령어)일 수 있으며, 이때 그 프로그램 코드가 로딩되고 컴퓨터 등 기계에 의하여 실행되는 경우에는, 그 기계가 본 발명을 실시하기 위한 장치가 된다. 프로그램 가능 컴퓨터가 프로그램 코드를 실행하는 경우, 컴퓨팅 장치는 일반적으로 프로세서와, 그 프로세서가 판독 가능한 저장 매체(휘발성과 비휘발성 메모리 및/또는 저장 소자)와, 적어도 하나의 입력 장치와, 적어도 하나의 출력 장치를 포함할 것이다. 예컨대, 데이터 프로세싱 API나 재사용 가능 제어 등을 통하여 본 발명에 따른 무단 복제 방지 기법을 이용할 수 있는 하나 이상의 프로그램은 컴퓨터 시스템과 통신할 수 있도록 고수준 절차형(high level procedural) 또는 객체 지향 프로그래밍 언어로써 구현되는 것이 바람직하다. 그러나, 그러한 프로그램은 필요에 따라 어셈블리어나 기계어로 구현될 수 있다. 임의의 경우, 그 언어는 컴파일되거나 인터프리트된 언어이며, 하드웨어 구현과 결합된 것일 수 있다.
본 발명의 방법 및 장치는 또한 소정의 전송 매체를 통하여, 예컨대 전기 배선 또는 케이블을 거쳐서나, 광섬유를 통하여, 또는 기타 임의의 전송 형태에 의하여 전송되는 프로그램 코드 형태로 구현되는 통신에 의하여 실행될 수 있으며, 여기서 프로그램 코드가 기계, 예컨대, EPROM, 게이트 어레이, 프로그램 가능 논리 장치(PLD), 클라이언트 컴퓨터, 비디오 리코더 등, 또는 앞서 개시된 예시적 실시예에서와 같은 신호 처리 능력을 갖춘 수신 기계 등으로 수신되고, 로딩되고, 그 기계에 의하여 실행되는 경우, 본 발명을 실행하는 장치가 된다. 범용 프로세서 상에서 구현되는 경우, 프로그램 코드는 프로세서와 결합하여 본 발명의 기능을 호출하도록 작동하는 유일한 장치가 되도록 한다. 또한, 본 발명과 관련하여 이용되는 임의의 저장 기법은 변함없이 하드웨어 및 소프트웨어의 조합일 수 있다.
본 발명이 다양한 특징을 갖춘 바람직한 실시예와 관련하여 설명되었지만, 본 발명의 범위를 벗어나지 않는 범위에서 본 발명과 동일한 기능을 수행하는 또 다른 실시예들이 이용될 수도 있고, 또한 그러한 범위 내에서 앞서 개시된 실시예에 대한 변형 및 부가가 이루어질 수도 있다. 예컨대, 본 발명에 관한 예시적 네 트워크 환경은 네트워크형 환경, 예컨대 피어 투 피어 네트워크형 환경의 문맥에서 설명되었지만, 당업자라면 본 발명이 그러한 환경으로 제한되지 않으며, 본 출원에서 개시된 바와 같이, 본 발명의 방법은, 유선이건 무선이건, 게임 콘솔, 핸드헬드 컴퓨터, 포터블 컴퓨터 등과 같은 임의의 컴퓨팅 장치나 환경에 적용될 수 있고, 통신 네트워크에 의하여 연결되고 그 네트워크를 거처 상호 작용하는 임의의 수의 컴퓨팅 장치에 적용될 수 있음을 알 것이다. 또한, 특히 무선 네트워크형 장치의 수가 계속 늘어나는 경우, 핸드헬드 장치 운영 체제 및 기타 애플리케이션 특정적 운영 체제를 포함하는 다양한 컴퓨터 플랫폼이 고려될 수 있음을 알아야 한다. 또한, 본 발명은 복수의 프로세싱 칩 또는 장치 내에 구현되거나 그러한 칩 또는 장치 전체에 걸쳐 구현될 수 있으며, 저장 장치도 마찬가지로 복수의 장치 전체에 걸쳐 유효할 수 있다. 그러므로, 본 발명은 어느 한 가지 실시예로 제한되지 않으며, 다만 첨부된 청구범위에 따라 그 폭과 범위가 정해져야 한다.
볼륨 라이선스 환경에서 소프트웨어 무단 복제를 방지하기 위한 방법이 제공된다.

Claims (34)

  1. 볼륨 라이선스 환경(volume license environment)에서 소프트웨어 무단 복제(software piracy)를 방지하는 컴퓨터-구현형(computer-implemented) 방법에 있어서,
    기업-특정적(enterprise-specific) 볼륨 라이선스 파일 내에 삽입된 기업-특정적 볼륨 라이선스 키를 수신하는 단계 - 상기 볼륨 라이선스 키는 복수의 컴퓨터 시스템들에서 관련된 소프트웨어 애플리케이션을 인증(activating)하는 데에 이용되도록 구성됨 - ,
    상기 기업-특정적 볼륨 라이선스 파일을 확인(authenticating)하는 단계; 및
    제1 컴퓨팅 장치 상에서 상기 기업-특정적 볼륨 라이선스 키와 관련된 소프트웨어 패키지(software package)를 인증하는 단계, 및
    제2 컴퓨팅 장치 상에서 상기 기업-특정적 볼륨 라이선스 키와 관련된 소프트웨어 패키지를 인증하는 단계
    를 포함하는 컴퓨터-구현형 방법.
  2. 제1항에 있어서,
    상기 기업-특정적 볼륨 라이선스 키 및 상기 기업-특정적 볼륨 라이선스 파일은 복수의 컴퓨팅 장치 상에 설치할 소프트웨어 패키지에 관련된 컴퓨터-구현형 방법.
  3. 제2항에 있어서,
    상기 제1 컴퓨팅 장치 및 상기 제2 컴퓨팅 장치 상에 상기 소프트웨어 패키지를 설치하는 단계를 더 포함하는 컴퓨터-구현형 방법.
  4. 제3항에 있어서,
    상기 소프트웨어 패키지를 설치하는 단계는 무인 설치용 스크립트 파일(a script file for unattended installation)를 이용하여 수행되는 컴퓨터-구현형 방법.
  5. 제4항에 있어서,
    상기 무인 설치용 스크립트 파일에서 지정된 상기 볼륨 라이선스 키와 상기 볼륨 라이선스 키에 연관된 볼륨 라이선스 파일이 유예 기간(grace period)을 참작하는 것인 컴퓨터-구현형 방법.
  6. 제5항에 있어서,
    상기 제1 컴퓨팅 장치와 상기 제2 컴퓨팅 장치가 온라인으로 연결되어 있고 라이선스 데이터가 확인될 수 없는 경우 상기 시스템은 상기 유예 기간 내에 계속하여 전체 기능을 수행하는 컴퓨터-구현형 방법.
  7. 제6항에 있어서,
    상기 제1 컴퓨팅 장치와 상기 제2 컴퓨팅 장치가 온라인으로 연결되어 있고 상기 라이선스 데이터가 확인될 수 없는 경우 상기 시스템은 상기 유예 기간 밖에서 제한된 기능 모드로 작동하는 컴퓨터-구현형 방법.
  8. 제2항에 있어서,
    상기 제1 컴퓨팅 장치 또는 상기 제2 컴퓨팅 장치 중 적어도 하나 상에 상기 기업-특정적 볼륨 라이선스 파일의 위치를 저장하는 단계를 더 포함하는 컴퓨터-구현형 방법.
  9. 제2항에 있어서,
    상기 파일이 1.5메가바이트를 초과하는 컴퓨터-구현형 방법.
  10. 제4항에 있어서,
    상기 무인 설치용 스크립트 파일은 상기 제1 컴퓨팅 장치 또는 상기 제2 컴퓨팅 장치 중 적어도 하나의 레지스트리(registry) 내에 일반 텍스트 볼륨 라이선스 키(a plain text volume licence key)를 설정하는 컴퓨터-구현형 방법.
  11. 제10항에 있어서,
    상기 일반 텍스트 볼륨 라이선스 키가 단독으로 상기 소프트웨어 패키지를 인증하는데 이용될 수는 없는 컴퓨터-구현형 방법.
  12. 제5항에 있어서,
    라이선스 데이터가 확인될 수 없고 상기 제1 컴퓨팅 장치 및 상기 제2 컴퓨팅 장치가 인터넷에 연결되어 있는 경우 최종 사용자가 유예 기간 동안 서명형 연장(signed extension)을 요청할 수 있는 컴퓨터-구현형 방법.
  13. 제1항에 있어서,
    중앙 위치(central location)에 상기 기업-특정적 볼륨 라이선스 파일을 저장하는 단계를 더 포함하는 컴퓨터-구현형 방법.
  14. 제13항에 있어서,
    상기 중앙 위치가 서버 상에 있는 컴퓨터-구현형 방법.
  15. 제13항에 있어서,
    상기 중앙 위치가 상기 상기 제1 컴퓨팅 장치와 상기 제2 컴퓨팅 장치 중 적어도 하나의 사용자에 의한 직접 액세스(direct access)로부터 보호되는 컴퓨터-구현형 방법.
  16. 제1항에 있어서,
    상기 기업-특정적 볼륨 라이선스 파일은 상기 기업-특정적 볼륨 라이선스 키가 임의로 삽입된 파일로부터 파생된 데이터를 포함하는 컴퓨터-구현형 방법.
  17. 제1항에 있어서,
    상기 기업-특정적 볼륨 라이선스 파일이 비밀 키(private key)로 서명된 컴퓨터-구현형 방법.
  18. 제1항에 있어서,
    상기 기업-특정적 볼륨 라이선스 파일이 제 1 CD ROM 상에 구비된 컴퓨터-구현형 방법.
  19. 제18항에 있어서,
    상기 제 1 CD ROM이 상기 기업-특정적 볼륨 라이선스 파일만을 포함하는 컴퓨터-구현형 방법.
  20. 제18항에 있어서,
    상기 기업-특정적 볼륨 라이선스 파일을 포함한 상기 제 1 CD ROM이 제 1 볼륨 레이블과 연관된 컴퓨터-구현형 방법.
  21. 제20항에 있어서,
    상기 소프트웨어 패키지가 제 2 볼륨 레이블과 연관된 제 2 CD ROM 상에 구비되고 상기 제 1 볼륨 레이블은 상기 제 2 볼륨 레이블과 상이한 컴퓨터-구현형 방법.
  22. 제1항에 있어서,
    상기 기업-특정적 볼륨 라이선스 파일이 상기 소프트웨어 패키지와 동일한 CD ROM 상에 존재하는 컴퓨터-구현형 방법.
  23. 제1항에 있어서,
    상기 기업-특정적 라이선스 파일이 소프트웨어 벤더가 아니라 상기 기업에 의하여 생성되는 컴퓨터-구현형 방법.
  24. 제23항에 있어서,
    상기 기업이 상기 소프트웨어 벤더로부터 특정 VLK를 수신하는 컴퓨터-구현형 방법.
  25. 제23항에 있어서,
    상기 기업이 상기 소프트웨어 벤더가 제공한 적어도 하나의 하드웨어 장치를 이용하여 라이선스를 생성하는 컴퓨터-구현형 방법.
  26. 제25항에 있어서,
    상기 하드웨어 장치는 비대칭 키 생성 및 디지털 서명 오퍼레이션(asymmetric key generation and digital signature operation)을 수행할 수 있는 컴퓨터-구현형 방법.
  27. 제1항에 있어서,
    상기 라이선스 데이터가 확인될 수 없고 상기 시스템이 온라인으로 연결되어 있지 않은 경우 상기 시스템이 전체 기능을 수행하는 컴퓨터-구현형 방법.
  28. 제1항의 방법을 수행하기 위한 컴퓨터 실행 가능 명령어를 포함하는 컴퓨터 판독 가능 기록 매체.
  29. 소프트웨어 무단 복제를 방지하기 위한 시스템에 있어서,
    기업-특정적 볼륨 라이선스 파일 내에 삽입된 기업-특정적 볼륨 라이선스 키와 연관된 소프트웨어 패키지;
    상기 기업-특정적 볼륨 라이선스 파일을 저장하는 제 1 컴퓨팅 장치;
    상기 소프트웨어 패키지를 실행시키는 제 2 컴퓨팅 장치;
    상기 기업-특정적 볼륨 라이선스 파일을 확인함에 응답하여 상기 2 컴퓨팅 장치 상에서 상기 소프트웨어 패키지를 인증하는 인증 루틴;
    상기 소프트웨어 패키지를 실행시키는 제3 컴퓨팅 장치; 및
    상기 기업-특정적 볼륨 라이선스 파일을 인증함에 응답하여 상기 제3 컴퓨팅 장치 상에서 상기 소프트웨어 패키지를 인증하는 인증 루틴
    을 포함하는 소프트웨어 무단 복제 방지 시스템.
  30. 제29항에 있어서,
    상기 제 1 컴퓨팅 장치 및 상기 제 2 컴퓨팅 장치가 동일한 컴퓨팅 장치인 소프트웨어 무단 복제 방지 시스템.
  31. 제29항에 있어서,
    상기 기업-특정적 볼륨 라이선스 파일이 상기 기업-특정적 볼륨 라이선스 키가 임의로 삽입된 파일로부터 파생된 데이터를 포함하는 소프트웨어 무단 복제 방지 시스템.
  32. 제29항에 있어서,
    상기 기업-특정적 볼륨 라이선스 파일이 기업 제출형 컴퓨팅 환경 특성(enterprise submitted computing environment characteristics)으로부터 파생된 데이터 및/또는 상기 기업의 ID 및 제품(product)에 관한 정보를 포함하는 소프트웨어 무단 복제 방지 시스템.
  33. 제32항에 있어서,
    상기 파일이 1.5메가바이트를 초과하는 소프트웨어 무단 복제 방지 시스템.
  34. 삭제
KR1020040006098A 2003-01-31 2004-01-30 소프트웨어 무단 복제 방지를 위한 시스템, 컴퓨터-구현형 방법, 및 컴퓨터 판독 가능 기록 매체 KR101008448B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/356,225 2003-01-31
US10/356,225 US7356709B2 (en) 2003-01-31 2003-01-31 Systems and methods for deterring software piracy in a volume license environment

Publications (2)

Publication Number Publication Date
KR20040070084A KR20040070084A (ko) 2004-08-06
KR101008448B1 true KR101008448B1 (ko) 2011-01-14

Family

ID=32655601

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040006098A KR101008448B1 (ko) 2003-01-31 2004-01-30 소프트웨어 무단 복제 방지를 위한 시스템, 컴퓨터-구현형 방법, 및 컴퓨터 판독 가능 기록 매체

Country Status (7)

Country Link
US (1) US7356709B2 (ko)
EP (1) EP1443381B1 (ko)
JP (1) JP4731817B2 (ko)
KR (1) KR101008448B1 (ko)
CN (1) CN100407087C (ko)
AT (1) ATE431596T1 (ko)
DE (1) DE602004021049D1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160107662A (ko) 2015-03-05 2016-09-19 주식회사 청담러닝 인증 서버, 인증 서버의 소프트웨어 라이선스 관리 방법, 및 소프트웨어 라이선스 관리 시스템

Families Citing this family (63)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8181265B2 (en) * 2003-01-31 2012-05-15 Microsoft Corporation Secure machine counting
US7644442B2 (en) * 2003-01-31 2010-01-05 Microsoft Corporation Systems and methods for using machine attributes to deter software piracy in an enterprise environment
US7835520B2 (en) * 2003-02-20 2010-11-16 Zoran Corporation Unique identifier per chip for digital audio/video data encryption/decryption in personal video recorders
US7370212B2 (en) 2003-02-25 2008-05-06 Microsoft Corporation Issuing a publisher use license off-line in a digital rights management (DRM) system
AU2004220645C1 (en) * 2003-03-10 2010-11-18 Mudalla Technology, Inc. Dynamic configuration of a gaming system
US20060063575A1 (en) * 2003-03-10 2006-03-23 Cyberscan Technology, Inc. Dynamic theming of a gaming system
DE10330191A1 (de) * 2003-07-03 2005-02-10 Siemens Ag System bzw. Verfahren zur Freigabe freigabebedürftigter Softwareprogramme
US8898657B2 (en) * 2003-10-03 2014-11-25 Cyberlink Corp. System and method for licensing software
US7788496B2 (en) * 2003-10-08 2010-08-31 Microsoft Corporation First computer process and second computer process proxy-executing code on behalf thereof
US8103592B2 (en) * 2003-10-08 2012-01-24 Microsoft Corporation First computer process and second computer process proxy-executing code on behalf of first process
US7979911B2 (en) * 2003-10-08 2011-07-12 Microsoft Corporation First computer process and second computer process proxy-executing code from third computer process on behalf of first process
US7841533B2 (en) 2003-11-13 2010-11-30 Metrologic Instruments, Inc. Method of capturing and processing digital images of an object within the field of view (FOV) of a hand-supportable digitial image capture and processing system
US20050132357A1 (en) * 2003-12-16 2005-06-16 Microsoft Corporation Ensuring that a software update may be installed or run only on a specific device or class of devices
US7761569B2 (en) * 2004-01-23 2010-07-20 Tiversa, Inc. Method for monitoring and providing information over a peer to peer network
US8156175B2 (en) 2004-01-23 2012-04-10 Tiversa Inc. System and method for searching for specific types of people or information on a peer-to-peer network
US20060242406A1 (en) 2005-04-22 2006-10-26 Microsoft Corporation Protected computing environment
JP2006059163A (ja) * 2004-08-20 2006-03-02 Fujitsu Support & Service Kk ライセンス管理システム、ライセンス管理プログラム、およびライセンス管理方法
JP2006059164A (ja) * 2004-08-20 2006-03-02 Fujitsu Support & Service Kk ライセンス管理端末、ライセンス管理システム、ライセンス管理プログラム、およびライセンス管理方法
US20060064488A1 (en) * 2004-09-17 2006-03-23 Ebert Robert F Electronic software distribution method and system using a digital rights management method based on hardware identification
US20060064756A1 (en) * 2004-09-17 2006-03-23 Ebert Robert F Digital rights management system based on hardware identification
US8347078B2 (en) 2004-10-18 2013-01-01 Microsoft Corporation Device certificate individualization
US8176564B2 (en) 2004-11-15 2012-05-08 Microsoft Corporation Special PC mode entered upon detection of undesired state
US8336085B2 (en) 2004-11-15 2012-12-18 Microsoft Corporation Tuning product policy using observed evidence of customer behavior
US7694153B2 (en) * 2004-11-15 2010-04-06 Microsoft Corporation Changing product behavior in accordance with license
US7712086B2 (en) * 2004-12-15 2010-05-04 Microsoft Corporation Portable applications
US20060195404A1 (en) * 2004-12-29 2006-08-31 Laszlo Elteto System and method for providing grace licensing to disconnected network license users
US20060174346A1 (en) * 2005-01-31 2006-08-03 Lieberman Software Corporation Instrumentation for alarming a software product
WO2006098874A2 (en) * 2005-03-14 2006-09-21 Mark Strickland File sharing methods and systems
US7739238B2 (en) * 2005-03-14 2010-06-15 Mark Strickland Method of digital media management in a file sharing system
US8438645B2 (en) 2005-04-27 2013-05-07 Microsoft Corporation Secure clock with grace periods
US9178940B2 (en) * 2005-04-12 2015-11-03 Tiversa Ip, Inc. System and method for detecting peer-to-peer network software
US7697520B2 (en) * 2005-04-12 2010-04-13 Tiversa, Inc. System for identifying the presence of Peer-to-Peer network software applications
USRE47628E1 (en) 2005-04-12 2019-10-01 Kroll Information Assurance, Llc System for identifying the presence of peer-to-peer network software applications
US8725646B2 (en) 2005-04-15 2014-05-13 Microsoft Corporation Output protection levels
US9436804B2 (en) 2005-04-22 2016-09-06 Microsoft Technology Licensing, Llc Establishing a unique session key using a hardware functionality scan
US9363481B2 (en) 2005-04-22 2016-06-07 Microsoft Technology Licensing, Llc Protected media pipeline
US20060265758A1 (en) 2005-05-20 2006-11-23 Microsoft Corporation Extensible media rights
US8353046B2 (en) 2005-06-08 2013-01-08 Microsoft Corporation System and method for delivery of a modular operating system
US20070041584A1 (en) * 2005-08-16 2007-02-22 O'connor Clint H Method for providing activation key protection
US7917487B2 (en) 2005-12-13 2011-03-29 Microsoft Corporation Portable application registry
US8601467B2 (en) * 2006-10-03 2013-12-03 Salesforce.Com, Inc. Methods and systems for upgrading and installing application packages to an application platform
US20080120416A1 (en) * 2006-11-07 2008-05-22 Tiversa, Inc. System and method for peer to peer compensation
US9021026B2 (en) 2006-11-07 2015-04-28 Tiversa Ip, Inc. System and method for enhanced experience with a peer to peer network
WO2008127608A2 (en) * 2007-04-12 2008-10-23 Tiversa, Inc. A system and method for creating a list of shared information on a peer-to-peer network
CA2727548A1 (en) 2007-06-11 2008-12-18 Tiversa, Inc. System and method for advertising on a peer-to-peer network
EP2223232A4 (en) * 2007-11-16 2015-02-25 Sonic Ip Inc Hierarchical and reduced index structures for multimedia files
EP2260430A2 (en) * 2008-02-22 2010-12-15 Uniloc Usa, Inc. License auditing for distributed applications
US20090249329A1 (en) * 2008-03-25 2009-10-01 Sambit Kumar Dash Limited service life through virtualized service images
US8538889B2 (en) * 2008-06-25 2013-09-17 Microsoft Corporation Application hierarchy and state manipulation
US20100031352A1 (en) * 2008-08-04 2010-02-04 Amarender Reddy Kethireddy System and Method for Enforcing Licenses During Push Install of Software to Target Computers in a Networked Computer Environment
JP5499642B2 (ja) * 2009-11-04 2014-05-21 株式会社リコー ライセンス管理システム、販売管理装置、ライセンス管理装置、ライセンス管理方法、及びプログラム
US8763158B2 (en) 2010-12-06 2014-06-24 Microsoft Corporation Directory service distributed product activation
CN102790754B (zh) * 2011-05-20 2016-01-20 腾讯科技(深圳)有限公司 用户登录方法和系统
US8819427B2 (en) * 2012-06-15 2014-08-26 Iolo Technologies, Llc Device specific secure licensing
EP2887603B1 (en) * 2013-12-18 2019-02-13 SFNT Germany GmbH Controlling an execution of a software application on an execution platform in a first local network
CN103927497B (zh) * 2014-04-25 2017-07-14 华为技术有限公司 Ndm文件保护方法及装置
US10614427B2 (en) * 2016-10-21 2020-04-07 Johnson Controls Technology Company Systems and methods for monetizing building management system software deployment
US10977361B2 (en) 2017-05-16 2021-04-13 Beyondtrust Software, Inc. Systems and methods for controlling privileged operations
JP7187351B2 (ja) * 2019-02-27 2022-12-12 キヤノン株式会社 デバイス管理サーバー、その制御方法及びプログラム
US11528149B2 (en) 2019-04-26 2022-12-13 Beyondtrust Software, Inc. Root-level application selective configuration
CN112866419B (zh) * 2021-03-11 2023-05-02 统信软件技术有限公司 一种激活控制方法、系统及计算设备
CN113496028A (zh) * 2021-06-28 2021-10-12 山东云缦智能科技有限公司 一种具备时间限制功能的软件离线认证的方法
US20240129110A1 (en) 2022-10-17 2024-04-18 Thales Dis Cpl Usa, Inc. System and method of application resource binding

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5204897A (en) 1991-06-28 1993-04-20 Digital Equipment Corporation Management interface for license management system
JPH11238038A (ja) * 1998-02-19 1999-08-31 Iwanami Shoten:Kk ネットワークライセンス管理システムおよび記録媒体
US6134659A (en) 1998-01-07 2000-10-17 Sprong; Katherine A. Controlled usage software
WO2000075760A1 (en) * 1999-06-07 2000-12-14 Firepad, Inc. Method and system for preventing the unauthorized use of software

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5138712A (en) * 1989-10-02 1992-08-11 Sun Microsystems, Inc. Apparatus and method for licensing software on a network of computers
JP3032788B2 (ja) * 1991-05-08 2000-04-17 ディジタル イクイプメント コーポレイション ライセンス管理システム
US5260999A (en) * 1991-06-28 1993-11-09 Digital Equipment Corporation Filters in license management system
US6134324A (en) * 1991-07-31 2000-10-17 Lsi Logic Corporation Method and system for distributing a plurality of software products, and limiting access thereto
US5319705A (en) * 1992-10-21 1994-06-07 International Business Machines Corporation Method and system for multimedia access control enablement
JPH07110767A (ja) * 1993-10-13 1995-04-25 Mitsubishi Electric Corp ソフトウエア使用ライセンス管理制御方法
US5553139A (en) * 1994-04-04 1996-09-03 Novell, Inc. Method and apparatus for electronic license distribution
US5905860A (en) * 1996-03-15 1999-05-18 Novell, Inc. Fault tolerant electronic licensing system
US5754763A (en) * 1996-10-01 1998-05-19 International Business Machines Corporation Software auditing mechanism for a distributed computer enterprise environment
US6108420A (en) * 1997-04-10 2000-08-22 Channelware Inc. Method and system for networked installation of uniquely customized, authenticable, and traceable software application
US6263492B1 (en) * 1997-06-06 2001-07-17 Microsoft Corporation Run time object layout model with object type that differs from the derived object type in the class structure at design time and the ability to store the optimized run time object layout model
US6006035A (en) 1997-12-31 1999-12-21 Network Associates Method and system for custom computer software installation
US6189146B1 (en) * 1998-03-18 2001-02-13 Microsoft Corporation System and method for software licensing
US6226747B1 (en) * 1998-04-10 2001-05-01 Microsoft Corporation Method for preventing software piracy during installation from a read only storage medium
US6223288B1 (en) * 1998-05-22 2001-04-24 Protexis Inc. System for persistently encrypting critical software file to prevent installation of software program on unauthorized computers
US6799277B2 (en) * 1998-06-04 2004-09-28 Z4 Technologies, Inc. System and method for monitoring software
JP3573624B2 (ja) * 1998-07-31 2004-10-06 三菱電機株式会社 ネットワークインストールシステム
US6842896B1 (en) * 1999-09-03 2005-01-11 Rainbow Technologies, Inc. System and method for selecting a server in a multiple server license management system
US20030088516A1 (en) * 1999-12-21 2003-05-08 Eric B. Remer Software anti-piracy licensing
JP4086445B2 (ja) * 2000-03-09 2008-05-14 インターナショナル・ビジネス・マシーンズ・コーポレーション 情報送信方法、ネットワーク・プロバイダ・サーバ、情報端末及び情報端末における方法
US20030050895A1 (en) * 2000-03-31 2003-03-13 Rick Dedrick Automated volume license agreement method and apparatus
US7024696B1 (en) * 2000-06-14 2006-04-04 Reuben Bahar Method and system for prevention of piracy of a given software application via a communications network
JP2002297255A (ja) * 2001-03-30 2002-10-11 Ntt Comware Corp ソフトウェア管理方法、そのシステム、そのプログラム及びそのプログラムが記録された記録媒体
JP2003005855A (ja) * 2001-06-21 2003-01-08 Nec Software Hokkaido Ltd ライセンス管理方法および記録媒体
JP4194772B2 (ja) * 2001-07-05 2008-12-10 ヤフー株式会社 ソフトウェア使用認証方法、ソフトウェア使用認証プログラム、ソフトウェア使用認証プログラムを記録した記録媒体、ソフトウェア使用認証方法で用いられるデータ、このデータを記録した記録媒体
CN1369809A (zh) * 2002-01-14 2002-09-18 张国柱 一种批量生产的计算机软件的注册码防盗版加密方法
US7742992B2 (en) * 2002-02-05 2010-06-22 Pace Anti-Piracy Delivery of a secure software license for a software product and a toolset for creating the software product

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5204897A (en) 1991-06-28 1993-04-20 Digital Equipment Corporation Management interface for license management system
US6134659A (en) 1998-01-07 2000-10-17 Sprong; Katherine A. Controlled usage software
JPH11238038A (ja) * 1998-02-19 1999-08-31 Iwanami Shoten:Kk ネットワークライセンス管理システムおよび記録媒体
WO2000075760A1 (en) * 1999-06-07 2000-12-14 Firepad, Inc. Method and system for preventing the unauthorized use of software

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160107662A (ko) 2015-03-05 2016-09-19 주식회사 청담러닝 인증 서버, 인증 서버의 소프트웨어 라이선스 관리 방법, 및 소프트웨어 라이선스 관리 시스템

Also Published As

Publication number Publication date
CN100407087C (zh) 2008-07-30
US20040153658A1 (en) 2004-08-05
EP1443381B1 (en) 2009-05-13
EP1443381A3 (en) 2006-05-17
ATE431596T1 (de) 2009-05-15
CN1519676A (zh) 2004-08-11
JP4731817B2 (ja) 2011-07-27
DE602004021049D1 (de) 2009-06-25
US7356709B2 (en) 2008-04-08
JP2004234668A (ja) 2004-08-19
EP1443381A2 (en) 2004-08-04
KR20040070084A (ko) 2004-08-06

Similar Documents

Publication Publication Date Title
KR101008448B1 (ko) 소프트웨어 무단 복제 방지를 위한 시스템, 컴퓨터-구현형 방법, 및 컴퓨터 판독 가능 기록 매체
KR101075380B1 (ko) 볼륨 라이센스 환경에서 소프트웨어 무단복제를 방지하는컴퓨터 구현 방법, 시스템 및 컴퓨터 판독가능 매체
US20080295174A1 (en) Method and System for Preventing Unauthorized Access and Distribution of Digital Data
US10097535B1 (en) Methods and apparatuses for securely operating shared host computers with portable apparatuses
US8745713B1 (en) Method and service for securing a system networked to a cloud computing environment from malicious code attacks
KR101301332B1 (ko) 보안 기계 카운팅
US8245293B2 (en) Methods and apparatuses for securely operating shared host computers with portable apparatuses
JP4116024B2 (ja) ペリフェラルの使用管理方法、電子システム及びその構成装置
EP2341458B1 (en) Method and device for detecting if a computer file has been copied
US20240129110A1 (en) System and method of application resource binding
JP5295156B2 (ja) 情報処理装置及びソフトウェアの不正使用防止方法
JP2017058711A (ja) ライセンス管理装置、ライセンス管理システム、ライセンス管理プログラムおよびライセンス管理方法
KR20040079376A (ko) 파일 시스템 정보 데이터를 이용한 디지털 컨텐츠의 불법복제 방지 방법
KR20040087971A (ko) 파일 시스템 정보 데이터를 이용한 디지털 컨텐츠의 불법복제 방지 방법
KR20040077649A (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: 20131227

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20141230

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20151217

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20161220

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20171219

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20181226

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20191217

Year of fee payment: 10