KR20110105982A - 원격 사용자 인증 방법 및 시스템 - Google Patents

원격 사용자 인증 방법 및 시스템 Download PDF

Info

Publication number
KR20110105982A
KR20110105982A KR1020100025146A KR20100025146A KR20110105982A KR 20110105982 A KR20110105982 A KR 20110105982A KR 1020100025146 A KR1020100025146 A KR 1020100025146A KR 20100025146 A KR20100025146 A KR 20100025146A KR 20110105982 A KR20110105982 A KR 20110105982A
Authority
KR
South Korea
Prior art keywords
host
sub device
host computer
authentication server
key
Prior art date
Application number
KR1020100025146A
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 KR1020100025146A priority Critical patent/KR20110105982A/ko
Publication of KR20110105982A publication Critical patent/KR20110105982A/ko

Links

Images

Classifications

    • 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
    • H04L9/3234Cryptographic 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 involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
    • 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
    • H04L9/321Cryptographic 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 involving a third party or a trusted authority
    • 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
    • H04L9/3236Cryptographic 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 using cryptographic hash functions

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Telephonic Communication Services (AREA)

Abstract

본 발명의 원격 사용자 인증 시스템은 서브 장치와 링크되는 호스트 컴퓨터와 인증 서버를 포함한다. 인증 서버는 호스트 컴퓨터로부터 전송된 호스트 컴퓨터의 호스트 구성 정보 및 서브 장치의 서브 장치 구성 정보에 기초하여 호스트 컴퓨터 및 서브 장치를 각각 고유하게 식별할 수 있는 호스트 ID 및 서브 장치 ID를 각각 생성 및 저장하고 또한 상기 호스트 컴퓨터에 각각 전송한다. 호스트 컴퓨터는 인증 서버로부터 전송된 호스트 ID 및 서브 장치 ID를 각각 저장한다. 인증 서버는 호스트 컴퓨터로부터 인증을 위해 전송되는 호스트 ID 및 서브 장치 ID와, 인증 서버에 저장된 호스트 ID 및 서브 장치 ID를 기초로, 호스트 컴퓨터 및 서브 장치를 각각 인증한다.

Description

원격 사용자 인증 방법 및 시스템{METHOD AND SYSTEM FOR MANAGING REMOTELY USER'S ID AND PASSWORD}
본 발명은 원격 지원에 관한 것으로, 더욱 상세하게는, 원격으로 사용자를 인증하는 방법 및 시스템에 관한 것이다.
현대인들은 일상적으로 다양한 네트워크에 접속하여 다양한 활동을 네트워크를 통해 경험한다. 하지만 다양한 네트워크를 통해 이메일이나 SNS, 포털 사이트들, 학교나 회사 인트라넷, 나아가 정부 기관의 공공 서비스, 금융 서비스를 이용하고자 할 때에, 그러한 서비스를 제공하는 네트워크들은 본인 인증을 요구하는 것이 통상적이다.
현재의 사용자 인증 방식은 사용자의 공적 식별 번호와 같은 공적 정보 및 이메일 주소와 패스워드 같은 사적 정보를 입력하거나, 사용자가 적법한 인증서 또는 토큰을 소지하고 적법한 패스워드를 입력하는지 체크하는 방식이 대부분이다. 그 밖에 휴대전화나 신용카드가 보통 본인 확인이 이루어진 후에 개통 내지 발급된다는 점을 이용하여 사용자의 휴대전화에 인증번호를 포함한 SMS를 송신하여 입력하게 한다거나 소지한 신용카드 정보를 입력하게 하는 방식이 이용되기도 한다.
이러한 종래의 사용자 인증 방식은 장점도 있지만 각각의 단점도 가지고 있다. 예를 들어, 공적 정보 또는 사적 정보를 입력하는 방식은 정보 유출만으로 본인 인증이 무력화될 수 있다. 인증서 방식은 공적 정보나 사적 정보를 기초로 발급되는 인증서를 기초로 하므로, 유출된 공적 정보나 사적 정보를 이용한다면 인증서를 발급하는 측에서는 인증서의 부정 발급을 파악할 수 없다. 또한 법인의 경우와 같이 적법한 소유자(법인)가 패스워드를 아는 직원을 완전하게 통제할 수 없는 경우에 무력하다. 휴대전화나 신용카드를 이용하는 방식은 법인의 경우에는 활용할 수 없다.
본 발명이 해결하고자 하는 과제는 인증 정보가 유출되어도 안전한 사용자 인증 방법 및 시스템을 제공하는 데에 있다.
본 발명의 일 측면에 따른 원격 사용자 인증 시스템은,
서브 장치와 링크되는 호스트 컴퓨터; 및
상기 호스트 컴퓨터로부터 전송된 상기 호스트 컴퓨터의 호스트 구성 정보 및 상기 서브 장치의 서브 장치 구성 정보에 기초하여 상기 호스트 컴퓨터 및 상기 서브 장치를 각각 고유하게 식별할 수 있는 호스트 ID 및 서브 장치 ID를 각각 생성 및 저장하고 또한 상기 호스트 컴퓨터에 각각 전송하는 인증 서버를 포함하며,
상기 호스트 컴퓨터는 상기 인증 서버로부터 전송된 상기 호스트 ID 및 상기 서브 장치 ID를 각각 저장할 수 있다.
일부 실시예에서, 상기 호스트 구성 정보 및 상기 서브 장치 구성 정보는
상기 호스트 컴퓨터 및 상기 서브 장치 각각의 하드웨어 구성 또는 소프트웨어 구성 중 적어도 어느 한 가지 구성에 기초하여 각각 생성될 수 있다.
일부 실시예에서, 상기 인증 서버는
인증을 위해 상기 호스트 컴퓨터로부터 전송되는 상기 호스트 ID 및 서브 장치 ID와 상기 인증 서버에서 검색된 호스트 ID 및 서브 장치 ID를 기초로, 상기 호스트 컴퓨터 및 상기 서브 장치를 각각 인증하도록 동작할 수 있다.
일부 실시예에서, 상기 인증 서버는
상기 호스트 구성 정보 및 서브 장치 구성 정보로부터 소정의 해시(hash) 알고리즘을 통해 각각 얻은 호스트 키(key) 및 서브 장치 키에 적어도 시간 정보를 각각 추가하고, 해시 알고리즘을 거쳐 상기 호스트 ID 및 상기 서브 장치 ID를 각각 생성하며,
상기 호스트 키 및 상기 서브 장치 키를 각각 상기 호스트 ID 및 서브 장치 ID와 관련하여 저장하도록 동작할 수 있다.
일부 실시예에서, 상기 인증 서버는
상기 호스트 컴퓨터로부터 전송된 상기 호스트 ID 및 상기 서브 장치 ID에 관련하여 상기 인증 서버에 저장된 상기 호스트 키 및 상기 서브 장치 키를 검색하고,
상기 호스트 ID 및 상기 서브 장치 ID로부터 각각 호스트 키 및 서브 장치 키를 재구성하며,
상기 검색된 호스트 키 및 서브 장치 키와 상기 재구성된 호스트 키 및 서브 장치 키를 각각 대비하여 동일하면 인증하도록 동작할 수 있다.
본 발명의 다른 측면에 따른, 서브 장치와 링크되는 호스트 컴퓨터를 원격으로 인증하는 인증 서버를 이용한 원격 사용자 인증 방법에 있어서,
상기 호스트 컴퓨터가 상기 호스트 컴퓨터의 호스트 구성 정보 및 상기 서브 장치의 서브 장치 구성 정보를 상기 인증 서버에 전송하는 단계; 및
상기 호스트 컴퓨터의 호스트 구성 정보 및 상기 서브 장치의 서브 장치 구성 정보에 기초하여 상기 호스트 컴퓨터 및 상기 서브 장치를 각각 고유하게 식별할 수 있도록 상기 인증 서버에서 생성된 호스트 ID 및 서브 장치 ID를 상기 호스트 컴퓨터가 수신 및 저장하는 단계를 포함할 수 있다.
일부 실시예에서, 상기 호스트 구성 정보 및 상기 서브 장치 구성 정보는
상기 호스트 컴퓨터 및 상기 서브 장치 각각의 하드웨어 구성 또는 소프트웨어 구성 중 적어도 어느 한 가지 구성에 기초하여 각각 생성될 수 있다.
일부 실시예에서, 상기 원격 사용자 인증 방법은,
인증을 위해 상기 호스트 컴퓨터에 저장된 상기 호스트 ID 및 상기 서브 장치 ID를 상기 인증 서버로 전송하는 단계; 및
상기 전송된 호스트 ID 및 서브 장치 ID와 상기 인증 서버에서 검색된 호스트 ID 및 서브 장치 ID를 기초로 상기 호스트 컴퓨터 및 상기 서브 장치를 상기 인증 서버가 각각 인증한 결과를 상기 호스트 컴퓨터가 상기 인증 서버로부터 수신하는 단계를 더 포함할 수 있다.
본 발명의 다른 측면에 따른 컴퓨터로 읽을 수 있는 기록 매체는,
인증 서버에 의해 원격으로 인증되며 서브 장치를 링크시킬 수 있는 호스트 컴퓨터를,
상기 호스트 컴퓨터의 호스트 구성 정보를 생성하고 저장하고, 상기 호스트 구성 정보로부터 소정의 해시 알고리즘을 통해 호스트 키를 생성하며, 상기 인증 서버로부터 상기 호스트 컴퓨터를 고유하게 식별할 수 있는 호스트 ID를 수신하여 저장하고, 인증을 위해 상기 호스트 ID를 상기 인증 서버에 전송하는 호스트 관리 수단; 및
상기 서브 장치의 서브 장치 구성 정보를 생성하고 저장하고, 상기 서브 장치 구성 정보로부터 소정의 해시 알고리즘을 통해 서브 장치 키를 생성하며, 상기 인증 서버로부터 상기 서브 장치를 고유하게 식별할 수 있는 서브 장치 ID를 수신하여 저장하고, 인증을 위해 상기 서브 장치 ID를 상기 인증 서버에 전송하는 서브 장치 관리 수단으로 기능시킬 수 있는 프로그램을 수록한 기록 매체일 수 있다.
일부 실시예에서, 상기 기록 매체는 상기 서브 장치 내에 내장되어 상기 서브 장치가 상기 호스트 컴퓨터에 링크되면 상기 기록 매체에 수록된 상기 프로그램이 상기 호스트 컴퓨터에서 실행될 수 있다.
본 발명의 또 다른 측면에 따른, 서브 장치와 링크되는 호스트 컴퓨터를 원격으로 인증하는 인증 서버를 이용한 원격 사용자 인증 방법에 있어서,
상기 인증 서버가, 상기 호스트 컴퓨터로부터 전송된 상기 호스트 컴퓨터의 호스트 구성 정보 및 상기 서브 장치의 서브 장치 구성 정보에 기초하여 상기 호스트 컴퓨터 및 상기 서브 장치를 각각 고유하게 식별할 수 있는 호스트 ID 및 서브 장치 ID를 각각 생성 및 저장하는 단계; 및
상기 인증 서버가 상기 호스트 ID 및 서브 장치 ID를 각각 상기 호스트 컴퓨터에 전송하는 단계를 포함할 수 있다.
일부 실시예에서, 상기 호스트 구성 정보 및 상기 서브 장치 구성 정보는 상기 호스트 컴퓨터 및 상기 서브 장치 각각의 하드웨어 구성 또는 소프트웨어 구성 중 적어도 어느 한 가지 구성에 기초하여 각각 생성될 수 있다.
일부 실시예에서, 상기 원격 사용자 인증 방법은,
상기 인증 서버가, 상기 호스트 컴퓨터로부터 인증을 위해 전송되는 상기 호스트 컴퓨터에 저장된 상기 호스트 ID 및 서브 장치 ID와 상기 인증 서버에 저장된 호스트 ID 및 서브 장치 ID를 기초로 상기 호스트 컴퓨터 및 상기 서브 장치를 각각 인증하는 단계를 더 포함할 수 있다.
일부 실시예에서, 상기 원격 사용자 인증 방법은
상기 인증 서버가 상기 호스트 구성 정보 및 서브 장치 구성 정보로부터 소정의 해시 알고리즘을 통해 각각 얻은 호스트 키 및 서브 장치 키에 적어도 시간 정보를 각각 추가하고 다시 해시 알고리즘을 거쳐 상기 호스트 ID 및 상기 서브 장치 ID를 각각 생성하는 단계; 및
상기 인증 서버가 상기 호스트 키 및 상기 서브 장치 키를 각각 상기 호스트 ID 및 서브 장치 ID와 관련하여 저장하는 단계를 더 포함할 수 있다.
일부 실시예에서, 상기 인증 서버가 상기 호스트 컴퓨터 및 상기 서브 장치를 각각 인증하는 단계는,
상기 인증 서버가, 상기 호스트 컴퓨터로부터 전송된 상기 호스트 ID 및 상기 서브 장치 ID에 관련하여 상기 인증 서버에 저장된 상기 호스트 키 및 상기 서브 장치 키를 검색하는 단계;
상기 인증 서버가, 상기 호스트 ID 및 상기 서브 장치 ID로부터 각각 호스트 키 및 서브 장치 키를 재구성하는 단계; 및
상기 인증 서버가, 상기 검색된 호스트 키 및 서브 장치 키와 상기 재구성된 호스트 키 및 서브 장치 키를 각각 대비하여 동일하면 인증하는 단계를 포함할 수 있다.
본 발명의 원격 사용자 인증 방법 및 시스템에 따르면, 인증 정보가 유출되어도 상대적으로 안전하고, 인증 절차가 간단하며, 법인에서도 쉽게 사용할 수 있다.
본 발명에 따르면, 사용자는 자신이 사용하는 호스트 컴퓨터에 자신이 소유한 USB 메모리와 같은 서브 장치를 접속시키는 것만으로 본인 인증을 할 수 있다.
만약 타인이 그 USB 메모리를 절취하더라도 호스트 컴퓨터에서 사용하지 않으면 본인 인증을 받을 수 없고, 인증 서버를 운영하는 측에서는 절취 사실을 보고받고 도난당한 USB 장치의 인증을 거부하도록 조치할 수 있다.
도 1은 본 발명의 일 실시예에 따른 원격 사용자 인증 시스템을 예시한 개념도이다.
도 2는 본 발명의 일 실시예에 따른 원격 사용자 인증을 위한 호스트 컴퓨터 및 서브 장치의 전체적인 등록 및 인증 방법을 간략히 예시한 순서도이다.
도 3은 본 발명의 일 실시예에 따른 원격 사용자 인증 시스템에서 호스트 컴퓨터 정보를 서버에 등록하는 프로세스를 예시한 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 원격 사용자 인증 시스템에서 호스트 컴퓨터를 인증하는 프로세스를 예시한 흐름도이다.
도 5는 본 발명의 일 실시예에 따른 원격 사용자 인증 시스템에서 서브 장치 정보를 서버에 등록하는 프로세스를 예시한 흐름도이다.
도 6은 본 발명의 일 실시예에 따른 원격 사용자 인증 시스템에서 서브 장치를 인증하는 프로세스를 예시한 흐름도이다.
도 7은 본 발명의 일 실시예에 따른 원격 사용자 인증 시스템에서 사전에 등록된 서브 장치의 인증 정보를 사용자가 휴대 전화를 이용하여 호스트 컴퓨터에 내려받는 임시 인증 프로세스를 예시한 흐름도이다.
도 8은 본 발명의 일 실시예에 따른 원격 사용자 인증 시스템의 인증 어플리케이션을 예시한 블록도이다.
본문에 개시되어 있는 본 발명의 실시예들에 대해서, 특정한 구조적 내지 기능적 설명들은 단지 본 발명의 실시예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 실시예들은 다양한 형태로 실시될 수 있으며 본문에 설명된 실시예들에 한정되는 것으로 해석되어서는 아니 된다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 본 발명의 일 실시예에 따른 원격 사용자 인증 시스템을 예시한 개념도이다.
도 1을 참조하면, 원격 사용자 인증 시스템(10)은 호스트 컴퓨터(11), 서브 장치(12), 인증 서버(13), 네트워크(14)로 구성된다.
원격 사용자 인증 시스템(10)은 호스트 컴퓨터(11)를 사용하는 사용자가 인증 서버(13)에 호스트 컴퓨터(11) 및 서브 장치(12)를 등록시킨 후에 호스트 컴퓨터(11)와 서브 장치(12)를 이용하여 자신이 적법한 사용자임을 인증 서버(13)에 대해 인증받는 시스템이다.
호스트 컴퓨터(11)는 사용자가 사용자 인증을 요구하는 서비스, 예를 들어 포털 접속, 이메일, 파일 서버 접속, ERP, 전자 결재, 금융 서비스, 전자 정부 서비스 등의 네트워크 서비스를 이용하기 위해 사용하는 컴퓨터 장치이다. 호스트 컴퓨터(11)는 CPU(111), 메모리(112), 스토리지(113), 외부기기 인터페이스(114) 및 네트워크 인터페이스(115)가 회로 기판(116) 상에 형성되거나 연결되어 있다. 인증 어플리케이션(117)은 메모리(112)에 로딩되어 있거나 스토리지(113)에 저장되어 있을 수 있다. 네트워크 인터페이스(115)는 네트워크(14)에 항시적으로 연결되어 있을 수 있다.
호스트 컴퓨터(11)의 CPU(111), 메모리(112), 스토리지(113), 네트워크 인터페이스(115), 회로 기판(116) 등은 각각 부품, 반제품, 또는 완제품으로 거래되는 상품으로서, 각 상품의 제조자, 상품 정보, 고유한 시리얼 번호 등을 가지고 있다. 나아가 호스트 컴퓨터(11)에 설치된 OS(Operating System)와 같은 소프트웨어에 관하여, 라이센스 번호, 설치 정보, 활성(activation) 번호, 레지스트리, 사용자 계정 정보 등 다양한 고유 정보가 존재한다. 이러한 고유 정보들은 구성품을 교체하거나 OS를 재설치하지 않는 한 통상적으로 변경되지 않는다. 완전히 똑같은 하드웨어로 제조하더라도 제품 일련번호, 네트워크 인터페이스의 MAC 어드레스, IP 어드레스 등은 다를 수 밖에 없다.
메모리(112)에는 인증 어플리케이션(117)이 로딩될 수 있다. 인증 어플리케이션(117)은 시스템의 부팅, 사용자 지시, 또는 서브 장치(12)의 접속에 따른 자동 실행과 같은 이벤트에 의해 로딩 및 구동될 수 있다.
스토리지(113)에는 인증 어플리케이션(117)이 생성한 호스트 구성 정보 및 서브 장치 구성 정보와, 이러한 구성 정보들로부터 생성된 호스트 키(key) 및 서브 장치 키, 인증 서버(13)로부터 전달받은 호스트 ID 및 서브 장치 ID가 저장될 수 있다.
이때, 상기 호스트 구성 정보 및 서브 장치 구성 정보는 하드웨어 구성 또는 소프트웨어 구성에 관한 데이터들을 조합하여 만드는 정보이기 때문에, 그 구성이 변하지 않는 한 그 값이 유지된다.
호스트 키 및 서브 장치 키는 그러한 구성 정보를 소정의 해시 알고리즘, 예를 들어 MD5, SHA와 같은 해쉬 알고리즘(hash algorithm)에 의해 생성될 수 있다. 해시 알고리즘은 원본 데이터를 자르고 치환하거나 위치를 바꾸는 방법을 사용하여 원본 데이터에 대한 일종의 짧은 전자 지문 정보, 즉 해시 값을 생성하는 알고리즘으로서, 일반적으로 원본 데이터에 대해 고유한 해시 값을 생성할 수 있고 해시 값이 다르면 원본 데이터도 다르다고 할 수 있다. 이러한 해시 값은 키(key)라고도 한다.
나아가, ID는 그러한 구성 정보에 부여된 식별 부호로서, 적어도 소정의 정해진 기간 동안에는 그 ID에 관련된 구성 정보를 유일하게 식별할 수 있는 값이다. ID는 상기 구성 정보에 등록 시각 등의 부가 정보를 추가한 다음 소정의 해시 알고리즘을 통해 생성될 수 있다. ID는 호스트 컴퓨터(11)의 요청 또는 인증 서버(13) 자체 판단에 따라 상기 구성 정보를 기초로 언제라도 새로 생성할 수 있다.
외부기기 인터페이스(114)는 예를 들어 USB(universal serial bus), IEEE 1394, e-SATA, RS232와 같은 유선 접속 인터페이스, 또는 블루투스, WLAN, 적외선 통신(IrDA), RFID, ZigBee(IEEE 802.15.4), 2.4GHz ISM 무선 링크 등과 같은 무선 접속 인터페이스일 수 있다.
서브 장치(12)는 사용자가 자신의 인증을 위해 호스트 컴퓨터(11)에 링크시키는 장치이다. 서브 장치(12)는 컨트롤러(121) 및 외부기기 인터페이스(122)를 포함하며, 실시예에 따라서 스토리지(123)를 더 포함할 수 있다. 스토리지(123)는 인증 어플리케이션(124)이 저장되어 있을 수 있다. 외부기기 인터페이스(122)는 호스트 컴퓨터(11)의 외부기기 인터페이스(114)에 대응한 유선 접속 또는 무선 접속 인터페이스일 수 있고, 호스트 컴퓨터(11)의 외부기기 인터페이스(114)에 연결되어 서브 장치(12)와 호스트 컴퓨터(11) 사이의 데이터 링크를 제공한다. 서브 장치(12)의 컨트롤러(121) 또한 부품이나 반제품으로 거래되는 상품으로서, 제조자, 상품 정보, 고유 시리얼 번호를 가진다. 서브 장치(12)는 스토리지(123)를 더 포함할 경우에는, 스토리지(123)를 구성하는 비휘발성 메모리 칩 등에 대해서도 고유 정보를 가질 수 있다.
인증 어플리케이션(124)은 임의의 호스트 컴퓨터(11)에서 실행될 수 있도록 서브 장치(12)에 설치된 상태로 배포될 수 있다. 또한, 인증 어플리케이션(117)은 인증 서버(13)가 제공하는 배포 서비스(distribution service)를 통해 호스트 컴퓨터(11)에 다운로드되어 설치될 수도 있다.
실시예에 따라서는, 상기 스토리지(123)에 인증 어플리케이션(117)이 생성한 호스트 구성 정보 및 서브 장치 구성 정보와, 호스트 키 및 서브 장치 키, 인증 서버(13)로부터 전달받은 호스트 ID 및 서브 장치 ID가 저장될 수도 있다.
인증 서버(13)는 등록부(131), 인증부(132), 등록 데이터베이스(133), 네트워크 인터페이스(134)를 포함할 수 있다.
등록부(131)는 전송된 호스트 구성 정보와 서브 장치 구성 정보, 호스트 키 및 서브 장치 키를 등록 데이터베이스(133)에 등록하고, 호스트 ID와 서브 장치 ID를 각각 발급하여 호스트 컴퓨터(11)에 전달할 수 있다.
인증부(132)는 등록 데이터베이스(133)에 등록된 키 값들과, 호스트 컴퓨터(11)에서 전달된 ID로부터 역생성한 키 값들의 일치 여부를 검증함으로써 호스트 컴퓨터(11)와 서브 장치(12)를 인증할 수 있고, 추가적으로 사용자의 마스터 패스워드를 통해 사용자를 더 인증할 수 있다. 등록 데이터베이스(133)는 호스트 컴퓨터(11)의 구성 정보, 호스트 키, 호스트 ID, 서브 장치(12)의 구성 정보, 서브 장치 키, 서브 장치 ID, 사용자의 마스터 패스워드, 회원 정보를 연동하여 관리할 수 있다. 인증 서버(13)는 네트워크 인터페이스(134)를 통해 항시적으로 네트워크(14)에 연결되어 있다.
원격 사용자 인증 시스템(10)의 동작을 간단히 설명하면 다음과 같다. 먼저 서브 장치(12)가 호스트 컴퓨터(11)에 접속된다. 호스트 컴퓨터(11)의 스토리지(113) 또는 서브 장치(12)의 스토리지(123)에는 인증 어플리케이션(117 또는 124)이 저장되어 있어서, 서브 장치(12)가 호스트 컴퓨터(11)에 접속되면, 호스트 컴퓨터(11)의 프로세서 자원을 이용하여 서브 장치(12)에 저장된 인증 어플리케이션(124)이 자동 실행(Autorun) 또는 가상화 실행되거나, 또는 호스트 컴퓨터(11)의 메모리(112)에 미리 로딩되어 있던 인증 어플리케이션(117)이 서브 장치(12)의 접속을 인식하고 구동될 수 있다.
인증 서버(13)는 호스트 컴퓨터(11)의 호스트 구성 정보와 호스트 ID를 기초로 호스트 컴퓨터(11)를 인증한 후에 서브 장치(12)의 서브 장치 구성 정보와 서브 장치 ID를 기초로 서브 장치(12)를 인증함으로써 사용자를 인증한다. 추가적으로, 인증 서버(13)는 사용자의 마스터 패스워드를 더 검증할 수 있다.
이를 위해, 인증 어플리케이션(117, 124)은 등록 프로세스와 인증 프로세스의 적어도 두 가지 기능을 수행한다. 인증 어플리케이션(117, 124)은 먼저 호스트 컴퓨터(11)의 소정의 은닉된 보안 저장 공간에 호스트 컴퓨터(11) 및 서브 장치(12)에 관한 구성 정보들, 호스트 키, 서브 장치 키, 호스트 ID 및 서브 장치 ID가 저장되어 있지 않으면 각각의 등록 프로세스를 수행하고, 만약 그러한 정보들이 저장되어 있으면 각각의 인증 프로세스를 수행한다.
먼저 등록 프로세스의 수행에 관하여 설명한다. 등록 프로세스가 정상적으로 완료되면 호스트 컴퓨터(11)에 호스트 ID가 저장되므로, 만약 최초 등록 또는 시스템 변경, OS 재설치 등으로 인해 호스트 ID가 호스트 컴퓨터(11)에 저장되어 있지 않으면 등록 프로세스를 새로 수행해야 할 것이고, 호스트 ID가 호스트 컴퓨터(11)에 저장되어 있으면 그 호스트 ID를 기초로 인증 프로세스가 수행될 것이다.
인증 어플리케이션(117, 124)은 호스트 컴퓨터(11)의 하드웨어들의 제품 정보, 예를 들어 CPU(111), 메모리(112), 스토리지(113), 외부기기 인터페이스(114), 네트워크 인터페이스(115), 회로 기판(116)의 제조자(Vendor ID), 제품 코드(Product ID), 제품 시리얼 번호, MAC 어드레스 등의 정보와, 추가적으로 OS와 같은 소프트웨어의 설치 정보, 예를 들어 라이센스 번호, 설치 정보, 활성 번호 등의 정보를 수집한다. 또한 인증 어플리케이션(117, 124)은 서브 장치(12)의 컨트롤러(121), 외부기기 인터페이스(122), 스토리지(123)에 대해서도 고유 정보를 수집한다.
인증 어플리케이션(117, 124)은 수집된 호스트 컴퓨터(11)의 하드웨어 내지 소프트웨어 고유 정보들을 조합한 원본 데이터로부터 해당 호스트 컴퓨터(11)를 고유하게 식별할 수 있는 호스트 구성 정보를 생성 및 저장한다. 또한 인증 어플리케이션(117, 124)은 수집된 서브 장치(12)의 하드웨어 고유 정보들을 조합한 원본 데이터로부터 해당 서브 장치(12)를 고유하게 식별할 수 있는 서브 장치 구성 정보를 생성 및 저장한다.
나아가, 인증 어플리케이션(117, 124)은 호스트 구성 정보와 서브 장치 구성 정보로부터 소정의 해시 알고리즘을 통해 각각 호스트 키 및 서브 장치 키를 생성한다.
인증 어플리케이션(117, 124)은 호스트 구성 정보와 서브 장치 구성 정보, 호스트 키, 서브 장치 키를 호스트 컴퓨터(11)의 스토리지(113)의 보안 저장 공간에 저장하고, 호스트 구성 정보와 호스트 키, 서브 장치 구성 정보와 서브 장치 키를 순차적으로 호스트 컴퓨터(11)로부터 인증 서버(13)에 전달한다.
인증 서버(13)는 전달된 호스트 구성 정보 또는 호스트 키가 이미 등록 데이터베이스(133)에 등록되어 있는지 확인한다. 인증 서버(13)는, 호스트 구성 정보 또는 호스트 키가 등록되어 있지 않으면, 호스트 컴퓨터(11)의 신규 등록 프로세스를 수행하고, 서브 장치 구성 정보 또는 서브 장치 키가 등록되어 있지 않으면, 서브 장치(12)의 신규 등록 프로세스를 수행할 수 있다. 인증 서버(13)는 호스트 컴퓨터(11)와 서브 장치(12)의 구성 정보들과 키 값들을 등록 데이터베이스(133)에 기록하고 호스트 ID와 서브 장치 ID를 각각 생성하여 호스트 컴퓨터(11)에 전달한다.
만약 호스트 구성 정보가 등록 데이터베이스(133)에 이미 등록되어 있는 반면 서브 장치(12)의 서브 장치 구성 정보는 등록되어 있지 않다면, 인증 서버(13)는 사용자의 의사에 따라 서브 장치(12)의 신규 등록 프로세스를 수행할 수 있다.
다음으로, 인증 프로세스의 수행에 대하여 간단히 설명한다. 인증 어플리케이션(117, 124)은 호스트 컴퓨터(11)에 호스트 ID가 저장되어 있을 경우 호스트 컴퓨터(11)의 호스트 ID를 인증 서버(13)에 전송하고, 인증 서버(13)는 전송된 호스트 ID를 기초로 호스트 컴퓨터(11)를 인증한다. 구체적으로, 인증 서버(13)는 전송된 호스트 ID로부터 재구성한 호스트 키와 등록 데이터베이스(133)에 저장된 호스트 키를 대비하여 동일한 경우에 호스트 컴퓨터(11)를 인증한다.
이어서, 인증 서버(13)는 인증 서버(13)와 호스트 컴퓨터(11) 사이에 세션을 생성한다. 인증 서버(13)가 호스트 컴퓨터(11)에 세션 아이디를 제공하고, 호스트 컴퓨터(11)가 제공된 세션 아이디를 이용하여 인증 서버(13)에 로그인할 수 있다.
다음으로, 인증 어플리케이션(117, 124)은 호스트 컴퓨터(11)에 서브 장치 ID가 저장되어 있을 경우 서브 장치(12)의 서브 장치 ID를 인증 서버(13)에 상기 세션을 통해 전송하고, 인증 서버(13)는 전송된 서브 장치 ID를 기초로 서브 장치(12)를 인증한다. 구체적으로, 인증 서버(13)는 전송된 서브 장치 ID를 기초로 재구성한 서브 장치 키를 등록 데이터베이스(133)에 저장된 서브 장치 키와 대비하여 동일한 경우에 서브 장치(12)를 인증한다.
실시예에 따라, 인증 서버(13)에서 서브 장치(12)의 인증이 있은 이후에, 인증 어플리케이션(117, 124)은 사용자에게 마스터 패스워드를 입력할 것을 더 요구하고 인증 서버(13)에 의해 마스터 패스워드를 검증하도록 할 수도 있다. 인증 서버(13)가 인증 프로세스를 마치면, 사용자는 인증 서버(13) 또는 여기에 제휴된 다른 서버들이 제공하는 다양한 서비스를 이용할 수 있다.
위에서 호스트 구성 정보, 서브 장치 구성 정보, 호스트 ID 및 서브 장치 ID는 호스트 컴퓨터(11)에 저장된다고 설명하였지만, 실시예에 따라 이러한 정보들은 서브 장치(12)에 저장될 수도 있다.
또한, 인증 서버(13)가 전송된 호스트 ID 및 서브 장치 ID로부터 역변환 재구성한 호스트 키 및 서브 장치 키를 이용하여 호스트 컴퓨터(11)와 서브 장치(12)를 각각 인증한다고 설명하였으나, 구체적인 인증 방법은 이에 한정되지 않으며, ID 발급을 이용하는 대신에 호스트 컴퓨터(11)로부터 인증을 위해 암호화되어 전송되는 호스트 구성 정보 및 호스트 키, 또는 서브 장치 구성 정보 및 서브 장치 키를 그대로 이용하여 인증할 수도 있다.
호스트 구성 정보와 서브 장치 구성 정보를 등록하고 인증하는 프로세스들은 이후에 상세하게 설명된다.
도 2는 본 발명의 일 실시예에 따른 원격 사용자 인증을 위한 호스트 컴퓨터 및 서브 장치의 전체적인 등록 및 인증 방법을 간략히 예시한 순서도이다.
도 2를 참조하면, 등록 및 인증 방법은 단계(S21)에서 호스트 컴퓨터(11)에서 인증 어플리케이션(117, 124)을 구동하는 단계부터 시작한다.
단계(S22)에서, 인증 어플리케이션(117, 124)은 호스트 컴퓨터(11)의 스토리지(113) 내의 소정의 보안 저장 공간에 호스트 ID가 기록되어 있는지 확인한다. 만약 호스트 ID가 기록되어 있지 않으면 단계(S23)의 호스트 등록 프로세스로 진행하고, 만약 호스트 ID가 기록되어 있으면, 단계(S24)의 호스트 인증 프로세스로 진행한다.
단계(S23)에서, 호스트 컴퓨터(11)로부터 전송된 호스트 구성 정보와 호스트 키를 기초로 인증 서버(13)가 호스트 ID를 생성하여 호스트 컴퓨터(11)에 전달하고, 호스트 구성 정보, 호스트 키, 호스트 ID를 등록 데이터베이스(133)에 기록하며, 호스트 컴퓨터(11)는 생성한 호스트 구성 정보와 호스트 키, 전달된 호스트 ID를 스토리지(113)의 소정의 보안 저장 공간에 저장한다.
구체적으로, 인증 어플리케이션(117, 124)은 호스트 컴퓨터(11)의 하드웨어 제조 정보 또는 소프트웨어의 설치 정보를 기초로 호스트 구성 정보를 생성하고 저장하며, 호스트 구성 정보로부터 소정의 해시 알고리즘을 통해 호스트 키를 생성하고 저장한다. 인증 어플리케이션(117, 124)은 호스트 구성 정보와 호스트 키를 암호화한 후 인증 서버(13)로 전송한다.
인증 서버(13)는 호스트 구성 정보와 호스트 키를 복호화한 다음, 전송받은 호스트 키에 관하여 등록 데이터베이스(133)에 중복된 호스트 키가 있는지 검색한 후에, 전송된 호스트 키, 이를 수신한 시간 및 기타 정보를 기초로 소정의 해시 알고리즘을 통해 호스트 ID를 생성한다. 인증 서버(13)는 호스트 구성 정보, 호스트 키, 호스트 ID를 연동하여 등록 데이터베이스(133)에 저장하고, 호스트 ID를 호스트 컴퓨터(11)에 전달한다.
인증 어플리케이션(117, 124)은 전달받은 호스트 ID를 호스트 컴퓨터(11)의 소정의 보안 저장 공간에 저장한다. 이로써, 호스트 등록 프로세스가 완료된다.
단계(S24)에서, 인증 어플리케이션(117, 124)은 호스트 ID를 인증 서버(13)에 전송한다. 인증 서버(13)는 전송받은 호스트 ID를 이용하여 등록 데이터베이스(133)에서 호스트 키를 검색하고, 전송된 호스트 ID로부터 재구성된 호스트 키와 상기 검색된 호스트 키를 대비하며, 만약 동일한 경우에 호스트 컴퓨터(11)가 적법하다고 인증한다. 인증에 실패하면, 인증 서버(13)는 인증 프로세스를 종료한다.
단계(S25)에서, 인증에 성공하면, 인증 서버(13)는 인증된 호스트 컴퓨터(11)의 요청에 따라 세션 ID를 발급하고, 호스트 컴퓨터(11)는 발급된 세션 ID를 이용하여 인증 서버(13)에 로그인한다. 일시적인 세션 ID를 이용함으로써 호스트 ID의 잦은 사용을 막아 호스트 ID의 노출을 최소화할 수 있다.
이때, 호스트 컴퓨터(11)가 세션 ID를 이용하여 로그인하는 대상은, 반드시 종전의 인증 서버(13)이어야 할 필요는 없으며, 호스트 컴퓨터 인증 이후의 처리 절차를 수행하는 세션 서버일 수 있다. 세션 서버를 이용함으로써 인증 서버(13)의 부하를 경감할 수 있다. 다만, 설명의 편의를 위해 호스트 컴퓨터(11)가 인증 이후에 로그인하는 대상을 인증 서버(13)로 대표하여 설명한다.
단계(S26)에서, 호스트 컴퓨터(11)는 서브 장치(12)의 서브 장치 ID가 호스트 컴퓨터(11)의 스토리지(113)에 저장되어 있는지 판단한다. 만약 서브 장치 ID가 기록되어 있지 않으면 단계(S27)의 서브 장치 등록 프로세스로 진행하고, 만약 서브 장치 ID가 기록되어 있으면, 단계(S28)의 서브 장치 인증 프로세스로 진행한다.
단계(S27)에서, 호스트 컴퓨터(11)로부터 상기 세션을 통해 전송된 서브 장치 구성 정보와 서브 장치 키를 기초로 인증 서버(13)가 서브 장치 ID를 생성하여 상기 세션을 통해 호스트 컴퓨터(11)에 전달하고, 서브 장치 구성 정보, 서브 장치 키, 서브 장치 ID를 등록 데이터베이스(133)에 기록하며, 호스트 컴퓨터(11)도 생성된 서브 장치 구성 정보와 서브 장치 키, 그리고 전송된 서브 장치 ID를 스토리지(113)의 소정의 보안 저장 공간에 저장한다.
구체적으로, 인증 어플리케이션(117, 124)은 서브 장치(12)의 하드웨어 제조 정보를 기초로 서브 장치 구성 정보를 생성하고 저장하며, 서브 장치 구성 정보로부터 소정의 해시 알고리즘을 통해 서브 장치 키를 생성하고 저장한다. 인증 어플리케이션(117, 124)은 서브 장치 구성 정보와 서브 장치 키를 암호화한 후 상기 세션을 통해 인증 서버(13)로 전송한다.
인증 서버(13)는 서브 장치 구성 정보와 서브 장치 키를 복호화한 다음, 전송받은 서브 장치 키에 관하여 등록 데이터베이스(133)에 중복된 서브 장치 키가 있는지 검색한 후에, 전송된 서브 장치 키, 이를 수신한 시간 및 기타 정보를 기초로 소정의 해시 알고리즘을 통해 서브 장치 ID를 생성한다. 인증 서버(13)는 서브 장치 구성 정보, 서브 장치 키, 서브 장치 ID를 호스트 장치의 인증 정보와 연동하여 등록 데이터베이스(133)에 저장하고, 서브 장치 ID를 호스트 컴퓨터(11)에 상기 세션을 통해 전달한다.
인증 어플리케이션(117, 124)은 전달받은 서브 장치 ID를 호스트 컴퓨터(11)의 스토리지(113)의 소정의 보안 저장 공간에 저장한다. 이로써, 서브 장치 등록 프로세스가 완료된다.
단계(S28)에서, 인증 어플리케이션(117, 124)은 서브 장치 키 또는 서브 장치 ID를 상기 세션을 통해 인증 서버(13)에 전송하고, 인증 서버(13)는 전송받은 서브 장치 키 또는 서브 장치 ID를 기초로 서브 장치(12)를 인증한다.
구체적으로, 인증 서버(13)는 전송받은 서브 장치 키를 상기 등록 데이터베이스(133)에서 검색하여 등록되어 있는 것이 확인되면 그러한 서브 장치(12)가 적법한 것으로 인증한다.
또는, 인증 서버(13)는 전송받은 서브 장치 ID를 이용하여 등록 데이터베이스(133)에서 서브 장치 키를 검색하고, 전송된 서브 장치 ID로부터 재구성된 서브 장치 키와 상기 검색된 서브 장치 키를 대비하며, 만약 동일한 경우에 서브 장치(12)가 적법하다고 인증한다.
서브 장치(12)의 인증에 실패하면 인증 서버(13)는 세션을 종료하고 인증 프로세스를 종료한다.
추가적으로 단계(S29)에서, 인증 어플리케이션(117, 124)은 사용자에게 마스터 패스워드를 입력받아 인증 서버(13)에 전달하여 검증하도록 할 수 있다.
도 3은 본 발명의 일 실시예에 따른 원격 사용자 인증 시스템에서 호스트 컴퓨터 정보를 서버에 등록하는 프로세스를 예시한 흐름도이다.
도 3을 참조하면, 도 2의 단계(S23)의 상세한 단계가 설명되어 있다. 호스트 컴퓨터(11) 측과 인증 서버(13) 측의 상호 동작이 상세하게 설명된다.
단계(S231)에서, 호스트 컴퓨터(11)의 인증 어플리케이션(117)은 하드웨어 제조 정보 및 소프트웨어 설치 정보를 이용하여 호스트 구성 정보를 생성 및 저장하고, 단계(S232)에서, 호스트 구성 정보로부터 소정의 해시 알고리즘을 통해 호스트 키를 생성 및 저장한다. 호스트 구성 정보와 호스트 키는 호스트 컴퓨터(11)의 스토리지(113) 또는 서브 장치(12)의 스토리지(123) 내의 소정 보안 저장 공간에 저장될 수 있다.
단계(S233)에서, 인증 어플리케이션(117, 124)은 호스트 구성 정보와 호스트 키를 암호화한 후 인증 서버(13)로 전송한다.
단계(S234)에서, 인증 서버(13)의 등록부(131)는 호스트 구성 정보와 호스트 키를 복호화한 다음, 전송받은 호스트 키에 관하여 등록 데이터베이스(133)에 중복된 호스트 키가 있는지 검색한다. 만약 중복된 호스트 키가 검색되면, 상황에 따라 단순한 중복 등록으로 판정하거나 호스트 컴퓨터(11)의 도난 사고로 판정할 수 있다.
단계(S235)에서, 인증 서버(13)의 전송된 호스트 키, 이를 수신한 시간 및 기타 정보를 기초로 소정의 해시 알고리즘을 통해 호스트 ID를 생성한다.
단계(S236)에서, 호스트 구성 정보, 호스트 키, 호스트 ID를 연동하여 등록 데이터베이스(133)에 저장하고, 단계(S237)에서, 인증 서버(13)는 생성한 호스트 ID를 호스트 컴퓨터(11)에 전달한다.
단계(S238)에서, 호스트 컴퓨터(11)의 인증 어플리케이션(117)은 전달받은 호스트 ID를 호스트 컴퓨터(11)의 소정의 보안 저장 공간에 저장한다.
도 4는 본 발명의 일 실시예에 따른 원격 사용자 인증 시스템에서 호스트 컴퓨터를 인증하는 프로세스를 예시한 흐름도이다.
도 4를 참조하면, 도 2의 단계(S24)의 상세한 단계가 설명되어 있다. 호스트 컴퓨터(11) 측과 인증 서버(13) 측의 상호 동작이 상세하게 설명된다.
단계(S241)에서, 인증 어플리케이션(117)은 호스트 ID를 인증 서버(13)에 전송한다.
단계(S242)에서, 인증 서버(13)의 인증부(132)는 전송받은 호스트 ID로부터 호스트 키를 재구성하고, 단계(S243)에서, 전송받은 호스트 ID를 이용하여 등록 데이터베이스(133)에서 호스트 키를 검색한다.
단계(S244)에서, 인증 서버(13)의 인증부(132)는 상기 재구성한 호스트 키와 상기 검색된 호스트 키를 대비한다.
단계(S245)에서, 만약 상기 대비 결과 양자가 동일한 경우에는 인증부(132)는 호스트 컴퓨터(11)가 적법하다고 인증하고, 양자가 동일하지 않으면 인증에 실패한 것이고, 인증 프로세스는 종료된다.
도 5는 본 발명의 일 실시예에 따른 원격 사용자 인증 시스템에서 서브 장치 정보를 서버에 등록하는 프로세스를 예시한 흐름도이다.
도 5를 참조하면, 도 2의 단계(S27)의 상세한 단계가 설명되어 있다. 호스트 컴퓨터(11) 측과 인증 서버(13) 측의 상호 동작이 상세하게 설명된다.
단계(S271)에서, 호스트 컴퓨터(11)에서 실행되는 인증 어플리케이션(117)은 서브 장치(12)의 하드웨어 제조 정보를 기초로 서브 장치 구성 정보를 생성하고 저장하며, 단계(S272)에서는, 서브 장치 구성 정보로부터 소정의 해시 알고리즘을 통해 서브 장치 키를 생성하고 저장한다. 서브 장치 구성 정보와 서브 장치 키는 호스트 컴퓨터(11)의 스토리지(113) 또는 서브 장치(12)의 스토리지(123) 내의 소정 보안 저장 공간에 저장될 수 있다.
단계(S273)에는, 호스트 컴퓨터(11)에서 실행되는 인증 어플리케이션(117)은 서브 장치 구성 정보와 서브 장치 키를 암호화한 후 호스트 컴퓨터(11)와 인증 서버(13) 사이에 생성된 세션을 통해 인증 서버(13)로 전송한다.
단계(S274)에서, 인증 서버(13)의 등록부(131)는 서브 장치 구성 정보와 서브 장치 키를 복호화한 다음, 전송된 서브 장치 키, 이를 수신한 시간 및 상기 서브 장치 구성 정보를 기초로 소정의 해시 알고리즘을 통해 서브 장치 ID를 생성한다.
단계(S275)에서, 인증 서버(13)의 등록부(131)는 서브 장치 구성 정보, 서브 장치 키, 서브 장치 ID를 호스트 컴퓨터의 인증 정보와 연동하여 등록 데이터베이스(133)에 저장한다.
단계(S276)에서, 인증 서버(13)의 등록부(131)는 서브 장치 ID를 호스트 컴퓨터(11)에 상기 세션을 통해 전달한다.
단계(S277)에서, 호스트 컴퓨터(11)에서 실행되는 인증 어플리케이션(117)은 전달된 서브 장치 ID를 호스트 컴퓨터(11)의 스토리지(113)의 소정의 보안 저장 공간에 저장한다.
도 6은 본 발명의 일 실시예에 따른 원격 사용자 인증 시스템에서 서브 장치를 인증하는 프로세스를 예시한 흐름도이다.
도 6을 참조하면, 도 2의 단계(S28)의 상세한 단계가 설명되어 있다. 호스트 컴퓨터(11) 측과 인증 서버(13) 측의 상호 동작이 상세하게 설명된다.
단계(S281)에서, 호스트 컴퓨터(11)의 인증 어플리케이션(117)은 서브 장치 키 또는 서브 장치 ID를 상기 호스트 컴퓨터(11)와 인증 서버(13) 사이에 형성된 세션을 통해 인증 서버(13)에 전송한다.
단계(S282)에서, 인증 서버(13)의 인증부(132)는 전송받은 서브 장치 키 또는 서브 장치 ID를 기초로 서브 장치(12)를 인증한다.
구체적으로, 단계(S282a)에서, 인증 서버(13)의 인증부(132)는 전송받은 서브 장치 키를 상기 등록 데이터베이스(133)에서 검색하여, 단계(S283a)에서, 상기 등록 데이터베이스(133)에 동일한 서브 장치 키가 등록되어 있는 것이 확인되면, 그러한 서브 장치(12)가 적법한 것으로 인증하고, 그렇지 않으면 인증을 거부한다.
또는, 단계(S282b)에서, 인증 서버(13)의 인증부(132)는 전송받은 서브 장치 ID를 이용하여 등록 데이터베이스(133)에서 서브 장치 키를 검색하고, 단계(S283b)에서, 전송된 서브 장치 ID로부터 재구성된 서브 장치 키와 상기 검색된 서브 장치 키를 대비한다. 단계(S284)에서, 만약 재구성된 서브 장치 키와 검색된 서브 장치 키가 동일한 경우에는, 서브 장치(12)가 적법하다고 인증하고, 그렇지 않은 경우에는 인증을 거부한다.
단계(S285)에서, 만약 단계(S282)에서 인증이 거부되면, 인증 서버(13)는 호스트 컴퓨터(11)에 대한 세션을 종료하고 인증 프로세스를 종료한다.
도 7은 본 발명의 일 실시예에 따른 원격 사용자 인증 시스템에서 사전에 등록된 서브 장치의 인증 정보를 사용자가 휴대 전화를 이용하여 호스트 컴퓨터에 내려받는 임시 인증 프로세스를 예시한 흐름도이다.
도 7을 참조하면, 원격 사용자 인증 시스템을 적법하게 이용하는 사용자가 실수로 사전에 등록된 서브 장치(12)를 분실하거나 소지하지 않은 상태에서 호스트 컴퓨터(11)를 통해 네트워크 서비스를 이용하고자 할 때에, 사용자의 사전에 등록된 휴대 전화를 이용하여 호스트 컴퓨터(11)의 스토리지(113)에 인증 프로세스에 일시적으로 사용할 수 있는 인증키 정보를 내려받을 수 있는 임시 인증 프로세스가 예시되어 있다.
먼저 단계(S71)에서, 사용자가 사전에 사용자 회원 정보의 일부로서 휴대 전화(15)의 이동 전화 번호를 등록해 두었다는 전제 하에, 호스트 컴퓨터(11)에서 인증 어플리케이션(117)을 통해 인증 서버(13)에 인증키 ID을 발급하고 휴대 전화(15)로 전송할 것을 요청한다. 인증키 ID는 인증키를 고유하게 식별하기 위한 임시 ID이다.
단계(S72)에서, 인증 서버(13)의 인증부(132)는 인증키 ID를 생성하고 휴대 전화(15)로 인증키 ID를 이동통신 문자 서비스(SMS나 MMS)를 통해 전송한다.
단계(S73)에서, 휴대 전화(15)에 수신된 인증키 ID를 사용자가 호스트 컴퓨터(11)의 인증 어플리케이션(117)을 통해 인증 서버(13)로 전송함으로써 사용자를 인증한다.
단계(S74)에서, 사용자가 호스트 컴퓨터(11)의 인증 어플리케이션(117)을 통해 호스트 컴퓨터(11)로 인증키를 전송해 줄 것을 인증 서버(13)에 요청한다.
인증키는 서브 장치(12)에 관하여 생성되어 등록 데이터베이스(133)에 저장된 서브 장치 키일 수 있고, 또는 그러한 서브 장치 키와 인증키 ID 요청 시각 등의 정보를 기초로 소정의 해시 알고리즘을 통해 새로 생성된 해시 키로서 임시적인 서브 장치 키로서 이용될 수 있다.
단계(S75)에서, 인증 서버(13)는 호스트 컴퓨터(11)로 인증키를 전송하고, 단계(S76)에서 호스트 컴퓨터(11)는 전송된 인증키를 스토리지(113)의 소정의 보안 저장 공간에 저장한다.
단계(S77)에서, 호스트 컴퓨터(11)는 서브 장치(12)의 서브 장치 ID를 대신하여 상기 전송된 인증키를 이용하여 호스트 컴퓨터 인증 프로세스 및 서브 장치 인증 프로세스를 각각 수행한다.
도 8은 본 발명의 일 실시예에 따른 원격 사용자 인증 시스템의 인증 어플리케이션을 예시한 블록도이다.
도 8을 참조하면, 인증 어플리케이션(80)은 호스트 관리부(81), 서브 장치 관리부(82), 저장부(83) 및 인증 서버 접속부(84)를 포함한다. 호스트 관리부(81)는 호스트 정보 추출부(811), 해시 키 생성부(812), 암호화부(813), 호스트 인증부(814)를 포함할 수 있다. 서브 장치 관리부(82)는 서브 장치 정보 추출부(821), 해시 키 생성부(822), 암호화부(823), 서브 장치 인증부(824)를 포함할 수 있다.
호스트 컴퓨터(11)의 등록 시에, 호스트 관리부(81)는 호스트 정보 추출부(811)에서 호스트 컴퓨터(11)의 하드웨어 제조 정보 또는 소프트웨어 설치 정보를 이용하여 호스트 컴퓨터(11)의 호스트 구성 정보를 추출하여 저장부(83)를 통해 스토리지(113)에 저장하고, 해시 키 생성부(812)에서 상기 호스트 구성 정보의 해시 값, 즉 호스트 키를 생성하여 저장부(83)를 통해 스토리지(113)에 저장하며, 암호화부(813)에서 호스트 구성 정보와 호스트 키를 암호화하고, 호스트 인증부(814)에서 상기 암호화된 호스트 구성 정보와 호스트 키를 인증 서버 접속부(84)를 통해 인증 서버(13)로 전송한다. 이어서 호스트 관리부(81)는 호스트 인증부(814)에서 인증 서버(13)로부터 전송된 호스트 ID를 수신하여 저장부(83)를 통해 스토리지(113)에 저장한다.
호스트 컴퓨터(11)의 인증 시에, 호스트 관리부(81)는 호스트 인증부(814)에서, 호스트 컴퓨터(11)의 인증을 위해, 호스트 ID를 인증 서버 접속부(84)를 통해 인증 서버(13)로 전송한다. 인증 서버(13)에서 호스트 컴퓨터(11)의 호스트 ID가 정상적으로 인증되면, 인증 서버(13)와 사이에 세션을 생성할 수 있는 세션 ID가 인증 서버(13)로부터 전달된다. 호스트 인증부(814)는 세션 ID를 인증 서버 접속부(84)에 전달하고, 인증 서버 접속부(83)는 세션 ID를 이용하여 인증 서버(13)에 로그인한다. 세션이 형성되면 서브 장치의 인증을 위해 서브 장치 관리부(82)가 호출된다.
서브 장치(12)의 등록 시에, 서브 장치 관리부(82)는 서브 장치 정보 추출부(821)에서 서브 장치(12)의 하드웨어 제조 정보를 이용하여 서브 장치(12)의 서브 장치 구성 정보를 추출하여 저장부(83)를 통해 스토리지(113)에 저장하고, 해시 키 생성부(822)에서 상기 서브 장치 구성 정보의 해시 값, 즉 서브 장치 키를 생성하여 저장부(83)를 통해 스토리지(113)에 저장하며, 암호화부(823)에서 서브 장치 구성 정보와 서브 장치 키를 암호화하고, 서브 장치 인증부(824)에서 상기 암호화된 서브 장치 구성 정보와 서브 장치 키를 인증 서버 접속부(84)를 통해 인증 서버(13)로 전송한다. 서브 장치 관리부(82)는 서브 장치 인증부(824)에서 인증 서버(13)로부터 전송된 서브 장치 ID를 수신하여 저장부(83)를 통해 스토리지(113)에 저장한다.
서브 장치(12)의 인증 시에, 서브 장치 관리부(82)는 서브 장치 인증부(824)에서, 서브 장치(12)의 인증을 위해, 서브 장치 ID를 인증 서버 접속부(84)와 상기 세션을 통해 인증 서버(13)로 전송한다.
서브 인증 서버(13)에서 서브 장치(12)의 서브 장치 ID가 인증에 성공하거나 실패하면, 사용자에게 결과를 알리고 인증 절차를 종료한다.
추가적으로, 인증 어플리케이션(80)은 마스터 패스워드 관리부(85)를 더 포함하여, 호스트 컴퓨터(11)와 서브 장치(12)가 인증 서버(13)에 등록된 이후에, 사용자의 마스터 패스워드를 입력받아 인증 서버(13)에 전송할 수 있다.
더 나아가, 인증 어플리케이션(80)은 휴대 전화 인증부(86)를 더 포함한다. 휴대 전화 인증부(86)는 사용자가 서브 장치(12)를 소지하지 않을 때에 인증 서버(13)에 임시적인 인증키 ID를 요청하고, 사용자가 휴대 전화로 수신한 인증키 ID를 인증 서버(13)를 통해 검증하며, 인증 서버(13)가 인증키 ID의 검증 이후에 생성하여 전송하는 인증키를 저장부(83)를 통해 스토지리(113)에 저장한 다음, 서브 장치 관리부(82)를 호출하여 서브 장치 키 대신 인증키로써 인증하도록 한다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명이 상기의 실시예에 한정되는 것은 아니며, 이는 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명의 사상은 아래에 기재된 특허청구범위에 의해서만 파악되어야 하고, 이와 균등하거나 또는 등가적인 변형 모두는 본 발명 사상의 범주에 속한다 할 것이다.
또한, 본 발명에 따른 장치는 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 기록매체의 예로는 ROM, RAM, 광학 디스크, 자기 테이프, 플로피 디스크, 하드 디스크, 비휘발성 메모리 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
10
11
111
112
113
114
115
116
117
12
121
122
123
124
13
131
132
133
14
80
81
82
83

Claims (15)

  1. 서브 장치와 링크되는 호스트 컴퓨터; 및
    상기 호스트 컴퓨터로부터 전송된 상기 호스트 컴퓨터의 호스트 구성 정보 및 상기 서브 장치의 서브 장치 구성 정보에 기초하여 상기 호스트 컴퓨터 및 상기 서브 장치를 각각 고유하게 식별할 수 있는 호스트 ID 및 서브 장치 ID를 각각 생성 및 저장하고 또한 상기 호스트 컴퓨터에 각각 전송하는 인증 서버를 포함하며,
    상기 호스트 컴퓨터는 상기 인증 서버로부터 전송된 상기 호스트 ID 및 상기 서브 장치 ID를 각각 저장하는 것을 특징으로 하는 원격 사용자 인증 시스템.
  2. 청구항 1에 있어서, 상기 호스트 구성 정보 및 상기 서브 장치 구성 정보는 상기 호스트 컴퓨터 및 상기 서브 장치 각각의 하드웨어 구성 또는 소프트웨어 구성 중 적어도 어느 한 가지 구성에 기초하여 각각 생성되는 것을 특징으로 하는 원격 사용자 인증 시스템.
  3. 청구항 1에 있어서, 상기 인증 서버는
    인증을 위해 상기 호스트 컴퓨터로부터 전송되는 상기 호스트 ID 및 서브 장치 ID와 상기 인증 서버에서 검색된 호스트 ID 및 서브 장치 ID를 기초로, 상기 호스트 컴퓨터 및 상기 서브 장치를 각각 인증하도록 동작하는 것을 특징으로 하는 원격 사용자 인증 시스템.
  4. 청구항 3에 있어서, 상기 인증 서버는
    상기 호스트 구성 정보 및 서브 장치 구성 정보로부터 소정의 해시(hash) 알고리즘을 통해 각각 얻은 호스트 키(key) 및 서브 장치 키에 적어도 시간 정보를 각각 추가하고, 해시 알고리즘을 거쳐 상기 호스트 ID 및 상기 서브 장치 ID를 각각 생성하며,
    상기 호스트 키 및 상기 서브 장치 키를 각각 상기 호스트 ID 및 서브 장치 ID와 관련하여 저장하도록 동작하는 것을 특징으로 하는 원격 사용자 인증 시스템.
  5. 청구항 4에 있어서, 상기 인증 서버는
    상기 호스트 컴퓨터로부터 전송된 상기 호스트 ID 및 상기 서브 장치 ID에 관련하여 상기 인증 서버에 저장된 상기 호스트 키 및 상기 서브 장치 키를 검색하고,
    상기 호스트 ID 및 상기 서브 장치 ID로부터 각각 호스트 키 및 서브 장치 키를 재구성하며,
    상기 검색된 호스트 키 및 서브 장치 키와 상기 재구성된 호스트 키 및 서브 장치 키를 각각 대비하여 동일하면 인증하도록 동작하는 것을 특징으로 하는 원격 사용자 인증 시스템.
  6. 서브 장치와 링크되는 호스트 컴퓨터를 원격으로 인증하는 인증 서버를 이용한 원격 사용자 인증 방법에 있어서,
    상기 호스트 컴퓨터가 상기 호스트 컴퓨터의 호스트 구성 정보 및 상기 서브 장치의 서브 장치 구성 정보를 상기 인증 서버에 전송하는 단계; 및
    상기 호스트 컴퓨터의 호스트 구성 정보 및 상기 서브 장치의 서브 장치 구성 정보에 기초하여 상기 호스트 컴퓨터 및 상기 서브 장치를 각각 고유하게 식별할 수 있도록 상기 인증 서버에서 생성된 호스트 ID 및 서브 장치 ID를 상기 호스트 컴퓨터가 수신 및 저장하는 단계를 포함하는 원격 사용자 인증 방법.
  7. 청구항 6에 있어서, 상기 호스트 구성 정보 및 상기 서브 장치 구성 정보는 상기 호스트 컴퓨터 및 상기 서브 장치 각각의 하드웨어 구성 또는 소프트웨어 구성 중 적어도 어느 한 가지 구성에 기초하여 각각 생성되는 것을 특징으로 하는 원격 사용자 인증 방법.
  8. 청구항 6에 있어서, 인증을 위해 상기 호스트 컴퓨터에 저장된 상기 호스트 ID 및 상기 서브 장치 ID를 상기 인증 서버로 전송하는 단계; 및
    상기 전송된 호스트 ID 및 서브 장치 ID와 상기 인증 서버에서 검색된 호스트 ID 및 서브 장치 ID를 기초로 상기 호스트 컴퓨터 및 상기 서브 장치를 상기 인증 서버가 각각 인증한 결과를 상기 호스트 컴퓨터가 상기 인증 서버로부터 수신하는 단계를 더 포함하는 것을 특징으로 하는 원격 사용자 인증 방법.
  9. 인증 서버에 의해 원격으로 인증되며 서브 장치를 링크시킬 수 있는 호스트 컴퓨터를,
    상기 호스트 컴퓨터의 호스트 구성 정보를 생성하고 저장하고, 상기 호스트 구성 정보로부터 소정의 해시 알고리즘을 통해 호스트 키를 생성하며, 상기 인증 서버로부터 상기 호스트 컴퓨터를 고유하게 식별할 수 있는 호스트 ID를 수신하여 저장하고, 인증을 위해 상기 호스트 ID를 상기 인증 서버에 전송하는 호스트 관리 수단; 및
    상기 서브 장치의 서브 장치 구성 정보를 생성하고 저장하고, 상기 서브 장치 구성 정보로부터 소정의 해시 알고리즘을 통해 서브 장치 키를 생성하며, 상기 인증 서버로부터 상기 서브 장치를 고유하게 식별할 수 있는 서브 장치 ID를 수신하여 저장하고, 인증을 위해 상기 서브 장치 ID를 상기 인증 서버에 전송하는 서브 장치 관리 수단으로 기능시킬 수 있는 프로그램을 수록한 컴퓨터로 읽을 수 있는 기록 매체.
  10. 청구항 9에 있어서, 상기 기록 매체는 상기 서브 장치 내에 내장되어 상기 서브 장치가 상기 호스트 컴퓨터에 링크되면 상기 기록 매체에 수록된 상기 프로그램이 상기 호스트 컴퓨터에서 실행될 수 있는 것을 특징으로 하는 기록 매체.
  11. 서브 장치와 링크되는 호스트 컴퓨터를 원격으로 인증하는 인증 서버를 이용한 원격 사용자 인증 방법에 있어서,
    상기 인증 서버가, 상기 호스트 컴퓨터로부터 전송된 상기 호스트 컴퓨터의 호스트 구성 정보 및 상기 서브 장치의 서브 장치 구성 정보에 기초하여 상기 호스트 컴퓨터 및 상기 서브 장치를 각각 고유하게 식별할 수 있는 호스트 ID 및 서브 장치 ID를 각각 생성 및 저장하는 단계; 및
    상기 인증 서버가 상기 호스트 ID 및 서브 장치 ID를 각각 상기 호스트 컴퓨터에 전송하는 단계를 포함하는 것을 특징으로 하는 원격 사용자 인증 방법.
  12. 청구항 11에 있어서, 상기 호스트 구성 정보 및 상기 서브 장치 구성 정보는 상기 호스트 컴퓨터 및 상기 서브 장치 각각의 하드웨어 구성 또는 소프트웨어 구성 중 적어도 어느 한 가지 구성에 기초하여 각각 생성되는 것을 특징으로 하는 원격 사용자 인증 방법.
  13. 청구항 11에 있어서,
    상기 인증 서버가, 상기 호스트 컴퓨터로부터 인증을 위해 전송되는 상기 호스트 컴퓨터에 저장된 상기 호스트 ID 및 서브 장치 ID와 상기 인증 서버에 저장된 호스트 ID 및 서브 장치 ID를 기초로 상기 호스트 컴퓨터 및 상기 서브 장치를 각각 인증하는 단계를 더 포함하는 것을 특징으로 하는 원격 사용자 인증 방법.
  14. 청구항 13에 있어서,
    상기 인증 서버가 상기 호스트 구성 정보 및 서브 장치 구성 정보로부터 소정의 해시 알고리즘을 통해 각각 얻은 호스트 키 및 서브 장치 키에 적어도 시간 정보를 각각 추가하고 다시 해시 알고리즘을 거쳐 상기 호스트 ID 및 상기 서브 장치 ID를 각각 생성하는 단계; 및
    상기 인증 서버가 상기 호스트 키 및 상기 서브 장치 키를 각각 상기 호스트 ID 및 서브 장치 ID와 관련하여 저장하는 단계를 더 포함하는 것을 특징으로 하는 원격 사용자 인증 방법.
  15. 청구항 14에 있어서, 상기 인증 서버가 상기 호스트 컴퓨터 및 상기 서브 장치를 각각 인증하는 단계는,
    상기 인증 서버가, 상기 호스트 컴퓨터로부터 전송된 상기 호스트 ID 및 상기 서브 장치 ID에 관련하여 상기 인증 서버에 저장된 상기 호스트 키 및 상기 서브 장치 키를 검색하는 단계;
    상기 인증 서버가, 상기 호스트 ID 및 상기 서브 장치 ID로부터 각각 호스트 키 및 서브 장치 키를 재구성하는 단계; 및
    상기 인증 서버가, 상기 검색된 호스트 키 및 서브 장치 키와 상기 재구성된 호스트 키 및 서브 장치 키를 각각 대비하여 동일하면 인증하는 단계를 포함하는 것을 특징으로 하는 원격 사용자 인증 방법.
KR1020100025146A 2010-03-22 2010-03-22 원격 사용자 인증 방법 및 시스템 KR20110105982A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100025146A KR20110105982A (ko) 2010-03-22 2010-03-22 원격 사용자 인증 방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100025146A KR20110105982A (ko) 2010-03-22 2010-03-22 원격 사용자 인증 방법 및 시스템

Publications (1)

Publication Number Publication Date
KR20110105982A true KR20110105982A (ko) 2011-09-28

Family

ID=44956081

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100025146A KR20110105982A (ko) 2010-03-22 2010-03-22 원격 사용자 인증 방법 및 시스템

Country Status (1)

Country Link
KR (1) KR20110105982A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111527487A (zh) * 2017-12-28 2020-08-11 卓普网盘股份有限公司 用于内容项同步的唯一标识符的指配和再分配

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111527487A (zh) * 2017-12-28 2020-08-11 卓普网盘股份有限公司 用于内容项同步的唯一标识符的指配和再分配

Similar Documents

Publication Publication Date Title
JP7236992B2 (ja) ブロックチェーンにより実現される方法及びシステム
US9306954B2 (en) Apparatus, systems and method for virtual desktop access and management
CN100593166C (zh) 便携式计算环境
US20150365405A1 (en) Mobile Security Fob
CN101669128B (zh) 级联认证系统
CN106027552A (zh) 一种用户访问云存储数据的方法及系统
US20080022086A1 (en) Methods and system for a key recovery plan
CN106662991A (zh) 电子凭证管理系统
CN104715187A (zh) 用于认证电子通信系统中的节点的方法和装置
CN107004080A (zh) 环境感知安全令牌
CN109446259B (zh) 数据处理方法及装置、处理机及存储介质
TW200423661A (en) Methods and systems for authentication of a user for sub-locations of a network location
US20190141048A1 (en) Blockchain identification system
US20150180849A1 (en) Mobile token
EP3937040B1 (en) Systems and methods for securing login access
CN112118269A (zh) 一种身份认证方法、系统、计算设备及可读存储介质
CN115066863B (zh) 用于利益拒绝系统中的跨账户设备密钥转移的系统和技术
CN107409129A (zh) 使用访问控制列表和群组的分布式系统中的授权
CN109462572B (zh) 基于加密卡和UsbKey的多因子认证方法、系统、存储介质及安全网关
CN103020542B (zh) 存储用于全球数据中心的秘密信息的技术
CN104469736A (zh) 一种数据处理方法、服务器及终端
CN104835038A (zh) 一种联网支付装置及方法
CN113037736B (zh) 一种认证鉴权方法、装置、系统及计算机存储介质
CN103559430B (zh) 基于安卓系统的应用账号管理方法和装置
CN106529216B (zh) 一种基于公共存储平台的软件授权系统及软件授权方法

Legal Events

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