KR20050030982A - 서로 다른 디지털 아이디를 갖는 사용자 프로그램들을이용하여 통신망을 통해 디지털 컨텐츠를 안전하게배포하기 위한 방법 및 시스템 - Google Patents

서로 다른 디지털 아이디를 갖는 사용자 프로그램들을이용하여 통신망을 통해 디지털 컨텐츠를 안전하게배포하기 위한 방법 및 시스템 Download PDF

Info

Publication number
KR20050030982A
KR20050030982A KR1020030067129A KR20030067129A KR20050030982A KR 20050030982 A KR20050030982 A KR 20050030982A KR 1020030067129 A KR1020030067129 A KR 1020030067129A KR 20030067129 A KR20030067129 A KR 20030067129A KR 20050030982 A KR20050030982 A KR 20050030982A
Authority
KR
South Korea
Prior art keywords
user
digital
seller
digital content
secret key
Prior art date
Application number
KR1020030067129A
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 KR1020030067129A priority Critical patent/KR20050030982A/ko
Publication of KR20050030982A publication Critical patent/KR20050030982A/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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/08Auctions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C5/00Ciphering apparatus or methods not provided for in the preceding groups, e.g. involving the concealment or deformation of graphic data such as designs, written or printed messages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • General Physics & Mathematics (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • Development Economics (AREA)
  • Multimedia (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 사용자 컴퓨터 상에서 설치 및 재생가능한 디지털 컨텐츠(digital contents)를 통신망(예컨대, 인터넷)을 통해 안전하게 배포(distribution)하기 위한 방법 및 시스템에 관한 것이다. 디지털 컨텐츠 배포 시스템은 디지털 콘텐츠를 판매하는 판매자 서버, 판매자 서버로부터 디지털 컨텐츠를 구매하는 사용자 컴퓨터, 사용자 프로그램을 마련하고 통신망을 통해 배포하기 위한 운영자 서버를 포함하고 있다. 이 방법은 운영자 서버가 사용자 프로그램을 사용자 컴퓨터에 배포하는 단계와, 사용자 컴퓨터가 사용자 프로그램을 설치하는 단계와, 사용자 컴퓨터가 자체에 설치된 사용자 프로그램을 활성화시키는 단계와, 사용자 컴퓨터 및 보조장치1이 판매자 인증을 수행하는 단계와, 사용자 컴퓨터가 자신의 디지털 ID(Identification)를 판매자 서버로 전송하는 단계와, 판매자 서버가 판매할 디지털 컨텐츠의 일부 또는 전체를 암호화하는 단계와, 사용자 컴퓨터가 판매자 서버로부터 구매한 디지털 컨텐츠를 복호화하는 단계를 포함한다.

Description

서로 다른 디지털 아이디를 갖는 사용자 프로그램들을 이용하여 통신망을 통해 디지털 컨텐츠를 안전하게 배포하기 위한 방법 및 시스템{METHOD AND SYSTEM FOR SAFELY DISTRIBUTING DIGITAL CONTENTS THROUGH COMMUNICATION NETWORK BY USING USER PROGRAMS CONTAINING DIFFERENT DIGITAL IDENTIFICATIONS}
본 발명은 전자상거래 분야에 관한 것으로, 보다 상세하게는 사용자의 컴퓨터 상에서 설치 및 재생가능한 디지털 컨텐츠(digital contents)를 통신망을 통해 안전하게 배포하기 위한 방법 및 시스템에 관한 것이다.
종래의 디지털 컨텐츠 배포 시스템 및 방법들은 디지털 콘텐츠를 제한된 수량의 비밀키로 암호화하고, 그 비밀키들을 배포하기 위해 공개키 암호화 알고리즘을 사용하고 있다. 이러한 방식은 사용자 및 판매자에게 인증서를 배포하고 관리하는 인증센터가 필수적이며, 디지털 콘텐츠 구매 대금의 지급 기능을 담당하는 기관이나 다수의 판매자 간의 대금 정산을 위한 클리어링 하우스(clearing house) 등이 필요할 경우가 있다.
이 경우, 인증센터나 클리어링 하우스의 운영권에 대한 소유 문제가 사회적으로 민감한 부분이므로 합의가 이루어지기가 힘들고 여러 가지 키(key) 관리 및 데이터베이스 운영도 해야하기 때문에 많은 비용이 소요된다는 문제점이 있다.
따라서, 본 발명은 전술한 문제점을 해결하기 위한 것으로, 인증센터 및 클리어링 하우스를 구축하지 않고서도, 사용자의 컴퓨터 상에서 설치 및 재생가능한 디지털 컨텐츠를 통신망을 통해 판매자로부터 사용자에게 안전하게 배포하기 위한 방법 및 시스템을 제공하는 것을 목적으로 한다.
본 발명은 공개키 암호화 알고리즘에서 개인키가 외부에 공개되지 않는 점을 이용하여, 사전설정된 공개키 알고리즘에서 사용되는 개인키, 판매자 인증을 위한 암호화 알고리즘, 비밀키, 디지털 콘텐츠 배포 프로세스 등을 ASIC(Application Specific Integrated Circuit)과 같은 하드웨어 내부에 내장시키고, 공개키, 사용자 인증 프로세스, 판매자 인증 프로세스, 디지털 콘텐츠 암호화 및 복호화 프로세스 등을 사용자 프로그램과 판매자 서버용 디바이스 드라이버에 탑재시키며, 필요에 따라 디지털 컨텐츠 암호화 및 복호화를 위한 암호화 알고리즘, 디지털 ID, 비밀키도 ASIC에 탑재시킴으로써, 인증센터나 클리어링 하우스를 구성하지 않고서도, 저렴한 비용으로 디지털 콘텐츠의 불법 복제를 방지하면서 안전하게 배포하기 위한 방법 및 시스템을 제공한다. 즉, 사용자가 특정한 컴퓨터를 통해 인터넷 상에서 구매한 디지털 컨텐츠를 다른 컴퓨터에서 실행시킬 수 없도록 함으로써, 디지털 컨텐츠의 불법복제 및 사용을 억제하여 디지털 컨텐츠 판매자에게 불법복제의 부담을 덜어줌으로써, 인터넷을 통해 유통될 수 있는 디지털 컨텐츠의 가격을 저렴하게 하고, 디지털 컨텐츠 제작 및 배포의 활성화를 도모하는 것을 목적으로 한다.
본 발명의 특징에 따르면, 디지털 콘텐츠를 판매하는 판매자 서버, 판매자 서버로부터 디지털 컨텐츠를 구매하는 사용자 컴퓨터, 사용자 프로그램을 마련하고 배포하기 위한 운영자 서버를 포함하는 시스템이 제공된다.
본 발명의 다른 특징에 따르면, a) 인터넷상에서 사용자가 자신의 컴퓨터 상에서 사용할 수 있는 사용자 프로그램을 다운로드 받고자 할 때 운영자 서버가 디지탈 ID를 상기 사용자 프로그램 내부에 삽입하여 제공하는 단계와; b) 상기 사용자 프로그램을 사용자 컴퓨터에 설치할 때 상기 사용자 컴퓨터에 내장된 고유정보, 예를들면 상기 사용자 컴퓨터에 설치된 랜카드(LAN Card)의 맥어드레스(MAC Address)와, 하드디스크의 시리얼 번호, 공인기관 인증서 등과, 사용자가 입력한 비밀번호를 암호화 과정을 거쳐서 상기 사용자 프로그램 내부에 저장하는 단계와; c) 상기 사용자 프로그램을 활성화할 때 마다 상기 사용자 컴퓨터에 내장된 고유정보 중 적어도 하나 이상이 동일할 때 맥어드레스를 읽어서 상기 저장된 맥어드레스와 같을 때만 동작을 시작하게 하고, 상기 사용자 프로그램 운영 중 적어도 한 개 이상의 프로세스에 대해 사용자의 비밀번호를 입력하게 하여 저장된 것과 동일할 때만 진행을 계속하게 하는 단계와; d) 인터넷 상에서 판매자 서버가 자신의 디지털 콘텐츠를 판매하고자 할 때 운영자가 제공하는 보조장치 내에 내장된 암호화 알고리즘을 이용하여 판매자 인증을 수행하는 단계와; e) 상기 사용자 프로그램에 내장된 디지털 ID를 해시함수와 비밀키 대칭형 암호알고리즘을 사용하여 암호화 한후 상기 판매자 서버에 제공하고, 상기 판매자 서버는 상기 암호화 과정과 동일한 방법으로 상기 사용자 프로그램으로부터 수신한 암호화된 디지털 ID를 복호화하는 단계와; f) 판매자 서버가 상기 디지털 ID를 해시함수를 이용하여 임시 비밀키로 변환하고 사전설정된 암호화 알고리즘을 사용하여 판매하려는 디지털 컨텐츠 혹은 그 컨텐츠의 사용 방침을 기록한 별도의 데이터의 일부 혹은 전체를 암호화하는 단계와; g) 사용자가 상기 디지털 ID를 해시함수를 이용하여 임시 비밀키로 변환하고 사전설정된 복호화 알고리즘으로, 구매한 디지털 컨텐츠 혹은 그 컨텐츠의 사용 방침을 기록한 별도의 데이터의 일부 혹은 전체를 복호화하는 단계를 포함하는 방법이 제공된다.
바람직하게, 상기 단계 a)는 a1) 상기 운영자 서버가 적어도 두개 이상의 서로 다른 디지털 ID를 갖는 사용자 프로그램들을 사전에 마련하는 단계와; a2) 사용자 프로그램의 다운로드 의사를 표시하는 아이콘의 클릭을 감지하는 단계와; a3) 아이콘 클릭의 감지 후 일정기간 동안, 또다른 클릭을 무시하는 단계와; a4) 상기 운영자 서버에 남아있는 상기 사용자 프로그램의 유무를 판단하는 단계와; a5) 상기 사용자 프로그램이 남아있는 경우 인터넷을 통해 상기 사용자 프로그램을 송출하는 단계와; a6) 상기 사용자 프로그램 송출 종료 후 상기 아이콘 클릭을 무시하는 모드를 해제하는 단계와; a7) 상기 단계 이후 또다른 디지털 ID를 갖는 사용자 프로그램을 준비하는 단계를 포함한다.
또한, 바람직하게 상기 단계 b)는 b1) 상기 사용자 프로그램의 설치 중 사용자의 비밀번호 입력을 프롬프팅(promprting)하는 단계와; b2) 상기 사용자가 사용자 컴퓨터를 통해 입력한 비밀번호를 감지하는 단계와; b3) 상기 비밀번호를 사전설정된 대칭형 암호화 알고리즘과 비밀키로 암호화하는 단계와; b4) 상기 암호화된 비밀번호를 상기 사용자 프로그램 내부에 저장하는 단계와; b5) 상기 사용자 컴퓨터에 내장된 상기 고유정보를 판독하는 단계와; b6) 상기 비밀번호를 파라메타로하여 암호화 알고리즘 및 비밀키를 선택하고 상기 고유정보를 암호화하여 상기 사용자 프로그램 내부에 저장하는 단계와; b7) 상기 프로세스를 완료하는 조건으로 상기 사용자 프로그램을 설치하는 단계를 포함한다.
또한, 바람직하게 상기 단계 c)는 c1) 사용자가 비밀번호를 입력하도록 하여 상기 사전설정된 암호화 알고리즘 및 비밀키로 암호화한 후 저장된 암호문의 값과 일치하는지 여부를 판단하는 단계와; c2) 상기 사용자 컴퓨터에 내장된 상기 고유정보를 판독하여 암호화한 후 저장된 암호문의 값과 일치하는지 여부를 판단하는 단계와; c3) 적어도 한개 이상의 암호화된 고유정보가 서로 일치 하는 경우, 사용자 프로그램을 활성화시키는 단계를 포함한다.
또한, 바람직하게 상기 단계 d)는 d1) 판매자 서버가 내부에 마련된 디바이스 드라이버에게 판매자 인증용 데이터를 요구하는 단계와; d2) 상기 디바이스 드라이버는 보유하고 있는 판매자 일련번호 및 인증코드를 보조장치1에 전달하는 단계와; d3) 상기 보조장치1은 판매자 일련번호를 사전설정된 대칭형 암호화 알고리즘 및 비밀키로 암호화하는 단계와; d4) 상기 단계에서 암호화한 결과값이 판매자 인증코드와 일치하는지 여부를 판단하는 단계와; d5) 암호화한 결과값과 판매자 인증코드가 일치 하는 경우, 보조장치1이 난수를 발생시키는 단계와; d6) 상기 발생한 난수를 사전설정된 대칭형 암호화 알고리즘 및 비밀키로 암호화하는 단계와; d7) 상기 난수, 상기 암호문, 상기 판매자 일련번호를 공개키 암호화 알고리즘과 개인키를 이용하여 암호화하는 단계와; d8) 상기 암호화된 결과값을 상기 디바이스 드라이버를 경유하여 판매자 서버에 전달하는 단계와; d9) 상기 판매자 서버는 수신한 데이터를 인터넷을 경유하여 사용자 컴퓨터에 제출하고 디지털 ID를 요구하는 단계와; d10) 상기 사용자 컴퓨터가 수신한 데이터를 상기 공개키 암호화 알고리즘과 공개키로 복호화하는 단계와; d11) 상기 복호화된 데이터 중 난수를 상기 사전설정된 대칭형 암호화 알고리즘 및 비밀키로 암호화하는 단계와; d12) 상기 생성된 암호문이 상기 복호화된 암호문과 일치하는지 여부를 판단하는 단계와; d13) 암호문이 서로 일치하는 경우, 인증 성공사실 및 상기 복호화된 판매자 일련번호를 기록하는 단계를 포함한다.
또한, 바람직하게 상기 단계 e)는 e1) 상기 사용자 프로그램이 상기 판매자 일련번호를 해시함수1을 통해 메시지 다이제스트로 만들어 임시 비밀키를 생성하는 단계와; e2) 상기 생성된 임시 비밀키 및 사전설정된 대칭형 암호화 알고리즘으로 디지털 ID를 암호화하는 단계와; e3) 사용자 프로그램이 상기 암호화된 결과값을 판매자 서버에 전달하는 단계와; e4) 상기 판매자 서버는 자신의 일련번호를 해시함수1을 통해 메시지 다이제스트로 만들어 임시 비밀키를 생성하는 단계와; e5) 상기 생성된 임시 비밀키 및 상기 사전설정된 대칭형 암호화 알고리즘에 대응하는 복호화 알고리즘을 통해 사용자 프로그램으로부터 수신한 암호화된 디지털 ID를 복호화하는 단계를 포함한다.
또한, 바람직하게 상기 단계 f)는 f1) 사용자가 보조장치2를 사용하는지 여부를 판매자 서버가 판단하는 단계와; f2) 상기 보조장치2를 사용하는 경우, 판매자 서버가 상기 복호화된 디지털 ID 및 판매할 디지털 컨텐츠 중 암호화하려는 내용을 보조장치1에 전달하는 단계와; f3) 보조장치1은 수신한 디지털 ID를 해시함수2를 통해 메시지 다이제스트로 만들어 임시 비밀키를 생성하는 단계와; f4) 상기 생성된 비밀키와 사전설정된 대칭형 암호화 알고리즘을 통해 상기 수신한 데이터를 암호화하는 단계와; f5) 상기 암호화된 데이터를 보조장치1에서 판매자 서버로 전달하는 단계와; f6) 상기 보조장치2를 사용하지 않는 사용자일 경우, 판매자 서버는 상기 디지털 ID를 해시함수2를 통해 메시지 다이제스트로 만들어 임시 비밀키를 생성하는 단계와; f7) 상기 생성된 임시 비밀키 및 사전설정된 대칭형 암호화 알고리즘을 이용하여 판매할 디지털 컨텐츠 혹은 그 컨텐츠의 사용 방침을 기록한 별도의 데이터의 일부 혹은 전체를 암호화하는 단계를 포함한다.
또한, 바람직하게 상기 단계 g)는 g1) 사용자 프로그램이 사용자가 보조장치2를 사용하는지 여부를 판단하는 단계와; g2) 상기 보조장치2를 사용하는 경우, 사용자 프로그램이 상기 자신의 디지털 ID 및 상기 판매자 서버로부터 수신한 암호화된 디지털 컨텐츠를 보조장치2에 전달하는 단계와; g3) 보조장치2는 수신한 디지털 ID를 해시함수2를 통해 메시지 다이제스트로 만들어 임시 비밀키를 생성하는 단계와; g4) 상기 생성된 비밀키와 사전설정된 대칭형 암호화 알고리즘에 대응하는 복호화 알고리즘을 이용하여 상기 수신한 암호화된 디지털 컨텐츠를 복호화하는 단계와; g5) 상기 복호화된 데이터를 보조장치2에서 사용자 프로그램에 전달하는 단계와; g6) 상기 보조장치2를 사용하지 않는 경우, 사용자 프로그램은 상기 디지털 ID를 해시함수2를 통해 메시지 다이제스트로 만들어 임시 비밀키를 생성하는 단계와; g7) 상기 생성된 임시 비밀키 및 사전설정된 대칭형 암호화 알고리즘을 이용하여, 구매한 디지털 컨텐츠 중 암호화된 부분을 복호화하는 단계를 포함한다.
도 1은 본 발명에 따른 디지털 컨텐츠 배포 시스템(digital contents distribution system)의 개략적인 블럭도이다. 도 1에 도시한 바와 같이, 본 발명에 따른 디지털 컨텐츠 배포 시스템(100)은 인터넷(102)을 통해 상호 연결된 사용자 컴퓨터(104), 판매자 서버(112), 운영자 서버(110)를 포함하고 있다.
사용자 컴퓨터(104)는 중앙처리장치(CPU), 휘발성 및 비휘발성 메모리, 하드디스크, 마우스와 키보드로 구성된 데이터 입력부, 모니터와 같은 디스플레이, TCP/IP를 지원하는 랜카드(LAN Card), 보조기억장치, 적어도 하나 이상의 유에스비 포트(USB Port) 또는 씨리얼 포트(예컨대, RS-232)를 포함하고 있으며, 사용자의 인스트럭션(instruction)에 따라 동작한다. 사용자 컴퓨터(104)는 랜카드를 통하여 인터넷(102)에 접속하기 위한 웹 브라우져(web browser) 및 사용자 프로그램(106)을 구비하고 있다. 사용자 컴퓨터(104)는 사용자 프로그램(106)을 통해 판매자 서버(112)로부터 원하는 디지털 컨텐츠를 구매하고, 설치하며, 실행시키는 기능을 수행한다.
사용자 프로그램(106)은 디바이스 드라이버(device driver) 프로그램(이하, 디바이스 드라이버로 지칭함)를 구비하고 있으며, 이를 통해 사용자 컴퓨터(104)의 씨리얼 포트 혹은 유에스비 포트와 연결된 보조장치2(108)와 통신을 수행할 수 있다. 보조장치2(108)는 중앙처리장치(CPU), 메모리, 데이터 입출력부로 구성되어 있으며, 외부에서 용이하게 판독할 수 없는 복호화 프로그램을 메모리에 저장하고 있다. 또한, 필요에 따라 대용량 메모리 저장장치도 내장할 수 있다. 보조장치2(108)는 메모리에 저장되어 있는 복호화 프로그램을 사용하여 판매자 서버(112)로부터 사용자가 구매한 암호화된 디지털 컨텐츠를 복호화한다. 더욱이, 보조장치2(108)는 상기한 구성 외에도 스마트카드와 스마트카드 커플러의 조합으로 이루어질 수도 있다.
판매자 서버(112)는 중앙처리장치(CPU), 메모리, 하드디스크, 마우스와 키보드로 구성된 데이터 입력부, 모니터와 같은 디스플레이, TCP/IP를 지원하는 랜카드, 보조기억장치, 적어도 하나 이상의 유에스비 포트 혹은 씨리얼 포트를 포함하며, 판매자의 인스트럭션에 따라 동작한다. 판매자 서버(112)는 디지털 컨텐츠를 구매하는 사용자들 각각의 디지털 ID를 관리하기 위한 데이터 저장부를 더 포함하고 있다. 여기서, 디지털 ID는 후술할 운영자 서버(110)가 관리하는 일종의 씨리얼 번호(serial number)인데, 이는 일반적으로 사용되는 문자와 숫자의 조합인 통상적인 ID와는 상이한 것으로서, 사용자가 기억하여 입력할 필요가 없이 사용자 프로그램(106)에 의해 관리되며, 디지털 컨텐츠의 거래중 암호화된 상태로 인터넷(102)으로 송출되기 때문에 정당하지 않은 사용자가 이를 도용하여 사용할 수 없는 특징이 있다.
또한, 판매자 서버(112)는 통상적인 전자상거래에 사용되는 구성요소들을 포함할 수 있으며, 본 발명에 따른 시스템을 사용할 수 있는 권한을 부여하기 위한 수단으로서 판매자 인증용 데이터인 판매자 일련번호 및 판매자 인증코드를 내장한 디바이스 드라이버(114)를 포함하고 있다. 이 디바이스 드라이버(114)는 운영자 서버(110)를 운영하는 운영자에 의해 마련되어 판매자 서버(112)에 설치된다. 판매자 서버(112)는 디바이스 드라이버(114)를 통해 씨리얼 포트 또는 유에스비 포트와 연결된 보조장치1(116)과 통신을 수행한다. 보조장치1(116)은 중앙처리장치(CPU), 메모리, 데이터 입출력부를 포함하고 있으며, 메모리 내에는 외부에서 용이하게 판독할 수 없는 판매자 인증 프로그램 및 디지털 컨텐츠 암호화 프로그램이 마련되어 있다. 보조장치1(116)은 메모리에 저장된 판매자 인증 프로그램을 사용하여 사용자에게 디지털 컨텐츠를 판매하고자 하는 판매자에 대한 인증을 수행하며, 디지털 컨텐츠 암호화 프로그램을 사용하여 판매하려는 디지털 컨텐츠 중의 전체 혹은 일부를 암호화한다. 또한, 보조장치1(116)은 판매자 자신의 고유 암호키를 생성하여 그 내부에 저장하는 기능도 가지고 있으며, 운영자로부터 공급받은 보조장치2(108) 내부에 자신의 고유 암호키로부터 생성시킨 파생키를 기록할 수 있다.
운영자 서버(110)는 통상적인 웹 서버와 동일하게 구성된다. 운영자 서버(110)는 운영자의 인스트럭션에 따라 동작하며, 서로 다른 디지털 ID를 갖는 다수의 사용자 프로그램들을 생성 및 배포하고, 배포된 사용자 프로그램에 저장된 디지털 ID를 데이터베이스화 하여 관리한다.
도 2는 본 발명에 따라 서로 다른 디지털 ID 갖는 사용자 프로그램들을 이용한 디지털 컨텐츠의 배포 방법을 설명하기 위한 흐름도이다. 먼저, 단계(S202)에서, 사용자가 사용자 컴퓨터(104) 상에 마련된 웹 브라우져를 실행시켜 인터넷(102)을 통해 판매자 서버(112)가 제공하는 웹 페이지(web page)를 보고 판매자가 판매중인 디지털 컨텐츠를 구매하고자 하는 경우, 운영자 서버(110)는 사용자가 사용자 프로그램(106)을 다운로드하기 위해 웹 페이지 상의 다운로드 아이콘을 클릭하는지 여부를 판매자 서버(112)를 통해 판단한다. 사용자가 다운로드 아이콘을 클릭하는 경우, 운영자 서버(110)는 사용자 프로그램(106) 내에 고유한 디지털 ID를 삽입한 후 이를 인터넷(102)을 통해 사용자 컴퓨터(104)로 제공한다.
상세하게, 도 3에 도시한 바와 같이, 단계(S302)에서 운영자 서버(110)는 서로 다른 디지털 ID를 갖는 적어도 두 개 이상의 사용자 프로그램들을 마련한다. 단계(S304)에서, 운영자 서버(110)는 판매자 서버(112)의 홈 페이지를 통해 사용자 프로그램(106)의 다운로드 아이콘을 클릭하도록 사용자에게 프롬프팅(prompting)한다. 이때, 단계(S304)는 판매자 서버(112)에 의해 수행될 수도 있다. 단계(S306)에서, 운영자 서버(110)는 사용자의 다운로드 아이콘의 클릭을 감지한다. 단계(S308)에서, 운영자 서버(110)는 사전설정된 시간 동안 다른 사용자의 다운로드 아이콘의 클릭을 무시한다. 이와 같이, 사전설정된 시간 동안 다른 사용자의 다운로드 아이콘의 클릭을 무시하는 이유는 다운로드 요구 폭주시 운영자 서버(110)가 다운되는 현상을 방지하고, 다운로드 요구 폭주로 인한 디지털 ID 관리의 어려움을 예방하기 위한 것으로, 운영자 서버(110)의 처리 용량에 따라 선택적으로 적용될 수 있다.
단계(S310)에서, 운영자 서버(110)는 메모리에 잔여 사용자 프로그램이 있는지 여부를 판단한다. 단계(S310)에서의 판단 결과가 긍정, 즉 사용자 프로그램(106)이 메모리에 남아 있는 경우, 본 발명의 프로세스는 단계(S312)로 진행한다. 이와 달리, 단계(S310)에서의 판단 결과가 부정, 즉 메모리에 잔여 사용자 프로그램(106)이 없는 경우, 본 발명의 프로세스는 단계(S314)로 진행한다.
단계(S312)에서, 운영자 서버(110)는 인터넷(102)을 통해 사용자 프로그램(106)을 사용자 컴퓨터(104)로 송출한다. 단계(S314)에서, 운영자 서버(110)는 사용자 프로그램(106)의 송출을 완료한 다음, 단계(S308)에서 설정된 다운로드 아이콘의 클릭을 무시하는 모드(mode)를 해제한다. 단계(S316)에서, 운영자 서버(110)는 송출한 사용자 프로그램(106)과 상이한 디지털 ID를 갖는 또다른 사용자 프로그램을 마련한다.
다시, 도 2를 참조하면, 단계(S204)에서 사용자 컴퓨터(104)는 자체에 마련된 고유정보들을 판독한다. 이어, 사용자 컴퓨터(104)는 사용자가 입력한 비밀번호와 판독한 고유정보를 암호화하여 운영자 서버(110)로부터 수신한 사용자 프로그램(106) 내에 저장하고 사용자 프로그램(106)을 설치한다.
상세하게, 도 4에 도시한 바와 같이, 단계(S402)에서 사용자 컴퓨터(104)는 사용자가 비밀번호를 입력할 수 있는 활성창을 자체에 마련된 디스플레이(도시하지 않음)를 통해 표시한다. 단계(S404)에서, 사용자 컴퓨터(104)는 사용자가 입력한 비밀번호를 수신하고 메모리(예컨대, 휘발성 메모리)에 임시로 저장한다.
단계(S406)에서, 사용자 컴퓨터(104)는 휘발성 메모리에 임시 저장된 사용자의 비밀번호를 사전설정된 대칭형 암호화 알고리즘 및 비밀키(예컨대, 대칭형 암호화 알고리즘5 및 비밀키5)를 사용하여 암호화한다. 단계(S408)에서, 사용자 컴퓨터(104)는 암호화된 사용자의 비밀번호를 사용자 프로그램(106) 내에 저장한다. 다음에, 단계(S410)에서 사용자 컴퓨터(104)는 자신의 고유정보들을 판독하여 메모리에 저장한다.
단계(S412)에서, 사용자 컴퓨터(104)는 사용자의 비밀번호를 파라메타(parameter)로 사용하여, 판독한 고유정보들을 암호화하기 위한 대칭형 암호화 알고리즘을 선택한다. 예를 들어, 사용자 컴퓨터(104)는 사용자의 비밀번호를 해시함수 등을 사용하여 사전설정된 크기의 메시지 다이제스트로 만들어 임시 비밀키를 생성하는 한편, 생성된 임시 비밀키 값을 4로 나누어 나머지가 0인 경우에는 대칭형 암호화 알고리즘2, 나머지가 1인 경우에는 대칭형 암호화 알고리즘3, 나머지가 2인 경우에는 대칭형 암호화 알고리즘4, 나머지가 3인 경우에는 대칭형 암호화 알고리즘5를 선택한다. 이와 같이, 사용자의 비밀번호를 파라메타로 사용하여 상이한 대칭형 암호화 알고리즘을 선택하는 이유는 정당한 권리자가 아닌 사용자가 사용자 프로그램을 해킹하지 못하게 하기 위한 것이다. 이어, 사용자 컴퓨터(104)는 임시 비밀키와 선택된 대칭형 암호화 알고리즘을 사용하여, 판독한 고유정보들을 암호화한다. 단계(S414)에서, 사용자 컴퓨터(104)는 암호화된 고유정보들을 사용자 프로그램(106) 내에 저장한다. 이때, 사용자 컴퓨터(104)는 단계(S412)에서 고유정보들만을 암호화하지 않고, 사용자가 인터넷(102)을 통해 다수의 서비스 프로바이더에게 제출하는 ID, 비밀번호, 성명, 주소, 전화번호 등을 함께 암호화하여 사용자 프로그램(106) 내에 저장할 수도 있다. 단계(S416)에서, 사용자 컴퓨터(104)는 단계(S412) 및 단계(S414)를 완료하는 조건으로 사용자 프로그램(106)을 설치한다.
다시, 도 2를 참조하면, 단계(S206)에서 사용자 컴퓨터(104)는 설치가 완료된 사용자 프로그램(106)을 활성화시킨다. 이때, 사용자 컴퓨터(104)는 메모리에 저장되어 있는 고유정보들과 새로 판독한 자신의 고유정보들이 동일한 경우에만 사용자 프로그램(106)을 활성화시킨다.
상세하게, 도 5에 도시된 바와 같이, 단계(S502)에서 사용자 컴퓨터(104)는 사용자가 비밀번호를 입력할 수 있는 입력창을 디스플레이를 통해 표시한다. 여기서, 입력된 비밀번호는 사용자가 사용자 프로그램(106)을 활성화시켜 인터넷(102)을 통해 판매자 서버(112)로부터 암호화된 디지털 컨텐츠를 구매하려 하거나, 이전에 판매자 서버(112)로부터 구입한 디지털 컨텐츠를 실행시키는 데 사용된다.
단계(S504)에서, 사용자 컴퓨터(104)는 사용자가 디스플레이된 입력창에 입력한 비밀번호를 수신한다. 단계(S506)에서, 사용자 컴퓨터(104)는 수신한 사용자의 비밀번호를 단계(S406)에서 사용한 대칭형 암호화 알고리즘5와 비밀키5를 통해 암호화한다.
단계(S508)에서, 사용자 컴퓨터(104)는 단계(S506)에서 암호화된 사용자의 비밀번호와 사용자 프로그램(106) 내에 저장되어 있는 암호화된 사용자의 비밀번호가 일치하는지 여부를 판단한다. 단계(S508)에서의 판단 결과가 부정, 즉 암호화된 사용자의 비밀번호가 서로 일치하지 않는 경우, 본 발명의 프로세스는 단계(S510)로 진행하여 사용자 컴퓨터(104)가 에러 메지시를 디스플레이하고 모든 프로세스를 종료한다. 이와 달리, 단계(S508)에서의 판단 결과가 긍정, 즉 암호화된 사용자의 비밀번호가 서로 일치하는 경우, 본 발명의 프로세스는 단계(S512)로 진행한다.
단계(S512)에서, 사용자 컴퓨터(104)는 도 4의 단계(S412)와 동일하게 자신의 고유정보들을 판독하고 이를 암호화 한다. 단계(S514)에서, 사용자 컴퓨터(104)는 사용자 프로그램(106) 내에 저장되어 있는 암호화된 고유정보들과 단계(S512)에서 암호화된 고유정보들이 서로 일치하는지 여부를 판단한다.
단계(S514)에서의 판단결과가 부정, 즉 암호화된 고유정보들이 모두 일치하지 않는 경우, 본 발명의 프로세스는 단계(S516)로 진행하여 사용자 컴퓨터(104)가 에러 메지시를 디스플레이하고 모든 프로세스를 종료한다. 이와 달리, 단계(S514)에서의 판단 결과가 긍정, 즉 암호화된 고유정보들이 적어도 하나 이상 서로 일치하는 경우, 본 발명의 프로세스는 단계(S518)로 진행한다. 단계(S518)에서, 사용자 컴퓨터(104)는 자체에 마련된 사용자 프로그램(106)을 활성화시킨다. 여기서, 사용자 프로그램(106)을 활성화시킨다는 것은 사용자가 사용자 프로그램(106)을 사용하여 사용자 컴퓨터(104)를 통해 디지털 콘텐츠를 구입할 수 있는 준비가 완료되었다는 것뿐만 아니라 이전에 구매한 디지털 콘텐츠를 실행시킬 수 있는 것을 의미한다.
다시, 도 2를 참조하면 단계(S208)에서, 사용자가 구매하려는 디지털 콘텐츠를 판매하는 판매자에 대한 인증이 수행된다. 여기서, 판매자에 대한 인증은 사용자 컴퓨터(104)와 판매자 서버(112)의 상호 인터랙션(interaction)과, 사용자 컴퓨터(104)에 연결되어 있으며 운영자가 제작한 보조장치1(116) 내에 마련되어 있는 사전설정된 암호화 알고리즘을 통해 수행된다.
상세하게, 도 6a에 도시된 바와 같이, 단계(S602)에서 판매자 서버(112)는 자체에 마련된 디바이스 드라이버(114)에게 판매자 인증용 데이터, 즉 판매자 일련번호 및 인증코드를 요청한다. 단계(S604)에서, 디바이스 드라이버(114)는 판매자 서버(112)로부터의 요청에 응답하여, 판매자 일련번호 및 인증코드를 보조장치1(116)에 전달한다. 단계(S606)에서, 보조장치1(116)은 판매자 일련번호를 사전설정된 대칭형 암호화 알고리즘 및 비밀키(예컨대, 대칭형 암호화 알고리즘1 및 비밀키1)로 암호화한다.
단계(S608)에서, 보조장치1(116)은 암호화된 판매자 일련번호와 디바이스 드라이버(114)로부터 수신한 인증코드가 일치하는지 여부를 판단한다. 단계(S608)에서의 판단 결과가 부정, 즉 암호화된 판매자 일련번호와 수신한 인증코드가 서로 일치하지 않는 경우, 본 발명의 프로세스는 단계(S610)로 진행하여 보조장치1(116)이 디바이스 드라이버(114)를 통해 에러 메시지를 판매자 서버(112)로 전송한 후, 본 발명의 모든 프로세스를 종료한다. 이와 달리, 단계(S608)에서의 판단 결과가 긍정, 즉 암호화된 판매자 일련번호와 수신한 인증코드가 서로 일치하는 경우, 본 발명의 프로세스는 단계(S612)로 진행한다.
단계(S612)에서, 보조장치1(116)은 사전설정된 난수 발생 알고리즘을 사용하여 난수를 발생한다. 단계(S614)에서, 보조장치1(116)은 발생한 난수를 사전설정된 대칭형 알고리즘 및 비밀키(예컨대, 대칭형 암호화 알고리즘2 및 비밀키2)를 통해 암호화한다. 단계(S616)에서, 보조장치1(116)은 난수, 암호화된 난수, 판매자 일련번호를 사전설정된 공개키 암호화 알고리즘과 개인키를 통해 암호화하여 암호화 데이터를 생성한다. 다음에, 도 6b의 단계(S618)에서, 보조장치1(116)은 단계(S616)에서 생성한 암호화 데이터를 디바이스 드라이버(114)를 통해 판매자 서버(112)로 전송한다.
단계(S620)에서, 판매자 서버(112)는 보조장치1(116)로부터 암호화 데이터를 수신한다. 단계(S622)에서, 판매자 서버(112)는 수신한 암호화 데이터, 즉 인증용 데이터를 인터넷(102)을 통해 사용자 컴퓨터(104)로 전송하고, 사용자 컴퓨터(104)에게 사용자 프로그램(106) 내에 저장되어 있는 디지털 ID를 요구한다.
단계(S624)에서, 사용자 컴퓨터(104)의 사용자 프로그램(106)은 판매자 서버(112)로부터 수신한 인증용 데이터를 보조장치1(116)이 사용한 것과 동일한 공개키 알고리즘과 공개키를 사용하여 복호화한다. 단계(S626)에서, 사용자 프로그램(106)이 단계(S624)에서 획득한 난수를 보조장치1(116)이 단계(S614)에서 사용한 대칭형 암호화 알고리즘 및 비밀키, 즉 대칭형 암호화 알고리즘2와 비밀키2를 통해 암호화한다.
단계(S628)에서, 사용자 프로그램(106)이 판매자 서버(112)로부터 수신한 암호화된 난수와, 단계(S626)에서 획득한 암호화된 난수가 서로 일치하는지 여부를 판단한다. 단계(S628)에서의 판단결과가 부정, 즉 암호화된 난수가 서로 일치하지 않는 경우, 본 발명의 프로세스는 단계(S630)로 진행하여, 사용자 프로그램(106)이 사용자 컴퓨터(104)를 통해 에러 메지시를 판매자 서버(112)로 전송한 다음 본 발명의 모든 프로세스를 종료한다. 이와 달리, 단계(S628)에서의 판단 결과가 긍정, 즉 암호화된 난수가 서로 일치하는 경우, 본 발명의 프로세스는 단계(S632)로 진행한다. 단계(S632)에서, 사용자 프로그램(106)은 판매자 인증 성공 메시지 및 판매자 일련번호를 사용자 컴퓨터(104)의 메모리(예컨대, 휘발성 메모리)에 임시로 저장한다.
다시, 도 2를 참조하면, 단계(S210)에서 사용자 컴퓨터(104)의 사용자 프로그램(106)은 저장된 디지털 ID를 사전설정된 해시함수(예컨대, 해시함수1), 비밀키, 사전설정된 대칭형 암호화 알고리즘(예컨대, 대칭형 암호화 알고리즘 3)을 통해 암호화 한 후 판매자 서버(112)로 전송하고, 판매자 서버(112)는 사용자 프로그램(106)으로부터 수신한 암호화된 디지털 ID를 복호화한다.
상세하게, 도 7에 도시한 바와 같이, 단계(S702)에서 사용자 프로그램(106)은 도 6b의 단계(S622)에서 인증용 데이터를 복호화하여 획득한 판매자 일련번호를 해시함수1을 통해 메시지 다이제스트로 만들어 임시 비밀키를 생성한다. 단계(S704)에서, 사용자 프로그램(106)은 단계(S702)에서 생성된 임시 비밀키와 사전설정된 대칭형 암호화 알고리즘(예컨대, 대칭형 암호화 알고리즘3)을 통해 디지털 ID를 암호화한다. 단계(S706)에서, 사용자 프로그램(106)은 암호화된 디지털 ID를 인터넷(102)을 통해 판매자 서버(112)로 전송한다.
단계(S708)에서, 판매자 서버(112)는 사용자 프로그램(106)으로부터 암호화된 디지털 ID를 수신하고, 자신의 판매자 일련번호를 단계(S622)에서 사용자 프로그램이 사용한 것과 동일한 해시함수1을 통해 메시지 다이제스트로 만들어 임시 비밀키를 생성한다. 단계(S710)에서, 판매자 서버(112)는 생성된 임시 비밀키 및 대칭형 암호화 알고리즘3에 대응하는 복호화 알고리즘을 통해 사용자 프로그램(106)으로부터 수신한 암호화된 디지털 ID를 복호화한다.
다시, 도 2를 참조하면, 단계(S212)에서 판매자 서버(112)는 단계(S210)에서 복호화된 디지털 ID를 사전설정된 해시함수(예컨대, 해시함수2)를 통해 임시 비밀키로 변환한다. 이어, 판매자 서버(112)는 사전설정된 대칭형 암호화 알고리즘에 임시 비밀키를 사용하여 사용자 컴퓨터(104)로 전송할 디지털 컨텐츠 혹은 그 컨텐츠의 사용 방침을 기록한 별도의 데이터의 전체 또는 일부분을 암호화한다. 여기서, 판매자 서버(112)는 사용자 컴퓨터(104)가 보조장치2(108)와 연결되어 있는 경우에는, 예컨대 대칭형 암호화 알고리즘6을 사용하고 그렇지 않은 경우에는 대칭형 암호화 알고리즘4를 사용한다. 대칭형 암호화 알고리즘6은 보조장치1(116)에 마련되어 있으며, 대칭형 암호화 알고리즘4는 디바이스 드라이버(114)에 마련되어 있다.
상세하게, 도 8을 참조하면, 단계(S802)에서 판매자 서버(112)는 사용자 컴퓨터(104)가 보조장치2(108)와 연결되어 있는지 여부, 즉 보조장치2(108)를 사용하는지 여부를 판단한다. 여기서, 보조장치2(108)의 사용 여부는 통상적인 방법과 같이 보조장치2(108)로부터의 응답 신호의 유무에 따라 판단된다. 단계(S802)에서의 판단 결과가 부정, 즉 사용자 컴퓨터(104)가 보조장치2(108)를 사용하지 않은 경우, 본 발명의 프로세스는 단계(S812)로 진행한다. 이와 달리, 단계(S802)에서의 판단 결과가 긍정, 즉 사용자 컴퓨터(104)가 보조장치2(108)를 사용하는 경우, 본 발명의 프로세스는 단계(S804)로 진행한다.
단계(S804)에서, 판매자 서버(112)는 도 7의 단계(S710)에서 복호화된 디지털 ID 및 전송할 디지털 컨텐츠 혹은 그 컨텐츠의 사용 방침을 기록한 별도의 데이터의 전체 혹은 암호화하려는 일부분을 보조장치1(116)에 전달한다. 단계(S806)에서, 보조장치1(116)은 수신한 디지털 ID를 해시함수2를 통해 메시지 다이제스트로 만들어 임시 비밀키를 생성한다. 여기서, 해시함수2를 사용하는 이유는 디지털 ID 전송 과정에서 사용한 해시함수1과 상이한 해시함수를 사용함으로써 보안성을 높이기 위한 것이다. 단계(S808)에서, 보조장치1(116)은 생성한 임시 비밀키와 대칭형 암호화 알고리즘6을 이용하여 전송할 디지털 컨텐츠 혹은 그 컨텐츠의 사용 방침을 기록한 별도의 데이터의 전체 혹은 일부분을 암호화한다. 단계(S810)에서, 보조장치1(116)은 암호화된 디지털 컨텐츠를 판매자 서버(112)로 전달한다. 그러면, 판매자 서버(112)는 보조장치1(116)로부터 수신한 암호화된 컨텐츠를 인터넷(102)을 통해 사용자 컴퓨터(104)로 전송한다.
한편, 사용자 컴퓨터(104)가 보조장치2(108)를 사용하지 않는 경우, 판매자 서버(112)는 단계(S812)에서 해시함수2를 통해 디지털 ID를 메시지 다이제스트로 만들어 임시 비밀키를 생성한다. 여기서, 해시함수2를 사용하는 이유는 전술한 바와 같다. 단계(S814)에서, 판매자 서버(112)는 단계(S812)에서 생성된 임시 비밀키와 대칭형 암호화 알고리즘4를 사용하여 사용자 컴퓨터(104)로 전송할 디지털 컨텐츠 혹은 그 컨텐츠의 사용 방침을 기록한 별도의 데이터의 전체 혹은 일부분을 암호화한다. 이어, 판매자 서버(112)는 암호화된 디지털 컨텐츠를 인터넷(102)을 통해 사용자 컴퓨터(104)로 전송한다.
다시, 도 2를 참조하면, 단계(S214)에서 사용자 컴퓨터(104)에 마련된 사용자 프로그램(106)은 판매자 서버(112)로부터 수신한 암호화된 디지털 컨텐츠를 디지털 ID 및 해시함수를 이용하여 임시 비밀키를 생성하고, 생성된 임시 비밀키와 사전설정된 복호화 알고리즘을 통해 암호화된 디지털 컨텐츠를 복호화한다.
상세하게, 도 9에 도시한 바와 같이, 단계(S902)에서 사용자 프로그램(106)은 사용자 컴퓨터(104)가 보조장치2(108)를 사용하고 있는지 여부를 판단한다. 단계(S902)에서의 판단결과가 부정, 즉 사용자 컴퓨터(104)가 보조장치2(108)를 사용하는 경우, 본 발명의 프로세스는 단계(S912)로 진행한다. 이와 달리, 단계(S902)에서의 판단결과가 긍정, 즉 사용자 컴퓨터(104)가 보조장치2(108)를 사용하는 경우, 본 발명의 프로세스는 단계(S904)로 진행한다.
단계(S904)에서, 사용자 프로그램(106)은 사용자 컴퓨터(104)가 수신한 암호화된 디지털 컨텐츠 및 저장하고 있는 디지털 ID를 보조장치2(108)로 전달한다. 단계(S906)에서, 보조장치2(108)는 사용자 프로그램(106)으로부터 수신한 디지털 ID를 해시함수2를 이용하여 메시지 다이제스트로 만들어 임시 비밀키를 생성한다. 단계(S908)에서, 보조장치2(108)는 생성된 임시 비밀키와 대칭형 암호화 알고리즘6에 대응하는 복호화 알고리즘을 이용하여 암호화된 디지털 컨텐츠를 복호화한다. 단계(S910)에서, 보조장치2(108)는 복호화된 디지털 컨텐츠를 사용자 프로그램(106)에 전달한다. 그러면, 사용자 프로그램(106)은 복호화된 디지털 컨텐츠를 사용자 컴퓨터(104)를 통해 실행 또는 디스플레이한다.
한편, 사용자 컴퓨터(104)가 보조장치2(108)를 사용하지 않는 경우, 단계(S912)에서 사용자 프로그램(106)은 디지털 ID를 해시함수2를 통해 메시지 다이제스트로 만들어 임시 비밀키를 생성한다. 단계(S914)에서, 사용자 프로그램(106)은 생성된 임시 비밀키 및 대칭형 암호화 알고리즘4에 대응하는 복호화 알고리즘을 이용하여 암호화된 디지털 컨텐츠를 복호화한다. 다음에, 사용자 프로그램(104)은 전술한 바와 같이, 복호화된 디지털 컨텐츠를 사용자 컴퓨터(104)를 통해 실행 또는 디스플레이한다.
전술한 바와 같이, 본 발명에 따르면 사용자 컴퓨터가 인터넷 상에서 구매한 디지털 컨텐츠를 다른 컴퓨터에서 실행시킬 수 없으므로, 디지털 컨텐츠 불법 복제 및 사용을 억제할 수 있는 효과가 있다. 또한, 디지털 컨텐츠 판매자는 불법복제의 부담이 없어짐으로 판매할 디지털 컨텐츠의 가격을 저렴하게 할 수 있으며, 네트워크 상에서의 컨텐츠 도용 위험이 없어짐으로 해서 디지털 컨텐츠 제작 및 유통이 활성화된다는 효과가 있다.
더욱이, 본 발명에 따르면 별도의 인증센터나 클리어링 하우스 등이 필요 없으므로 시스템이 단순해지고 운영 비용도 절감된다는 효과가 있다. 또한, 본 발명에 따르면, 판매자 인증을 위한 기초적 프로세스가 보조장치(즉, 반도체 칩) 내에서 구현되고, 비공개 대칭형 암호 알고리즘과 비밀키를 이용하여 매번 다른 형태의 인증데이터를 생성하고, 이를 또다시 공개키 암호 알고리즘과 개인키로 암호화 하고 개인키는 보조장치 내부에 존재하므로, 컨텐츠 판매자는 운영자로부터 디바이스 드라이버와 보조장치를 구매하지 않고는 본 시스템을 사용할 수 없으므로 보안성이 우수하다는 효과가 있다. 아울러, 디바이스 드라이버와 보조장치를 다른 사람이 구매한 것을 도용한다 하여도, 인증과정 수행시 판매자 일련번호를 사용자 컴퓨터에 제출해야 하므로 비교적 쉽게 도용 여부를 파악 할 수 있다는 효과가 있다.
본 발명이 바람직한 실시예를 통해 설명되고 예시되었으나, 당업자라면 첨부한 청구 범위의 사상 및 범주를 벗어나지 않고 여러 가지 변형 및 변경이 이루어질 수 있음을 알 수 있을 것이다.
도 1은 본 발명에 따른 디지털 컨텐츠 배포 시스템의 개략적인 블럭도.
도 2는 본 발명에 따른 디지털 컨텐츠 배포 방법을 설명하기 위한 흐름도.
도 3은 도 2의 사용자 프로그램 배포 단계를 상세하게 설명하기 위한 흐름도.
도 4는 도 2의 사용자 프로그램 설치 단계를 상세하게 설명하기 위한 흐름도.
도 5는 도 2의 사용자 프로그램 활성화 단계를 상세하게 설명하기 위한 흐름도.
도 6a 및 도 6b는 도 2의 판매자 인증 단계를 상세하게 설명하기 위한 흐름도.
도 7은 도 2의 디지털 ID(Identification) 전송 단계를 상세하게 설명하기 위한 흐름도.
도 8은 도 2의 디지털 컨텐츠 암호화 단계를 상세하게 설명하기 위한 흐름도.
도 9는 도 2의 디지털 컨텐츠 복호화 단계를 상세하게 설명하기 위한 흐름도.

Claims (12)

  1. 다수의 사용자 컴퓨터, 운영자 서버, 판매자 서버가 통신망을 통해 서로 연결 되어 있고, 서로 다른 디지털 아이디를 갖는 사용자 프로그램들을 이용하여 디지탈 컨텐츠들을 안전하게 배포하기 위한 시스템에 있어서,
    (a) 통신망상에서 고객이 자신의 컴퓨터상에서 사용 할 수 있는 사용자 프로그램을 다운로드 받고자 할 때 운영자 서버가 서로 다른 디지탈 아이디를 상기 사용자 프로그램 내부에 삽입하여 제공하는 단계(S2)와,
    (b) 상기 사용자 프로그램을 사용자 컴퓨터에 설치할 때 상기 사용자 컴퓨터에 저장된 고유정보를 읽은 것과 사용자로 하여금 자신의 비밀번호를 입력 하게하여 얻은 데이터를 후술하는 암호화 과정을 거쳐서 프로그램 내부에 저장하는 단계(S4)와,
    (c) 상기 사용자 프로그램을 활성화 할 때 마다 고유정보를 읽어서 상기 저장된 고유정보와 같을 때만 동작을 시작하게 하고 프로그램 운영 중 적어도 한 개 이상의 프로세스에 대해 사용자의 비밀번호를 입력 하게하여 저장된 것과 동일할 때만 진행을 계속하게 하는 단계(S6)와,
    (d) 상기 통신망 상에서 판매자 서버가 자신의 디지털 콘텐츠를 판매하고자 할 때 운영자가 보급하는 보조장치 속에 내장된 암호화 알고리즘을 이용하여 판매자 인증을 수행하는 단계(S8)와,
    (e) 상기 사용자 프로그램에 내장된 디지털 아이디를 해시함수와 비밀키 대칭형 암호알고리즘을 사용하여 암호화 한후 상기 판매자 서버에 제공하고 상기 판매자 서버는 상기 암호화 과정과 동일한 방법으로 상기 사용자 프로그램으로부터 받은 암호화된 디지털 아이디를 복호화하는 단계(S10)와,
    (f) 판매자가 상기 디지털 아이디를 해시함수를 이용하여 임시적인 암호키로 변환하고 미리 약속된 암호 알고리즘으로 판매 코자 하는 자신의 컨텐츠 일부 혹은 전체를 암호화 하는 단계(S12)와,
    (g) 사용자가 상기 디지털 아이디를 해시함수를 이용하여 임시적인 암호키로 변환하고 미리 약속된 암호 알고리즘으로 구매한 컨텐츠 일부 혹은 전체를 복호화 하는 단계(S14)
    를 포함하는 디지털 컨텐츠 배포 방법.
  2. 제 1 항에 있어서,
    상기 (a)단계는,
    적어도 둘 이상의 서로 다른 디지털 아이디를 갖는 사용자 프로그램을 미리 상기 운영자 서버에 저장하는 단계(S18)와,
    아이콘 클릭의 감지 후 일정기간 또 다른 클릭을 무시하는 단계(S24)
    를 포함하는 디지털 컨텐츠 배포 방법.
  3. 제 1 항에 있어서,
    상기 (b)단계는,
    상기 비밀번호를 대칭형 암호 알고리즘5와 비밀키5로 암호화 하여 상기 사용자 프로그램 내부에 저장 하는 단계(S40,S42)와,
    상기 사용자 컴퓨터에 저장된 상기 고유정보를 읽어 들이는 단계(S44)와,
    상기 고유정보를 암호화 하는데 있어서 상기 비밀번호를 파라메타로 하여 암호 알고리즘 및 비밀키를 선택하여 암호화하여 상기 사용자 프로그램 내부에 저장하는 단계(S46,S48)와,
    상기 프로세스를 완료하는 조건으로 상기 사용자 프로그램을 설치하는 단계(S50)
    를 포함하는 디지털 컨텐츠 배포 방법.
  4. 제 1 항에 있어서,
    상기 (c)단계는,
    사용자가 비밀번호를 입력케 하여 상기 암호 알고리즘5 및 비밀키5로 암호화 한 후 저장된 암호문의 값과 일치 하는지 여부를 판단하여, 일치하는 경우, 다음단계로 진행하는 단계(S54~S60)와,
    상기 사용자 컴퓨터에 내장된 상기 랜 카드의 상기 고유정보를 읽어서 상기 S46 단계와 같은 방법으로 암호화 한 후 저장된 암호문의 값과 일치 하는지 여부를 판단하여(S64),일치 하는 경우, 사용자 프로그램을 활성화 하는 단계(S66)
    를 포함하는 디지털 컨텐츠 배포 방법.
  5. 제 1 항에 있어서,
    상기 (d)단계는,
    판매자 서버가 자신의 내부에 설치된 디바이스 드라이버에 판매자 인증용 데이터를 요구하는 단계(S70)와,
    상기 디바이스 드라이버는 자신이 가지고 있는 판매자 일련번호 및 인증코드를 보조장치1에 전달하는 단계(S72)와,
    상기 보조장치1은 판매자 일련번호를 대칭형 암호 알고리즘1 및 비밀키1로 암호화하는 단계(S74)와,
    상기 단계에서 암호화 한 결과값이 판매자 인증코드와 일치 하는지 여부를 판단하여(S76), 일치 하는 경우, 보조장치1은 난수를 발생 시키는 단계(S78)와,
    상기 과정에서 발생한 난수를 대칭형 암호 알고리즘2 및 비밀키2로 암호화 하는 단계(S80)와,
    상기 난수, 상기 암호문, 상기 판매자 일련번호를 공개키 암호 알고리즘과 개인키를 이용하여 암호화 하는 단계(S82)와,
    상기 단계에서 결과값을 상기 디바이스 드라이버를 경유하여 판매자 서버에 전달하는 단계(S84)와,
    상기 판매자 서버는 받은 데이터를 인터넷을 경유하여 사용자 컴퓨터에 제출하며 디지털 아이디를 요구하는 단계(S88)와,
    상기 사용자 컴퓨터가 받은 데이터를 공개키 암호 알고리즘과 공개키로 복호화 하는 단계(S90)와,
    복호된 데이터 중 난수를 대칭형 암호 알고리즘2와 비밀키2로 암호화 하는 단계(S92)와,
    상기 생성된 암호문이 상기 복호된 암호문과 일치 하는지 여부를 판단하여(S94), 일치 하는 경우, 인증 성공사실 및 상기 과정에서 복호화 한 판매자 일련번호를 기록하고 다음단계로 진행하는 단계(S96)
    를 포함하는 디지털 컨텐츠 배포 방법.
  6. 제 1 항에 있어서,
    상기 (e)단계는,
    상기 사용자 프로그램이 상기 판매자 일련번호를 해시함수1로 메시지 다이제스트를 만들어 일시적인 비밀키로 하는 단계(S100)와;
    상기 생성된 비밀키 및 대칭형 암호 알고리즘3으로 자신의 디지털 아이디를 암호화하는 단계(S102)와,
    상기 판매자 서버는 자신의 일련번호를 해시함수1로 메시지 다이제스트를 만들어 일시적인 비밀키를 생성하는 단계(S106)와,
    상기 생성된 비밀키 및 대칭형 암호 알고리즘3으로 사용자 프로그램으로부터 받은 암호화된 디지털 아이디를 복호화하는 단계(S108)
    를 포함하는 디지털 컨텐츠 배포 방법.
  7. 제 1 항에 있어서,
    상기 (f)단계는,
    판매자 서버는 사용자가 보조장치2를 사용하는 고객인지 여부를 판단하여(S112),상기 보조장치2를 사용하는 고객일 경우, 판매자 서버가 상기 (S108)단계에서 복호화 한 디지털 아이디 및 판매코자 하는 디지털 컨텐츠 중 암호화 하려는 내용을 보조장치1에 전달하는 단계(S114)와,
    상기 보조장치1은 받은 디지털 아이디를 해시함수2 를 이용하여 메시지 다이제스트를 만들어 임시적인 비밀키로 사용하는 단계(S122)와,
    상기 생성된 비밀키와 대칭형 암호알고리즘6 을 이용하여 상기 수신한 데이터를 암호화하는 단계(S118)와,
    상기 단계(S118)에서 암호화 된 데이터를 보조장치1에서 판매자 서버로 전달하는 단계(S120)와,
    상기 보조장치2를 사용하지 않는 고객일 경우, 판매자 서버는 상기 디지털 아이디를 해시함수2를 이용하여 메시지 다이제스트를 만들어 임시적인 비밀키를 만드는 단계(S122)와,
    상기 생성된 임시 비밀키 및 대칭형 암호 알고리즘4를 이용하여 판매할 컨텐츠의 일부 혹은 전체를 암호화 하는 단계(S124)
    를 포함하는 디지털 컨텐츠 배포 방법.
  8. 제 1 항에 있어서,
    상기 (g)단계는,
    상기 사용자 프로그램은 사용자가 보조장치2를 사용하는 고객인지 여부를 판단하여(S128), 상기 보조장치2를 사용하는 고객일 경우, 사용자 프로그램이 상기 자신의 디지털 아이디 및 상기 판매자 서버로부터 수신한 암호화된 디지털 컨텐츠를 보조장치2에 전달하는 단계(S130)와,
    상기 보조장치2는 받은 디지털 아이디를 해시함수2 를 이용하여 메시지 다이제스트를 만들어 임시적인 비밀키로 하는 단계(S132)와,
    상기 생성된 비밀키와 대칭형 암호알고리즘6 을 이용하여 상기 수신한 암호화된 디지털 컨텐츠를 복호화 하는 단계(S134)와,
    상기 복호화된 데이터를 상기 보조장치2에서 사용자 프로그램에 전달하는 단계(S136)와,
    상기 보조장치2를 사용하지 않는 고객일 경우, 상기 사용자 프로그램은 상기 디지털 아이디를 해시함수2를 이용하여 메시지 다이제스트를 만들어 임시적인 비밀키를 만드는 단계(S138)와,
    상기 생성된 임시 비밀키 및 대칭형 암호 알고리즘4를 이용하여 구매한 컨텐츠 중 암호화된 부분을 복호화하는 단계(S140)
    를 포함하는 디지털 컨텐츠 배포 방법.
  9. 통신망을 통해 디지털 컨텐츠를 배포하기 위한 프로그램을 저장하고 있는 컴퓨터 판독 가능한 기록매체에 있어서,
    상기 프로그램은,
    사용자 프로그램을 배포하기 위한 프로그램 코드(code)와,
    상기 사용자 프로그램을 설치하기 위한 프로그램 코드와,
    상기 설치된 사용자 프로그램을 활성화시키기 위한 프로그램 코드와,
    디지털 컨텐츠를 판매하는 판매자 인증을 수행하기 위한 프로그램 코드와,
    상기 디지털 컨텐츠에 대한 디지털 ID를 전송하기 위한 프로그램 코드와,
    상기 디지털 컨텐츠를 암호화하기 위한 프로그램 코드와,
    상기 암호화된 디지털 컨텐츠를 복호화하기 위한 프로그램 코드
    를 포함하는 기록매체.
  10. 통신망을 통해 디지털 컨텐츠를 배포하기 위한 시스템에 있어서,
    상기 디지털 콘텐츠를 판매하기 위한 판매자 서버와,
    상기 디지털 컨텐츠를 상기 판매자 서버로부터 구매하기 위한 사용자 컴퓨터와,
    상기 디지털 컨텐츠의 구매시 사용되는 사용자 프로그램을 상기 사용자 컴퓨터에 배포하기 위한 운영자 서버
    를 포함하는 시스템.
  11. 다수의 사용자 컴퓨터, 운영자 서버, 판매자 서버가 통신망을 통해 서로 연결되어 있고, 사용자 프로그램을 이용하여 디지털 컨텐츠들을 안전하게 배포하는 시스템을 통해 디지털 컨텐츠를 배포하기 위한 방법에 있어서,
    암호화된 디지털 컨텐츠 혹은 상기 디지털 컨텐츠의 사용 방침을 기록한 별도의 데이터를 복호화하기 위해 상기 사용자 프로그램과 상기 다수의 사용자 컴퓨터에 연결된 보조장치를 선택적으로 사용할 수 있는 디지털 컨텐츠 배포 방법.
  12. 제 11 항에 있어서,
    상기 보조장치는 상기 사용자 프로그램을 실행시키는 상기 다수의 사용자 컴퓨터 각각의 씨리얼 포트 혹은 유에스비 포트와 연결되는 장치이며, 유에스비 디바이스 및 스마트카드와 스마트카드 커플러의 조합의 형태를 갖는 디지털 컨텐츠 배포 방법.
KR1020030067129A 2003-09-27 2003-09-27 서로 다른 디지털 아이디를 갖는 사용자 프로그램들을이용하여 통신망을 통해 디지털 컨텐츠를 안전하게배포하기 위한 방법 및 시스템 KR20050030982A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020030067129A KR20050030982A (ko) 2003-09-27 2003-09-27 서로 다른 디지털 아이디를 갖는 사용자 프로그램들을이용하여 통신망을 통해 디지털 컨텐츠를 안전하게배포하기 위한 방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030067129A KR20050030982A (ko) 2003-09-27 2003-09-27 서로 다른 디지털 아이디를 갖는 사용자 프로그램들을이용하여 통신망을 통해 디지털 컨텐츠를 안전하게배포하기 위한 방법 및 시스템

Publications (1)

Publication Number Publication Date
KR20050030982A true KR20050030982A (ko) 2005-04-01

Family

ID=37236013

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030067129A KR20050030982A (ko) 2003-09-27 2003-09-27 서로 다른 디지털 아이디를 갖는 사용자 프로그램들을이용하여 통신망을 통해 디지털 컨텐츠를 안전하게배포하기 위한 방법 및 시스템

Country Status (1)

Country Link
KR (1) KR20050030982A (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100959380B1 (ko) * 2008-12-04 2010-05-24 (주)엑스프라임 플래시 컨텐츠 제공 방법
KR101325096B1 (ko) * 2012-04-06 2013-11-21 주식회사 니벤스컴퍼니 불법 복제 방지 시스템 및 불법 복제 방지 방법
WO2014069778A1 (ko) * 2012-10-31 2014-05-08 삼성에스디에스 주식회사 아이디 기반 암호화, 복호화 방법 및 이를 수행하기 위한 장치
US9137223B2 (en) 2012-10-09 2015-09-15 Samsung Sds Co., Ltd. Apparatus and method for transmitting data, and recording medium storing program for executing method of the same in computer

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100959380B1 (ko) * 2008-12-04 2010-05-24 (주)엑스프라임 플래시 컨텐츠 제공 방법
KR101325096B1 (ko) * 2012-04-06 2013-11-21 주식회사 니벤스컴퍼니 불법 복제 방지 시스템 및 불법 복제 방지 방법
US9137223B2 (en) 2012-10-09 2015-09-15 Samsung Sds Co., Ltd. Apparatus and method for transmitting data, and recording medium storing program for executing method of the same in computer
WO2014069778A1 (ko) * 2012-10-31 2014-05-08 삼성에스디에스 주식회사 아이디 기반 암호화, 복호화 방법 및 이를 수행하기 위한 장치

Similar Documents

Publication Publication Date Title
JP4865854B2 (ja) デジタル著作権管理方法および装置
KR100605071B1 (ko) 디지털 전자 콘텐츠의 안전하고 편리한 관리 시스템 및 방법
US9112678B2 (en) Information processing apparatus and method
US7836311B2 (en) Information processing apparatus, information processing method, and computer program used therewith
US7325139B2 (en) Information processing device, method, and program
CN1902694B (zh) 用于检测未授权终端的认证服务器、方法和系统
US6684198B1 (en) Program data distribution via open network
KR20040030454A (ko) 콘텐츠 이용권한 관리시스템, 콘텐츠 이용권한 관리방법및 정보처리장치와 컴퓨터 프로그램
MXPA06010778A (es) Estructura de manejo de derechos digitales, dispositivo de almacenamiento portatil y metodo de manejo de contenidos que usa el dispositivo de almacenamiento portatil.
WO2002080448A1 (fr) Appareil de traitement de l'information
JPH11283327A (ja) 情報記録装置および情報再生装置および課金装置および判定装置および更新装置および情報利用装置および鍵配信装置および記録媒体
WO2001019017A1 (fr) Systeme, dispositif, procede et support de programme pour la gestion de contenus
JP2007537534A (ja) デバイスと携帯型保存装置との間の権利客体情報伝達方法及び装置
WO2000007329A1 (fr) Systeme de traitement de contenu
JP2004133576A (ja) 情報処理装置、コンテンツ配信サーバ、ライセンスサーバ、および方法、並びにコンピュータ・プログラム
US20020166056A1 (en) Hopscotch ticketing
MX2007008543A (es) Dispositivo y metodo para manejo de derecho digital.
FI115356B (fi) Menetelmä audiovisuaalisen informaation käsittelemiseksi elektroniikkalaitteessa, järjestelmä ja elektroniikkalaite
JP2002063147A (ja) 情報処理装置、情報処理方法、並びに記録媒体
JP2003087237A (ja) コンテンツ利用管理システム、コンテンツ利用管理方法、および情報処理装置、並びにコンピュータ・プログラム
KR20050030982A (ko) 서로 다른 디지털 아이디를 갖는 사용자 프로그램들을이용하여 통신망을 통해 디지털 컨텐츠를 안전하게배포하기 위한 방법 및 시스템
JP2003085048A (ja) バックアップデータ管理システム、バックアップデータ管理方法、および情報処理装置、並びにコンピュータ・プログラム
JP3575210B2 (ja) デジタル情報管理システム、端末装置、情報管理センタ及びデジタル情報管理方法
JP2002149061A (ja) レンタルコンテンツ流通システムおよびその方法
JP2002352146A (ja) コンテンツ部分課金方法及びシステム及びコンテンツ部分課金プログラム及びコンテンツ部分課金プログラムを格納した記憶媒体

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination