KR20040079375A - 파일 시스템 정보 데이터를 이용한 디지털 컨텐츠의 불법복제 방지 시스템 - Google Patents

파일 시스템 정보 데이터를 이용한 디지털 컨텐츠의 불법복제 방지 시스템 Download PDF

Info

Publication number
KR20040079375A
KR20040079375A KR1020040066262A KR20040066262A KR20040079375A KR 20040079375 A KR20040079375 A KR 20040079375A KR 1020040066262 A KR1020040066262 A KR 1020040066262A KR 20040066262 A KR20040066262 A KR 20040066262A KR 20040079375 A KR20040079375 A KR 20040079375A
Authority
KR
South Korea
Prior art keywords
file
file system
system information
data
client
Prior art date
Application number
KR1020040066262A
Other languages
English (en)
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 KR1020040066262A priority Critical patent/KR20040079375A/ko
Publication of KR20040079375A publication Critical patent/KR20040079375A/ko

Links

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]
    • 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)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 파일 시스템 정보 데이터를 이용한 디지털 컨텐츠 불법 복제 방지 시스템에 관한 것으로, 컴퓨터 또는 디지털 저장장치에 파일 또는 디지털 컨텐츠가 생성되거나 다운로드 되는 시점에 파일 시스템 정보를 해당 파일 또는 디지털 컨텐츠에 암호화하여 삽입한 후, 해당 컴퓨터 또는 컴퓨팅 시스템에서 파일 시스템 정보가 암호화되어 있는 파일 또는 디지털 컨텐츠를 사용하는 경우에 대하여, 운영 체제에 탑재되어 있는 파일 시스템 정보와 해당 파일 또는 디지털 컨텐츠에 암호화되어 있는 파일 시스템 정보를 비교 분석하여, 해당 파일 또는 디지털 컨텐츠가 불법 복제 된 것인지를 판단함으로써, 동일한 시스템 내에서의 파일 이동은 가능하지만, 동일한 시스템에서의 파일 복사를 이용한 디지털 컨텐츠 복제, 플로피 디스크나 CD와 같은 이동형 저장 장치로의 디지털 컨텐츠 복제, 그리고 LAN(Local Area Network)이나 인터넷을 통한 디지털 컨텐츠의 불법적인 복제 및 배포를 원천적으로 차단하는 시스템에 관한 것이다.

Description

파일 시스템 정보 데이터를 이용한 디지털 컨텐츠의 불법 복제 방지 시스템{System for Keeping off Illegal Copy of Digital Contents by using the file system information Data}
본 발명은 컴퓨터 또는 디지털 저장장치에 파일 또는 디지털 컨텐츠가 생성되거나 다운로드 되는 시점에 파일 시스템 정보를 해당 파일 또는 디지털 컨텐츠에 암호화하여 삽입한 후, 해당 컴퓨터 또는 컴퓨팅 시스템에서 파일 시스템 정보가 암호화되어 있는 파일 또는 디지털 컨텐츠를 사용하는 경우에 대하여, 운영 체제에 탑재되어 있는 파일 시스템 정보와 해당 파일 또는 디지털 컨텐츠에 암호화되어 있는 파일 시스템 정보를 비교 분석하여, 해당 파일 또는 디지털 컨텐츠가 불법 복제 된 것인지를 판단함으로써, 동일한 시스템 내에서의 파일 이동은 가능하지만, 동일한 시스템에서의 파일 복사를 이용한 디지털 컨텐츠 복제, 플로피 디스크나 CD와 같은 이동형 저장 장치로의 디지털 컨텐츠 복제, 그리고 LAN(Local Area Network)이나 인터넷을 통한 디지털 컨텐츠의 불법적인 복제 및 배포를 원천적으로 차단하는 시스템에 관한 것이다.
컴퓨터 기술과 네트워크 인프라와 같은 정보 통신 분야의 발달로 인하여 컴퓨터 및 인터넷 사용 인구가 빠르게 증가하고 있으며, 이와 같은 컴퓨터 및 인터넷 사용자가 디지털 컨텐츠의 수용자로 인식되면서 그동안 오프라인 매체를 이용하던 문자 정보, 이미지, 오디오, 그리고 비디오와 같은 다양한 컨텐츠들이 디지털화되거나 디지털화된 매체로만 사용 가능한 컨텐츠들이 생성되고 있다. 그러나 정보 통신 분야의 발달은 기 서술한 디지털 컨텐츠를 원본의 손상 없이 대량 복제하고, 이것을 무제한 적으로 배포할 수 있는 기술을 포함하고 있으며, 이와 같은 디지털 컨텐츠의 불법 복제 및 배포를 방지하고 저작권을 보고하기 위한 기술에 대한 요구가증가하고 있으며, 이와 같은 요구에 의해 디지털 컨텐츠에 대한 다양한 불법 복사 및 배포 방지 기술이 발표되고 있다.
기 서술한 디지털 컨텐츠에 대한 불법 복제와 배포를 방지하는 방법에는 사용자 인증이라는 과정을 통해서 적법한 사용자만이 디지털 컨텐츠에 접근이 가능하도록 하는 방법, 스크램블과 디스크램블이라는 암호화 과정을 통해 암호키를 보유하고 있는 적법한 사용자와 허가된 시스템에서만 디지털 컨텐츠를 사용할 수 있도록 하는 방법, 그리고 디지털 컨텐츠 직접적으로 저작권에 대한 정보를 삽입하여 저작권 정보를 추척하는 방법 등이 있으며, 이러한 방법 중에서 현재까지 실용화되거나 개발 중인 기술에는 디지털 컨텐츠를 암호화하여 사용료를 지불한 적법한 사용자에게만 실행되도록 하는 DRM(Digital Rights Management) 기술, 저작권 정보를 디지털 컨텐츠에 포함하여 불법 복제와 배포를 추적하여 복제를 방지하는 워터마킹(Watermarking) 기술, 그리고 디지털 컨텐츠의 속성을 조작하여 실행 시간이나 프린트 기능 등을 제한함으로써 불법 복제를 방지하는 DPP(Digital Property Protection) 기술 등이 있다.
DRM은 인증된 컨텐츠 제공 환경과 네트워크 인프라를 통해 디지털 컨텐츠에 대한 라이센스 인증, 저작권과 승인 내역 관리, 컨텐츠 사용 권리와 승인 집행, 그리고 컨텐츠 사용에 대한 결제를 수행하는 관리 방법으로써, 암호화 기술을 이용하여 디지털 컨텐츠를 암호화 파일로 생성하여 인터넷이나 CD와 같은 이동형 저장 장치를 통해 배포한 후, 해당 디지털 컨텐츠에 대한 사용료를 지불한 적법한 사용자에게만 컨텐츠 사용을 허락하는 디지털 컨텐츠 관리 기술이다. DRM을 통해 배포된 디지털 컨텐츠는 해당 사용자에 의해서 자유롭게 재배포할 수 있으며, 해당 디지털 컨텐츠를 사용하는 과정에서 사용료를 지불하게 하는 방법으로써, 사용료를 지불하지 않고는 해당 디지털 컨텐츠를 사용할 수 없다.
그러나, 현존하는 일반적인 암호화 기술을 이용하여 단순히 디지털 컨텐츠 파일만을 암호화하여 불법 복제를 방지하는 방법은 부적절한 방법에 의해 비교적 쉽게 파괴될 수 있으며, 적법한 과정을 거쳐 컨텐츠에 대한 사용 권리를 획득한 사용자가 자신의 인증키와 함께 해당 디지털 컨텐츠를 재배포하거나, 부적절한 방법으로 인증키를 도용하는 경우에는 불법 복제를 원천적으로 방지할 수 없다는 단점이 있다.
워터마킹은 원래 책이나 미술 작품의 제작자 또는 소유자가 해당 작품에 대한 소유권을 증명하기 위하여 육안으로 구별할 수 없는 물, 특수 잉크, 또는 약품 등을 이용하여 작품에 표시를 하는 것이었지만, 본 발명에서 워터마킹 기술이라함은 컴퓨터 또는 인터넷 상에 존재하는 디지털 데이터 형태의 컨텐츠에 워터마킹 정보를 삽입하는 디지털 워터마킹 기술을 의미한다. 워터마킹 기술은 상기와 같이 디지털 컨텐츠에 인간의 감각으로 구별할 수 없는 정보를 삽입하여 소유권 또는 저작권을 표시하는 방법으로써, 해당 디지털 컨텐츠의 저작권 정보를 인간의 감각 시스템으로 구별할 수 없는 정보 또는 컴퓨터 장치의 한계에 의해 디지털 컨텐츠에서 처리할 수 없는 정보의 형태로 디지털 컨텐츠 데이터에 삽입하고, 이것을 통해 불법 복제를 방지하는 기술이다. 이와 같은 워터마킹이 적용되는 디지털 컨텐츠에는 문자 데이터, 이미지, 오디오, 그리고 비디오 등이 있으며, 이외에도 다양한 디지털 데이터의 위변조 방지 시스템 등에 활용되고 있다. 그 중에서 디지털 컨텐츠에 적용되고 있는 대표적인 워터마킹 기법을 설명하면 다음과 같다.
문자 워터마킹은 컨텐츠에 사용되는 글자의 모양(Serif)을 조금씩 변경하거나, 글자간 간격을 조정한다든지, 또는 줄 간격을 임의로 조정함으로써 워터마크를 삽입하는 기술로써, 컨텐츠에 사용되는 문자의 서식을 변경하여 워터마크를 삽입하는 방법이다. 그러나 문자 워터마킹은 지원되지 않는 글자 모양에 대해서는 워터마크의 삽입 여부를 가려낼 수 없으며, 설령 글자 모양이 지원된다고 하더라도 일부분을 위변조하면 이것을 검출할 수 없다는 단점이 있다.
이미지 워터마킹은 인간의 시각 시스템(Human Visual System;HVS)이 갖고 있는 속성을 이용하여 인간의 시각으로 구분하기 어려운 저작권 정보를 이미지 데이터 안에 삽입하는 기술로써, 디지털 컨텐츠에 대한 워터마크의 가시성 여부에 따라 가시성 워터마킹과 비가시성 워터마킹이 있으며, 비가시성 워터마킹은 공간평면(Spatial Domain) 워터마킹과 주파수평면(Frequency Domain) 워터마킹 등이 있다. 그러나 가시성 워터마킹은 원본 이미지가 손실된다는 단점이 있고, 공간평면 워터마킹은 워터마크의 삽입이나 추출이 비교적 간단한 반면에 일반적인 신호처리나 비선형 필터링, 회전, 절단, 이동, 확대, 축소, 그리고 변환 등과 같은 영상처리, 그리고 간단한 컨텐츠 압축 등에 의해서 워터마크가 소실될 가능성이 크다는 단점이있고, 주파수평면 워터마킹은 워터마크 삽입과 추출과정에서 푸리에변환과 같은 복잡한 알고리즘이 사용되기 때문에 알고리즘이 복잡하고 컨텐츠 크기에 비해 많은 연산량이 필요하다는 단점이 있다.
오디오 워터마킹은 인간의 청각 시스템(Human Autitory System;HAS)이 갖고 있는 속성을 이용하여 인간의 청각으로 구분하기 어려운 노이즈 데이터에 저작권 정보를 삽입하는 기술로써, 1분에 10MB 이상의 저장공간이 필요하던 오디오 데이터가 다양한 압축 코덱을 이용하여 수십 KB정도로 압축이 가능하고, 이렇게 압축된 오디오 데이터가 인터넷 상에 무제한적으로 배포되면서 발생하는 저작권 문제를 해결하기 위해, 오디오 워터마킹은 오디오 신호처리와 압축 코덱에 대한 견고성과 비가청성의 요건을 충족해야 한다. 그러나 오디오 워터마킹은 가장 대표적인 오디오 매체인 CD로부터 MP3로 오디오 데이터가 복제되는 것을 방지할 수 있는 근본적인 해결책을 제시하지 못하며, CD로부터 MP3로 복제를 원천적으로 방지할 경우 소비자로부터의 거부감, 법률적인 문제, 그리고 개인적인 용도로의 허가된 복제도 불가능해진다는 단점이 있다.
비디오 워터마킹은 이미지 워터마킹과 마찬가지로 HVS를 이용하여 저작권 정보를 비디오 데이터 안에 삽입하거나, HVS와 HAS 등을 이용하여 비디오 데이터 안에 저작권 정보를 삽입하는 기술로써, 이미지 워터마킹에 비해 워터마크가 실시간으로 검출되어야 하는 특징을 가지고 있다. 그러나 비디오 워터마킹 역시 이미지 워터마킹과 마찬가지로 압축 및 영상 처리 과정에서 소실될 가능성이 크며, 실시간워터마킹 검출을 위해 많은 연산과정을 거쳐야 한다는 단점이 있다.
DPP 기술은 상기 서술한 워터마킹의 단점을 일부 보완하고, DRM보다 적극적인 형태의 저작권 보호 기술로써, 사용자의 컴퓨터에 소프트웨어 보호막을 설치하여 적법한 사용자에게만 컨텐츠를 다운적재 하거나, 사용할 수 있도록 하는 불법 복제 방지 기술이다.
DPP는 디지털 컨텐츠의 속성을 이용하여 컨텐츠의 사용시간, 사용 회수, 사용 기간, 프린트 여부, 컨텐츠 내용의 복사와 붙여넣기 등을 제한하고, 스트리밍 기법을 이용하여 하드디스크에 컨텐츠를 저장하지 못하게 할 수 있으며, 적법한 사용자라 할지라도 해당 컨텐츠의 재배포를 위해서는 추가적인 인증 과정을 거치도록 함으로써, 해당 디지털 컨텐츠의 저작권을 보호하는 기술이다. 게다가 DPP는 DRM과 달리 디지털 컨텐츠 자체의 속성을 이용하여 해당 컨텐츠의 저작권을 보호하기 때문에 클라이언트 서버 시스템의 기존 인터넷뿐만 아니라, 개인대 개인의 데이터 전송 시스템인 P2P(Peer-To-Peer)에도 적용 가능하며, 컴퓨터에 소프트웨어 보호막을 설치해야만 디지털 컨텐츠를 사용할 수 있기 때문에 특정 파일뿐만 아니라 여러 파일을 일괄 관리할 수 있는 특징이 있다.
그러나, 상기와 같은 DPP 기술은 디지털 컨텐츠 속성을 이용하여 저작권을 보호하기 때문에, DRM 보다 적극적이고, P2P 시스템에서 운영될 수 있다는 특징이 있기는 하지만, 컨텐츠 자체에 대한 부적절한 조작에 쉽게 노출되는 단점이 있다.이와 같은 단점을 보완하기 위하여 DPP는 해당 컴퓨터에 설치되어 있는 소프트웨어 보호막을 이용하여 디지털 컨텐츠에 부적절한 방법으로 조작으로 시도하는 순간 해당 디지털 컨텐츠를 스스로 파괴하는 기능을 포함하고 있다. 그러나 디지털 컨텐츠를 다운로드 한 후, 소프트웨어 보호막을 제거하고 부적절한 방법으로 컨텐츠에 조작을 시도하는 경우, 해당 디지털 컨텐츠는 무방비 상태로 노출되며, 이렇게 조작된 디지털 컨텐츠의 재배포를 방지할 수 있는 근본적인 방법이 없다.
본 발명의 목적은 상기와 같은 문제점을 해결하기 위해 컴퓨터 또는 디지털 저장장치에 파일 또는 디지털 컨텐츠가 생성되거나 다운로드 되는 시점에 파일 시스템 정보를 해당 파일 또는 디지털 컨텐츠에 암호화하여 삽입한 후, 해당 컴퓨터 또는 컴퓨팅 시스템에서 파일 시스템 정보가 암호화되어 있는 파일 또는 디지털 컨텐츠를 사용하는 경우에 대하여, 운영 체제에 탑재되어 있는 파일 시스템 정보와 해당 파일 또는 디지털 컨텐츠에 암호화되어 있는 파일 시스템 정보를 비교 분석하여, 해당 파일 또는 디지털 컨텐츠가 불법 복제 된 것인지를 판단함으로써, 동일한 시스템 내에서의 파일 이동은 가능하지만, 동일한 시스템에서의 파일 복사를 이용한 디지털 컨텐츠 복제, 플로피 디스크나 CD와 같은 이동형 저장 장치로의 디지털 컨텐츠 복제, 그리고 LAN(Local Area Network)이나 인터넷을 통한 디지털 컨텐츠의 불법적인 복제 및 배포를 원천적으로 차단하는 시스템을 제공함에 있다.
본 발명의 또 다른 목적은 인터넷 상의 서버에서 제공하는 디지털 컨텐츠를다운로드 하여 클라이언트에 저장하는 과정에서 파일 시스템 정보 삽입부를 이용하여 해당 디지털 컨텐츠에 암호화된 파일 시스템 정보를 삽입하는 방법 및 암호화된 파일 시스템 정보를 삽입하는 설치 프로그램 제작용 소프트웨어, 즉 설치 프로그램 제작용 파일 시스템 정보 삽입부를 이용하여 소프트웨어 설치용 CD를 제작함으로써, 하드디스크와 같은 저장장치에 복사되거나 불법 복제되어 인터넷과 같은 통신망을 통해 소프트웨어가 배포되는 것을 원천적으로 방지하는 방법을 제공함에 있다.
도1은 윈도즈98 아키텍쳐에 대한 간단한 블록도이다.
도2는 도1의 윈도즈 코아 부분을 좀 더 구체화시켜 나타낸 블록도이다.
도3은 윈도즈98의 읽고 쓸 수 있는 저장 장치인 하드디스크의 대표적인 파일 시스템인 FAT의 논리적인 위치에 대한 간단한 구성도이다.
도4는 윈도즈98에서 대표적으로 사용되는 FAT32 파일 시스템에서 긴 파일 이름(Long File Name;LFN) 을 일부 파일 시스템 정보가 저장되고 있는 것에 대한 간단한 위치도이다.
도5는 파일이 생성되는 시점에서 해당 파일에 파일 시스템 정보를 암호화하여 삽입하는 방법에 대한 간단한 블록도이다.
도6은 대용량 원본 데이터에 대하여 파일 생성 정보와 마지막 파일 수정 정보 등을 이용하여 암호화된 FAT32 파일 시스템 정보를 헤더와 같은 파일의 특정 부분에 삽입하는 경우에 대한 간단한 흐름도이다.
도7은 대용량 원본 데이터에 대하여 파일 생성 정보와 마지막 파일 수정 정보 등을 이용하여 암호화된 FAT32 파일 시스템 정보를 워터마킹과 같은 방법을 이용해 원본 데이터에 암호화 처리를 한 후, 이것을 하드디스크에 기록하는 과정에 대한 간단한 흐름도이다.
도8은 하드디스크에 저장되어 있는 파일을 메모리로 읽어온 후, 해당 파일 안에 삽입되어 있는 암호화된 파일 시스템 정보와 커널에 의해 관리되는 해당 파일의 실제 파일 시스템 정보를 비교 분석하여, 해당 파일이 원본 파일인지 복사 또는 불법 복제된 파일인지 확인하는 방법에 대한 간단한 블록도이다.
도9는 하드디스크에서 암호화된 파일 시스템 정보가 포함된 파일을 읽어온 후, 파일 시스템 비교 분석을 통해 해당 파일이 복사본 또는 불법 복제본인지를 확인하는 과정에 대한 간단한 흐름도이다.
도10은 인터넷 상의 컨텐츠 제공 서버에서 다운로드 하는 디지털 컨텐츠를 클라이언트에 탑재되어 있는 FSI를 이용하여 암호화된 파일 시스템 정보를 삽입하는 과정에 대한 간단한 블록도이다.
도11은 컨텐츠 제공 서버에서 클라이언트로 전송하는 데이터에 대하여 암호화된 파일 시스템 정보를 삽입하는 과정에 대한 간단한 흐름도이다.
도12는 정상적인 디지털 컨텐츠 사용권자에 대하여 클라이언트에서 해당 디지털 컨텐츠가 삭제되어 복구가 필요하거나, 전송이 완료되지 않아 재전송이 필요한 경우에 대하여 전송 결과를 저장하고 있는 CCM을 통해 해당 디지털 컨텐츠를 재전송하는 과정에 대한 간단한 흐름도이다.
도13은 컨텐츠 제공 서버를 통해 클라이언트로 전송하는 디지털 컨텐츠에 대하여 FSI를 이용하여 파일 시스템 정보를 암호화하고, 이것을 전송된 원본 데이터에 삽입하는 과정에 대한 간단한 예시도이다.
도14는 클라이언트의 FSI가 컨텐츠 제공 서버에서 전송 받은 원본 데이터에 암호화된 파일 시스템을 삽입하는 과정에서 오류가 발생한 경우에 대한 예시도이다.
도15는 FSI가 탑재된 설치 CD 제작 소프트웨어를 이용하여 암호화된 파일 시스템 정보가 삽입된 설치 파일 및 설치 프로그램을 제작하고, 이것을 CD에 기록하는 방법에 대한 간단한 블록도이다
도16은 도면15와 같은 방법으로 암호화된 파일 시스템 정보가 삽입된 소프트웨어 설치 CD를 제작하는 전용 소프트웨어에서 원본 파일 대한 설치 파일 및 설치 프로그램을 제작하고 있는 예시도이다.
도17은 FSI가 탑재된 설치 CD 제작 소프트웨어를 이용하여 암호화된 파일 시스템 정보가 삽입된 설치 파일 및 설치 프로그램을 제작하고, 이것을 CD에 기록하는 과정에 관한 간단한 흐름도이다.
<도면의 주요부분에 대한 설명>
1000 : 컨텐츠 데이터 베이스(D/B) 1010 : FSI 데이터 베이스(D/B)
1020 : 클라이언트 데이터 베이스(D/B) 1030 : 서버 데몬
1040 : 클라이언트 측 FSI 관리자 1050 : 클라이언트 측 컨텐츠 관리자
1060 : TCP/IP
본 발명은 운영 체제에 탑재되어 있는 파일 시스템을 이용하는 불법 복제 방지 방법으로써, 컴퓨터 또는 디지털 저장장치를 탑재하고 있는 컴퓨팅 시스템에 파일 시스템을 통한 불법 복제 방지 기술을 사용하는 디지털 컨텐츠 생성기(Digital Contents Creator)를 탑재하고, 이 생성기를 이용하여 해당 컴퓨터 또는 디지털 저장장치에 파일 또는 디지털 컨텐츠가 생성되거나 다운로드 되는 시점에 파일 시스템 정보를 해당 파일 또는 디지털 컨텐츠에 암호화하여 삽입한 후, 해당 컴퓨터 또는 컴퓨팅 시스템에서 파일 시스템 정보가 암호화되어 있는 파일 또는 디지털 컨텐츠를 사용하는 경우에 대하여, 운영 체제에 탑재되어 있는 파일 시스템 정보와 해당 파일 또는 디지털 컨텐츠에 암호화되어 있는 파일 시스템 정보를 비교 분석하여, 해당 파일 또는 디지털 컨텐츠가 불법 복제 된 것인지를 판단하고, 불법 복제된 파일 또는 디지털 컨텐츠에 대하여 사용을 제한하는 방법 및 그 부가 기능에 대한 것이다.
본 발명은 개인 및 업무용 컴퓨터에 탑재되는 마이크로소프트사의 DOS(Disk Operating System) 및 모든 윈도우즈 운영체제, 워크스테이션 및 대용량 컴퓨터에 탑재되는 UNIX 계열의 운영체제, 개인 및 워크스테이션을 포함하는 대용량 컴퓨터에 탑재되는 LINUX 계열의 운영체제, 그리고 무선 통신 장치, PDA, 그리고 전자 제품에 탑재되는 실시간 운영체제(Real Time Operating System)를 포함하는 모든 운영체제에 대하여, 해당 운영체제의 파일 시스템 정보를 파일 또는 디지털 컨텐츠에 삽입함으로써 불법 복제를 방지하는 모든 경우를 포함한다.
이하, 개인 및 업무용 컴퓨터에 탑재되는 마이크로소프트사의 윈도즈98(Microsoft Windows 98) 운영체제(이하 윈도즈98)를 이용하여 본 발명의 기술적 특징을 설명하며, 상기 서술한 바와 같이 본 발명이 특정 운영체제 또는 파일 시스템에 한정되지는 않는다.
도면1은 윈도즈98 아키텍쳐에 대한 간단한 블록도이다.
마이크로소프트사의 윈도즈 제품군이 사용할 수 있는 파일 시스템에는 하드디스크와 같이 읽고 쓸 수 있는 저장 장치에 대하여 FAT(File Allocation Table)과 NTFS(NT File System) 등과 같은 파일 시스템이 있고, CD(Compact Disk)나 DVD(Digital Video Disk)와 같이 읽기 전용 저장 장치에 대하여 CDFS(CD File System)와 UDF(Universal Disk Format) 등과 같은 파일 시스템이 있다. 그리고 윈도즈 제품군의 읽고 쓸 수 있는 파일 시스템인 FAT은 각각의 버전 및 특징에 따라 플로피 디스크에서 사용하는 FAT12, DOS나 윈도즈3.1 및 윈도즈95에서 사용하던 FAT16, 그리고 윈도즈95 OSR2 버전 이후 대용량 저장 장치에서 사용하는 FAT32 등으로 나눌 수 있다.
사용자 인터페이스 도구 및 32비트 셸(100)은 윈도즈98 운영체제의 가장 바깥 부분에서 사용자 또는 응용프로그램(105)의 명령을 윈도즈98 코어(110)로 전달하는 역할을 수행하며, MS-DOS, 16비트, 그리고 32비트 응용프로그램에 대하여 동일한 아키텍쳐 상의 레벨을 제공함으로써, 각각의 응용프로그램(105)이 윈도즈98 코어(110)에 접근할 수 있는 인터페이스를 제공하고, 컴퓨팅 시스템 내부, 네트워크, 인트라넷, 그리고 인터넷 상에 존재하는 데이터에 접근할 수 있는 인터페이스를 제공한다. 따라서 윈도즈98에서 운영되는 모든 응용프로그램(105) 및 디지털 컨텐츠는 사용자 인터페이스 도구 및 32비트 셸(100)을 통해서만 윈도즈98 코어(110)에 접근할 수 있다.
도면2는 도1의 윈도즈 코아(110) 부분을 좀 더 구체화시켜 나타낸 블록도이다
윈도즈98 코어(110)는 유저(User)(200), GDI(Graphics Device Interface)(210), 커널(Kernel)(220) 등으로 구성되어 있으며, 유저(200), GDI(210), 커널(220)은 윈도즈98에서 16비트 코드 응용프로그램과 32비트 응용프로그램을 모두 구동시키기 위해 16비트 DLL(Dynamic Link Libraries)과 32비트 DLL이 짝으로 이루어져 있다. 이것은 네트워킹 및 파일 시스템과 같은 입출력 서브시스템과 장치 드라이버 등이 모두 32비트로 이루어져 있는 윈도즈98에서 이전 버전의 윈도즈에서 사용되던 16비트 코드를 지원하기 위한 것이며, 윈도즈98 코어(110)의 구성 요소에 대한 역할을 설명하면 다음과 같다.
유저(User)(200)는 윈도즈98에서 키보드와 마우스 같은 입력장치로부터의 사용자 입력, 윈도우, 아이콘, 그리고 메뉴와 같은 사용자 인터페이스, 그리고 사운드 드라이버, 타이머, 그리고 통신 포트와 같은 주변 장치를 관리하는 역할을 수행하며, 윈도즈98에서 운용되는 응용프로그램 및 디지털 컴포넌트가 상기 장치에 접근하기 위해서는 윈도즈98 코어(110)의 유저 컴포넌트를 거쳐야만 한다.
GDI(210)는 모니터 화면이나 프린터와 같은 그래픽 출력 장치를 관리하는 역할과 모니터와 프린터에 독립적인 장치 드라이버를 통해 해당 출력 장치와 운영 체제가 상호 작용하도록 하는 역할을 수행하며, 윈도즈98에서 그래픽 출력 장치에 접근하거나 해당 장치에 그래픽을 출력시키기 위해서는 반드시 GDI(210)를 거쳐야만 한다.
커널(220)은 파일 입출력 서비스를 포함하는 입출력 연산, 커널 서비스를 경쟁적으로 요청하는 프로세스에 대한 인터럽트 처리, 프로세스의 커널 처리시간을 결정하는 작업 스케즐러, 작업 스케즐에 따른 사용권한 부여, 메모리나 저장장치에대한 운영체제 상의 주소 공간 관리와 가상 메모리 관리, 그리고 시스템 호출 관리 등과 같은 운영체제 상의 실질적인 기능을 제공하는 역할을 수행하며, 운영체제가 시작되면서 메모리상의 보호영역에 적재되어 모든 응용프로그램을 실행하고 필요한 모든 작업을 실질적으로 수행하고 관리한다.
커널(220)은 응용프로그램(105)이 윈도즈98 코어(110) 아래에 있는 가상 장치 관리자(120), 파일 시스템 관리자(125), 구성 관리자(130), 그리고 WDM 드라이버 관리자(135)를 통해 장치 드라이버(140) 및 하드웨어(145)에 접근하기 위해 반드시 거쳐야 하는 경로이며, 윈도즈98에서 운용 가능한 모든 응용프로그램 및 디지털 컨텐츠는 커널(220)을 통해서만 각각의 주어진 기능을 수행할 수 있으며, 커널(220)을 통하지 않고는 어떠한 작업도 정상적으로 수행할 수 없다. 만약 특정 응용프로그램(105)이나 프로세스, 또는 디지털 컨텐츠 등이 커널(220)을 통하지 않고 작업을 처리하려고 하거나, 커널(220)의 기능을 악의적으로 일부 조작하려고 시도하면, 커널(220)은 해당 작업을 예외상황(Exception)으로 처리하여 실행되거나 수행되지 않도록 관리한다.
특히 운영체제에서 파일이나 디지털 컨텐츠를 저장 장치에 읽고 쓰는 경우에 대하여, 커널(220)은 해당 응용프로그램 및 프로세스, 또는 디지털 컨텐츠의 요청에 대하여, 해당 파일이나 디지털 컨텐츠를 실질적으로 저장 장치로부터 읽어와 메모리 상에 적재하거나, 저장 장치로 쓰는 역할을 수행하며, 이 과정에서 발생하는 파일이나 디지털 컨텐츠의 변경 내용을 파일 시스템에 추가, 갱신, 그리고 삭제하는 실질적인 역할을 수행한다. 결국 운영체제에 탑재되어 있는 파일 시스템의 내용은 특정 응용프로그램이나 프로세스에 의해 변경될 수 없고, 악의적인 목적으로 변경을 시도하는 경우에 대해서도 운영체제가 시작되면서 메모리상의 보호영역에 적재되어 있는 커널(220)에 의해 예외상황으로 처리되어 거부되며, 커널(220) 자체에 대한 악의적인 조작을 시도하거나 변경하게 되면, 운영체제 전체가 파괴되거나 변경되기 때문에 해당 파일이나 디지털 컨텐츠에 접근할 수 없게 된다.
가상 장치 관리자(Virtual Machine Manager)(120)는 메모리 상에 적재되어 있는 가상 장치(Virtual Machine;VM)를 통해 응용프로그램(105)이나 프로세스가 하드웨어 장치에 접근하도록 하는 역할을 수행하며, 응용프로그램(105)이나 프로세스가 하드웨어 장치에 직접 접근하는 대신에 커널(220)과 메모리 상에 적재되어 있는 가상 장치(VM)를 통해 해당 하드웨어 장치를 이용할 수 있는 인터페이스를 제공한다. 윈도즈98에는 MS-DOS 응용프로그램을 위한 DOS VM과 16비트 응용프로그램을 위한 Win16 VM, 그리고 32비트 응용프로그램을 위한 Win32 VM 등이 있으며, Win16 VM과 Win32 VM을 모두 일컬어 System VM이라고 한다. 따라서 윈도즈98에서 운용되는 모든 응용프로그램 및 디지털 컨텐츠는, 그것이 설령 DOS 모드 프로그램이라고 할지라도 VM을 통하지 않고 하드웨어(145)에 접근할 수 없게 된다.
예를 들어, 네트워크 카드나 통신 포트와 같은 장치를 통해 데이터가 수신되는 경우에 대하여, 수신된 데이터가 메모리 상에 적재되어 파일로 저장하기까지 커널(220)이 가상 장치 드라이버를 통해 어떠한 프로세스도 해당 데이터에 임의적으로 접근할 수 없도록 보호함으로써 원본 데이터의 조작을 방지한다. 즉, 인터넷을통해 다운로드 되는 데이터는 해당 데이터가 파일의 형태로 저장되거나, 스트림 데이터의 경우 실시간 재생 프로그램에서 재생되기 전까지 어떠한 프로세스도 해당 데이터를 임의로 조작할 수 없으며, 설령 수신되고 있는 원본 데이터를 임의로 조작하기 위해 악의적으로 접근한다고 할지라도, 커널(220)은 예외 상황을 발생시켜 이런 접근을 원천적으로 봉쇄한다.
레지스트리(115)는 운영체제 운용에 필요한 정보를 저장하고 있는 데이터베이스 역할을 수행하며, 레지스트리(115)가 윈도즈98 시스템 운용의 전반에 걸쳐 정보를 저장하고 있지만, 레지스트리(115) 조작을 통해서 본 발명이 이루고자 하는 파일 시스템의 내용을 변조할 수는 없다.
파일 시스템(Installable File System) 관리자(125)는 윈도즈98에서 사용하는 FAT, CDFS, 그리고 UDF와 같은 다양한 파일 시스템들이 상호 호환되도록 하는 역할을 수행하며, 네트워크 리다이렉터(Network Redirector)를 통해 네트워크상에 존재하는 파일에 대하여 접근할 수 있는 인터페이스를 제공하고, 그 외 NTFS와 같이 윈도즈98에 탑재될 수 없는 다른 파일 시스템과 호환을 이루기 위한 인터페이스를 제공한다.
파일 시스템 관리자는 윈도즈98 아키텍쳐의 동일한 계층에 있는 다른 관리자들과 마찬가지로 윈도즈98 코어(110)의 커널(220)에 의해 관리되며, 파일 또는 특정 디지털 컨텐츠가 저장 장치에 기록되는 경우에 대하여 파일 시스템 드라이버(File System Driver)와 블럭 입출력 서브시스템(Block I/O Subsystem)을 통해 해당 데이터를 저장 장치에 기록하고, 이 정보를 파일 시스템에 추가 또는 갱신한다. 이 과정에서 악의적인 목적으로 접근하는 외부 프로세스는 커널에 의해 차단되며, 윈도즈98에서 운영되는 모든 응용프로그램 및 프로세스는 파일이 정상적으로 저장되고, 핸들이 윈도즈로 반환된 후에만, 해당 파일에 접근할 수 있다.
구성 관리자(Configuration Manager)(130)는 시스템 상에 존재하는 버스(bus)와 장치들의 구조적 특징을 이용하여 각각의 장치들이 충돌 없이 운용되도록 관리하는 역할을 수행하고, WDM(Win32 Driver Model) 드라이버 관리자(135)는 하드웨어 제작자가 제공하는 다양한 기능들이 윈도즈98에서 정상적으로 수행 되도록 하는 역할을 한다. 멀티미디어 컨텐츠에 대하여 상기와 같은 관리자는 해당 디지털 컨텐츠가 실행되거나 특정 목적을 이루기 위해 필요한 경우에 호출되며, 레지스트리(115)와 마찬가지로 상기 관리자들이 파일 시스템의 내용을 위, 변조하여 사용될 수는 없다.
도면3은 윈도즈98의 읽고 쓸 수 있는 저장 장치인 하드디스크의 대표적인 파일 시스템인 FAT의 논리적인 위치에 대한 간단한 구성도이다.
FAT는 운영체제가 하드디스크 내의 파일을 유지하고 관리하는 일종의 파일 배치표로써, 파일들이 저장되어 있는 클러스터들의 위치도를 제공하며, 클러스터는 운영체제에 의해 관리되는 파일에 대한 하드디스크 상의 논리적인 저장 단위이다. 하드디스크에 저장되는 파일은 적어도 한 개 이상의 클러스터를 차지하게 되며, 커다란 파일의 경우에 여러 개의 클러스터에 나누어 저장된다. 그러나 비록 하나의파일이 여러 개의 클러스터에 나누어 저장된다고 할지라도 해당 클러스터가 반드시 연속적으로 저장되는 것은 아니며, 하드디스크의 여러 곳에 분리되어 저장된다. FAT은 이런 정보를 보관하고 있으며, 사용자는 특정 파일이 하드디스크 상의 어느 위치에 저장되는 지 알 수 없으며, 단지 파일을 읽어와야 하는 경우에 운영체제 또는 커널(220)이 FAT을 참조하여 해당 파일을 읽어오게 된다.
상기와 같은 FAT에 대한 하드디스크 상의 논리적인 위치는 도면3과 같이 부트 섹터와 루트 폴더 사이에 위치하며, 운영체제 및 사용자에 의해 생성된 모든 폴더와 파일은 루트 폴더 이후에 저장된다. 즉, 어떠한 경우라도 윈도즈98에서 운영되는 응용프로그램 및 프로세스는 부트 섹터와 루트 폴더 사이에 있는 FAT에 접근할 수 없으며, 만약 이 영역에 임의 조작을 위해 접근하는 응용프로그램 및 프로세스가 있으면 커널(220)은 이것을 예외 상황을 통해 차단한다.
그러나, 컴퓨터 기술의 발전과 함께 일부 컴퓨터 바이러스나 악의적인 해킹 프로그램 등은 운영체제 상의 허점을 이용하여 이 영역을 침범할 수도 있다. 이것은 컴퓨터 코드가 논리적인 주소 값을 사용하기 때문에 발생할 수 있는 여러 가능성 중의 한가지이다. 그러나 이렇게 부적절한 방법을 통해 접근한 악의적인 프로세스도 FAT 정보를 조작할 수는 없으며, 만약 FAT 정보의 일부 또는 전체가 조작되면, 운영체제는 정상적으로 운영되지 않으며, 경우에 따라 시스템을 다시 설치해야 하는 경우가 발생한다. 또한 컴퓨터 바이러스나 악의적인 해킹 프로그램은 바이러스 백신 프로그램을 통해 쉽게 제거할 수 있다.
도면4는 윈도즈98에서 대표적으로 사용되는 FAT32 파일 시스템에서 긴 파일 이름(Long File Name;LFN) 을 일부 파일 시스템 정보가 저장되고 있는 것에 대한 간단한 위치도이다.
도면4는 The quick brown.fox라는 LFN을 저장하고 있는 경우에 대한 것이며, FAT32에는 도면4에 포함하고 있는 짧은 파일 엔트리, 첫번째 긴 파일 엔트리, 두번째 긴파일 엔트리 이외에, 파티션 정보, 바이오스 정보(BIOS Parameter Block;BPB), 드라이브 정보(Drive Parameter Block;DPB) 등과 같은 다양한 시스템 정보를 저장하고 있는 시스템 엔트리, 볼륨 ID(Volume ID), 파일에 대한 읽기 전용 또는 쓰기 속성과 같은 다양한 속성 정보 등과 같은 파일 속성 엔트리 등을 포함하고 있다. 도면4는 상기와 같은 다양한 FAT32 정보 중에서 파일의 생성, 복사, 그리고 삭제 시에 커널(220)에 의해 주로 변경, 갱신, 소명되는 파일 정보에 대한 것이며, 본 발명이 상기의 파일 시스템 정보만으로 제한되지는 않는다.
FAT32에서는 FAT16에서 사용되던 8.3 방식의 짧은 파일 이름(Short File Name;SFN)에 대한 호환성을 위해 짧은 파일 엔트리를 포함하고 있으며, FAT32 이후에 지원되는 긴 파일 이름 엔트리는 물론, 파일 생성 시간 및 날짜, 마지막 사용 날짜, 마지막 수정 시간 및 날짜, 파일이 저장되어 있는 클러스터 정보, 그리고 파일 크기 등을 포함하고 있다. 상기 파일 시스템 정보는 해당 파일이 생성되는 시기에 FAT에 저장된 후, 해당 파일이 복사되거나, 사용되거나, 또는 변경 될 때마다수시로 갱신된다.
예를 들어, 사용자가 도면4와 같이 저장되어 있는 The quick brown.fox이라는 LFN을 The quick.fox이라고 수정하면, 해당 파일에 대한 클러스터 정보와 THEQUI~1,FOX이라는 SFN은 그대로 유지하지만, LFN, 마지막 사용 날짜, 파일 생성 시간 및 날짜 등은 커널(220)에 의해 자동으로 변경된다. 만약 사용자가 The quick brown.fox라는 파일을 다른 디렉토리로 복사하면, The quick brown.fox라는 LFN은 그대로 유지되지만, SFN, 마지막 사용 날짜, 파일 생성 시간 및 날짜, 그리고 해당 파일의 클러스터 정보는 커널에 의해 자동으로 변경된다.
그러나, The quick brown.fox라는 파일을 사용하거나, 다른 디렉토리로 이동하는 경우에는 마지막 사용 날짜만 변경될 뿐, 파일 생성 시간 및 날짜, 마지막 수정 시간 및 날짜, 클러스터 정보 등과 같은 나머지 파일 시스템 정보는 그대로 유지된다.
본 발명은 상기와 같이 커널(220)에 의해 자동 변경 및 갱신되는 파일 시스템 정보를 해당 파일의 생성 시에 파일에 암호화하여 삽입하고, 해당 파일을 사용하는 시점에 파일에 암호화되어 삽입된 파일 생성 시의 파일 시스템 정보와 해당 파일이 사용되는 시점의 파일 시스템에 저장되어 있는 파일 시스템 정보를 비교 분석하여 해당 파일의 복제 여부를 판단하는 방법을 제공한다.
본 발명은 상기와 같은 방법을 통해 불법 복제를 방지하는 방법을 제공하는것이지만, 본 발명이 사용하는 파일 시스템 정보가 도면4에 포함된 정보만으로 제한되는 것은 아니다. 단지 도면4에 포함된 파일 정보가 파일의 복사 시에 커널(220)에 의해 자동으로 변경되는 정보로써, 본 발명의 특징을 설명하기에 가장 적합하기 때문에 사용하는 것이며, 본 발명이 사용하는 파일 시스템 정보는 해당 운영체제에 탑재되어 사용되는 파일 시스템의 모든 정보를 포함한다.
이하, 본 발명의 특징을 설명하기 위해 파일의 복사 및 변경 시에 커널(220)에 의해 자동으로 변경되는 파일 생성 정보, 마지막 사용 정보, 그리고 마지막 수정 정보와 같은 정보는 파일 시스템 정보를 통해 본 발명의 특징을 설명한다.
도면5는 파일이 생성되는 시점에서 해당 파일에 파일 시스템 정보를 암호화하여 삽입하는 방법에 대한 간단한 블록도이다.
파일에 암호화된 파일 시스템을 특정 파일에 삽입하기 위해서는 해당 컴퓨터 또는 운영체제에 암호화된 파일 시스템 정보 삽입부(File System Insertion;FSI)(500)가 탑재되어 있어야만 하며, 이것은 운영체제 제작자 또는 해당 소프트웨어 제작자에 의해 공급된다.
FSI는 메모리 상에 존재하는 원본 데이터가 하드디스크 상에 저장되는 시점에, 운영체제의 커널(220)을 통해 해당 파일에서 사용할 파일 시스템 정보를 추출하고, 이것을 공개키 암호화 방식, 비밀키 암호화 방식, 그리고 워터마킹과 같은암호화 방식을 통해 암호화 코드를 생성한다. 이 때 생성되는 암호화 코드는 해당 파일의 특성 및 종류에 따라 다르며, 외부로부터 해당 파일에 대한 악의적인 조작을 방지할 수 있는 가장 최적화 된 방법을 선택한다.
파일 시스템 정보에 대한 암호화 코드가 생성되면, FSI는 원본 데이터에 시스템 락(System Lock)을 걸어 해당 파일에 암호화 코드가 삽입되고 있는 동안 다른 응용프로그램 및 프로세스가 접근할 수 없도록 한다. 이 과정에 대한 시스템 보안은 운영체제의 보호모드에서 이루어지며, 커널(220)은 예외상황 발생을 통해 외부로부터 접근을 원천적으로 차단한다.
원본 데이터에 시스템 락이 걸려 외부로부터의 접근이 차단되면, FSI는 해당 데이터를 암호화된 파일 시스템 정보가 적용 될 수 있는 형태로 가공한다. 이 과정은 해당 파일의 특징 및 적용되는 암호화 방식에 의존적이며, 원본 데이터에 가공이 완료되면, 암호화된 파일 시스템 정보를 해당 데이터에 삽입한다.
FSI는 상기와 같은 과정을 통해 암호화된 파일 시스템 정보가 해당 파일에 정상적으로 삽입되면, 운영체제로 하여금 해당 파일을 하드디스크에 기록하도록 한다. 기록이 완료될 때까지 해당 파일에 대한 시스템 락은 해제되지 않으며, 해당 파일을 하드 디스크에 정상적으로 기록하고, FSI에 의해 암호화되어 삽입된 파일 시스템 정보와 실제 파일 시스템의 정보가 일치하는지 최종 검증을 마친 후, 시스템 락이 해제된다.
도면6과 도면7은 암호화된 파일 시스템 정보를 원본 데이터에 삽입하는 과정에 대한 대표적인 흐름도이다.
도면6과 도면7의 흐름도는 FAT32를 이용한 파일 시스템 정보 삽입 과정에서 대용량 파일을 저장하기 위한 것이며, 저용량 파일 및 다른 파일 시스템을 이용하는 경우에는 각각의 운영체제 및 파일 시스템에 적합한 파일 시스템 정보 삽입 방법이 사용된다. 따라서, 본 발명에서 원본 데이터에 파일 시스템 정보를 삽입하는 과정이 도면6과 도면7의 경우로 한정되지는 않는다.
도면6과 도면7에서 사용되는 파일 시스템 정보는 파일 생성 시간 및 날짜와 같은 파일 생성 정보, 마지막 사용한 날짜와 같은 마지막 사용 정보, 그리고 마지막 파일 수정 시간 및 날짜와 같은 마지막 수정 정보 등이며, 파일 생성 정보와 마지막 수정 정보는 시간과 날짜를 모두 포함하고 있으며, 최소 단위 시간은 초(Second)이고, 마지막 사용 정보는 날짜만 포함되어 있으며, 최소 단위 시간은 일(Day)이다.
만약 원본 데이터의 크기가 수MB 이하라면, 파일 시스템에서 필요한 정보를 추출하고, 암호화 코드를 생성한 후, 이것을 파일에 삽입하고, 하드디스크에 기록하는데 소요되는 시간은 파일 생성 정보와 마지막 수정 정보의 최소 단위인 1초안에 이루어질 수 있다. 그러나, 원본 데이터의 크기가 수십MB에서 수백MB에 이르는경우에는 상기와 같은 과정을 통해 파일을 저장하는데 걸리는 시간이 수초에서 수십 초 정도 걸릴 수 있으며, 이 시간은 해당 컴퓨터 시스템 자원에 따라 유동적이다. 뿐만 아니라, 암호화 코드를 원본 데이터에 삽입하는데 소요되는 시간은 암호화 방법에 따라 달라질 수 있다.
즉, 원본 데이터에 암호화된 파일 시스템 정보를 삽입하는 방법은 파일의 헤더와 같은 특정 부분에 암호화 키를 삽입하는 경우와, 파일의 데이터 일부 또는 전체에 워터마킹과 같은 방법으로 암호화 처리를 하는 경우 등이 있으며, 각각의 경우에 대하여 암호화 코드를 처리하거나 삽입하는 시간에 많은 차이가 발생한다.
도면6은 대용량 원본 데이터에 대하여 파일 생성 정보와 마지막 파일 수정 정보 등을 이용하여 암호화된 FAT32 파일 시스템 정보를 헤더와 같은 파일의 특정 부분에 삽입하는 경우에 대한 간단한 흐름도이다.
원본 데이터에 암호화된 파일 시스템 정보를 삽입하기 위하여, 먼저 원본 데이터를 메모리에 적재하고(600), 커널(220)을 통해 해당 원본 데이터에 Lock을 설정함으로써 외부 응용프로그램이나 프로세스가 접근할 수 없도록 한 후(605), 암호화된 파일 시스템 정보를 삽입할 수 있도록 원본 데이터를 가공한다(615).
원본 데이터 가공이 종료되면, FSI는 커널(220)을 원본 데이터를 하드디스크에 저장하기 위한 핸들(Handle)을 윈도즈98로부터 획득한 후(610), 원본 데이터를하드디스크에 저장한다(620). 이 때 커널(220)에 의해 원본 데이터에 대한 파일 시스템 정보가 자동으로 생성되며, FSI는 이 파일 시스템 정보를 추출하여(625), 주어진 규칙에 의해 암호화한다(630). 그리고 하드디스크에 기록된 원본 데이터에 대하여, 원본 데이터 가공 과정에서 할당된 위치에 암호화된 파일 시스템 삽입한다(635).
암호화된 파일 시스템 정보 삽입이 완료되면, FSI는 해당 파일에 삽입된 파일 시스템 정보와 실제 파일의 파일 시스템 정보를 비교 분석함으로써, 동기화 되어 있는지 검증한다(640). 만약 이 과정에서 암호화되어 삽입된 파일 시스템 정보와 실제 파일 시스템이 동기화 되어 있다면, 원본 데이터를 메모리에서 삭제한 후(645), Lock을 해제하고(655), 파일의 핸들을 윈도즈98에 반환함으로써(660) 다른 응용프로그램 및 프로세스가 접근할 수 있도록 허락한다. 그러나, 동기화 되어 있지 않다면, 파일 시스템을 추출하고, 암호화 한 후, 주어진 위치에 삽입하는 과정을 반복함으로써, 파일에 삽입된 파일 시스템 정보와 실제 파일 시스템 정보를 동기화 시킨다.
도면7은 대용량 원본 데이터에 대하여 파일 생성 정보와 마지막 파일 수정 정보 등을 이용하여 암호화된 FAT32 파일 시스템 정보를 워터마킹과 같은 방법을 이용해 원본 데이터에 암호화 처리를 한 후, 이것을 하드디스크에 기록하는 과정에 대한 간단한 흐름도이다.
원본 데이터에 암호화된 파일 시스템 정보를 삽입하기 위하여, 먼저 원본 데이터를 메모리에 적재하고(700), 커널(220)을 통해 해당 원본 데이터에 Lock을 설정하고(705), 그리고 원본 데이터를 하드디스크에 저장하기 위한 핸들(Handle)을 윈도즈98로부터 획득한다(710).
원본 데이터에 대한 핸들이 획득되면, 커널(220)은 해당 파일에 대한 파일 시스템 정보를 자동으로 생성하며, FSI는 이 파일 시스템 정보를 추출하여(715) 암호화 한 후(720), 이것을 원본 데이터에 삽입하기 위한 스케즐을 작성한다(725). 암호화된 파일 시스템 정보의 삽입 스케즐은 대용량 원본 데이터의 경우에 파일 저장 시작 시간과 저장 완료 시간이 파일 생성 정보와 마지막 수정 정보의 최소 단위 시간 안에서 동기화 되지 않기 때문이며, FSI는 컴퓨터 또는 운영체제의 시스템 자원을 충분히 테스트 한 후, 이 정보를 바탕으로 파일 저장이 완료되는 순간의 파일 시스템 정보가 원본 데이터에 삽입되도록 해당 작업을 스케즐링 한다.
암호화된 파일 시스템 정보의 삽입 스케즐이 작성되면, FSI는 주어진 스케즐에 따라 원본 데이터에 파일 시스템을 이용한 암호화 처리를 하고(730), 이것을 하드디스크에 기록한다(735). 그리고 FSI는 해당 파일에 삽입된 파일 시스템 정보와 실제 파일의 파일 시스템 정보를 비교 분석함으로써(740), 동기화 되어 있는지 검증한다.
만약 이 과정에서 암호화 되어 삽입된 파일 시스템 정보와 실제 파일 시스템이 동기화 되어 있다면, 원본 데이터를 메모리에서 삭제한 후(745), Lock을 해제하고(755), 파일의 핸들을 윈도즈98에 반환함으로써(760) 다른 응용프로그램 및 프로세스가 접근할 수 있도록 허락한다. 그러나, 동기화 되어 있지 않다면, 다시 암호화된 파일 시스템 정보를 삽입하기 위한 스케즐을 작성하고, 원본 데이터를 암호화 처리하고, 이것을 하드디스크에 저장하는 과정을 반복함으로써, 파일에 삽입된 파일 시스템 정보와 실제 파일 시스템 정보를 동기화 시킨다.
도면8은 하드디스크에 저장되어 있는 파일을 메모리로 읽어온 후, 해당 파일 안에 삽입되어 있는 암호화된 파일 시스템 정보와 커널(220)에 의해 관리되는 해당 파일의 실제 파일 시스템 정보를 비교 분석하여, 해당 파일이 원본 파일인지 복사 또는 불법 복제된 파일인지 확인하는 방법에 대한 간단한 블록도이다.
하드디스크에 저장된 파일에 삽입되어 있는 암호화된 파일 시스템 정보의 암호를 해독하고, 이것을 현재 파일 시스템 정보와 비교 분석학 위해서는 해당 컴퓨터 또는 운영체제에 암호화된 파일 시스템 정보 분석부(File System Analyzer;FSA)(800)가 탑재되어 있어야만 하며, 이것은 운영체제 제작자 또는 해당 소프트웨어 제작자에 의해 공급된다.
FSA(800)는 암호화된 파일 시스템 정보가 삽입되어 있는 디지털 컨텐츠 또는 파일을 사용하는 컴퓨터 또는 운영체제에 탑재되며, 소프트웨어 또는 프로세스의 형태로 존재한다. FSA(800)가 파일의 형태로 하드디스크 상에 존재할 때는 본 발명에 의한 암호화된 파일 시스템 정보가 삽입되어 있는 형태로 저장되기 때문에, FSA(800)를 악의적으로 조작하는 것은 본 발명에 의해 원천적으로 방지되며, 소프트웨어의 형태로 존재하는 경우에는 해당 소프트웨어를 실행시킴과 동시에 FSA(800)에 메모리에 적재되어, 이후 해당 소프트웨어서 사용되는 암호화된 파일 시스템 정보가 삽입된 디지털 컨텐츠 또는 파일에 대하여 복사 또는 불법 복제 여부를 확인하며, 프로세스의 형태로 존재하는 경우에는 운영체제가 시작됨과 동시에 메모리에 적재되어, 운영체제가 종료될 때까지 암호화된 파일 시스템 정보가 삽입된 디지털 컨텐츠 및 파일에 대한 복사 또는 불법 여부를 확인한다.
특히, 프로세스의 형태로 운영체제가 시작되면서 메모리로 적재되는 FSA(800)의 경우에는 윈도즈98의 시스템 보호 모드에서 작동하며, 커널(220)에 의해 FSA(800) 자체에 악의적인 조작이 가해지는 것을 원천적으로 봉쇄한다.
FSA(800)가 암호화된 파일 시스템 정보를 이용하여 해당 디지털 컨텐츠 또는 파일이 복사본인지 또는 불법 복제본인지 확인하기 위해서는, 먼저 해당 파일을 하드디스크에서 읽어와 메모리에 적재해야만 한 후, 시스템 락(System Lock)을 걸어 해당 파일에 다른 응용프로그램 또는 프로세스가 접근하는 것을 원천 봉쇄한다. 이 후 FSA(800)의 모든 작업은 시스템 락이 걸려 있는 보호모드 안에서 수행되며, 이 과정에 대한 시스템 보안은 커널(220)의 예외상황을 통해 보호된다.
상기와 같은 과정을 통해 파일이 메모리에 적재되면, FSA(800)는 해당 파일에서 암호화된 파일 시스템 정보를 추출한 후, 암호를 해독한다. 암호해독이 종료되어 해당 파일 안에 삽입되어 있던 파일 시스템 정보가 생성되면, FSA(800)는 해당 파일에 대한 현재 파일 시스템 정보를 추출하고, 파일에 삽입되어 있던 정보와 현재 파일 시스템에서 추출된 정보를 비교 분석하여 해당 파일이 복사본인지 또는 불법 복제물인지 확인한다.
만약 해당 파일이 원본이라면, 이것을 요청한 응용프로그램 또는 프로세스가 사용하도록 허락하지만, 복사본이거나 불법 복제본인 경우에는 해당 파일을 메모리에서 삭제하고, 사용자에게 원본이 아님을 메시지를 통해 알려준다.
도면9는 하드디스크에서 암호화된 파일 시스템 정보가 포함된 파일을 읽어온 후, 파일 시스템 비교 분석을 통해 해당 파일이 복사본 또는 불법 복제본인지를 확인하는 과정에 대한 간단한 흐름도이다.
본 흐름도는 파일을 읽어오려는 응용프로그램 및 프로세스 내부에 탑재되어 있는 FSA(800), 또는 운영체제에 탑재됨으로써 암호화된 파일 시스템 정보를 포함하고 있는 각각의 파일을 읽어오려는 경우에 호출되는 FSA(800) 등을 이용하여 해당 파일 안에 포함되어 있는 파일 시스템 정보를 추출하고, 해당 파일 시스템 정보에 적용된 암호를 해독 한 후, 이것을 현재 파일 시스템 정보와 비교 분석하여 해당 파일의 원본 여부를 확인하는 과정에 대한 것이다.
응용프로그램 및 프로세스 내부에 탑재된 FSA(800)는 암호화된 파일 시스템 정보가 포함되어 있는 파일 또는 디지털 컨텐츠를 사용하는 소프트웨어 또는 프로세스에 포함된 파일 시스템 분석부로써, 해당 소프트웨어 및 프로세스의 개발자에 의해서 제작되어 해당 소프트웨어 및 프로세스에서 사용하는 파일 또는 디지털 컨텐츠에 대하여 내부적으로 복사 및 불법 복제 여부를 확인하는 것이고, 운영체제에 탑재된 FSA(800)는 운영체제 제작자 등에 의해서 해당 운영체제 내부에 포함된 파일 시스템 분석부로써, 운영체제 아키텍쳐상 응용프로그램과 커널(220) 사이의 셸(Shell) 또는 커널(220) 내부에서 암호화된 파일 시스템 정보가 포함되어 있는 파일 또는 디지털 컨텐츠가 메모리로 적재되는 과정에서 해당 파일 또는 디지털 컨텐츠가 복사 또는 불법 복제본 인지를 확인한다.
상기와 같은 FSA(800)가 하드디스크에 저장된 파일을 메모리로 적재하기 위해서는 해당 파일에 대한 핸들을 윈도즈로부터 획득해야만 하며(900), 핸들이 정상적으로 획득된 후에 커널(220)을 통해 파일을 하드디스크에서 읽어온다(905). 일단 하드디스크에서 파일을 읽어오면, FSA(800)는 해당 파일에 Lock을 설정함으로써(910), 외부 응용프로그램 또는 프로세스가 해당 파일에 접근하는 것을 배제하고, 파일에 삽입된 암호화된 파일 시스템 정보를 추출한다(915). FSA(800)는 이렇게 추출된 파일 시스템 정보의 암호를 주어진 규칙에 의해 해독함으로써(920), 해당 파일이 생성되는 시점에 첨부된 원본 파일 시스템 정보를 확인한다(925).
만약 암호 해독이 정상적으로 수행되어, 추출된 파일 시스템 정보가 해당 파일이 생성되는 시점의 원본 파일 시스템 정보임을 확인하면(950), FSA(800)는 운영체제의 파일 시스템으로부터 해당 파일에 대한 현재 파일 시스템 정보를 추출한다(955).
그러나 파일에서 파일 시스템 정보를 추출할 수 없거나, 추출된 파일 시스템 정보의 암호를 해독할 수 없거나, 또는 암호가 해독된 원본 파일 시스템 정보가 정상적인 상태로 보존되어 있지 않음을 확인하면(930), FSA(800)는 암호 해독 불가 메시지를 출력하고(935), 메모리에 적재되어 있는 해당 파일의 정보와 데이터(940), 그리고 하드디스크에 존재하는 파일을 삭제한 후(945), 파일의 lock을 해제하고(990) 핸들을 운영체제로 반환한다(995).
상기와 같은 과정으로 파일에 포함되어 있는 원본 파일 시스템 정보를 추출하면, FSA(800)는 운영체제의 파일 시스템에서 해당 파일에 대한 현재 파일 시스템 정보를 획득하고(925), 이것을 파일에 포함되어 있던 원본 파일 시스템 정보와 비교 분석한다(950). 만약 파일에 포함되어 있던 원본 파일 시스템 정보와 현재 운영체제에서 획득한 파일 시스템 정보가 일치한다면, FSA(800)는 파일에서 원본 데이터를 추출하고(955), 이것을 메모리에 적재한 후(980), 사용권한을 부여하고(985), 파일의 lock을 해제하고(990), 파일의 핸들을 운영체제로 반환함으로써(995), 해당 파일 또는 디지털 컨텐츠를 요청한 응용프로그램 또는 프로세스가 사용하도록 허락한다.
그러나, 파일 시스템 정보가 일치하지 않거나(960), 원본 파일 시스템 정보가 조작되었음을 확인하면, FSA(800)는 해당 파일에 대한 사용 불가 메시지를 출력하고(965), 메모리에 적재되어 있는 해당 파일의 정보와 데이터(970), 그리고 하드디스크에 존재하는 파일을 완전히 삭제한 후(975), 파일의 lock을 해제하고(990), 핸들을 운영체제에 반환한다(995).
이하 첨부된 도면을 참조하여 본 발명의 실시예를 상세히 설명한다. 단, 다음의 실시예는 본 발명을 가장 적절하게 설명하기 위한 여러 가지 방법 중 한 가지이며, 본 발명이 다음의 실시예로 한정되지는 않는다.
본 발명의 첫번째 실시예는 인터넷 상의 서버에서 제공하는 디지털 컨텐츠를 다운로드 하여 클라이언트에 저장하는 과정에서 FSI를 이용하여 해당 디지털 컨텐츠에 암호화된 파일 시스템 정보를 삽입하는 방법에 대한 것이고, 두번째 실시예는 암호화된 파일 시스템 정보를 삽입하는 설치 프로그램 제작용 소프트웨어, 즉 설치 프로그램 제작용 FSI를 이용하여 소프트웨어 설치용 CD를 제작함으로써, 하드디스크와 같은 저장장치에 복사되거나 불법 복제되어 인터넷과 같은 통신망을 통해 소프트웨어가 배포되는 것을 원천적으로 방지하는 방법에 대한 것이다.
도면10은 인터넷 상의 컨텐츠 제공 서버에서 다운로드 하는 디지털 컨텐츠를 클라이언트에 탑재되어 있는 FSI를 이용하여 암호화된 파일 시스템 정보를 삽입하는 과정에 대한 간단한 블록도이다.
본 블록도는 클라이언트에 암호화된 파일 시스템 정보가 삽입되어 있는 원본 디지털 컨텐츠를 생성하는 과정에 대한 간단한 블록도이며, 인터넷 상의 컨텐츠 제공서버에서 다운로드 하는 디지털 컨텐츠에 암호화된 파일 시스템 정보를 삽입하는 과정이 도면10의 경우로 한정되지 않는다.
인터넷 상의 컨텐츠 제공 서버에는 WWW(World Wide Web)를 지원하는 HTTP 서버 데몬이나 FTP(File Transfer Protocol)를 지원하는 FTP 서버 데몬과 같은 서버 데몬(1030)이 탑재되어 있으며, 서버 데몬(1030)에는 클라이언트에게 제공하는 컨텐츠 D/B(1000)가 연결되어 있다.
그리고 서버에는 클라이언트에 탑재되어 있는 FSI(500)를 검색하고, 관리하는 클라이언트 측 FSI 관리자(Client Side FSI Mansger;CSFM)(1040)와 컨텐츠를 다운로드하는 클라이언트를 관리하는 클라이언트 컨텐츠 관리자(Client Contents Manager;CCM)(1050)가 탑재되어 있으며, CSFM(1040)에는 각각의 운영체제에서 사용할 수 있는 최신 버전의 FSI 모듈을 저장하고 있는 FSI D/B(1010)가 연결되어 있고, CCM(1050)에는 클라이언트에 전송된 컨텐츠에 대한 정보를 저장하고 있는 클라이언트 D/B(1020)가 연결되어 있다.
클라이언트에는 컨텐츠 제공 서버를 브라우징할 수 있는 웹 브라우져와, 컨텐츠 제공 서버에서 전송하는 디지털 컨텐츠를 다운로드하고, 이것에 암호화된 파일 시스템 정보를 삽입하여 저장하는 FSI(500) 등이 탑재되어 있다. 클라이언트에 탑재되어 있는 FSI(500)의 구조 및 기능은 도면5와 동일하며, 본 실시예에서 클라이언트 측 FSI(500)는 컨텐츠 제공 서버에 의해 클라이언트에 제공된 것으로 한다.
클라이언트와 컨텐츠 제공 서버는 TCP/IP(Transmission Control Protocol/Internet Protocol)(1060) 프로토콜을 지원하는 인터넷으로 연결되어 있으며, TCP/IP(1060)는 기본적으로 패킷 교환 방식 네트워크를 지원한다.
따라서 인터넷 상에서 전송되는 모든 디지털 컨텐츠는 TCP/IP(1060)의 TCP 계층에 의해 전송하기에 효율적인 작은 크기로 분할되어 전송되며, 이렇게 분할된 각 패킷은 해당 패킷을 수신하는 컴퓨터에 탑재되어 있는 TCP/IP(1060)의 TCP 계층에서 원래의 디지털 컨텐츠로 재조립된다. 이 과정을 패킷 수신 컴퓨터의 파일 시스템 관점에서 보면, 새로운 디지털 컨텐츠, 즉, 새로운 파일이 생성되는 과정과 비슷하며, 이렇게 TCP 계층에서 재조립된 패킷 데이터는 도면5의 원본 데이터와 동일한 역할을 한다.
CSFM(1040)은 클라이언트가 컨텐츠 제공 서버에서 디지털 컨텐츠를 전송 받기 위해 필요한 FSI(500)가 클라이언트에 탑재되어 있는 지를 검색하고, 클라이언트에 FSI(500)가 탑재되어 있지 않거나, 오래된 버전의 FSI(500)가 탑재되어 있는 경우에 대하여 FSI D/B를 통해 최신 버전의 FSI(500)를 해당 클라이언트에 전송하여 탑재시키는 역할과, 전송되는 디지털 컨텐츠에 대하여 클라이언트 측 FSI(500)에서 정상적으로 파일 시스템 정보가 암호화되고, 삽입되는지 관리하는 역할 등을 수행한다. 따라서 컨텐츠 제공 서버에서 클라이언트로 정상적으로 컨텐츠를 전송하고, 관리하기 위해서는 클라이언트 측 FSI(500)와 컨텐츠 제공 서버 측 CSFM(1040)이 동기화 되어야 하며, 이렇게 동기화 된 시스템을 통해 CSFM(1040)은 클라이언트에서 암호화된 파일 시스템 정보가 디지털 컨텐츠에 정상적으로 삽입되는지를 확인한다.
만약 클라이언트에 FSI(500)가 탑재되어 있지 않거나, 클라이언트 측 FSI(500)와 컨텐츠 제공 서버의 CSFM(1040)이 동기화 되어 있지 않거나, 또는 디지털 컨텐츠 전송 중에 동기화가 조작되거나 파괴되면, 전송된 디지털 컨텐츠는 클라이언트에 저장되지 않으며, 메모리에 적재되어 있는 원본 데이터마저 삭제한다.
CCM(1050)은 컨텐츠 제공 서버에서 클라이언트로 디지털 컨텐츠 전송이 완료되고, 암호화된 파일 시스템 정보가 해당 디지털 컨텐츠에 정상적으로 삽입된 후에, CSFM(1040)과 클라이언트 측 FSI(500)를 참조하여 해당 클라이언트에 대한 컨텐츠 정보를 관리하는 역할을 수행한다. 본 발명의 실시예는 클라이언트에 다운로드된 디지털 컨텐츠에 대하여 오직 원본 디지털 컨텐츠에 대한 유효성을 확인하며, 복사본 및 불법 복제를 원천적으로 방지한다. 그러나 클라이언트에서 발생하는 여러 가지 문제는 해당 원본 디지털 컨텐츠를 소실시키거나 저장 장치에서 소멸시킬 수 있으며, 이와 같은 경우에 대하여 원본 디지털 컨텐츠 복구가 근본적으로 불가능하다.
CCM(1050)은 상기와 같은 경우에 대하여 해당 클라이언트로 동일한 디지털 컨텐츠를 재전송함으로써 원본 디지털 컨텐츠를 복구할 수 있는 방법을 제공하며, 동일한 디지털 컨텐츠에 대하여 동일한 클라이언트로의 재전송만 허락하고, 다른 컴퓨터 또는 다른 클라이언트로의 재전송은 허락하지 않는다.
클라이언트 측 FSI(500)는 컨텐츠 제공 서버의 CSFM(1040)과 동기화 된 후, CSFM(1040)의 관리를 통해 도면5와 동일한 과정으로 컨텐츠 제공 서버에서 전송된 디지털 컨텐츠에 암호화된 파일 시스템 정보를 삽입하고, 그 결과를 CCM(1050)에 전송함으로써, 전송된 디지털 컨텐츠의 불법 복사를 방지하고, 이후 소실된 디지털 컨텐츠를 복구 할 수 있도록 하는 역할을 수행한다.
도면11은 컨텐츠 제공 서버에서 클라이언트로 전송하는 데이터에 대하여 암호화된 파일 시스템 정보를 삽입하는 과정에 대한 간단한 흐름도이다.
클라이언트가 컨텐츠 제공 서버에 접속하여 로그인하면(1100), 컨텐츠 제공 서버의 CSFM(1040)은 클라이언트에 FSI(500)가 탑재되어 있는지 확인한다(1101). 만약 컨텐츠 제공 서버에서 제공하는 컨텐츠를 지원하는 최신 버전의 FSI(500)가 탑재되어 있다면, 컨텐츠 제공 서버의 CSFM(1040)은 클라이언트의 FSI(500)와 동기화를 함으로써(1102), 디지털 컨텐츠를 전송하고, 암호화된 파일 시스템 정보를 삽입할 수 있는 조건을 생성한다.
그러나 클라이언트에 FSI(500)가 탑재되어 있지 않거나(1103), CSFM(1040)과 호환되지 않는 FSI(500)가 탑재되어 있거나, 오래된 버전의 FSI(500)가 탑재되어 있다면, CSFM(1040)은 최신 버전의 FSI(500)를 클라이언트에 전송하여 설치함으로써(1104), 컨텐츠 제공 서버의 CSFM(1040)과 클라이언트의 FSI(500)를 자동으로 동기화 시키고(1102), 암호화된 파일 시스템 정보를 삽입할 수 있는 조건을 생성한다.
상기와 같은 과정을 통해 컨텐츠 제공 서버의 CSFM(1040)과 클라이언트의 FSI(500)가 동기화 되면, 컨텐츠 제공 서버는 클라이언트에서 요청하는 디지털 컨텐츠 요청을 정상적으로 수행할 수 있다(1105). 따라서 컨텐츠 제공 서버의 CSFM(1040)과 클라이언트의 FSI(500)가 동기화 된 후, 클라이언트로부터 컨텐츠 제공 서버에 디지털 컨텐츠 전송이 요청되면, CSFM(1040)은 전송 요청이 전송된 시간을 기준으로 FSI(500)와 동기화 되어 있는지 다시 한번 확인한다(1106).
만약 컨텐츠 제공 서버의 CSFM(1040)과 클라이언트의 FSI(500)가 정상적으로 동기화 되어 있음을 확인하면, CSFM(1040)은 클라이언트의 FSI(500)를 통해 현재 전송하는 데이터에 대하여 외부 응용프로그램이나 프로세스가 접근하지 못하도록 Lock을 설정한 후(1107), TCP/IP를 통해 디지털 컨텐츠를 전송한다(1112).
그러나 클라이언트가 디지털 컨텐츠 전송을 요청한 시간을 기준으로 컨텐츠제공 서버의 CSFM(1040)과 클라이언트의 FSI(500)가 정상적으로 동기화 되어 있음을 확인하지 못하면(1108), CSFM(1040)은 클라이언트의 FSI(500)를 통해 디지털 컨텐츠를 다운로드할 수 없다는 메시지를 출력하고(1109), 해당 디지털 컨텐츠에 대한 모든 정보 및 데이터를 삭제한 후(1110), 그 결과를 컨텐츠 제공 서버의 CCM(1050)으로 전송한다(1111).
상기와 같은 데이터 전송 과정은 각각의 데이터 패킷 및 디지털 컨텐츠에 대하여 적용되며, 모든 패킷 및 디지털 컨텐츠의 전송이 완료 될 때까지 반복된다. 만약 상기와 같은 과정을 통해 컨텐츠 제공 서버에서 클라이언트로 디지털 컨텐츠 제공이 완료되면, 클라이언트의 FSI(500)는 TCP/IP의 TCP 계층을 통해 복원된 원본 데이터에 파일 시스템을 암호화하여 삽입한다(1113). 만약 원본 데이터에 암호화된 파일 시스템 정보가 정상적으로 삽입되었다면, FSI(500)는 그 결과를 CCM(1050)으로 전송한 후(1115), 원본 데이터에 대한 Lock을 해제함으로써(1120) 외부 응용프로그램 및 프로세스가 접근할 수 있도록 허락한다.
그러나 반대로 파일 시스템을 암호화하여 원본 데이터에 삽입하는 과정에서 오류가 발생하였다면(1116), FSI(500)는 파일 시스템 삽입 오류 메시지를 출력하고(1117), 메모리 및 하드디스크에서 해당 디지털 컨텐츠를 삭제한 후(1118), 그 결과를 CCM(1050)을 전송한다(1119).
도면12는 정상적인 디지털 컨텐츠 사용권자에 대하여 클라이언트에서 해당디지털 컨텐츠가 삭제되어 복구가 필요하거나, 전송이 완료되지 않아 재전송이 필요한 경우에 대하여 전송 결과를 저장하고 있는 CCM(1050)을 통해 해당 디지털 컨텐츠를 재전송하는 과정에 대한 간단한 흐름도이다.
본 흐름도는 클라이언트에 컨텐츠 제공서버에서 제공하는 최신 버전의 FSI(500)가 탑재되어 있다고 가정한다.
클라이언트 서버가 컨텐츠 제공 서버에 디지털 컨텐츠 재전송을 요청하면(1200), 컨텐츠 제공서버의 CSFM(1040)은 클라이언트 측 FSI(500)와 동기화 되어 있는지 확인하고(1201), 동기화 되어 있는 경우에 대하여 CCM(1050)의 정보를 참조하여 해당 디지털 컨텐츠의 재전송 여부를 결정한다(1202).
CCM(1050)은 클라이언트로 전송되는 모든 디지털 컨텐츠의 전송 결과 및 클라이언트의 네트워크 정보를 저장하고 있으며, 클라이언트에서 원본 디지털 컨텐츠의 유실로 인하여 복구가 필요한 경우, 그리고 정상적인 방법을 통해 디지털 컨텐츠를 전송 받았으나 그 작업이 완료되지 않은 경우에 대하여 해당 클라이언트의 네트워크 정보를 참조하여 동일한 클라이언트에서 재전송을 요청한 경우에 대하여 재전송을 허락한다.
그러나 컨텐츠 제공 서버의 CSFM(1040)과 클라이언트의 FSI(500)가 동기화 되어 있지 않거나(1203), 재전송 조건이 충족되지 않는 경우에는 해당 작업에 대한재전송 불가 메시지를 클라이언트에 출력하고(1204), 클라이언트의 메모리와 하드디스크에서 해당 디지털 컨텐츠를 삭제한 후(1205), 그 결과를 다시 CCM(1050)에 저장한다(1206).
상기와 같은 과정으로 디지털 컨텐츠의 재전송이 허락되면, CSFM(1040)은 클라이언트의 FSI(500)를 통해 재전송되는 데이터에 Lock을 설정하고(1207), 해당 디지털 컨텐츠를 클라이언트로 재전송한다(1209).
만약 이와 같은 과정을 통해 디지털 컨텐츠 재전송이 정상적으로 완료되면, 클라이언트 측 FSI(500)는 암호화된 파일 시스템 정보를 재전송된 원본 데이터에 삽입하고(1210), 그 결과를 CCM(1050)으로 전송하여(1212) 재전송이 정상적으로 수행되었음을 저장한 후, 재전송된 원본 데이터에 Lock을 해제함으로써(1217), 해당 디지털 컨텐츠를 클라이언트에서 정상적으로 사용할 수 있도록 하락하지만, 반대로 암호화된 파일 시스템 정보를 삽입할 수 없는 경우에는(1213) 오류 메시지를 출력한 후(1214), 메모리와 하드디스크에서 해당 디지털 컨텐츠를 삭제하고(1215), 그 결과를 다시 CCM(1050)에 저장한다(1216).
도면13은 컨텐츠 제공 서버를 통해 클라이언트로 전송하는 디지털 컨텐츠에 대하여 FSI(500)를 이용하여 파일 시스템 정보를 암호화하고, 이것을 전송된 원본 데이터에 삽입하는 과정에 대한 간단한 예시도이다.
도면13의 디지털 컨텐츠 다운로드 대화상자는 컨텐츠 제공 서버에서 제공하거나, 컨텐츠 제공 서버의 CSFM(1040)과 호환되는 FSI(500)를 이용하여 디지털 컨텐츠를 다운로드 하는 것으로써, 도면13은 컨텐츠 제공 서버로부터 디지털 컨텐츠를 전송 받아 원본 데이터를 생성한 후, 여기에 파일 시스템 정보를 암호화하여 삽입하고 있는 경우에 대한 것이다.
클라이언트 측 FSI(500)는 파일을 다운로드 받기 위해 클라이언트에 반드시 필요한 파일 시스템 정보 삽입부로써, 본 실시예의 특성상 FSI(500)가 클라이언트에 존재하지 않으면, 컨텐츠 제공 서버로부터의 데이터 전송이 원천적으로 금지되며, 어떠한 방법으로도 컨텐츠를 다운로드 할 수 없다. 이것은 컨텐츠 제공 서버에서 클라이언트로의 데이터 전송이 하부적으로는 기존의 TCP/IP를 사용하지만, 컨텐츠 제공 서버의 서버 데몬(1030)과 웹 브라우저가 데이터 통신을 하는 것이 아니라, 컨텐츠 제공 서버의 서버 데몬(1030) 및 컨텐츠 D/B에 연결되어 있는 CSFM(1040)과 클라이언트의 웹 브라우저에 연결되어 있는 FSI(500) 모듈이 통신하는 것이기 때문이다.
도면14는 클라이언트의 FSI(500)가 컨텐츠 제공 서버에서 전송 받은 원본 데이터에 암호화된 파일 시스템을 삽입하는 과정에서 오류가 발생한 경우에 대한 예시도이다.
클라이언트 측 FSI(500)에서 파일 시스템 정보를 암호화하여 원본 데이터에 삽입하는 과정에서 오류가 발생하는 경우는 클라이언트에 스파이웨어가 설치되어있거나, FSI(500) 자체를 악의적으로 조작하는 경우와 같이 본 발명의 목적을 파괴하려고 시도하는 경우가 대부분이다. 이것은 도면11과 도면12와 같이 컨텐츠 제공 서버에서 클라이언트로 전송할 때, 항상 컨텐츠 제공 서버에서 클라이언트의 FSI(500)를 관리하고, 최신 버전의 FSI(500)로 클라이언트 FSI(500)를 갱신하기 때문에, 상기와 같은 경우를 제외하고 구조적인 문제에 의해 암호화된 파일 시스템 정보를 삽입하는 과정에서 오류가 발생할 수 없다.
따라서 원본 데이터에 파일 시스템 정보를 암호화하고, 이것을 원본 데이터에 삽입하는 과정에서 오류가 발생하였다면, FSI(500)는 도면11과 12에서 서술한 바에 의해 도면14와 같이 오류 메시지를 출력하고, 디지털 컨텐츠 정보를 메모리와 하드디스크에서 영구적으로 삭제한 후, 이것을 컨텐츠 제공 서버의 CCM(1050)으로 전송하여 관리한다.
도면15는 FSI(500)가 탑재된 설치 CD 제작 소프트웨어를 이용하여 암호화된 파일 시스템 정보가 삽입된 설치 파일 및 설치 프로그램을 제작하고, 이것을 CD에 기록하는 방법에 대한 간단한 블록도이다.
도면15는 설치 CD를 제작하는 컴퓨터의 하드디스크에 저장되어 있는 원본 파일에 암호화된 파일 시스템 정보를 삽입하여 설치 파일을 생성하고, 이 설치 파일에 대한 일련의 컴파일 과정과 데이터 압축을 통해 소프트웨어 설치에 필요한 압축파일을 생성한 후, 이 압축 파일의 압축 해제 및 설치 과정에서 필요한 FSA(800)를탑재한 설치 프로그램을 생성하고, 다시 이렇게 생성된 설치 프로그램에 파일 시스템 정보를 암호화하여 삽입함으로써, 소프트웨어 설치 프로그램이 하드디스크와 같은 저장장치에 복사되거나 불법 복제된 후, 인터넷과 같은 통신망을 통해 불법 배포되어 악용되는 것을 원천적으로 방지하는 방법에 관한 것이다.
도면15에서 원본 파일을 설치 파일로 제작하는 과정에서 사용되는 파일 시스템과 설치 프로그램에 탑재되는 파일 시스템은 FAT 계열의 하드디스크용 파일 시스템이 아니라, 설치 파일 및 설치 프로그램이 탑재되는 CD에 대한 CDFS이며, 설치 프로그램이 실행되는 단계에서 설치 프로그램 안에 내장된 FSA(800)는 설치 프로그램 및 설치 파일의 CDFS 정보를 통해 해당 파일들이 복사본이거나 불법 복제본인지 판단함은 물론, 해당 파일들의 복사 또는 복제 여부를 판단하기 위해 참조되는 현재 파일 시스템이 FAT인지 CDFS인지를 통해 CD에서 설치되는지 여부도 판단할 수 있다.
도면15에서 원본 파일은 물론 설치 프로그램에도 암호화된 파일 시스템 정보를 삽입하는 것은, 원본 파일의 불법 복제는 물론 설치 프로그램 자체의 불법 복제도 방지하기 위한 것이다.
원본 파일은 암호화된 파일 시스템 정보가 삽입되어 설치 파일이 된 후, 압축되며, 이 압축 파일에 대해서도 파일 시스템 정보가 삽입된다. 이렇게 압축된 파일 안에 포함된 원본 파일에 탑재된 파일 시스템 정보는 설치 프로그램을 제외하고는 어떠한 방법으로도 해독할 수 없으며, 설치 프로그램조차도 암호화된 파일 시스템 정보가 삽입되어 있기 때문에, 본 실시예를 통해 생성된 소프트웨어 설치 프로그램 및 설치 파일들은 오직 원본 CD에 의해서만 설치가 가능하고, 이것들이 하드디스크에 복사되거나 복제되어 참조 파일 시스템이 FAT으로 바뀌거나, 참조 파일 시스템 정보가 변경되면 어떠한 방법으로도 해당 소프트웨어를 설치할 수 없게 된다.
도면16은 도면15와 같은 방법으로 암호화된 파일 시스템 정보가 삽입된 소프트웨어 설치 CD를 제작하는 전용 소프트웨어에서 원본 파일 대한 설치 파일 및 설치 프로그램을 제작하고 있는 예시도이다.
일반적으로 소프트웨어 설치 CD 제작 방법은 인스톨 쉴드와 같은 설치 프로그램 제작용 소프트웨어를 통해 하드디스크에 있는 원본 파일을 압축하여 설치 파일 및 설치 프로그램을 제작하고, 이것을 CD 기록용 소프트웨어를 통해 CD에 기록하는 것이다.
그러나 본 실시예는 원본 파일로부터 설치 파일 및 설치 프로그램을 제작하는 과정에서 이것들이 기록되는 CD의 파일 시스템 정보가 해당 설치 파일 및 설치 프로그램에 암호화되어 삽입된다.
따라서 본 실시예에서는 도면16과 같이 하드디스크의 원본 파일로부터 압축된 설치 파일을 제작하는 과정과 설치 파일을 생성하는 과정에서, 이것이 기록되는CD의 파일 시스템을 삽입함과 동시에 즉시 CD에 기록할 수 있는 전용 소프트웨어 필요하다.
도면16은 상기와 같은 작업을 위한 예시도이며, 버퍼(100)는 하드디스크에 있는 원본 파일을 메모리에 적재하여 원본 데이터를 생성한 비율이고, (200)은 메모리에 적재되어 있는 원본 데이터 중에서 암호화된 파일 시스템 정보를 삽입하기 위해 가공 중인 원본 데이터 비율이며, (300)은 암호화된 파일 시스템 정보를 삽입하여 압축한 설치 파일 비율이고, (400)은 압축된 설치 파일 중에서 실제 CD에 기록된 설치 파일에 대한 비율이다.
설치 프로그램은 상기와 같은 설치 파일들에 대한 기록이 종료된 후, 설치 파일에 탑재된 파일 시스템의 암호를 해독할 수 있는 FSA(800)와 함께 파일 시스템 정보를 탑재하고 제일 나중에 기록된다.
도면16에서 설치 파일 및 설치 프로그램을 CD에 기록하는 방법에는 즉시 기록, 일괄 기록, 배치 기록 등이 있으며, 즉시 기록은 압축된 설치 파일이 생성됨과 동시에 이것을 CD에 기록하는 방식이며, 일괄 기록과 배치 기록은 파일 시스템 정보가 삽입된 설치 파일 및 설치 프로그램 일단 생성한 후, 이것들을 CD에 기록하는 과정에서 해당 파일 시스템의 정보를 기록되는 당시의 것을 갱신하면서 기록하는 방식이다.
특히 일괄 기록은 CD에 기록되는 설치 파일 또는 설치 프로그램이 한 개 일 때 유효하며, 배치 기록은 CD에 기록되는 설치 파일 또는 설치 프로그램이 복수 개일 때 각각의 파일들에 대한 기록 스케즐을 작성하고 이것에 따라 해당 파일들을 기록할 때 유효하다.
도면17은 FSI(500)가 탑재된 설치 CD 제작 소프트웨어를 이용하여 암호화된 파일 시스템 정보가 삽입된 설치 파일 및 설치 프로그램을 제작하고, 이것을 CD에 기록하는 과정에 관한 간단한 흐름도이다.
FSI(500)가 탑재된 설치 CD 제작 소프트웨어를 이용하여 설치 파일 및 설치 프로그램을 제작하고, 이것을 CD에 기록하기 위해서는 먼저 본 작업에 대한 작업 스케즐이 작성되어야 한다(1700). 이것은 본 흐름도에 의해 원본 파일 및 설치 프로그램에 삽입되는 파일 시스템인 CDFS 정보는 설치 파일 및 설치 프로그램이 CD에 기록되는 과정에서 생성되기 때문이다.
예를 들어, CD에 기록되기 전에 설치 파일 및 설치 프로그램에 CD에 기록되는 시간 등과 같은 파일 시스템 정보를 삽입하는 것은 아무 의미가 없다. 따라서 시간에 대하여 독립적인 파일 시스템 정보는 미리 암호화하여 삽입하지만, 시간에 의존적인 파일 시스템 정보는 CD에 기록하는 시점에 삽입한다든지, 아니면 시간에 의존적인 파일 시스템 정보를 해당 파일이 CD에 기록되는 시간을 예약하여 삽입한 후, 이 예약 시간에 해당 파일이 CD에 기록되도록 하는 것과 같은 작업 스케즐이 필요하다.
상기와 같은 방법으로 원본 파일 및 설치 프로그램에 파일 시스템 정보를 삽입하여 CD에 기록하는 작업 스케즐이 작성되면, FSI(500)가 탑재된 설치 CD 제작 소프트웨어를 이용하여 암호화된 파일 시스템 정보가 삽입된 설치 파일 및 설치 프로그램을 제작하고, 이것을 CD에 기록하는 과정에 관한 것이다.
작업 스케즐에 따라 하드디스크에서 원본 파일을 메모리에 적재하여(1705) 원본 데이터를 생성하여 가공한 후(1710), 작업 스케즐에 의해 결정된 방법으로 파일 시스템 정보를 추출하여(1715) 암호화하고(1720), 이것을 원본 데이터에 삽입하여 설치 파일을 생성하여(1725) 압축한다(1730).
압축된 설치 파일이 생성되면, FSI(500)가 탑재된 설치 CD 제작 소프트웨어는 작업 스케즐에 따라 설치 프로그램을 제작하고(1735), 암호화된 파일 시스템 정보와(1740) 설치 파일 및 설치 프로그램 자체에 적용되는 FSA(800)를 탑재한 후(1745), 작업 스케즐 대로 작업이 진행되었는지 검증한다. 만약 작업 스케즐과 동일하게 모든 작업이 진행되었다면, FSI(500)가 탑재된 설치 CD 제작 소프트웨어는 해당 작업 스케즐에 따라 설치 파일과 설치 프로그램을 CD에 기록한 후(1755), 원본 데이터를 메모리에서 삭제한다(1765).
그러나 운영체제에서 발생할 수 있는 문제와 작업 과정에서 발생하는 예상할 수 없는 여러 문제로 인하여 스케즐과 동일하게 진행되지 않았다면(1760),FSI(500)가 탑재된 설치 CD 제작 소프트웨어는 다시 작업 스케즐을 작성한 후(1700), 상기와 같은 작업을 반복한다.
본 발명에 따르면, 디지털 컨텐츠에 파일 시스템 정보 데이터를 암호화하여 삽입함으로써, 동일한 시스템 내에서의 파일 이동은 가능하지만, 동일한 시스템에서의 파일 복사를 이용한 디지털 컨텐츠 복제, 플로피 디스크나 CD와 같은 이동형 저장 장치로의 디지털 컨텐츠 복제, 그리고 LAN(Local Area Network)이나 인터넷을 통한 디지털 컨텐츠의 불법적인 복제 및 배포를 원천적으로 차단하는 효과가 있으며, 이를 통해 디지털 컨텐츠에 대한 지적 재산권 보호 시 기존에 행해지던 해킹과 같은 조작으로부터 보호할 수 있으며, 불법 소프트웨어 유포 방지에도 큰 효과가 있다.

Claims (5)

  1. 메모리 상에 존재하는 원본 데이터 파일을 하드디스크 상에 저장 시, 운영체제의 커널을 통해 해당 파일에서 사용할 파일 시스템 정보 데이터를 추출하는 기능;
    상기 추출한 파일 시스템 정보 데이터를 일련의 암호화 방식을 통해 암호화 코드로 전환시키는 기능;
    상기 파일 시스템 정보 데이터에 대한 암호화 코드 생성 후, 상기 암호화된 파일 시스템 정보 데이터를 삽입할 수 있도록 상기 원본 데이터 파일을 가공 처리하는 기능;
    상기 원본 데이터 파일 가공 완료 후, 상기 암호화된 파일 시스템 정보를 상기 원본 데이터 파일에 삽입하는 기능;
    상기 원본 데이터에 시스템 락(System Lock)을 걸어 상기 원본 데이터 파일에 암호화 코드가 삽입되고 있는 동안 다른 응용프로그램 및 프로세스가 접근할 수 없도록 원본 데이터 파일에 시스템 락(System Lock)을 설치하는 기능;을 구비하여 이루어지는 것을 특징으로 하는 파일 시스템 정보 삽입부(File System Insertion)와,
    상기 파일 시스템 정보 삽입부에 의해 암호화된 파일 시스템 정보를 삽입한 원본 데이터 파일을 하드디스크 또는 저장장치에서 불러오는 경우, 상기 암호화된 파일 시스템 정보가 삽입된 원본 데이터 파일에서 암호화된 파일 시스템 정보 데이터만을 추출하는 기능;
    상기 암호화된 파일 시스템 정보가 삽입된 상기 원본 데이터 파일을 저장장치 또는 하드디스크에서 불러온 후, 시스템 락(System Lock)을 걸어 상기 원본 데이터 파일에 다른 응용프로그램 또는 프로세스가 접근하는 것을 원천 봉쇄하는 기능;
    상기 암호화된 파일 시스템 정보 데이터의 암호를 해독 및 상기 파일 안에 삽입되어 있던 파일 시스템 정보 데이터를 생성시키는 기능;
    상기 파일에 대한 현재 파일 시스템 정보를 추출하는 기능; 및
    상기 파일에 삽입되어 있던 정보와 현재 파일 시스템에서 추출된 정보를 비교·분석하여 상기 원본 데이터 파일이 복사본인지 또는 불법 복제물인지 확인하는 기능;을 구비하여 이루어지는 것을 특징으로 하는 파일 시스템 정보 분석부(File System Analyzer)를 구비하여 이루어지는 것을 특징으로 하는 파일 시스템 정보 데이터를 이용한 디지털 컨텐츠 불법 복제 방지 시스템.
  2. 제 1항에 있어서, 상기 파일 시스템 정보 삽입부(File System Insertion)는,
    상기 암호화된 파일 시스템 정보가 삽입된 원본 데이터 파일을 하드디스크에 기록 후, 상기 암호화되어 삽입된 파일 시스템 정보와 실제 파일 시스템의 정보가 일치하는지 비교·분석하여 상기 암호화되어 삽입된 파일 시스템 정보와 상기 실제 파일 시스템 정보가 동기화 되어 있는지 여부를 확인하는 기능을 더 구비하여 이루어지는 것을 특징으로 하는 파일 시스템 정보 데이터를 이용한 디지털 컨텐츠 불법복제 방지 시스템.
  3. 제 1항에 있어서, 상기 파일 시스템 정보 데이터를 이용한 디지털 컨텐츠 불법 복제 방지 시스템에서 사용되는 운영체제는,.
    개인 및 업무용 컴퓨터에 탑재되는 마이크로소프트사의 DOS(Disk Operating System) 및 모든 윈도우즈 운영체제;
    워크스테이션 및 대용량 컴퓨터에 탑재되는 UNIX 계열의 운영체제;
    개인 및 워크스테이션을 포함하는 대용량 컴퓨터에 탑재되는 LINUX 계열의 운영체제; 및
    무선 통신 장치, PDA, 그리고 전자 제품에 탑재되는 실시간 운영체제(Real Time Operating System)를 포함하는 모든 운영체제를 포함하여 이루어지는 것을 특징으로 하는 파일 시스템 정보 데이터를 이용한 디지털 컨텐츠 불법 복제 방지 시스템.
  4. 제 1항에 있어서, 상기 파일 시스템 정보 데이터를 이용한 디지털 컨텐츠 불법 복제 방지 시스템에서 사용되는 파일 시스템 정보 데이터는,
    파일 생성 시간 및 날짜 데이터, 마지막 사용 날짜 데이터, 마지막 수정 시간 및 날짜 데이터, 파일이 저장되어 있는 클러스터 정보 데이터, 및 파일 크기 데이터를 포함하는 상기 파일의 모든 시스템 정보를 포함하는 것을 특징으로 하는 파일 시스템 정보 데이터를 이용한 디지털 컨텐츠 불법 복제 방지 시스템.
  5. 제 1항에 있어서, 상기 파일 시스템 정보 분석부(File System Analyzer)는,
    상기 파일 생성 시의 파일 시스템 정보 데이터와 상기 파일이 사용되는 시점의 파일 시스템에 저장되어 있는 파일 시스템 정보 데이터 비교·분석 결과 불일치하는 경우, 저장장치 및 시스템 메모리 상에 위치하는 상기 파일을 자동 삭제하는 기능을 더 구비하여 이루어지는 것을 특징으로 하는 파일 시스템 정보 데이터를 이용한 디지털 컨텐츠 불법 복제 방지 시스템.
