KR20030084019A - 소프트웨어의 불법 사용을 방지하기 위한 사용자 등록 및인증 방법과, 이를 저장한 컴퓨터 판독 가능 기록 매체 - Google Patents

소프트웨어의 불법 사용을 방지하기 위한 사용자 등록 및인증 방법과, 이를 저장한 컴퓨터 판독 가능 기록 매체 Download PDF

Info

Publication number
KR20030084019A
KR20030084019A KR1020020022493A KR20020022493A KR20030084019A KR 20030084019 A KR20030084019 A KR 20030084019A KR 1020020022493 A KR1020020022493 A KR 1020020022493A KR 20020022493 A KR20020022493 A KR 20020022493A KR 20030084019 A KR20030084019 A KR 20030084019A
Authority
KR
South Korea
Prior art keywords
key
client
user
authentication
software
Prior art date
Application number
KR1020020022493A
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 KR1020020022493A priority Critical patent/KR20030084019A/ko
Publication of KR20030084019A publication Critical patent/KR20030084019A/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]
    • G06F21/105Arrangements for software license management or administration, e.g. for managing licenses at corporate level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • G06F21/445Program or device authentication by mutual authentication, e.g. between devices or 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)

Abstract

본 발명은 소프트웨어의 불법 사용을 방지하기 위한 사용자 등록 및 인증 방법과, 이를 저장한 컴퓨터 판독 가능 기록 매체에 관한 것으로, 특히 사용자 인증 방법은 특정 소프트웨어 사용 시 네트워크를 통해 클라이언트 측에서 전달되는 상기 클라이언트에 대한 인증 번호에 기초하여 서버가 상기 클라이언트를 상기 특정 소프트웨어의 사용자로 인증하는 방법으로, a) 상기 클라이언트 측에서 전송된 상기 인증 번호가 상기 서버 내에 등록된 인증 번호인 지의 여부를 판단하는 단계; b) 상기 단계 a)에서 상기 인증 번호가 상기 서버 내에 등록된 것으로 판단되는 경우, 상기 인증 번호에서 추출되는 상기 특정 소프트웨어에 고유한 CD-Key가 사용 가능한 CD-Key인 지의 여부를 판단하는 단계; 및 c) 상기 단계 b)에서 상기 CD-Key가 사용 가능한 CD-Key인 것으로 판단되는 경우, 상기 CD-Key에 대해 허용된 상기 특정 소프트웨어의 사용 가능수에 따라 상기 클라이언트에 대한 사용자 인증을 수행하는 단계를 포함한다. 본 발명에 따르면, 사용자의 고유한 하드 시리얼 번호와 CD-Key 등을 사용하여 유일한 값인 인증 번호를 만들어 사용하기 때문에 컴퓨터에 단 하나의 인증 권한을 부여할 수가 있어서 소프트웨어의 불법 설치를 방지할 수 있다. 또한, 인증 번호를 통하여 하나의 CD-Key로 다수의 사용자를 관리할 수 있기 때문에 종래 동시 접속자수로 제한을 통하여 관리하던 경우 발생되던 허용 가능수 이상의 불법적인 소프트웨어 사용을 방지할 수 있다.

Description

소프트웨어의 불법 사용을 방지하기 위한 사용자 등록 및 인증 방법과, 이를 저장한 컴퓨터 판독 가능 기록 매체{USER REGISTRATION AND CERTIFICATION METHOD FOR PROTECTING FRAUDULENT USE OF SOFTWARE, AND COMPUTER READABLE MEDIUM STORING THE SAME}
본 발명은 소프트웨어의 불법 사용을 방지하기 위한 사용자 등록 및 인증 방법에 관한 것으로, 보다 상세하게는 사용자의 고유한 컴퓨터 정보가 포함된 인증 번호를 사용함으로써 소프트웨어의 불법 사용을 방지하는 사용자 등록 및 인증 방법과, 이를 저장한 컴퓨터 판독 가능 기록 매체에 관한 것이다.
최근까지 소프트웨어의 불법 사용을 막기 위해 많은 방법이 소개되었다.
이러한 방법들 중 하나로, 소프트웨어를 설치할 때 씨디 키(이하 'CD-Key'라고 함)를 입력하게 하여 불법 사용을 방지하는 방법이 있으나, 이는 CD-Key의 불법 도용으로 인한 불법 사용까지 막을 수는 없다.
또 다른 방법으로, CD 록(lock)을 사용하는 방법이 있으나, 이 방법도 CD의 불법 복제에 취약한 면이 있다. 또한 CD에 포함되어 있는 소프트웨어를 실행 시 이 CD를 매번 사용하여야 하는 불편함도 있다.
이와 같이, CD에 권한을 가하는 방법으로는 소프트웨어의 불법 사용을 막는데 한계가 있다.
이를 보완하기 위해, 온라인을 통한 인증 방법이 제시된 바 있다. 특히 IP(Internet Protocol), CPU(Central Processing Unit) 시리얼(serial) 번호, 하드 디스크 볼륨(Hard Disk Volume) 번호, 하드 디스크 시리얼 번호(이하 '하드 시리얼 번호'라고 함), 네트워크 카드의 MAC(Media Access Control) 어드레스 등 사용자의 컴퓨터를 식별할 수 있는 것과 CD-Key를 혼합하여 소프트웨어의 불법 사용을 막는 방법이 제시되고 있다.
여기서 IP를 사용한 인증 방법은 고정 IP를 사용하는 사람들에게는 매우 유용하다. 그러나 현재 많은 인터넷 사용자들은 초고속 통신망을 사용하는데 이들은 주로 유동 IP를 사용하므로 그 인증 방법의 사용에 한계가 있다. 또한, CPU 시리얼 번호를 사용한 인증 방법은 인텔(Intel)사의 펜티엄 3 이상의 컴퓨터에서만 사용이 가능하다는 문제점이 있다. 한편, 네트워크 카드의 MAC 어드레스나 하드 시리얼 번호는 각 제조업체에서 부여하는 고유한 번호이므로 이를 사용한 인증 방법은 유용하다고 할 수 있다.
한편, 사용자에게 ID와 패스워드를 발급하고 온라인을 통하여 소프트웨어를 다운받게 하여 사용자 인증을 수행하는 방법들도 있으나, 이러한 방법들은 사용자가 인터넷에 연결되어 있지 않은 경우 사용될 수 없다는 문제점이 있다.
또한, 1 CD-Key로 다수의 사람이 사용하도록 허용되어 있는 경우, 통상적으로 서버에 동시 접속한 사람의 수를 체크하는 방법이 사용되고 있으나, 이는 동시접속만 제한하기 때문에 허용된 수 이외의 컴퓨터에도 설치가 가능하며 실제로는 허용된 수 이상의 사람들이 사용하게 되는 문제점이 있다.
따라서, 본 발명의 목적은 상기한 종래의 문제점을 해결하기 위한 것으로, 사용자의 고유한 컴퓨터 정보와 CD-Key가 포함된 인증 번호를 사용하여 클라이언트 측과 서버 측에서 각각 사용자 인증을 수행함으로써 소프트웨어의 불법 사용을 보다 확실하게 방지하는 사용자 등록 및 인증 방법을 제공하는 데 있다.
또한, 본 발명의 다른 목적은 다수의 사용자에 대해 허용되는 1 CD-Key에 대해 동시 접속자수가 아니라 실질적인 사용자수가 제한되도록 하는 사용자 등록 및 인증 방법을 제공하는 데 있다.
도 1은 본 발명의 실시예에 따른 인증 번호의 생성 방법을 개략적으로 도시한 도면이다.
도 2는 본 발명의 실시예에 따른 사용자 인증 방법을 개략적으로 설명하는 도면이다.
도 3은 도 2에 도시된 DB의 구성을 도시한 도면이다.
도 4는 도 2에 도시된 DB의 내역을 도시한 도면이다.
도 5는 도 4에 도시된 DB 중 사용자 테이블의 내역을 도시한 도면이다.
도 6은 도 4에 도시된 DB 중 CD-Key 테이블의 내역을 도시한 도면이다.
도 7은 도 4에 도시된 DB 중 히스토리 테이블의 내역을 도시한 도면이다.
도 8a 및 도 8b는 본 발명의 실시예에 따라 온라인 상에서 1 사용자 CD-Key의 소프트웨어를 설치하는 경우의 사용자 등록 방법의 순서도이다.
도 9는 본 발명의 실시예에 따라 온라인 상에서 1 사용자 CD-Key의 소프트웨어를 사용하는 경우의 사용자 인증 방법의 순서도이다.
도 10은 본 발명의 실시예에 따라 오프라인 상에서 1 사용자 CD-Key의 소프트웨어를 설치하는 경우의 사용자 등록 방법의 순서도이다.
도 11a 및 도 11b는 본 발명의 실시예에 따라 온라인 상에서 다수의 사용자 CD-Key의 소프트웨어를 설치하는 경우의 사용자 등록 방법의 순서도이다.
도 12a 및 도 12b는 본 발명의 실시예에 따라 온라인 상에서 다수의 사용자 CD-Key의 소프트웨어를 사용하는 경우의 사용자 인증 방법의 순서도이다.
상기한 목적을 달성하기 위한 본 발명의 특징에 따른 사용자 등록 방법은,
서버가 클라이언트를 특정 소프트웨어의 사용자로 등록하는 방법으로서,
상기 클라이언트 측에서 상기 특정 소프트웨어 설치 시 네트워크를 통해 전송되는 상기 특정 소프트웨어에 고유한 씨디 키의 사용 가능 여부 및 상기 씨디 키에 대해 등록된 하드웨어 인증 정보가 있는 지의 여부를 판단하는 제1 단계; 상기 제1 단계에서 상기 씨디 키가 사용 가능한 씨디 키인 동시에 상기 씨디 키에 대해 하드웨어 인증 정보가 등록되어 있지 않은 것으로 판단되는 경우, 상기 씨디 키와 상기 클라이언트 측에서 전송된 새로운 하드웨어 인증 정보를 사용하여 상기 클라이언트에 대한 인증 번호를 생성한 후, 상기 씨디 키에 대응되도록 등록하는 제2단계; 및 상기 제1 단계에서 상기 씨디 키가 사용 가능한 씨디 키인 동시에 상기 씨디 키에 대해 하드웨어 인증 정보가 등록되어 있는 것으로 판단되는 경우, 상기 등록된 하드웨어 인증 정보와 상기 새로운 하드웨어 인증 정보 중에서 선택되는 하드웨어 인증 정보-여기서 하드웨어 인증 정보는 상기 씨디 키에 대해 허용된 상기 특정 소프트웨어의 사용 가능수에 따라 선택됨-와 상기 씨디 키를 사용하여 상기 클라이언트에 대한 인증 번호를 생성한 후, 상기 씨디 키에 대응되도록 등록하는 제3 단계를 포함한다.
상기 제3 단계에서 상기 씨디 키에 대해 허용된 상기 특정 소프트웨어의 사용 가능수가 한 명인 경우, 상기 제3 단계는 상기 클라이언트 측에서 전송된 하드웨어 인증 정보와 상기 씨디 키에 대해 등록된 하드웨어 인증 정보가 동일한 지의 여부를 판단하는 단계; 상기 판단 단계에서 각 하드웨어 인증 정보가 동일하지 않은 것으로 판단되는 경우, 상기 클라이언트 측에서 전송된 하드웨어 인증 정보의 등록 여부를 확인하는 단계; 상기 확인 단계에서 상기 클라이언트가 상기 전송된 하드웨어 인증 정보를 등록하지 않는 것으로 확인하는 경우, 상기 클라이언트의 상기 특정 소프트웨어에 대한 등록이 불가한 것으로 오류 처리하는 단계; 및 상기 단계 확인 단계에서 상기 클라이언트가 상기 전송된 하드웨어 인증 정보를 등록하는 것으로 확인하는 경우, 상기 클라이언트에 대한 인증 번호 생성을 위해 상기 전송된 하드웨어 인증 정보를 선택하는 단계를 포함한다.
한편, 상기 제3 단계에서 상기 씨디 키에 대해 허용된 상기 특정 소프트웨어의 사용 가능수가 다수인 경우, 상기 제3 단계에서 상기 클라이언트에 대한 인증번호 생성을 위해 상기 클라이언트 측에서 전송된 하드웨어 인증 정보가 선택되는 것을 특징으로 한다.
또한, 상기 사용자 등록 방법은, 상기 제2 단계 후에, 상기 씨디 키에 대응하여 상기 서버 내에 등록되어 있는 사용자수를 0으로 등록하는 단계를 더 포함한다.
또한, 상기 제1 단계는 상기 씨디 키가 상기 서버 내에 등록된 씨디 키인 지의 여부를 판단하는 단계; 및 상기 판단 단계에서 상기 씨디 키가 등록된 씨디 키인 것으로 판단되는 경우, 상기 씨디 키에 대해 사용 기간 내에 있는 지의 여부를 판단하는 단계를 포함한다.
한편, 상기 사용자 등록 방법은 상기 제3 단계 후에, 상기 클라이언트에서의 상기 특정 소프트웨어 설치가 완료되도록 상기 클라이언트에 대한 인증 번호를 상기 클라이언트에게 전송하는 단계를 더 포함한다.
또한, 상기 사용자 등록 방법은 상기 제1 단계 전에, 상기 클라이언트가 사용자로부터 상기 특정 소프트웨어에 고유한 씨디 키를 입력받는 단계; 상기 입력 단계에서 입력된 씨디 키가 정상적인 씨디 키인 지의 여부를 판단하는 단계; 상기 판단 단계에서 상기 씨디 키가 정상적인 씨디 키인 것으로 판단되는 경우, 상기 클라이언트에 고유한 하드웨어 인증 정보를 추출하는 단계; 및 상기 씨디 키 및 상기 추출된 하드웨어 인증 정보를 상기 네트워크를 통해 상기 서버로 전송하는 단계를 더 포함한다.
또한, 본 발명의 다른 특징에 따른 사용자 인증 방법은,
특정 소프트웨어 사용 시 네트워크를 통해 클라이언트 측에서 전달되는 상기 클라이언트에 대한 인증 번호에 기초하여 서버가 상기 클라이언트를 상기 특정 소프트웨어의 정당한 사용자로 인증하는 방법으로서,
상기 클라이언트 측에서 전송된 상기 인증 번호가 상기 서버 내에 등록된 인증 번호인 지의 여부를 판단하는 제1 단계; 상기 제1 단계에서 상기 인증 번호가 상기 서버 내에 등록된 것으로 판단되는 경우, 상기 인증 번호에서 추출되는 상기 특정 소프트웨어에 고유한 씨디 키가 사용 가능한 씨디 키인 지의 여부를 판단하는 제2 단계; 및 상기 단계 제2에서 상기 씨디 키가 사용 가능한 씨디 키인 것으로 판단되는 경우, 상기 씨디 키에 대해 허용된 상기 특정 소프트웨어의 사용 가능수에 따라 상기 클라이언트에 대한 사용자 인증을 수행하는 제3 단계를 포함한다.
상기 제3 단계에서 상기 씨디 키에 대해 허용된 상기 특정 소프트웨어의 사용 가능수가 한 명인 경우, 상기 제3 단계는 상기 클라이언트 측에서 전송된 인증 번호에서 추출되는 상기 클라이언트에 고유한 하드웨어 인증 정보가 상기 서버에 등록된 인증 번호에 대응되는 하드웨어 인증 정보와 동일한 지의 여부를 판단하는 단계; 및 상기 판단 단계에서 각 인증 정보가 동일한 것으로 판단되는 경우, 상기 클라이언트를 상기 특정 소프트웨어의 사용자로 인증하는 단계를 포함한다.
또한, 상기 제3 단계에서 상기 씨디 키에 대해 허용된 상기 특정 소프트웨어의 사용 가능수가 둘 이상의 특정 수인 경우, 상기 제3 단계는 상기 서버 내에 등록된 사용자수에 1을 더한 수가 상기 특정 수보다 큰 지의 여부를 판단하는 단계; 상기 판단 단계에서 상기 사용자수에 1을 더한 수가 상기 특정 수 이하인 것으로판단되는 경우, 상기 사용자수에 1을 더한 수를 상기 사용자수로 대체하여 등록하는 단계; 상기 클라이언트를 상기 특정 소프트웨어의 사용자로 인증하는 단계; 상기 판단 단계에서 상기 사용자수에 1을 더한 수가 상기 특정 수보다 큰 것으로 판단되는 경우, 상기 서버에 상기 사용자수로 등록된 사용자의 등록일 중 상기 클라이언트의 등록일보다 뒤지는 것이 있는 지의 여부를 판단하는 단계; 및 상기 등록일 판단 단계에서 상기 사용자의 등록일 중 상기 클라이언트의 등록일보다 뒤지는 것이 있는 경우, 해당 사용자 대신에 상기 클라이언트를 상기 특정 소프트웨어의 사용자로 인증하는 단계를 포함한다.
상기 사용자 인증 단계는 상기 서버 내에 상기 해당 사용자의 사용가능 여부를 사용 불가로 등록하고, 상기 클라이언트의 사용가능 여부를 사용 가능으로 등록하는 단계를 포함한다.
한편, 상기 사용자 인증 방법은 상기 제3 단계 후에, 상기 클라이언트에서의 상기 특정 소프트웨어 사용이 가능하도록 상기 클라이언트에 대한 인증 성공 결과를 상기 클라이언트에게 전송하는 단계를 더 포함한다.
또한, 상기 사용자 인증 방법은 상기 제1 단계 전에, 상기 클라이언트가 자신의 하드웨어 인증 정보와 상기 인증 번호에서 추출한 하드웨어 인증 정보가 동일한 지의 여부를 판단하는 단계; 및 상기 판단 단계에서 각 하드웨어 인증 정보가 동일한 것으로 판단되는 경우, 상기 클라이언트의 인증 번호를 상기 네트워크를 통해 상기 서버로 전송하는 단계를 더 포함한다.
또한, 본 발명의 다른 특징에 따른 컴퓨터 판독 가능 기록 매체는,
서버가 클라이언트를 특정 소프트웨어의 사용자로 등록하는 방법의 단계들을 수행하도록 컴퓨터에 의해 실행 가능한 명령으로 구성되는 프로그램을 유형적으로 구체화한 컴퓨터 판독 가능 기록 매체로서,
상기 방법 단계는, 상기 클라이언트 측에서 상기 특정 소프트웨어 설치 시 네트워크를 통해 전송되는 상기 특정 소프트웨어에 고유한 씨디 키의 사용 가능 여부 및 상기 씨디 키에 대해 등록된 하드웨어 인증 정보가 있는 지의 여부를 판단하는 제1 단계; 상기 제1 단계에서 상기 씨디 키가 사용 가능한 씨디 키인 동시에 상기 씨디 키에 대해 하드웨어 인증 정보가 등록되어 있지 않은 것으로 판단되는 경우, 상기 씨디 키와 상기 클라이언트 측에서 전송된 새로운 하드웨어 인증 정보를 사용하여 상기 클라이언트에 대한 인증 번호를 생성한 후, 상기 씨디 키에 대응되도록 등록하는 제2 단계; 및 상기 제1 단계에서 상기 씨디 키가 사용 가능한 씨디 키인 동시에 상기 씨디 키에 대해 하드웨어 인증 정보가 등록되어 있는 것으로 판단되는 경우, 상기 등록된 하드웨어 인증 정보와 상기 새로운 하드웨어 인증 정보 중에서 선택되는 하드웨어 인증 정보-여기서 하드웨어 인증 정보는 상기 씨디 키에 대해 허용된 상기 특정 소프트웨어의 사용 가능수에 따라 선택됨-와 상기 씨디 키를 사용하여 상기 클라이언트에 대한 인증 번호를 생성한 후, 상기 씨디 키에 대응되도록 등록하는 제3 단계를 포함한다.
또한, 본 발명의 다른 특징에 따른 컴퓨터 판독 기록 매체는,
특정 소프트웨어 사용 시 네트워크를 통해 클라이언트 측에서 전달되는 상기 클라이언트에 대한 인증 번호에 기초하여 서버가 상기 클라이언트를 상기 특정 소프트웨어의 정당한 사용자로 인증하는 방법의 단계들을 수행하도록 컴퓨터에 의해 실행 가능한 명령으로 구성되는 프로그램을 유형적으로 구체화한 컴퓨터 판독 가능 기록 매체로서,
상기 방법 단계는, 상기 클라이언트 측에서 전송된 상기 인증 번호가 상기 서버 내에 등록된 인증 번호인 지의 여부를 판단하는 제1 단계; 상기 제1 단계에서 상기 인증 번호가 상기 서버 내에 등록된 것으로 판단되는 경우, 상기 인증 번호에서 추출되는 상기 특정 소프트웨어에 고유한 씨디 키가 사용 가능한 씨디 키인 지의 여부를 판단하는 제2 단계; 및 상기 단계 제2에서 상기 씨디 키가 사용 가능한 씨디 키인 것으로 판단되는 경우, 상기 씨디 키에 대해 허용된 상기 특정 소프트웨어의 사용 가능수에 따라 상기 클라이언트에 대한 사용자 인증을 수행하는 제3 단계를 포함한다.
이하, 본 발명의 실시예에 대해 첨부된 도면을 참조하여 상세히 설명한다.
도 1은 본 발명의 실시예에 따른 인증 번호의 생성 방법을 개략적으로 도시한 도면이다.
도 1에 도시되어 있는 바와 같이, 본 발명의 실시예에 따른 인증 번호는 특정 소프트웨어에 고유한 CD-Key, 사용자의 고유한 하드웨어 인증 정보, 즉 컴퓨터 정보, 특히 하드 시리얼 번호, 및 CD-Key의 사용 기간을 가지고 생성된다.
도면에는 간단하게 '+' 기호로 표시하였으나 인증 번호는 제3자가 쉽게 복호할 수 없을 정도의 암호화 과정이 포함된 인증 번호 생성 알고리즘을 통해 생성된다. 이러한 인증 번호 생성 알고리즘으로는 여러 가지 방식이 알려져 있으므로 그들 중 어느 하나를 사용하여 생성할 수 있다.
또한, 여기에서는 사용자의 고유한 컴퓨터 정보로 하드 시리얼 번호가 사용되었지만, 본 발명의 기술적 범위는 여기에 한정되지 않는다. 즉 사용자의 고유한 다른 컴퓨터 정보, 예를 들어 MAC 어드레스가 사용될 수 있다.
한편, 상기에서는 CD-Key, 하드 시리얼 번호 및 CD-Key의 사용 기간이 인증 번호 생성에 사용되는 것으로 설명하였지만, CD-Key의 사용 기간을 제외한 CD-Key 및 하드웨어 인증 정보만을 가지고 인증 번호를 생성하여 사용할 수도 있다.
도 2는 본 발명의 실시예에 따른 사용자 인증 방법을 개략적으로 설명하는 도면이다.
도 2에 도시된 바와 같이, 사용자는 자신의 PC에 본 발명의 실시예에 따른 사용자 인증 방법이 적용되는 소프트웨어를 설치하고, 설치된 소프트웨어를 사용한다.
소프트웨어를 설치하여 사용하는 사용자의 인증을 실시하는 서버의 CD-Key 판별 모듈은 사용자의 소프트웨어 설치 시 전송되는 해당 소프트웨어의 CD-Key를 받아서 데이터베이스(DataBase, 이하 'DB'라고 함)의 CD-Key DB를 사용하여 정상적인 CD-Key인 지를 판별한다. 또한, 정상적인 CD-Key인 경우 이 CD-Key에 등록된 하드 시리얼 번호가 있는 지의 여부도 판별한다. 이러한 판별의 결과에 따라 해당 사용자의 인증 여부가 결정된다. 여기서 사용자 PC의 하드 시리얼 번호는 해당 소프트웨어가 설치되는 하드 디스크 드라이브의 시리얼 번호이다.
인증 번호 생성 모듈은 CD-Key 판별 모듈에 의해 사용자 인증이 완료된 CD-Key, 하드 시리얼 번호 및 CD-Key의 사용 기간(이하 '사용 기간'이라고 함)을 사용하여 인증 번호를 생성하여 인증 번호 DB에 등록하는 동시에 사용자의 소프트웨어 설치 완료를 위해 사용자 PC로 전송한다.
여기서 사용자 PC와 서버는 인터넷 등의 네트워크를 통해 연결되어 있고, CD-Key, 하드 시리얼 번호, 인증 번호 등은 TCP/IP 프로토콜 등을 통해 전달될 수 있음은 당업자에 의해 쉽게 이해될 것이다.
한편, 인증 번호 판별 모듈은 사용자 PC에 설치된 소프트웨어의 사용 시 전송되는 인증 번호를 받아서 인증 번호 DB를 통해 등록 여부를 판별한다.
사용 가능 여부 판별 모듈은 1 CD-Key에 다수의 사용자가 허용된 경우에 인증 번호 판별 모듈에 의해 사용자 인증이 완료된 사용자에 대해 사용가능수 및 사용자수 DB를 통해 소프트웨어 사용 가능 여부를 판별한다.
사용 가능수는 1 CD-Key에 허용된 사용자수로 미리 설정되고, 사용자수는 소프트웨어를 실제 사용하는 사용자수로 사용 가능수를 넘지 않는다.
한편, 소프트웨어를 설치하여 사용자로 등록하는 수에는 제한이 없으며, 단지 실제 사용자수만이 사용 가능수를 넘지 않도록 제어된다. 예를 들어, 1 CD-Key에 2명의 사용자가 허용된 경우라도, 해당 소프트웨어를 4명이 설치하여 각각의 인증 번호를 등록할 수 있다. 이 때, 4명의 사용자 등록일(필요한 경우 등록 시간까지 포함함)이 CD-Key 및 하드 시리얼 번호 DB 또는 인증 번호 DB와 사용 가능수 및 사용자수 DB에 저장된다. 예를 들어 4명의 등록일의 빠르기에 따라 인증 번호 DB에 1, 2, 3, 4의 사용자로 등록된다.
한편, 사용 가능 여부 판별 모듈은 사용 가능 여부를 판별하기 위해 사용자 등록일을 사용한다.
상기 예를 들어 설명하면, 1 CD-Key에 최대 2명의 사용만이 허용되고, 등록일의 순서가 1, 2, 3, 인 4명의 사용자가 등록되어 있으며, 현재 사용 가능수 및 사용자수 DB에 1번과 3번의 사용자가 소프트웨어를 사용 중인 경우, 2번의 사용자가 소프트웨어를 사용하려고 할 때 2번의 사용자의 등록일이 3번 사용자의 등록일보다 빠르기 때문에 3번의 인증 번호를 차단하여 사용을 막고 2번 사용자에게 사용 권한을 준다. 한편, 동일한 예에서 2번 사용자가 아니라 4번 사용자가 소프트웨어를 사용하려고 하는 경우에는 이미 사용 중인 3번 사용자의 등록일이 4번 사용자의 등록일보다 빠르기 때문에 4번 사용자의 인증 번호를 차단하여 사용을 금지하도록 한다.
도 3은 도 2에 도시된 DB의 구성을 도시한 도면이다.
도 3에 도시되어 있는 바와 같이, 본 발명의 실시예에 따른 DB는 CD-Key 정보에 인증번호, 하드 시리얼 번호 및 사용가능 여부 정보가 연결되어 있다. 여기서 CD-Key 정보에는 상기한 정보이외에 다른 유용한 정보가 더 연결될 수 있다.
CD-Key가 1명의 사용자에게만 허용되는 경우에는 1개의 CD-Key에는 각 1개의 인증번호, 하드 시리얼 번호 및 사용가능 여부 정보가 연결되지만, 만약 1개의 CD-Key에 다수의 사용자가 허용되는 경우에는 1개의 CD-Key에 다수의 인증번호, 하드 시리얼 번호 및 사용가능 여부 정보가 연결될 수 있다. 또한, 본 발명의 실시예에서는 사용자로서의 등록은 사용자수에 제한없이 허용하기 때문에 1개의 CD-Key에연결되는 인증번호, 하드 시리얼 번호 및 사용가능 여부 정보의 개수에는 제한이 없다고 할 수 있다.
또한, CD-Key에는 사용가능수 정보 및 사용자수 정보가 연결될 수 있다.
한편, CD-Key, 인증번호, 하드 시리얼 번호, 사용가능 여부, 사용가능수, 사용자수 등이 저장되는 DB의 구조는 어떠한 형태이어도 좋다. 여기에서는 도 4 내지 도 7을 참조하여 상기 DB의 구조의 일예를 설명한다.
도 4는 도 2에 도시된 DB의 내역을 도시한 도면이다.
도 4에 도시되어 있는 바와 같이, 본 발명의 실시예에 따른 DB는 사용자 테이블(USER), CD-Key 테이블(CDKEY) 및 히스토리 테이블(HISTORY)로 이루어진다.
사용자 테이블(USER)은 인증번호 관련 사용자의 정보를 저장하고 관리하는 테이블로 상세한 내역은 첨부한 도 5에 도시되어 있고, CD-Key 테이블(CDKEY)은 CD-Key를 저장하고 관리하는 테이블로 상세한 내역은 첨부한 도 6에 도시되어 있으며, 히스토리 테이블(HISTORY)은 CD-Key에 대응되는 인증번호의 히스토리를 저장하고 관리하는 테이블로 상세한 내역은 첨부한 도 7에 도시되어 있다.
여기서 도 2에 도시된 DB에서 하드 시리얼 번호는 히스토리 테이블(HISTORY)의 하나의 필드인 'HDDVOL' 필드에 저장되고, 사용가능수는 CD-Key 테이블(CDKEY)의 하나의 필드인 'QUANTITY' 필드에 저장되며, 사용자수는 CD-Key에 대응되는 히스토리의 개수로써 결정된다.
또한, 히스토리 테이블(HISTORY)의 하나의 필드인 'STATE' 필드는 해당 인증번호의 사용가능 여부, 즉 인증 상태를 나타낸다. 이러한 인증 상태는 미등록 상태(0), 정상 상태(1) 및 차단 상태(2) 등으로 구분될 수 있다.
이하, 첨부한 도 8 내지 도 12를 참조하여 본 발명의 실시예에 따른 소프트웨어의 불법 사용을 방지하기 위한 사용자 인증 방법에 대해 상세하게 설명한다.
도 8a 및 도 8b는 본 발명의 실시예에 따라 온라인 상에서 1 사용자 CD-Key의 소프트웨어를 설치하는 경우의 사용자 등록 방법의 순서도이다. 여기서, 1 사용자 CD-Key는 1 CD-Key에 1명의 사용자만이 허용된다는 것을 나타낸다.
먼저, 사용자는 자신의 PC(이하 '클라이언트'라고 함)에 설치하고자 하는 소프트웨어가 들어있는 CD를 삽입하여 해당 소프트웨어 설치를 시작한다(S100). 여기서 해당 소프트웨어가 CD에 들어있다고 하였으나 여기에 한정되는 것은 아니고, 인터넷 등을 통해 특정 사이트에서 다운로드받거나 또는 네트워크 등을 통해 다른 서버 또는 다른 컴퓨터로부터 전달받은 경우에도 해당된다.
클라이언트는 소프트웨어를 설치하는 중에 해당 소프트웨어에 고유한 CD-Key 입력 메시지를 표시하고, 사용자는 구입에 의해 정당하게 습득한 해당 CD-Key를 입력한다(S102).
그 후, 클라이언트는 사용자로부터 입력된 CD-Key와 소프트웨어에 미리 기록되어 있는 CD-Key를 비교하여 정상적인 CD-Key인 지의 여부를 판단하고(S104), 만약 입력된 CD-Key가 정상적인 CD-Key가 아닌 경우 정상적인 CD-Key 입력을 위해 상기 단계(S102)부터 반복한다.
만약 입력된 CD-Key가 정상적인 CD-Key인 것으로 판단되는 경우, 클라이언트는 해당 소프트웨어가 설치되는 하드 디스크 드라이브의 시리얼 번호를추출하여(S106), CD-Key와 함께 인터넷 등의 네트워크를 통해 서버로 전송한다(S108).
한편, 서버, 특히 서버의 CD-Key 판별 모듈은 클라이언트에서 전송되는 CD-Key와 하드 시리얼 번호를 수신하여 저장하고(S110), CD-Key 및 하드 시리얼 번호 DB에게 CD-Key 및 하드 시리얼 번호 정보 제공을 요청한다(S112).
CD-Key 및 하드 시리얼 번호 DB로부터 CD-Key 및 하드 시리얼 번호 정보가 제공되면(S114), 서버는 클라이언트로부터 수신된 CD-Key가 CD-Key 및 하드 시리얼 번호 DB에서 제공된 CD-Key 정보에 등록되어 있는 지를 판단하고(S116), 만약 등록되어 있지 않다면 오류 처리하여 해당 소프트웨어에 대한 사용자 인증을 종료시킨다(S118). 이하 기술되는 오류 처리에 대해서는 상기와 동일한 동작이 수행되는 것으로, 설명의 편의를 위해 생략한다.
만약 CD-Key가 등록되어 있다면 서버는 해당 CD-Key가 사용 기간이 정해져 있는 CD-Key인 지의 여부를 판단한 후(S120), 만약 사용 기간이 정해져 있는 경우에는 해당 사용 기간이 아직 남아 있는 지의 여부를 또한 판단한다(S122). 여기서 만약 해당 CD-Key에 대해 정해진 사용 기간이 만료되어 남아 있지 않는 경우에는 오류 처리를 수행한다(S124).
한편, 해당 CD-Key에 대해 사용 기간이 정해져 있지 않거나 또는 해당 CD-Key에 대해 정해진 사용 기간이 아직 남아 있는 경우에는 해당 CD-Key에 대해 하드 시리얼 번호가 이미 등록되어 있는 지의 여부를 판단한다(S126). 만약 해당 CD-Key에 대해 하드 시리얼 번호가 등록되어 있지 않다면 해당 CD-Key에 대한 사용 등록이 처음이므로 서버, 특히 인증 번호 생성 모듈은 클라이언트에서 전송된 CD-Key, 하드 시리얼 번호 및 사용 기간을 사용하여 새로운 인증 번호를 생성하여 인증 번호 DB에 등록하는 동시에(S138, S140) 새로운 인증 번호를 클라이언트로 전송한다(S142).
한편, 클라이언트는 서버에서 전송되어 오는 인증 번호를 받아서 저장한 후 소프트웨어 설치를 계속 진행하여 완료한다(S146). 이와 같이 하여 클라이언트가 새로운 사용자로 서버에 등록된다.
한편, 사용자가 자신의 PC를 업그레이드하거나 또는 PC 자체에 이상이 있어서 하드웨어를 교체하는 일이 발생하는 경우에도 해당 소프트웨어를 다시 설치해야되는 경우가 발생된다. 이러한 경우를 위해 다음의 과정이 필요하다.
상기 단계(S126)에서 해당 CD-Key에 대해 하드 시리얼 번호가 이미 등록되어 있는 경우에는 클라이언트에서 전송된 하드 시리얼 번호와 동일한 지의 여부를 판단하고(S128), 만약 사용자 PC의 업그레이드 등으로 인해 동일한 하드 디스크 드라이브에 재설치하는 경우에는 이미 등록된 하드 시리얼 번호와 클라이언트에서 전송된 하드 시리얼 번호가 동일하기 때문에 별도로 인증 번호를 생성할 필요없이 해당 인증 번호를 클라이언트로 전송하고(S142), 클라이언트는 서버에서 전송되는 인증 번호를 받아서 저장한 후 소프트웨어 설치를 계속 진행하여 완료한다(S146).
그러나, 사용자 PC의 하드 디스크 드라이브가 고장으로 인해 새것으로 교체되는 등의 경우에는 이미 등록된 하드 시리얼 번호와 클라이언트에서 전송된 하드 시리얼 번호가 다르기 때문에 서버는 새로운 하드 시리얼 번호의 등록 여부 확인을클라이언트에게 요청한다(S130).
클라이언트는 서버로부터의 요청에 따라 사용자에게 새로운 하드 시리얼 번호의 등록 여부를 확인하고(S132), 만약 새로운 하드 시리얼 번호에 대한 등록을 하지 않는 것으로 확인되는 경우에는 이 사실을 서버에 통지하고, 서버는 클라이언트에서 전송된 CD-Key, 하드 시리얼 번호 및 사용 기간을 통해 인증 번호를 생성하여 인증 번호 DB에 등록한 후(S134, S136) 오류 처리한다(S137). 즉 해당 클라이언트가 새로운 하드 시리얼 번호로 등록하지 못하도록 한다. 여기서 새로운 하드 시리얼 번호를 사용하지 않고 이미 등록된 하드 시리얼 번호를 사용하기 때문에 생성되는 인증 번호는 기존의 인증 번호와 동일하며, 인증 번호 DB에는 기존의 하드 시리얼 번호가 보존된다.
한편, 클라이언트에 의해 새로운 하드 시리얼 번호에 대한 등록을 하는 것으로 확인되는 경우에는 이 사실이 서버에 통지되고, 서버는 클라이언트에서 전송된 CD-Key, 새로운 하드 시리얼 번호 및 사용 기간을 통해 새로운 인증 번호를 생성한 후, 생성된 인증 번호 및 하드 시리얼 번호를 DB에 등록하는 동시에 기존 인증 번호의 사용을 차단한다(S139, S141). 여기서 기존 인증 번호의 사용을 차단하는 것은 해당 인증 번호에 연결된 사용가능 여부 정보에 차단으로 설정함으로써 수행되는 것에 대한 간결한 표현으로, 이하 인증 번호의 사용 차단에 대해서는 동일하게 적용하며, 또한 인증 번호의 사용 허용에 대한 표현은 해당 인증 번호의 사용가능 여부 정보를 정상으로 설정함으로써 수행되는 것과 동일한 것으로 적용하여 설명한다.
그 후, 서버는 생성된 인증 번호를 클라이언트로 전송하고(S142), 클라이언트는 서버에서 전송되어 오는 인증 번호를 받아서 저장한 후 소프트웨어 설치를 계속 진행하여 완료한다(S146). 이 경우 새로운 하드 시리얼 번호를 사용하는 것으로 하였기 때문에 인증 번호 DB에는 새로운 하드 시리얼 번호가 등록된다.
도 9는 본 발명의 실시예에 따라 온라인 상에서 1 사용자 CD-Key의 소프트웨어를 사용하는 경우의 사용자 인증 방법의 순서도이다.
먼저, 사용자가 도 8a 및 도 8b에 따라 설치된 1 사용자 CD-Key의 소프트웨어 사용을 시작하면(S200), 클라이언트는 해당 소프트웨어가 설치된 하드 시리얼 번호를 추출하여 해당 소프트웨어 설치 시 저장된 인증 번호에 포함되어 있는 하드 시리얼 번호와 동일한 지의 여부를 판단하고(S202), 만약 두 개의 하드 시리얼 번호가 동일하지 않으면 해당 소프트웨어의 계속적인 사용을 못하도록 오류 처리를 수행한다(S204).
한편, 두 개의 하드 시리얼 번호가 동일한 경우 클라이언트는 설치 시 저장된 인증 번호를 서버로 전송하고(S206), 서버, 특히 인증 번호 판별 모듈은 클라이언트에서 전송되는 인증 번호를 수신하여 저장한다(S208).
다음 서버는 인증 번호 DB에게 인증 번호 정보 제공을 요청하여(S210), 인증 번호 DB로부터 인증 번호 정보를 받아서(S212) 클라이언트로부터 수신된 인증 번호가 등록된 인증 번호인 지의 여부를 판단하고(S214), 만약 등록되어 있지 않다면 오류 처리한다(S216).
한편 클라이언트로부터 수신된 인증 번호가 등록되어 있다면 서버는 이 인증번호로부터 추출되는 CD-Key가 사용 기간이 정해져 있는 CD-Key인 지의 여부를 판단한 후(S218), 만약 사용 기간이 정해져 있는 경우에는 해당 사용 기간이 아직 남아 있는 지의 여부를 또한 판단한다(S220). 여기서 만약 해당 CD-Key에 대해 정해진 사용 기간이 만료되어 남아 있지 않는 경우에는 오류 처리를 수행하고(S124), 만약 해당 CD-Key에 대해 사용 기간이 정해져 있지 않거나 또는 해당 CD-Key에 대해 정해진 사용 기간이 아직 남아 있는 경우에는 클라이언트에서 수신된 인증 번호에 포함된 하드 시리얼 번호와 인증 번호 DB에서 제공된 해당 인증 번호에 포함된 하드 시리얼 번호가 동일한 지의 여부를 판단한다(S224).
이와 같이 클라이언트 측에서의 하드 시리얼 번호 동일 여부 판단 단계(S202)에 이어 서버 측에서도 상기 단계(S224)에서 하드 시리얼 번호의 동일 여부를 판단하여 사용자 인증을 이중으로 체크하기 때문에 보다 확실한 사용자 인증이 수행될 수 있다. 물론, 이러한 이중 체크를 사용하지 않기 위해서는 상기 단계(S202, S224) 중 어느 하나를 생략할 수 있다.
한편, 상기한 사용 기간은 클라이언트가 서버에 접속되지 않은 오프라인 상태에서 해당 소프트웨어를 사용하는 경우 잘못 계산될 수 있다. 이러한 경우는 클라이언트가 자신의 컴퓨터 날짜를 조작하는 경우에 발생될 수 있으며 보다 상세한 내용은 추후 오프라인 상에서의 사용에 대한 설명에 포함될 것이다. 따라서 오프라인 상에서 잘못 계산된 사용 기간에 대해 클라이언트가 서버에 연결되어 사용 기간이 남아 있는 지의 여부를 판단하는 상기 단계(S220)에서 정확한 사용 기간을 계산하여 갱신한다.
한편, 상기 단계(S224)에서 만약 두 개의 하드 시리얼 번호가 다른 경우에는 오류 처리를 하고(S226), 그렇지 않고 동일한 경우에는 현재 소프트웨어를 사용하고자 하는 클라이언트가 인증된 사용자이므로 서버는 사용자 인증 성공 결과를 클라이언트로 전송하여 클라이언트가 해당 소프트웨어를 계속 사용할 수 있도록 허용한다(S228, S230).
이와 같이, 온라인 상에서 1 사용자 CD-Key의 소프트웨어의 사용 시 클라이언트와 서버에 각각 저장된, 클라이언트의 고유한 하드웨어 관련 인증 번호를 통해 사용자 인증을 수행함으로써 하나의 컴퓨터에 단 하나의 인증 권한을 부여하게 된다. 따라서 소프트웨어의 불법 사용을 방지할 수 있다.
도 10은 본 발명의 실시예에 따라 오프라인 상에서 1 사용자 CD-Key의 소프트웨어를 설치하는 경우의 사용자 등록 방법의 순서도이다.
이 경우에는 도 8a 및 도 8b에 도시된 온라인 상에서 1 사용자 CD-Key의 소프트웨어를 설치하는 경우와 인증 번호를 생성하는 과정은 유사하지만, 클라이언트가 오프라인 상에서 설치하기 때문에 서버를 통하지 않고 소프트웨어 제작사를 통하여 인증 번호를 생성한다는 점이 다르다.
먼저, 클라이언트는 소프트웨어를 설치하기 전에 해당 소프트웨어가 설치될 하드 디스크 드라이브의 하드 시리얼 번호와 해당 소프트웨어의 CD-Key를 전화 등을 통해 소프트웨어 제작사로 통보하고(S302), 소프트웨어 제작사는 클라이언트로부터 전달되는 CD-Key와 하드 시리얼 번호를 수신한 후(S304), CD-Key 및 하드 시리얼 번호 DB에서 제공되는 CD-Key 및 하드 시리얼 번호 정보를 통해 해당 CD-Key가 사용 가능한 CD-Key인 지의 여부를 판단한다(S306, S308, S310). 여기서 해당 CD-Key가 사용 가능하다는 것은 도 8a 및 도 8b의 경우에서 알 수 있듯이 CD-Key가 등록된 것인 지, CD-Key의 사용 기간이 남아 있는 지 등을 판단하는 것에 해당될 수 있다.
만약 해당 CD-Key가 사용 가능한 CD-Key가 아닌 경우에는 오류 처리를 함으로써 클라이언트가 해당 소프트웨어를 설치하지 못하도록 하고(S312), 만약 해당 CD-Key가 사용 가능한 CD-Key인 경우에는 소프트웨어 제작사가 클라이언트에서 전달된 CD-Key, 하드 시리얼 번호 및 사용 기간을 사용하여 인증 번호를 생성하여 인증 번호 DB에 등록하는 동시에(S314, S316) 생성된 인증 번호를 클라이언트로 전달한다(S318).
한편 클라이언트는 소프트웨어 제작사로부터 전달되는 인증 번호를 수신하여(S320) 정상적인 인증 번호인 지의 여부를 판단하고(S322), 만약 정상적인 인증 번호가 아닌 경우에는 오류 처리를 수행하며(S324), 만약 정상적인 인증 번호인 경우에는 해당 인증 번호를 특정 위치에 저장한 후(S326) 해당 소프트웨어의 설치를 완료한다(S328). 이와 같이 함으로써 오프라인 상에서도 클라이언트가 사용자로 등록될 수 있다.
한편, 클라이언트가 오프라인 상에서 1 사용자 CD-Key의 소프트웨어를 사용하는 경우가 있는 데 이 경우에는 서버와 연결되어 있지 않기 때문에 해당 소프트웨어의 사용자 인증이 클라이언트 자체에서 이루어져야 한다.
이 과정은 도 9에 도시된 온라인 상에서의 사용자 인증 과정에서 서버가 개입되는 과정 중 사용 기간을 제외한 과정(S206, S208, S210, S212, S214, S224, S228)이 생략되고, 사용 기간 관련 과정(S218, S220, S222)은 클라이언트 자체에서 이루어진다.
또한, 사용 기간이 있는 CD-Key인 경우 사용 기간이 남았는 지의 여부를 판단하는 방법이 도 9에 도시된 방법과 다르다. 즉 도 9에 도시된 온라인 상에서는 서버에서 사용 기간을 자동으로 판단해주지만 오프라인 상에서는 해당 소프트웨어가 자동으로 사용자 컴퓨터의 날짜를 가지고 사용 기간을 판단하게 된다. 보다 상세하게는 사용자가 소프트웨어를 마지막으로 사용한 날짜(이 날짜는 클라이언트 측에서 사용자가 해당 소프트웨어를 사용하는 경우 갱신되어 기록됨)와 사용자 컴퓨터의 날짜를 비교하여, 사용자 컴퓨터의 날짜가 뒤에 있으면 사용 기간에서 1을 빼고, 앞에 있으면 그 차이만큼 사용 기간을 감소시켜 남은 사용 기간이 0 이상인지 아니면 0보다 작은 지를 판단하여 사용 기간이 남았는 지의 여부를 판단한다. 예를 들어, 사용자가 소프트웨어를 마지막으로 사용한 날짜가 3월 2일이고, 오늘 컴퓨터의 날짜가 3월 4일인 경우, 사용 기간에서 2일이 깍이게 된다. 만약 오늘 날짜가 3월 2일 전이라면 사용 기간에서 1일이 깍이게 된다. 이 경우는 클라이언트 측에서 컴퓨터의 조작에 의해 날짜가 변경된 경우로, 클라이언트 측에서의 부당한 사용 기간의 연장을 방지하기 위한 것이다. 한편, 이러한 날짜 계산은 클라이언트가 후에 서버에 접속하여 정상적으로 사용하는 경우 다시 계산될 수 있도록 한다.
한편, 오프라인 상에서 해당 소프트웨어를 사용하는 중에 인터넷 등의 네트워크에 연결되어 온라인 상태가 되는 경우가 있으므로, 해당 소프트웨어는 클라이언트, 즉 사용자 컴퓨터가 인터넷 등의 네트워크에 연결되어 있는 지를 확인하고, 만약 인터넷 등의 네트워크에 연결이 되어 있는 경우 그 때부터 상기 도 9에 도시된 온라인 상에서의 사용자 인증 과정을 반복하여 정확한 사용자 인증인 수행되도록 한다.
도 11a 및 도 11b는 본 발명의 실시예에 따라 온라인 상에서 다수의 사용자 CD-Key의 소프트웨어를 설치하는 경우의 사용자 등록 방법의 순서도이다. 여기서, 다수의 사용자 CD-Key는 1 CD-Key에 다수의 사용자가 허용된다는 것을 나타낸다. 물론 사용 가능한 최대 사용자 수는 사용 가능수 및 사용자수 DB에 미리 등록된다.
한편, 다수의 사용자 CD-Key의 소프트웨어를 설치하는 경우의 사용자 등록 방법 중 소프트웨어 설치 시작 단계(S400)부터 하드 시리얼 번호 등록 여부 판단 단계(S426)까지는 도 8a에 도시된 1 CD-Key의 소프트웨어를 설치하는 경우의 사용자 등록 방법에서의 소프트웨어 설치 시작 단계(S100)부터 하드 시리얼 번호가 등록되어 있는 지를 판단하는 단계(S126)까지 동일하므로, 이들 단계에 대한 상세한 설명은 설명의 편의상 도 8a를 참조하는 경우 쉽게 이해될 수 있기 때문에 여기에서는 생략하고 그 후의 단계부터 설명한다.
먼저, 클라이언트로부터 전송된 CD-Key에 대해 사용 기간이 정해져 있지 않거나 또는 해당 CD-Key에 대해 정해진 사용 기간이 아직 남아 있는 경우에는 해당 CD-Key에 대해 하드 시리얼 번호가 이미 등록되어 있는 지의 여부가 판단되는데(S426), 만약 해당 CD-Key에 대해 하드 시리얼 번호가 등록되어 있지 않다면 해당 CD-Key에 대해 해당 하드 시리얼 번호의 사용 등록이 처음이므로 서버,특히 인증 번호 생성 모듈은 클라이언트에서 전송된 CD-Key, 하드 시리얼 번호 및 사용 기간을 사용하여 인증 번호를 생성하여 인증 번호 DB에 등록한다.(S432, S434)
다음, 사용 가능수 및 사용자수 DB에 저장된 사용자수를 0으로 클리어한다 (S436, S438). 즉, 이 때까지 해당 소프트웨어를 사용한 정보가 있는 경우 모두 클리어하는 것이다. 이 이유로는 해당 CD-Key의 사용을 허가한 사람 수인 사용 가능수 이외에 등록하려고 들어오는 사용자가 불법 사용자가 아닌 먼저 등록을 하였다가 컴퓨터의 하드웨어를 교체해서 다시 등록을 하려는 사용자일 수 있기 때문이다. 이러한 사용자의 경우 해당 소프트웨어를 사용한 정보 중에 어느 하나는 갱신이 되어야 하는데 어떤 정보를 갱신할 지에 대해 소프트웨어 상으론 알기가 힘들다. 따라서 모든 사용자 정보, 특히 사용자수를 클리어하고 처음부터 다시 시작될 수 있도록 한다.
그 후, 서버는 생성된 인증 번호를 클라이언트로 전송하고(S440), 클라이언트는 서버에서 전송되어 오는 인증 번호를 받아서 저장한 후 소프트웨어 설치를 계속 진행하여 완료한다(S442, S444). 이와 같이 하여 클라이언트가 사용자로 서버에 등록된다.
한편, 상기 단계(S426)에서 해당 CD-Key에 대해 하드 시리얼 번호가 이미 등록되어 있는 경우, 서버는 클라이언트에서 전송된 CD-Key, 하드 시리얼 번호 및 사용 기간을 통해 인증 번호를 생성하여 인증 번호 DB에 등록하는(S428, S430) 동시에 생성된 인증 번호를 클라이언트로 전송한다(S440). 그 후 클라이언트는 서버에서 전송되어 오는 인증 번호를 받아서 저장한 후 소프트웨어 설치를 계속 진행하여 완료한다(S442, S446). 여기서는 클라이언트에서 전송된 하드 시리얼 번호와 등록된 하드 시리얼 번호가 다른 경우 도 8에 도시된 바와 같이 두 개의 하드 시리얼 번호 중 하나를 선택하여 보존하지 않고 두 개의 하드 시리얼 번호를 모두 보존하게 된다.
이와 같이 함으로써 다수의 사용자 CD-Key에 대한 사용자 등록은 사용 가능수를 넘어 이론적으로는 무제한으로 사용자 등록이 가능해질 수 있다.
도 12a 및 도 12b는 본 발명의 실시예에 따라 온라인 상에서 다수의 사용자 CD-Key의 소프트웨어를 사용하는 경우의 사용자 인증 방법의 순서도이다.
여기서, 다수의 사용자 CD-Key의 소프트웨어를 사용하는 경우의 사용자 인증 방법 중 소프트웨어 사용 시작 단계(S500)부터 사용 기간이 남아 있지 않은 경우의 오류 처리 단계(S522)까지는 도 9에 도시된 1 CD-Key의 소프트웨어를 사용하는 경우의 사용자 등록 방법에서의 소프트웨어 사용 시작 단계(S200)부터 사용 기간이 남아 있지 않은 경우의 오류 처리 단계(S222)까지 유사하다. 단지, 도 9에서의 인증 번호 정보 요구 및 제공 단계(S210, S212)가 여기에서는 인증 번호뿐만 아니라 사용 가능수 및 사용자수 DB로부터 사용 가능수 및 사용자수 정보를 요구하고 제공받는 단계(S510, S512)로 추가 정보 제공이 있다는 점을 제외하고는 유사하다. 따라서, 이들 단계에 대한 상세한 설명은 설명의 편의상 도 9를 참조하는 경우 쉽게 이해될 수 있기 때문에 여기에서는 생략하고 그 후의 단계부터 설명한다.
먼저, 서버, 특히 사용 가능 여부 판별 모듈은 클라이언트에서 전송된 CD-Key에 대해 사용 기간이 정해져 있지 않거나 또는 해당 CD-Key에 대해 정해진 사용 기간이 아직 남아 있는 경우에는 사용 가능수 및 사용자수 DB에서 제공된 사용자수에 1을 더한 수가 사용 가능수보다 큰 지의 여부를 판단한다(S524). 이것은 해당 CD-Key에 대한 사용 가능수에 제한이 있기 때문에 지금 사용을 위해 사용자 인증을 요청한 클라이언트를 포함해서 지금까지 사용한 사람이 사용 가능수를 넘었는 지를 판단하는 것이다.
만약 사용자수에 1을 더한 수가 사용 가능수와 같거나 작은 경우에는 해당 클라이언트에 대한 해당 소프트웨어 사용이 허용될 수 있기 때문에 서버는 사용자수에 1을 더한 수를 새로운 사용자수로 사용 가능수 및 사용자수 DB에 등록하고(S526, S528), 현재 소프트웨어를 사용하고자 하는 클라이언트가 인증된 사용자이므로, 서버는 사용자 인증 성공 결과를 클라이언트로 전송하여 클라이언트가 해당 소프트웨어를 계속 사용할 수 있도록 허용한다(S538, S540).
한편, 상기 단계(S524)에서 사용자수에 1을 더한 수가 사용 가능수보다 큰 경우, 즉 지금까지 해당 소프트웨어를 사용한 사람이 사용 가능수인 경우, 즉 사용 허용이 가능한 최대수인 경우, 서버는 사용자 중 그 등록일이 클라이언트의 등록일보다 뒤지는 사용자가 있는 지의 여부를 판단하고(S530), 만약 사용자 중 등록일이 클라이언트의 등록일보다 뒤지는 사용자가 없는 경우에는 오류 처리를 하여 클라이언트의 소프트웨어 사용을 차단한다(S532).
그런데 사용자 중 등록일이 클라이언트의 등록일보다 뒤지는 사용자가 있는 경우, 서버는 해당 사용자의 소프트웨어 사용을 차단하고 클라이언트의 해당 소프트웨어의 사용을 허용하기 위해, 해당 사용자의 인증 번호의 사용가능 여부를 차단으로 설정하고, 대신에 등록일이 빠른 새로운 클라이언트의 인증 번호의 사용가능 여부를 정상으로 설정하여 DB에 등록한다(S534, S536).
그 후, 서버는 사용자 인증 성공 결과를 클라이언트로 전송하여 클라이언트가 해당 소프트웨어를 사용할 수 있도록 허용한다(S538, S540).
이와 같이, 온라인 상에서 다수의 사용자 CD-Key의 소프트웨어의 사용 요청자가 허용한 사람 수를 넘는 경우 해당 사용자들의 등록일을 비교하여 가장 뒤진 사용자 대신에 새로운 사용 요청자에게 사용을 허용함으로써 사용 가능수 이상의 사용자가 해당 소프트웨어를 불법적으로 사용하는 것을 방지할 수 있다.
비록, 본 발명이 가장 실제적이며 바람직한 실시예를 참조하여 설명되었지만, 본 발명은 상기 개시된 실시예에 한정되지 않으며, 후술되는 특허청구범위 내에 속하는 다양한 변형 및 등가물들도 포함한다.
본 발명에 따르면, 사용자의 고유한 하드 시리얼 번호와 CD-Key 등을 사용하여 유일한 값인 인증 번호를 만들어 사용하기 때문에 컴퓨터에 단 하나의 인증 권한을 부여할 수가 있어서 소프트웨어의 불법 설치를 방지할 수 있다.
또한, 오프라인 상에서도 인증 번호를 통하여 자동으로 관리가 가능함으로써 보안성에서 우수한 효과를 갖는다.
또한, 인증 번호를 통하여 하나의 CD-Key로 다수의 사용자를 관리할 수 있기 때문에 종래 동시 접속자수로 제한을 통하여 관리하던 경우 발생되던 허용 가능수이상의 불법적인 소프트웨어 사용을 방지할 수 있다.

Claims (21)

  1. 서버가 클라이언트를 특정 소프트웨어의 사용자로 등록하는 방법에 있어서,
    상기 클라이언트 측에서 상기 특정 소프트웨어 설치 시 네트워크를 통해 전송되는 상기 특정 소프트웨어에 고유한 씨디 키의 사용 가능 여부 및 상기 씨디 키에 대해 등록된 하드웨어 인증 정보가 있는 지의 여부를 판단하는 제1 단계;
    상기 제1 단계에서 상기 씨디 키가 사용 가능한 씨디 키인 동시에 상기 씨디 키에 대해 하드웨어 인증 정보가 등록되어 있지 않은 것으로 판단되는 경우, 상기 씨디 키와 상기 클라이언트 측에서 전송된 새로운 하드웨어 인증 정보를 사용하여 상기 클라이언트에 대한 인증 번호를 생성한 후, 상기 씨디 키에 대응되도록 등록하는 제2 단계; 및
    상기 제1 단계에서 상기 씨디 키가 사용 가능한 씨디 키인 동시에 상기 씨디 키에 대해 하드웨어 인증 정보가 등록되어 있는 것으로 판단되는 경우, 상기 등록된 하드웨어 인증 정보와 상기 새로운 하드웨어 인증 정보 중에서 선택되는 하드웨어 인증 정보와 상기 씨디 키를 사용하여 상기 클라이언트에 대한 인증 번호를 생성한 후, 상기 씨디 키에 대응되도록 등록하는 제3 단계
    를 포함하는 사용자 등록 방법.
  2. 제1항에 있어서,
    상기 제3 단계에서 상기 씨디 키에 대해 허용된 상기 특정 소프트웨어의 사용 가능수가 한 명인 경우,
    상기 제3 단계가
    상기 클라이언트 측에서 전송된 하드웨어 인증 정보와 상기 씨디 키에 대해 등록된 하드웨어 인증 정보가 동일한 지의 여부를 판단하는 단계;
    상기 판단 단계에서 각 하드웨어 인증 정보가 동일하지 않은 것으로 판단되는 경우, 상기 클라이언트 측에서 전송된 하드웨어 인증 정보의 등록 여부를 확인하는 단계;
    상기 확인 단계에서 상기 클라이언트가 상기 전송된 하드웨어 인증 정보를 등록하지 않는 것으로 확인하는 경우, 상기 클라이언트의 상기 특정 소프트웨어에 대한 등록이 불가한 것으로 오류 처리하는 단계; 및
    상기 단계 확인 단계에서 상기 클라이언트가 상기 전송된 하드웨어 인증 정보를 등록하는 것으로 확인하는 경우, 상기 클라이언트에 대한 인증 번호 생성을 위해 상기 전송된 하드웨어 인증 정보를 선택하는 단계
    를 포함하는 사용자 등록 방법.
  3. 제1항에 있어서,
    상기 제3 단계에서 상기 씨디 키에 대해 허용된 상기 특정 소프트웨어의 사용 가능수가 다수인 경우,
    상기 제3 단계에서 상기 클라이언트에 대한 인증 번호 생성을 위해 상기 클라이언트 측에서 전송된 하드웨어 인증 정보가 선택되는
    것을 특징으로 하는 사용자 등록 방법.
  4. 제1항에 있어서,
    상기 제2 단계 후에,
    상기 씨디 키에 대응하여 상기 서버 내에 등록되어 있는 사용자수를 0으로 등록하는 단계
    를 더 포함하는 사용자 등록 방법.
  5. 제1항에 있어서,
    상기 제1 단계는
    상기 씨디 키가 상기 서버 내에 등록된 씨디 키인 지의 여부를 판단하는 단계; 및
    상기 판단 단계에서 상기 씨디 키가 등록된 씨디 키인 것으로 판단되는 경우, 상기 씨디 키에 대해 사용 기간 내에 있는 지의 여부를 판단하는 단계
    를 포함하는 사용자 등록 방법.
  6. 제1항에 있어서,
    상기 제3 단계 후에,
    상기 클라이언트에서의 상기 특정 소프트웨어 설치가 완료되도록 상기 클라이언트에 대한 인증 번호를 상기 클라이언트에게 전송하는 단계
    를 더 포함하는 사용자 등록 방법.
  7. 제1항에 있어서,
    상기 제1 단계 전에,
    상기 클라이언트가 사용자로부터 상기 특정 소프트웨어에 고유한 씨디 키를 입력받는 단계;
    상기 입력 단계에서 입력된 씨디 키가 정상적인 씨디 키인 지의 여부를 판단하는 단계;
    상기 판단 단계에서 상기 씨디 키가 정상적인 씨디 키인 것으로 판단되는 경우, 상기 클라이언트에 고유한 하드웨어 인증 정보를 추출하는 단계; 및
    상기 씨디 키 및 상기 추출된 하드웨어 인증 정보를 상기 네트워크를 통해 상기 서버로 전송하는 단계
    를 더 포함하는 사용자 등록 방법.
  8. 제1항 내지 제7항 중 어느 한 항에 있어서,
    상기 클라이언트에 고유한 하드웨어 인증 정보는 상기 특정 소프트웨어가 설치되는 상기 클라이언트의 하드 디스크 드라이브의 시리얼 번호인 것을 특징으로 하는 사용자 등록 방법.
  9. 제8항에 있어서,
    상기 클라이언트에 대한 인증 번호 생성에 상기 씨디 키의 사용 기간이 사용되는 것을 특징으로 하는 사용자 등록 방법.
  10. 특정 소프트웨어 사용 시 네트워크를 통해 클라이언트 측에서 전달되는 상기 클라이언트에 대한 인증 번호에 기초하여 서버가 상기 클라이언트를 상기 특정 소프트웨어의 정당한 사용자로 인증하는 방법에 있어서,
    상기 클라이언트 측에서 전송된 상기 인증 번호가 상기 서버 내에 등록된 인증 번호인 지의 여부를 판단하는 제1 단계;
    상기 제1 단계에서 상기 인증 번호가 상기 서버 내에 등록된 것으로 판단되는 경우, 상기 인증 번호에서 추출되는 상기 특정 소프트웨어에 고유한 씨디 키가 사용 가능한 씨디 키인 지의 여부를 판단하는 제2 단계; 및
    상기 단계 제2에서 상기 씨디 키가 사용 가능한 씨디 키인 것으로 판단되는 경우, 상기 씨디 키에 대해 허용된 상기 특정 소프트웨어의 사용 가능수에 따라 상기 클라이언트에 대한 사용자 인증을 수행하는 제3 단계
    를 포함하는 사용자 인증 방법.
  11. 제10항에 있어서,
    상기 제3 단계에서 상기 씨디 키에 대해 허용된 상기 특정 소프트웨어의 사용 가능수가 한 명인 경우,
    상기 제3 단계가
    상기 클라이언트 측에서 전송된 인증 번호에서 추출되는 상기 클라이언트에 고유한 하드웨어 인증 정보가 상기 서버에 등록된 인증 번호에 대응되는 하드웨어 인증 정보와 동일한 지의 여부를 판단하는 단계; 및
    상기 판단 단계에서 각 인증 정보가 동일한 것으로 판단되는 경우, 상기 클라이언트를 상기 특정 소프트웨어의 사용자로 인증하는 단계
    를 포함하는 사용자 인증 방법.
  12. 제10항에 있어서,
    상기 제3 단계에서 상기 씨디 키에 대해 허용된 상기 특정 소프트웨어의 사용 가능수가 둘 이상의 특정 수인 경우,
    상기 제3 단계가
    상기 서버 내에 등록된 사용자수에 1을 더한 수가 상기 특정 수보다 큰 지의 여부를 판단하는 단계;
    상기 판단 단계에서 상기 사용자수에 1을 더한 수가 상기 특정 수 이하인 것으로 판단되는 경우, 상기 사용자수에 1을 더한 수를 상기 사용자수로 대체하여 등록하는 단계;
    상기 클라이언트를 상기 특정 소프트웨어의 사용자로 인증하는 단계
    상기 판단 단계에서 상기 사용자수에 1을 더한 수가 상기 특정 수보다 큰 것으로 판단되는 경우, 상기 서버에 상기 사용자수로 등록된 사용자의 등록일 중 상기 클라이언트의 등록일보다 뒤지는 것이 있는 지의 여부를 판단하는 단계; 및
    상기 등록일 판단 단계에서 상기 사용자의 등록일 중 상기 클라이언트의 등록일보다 뒤지는 것이 있는 경우, 해당 사용자 대신에 상기 클라이언트를 상기 특정 소프트웨어의 사용자로 인증하는 단계
    를 포함하는 사용자 인증 방법.
  13. 제12항에 있어서,
    상기 사용자 인증 단계가
    상기 서버 내에 상기 해당 사용자의 사용가능 여부를 사용 불가로 등록하고, 상기 클라이언트의 사용가능 여부를 사용 가능으로 등록하는 단계
    를 포함하는 사용자 인증 방법.
  14. 제10항에 있어서,
    상기 제3 단계 후에,
    상기 클라이언트에서의 상기 특정 소프트웨어 사용이 가능하도록 상기 클라이언트에 대한 인증 성공 결과를 상기 클라이언트에게 전송하는 단계
    를 더 포함하는 사용자 인증 방법.
  15. 제10항에 있어서,
    상기 제1 단계 전에,
    상기 클라이언트가 자신의 하드웨어 인증 정보와 상기 인증 번호에서 추출한하드웨어 인증 정보가 동일한 지의 여부를 판단하는 단계; 및
    상기 판단 단계에서 각 하드웨어 인증 정보가 동일한 것으로 판단되는 경우, 상기 클라이언트의 인증 번호를 상기 네트워크를 통해 상기 서버로 전송하는 단계
    를 더 포함하는 사용자 인증 방법.
  16. 제10항에 있어서,
    상기 제2 단계는
    상기 씨디 키가 상기 서버 내에 등록된 씨디 키인 지의 여부를 판단하는 단계; 및
    상기 판단 단계에서 상기 씨디 키가 등록된 씨디 키인 것으로 판단되는 경우, 상기 씨디 키에 대해 사용 기간 내에 있는 지의 여부를 판단하는 단계
    를 포함하는 사용자 인증 방법.
  17. 제16항에 있어서,
    상기 사용 기간 내에 있는 지의 여부 판단 단계에서,
    상기 클라이언트 측에서 상기 서버와 네트워크 연결이 안된 오프라인 상태에서의 상기 특정 소프트웨어 사용으로 인하여 계산이 잘못된 사용 기간을 정확하게 다시 계산하는 단계
    더 포함하는 사용자 인증 방법.
  18. 제17항에 있어서,
    상기 사용 기간의 잘못된 계산은,
    상기 클라이언트 측에서의 날짜 변경이 있고, 상기 변경된 날짜가 상기 특정 소프트웨어의 마지막 사용 날짜 이전의 날짜에 해당되는 경우, 상기 사용 기간에서 1을 감소시키는 것에 의해 발생되는
    것을 특징으로 하는 사용자 인증 방법.
  19. 제10항 내지 제18항 중 어느 한 항에 있어서,
    상기 클라이언트에 고유한 하드웨어 인증 정보는 상기 특정 소프트웨어가 설치되는 상기 클라이언트의 하드 디스크 드라이브의 시리얼 번호인 것을 특징으로 하는 사용자 인증 방법.
  20. 서버가 클라이언트를 특정 소프트웨어의 사용자로 등록하는 방법의 단계들을 수행하도록 컴퓨터에 의해 실행 가능한 명령으로 구성되는 프로그램을 유형적으로 구체화한 컴퓨터 판독 가능 기록 매체에 있어서,
    상기 방법 단계가,
    상기 클라이언트 측에서 상기 특정 소프트웨어 설치 시 네트워크를 통해 전송되는 상기 특정 소프트웨어에 고유한 씨디 키의 사용 가능 여부 및 상기 씨디 키에 대해 등록된 하드웨어 인증 정보가 있는 지의 여부를 판단하는 제1 단계;
    상기 제1 단계에서 상기 씨디 키가 사용 가능한 씨디 키인 동시에 상기 씨디키에 대해 하드웨어 인증 정보가 등록되어 있지 않은 것으로 판단되는 경우, 상기 씨디 키와 상기 클라이언트 측에서 전송된 새로운 하드웨어 인증 정보를 사용하여 상기 클라이언트에 대한 인증 번호를 생성한 후, 상기 씨디 키에 대응되도록 등록하는 제2 단계; 및
    상기 제1 단계에서 상기 씨디 키가 사용 가능한 씨디 키인 동시에 상기 씨디 키에 대해 하드웨어 인증 정보가 등록되어 있는 것으로 판단되는 경우, 상기 등록된 하드웨어 인증 정보와 상기 새로운 하드웨어 인증 정보 중에서 선택되는 하드웨어 인증 정보와 상기 씨디 키를 사용하여 상기 클라이언트에 대한 인증 번호를 생성한 후, 상기 씨디 키에 대응되도록 등록하는 제3 단계
    를 포함하는 컴퓨터 판독 가능 기록 매체.
  21. 특정 소프트웨어 사용 시 네트워크를 통해 클라이언트 측에서 전달되는 상기 클라이언트에 대한 인증 번호에 기초하여 서버가 상기 클라이언트를 상기 특정 소프트웨어의 정당한 사용자로 인증하는 방법의 단계들을 수행하도록 컴퓨터에 의해 실행 가능한 명령으로 구성되는 프로그램을 유형적으로 구체화한 컴퓨터 판독 가능 기록 매체에 있어서,
    상기 방법 단계가,
    상기 클라이언트 측에서 전송된 상기 인증 번호가 상기 서버 내에 등록된 인증 번호인 지의 여부를 판단하는 제1 단계;
    상기 제1 단계에서 상기 인증 번호가 상기 서버 내에 등록된 것으로 판단되는 경우, 상기 인증 번호에서 추출되는 상기 특정 소프트웨어에 고유한 씨디 키가 사용 가능한 씨디 키인 지의 여부를 판단하는 제2 단계; 및
    상기 단계 제2에서 상기 씨디 키가 사용 가능한 씨디 키인 것으로 판단되는 경우, 상기 씨디 키에 대해 허용된 상기 특정 소프트웨어의 사용 가능수에 따라 상기 클라이언트에 대한 사용자 인증을 수행하는 제3 단계
    를 포함하는 컴퓨터 판독 가능 기록 매체.
KR1020020022493A 2002-04-24 2002-04-24 소프트웨어의 불법 사용을 방지하기 위한 사용자 등록 및인증 방법과, 이를 저장한 컴퓨터 판독 가능 기록 매체 KR20030084019A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020020022493A KR20030084019A (ko) 2002-04-24 2002-04-24 소프트웨어의 불법 사용을 방지하기 위한 사용자 등록 및인증 방법과, 이를 저장한 컴퓨터 판독 가능 기록 매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020020022493A KR20030084019A (ko) 2002-04-24 2002-04-24 소프트웨어의 불법 사용을 방지하기 위한 사용자 등록 및인증 방법과, 이를 저장한 컴퓨터 판독 가능 기록 매체

Publications (1)

Publication Number Publication Date
KR20030084019A true KR20030084019A (ko) 2003-11-01

Family

ID=32380285

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020020022493A KR20030084019A (ko) 2002-04-24 2002-04-24 소프트웨어의 불법 사용을 방지하기 위한 사용자 등록 및인증 방법과, 이를 저장한 컴퓨터 판독 가능 기록 매체

Country Status (1)

Country Link
KR (1) KR20030084019A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100950837B1 (ko) * 2005-01-24 2010-04-02 가부시키가이샤 코나미 데지타루 엔타테인멘토 네트워크장치, 서버장치, 부정이용검출방법 및 프로그램을 기록한 기록매체
KR101023793B1 (ko) * 2009-12-18 2011-03-21 표세진 인터넷 서비스의 사용 제한을 위한 퍼스널 컴퓨터 인증 방법

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0869419A (ja) * 1994-08-30 1996-03-12 Shimadzu Corp デジタルデータの記録装置および記録媒体
KR19990015243A (ko) * 1997-08-04 1999-03-05 이준범 서버를 이용한 씨디 내장 소프트웨어 복제방지 시스템
JPH11212783A (ja) * 1998-01-22 1999-08-06 Satomi Aoki ソフトウェアの不正使用防止方法
KR20000053933A (ko) * 2000-05-10 2000-09-05 류종렬 소프트웨어의 정품인증시스템 및 그 방법
KR20010079030A (ko) * 2001-06-07 2001-08-22 전용옥 Mac 주소와 사용자 인증번호(cd-key)를 이용한 소프트웨어무단복제 단속법
KR20020011738A (ko) * 2000-08-04 2002-02-09 윤금 소프트 웨어의 불법복제 방지방법

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0869419A (ja) * 1994-08-30 1996-03-12 Shimadzu Corp デジタルデータの記録装置および記録媒体
KR19990015243A (ko) * 1997-08-04 1999-03-05 이준범 서버를 이용한 씨디 내장 소프트웨어 복제방지 시스템
JPH11212783A (ja) * 1998-01-22 1999-08-06 Satomi Aoki ソフトウェアの不正使用防止方法
KR20000053933A (ko) * 2000-05-10 2000-09-05 류종렬 소프트웨어의 정품인증시스템 및 그 방법
KR20020011738A (ko) * 2000-08-04 2002-02-09 윤금 소프트 웨어의 불법복제 방지방법
KR20010079030A (ko) * 2001-06-07 2001-08-22 전용옥 Mac 주소와 사용자 인증번호(cd-key)를 이용한 소프트웨어무단복제 단속법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100950837B1 (ko) * 2005-01-24 2010-04-02 가부시키가이샤 코나미 데지타루 엔타테인멘토 네트워크장치, 서버장치, 부정이용검출방법 및 프로그램을 기록한 기록매체
KR101023793B1 (ko) * 2009-12-18 2011-03-21 표세진 인터넷 서비스의 사용 제한을 위한 퍼스널 컴퓨터 인증 방법

Similar Documents

Publication Publication Date Title
CA2578186C (en) System and method for access control
US7113994B1 (en) System and method of proxy authentication in a secured network
CA2313851C (en) Securing feature activation in a telecommunication system
US7249262B2 (en) Method for restricting access to a web site by remote users
EP0456386B1 (en) Access control in a distributed computer system
EP0936530A1 (en) Virtual smart card
CN102438013A (zh) 基于硬件的证书分发
EP1244263A2 (en) Access control method
US20040019807A1 (en) System And Methodology For Providing Community-Based Security Policies
US20020095569A1 (en) Apparatus for pre-authentication of users using one-time passwords
JP2007026412A (ja) 保守仲介装置、保守対象機器の保守方法、保守プログラム、保守プログラムが記録された記録媒体及び保守システム
US20070130079A1 (en) Enforcing subscription validity
CA2285392A1 (en) Method and system for networked installation of uniquely customized, authenticable, and traceable software applications
EP1678683B1 (en) A lock system and a method of configuring a lock system.
JP5138359B2 (ja) リモートアクセス方法
CA2435329A1 (en) Pre-authentication of users using one-time passwords
JP3950095B2 (ja) 認証サーバ、認証方法、認証依頼端末及び認証依頼プログラム
US7779452B2 (en) Computer access security
US8429402B2 (en) Method and arrangement for authenticating a control unit and transmitting authentication information messages to the control unit
US7552476B2 (en) Security against replay attacks of messages
WO2007060016A2 (en) Self provisioning token
KR20030084019A (ko) 소프트웨어의 불법 사용을 방지하기 위한 사용자 등록 및인증 방법과, 이를 저장한 컴퓨터 판독 가능 기록 매체
JPH11110209A (ja) ソフトウェアの複写防止方法
JP2002169673A (ja) 画像形成装置管理システム
WO2018051236A1 (en) Protection of authentication tokens

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application