KR101525887B1 - 내부 네트워크 환경에서 고유한 라이선스 정보를 이용하여 소프트웨어의 무단 설치 및 실행을 제한하는 라이선스 관리 방법 및 이를 수행하는 라이선스 관리 시스템 - Google Patents

내부 네트워크 환경에서 고유한 라이선스 정보를 이용하여 소프트웨어의 무단 설치 및 실행을 제한하는 라이선스 관리 방법 및 이를 수행하는 라이선스 관리 시스템 Download PDF

Info

Publication number
KR101525887B1
KR101525887B1 KR1020140181395A KR20140181395A KR101525887B1 KR 101525887 B1 KR101525887 B1 KR 101525887B1 KR 1020140181395 A KR1020140181395 A KR 1020140181395A KR 20140181395 A KR20140181395 A KR 20140181395A KR 101525887 B1 KR101525887 B1 KR 101525887B1
Authority
KR
South Korea
Prior art keywords
license
information
value
internal network
key
Prior art date
Application number
KR1020140181395A
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 KR1020140181395A priority Critical patent/KR101525887B1/ko
Application granted granted Critical
Publication of KR101525887B1 publication Critical patent/KR101525887B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/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/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
    • G06F21/123Restricting unauthorised execution of programs by using dedicated hardware, e.g. dongles, smart cards, cryptographic processors, global positioning systems [GPS] devices

Landscapes

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

Abstract

본 발명은 내부 네트워크 환경에서 고유한 라이선스 정보를 이용하여 소프트웨어의 무단 설치 및 실행을 제한하는 라이선스 관리 방법 및 이를 수행하는 라이선스 관리 시스템에 관한 것으로서, 보다 구체적으로는 외부 네트워크 환경에 연결되지 않은 라이선스 관리 시스템이, (1) 사용 가능한 내부 네트워크의 대역 정보, 라이선스 이용 가능한 디바이스의 개수 정보 및 라이선스 허여 기한 정보를 포함하는 초기 정보들 및 라이선스 발급을 위한 솔트 값을 설정 받는 단계; (2) 개인키를 이용하여 암호화한 상기 솔트 값과 상기 설정된 초기 정보들을 난수 생성부에 입력하고, 상기 난수 생성부로부터 출력된 결과 값들을 일방향 암호 처리부에 입력하여, 라이선스 키를 구성하기 위한 해시 값들을 생성하는 단계; 및 (3) 상기 라이선스 키를 상기 내부 네트워크에 연결되는 디바이스에 전달하는 단계를 포함하는 것을 그 구성상의 특징으로 한다.
또한, 본 발명은, 외부 네트워크에 연결되지 않은 라이선스 관리 시스템에 대하여 내부 네트워크를 통해 연결되는 제1 디바이스가, (1) 사용 가능한 내부 네트워크의 대역 정보, 라이선스 이용 가능한 디바이스의 개수 정보 및 라이선스 허여 기한 정보를 포함하는 초기 정보들이 개인키를 이용하여 암호화된 솔트 값에 의해 암호화된, 제1 라이선스 키를 상기 라이선스 관리 시스템으로부터 발급받는 단계; (2) 미리 설정된 프로세스의 진행 여부를 판단하기 위하여 상기 제1 라이선스 키에 대응하는 제2 라이선스 키를 입력 받는 단계; (3) 상기 제2 라이선스 키를 사용하여 상기 초기 정보들에 대응하는 라이선스 정보들을 추출하는 단계; 및 (4) 상기 추출된 라이선스 정보들에 기초하여 상기 프로세스를 진행하거나 중단하는 단계를 포함하고, 상기 추출된 라이선스 정보들은, 상기 내부 네트워크의 대역 정보, 상기 디바이스의 개수 정보 및 상기 라이선스 허여 기한 정보를 포함하는 것을 그 구성상의 특징으로 한다.
본 발명에서 제안하고 있는 내부 네트워크 환경에서 고유한 라이선스 정보를 이용하여 소프트웨어의 무단 설치 및 실행을 제한하는 라이선스 관리 방법 및 이를 수행하는 라이선스 관리 시스템에 따르면, 라이선스 관리 시스템이, 라이선스 이용 회사 정보, 사용 가능한 내부 네트워크 대역 정보, 라이선스 이용 가능한 디바이스 개수 정보 및 라이선스 허여 기한 정보를 포함하는 초기 정보들 및 솔트 값(salt)을 설정 받고, 개인키를 이용하여 암호화된 솔트 값과 이러한 초기 정보들을 난수 생성부에 입력하며, 난수 생성부로부터 출력된 결과 값들을 일방향 암호 처리부에 입력하여 생성된 해시 값들로부터 라이선스 키 단위값들을 포함한 라이선스 키 값을 구성하고, 생성된 라이선스 키 값을 내부 네트워크에 연결되는 디바이스에 전달함으로써, 외부 네트워크가 사용될 수 없는 환경에서도 내부 네트워크를 통해 연결되는 단말 장치들에 대해 제품의 라이선스를 안전하게 관리할 수 있고, 별도의 동글키 없이 라이선스를 관리함으로써 라이선스 관리 비용을 절감할 수 있다.

Description

내부 네트워크 환경에서 고유한 라이선스 정보를 이용하여 소프트웨어의 무단 설치 및 실행을 제한하는 라이선스 관리 방법 및 이를 수행하는 라이선스 관리 시스템{LICENSE MANAGEMENT METHOD AND SYSTEM USING UNIQUE LICENSE INFORMATION IN INTRA-NETWORK ENVIRONMENT FOR RESTRICTING ILLEGAL SOFTWARE INSTALLATION AND EXECUTION}
본 발명은 라이선스 관리 방법 및 시스템에 관한 것으로서, 보다 구체적으로는 내부 네트워크 환경에서 고유한 라이선스 정보를 이용하여 소프트웨어의 무단 설치 및 실행을 제한하는 라이선스 관리 방법 및 이를 수행하는 라이선스 관리 시스템에 관한 것이다.
소프트웨어가 프로세서(processor)에서 실행되기 위해서는, 운영 체제 상에서 해당 소프트웨어를 설치해야한다. 이러한 설치 프로세스가 시작되면, 해당 소프트웨어 제품을 활성화하는 프로세스가 진행된다. 예를 들어, 설치 프로세스 중에 제품을 활성화하기 위한 라이선스(license) 값을 입력하도록 요구할 수 있다.
통상적으로 제품을 활성화하기 위한 라이선스 검증은, 인터넷을 통해 실행된다. 예를 들어, 사용자의 단말 PC에 설치된 소프트웨어를 설치하기 위하여, 사용자는 소프트웨어 제공자로부터 부여받은 라이선스 키를 입력하고, 이렇게 입력된 라이선스 키가 소프트웨어 제공자 측의 라이선스 서버에 의해 인증됨으로써, 후속되는 설치 프로세스가 진행될 수 있다.
그러나 금융 및 여러 정보통신 망 관련 규제에서는 인터넷과 내부 네트워크를 분리하도록 요구하면서, 내부 네트워크를 통해서만 수행해야하는 프로세스들을 규정하고 있다. 또한, 인터넷 통신망이 향상되는 중에도, 시간적, 지역적인 이유로 인터넷의 사용이 불가능한 네트워크 환경도 증가하고 있다.
라이선스 키를 이용한 소프트웨어 제품 활성화와 관련하여, 공개특허공보 제10-2006-0109237호(2006.10.19.), 등록특허공보 제10-0800295호(2008.01.28.) 등이 개시되어 있지만, 위와 같은 환경에 부합하면서도 제품의 라이선스 관리를 안전하게 수행할 수 있는 라이선스 관리 방법은 개시되지 않은 한계가 있다.
본 발명은 기존에 제안된 방법들의 상기와 같은 문제점들을 해결하기 위해 제안된 것으로서, 라이선스 관리 시스템이, 라이선스 이용 회사 정보, 사용 가능한 내부 네트워크 대역 정보, 라이선스 이용 가능한 디바이스 개수 정보 및 라이선스 허여 기한 정보를 포함하는 초기 정보들 및 솔트(salt) 값을 설정 받고, 개인키를 이용하여 암호화된 솔트 값과 이러한 초기 정보들을 난수 생성부에 입력하며, 난수 생성부로부터 출력된 결과 값들을 일방향 암호 처리부에 입력하여 생성된 해시 값들로부터 라이선스 키 단위값들을 포함한 라이선스 키 값을 구성하고, 생성된 라이선스 키 값을 내부 네트워크에 연결되는 디바이스에 전달함으로써, 외부 네트워크가 사용될 수 없는 환경에서도 내부 네트워크를 통해 연결되는 단말 장치들에 대해 제품의 라이선스를 안전하게 관리할 수 있고, 별도의 동글키 없이 라이선스를 관리함으로써 라이선스 관리 비용을 절감할 수 있는, 내부 네트워크 환경에서 고유한 라이선스 정보를 이용하여 소프트웨어의 무단 설치 및 실행을 제한하는 라이선스 관리 방법 및 이를 수행하는 라이선스 관리 시스템을 제공하는 것을 그 목적으로 한다.
상기한 목적을 달성하기 위한 본 발명의 특징에 따른 내부 네트워크 환경에서 고유한 라이선스 정보를 이용하여 소프트웨어의 무단 설치 및 실행을 제한하는 라이선스 관리 방법은,
외부 네트워크 환경에 연결되지 않은 라이선스 관리 시스템이,
(1) 사용 가능한 내부 네트워크의 대역 정보, 라이선스 이용 가능한 디바이스의 개수 정보 및 라이선스 허여 기한 정보를 포함하는 초기 정보들 및 라이선스 발급을 위한 솔트 값을 설정 받는 단계;
(2) 개인키를 이용하여 암호화한 상기 솔트 값과 상기 설정된 초기 정보들을 난수 생성부에 입력하고, 상기 난수 생성부로부터 출력된 결과 값들을 일방향 암호 처리부에 입력하여, 라이선스 키를 구성하기 위한 해시 값들을 생성하는 단계; 및
(3) 상기 라이선스 키를 상기 내부 네트워크에 연결되는 디바이스에 전달하는 단계를 포함하는 것을 그 구성상의 특징으로 한다.
바람직하게는, 상기 단계 (1)에서,
상기 초기 정보들은, 라이선스 이용 회사를 표시하기 위한 미리 설정된 제1 자릿수의 문자열을 더 포함하여 구성될 수 있다.
바람직하게는, 상기 단계 (2)는,
(2-1) 상기 제1 자릿수의 문자열을 라이선스 키의 제1 단위값으로 구성하는 단계;
(2-2) 입력 변환부를 통해 상기 제1 자릿수의 문자열을 아스키코드로 변환하여 제1 입력 값으로 저장하는 단계; 및
(2-3) 상기 제1 입력 값, 상기 내부 네트워크의 대역 정보 및 상기 솔트 값을 상기 난수 생성부에 입력하여 제1 결과 값을 출력하고, 상기 제1 결과 값을 상기 일방향 암호 처리부에 입력하여 생성된 해시 값으로부터 미리 설정된 제2 자릿수를 갖는 라이선스 키의 제2 단위값을 구성하는 단계를 더 포함하여 구성될 수 있다.
바람직하게는, 상기 단계 (2)는,
(2-4) 상기 라이선스 키의 제2 단위값, 상기 솔트 값 및 상기 라이선스 이용 가능한 디바이스의 개수 정보를 상기 난수 생성부에 입력하여 제2 결과 값을 출력하고, 상기 제2 결과 값을 상기 일방향 암호 처리부에 입력하여 생성된 해시 값으로부터 미리 설정된 제3 자릿수를 갖는 라이선스 키의 제3 단위값을 구성하는 단계를 더 포함하여 구성될 수 있다.
바람직하게는, 상기 단계 (2)는,
(2-5) 상기 라이선스 키의 제3 단위값, 상기 솔트 값 및 상기 라이선스 허여 기한 정보를 상기 난수 생성부에 입력하여 제3 결과 값을 출력하고, 상기 제3 결과 값을 상기 일방향 암호 처리부에 입력하여 생성된 해시 값으로부터 미리 설정된 제4 자릿수를 갖는 라이선스 키의 제4 단위값을 구성하는 단계를 더 포함하여 구성될 수 있다.
상기한 목적을 달성하기 위한 본 발명의 특징에 따른 내부 네트워크 환경에서 고유한 라이선스 정보를 이용하여 소프트웨어의 무단 설치 및 실행을 제한하는 라이선스 관리 방법은,
외부 네트워크에 연결되지 않은 라이선스 관리 시스템에 대하여 내부 네트워크를 통해 연결되는 제1 디바이스가,
(1) 사용 가능한 내부 네트워크의 대역 정보, 라이선스 이용 가능한 디바이스의 개수 정보 및 라이선스 허여 기한 정보를 포함하는 초기 정보들이 개인키를 이용하여 암호화된 솔트 값과 함께 입력된, 제1 라이선스 키를 상기 라이선스 관리 시스템으로부터 발급받는 단계;
(2) 미리 설정된 프로세스의 진행 여부를 판단하기 위하여 상기 제1 라이선스 키에 대응하는 제2 라이선스 키를 입력 받는 단계;
(3) 상기 제2 라이선스 키를 사용하여 상기 초기 정보들에 대응하는 라이선스 정보들을 추출하는 단계; 및
(4) 상기 추출된 라이선스 정보들에 기초하여 상기 프로세스를 진행하거나 중단하는 단계를 포함하고,
상기 추출된 라이선스 정보들은,
상기 내부 네트워크의 대역 정보, 상기 디바이스의 개수 정보 및 상기 라이선스 허여 기한 정보를 포함하는 것을 그 구성상의 특징으로 한다.
바람직하게는, 상기 단계 (4)는,
(4-1) 상기 제1 디바이스가 사용 중인 내부 네트워크의 대역 정보를 확인하는 단계;
(4-2) 상기 추출된 내부 네트워크의 대역 정보와 상기 사용 중인 내부 네트워크의 대역 정보를 비교하는 단계; 및
(4-3) 상기 추출된 내부 네트워크의 대역 정보와 상기 사용 중인 내부 네트워크의 대역 정보가 불일치하는 경우, 상기 프로세스를 중단하는 단계를 포함하여 구성될 수 있다.
바람직하게는,
상기 프로세스는 실행 프로세스를 포함하고,
상기 단계 (4)는,
(4-a) 상기 제1 디바이스로부터 상기 실행 프로세스가 수행되는 누적 시간을 카운트하는 단계;
(4-b) 상기 카운트된 누적 시간을 상기 라이선스 허여 기한 정보와 비교하는 단계; 및
(4-c) 상기 카운트된 누적 시간이 상기 라이선스 허여 기한 정보를 초과하는 경우, 상기 실행 프로세스를 중단하는 단계를 포함하여 구성될 수 있다.
바람직하게는, 상기 단계 (3) 이후에,
(3-1) 상기 추출된 내부 네트워크의 대역 정보, 디바이스의 개수 정보 및 라이선스 허여 기한 정보를, 상기 개인키를 이용하여 암호화시켜 상기 프로세스에 참조될 수 있는 데이터베이스 영역에 저장하는 단계를 더 포함하여 구성될 수 있다.
본 발명에서 제안하고 있는 내부 네트워크 환경에서 고유한 라이선스 정보를 이용하여 소프트웨어의 무단 설치 및 실행을 제한하는 라이선스 관리 방법 및 이를 수행하는 라이선스 관리 시스템에 따르면, 라이선스 관리 시스템이, 라이선스 이용 회사 정보, 사용 가능한 내부 네트워크 대역 정보, 라이선스 이용 가능한 디바이스 개수 정보 및 라이선스 허여 기한 정보를 포함하는 초기 정보들 및 솔트 값(salt)을 설정 받고, 개인키를 이용하여 암호화된 솔트 값과 이러한 초기 정보들을 난수 생성부에 입력하며, 난수 생성부로부터 출력된 결과 값들을 일방향 암호 처리부에 입력하여 생성된 해시 값들로부터 라이선스 키 단위값들을 포함한 라이선스 키 값을 구성하고, 생성된 라이선스 키 값을 내부 네트워크에 연결되는 디바이스에 전달함으로써, 외부 네트워크가 사용될 수 없는 환경에서도 내부 네트워크를 통해 연결되는 단말 장치들에 대해 제품의 라이선스를 안전하게 관리할 수 있고, 별도의 동글키 없이 라이선스를 관리함으로써 라이선스 관리 비용을 절감할 수 있다.
도 1은 본 발명의 일실시예에 따른 내부 네트워크 환경에서 고유한 라이선스 정보를 이용하여 소프트웨어의 무단 설치 및 실행을 제한하는 라이선스 관리 방법을 구현하기 위한 네트워크 환경을 도시한 도면.
도 2는 본 발명의 일실시예에 따른 내부 네트워크 환경에서 고유한 라이선스 정보를 이용하여 소프트웨어의 무단 설치 및 실행을 제한하는 라이선스 관리 방법을 구현하기 위한 네트워크 환경을 도시한 도면.
도 3은 본 발명의 일실시예에 따른 내부 네트워크 환경에서 고유한 라이선스 정보를 이용하여 소프트웨어의 무단 설치 및 실행을 제한하는 라이선스 관리 시스템의 구성을 도시한 도면.
도 4는 본 발명의 일실시예에 따른 내부 네트워크 환경에서 고유한 라이선스 정보를 이용하여 소프트웨어의 무단 설치 및 실행을 제한하는 라이선스 관리 방법에서의 라이선스 키 생성 방법의 흐름을 도시한 도면.
도 5는 본 발명의 일실시예에 따른 내부 네트워크 환경에서 고유한 라이선스 정보를 이용하여 소프트웨어의 무단 설치 및 실행을 제한하는 라이선스 관리 방법에서의 라이선스 키 생성 방법의 단계 S200의 흐름을 도시한 도면.
도 6은 본 발명의 일실시예에 따른 내부 네트워크 환경에서 고유한 라이선스 정보를 이용하여 소프트웨어의 무단 설치 및 실행을 제한하는 라이선스 관리 방법에서의 라이선스 키 생성 방법을 사용하여 생성되는 라이선스 키를 예시적으로 도시한 도면.
도 7은 본 발명의 일실시예에 따른 내부 네트워크 환경에서 고유한 라이선스 정보를 이용하여 소프트웨어의 무단 설치 및 실행을 제한하는 라이선스 관리 방법에서의 라이선스 검증/제한 방법의 흐름을 도시한 도면.
도 8은 본 발명의 일실시예에 따른 내부 네트워크 환경에서 고유한 라이선스 정보를 이용하여 소프트웨어의 무단 설치 및 실행을 제한하는 라이선스 관리 방법에서의 라이선스 검증/제한 방법의 단계 S600의 흐름을 도시한 도면.
도 9는 본 발명의 일실시예에 따른 내부 네트워크 환경에서 고유한 라이선스 정보를 이용하여 소프트웨어의 무단 설치 및 실행을 제한하는 라이선스 관리 방법에서의 라이선스 검증/제한 방법의 단계 S800의 흐름을 도시한 도면.
도 10은 본 발명의 일실시예에 따른 내부 네트워크 환경에서 고유한 라이선스 정보를 이용하여 소프트웨어의 무단 설치 및 실행을 제한하는 라이선스 관리 방법에서의 라이선스 검증/제한 방법의 단계 S800의 흐름을 도시한 도면.
이하에서는 첨부된 도면을 참조하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 바람직한 실시예를 상세히 설명한다. 다만, 본 발명의 바람직한 실시예를 상세하게 설명함에 있어, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다. 또한, 유사한 기능 및 작용을 하는 부분에 대해서는 도면 전체에 걸쳐 동일 또는 유사한 부호를 사용한다.
덧붙여, 명세서 전체에서, 어떤 부분이 다른 부분과 ‘연결’되어 있다고 할 때, 이는 ‘직접적으로 연결’되어 있는 경우뿐만 아니라, 그 중간에 다른 소자를 사이에 두고 ‘간접적으로 연결’되어 있는 경우도 포함한다. 또한, 어떤 구성요소를 ‘포함’한다는 것은, 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있다는 것을 의미한다.
도 1은 본 발명의 일실시예에 따른 내부 네트워크 환경에서 고유한 라이선스 정보를 이용하여 소프트웨어의 무단 설치 및 실행을 제한하는 라이선스 관리 방법을 구현하기 위한 네트워크 환경을 도시한 도면이다. 도 1에 도시된 바와 같이, 본 발명의 일실시예에 따른 내부 네트워크 환경에서 고유한 라이선스 정보를 이용하여 소프트웨어의 무단 설치 및 실행을 제한하는 라이선스 관리 방법을 구현하기 위한 네트워크 환경은 복수의 단말기(P1, P2, P3, P4, P5)가 연결되는 내부 네트워크 환경을 포함할 수 있다. 예를 들어, 이러한 내부 네트워크 환경은 인트라넷(intranet) 환경을 포함할 수 있다. 내부 네트워크 환경에서 연결되는 단말기들(P1, P2, P3, P4, P5)은 물리적 또는 논리적 원인으로 인해 외부의 인터넷 환경과 연결이 단절될 수 있다. 이러한 내부 네트워크 환경에 연결되는 단말기들(P1, P2, P3, P4, P5) 중에는 라이선스를 관리하기 위한 단말기가 포함될 수 있다. 예를 들어, 제1 단말기(P1)는 라이선스 관리를 위한 단말기로 기능하고, 제2 내지 제5 단말기들(P2, P3, P4, P5)은 라이선스 키를 제공받는 단말기로 기능할 수 있다. 다만, 이러한 단말기들의 기능은 예시적인 것으로서, 다른 실시예에서, 내부 네트워크 환경에 연결되는 2 이상의 단말기들(예컨대, P1, P2)이 서로 연결되어 라이선스 관리 시스템을 구성할 수도 있다.
도 2는 본 발명의 일실시예에 따른 내부 네트워크 환경에서 고유한 라이선스 정보를 이용하여 소프트웨어의 무단 설치 및 실행을 제한하는 라이선스 관리 방법을 구현하기 위한 네트워크 환경을 도시한 도면이다. 도 2에 도시된 바와 같이, 본 발명의 일실시예에 따른 내부 네트워크 환경에서 고유한 라이선스 정보를 이용하여 소프트웨어의 무단 설치 및 실행을 제한하는 라이선스 관리 방법을 구현하기 위한 네트워크 환경은 복수의 단말기(P1, P2, P3, P4) 및 이러한 단말기들(P1, P2, P3, P4)에 대해 소정의 신호를 주고받는 서버(Server)가 연결되는 내부 네트워크 환경을 포함할 수 있다. 예를 들어, 이러한 내부 네트워크 환경은 인트라넷 환경을 포함할 수 있다. 내부 네트워크 환경에 연결되는 단말기들(P1, P2, P3, P4) 및 서버(Server)는 물리적 또는 논리적 원인으로 인해 외부의 인터넷 환경과 연결이 단절될 수 있다. 이러한 내부 네트워크 환경에서, 서버(Server)는 내부 네트워크에 연결되는 단말기들(P1, P2, P3, P4)의 라이선스를 관리하는 라이선스 관리 시스템으로 기능할 수 있다. 예를 들어, 제1 내지 제4 단말기들(P1, P2, P3, P4)은 서버(Server)로부터 제공되는 라이선스 키를 이용하여 소프트웨어 제품을 실행하거나 설치하도록 구성될 수 있다.
도 3은 본 발명의 일실시예에 따른 내부 네트워크 환경에서 고유한 라이선스 정보를 이용하여 소프트웨어의 무단 설치 및 실행을 제한하는 라이선스 관리 시스템의 구성을 도시한 도면이다. 도 3에 도시된 바와 같이, 본 발명의 일실시예에 따른 내부 네트워크 환경에서 고유한 라이선스 정보를 이용하여 소프트웨어의 무단 설치 및 실행을 제한하는 라이선스 관리 시스템(500)은 입력 변환부(510), 키 생성 제어부(530), 난수 생성부(550) 및 일방향 암호화 처리부(570)를 포함하여 구성될 수 있다. 이하에서는, 본 발명의 일실시예에 따른 내부 네트워크 환경에서 고유한 라이선스 정보를 이용하여 소프트웨어의 무단 설치 및 실행을 제한하는 라이선스 관리 시스템(500)의 각각의 구성에 대해 상세히 설명하도록 한다.
입력 변환부(510)는 소정의 입력 장치로부터 입력 값을 제공받는 부분으로서, 이러한 입력 값에는 예를 들어, 라이선스 이용 회사를 표시하기 위한 문자열이 포함될 수 있다. 또한, 입력 변환부(510)에 제공되는 입력 값에는 내부 네트워크 환경에서 사용 가능한 내부 네트워크의 대역 정보, 라이선스 이용이 가능한 디바이스(device)의 개수 정보, 라이선스 허여 기한 등이 포함될 수 있다.
예를 들어, 입력 변환부(510)에 제공되는 라이선스 이용 회사 정보로서, 영문자의 회사 이름이 포함되는 경우, 이러한 회사 이름은 입력 변환부(510)를 통해 아스키코드(ASCII code)로 변환될 수 있다. 예를 들어, 라이선스 이용 회사의 이름이 ‘BSGCP’의 5자리 대문자로 된 영문자열인 경우, 입력 변환부(510)는 상기 영문자열을 아스키코드 ‘9811510399112’로 변환할 수 있다. 이때, 입력 변환부(510)에 제공되는 회사 정보를 나타내는 영문자열의 제1 자릿수는 5자리로 고정되지 않고, 실시예에 따라 자유롭게 설정될 수 있다.
예를 들어, 입력 변환부(510)에 제공되는 내부 네트워크의 대역 정보로서, 소정의 수열이 포함되는 경우, 이러한 수열은 입력 변환부(510)를 통해 고정된 제2 자릿수의 수열로 변환될 수 있다. 예를 들어, 내부 네트워크의 대역 정보가 ‘192.168.8.0’의 수열인 경우, 입력 변환부(510)는 상기 수열을 ‘192.168.008’과 같이 고정된 제2 자릿수를 갖는 수열로 변환할 수 있다. 이때, 상기 제1 자릿수와 제2 자릿수는 서로 다를 수 있다. 예를 들어, 상기 제2 자릿수는 9자리로 고정될 수 있다.
예를 들어, 입력 변환부(510)에 라이선스 이용 가능 디바이스의 개수 정보가 제공되는 경우, 디바이스의 개수에 따른 숫자가 입력 변환부(510)에 입력될 수 있다. 예를 들어, 라이선스 이용 가능한 디바이스의 개수가 100개인 경우, 입력 변환부(510)에는 100이 입력 및 출력될 수 있다.
예를 들어, 입력 변환부(510)에 라이선스 허여 기한 정보가 제공되는 경우, 내부 네트워크 환경에서 사용될 수 있는 라이선스의 유효기간이 일(day) 단위의 숫자로 입력될 수 있다. 예를 들어, 라이선스의 유효기간이 1년인 경우, 입력 변환부(510)에는 365가 입력 및 출력될 수 있다.
키 생성 제어부(530)는 입력 변환부(510)의 출력을 개인키(520)와 함께 난수 생성부(550)에 제공할 수 있다. 예를 들어, 키 생성 제어부(530)는, 개인키(PK2)(520)를 이용하여 암호화된 솔트 값(PK1)(521)을, 상기 제1 자릿수의 영문자열 및 상기 내부 네트워크의 대역 정보 값과 함께 난수 생성부(550)에 제공할 수 있다.
솔트 값(PK1)(521)은 초기 입력값을 유추할 수 없게 보호하기 위한 비밀 키(private key)로 사용되고, 개인키(PK2)(520)는 초기 정보들을 암호화할 때 사용되는 상기 솔트 값(PK1)(521)을 복호하기 위하여 사용될 수 있다. 솔트 값(PK1) 및 개인키(PK2)는 필요에 따라 얼마든지 큰 자릿수를 가질 수 있다. 이와 같이, 솔트 값(PK1) 및 개인키(PK2)의 자릿수가 증가함에 따라 라이선스 관리 환경의 보안성이 향상될 수 있다. 본 실시예에서, 내부 네트워크 환경에 연결되는 단말 디바이스들이 갖는 솔트 값(PK1)은 라이선스 관리 시스템(500)의 솔트 값(521)과 동일하게 설정될 수 있다.
난수 생성부(550)(random number generator, RNG)는 소정의 입력을 제공받아 난수 생성 알고리즘에 따라 난수를 생성하는 부분으로서, 제공되는 초기 입력(seed) 값이 동일한 경우, 동일한 난수 생성 알고리즘을 사용할 때 동일한 결과 값을 출력하도록 구성될 수 있다. 즉, 본 실시예에서는, 동일한 초기 입력 값에 대해 동일한 결과를 출력하는 난수 생성 알고리즘의 보안성을 향상시키기 위해 상기 솔트값(PK1)을 사용할 수 있다. 본 실시예에서, 내부 네트워크 환경에 연결되는 단말 디바이스들에 저장된 소프트웨어와, 라이선스 관리 시스템(500)의 난수 생성부(550)에 포함된 난수 생성 알고리즘은 동일하게 설정된다.
일방향 암호화 처리부(570)는 난수 생성부(550)의 출력값을 제공받아 라이선스 키(540)를 구성하기 위한 소정의 해시(hash) 값을 생성하는 부분으로서, 해시 값은 미리 설정된 자릿수의 값을 가질 수 있다. 예를 들어, 일방향 암호화 처리부(570)에서 생성되는 해시 값은 8자리 이상의 값을 가질 수 있다.
이때, 일방향 암호화 처리부(570)에서 생성되는 해시 값은, 초기 입력(seed) 값에 따라, 라이선스의 제n 단위(n은 임의의 자연수)를 구성하기 위한 라이선스 키 단위값으로 설정될 수 있다. 예를 들어, 상기 제1 자릿수의 영문자열의 아스키코드 변환 값, 상기 내부 네트워크의 대역 정보 및 상기 솔트값(PK1)이 난수 생성부(550)에 제공되어 출력된 값이 일방향 암호화 처리부(570)를 통해 처리되는 경우, 7자리의 해시 값이 생성될 수 있다. 이러한 7자리의 해시 값은 라이선스 키의 2번째 단위값을 구성하도록 설정될 수 있다. 다만, 이는 예시적인 것으로서, 본 발명의 실시예들에 따른 라이선스 관리 방법에서 생성되는 라이선스 키 단위값의 길이는 실시예에 따라 얼마든지 다르게 설정될 수 있다. 또한, 라이선스 키를 구성하는 단위 수 또한 얼마든지 다르게 설정될 수 있다. 이와 같이, 라이선스 키 단위값의 길이 및 단위 수가 필요에 따라 얼마든지 길게 설정됨으로써, 라이선스 관리 환경의 보안성이 강화될 수 있다.
도 4는 본 발명의 일실시예에 따른 내부 네트워크 환경에서 고유한 라이선스 정보를 이용하여 소프트웨어의 무단 설치 및 실행을 제한하는 라이선스 관리 방법에서의 라이선스 키 생성 방법의 흐름을 도시한 도면이다. 도 4에 도시된 바와 같이, 본 발명의 일실시예에 따른 내부 네트워크 환경에서 고유한 라이선스 정보를 이용하여 소프트웨어의 무단 설치 및 실행을 제한하는 라이선스 관리 방법에서의 라이선스 키 생성 방법은, 사용 가능한 내부 네트워크의 대역 정보, 라이선스 이용 가능한 디바이스의 개수 정보, 라이선스 허여 기한 정보를 포함한 초기 정보들과, 솔트 값을 설정 받는 단계(S100), 개인키를 이용하여 암호화한 솔트 값과 상기 초기 정보들을 난수 생성부에 입력하고, 출력된 결과 값들을 일방향 암호 처리부에 입력하여 라이선스 키를 구성하는 해시 값들을 생성하는 단계(S200) 및 생성된 라이선스 키를 내부 네트워크에 연결되는 디바이스에 전달하는 단계(S300)를 포함하여 구성될 수 있다. 상기 단계 S100에서 상기 초기 정보들에는, 라이선스 이용 회사 정보가 더 포함될 수 있다. 이하에서는, 본 발명의 일실시예에 따른 내부 네트워크 환경에서 고유한 라이선스 정보를 이용하여 소프트웨어의 무단 설치 및 실행을 제한하는 라이선스 관리 방법에서의 라이선스 키 생성 방법의 각각의 단계에 대해 상세히 설명하도록 한다.
단계 S100에서는, 라이선스 관리 시스템(500)이 초기 정보들 및 솔트 값(PK1)을 설정 받을 수 있다. 예를 들어, 라이선스 관리 시스템(500)의 입력 변환부(510)에는, 라이선스 이용 회사 정보, 사용 가능한 내부 네트워크의 대역 정보, 라이선스 이용 가능한 디바이스의 개수 정보 및 라이선스 허여 기한 정보 등이 입력될 수 있다. 솔트 값(PK1)은 라이선스 관리 시스템(500)이 갖는 초기입력 값으로서, 내부 네트워크에 연결되는 디바이스들의 소프트웨어에도 일체로 저장(즉, 하드 코딩)될 수 있다. 이때, 솔트 값(PK1)은, 네트워크 환경이 다른 경우에도 동일한 값을 갖되, 개인키(PK2)는 서로 다른 값을 가질 수 있다. 예를 들어, 제1 라이선스 이용 회사의 내부 네트워크 환경에서 사용되는 솔트 값(PK1)과, 제2 라이선스 이용 회사의 내부 네트워크 환경에서 사용되는 솔트 값(PK1)은 동일할 수 있다. 이와 같이, 라이선스 관리 시스템(500)이 초기 정보들 뿐 아니라 솔트 값(PK1)을 함께 설정 받음으로써, 난수 생성 알고리즘과 일방향 암호 알고리즘(해시 알고리즘)이 공개됨에 따른 무차별 대입 공격에 의해 라이선스 보안이 취약해지는 문제를 방지할 수 있다.
단계 S200에서는, 단계 S100에서 제공받은 개인키(PK2)를 이용하여 암호화한 솔트 값(PK1) 및 초기 정보들이 난수 생성부(530)를 통해 출력된 결과 값들이 일방향 암호화 처리부(570)에 의해 처리되어, 라이선스 키를 구성하기 위한 해시 값들로 생성될 수 있다. 단계 S200은 도 5를 참조하여 보다 상세히 설명하도록 한다.
도 5는 본 발명의 일실시예에 따른 내부 네트워크 환경에서 고유한 라이선스 정보를 이용하여 소프트웨어의 무단 설치 및 실행을 제한하는 라이선스 관리 방법에서의 라이선스 키 생성 방법의 단계 S200의 흐름을 도시한 도면이다. 도 5에 도시된 바와 같이, 본 발명의 일실시예에 따른 내부 네트워크 환경에서 고유한 라이선스 정보를 이용하여 소프트웨어의 무단 설치 및 실행을 제한하는 라이선스 관리 방법에서의 라이선스 키 생성 방법의 단계 S200은, 라이선스 이용 회사를 표시하기 위한 제1 자릿수의 문자열을 라이선스 키의 제1 단위값으로 구성하는 단계(S210), 제1 자릿수의 문자열을 아스키코드로 변환하여 제1 입력 값으로 저장하는 단계(S230), 제1 입력 값, 내부 네트워크 대역 정보 및 솔트 값(PK1)을 난수 생성부(550)에 입력하여 제1 결과 값을 출력하고, 제1 결과 값을 일방향 암호 처리부(570)에 입력하여 생성된 해시 값으로부터 제2 자릿수를 갖는, 라이선스 키의 제2 단위값을 구성하는 단계(S250), 라이선스 키의 제2 단위값, 솔트 값 및 라이선스 사용 가능한 디바이스 개수 정보를 난수 생성부(550)에 입력하여 제2 결과 값을 출력하고, 제2 결과 값을 일방향 암호 처리부(570)에 입력하여 생성된 해시 값으로부터 제3 자릿수를 갖는, 라이선스 키의 제3 단위값을 구성하는 단계(S270), 및 라이선스 키의 제3 단위값, 솔트 값 및 라이선스 허여 기한 정보를 난수 생성부(550)에 입력하여 제3 결과 값을 출력하고, 제3 결과 값을 일방향 암호 처리부(570)에 입력하여 생성된 해시 값으로부터 제4 자릿수를 갖는, 라이선스 키의 제4 단위값을 구성하는 단계(S290)를 포함하여 구성될 수 있다.
단계 S210에서는, 라이선스 이용 회사를 표시하기 위한 제1 자릿수의 문자열을 라이선스 키의 제1 단위값으로 구성할 수 있다. 예를 들어, 라이선스 키(LK)가 총 4개의 단위값들로 구성되는 경우, 라이선스 키는 제1 단위값 내지 제4 단위 값들로 구성될 수 있다. 예를 들어, 라이선스 이용 회사 정보로서 ‘BSGCP’가 입력되는 경우, 이러한 5자리 문자열 자체가 라이선스 키의 제1 단위값으로 설정될 수 있다.
단계 S230에서는, 상기 제1 자릿수의 문자열을 아스키코드로 변환하여 제1 입력 값으로 저장할 수 있다. 이때, 저장되는 제1 입력 값은 후속되는 암호화 과정에 사용될 수 있다.
단계 S250에서는, 상기 제1 입력 값, 상기 내부 네트워크 대역 정보 및 상기 솔트 값(PK1)을 난수 생성부(550)에 입력하여 제1 결과 값을 출력하고, 이러한 제1 결과 값을 일방향 암호 처리부(570)에 입력하여 해시 값을 생성하며, 해시 값으로부터 제2 자릿수를 갖는, 라이선스 키의 제2 단위값을 구성할 수 있다. 예를 들어, 단계 S250에서, 상기 제1 입력 값으로는, 상기 ‘BSGCP’가 아스키코드로 변환된 ‘9811510399112’의 제1 입력 값이, 내부 네트워크 대역 정보인 ‘192.168.008’ 및 솔트값(PK1)과 함께 난수 생성부(550)에 입력되어 제1 결과 값으로 출력되고, 제1 결과 값이 일방향 암호 처리부(570)에 제공되어 해시 값이 생성될 수 있다. 이러한 해시 값으로부터 예컨대, 7자리의 값이 도출될 수 있는데, 이렇게 도출된 7자리 해시 값을 라이선스 키의 제2 단위값으로 구성할 수 있다.
단계 S270에서는, 상기 라이선스 키의 제2 단위값, 상기 솔트 값(PK1) 및 상기 라이선스 사용 가능한 디바이스 개수 정보를 난수 생성부(550)에 입력하여 제2 결과 값을 출력하고, 이러한 제2 결과 값을 일방향 암호 처리부(570)에 입력하여 해시 값을 생성하며, 해시 값으로부터 제3 자릿수를 갖는, 라이선스 키의 제3 단위값을 구성할 수 있다. 예를 들어, 라이선스 사용 가능한 디바이스 개수 정보 값이 ‘100’인 경우, 상기 라이선스 키의 제2 단위값과 상기 ‘100’과 상기 솔트 값(PK1)을 난수 생성부(550)에 입력하여 제2 결과 값을 얻고, 이러한 제2 결과 값이 일방향 암호 처리부(570)에 제공되어 해시 값이 생성될 수 있다. 이러한 해시 값으로부터 예컨대, 5자리의 값이 도출될 수 있는데, 이렇게 도출된 5자리 해시 값을 라이선스 키의 제3 단위값으로 구성할 수 있다.
단계 S290에서는, 상기 라이선스 키의 제3 단위값, 상기 솔트 값(PK1) 및 상기 라이선스 허여 기한 정보를 난수 생성부(550)에 입력하여 제3 결과 값을 출력하고, 이러한 제3 결과 값을 일방향 암호 처리부(570)에 입력하여 해시 값을 생성하며, 해시 값으로부터 제4 자릿수를 갖는, 라이선스 키의 제4 단위값을 구성할 수 있다. 예를 들어, 라이선스 허여 기한 정보 값이 ‘365’인 경우, 상기 라이선스 키의 제3 단위값과 상기 ‘365’와 상기 솔트값(PK1)을 난수 생성부(550)에 입력하여 제3 결과 값을 얻고, 이러한 제3 결과 값이 일방향 암호 처리부(570)에 제공되어 해시 값이 생성될 수 있다. 이러한 해시 값으로부터 예컨대, 8자리의 값이 도출될 수 있는데, 이렇게 도출된 8자리 해시 값을 라이선스 키의 제4 단위값으로 구성할 수 있다.
도 6은 본 발명의 일실시예에 따른 내부 네트워크 환경에서 고유한 라이선스 정보를 이용하여 소프트웨어의 무단 설치 및 실행을 제한하는 라이선스 관리 방법에서의 라이선스 키 생성 방법을 사용하여 생성되는 라이선스 키를 예시적으로 도시한 도면이다. 도 6에 도시된 바와 같이, 본 발명의 일실시예에 따른 내부 네트워크 환경에서 고유한 라이선스 정보를 이용하여 소프트웨어의 무단 설치 및 실행을 제한하는 라이선스 관리 방법에서의 라이선스 키 생성 방법을 사용하여 생성되는 라이선스 키(700)는, 예를 들어, 제1 단위(710), 제2 단위(730), 제3 단위(750) 및 제4 단위(770)의 4개의 단위로 구성될 수 있다. 각각의 단위(710, 730, 750, 770)는 소정의 자릿수를 갖는 단위값들로 구성될 수 있다. 예를 들어, 제1 단위(710)는 라이선스 키 제1 단위값으로 구성되고, 제2 단위(730)는 라이선스 키 제2 단위값으로 구성되며, 제3 단위(750)는 라이선스 키 제3 단위값으로 구성되고, 제4 단위(770)는 라이선스 키 제4 단위값으로 구성될 수 있다.
도 7은 본 발명의 일실시예에 따른 내부 네트워크 환경에서 고유한 라이선스 정보를 이용하여 소프트웨어의 무단 설치 및 실행을 제한하는 라이선스 관리 방법에서의 라이선스 검증/제한 방법의 흐름을 도시한 도면이다. 도 7에 도시된 바와 같이, 본 발명의 일실시예에 따른 내부 네트워크 환경에서 고유한 라이선스 정보를 이용하여 소프트웨어의 무단 설치 및 실행을 제한하는 라이선스 관리 방법에서의 라이선스 검증/제한 방법은, 외부 네트워크에 연결되지 않은 라이선스 관리 시스템에 대하여 내부 네트워크를 통해 연결되는 제1 디바이스가, 사용 가능한 내부 네트워크의 대역 정보, 라이선스 이용 가능한 디바이스의 개수 정보 및 라이선스 허여 기한 정보를 포함하는 초기 정보들이 개인키를 이용하여 암호화된 솔트 값에 의해 암호화된, 제1 라이선스 키를 라이선스 관리 시스템으로부터 발급받는 단계(S500), 미리 설정된 프로세스의 진행 여부를 판단하기 위하여 제1 라이선스 키에 대응하는 제2 라이선스 키를 입력 받고, 제2 라이선스 키를 사용하여 초기 정보들에 대응하는 라이선스 정보들을 추출하는 단계(S600) 및 추출된 라이선스 정보들에 기초하여 프로세스를 진행하거나 중단하는 단계(S800)를 포함하여 구성될 수 있으며, 상기 단계 S600 이후에, 추출된 내부 네트워크의 대역 정보, 디바이스 개수 정보 및 라이선스 허여 기한 정보를, 상기 개인키를 이용하여 암호화시켜 프로세스에 참조될 수 있는 데이터베이스 영역에 저장하는 단계(S700)를 더 포함하여 구성될 수 있다.
단계 S500에서는, 제1 디바이스가, 사용 가능한 내부 네트워크의 대역 정보, 라이선스 이용 가능한 디바이스의 개수 정보 및 라이선스 허여 기한 정보를 포함하는 초기 정보들이 개인키를 이용하여 암호화된 솔트 값에 의해 암호화된, 제1 라이선스 키를 라이선스 관리 시스템(500)으로부터 발급 받을 수 있다. 여기서, 제1 라이선스 키는, 소프트웨어 개발자가 발급하여 제1 디바이스의 사용자에게 전달되는 라이선스를 의미한다. 이하에서, 제2 라이선스 키는, 상기 제1 라이선스 키와 구분되며, 상기 소프트웨어 개발자에 의해 출력된 인쇄물 등의 방식으로 전달받는 라이선스(즉, 프로그램 설치 시에 상기 사용자로부터 입력받도록 요구되는 라이선스)를 의미한다. 예를 들어, 제1 라이선스 키(700)는, 라이선스 이용 회사를 표시하기 위한 제1 자릿수의 문자열(예컨대, ‘BSGCP’)에 기초하여 구성되는 라이선스 키의 제1 단위값과, 상기 제1 자릿수의 문자열을 아스키코드로 변환시킨 제1 입력 값(예컨대, ‘9811510399112’)이 상기 내부 네트워크 대역 정보(예컨대, ‘192.168.008’) 및 솔트값(PK1)과 함께 난수 생성부(550)에 입력되고 그로부터 출력된 값이 일방향 암호 처리부(570)를 통해 생성된 해시 값에 기초하여 구성되는 라이선스 키의 제2 단위값과, 상기 라이선스 키의 제2 단위값이 상기 솔트값(PK1) 및 상기 라이선스 사용 가능한 디바이스의 개수 정보(예컨대, ‘100’)와 함께 난수 생성부(550)에 입력되고 그로부터 출력된 값이 일방향 암호 처리부(570)를 통해 생성된 해시 값에 기초하여 구성되는 라이선스 키의 제3 단위값과, 상기 라이선스 키의 제3 단위값이 상기 솔트값(PK1) 및 상기 라이선스 허여 기한 정보(예컨대, ‘365’)와 함께 난수 생성부(550)에 입력되고 그로부터 출력된 값이 일방향 암호 처리부(570)를 통해 생성된 해시 값에 기초하여 구성되는 라이선스 키의 제4 단위값을 포함할 수 있다.
단계 S600에서는, 제1 디바이스가, 미리 설정된 프로세스의 진행 여부를 판단하기 위하여 상기 제1 라이선스 키에 대응하는 제2 라이선스 키를 사용하여, 초기 정보들에 대응하는 라이선스 정보들을 추출할 수 있다. 예를 들어, 상기 제1 디바이스에서 구현되는 상기 미리 설정된 프로세스는, 소프트웨어의 설치 프로세스, 실행 프로세스 등을 포함할 수 있다. 이때, 제1 디바이스의 사용자는 소프트웨어의 설치/실행 프로세스에 필요한 제2 라이선스 키를 갖고 있을 수 있다. 본 단계에서는, 이렇게 사용자가 보유한 제2 라이선스 키를 제1 디바이스가 입력 받을 수 있다.
본 단계에서, 제1 디바이스가 상기 제2 라이선스 키를 이용하여 상기 라이선스 정보들을 추출할 때에는 상기 개인키(PK2) 및 상기 개인키(PK2)로 암호화된 솔트 값(PK1)이 사용될 수 있다. 이러한 솔트 값(PK1)은, 동일한 내부 네트워크 환경에 연결되는 디바이스들 간에 동일한 값을 갖도록 구성될 수 있다. 이와 같이, 라이선스 정보들이 추출되는 과정은 도 8을 참조하여 보다 상세히 설명하도록 한다.
도 8은 본 발명의 일실시예에 따른 내부 네트워크 환경에서 고유한 라이선스 정보를 이용하여 소프트웨어의 무단 설치 및 실행을 제한하는 라이선스 관리 방법에서의 라이선스 검증/제한 방법의 단계 S600의 흐름을 도시한 도면이다. 도 8에 도시된 바와 같이, 본 발명의 일실시예에 따른 내부 네트워크 환경에서 고유한 라이선스 정보를 이용하여 소프트웨어의 무단 설치 및 실행을 제한하는 라이선스 관리 방법에서의 라이선스 검증/제한 방법의 단계 S600은, 라이선스 관리 시스템이, 제1 자릿수의 문자열을 입력받는 단계(S610), 상기 입력된 문자열의 아스키코드 변환값, 솔트값 및 사용 중인 내부 네트워크 정보에 기초하여 제1 출력 값을 생성하고, 상기 제1 출력 값을 이용하여 사용 가능한 내부 네트워크의 대역 정보를 추출하는 단계(S620), 상기 제1 출력 값, 솔트값 및 라이선스 사용 카운트 값에 기초하여 제2 출력 값을 생성하고, 상기 제2 출력 값을 이용하여 라이선스 이용 가능 디바이스의 개수 정보를 추출하는 단계(S630) 및 상기 제2 출력 값, 솔트값 및 라이선스 사용 기한 값에 기초하여 제3 출력 값을 생성하고, 상기 제3 출력 값을 이용하여 라이선스 허여 기한 정보를 추출하는 단계(S640)를 포함하여 구성될 수 있다.
단계 S610에서는, 라이선스 관리 시스템(500)이 사용자로부터 제1 자릿수의 문자열을 입력받을 수 있다. 이때, 사용자로부터 입력받는 제1 자릿수의 문자열은 해당 라이선스를 사용하기 위한 회사 정보로서, 라이선스 관리 시스템(500)은 예를 들어, ‘BSGCP’의 5자리 대문자로 된 영문자열을 입력받을 수 있다. 이렇게 입력받은 제1 자릿수의 영문자열은 라이선스 키의 제1 단위값에 대응할 수 있다.
단계 S620에서는, 라이선스 관리 시스템(500)이 상기 입력된 문자열의 아스키코드 변환값, 솔트값(PK1) 및 사용 중인 내부 네트워크 정보에 기초하여 제1 출력 값을 생성하고, 상기 제1 출력 값을 이용하여 사용 가능한 내부 네트워크의 대역 정보를 추출할 수 있다. 보다 구체적으로, 본 단계에서는, 상기 아스키코드 변환값, 솔트값(PK1) 및 사용 중인 내부 네트워크 정보를 난수 생성부(550)에 제공하여 얻은 결과 값을, 일방향 암호화 처리부(570)를 통해 해시 값으로 생성할 수 있는데, 이러한 해시 값으로부터 상기 제2 자릿수를 갖는 제1 출력 값을 도출할 수 있다.
생성된 제1 출력 값은, 라이선스 키의 제2 단위값과 비교되어 라이선스 이용 가능한 내부 네트워크 대역 정보를 추출하는 데에 사용될 수 있다. 구체적으로, 상기 제1 출력 값과 상기 라이선스 키의 제2 단위값이 동일한 경우, 라이선스 이용 가능한 내부 네트워크 대역 정보가 추출될 수 있다. 이와 달리, 상기 제1 출력 값과 상기 라이선스 키의 제2 단위값이 동일하지 않은 경우, 상기 사용 중인 내부 네트워크 정보와 다른, 사용 가능한 내부 네트워크 정보를 이용하여 다시, 새로운 제1 출력 값이 생성되도록 난수 생성부(550) 및 일방향 암호화 처리부(570)의 과정을 반복할 수 있다. 예를 들어, 제1 출력 값이 상기 라이선스 키의 제2 단위값과 상이한 경우, 상기 아스키코드 변환값, 솔트값(PK1) 및 상기 다른 내부 네트워크 정보를 난수 생성부(550)에 제공하고, 그 결과 값을 일방향 암호화 처리부(570)를 통해 해시 값으로 생성하며, 이러한 해시 값으로부터 제2 자릿수를 갖는 새로운 제1 출력 값을 도출할 수 있다.
이와 같이, 라이선스 키의 제2 단위값을 비교하여 네트워크 대역을 검증하기 위한 과정은, 사용 가능한 네트워크 대역 정보의 최대값이 입력될 때까지 반복될 수 있으며, 그때까지 라이선스 키의 제2 단위값과 동일한 제1 출력 값이 도출되지 않는 경우, 잘못된 라이선스 키인 것으로 판단하여, 소프트웨어의 설치 또는 실행 프로세스를 중단시킬 수 있다(S800).
단계 S630에서는, 단계 S620에서 라이선스 키의 제2 단위값과 동일한 것으로 판별된 제1 출력 값과, 솔트값(PK1) 및 라이선스 사용 카운트 값에 기초하여 제2 출력 값을 생성하고, 상기 제2 출력 값을 이용하여 라이선스 이용 가능 디바이스의 개수 정보를 추출할 수 있다. 보다 구체적으로, 본 단계에서는, 상기 제1 출력 값, 솔트값(PK1) 및 사용 중인 라이선스 카운트 값을 난수 생성부(550)에 제공하여 얻은 결과 값을, 일방향 암호화 처리부(570)를 통해 해시 값으로 생성할 수 있는데, 이러한 해시 값으로부터 상기 제3 자릿수를 갖는 제2 출력 값을 도출할 수 있다.
생성된 제2 출력 값은, 라이선스 키의 제3 단위값과 비교되어 라이선스 이용 가능한 디바이스의 개수 정보를 추출하는 데에 사용될 수 있다. 구체적으로, 상기 제2 출력 값과 상기 라이선스 키의 제3 단위값이 동일한 경우, 라이선스 이용 가능한 디바이스의 개수 정보가 추출될 수 있다. 이와 달리, 상기 제2 출력 값과 상기 라이선스 키의 제3 단위값이 동일하지 않은 경우, 상기 사용 중인 라이선스 카운트 값과 다른, 사용 가능한 라이선스 카운트 값을 이용하여 다시, 새로운 제2 출력 값이 생성되도록 난수 생성부(550) 및 일방향 암호화 처리부(570)의 과정을 반복할 수 있다. 예를 들어, 제2 출력 값이 상기 라이선스 키의 제3 단위값과 상이한 경우, 상기 제1 출력값, 솔트값(PK1) 및 상기 다른 라이선스 카운트 값을 난수 생성부(550)에 제공하고, 그 결과 값을 일방향 암호화 처리부(570)를 통해 해시 값으로 생성하며, 이러한 해시 값으로부터 제3 자릿수를 갖는 새로운 제2 출력 값을 도출할 수 있다.
이와 같이, 라이선스 키의 제3 단위값을 비교하여 네트워크 대역을 검증하기 위한 과정은, 라이선스 카운트 최대값(예컨대, C class 네트워크 대역의 경우 255, 또는, B class 네트워크 대역의 경우 0-254 영역 중 254)이 입력될 때까지 반복될 수 있으며, 그때까지 라이선스 키의 제3 단위값과 동일한 제2 출력 값이 도출되지 않는 경우, 잘못된 라이선스 키인 것으로 판단하여, 소프트웨어의 설치 또는 실행 프로세스를 중단시킬 수 있다(S800).
단계 S640에서는, 단계 S630에서 라이선스 키의 제3 단위값과 동일한 것으로 판별된 제2 출력 값과, 솔트값(PK1) 및 라이선스 사용 기한 값에 기초하여 제3 출력 값을 생성하고, 상기 제3 출력 값을 이용하여 라이선스 허여 기한 정보를 추출할 수 있다. 보다 구체적으로, 본 단계에서는, 상기 제2 출력 값, 솔트값(PK1) 및 사용 중인 라이선스 사용 기한 값을 난수 생성부(550)에 제공하여 얻은 결과 값을, 일방향 암호화 처리부(570)를 통해 해시 값으로 생성할 수 있는데, 이러한 해시 값으로부터 상기 제4 자릿수를 갖는 제3 출력 값을 도출할 수 있다.
생성된 제3 출력 값은, 라이선스 키의 제4 단위값과 비교되어 라이선스 허여 기한 정보를 추출하는 데에 사용될 수 있다. 구체적으로, 상기 제3 출력 값과 상기 라이선스 키의 제4 단위값이 동일한 경우, 라이선스 허여 기한 정보가 추출될 수 있다. 이와 달리, 상기 제3 출력 값과 상기 라이선스 키의 제4 단위값이 동일하지 않은 경우, 상기 사용 중인 라이선스 허여 기한 정보와 다른, 라이선스 허여 기한 정보를 이용하여 다시, 새로운 제3 출력 값이 생성되도록 난수 생성부(550) 및 일방향 암호화 처리부(570)의 과정을 반복할 수 있다. 예를 들어, 제3 출력 값이 상기 라이선스 키의 제4 단위값과 상이한 경우, 상기 제2 출력 값, 솔트값(PK1) 및 상기 다른 라이선스 허여 기한 정보를 난수 생성부(550)에 제공하고, 그 결과 값을 일방향 암호화 처리부(570)를 통해 해시 값으로 생성하며, 이러한 해시 값으로부터 제4 자릿수를 갖는 새로운 제3 출력 값을 도출할 수 있다.
이와 같이, 라이선스 키의 제4 단위값을 비교하여 라이선스 허여 기한을 검증하기 위한 과정은, 사용 가능한 라이선스 허여 기한의 최대값(예컨대, 10,000)이 입력될 때까지 반복될 수 있으며, 그때까지 라이선스 키의 제4 단위값과 동일한 제3 출력 값이 도출되지 않는 경우, 잘못된 라이선스 키인 것으로 판단하여, 소프트웨어의 설치 또는 실행 프로세스를 중단시킬 수 있다(S800).
단계 S700에서는, 추출된 내부 네트워크의 대역 정보, 디바이스 개수 정보 및 라이선스 허여 기한 정보를, 상기 솔트 값을 이용하여 암호화시켜 프로세스에 참조될 수 있는 데이터베이스 영역에 저장할 수 있다. 이와 같이, 추출된 라이선스 정보들을 데이터베이스에 저장함으로써, 라이선스 제한 값으로 사용할 수 있다. 또한, 솔트(salt) 값을 암호/복호화할 때 사용했던 개인키로 암호화하여 저장함으로써, 사용자가 데이터베이스의 제한값을 임의로 변경하는 것을 제한할 수 있다.
단계 S800에서는, 추출된 라이선스 정보들에 기초하여 프로세스를 진행하거나 중단할 수 있다. 이와 같이, 라이선스 정보들에 기초하여 설치 프로세스, 실행 프로세스 등이 중단되는 구체적인 과정은 도 9 및 도 10을 참조하여 보다 상세히 설명하도록 한다.
도 9는 본 발명의 일실시예에 따른 내부 네트워크 환경에서 고유한 라이선스 정보를 이용하여 소프트웨어의 무단 설치 및 실행을 제한하는 라이선스 관리 방법에서의 라이선스 검증/제한 방법의 단계 S800의 흐름을 도시한 도면이다. 도 9에 도시된 바와 같이, 본 발명의 일실시예에 따른 내부 네트워크 환경에서 고유한 라이선스 정보를 이용하여 소프트웨어의 무단 설치 및 실행을 제한하는 라이선스 관리 방법에서의 라이선스 검증/제한 방법의 단계 S800은, 제1 디바이스가 사용 중인 내부 네트워크의 대역 정보를 확인하는 단계(S810), 추출된 내부 네트워크의 대역 정보와 사용 중인 내부 네트워크의 대역 정보를 비교하는 단계(S820) 및 추출된 내부 네트워크의 대역 정보와 사용 중인 내부 네트워크의 대역 정보가 불일치하는 경우, 프로세스를 중단하는 단계(S830)를 포함하여 구성될 수 있다.
단계 S810에서는, 제1 디바이스가 사용 중인 내부 네트워크의 대역 정보를 확인할 수 있는데, 이때, 제1 디바이스가 사용 중인 내부 네트워크의 대역 정보는, 사용자의 단말이 실제로 연결되어 있는 네트워크의 대역을 의미한다. 예를 들어, 사용 중인 내부 네트워크의 대역 정보는 예컨대, 192.168.010 등과 같은 9자릿수의 수열로 표현될 수 있다. 이처럼, 사용 중인 내부 네트워크의 대역 정보는 제1 디바이스가 연결되어 있는 네트워크 클래스에 따라 달라질 수 있다.
단계 S820에서는, 추출된 내부 네트워크의 대역 정보와 사용 중인 내부 네트워크의 대역 정보를 비교할 수 있다. 예를 들어, 추출된 내부 네트워크의 대역 정보가 ‘192.168.008’인 경우, 제1 디바이스가 연결되어 사용 중인 내부 네트워크의 대역 정보가 상기 값과 일치하는지 비교할 수 있다.
단계 S830에서는, 추출된 내부 네트워크의 대역 정보와 사용 중인 내부 네트워크의 대역 정보가 불일치하는 경우, 프로세스를 중단할 수 있다. 예를 들어, 추출된 내부 네트워크의 대역 정보가 ‘192.168.008’이고, 제1 디바이스가 실제로 연결되어 사용 중인 내부 네트워크의 대역 정보가 ‘192.168.010’인 경우, 양자의 대역 정보가 일치하지 않음에 따라, 실제로 연결되어 사용 중인 내부 네트워크 대역에 맞지 않은 라이선스를 가진 것으로 보고, 제1 디바이스에서 수행되는 설치 프로세스, 실행 프로세스 등이 중단될 수 있다.
도 10은 본 발명의 일실시예에 따른 내부 네트워크 환경에서 고유한 라이선스 정보를 이용하여 소프트웨어의 무단 설치 및 실행을 제한하는 라이선스 관리 방법에서의 라이선스 검증/제한 방법의 단계 S800의 흐름을 도시한 도면이다. 도 10에 도시된 바와 같이, 본 발명의 일실시예에 따른 내부 네트워크 환경에서 고유한 라이선스 정보를 이용하여 소프트웨어의 무단 설치 및 실행을 제한하는 라이선스 관리 방법에서의 라이선스 검증/제한 방법의 단계 S800은, 제1 디바이스로부터 실행 프로세스가 수행되는 누적 시간을 카운트하는 단계(S840), 카운트된 누적 시간을 라이선스 허여 기한 정보와 비교하는 단계(S850) 및 카운트된 누적 시간이 라이선스 허여 기한 정보를 초과하는 경우, 실행 프로세스를 중단하는 단계(S860)를 포함하여 구성될 수 있다.
단계 S840에서는, 제1 디바이스에서 수행되는 프로세스가 소프트웨어의 실행 프로세스인 경우, 상기 소프트웨어가 실행되어 온 누적 시간을 카운트할 수 있다. 이때, 카운트되는 누적 시간은 제1 디바이스의 개별 시각이 아니라, 상기 소프트웨어가 설치된 때부터 진행되어 온 자체 시간을 의미할 수 있다.
단계 S850에서는, 카운트된 누적 시간을 라이선스 허여 기한 정보와 비교할 수 있다. 예를 들어, 라이선스 허여 기한 정보가 ‘365’인 경우, 상기 소프트웨어의 실행 프로세스가 수행되어온 누적 시간이 365와 같거나, 그보다 크거나 작은지 비교할 수 있다.
단계 S860에서는, 카운트된 누적 시간이 라이선스 허여 기한 정보를 초과하는 경우, 실행 프로세스를 중단할 수 있다. 예를 들어, 라이선스 허여 기한 정보가 ‘365’이고, 상기 소프트웨어의 실행 프로세스가 수행되어온 누적 시간이 ‘366’인 경우, 라이선스 허여 기한을 도과한 것으로 확인됨에 따라, 상기 소프트웨어의 실행 프로세스가 더 이상 유효하지 않도록 중단될 수 있다.
이와 같이, 라이선스 이용 회사 정보, 사용 가능한 내부 네트워크 대역 정보, 라이선스 이용 가능한 디바이스 개수 정보 및 라이선스 허여 기한 정보를 포함하는 초기 정보들을 이용한 라이선스 키를 구성함으로써, 외부 네트워크를 사용하지 않는 내부 네트워크 환경에서 라이선스를 안전하게 관리할 수 있고, 라이선스 관리에 소요되는 비용을 절감할 수 있다.
이상 설명한 본 발명은 본 발명이 속한 기술분야에서 통상의 지식을 가진 자에 의하여 다양한 변형이나 응용이 가능하며, 본 발명에 따른 기술적 사상의 범위는 아래의 특허청구범위에 의하여 정해져야 할 것이다.
500: 라이선스 관리 시스템 510: 입력 변환부
520: 개인키 530: 키 생성 제어부
540, 700: 라이선스 키 550: 난수 생성부
570: 일방향 암호화 처리부
S100: 사용 가능한 내부 네트워크의 대역 정보, 라이선스 이용 가능한 디바이스의 개수 정보, 라이선스 허여 기한 정보 및 라이선스 이용 회사 정보를 포함한 초기 정보들과, 솔트 값을 설정받는 단계
S200: 개인키를 이용하여 암호화한 솔트 값과 초기 정보들을 난수 생성부에 입력하고, 출력된 결과 값들을 일방향 암호 처리부에 입력하여 라이선스 키를 구성하는 해시 값들을 생성하는 단계
S210: 라이선스 이용 회사를 표시하기 위한 제1 자릿수의 문자열을 라이선스 키의 제1 단위값으로 구성하는 단계
S230: 제1 자릿수의 문자열을 아스키코드로 변환하여 제1 입력 값으로 저장하는 단계
S250: 제1 입력 값, 내부 네트워크 대역 정보 및 솔트 값을 난수 생성부에 입력하여 제1 결과 값을 출력하고, 제1 결과 값을 일방향 암호 처리부에 입력하여 생성된 해시 값으로부터 제2 자릿수를 갖는 라이선스 키의 제2 단위값을 구성하는 단계
S270: 라이선스 키의 제2 단위값, 솔트 값 및 라이선스 사용 가능한 디바이스 개수 정보를 난수 생성부에 입력하여 제2 결과 값을 출력하고, 제2 결과 값을 일방향 암호 처리부에 입력하여 생성된 해시 값으로부터 제3 자릿수를 갖는 라이선스 키의 제3 단위값을 구성하는 단계
S290: 라이선스 키의 제3 단위값, 솔트 값 및 라이선스 허여 기한 정보를 난수 생성부에 입력하여 제3 결과 값을 출력하고, 제3 결과 값을 일방향 암호 처리부에 입력하여 생성된 해시 값으로부터 제4 자릿수를 갖는 라이선스 키의 제4 단위값을 구성하는 단계
S300: 라이선스 키를 내부 네트워크에 연결되는 디바이스에 전달하는 단계
S500: 사용 가능한 내부 네트워크의 대역 정보, 라이선스 이용 가능한 디바이스의 개수 정보 및 라이선스 허여 기한 정보를 포함하는 초기 정보들이 개인키를 이용하여 암호화된 솔트 값에 의해 암호화된, 제1 라이선스 키를 라이선스 관리 시스템으로부터 발급받는 단계
S600: 미리 설정된 프로세스의 진행 여부를 판단하기 위하여 제1 라이선스 키에 대응하는 제2 라이선스 키를 입력 받고, 제2 라이선스 키를 사용하여초기 정보들에 대응하는 라이선스 정보들을 추출하는 단계
S610: 제1 자릿수의 문자열을 입력받는 단계
S620: 입력된 문자열의 아스키코드 변환 값, 개인키 및 사용 중인 내부 네트워크 정보에 기초하여 제1 출력 값을 생성하고, 제1 출력 값을 이용하여 사용 가능한 내부 네트워크의 대역 정보를 추출하는 단계
S630: 제1 출력 값, 개인키 및 라이선스 사용 카운트 값에 기초하여 제2 출력 값을 생성하고, 제2 출력 값을 이용하여 라이선스 이용 가능한 디바이스의 개수 정보를 추출하는 단계
S640: 제2 출력 값, 개인키 및 라인선스 사용 기한 값에 기초하여 제3 출력 값을 생성하고, 제3 출력 값을 이용하여 라이선스 허여 기한 정보를 추출하는 단계
S700: 추출된 내부 네트워크의 대역 정보, 디바이스 개수 정보 및 라이선스 허여 기한 정보를, 상기 개인키를 이용하여 암호화시켜 프로세스에 참조될 수 있는 데이터베이스 영역에 저장하는 단계
S800: 추출된 라이선스 정보들에 기초하여 프로세스를 진행하거나 중단하는 단계
S810: 제1 디바이스가 사용 중인 내부 네트워크의 대역 정보를 확인하는 단계
S820: 추출된 내부 네트워크의 대역 정보와 사용 중인 내부 네트워크의 대역 정보를 비교하는 단계
S830: 추출된 내부 네트워크의 대역 정보와 사용 중인 내부 네트워크의 대역 정보가 불일치하는 경우, 프로세스를 중단하는 단계
S840: 제1 디바이스로부터 실행 프로세스가 수행되는 누적 시간을 카운트하는 단계
S850: 카운트된 누적 시간을 라이선스 허여 기한 정보와 비교하는 단계
S860: 카운트된 누적 시간이 라이선스 허여 기한 정보를 초과하는 경우, 실행 프로세스를 중단하는 단계

Claims (10)

  1. 외부 네트워크 환경에 연결되지 않은 라이선스 관리 시스템이,
    (1) 사용 가능한 내부 네트워크의 대역 정보, 라이선스 이용 가능한 디바이스의 개수 정보 및 라이선스 허여 기한 정보를 포함하는 초기 정보들 및 라이선스 발급을 위한 솔트 값을 설정 받는 단계;
    (2) 개인키를 이용하여 암호화한 상기 솔트 값과 상기 설정된 초기 정보들을 난수 생성부에 입력하고, 상기 난수 생성부로부터 출력된 결과 값들을 일방향 암호 처리부에 입력하여, 라이선스 키를 구성하기 위한 해시 값들을 생성하는 단계; 및
    (3) 상기 라이선스 키를 상기 내부 네트워크에 연결되는 디바이스에 전달하는 단계를 포함하는 것을 특징으로 하는 내부 네트워크 환경에서 고유한 라이선스 정보를 이용하여 소프트웨어의 무단 설치 및 실행을 제한하는 라이선스 관리 방법.
  2. 제1항에 있어서, 상기 단계 (1)에서,
    상기 초기 정보들은, 라이선스 이용 회사를 표시하기 위한 미리 설정된 제1 자릿수의 문자열을 더 포함하는 것을 특징으로 하는, 내부 네트워크 환경에서 고유한 라이선스 정보를 이용하여 소프트웨어의 무단 설치 및 실행을 제한하는 라이선스 관리 방법.
  3. 제2항에 있어서, 상기 단계 (2)는,
    (2-1) 상기 제1 자릿수의 문자열을 라이선스 키의 제1 단위값으로 구성하는 단계;
    (2-2) 입력 변환부를 통해 상기 제1 자릿수의 문자열을 아스키코드로 변환하여 제1 입력 값으로 저장하는 단계; 및
    (2-3) 상기 제1 입력 값, 상기 내부 네트워크의 대역 정보 및 상기 솔트 값을 상기 난수 생성부에 입력하여 제1 결과 값을 출력하고, 상기 제1 결과 값을 상기 일방향 암호 처리부에 입력하여 생성된 해시 값으로부터 미리 설정된 제2 자릿수를 갖는 라이선스 키의 제2 단위값을 구성하는 단계를 더 포함하는 것을 특징으로 하는, 내부 네트워크 환경에서 고유한 라이선스 정보를 이용하여 소프트웨어의 무단 설치 및 실행을 제한하는 라이선스 관리 방법.
  4. 제3항에 있어서, 상기 단계 (2)는,
    (2-4) 상기 라이선스 키의 제2 단위값, 상기 솔트 값 및 상기 라이선스 이용 가능한 디바이스의 개수 정보를 상기 난수 생성부에 입력하여 제2 결과 값을 출력하고, 상기 제2 결과 값을 상기 일방향 암호 처리부에 입력하여 생성된 해시 값으로부터 미리 설정된 제3 자릿수를 갖는 라이선스 키의 제3 단위값을 구성하는 단계를 더 포함하는 것을 특징으로 하는, 내부 네트워크 환경에서 고유한 라이선스 정보를 이용하여 소프트웨어의 무단 설치 및 실행을 제한하는 라이선스 관리 방법.
  5. 제4항에 있어서, 상기 단계 (2)는,
    (2-5) 상기 라이선스 키의 제3 단위값, 상기 솔트 값 및 상기 라이선스 허여 기한 정보를 상기 난수 생성부에 입력하여 제3 결과 값을 출력하고, 상기 제3 결과 값을 상기 일방향 암호 처리부에 입력하여 생성된 해시 값으로부터 미리 설정된 제4 자릿수를 갖는 라이선스 키의 제4 단위값을 구성하는 단계를 더 포함하는 것을 특징으로 하는, 내부 네트워크 환경에서 고유한 라이선스 정보를 이용하여 소프트웨어의 무단 설치 및 실행을 제한하는 라이선스 관리 방법.
  6. 외부 네트워크에 연결되지 않은 라이선스 관리 시스템에 대하여 내부 네트워크를 통해 연결되는 제1 디바이스가,
    (1) 사용 가능한 내부 네트워크의 대역 정보, 라이선스 이용 가능한 디바이스의 개수 정보 및 라이선스 허여 기한 정보를 포함하는 초기 정보들이 개인키를 이용하여 암호화된 솔트 값과 함께 입력된, 제1 라이선스 키를 상기 라이선스 관리 시스템으로부터 발급받는 단계;
    (2) 미리 설정된 프로세스의 진행 여부를 판단하기 위하여 상기 제1 라이선스 키에 대응하는 제2 라이선스 키를 입력 받는 단계;
    (3) 상기 제2 라이선스 키를 사용하여 상기 초기 정보들에 대응하는 라이선스 정보들을 추출하는 단계; 및
    (4) 상기 추출된 라이선스 정보들에 기초하여 상기 프로세스를 진행하거나 중단하는 단계를 포함하고,
    상기 추출된 라이선스 정보들은,
    상기 내부 네트워크의 대역 정보, 상기 디바이스의 개수 정보 및 상기 라이선스 허여 기한 정보를 포함하는 것을 특징으로 하는 내부 네트워크 환경에서 고유한 라이선스 정보를 이용하여 소프트웨어의 무단 설치 및 실행을 제한하는 라이선스 관리 방법.
  7. 제6항에 있어서, 상기 단계 (4)는,
    (4-1) 상기 제1 디바이스가 사용 중인 내부 네트워크의 대역 정보를 확인하는 단계;
    (4-2) 상기 추출된 내부 네트워크의 대역 정보와 상기 사용 중인 내부 네트워크의 대역 정보를 비교하는 단계; 및
    (4-3) 상기 추출된 내부 네트워크의 대역 정보와 상기 사용 중인 내부 네트워크의 대역 정보가 불일치하는 경우, 상기 프로세스를 중단하는 단계를 포함하는 것을 특징으로 하는, 내부 네트워크 환경에서 고유한 라이선스 정보를 이용하여 소프트웨어의 무단 설치 및 실행을 제한하는 라이선스 관리 방법.
  8. 제6항에 있어서,
    상기 프로세스는 실행 프로세스를 포함하고,
    상기 단계 (4)는,
    (4-a) 상기 제1 디바이스로부터 상기 실행 프로세스가 수행되는 누적 시간을 카운트하는 단계;
    (4-b) 상기 카운트된 누적 시간을 상기 라이선스 허여 기한 정보와 비교하는 단계; 및
    (4-c) 상기 카운트된 누적 시간이 상기 라이선스 허여 기한 정보를 초과하는 경우, 상기 실행 프로세스를 중단하는 단계를 포함하는 것을 특징으로 하는, 내부 네트워크 환경에서 고유한 라이선스 정보를 이용하여 소프트웨어의 무단 설치 및 실행을 제한하는 라이선스 관리 방법.
  9. 제6항에 있어서, 상기 단계 (3) 이후에,
    (3-1) 상기 추출된 내부 네트워크의 대역 정보, 디바이스의 개수 정보 및 라이선스 허여 기한 정보를, 상기 개인키를 이용하여 암호화시켜 상기 프로세스에 참조될 수 있는 데이터베이스 영역에 저장하는 단계를 더 포함하는 것을 특징으로 하는, 내부 네트워크 환경에서 고유한 라이선스 정보를 이용하여 소프트웨어의 무단 설치 및 실행을 제한하는 라이선스 관리 방법.
  10. 삭제
KR1020140181395A 2014-12-16 2014-12-16 내부 네트워크 환경에서 고유한 라이선스 정보를 이용하여 소프트웨어의 무단 설치 및 실행을 제한하는 라이선스 관리 방법 및 이를 수행하는 라이선스 관리 시스템 KR101525887B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140181395A KR101525887B1 (ko) 2014-12-16 2014-12-16 내부 네트워크 환경에서 고유한 라이선스 정보를 이용하여 소프트웨어의 무단 설치 및 실행을 제한하는 라이선스 관리 방법 및 이를 수행하는 라이선스 관리 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140181395A KR101525887B1 (ko) 2014-12-16 2014-12-16 내부 네트워크 환경에서 고유한 라이선스 정보를 이용하여 소프트웨어의 무단 설치 및 실행을 제한하는 라이선스 관리 방법 및 이를 수행하는 라이선스 관리 시스템

Publications (1)

Publication Number Publication Date
KR101525887B1 true KR101525887B1 (ko) 2015-06-03

Family

ID=53505337

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140181395A KR101525887B1 (ko) 2014-12-16 2014-12-16 내부 네트워크 환경에서 고유한 라이선스 정보를 이용하여 소프트웨어의 무단 설치 및 실행을 제한하는 라이선스 관리 방법 및 이를 수행하는 라이선스 관리 시스템

Country Status (1)

Country Link
KR (1) KR101525887B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101661933B1 (ko) * 2015-12-16 2016-10-05 주식회사 코인플러그 블록체인을 기반으로 하는 공인인증서 인증시스템 및 이를 이용한 인증방법
KR101661930B1 (ko) * 2015-08-03 2016-10-05 주식회사 코인플러그 블록체인을 기반으로 하는 공인인증서 발급시스템
KR102393537B1 (ko) * 2021-01-12 2022-05-04 주식회사 티이이웨어 신뢰실행환경에 기반한 소프트웨어 라이선스 관리 방법 및 시스템

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050111326A (ko) * 2003-02-21 2005-11-24 마츠시타 덴끼 산교 가부시키가이샤 소프트웨어 관리 시스템, 기록 매체, 및 정보-처리 장치
JP2008017378A (ja) * 2006-07-10 2008-01-24 Xanavi Informatics Corp ライセンス発行装置、ライセンス検証装置、ライセンス発行方法、およびプログラム
KR100874240B1 (ko) * 2008-03-25 2008-12-16 주식회사 테라자인 정품인증 시스템 및 그 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050111326A (ko) * 2003-02-21 2005-11-24 마츠시타 덴끼 산교 가부시키가이샤 소프트웨어 관리 시스템, 기록 매체, 및 정보-처리 장치
JP2008017378A (ja) * 2006-07-10 2008-01-24 Xanavi Informatics Corp ライセンス発行装置、ライセンス検証装置、ライセンス発行方法、およびプログラム
KR100874240B1 (ko) * 2008-03-25 2008-12-16 주식회사 테라자인 정품인증 시스템 및 그 방법

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101661930B1 (ko) * 2015-08-03 2016-10-05 주식회사 코인플러그 블록체인을 기반으로 하는 공인인증서 발급시스템
WO2017022917A1 (ko) * 2015-08-03 2017-02-09 (주)코인플러그 블록체인을 기반으로 하는 공인인증서 발급시스템
US11082420B2 (en) 2015-08-03 2021-08-03 Coinplug, Inc. Certificate issuing system based on block chain
KR101661933B1 (ko) * 2015-12-16 2016-10-05 주식회사 코인플러그 블록체인을 기반으로 하는 공인인증서 인증시스템 및 이를 이용한 인증방법
KR102393537B1 (ko) * 2021-01-12 2022-05-04 주식회사 티이이웨어 신뢰실행환경에 기반한 소프트웨어 라이선스 관리 방법 및 시스템

Similar Documents

Publication Publication Date Title
US9467293B1 (en) Generating authentication codes associated with devices
US10348706B2 (en) Assuring external accessibility for devices on a network
CN104798083B (zh) 用于验证访问请求的方法和系统
US10904256B2 (en) External accessibility for computing devices
US9580295B2 (en) Systems and methods for fuel dispenser security
CN103780379A (zh) 密码加密方法和系统以及密码校验方法和系统
CN104321776A (zh) 具有嵌入式授权属性的离线认证
KR101525887B1 (ko) 내부 네트워크 환경에서 고유한 라이선스 정보를 이용하여 소프트웨어의 무단 설치 및 실행을 제한하는 라이선스 관리 방법 및 이를 수행하는 라이선스 관리 시스템
US9139414B2 (en) Systems and methods for fuel dispenser security
CN109995712A (zh) 数据加解密方法、装置、设备及介质
CN109743174A (zh) 电力监测安全管控系统程序更新的监管方法
CN106790138A (zh) 一种政务云应用用户登录双因子验证的方法
CN104112223A (zh) 基于安全密钥的离线开票方法
CN114741704A (zh) 一种基于婚恋交友的隐私保护方法、装置、设备及介质
CN111818087A (zh) 区块链的节点接入方法、装置、设备及可读存储介质
CN109644137B (zh) 具有签名消息的基于令牌的认证的方法
AU2020204174B2 (en) Assuring external accessibility for devices on a network
CN108235807B (zh) 软件加密终端、支付终端、软件包加密及解密方法及系统
CN106919846B (zh) 一种消息中间件处理方法和系统
CN109523258A (zh) Pos用户公钥安全认证方法、装置和终端设备
CN116232634B (zh) 跨域动态口令身份安全认证系统及方法
KR101296402B1 (ko) 암호화된 시드를 이용한 모바일 오티피 장치의 등록 방법
CN116192385A (zh) 秘钥管理方法、装置、设备及存储介质
CA3236109A1 (en) User authentication in an industrial system
CN115643061A (zh) 微服务网关鉴权方法、装置、设备及介质

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20181022

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190320

Year of fee payment: 5