KR1020040066262A 2004-08-23 2004-08-23 파일 시스템 정보 데이터를 이용한 디지털 컨텐츠의 불법복제 방지 시스템 KR20040079375A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040066262A KR20040079375A (ko) 2004-08-23 2004-08-23 파일 시스템 정보 데이터를 이용한 디지털 컨텐츠의 불법복제 방지 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040066262A KR20040079375A (ko) 2004-08-23 2004-08-23 파일 시스템 정보 데이터를 이용한 디지털 컨텐츠의 불법복제 방지 시스템

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020010027672A Division KR100556304B1 (ko) 2001-05-21 2001-05-21 파일 시스템 정보 데이터를 이용한 디지털 컨텐츠의 불법복제 방지 방법 및 시스템

Publications (1)

Publication Number Publication Date
KR20040079375A true KR20040079375A (ko) 2004-09-14

Family

ID=37364378

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040066262A KR20040079375A (ko) 2004-08-23 2004-08-23 파일 시스템 정보 데이터를 이용한 디지털 컨텐츠의 불법복제 방지 시스템

Country Status (1)

Country Link
KR (1) KR20040079375A (ko)

Similar Documents

Publication Publication Date Title
US20210294879A1 (en) Securing executable code integrity using auto-derivative key
EP1367475B1 (en) Software application protection by way of a digital rights management (DRM) system
US9246916B2 (en) Specifying rights in a digital rights license according to events
JP4759513B2 (ja) 動的、分散的および協働的な環境におけるデータオブジェクトの管理
EP1443381B1 (en) System and method for secure software activation with volume licenses
KR101219839B1 (ko) 콘텐츠 저작권 관리 시스템에서의 유연한 라이센싱아키텍처
US7024393B1 (en) Structural of digital rights management (DRM) system
US7080043B2 (en) Content revocation and license modification in a digital rights management (DRM) system on a computing device
US20030194092A1 (en) Digital rights management (DRM) encryption and data-protection for content on a relatively simple device
JP2003500722A (ja) 情報保護方法および装置
JP2002251326A (ja) 耐タンパ計算機システム
WO2000058810A2 (en) Structure of a digital content package
JP2004046859A (ja) 媒体上のコンテンツの自由配布防止
US8739294B2 (en) Reporting information about users who obtain copyrighted media using a network in an unauthorized manner
JP5674063B2 (ja) デジタル著作権管理のための装置および方法
US20020133705A1 (en) Information processing system, medium, information processing apparatus, information processing method, storage medium storing computer readable program for realizing such method
JP3917125B2 (ja) 文書保安システム
US20120042385A1 (en) Protecting copyrighted media with monitoring logic
KR100556304B1 (ko) 파일 시스템 정보 데이터를 이용한 디지털 컨텐츠의 불법복제 방지 방법 및 시스템
US20030074563A1 (en) Method for the secure distribution and use of electronic media
JP2011138514A (ja) コンピュータファイルがコピーされたかを検出するための方法及び装置、並びに、この検出を可能にするための方法及び装置
JP4842836B2 (ja) 認証コードを復旧する方法
KR20040079376A (ko) 파일 시스템 정보 데이터를 이용한 디지털 컨텐츠의 불법복제 방지 방법
KR20040087971A (ko) 파일 시스템 정보 데이터를 이용한 디지털 컨텐츠의 불법복제 방지 방법
KR20040079375A (ko) 파일 시스템 정보 데이터를 이용한 디지털 컨텐츠의 불법복제 방지 시스템

Legal Events

Date Code Title Description
A107 Divisional application of patent
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid