KR101495034B1 - 보안 토큰을 이용한 원격 인증 처리 방법 및 원격 인증 시스템 - Google Patents

보안 토큰을 이용한 원격 인증 처리 방법 및 원격 인증 시스템 Download PDF

Info

Publication number
KR101495034B1
KR101495034B1 KR20140163434A KR20140163434A KR101495034B1 KR 101495034 B1 KR101495034 B1 KR 101495034B1 KR 20140163434 A KR20140163434 A KR 20140163434A KR 20140163434 A KR20140163434 A KR 20140163434A KR 101495034 B1 KR101495034 B1 KR 101495034B1
Authority
KR
South Korea
Prior art keywords
authentication
security token
module
partial information
session
Prior art date
Application number
KR20140163434A
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 KR20140163434A priority Critical patent/KR101495034B1/ko
Application granted granted Critical
Publication of KR101495034B1 publication Critical patent/KR101495034B1/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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0863Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0877Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]
    • 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/3226Cryptographic 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 a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3228One-time or temporary data, i.e. information which is sent for every authentication or authorization, e.g. one-time-password, one-time-token or one-time-key

Abstract

본 발명은 통신망을 통해 보안 토큰에 접근하여, 원격지에서 상기 보안 토큰을 이용한 인증 처리를 수행할 수 있도록 하는 보안 토큰을 이용한 원격 인증 처리 방법 및 원격 인증 시스템에 관한 것으로서, 통신망을 통해 연동하여 인증 처리를 수행하는 보안 토큰 모듈과 인증 에이전트 모듈이, 각각 기 설정된 함수를 통해 1회용 비밀번호로부터 세션 인증을 위한 제1 부분 정보와 단대단 암호화를 위한 제2 부분 정보를 추출하고, 상기 추출된 제1 부분 정보를 세션 인증 서버로 전송하여 상기 인증 처리를 함께 수행할 상대 장치와의 연결을 요청하면, 세션 인증 서버가 제1 부분 정보가 일치하는 보안 토큰 모듈과 인증 에이전트 모듈의 세션을 연결하여, 데이터를 중계하고, 상기 보안 토큰 모듈 및 인증 에이전트 모듈이 세션 인증 서버를 통해 통신을 수행하되, 상기 제2 부분 정보를 기반으로 데이터의 암호화 및 복호화하도록 구현된다.

Description

보안 토큰을 이용한 원격 인증 처리 방법 및 원격 인증 시스템{Method and system for remote authentication based on security token}
본 발명은 보안 토큰을 이용한 원격 인증 처리 방법 및 원격 인증 시스템에 관한 것으로서, 더욱 상세하게는 통신망을 통해 보안 토큰에 접근하여, 상기 보안 토큰을 이용한 인증 처리를 수행할 수 있도록 하는 보안 토큰을 이용한 원격 인증 처리 방법 및 원격 인증 시스템에 관한 것이다.
정보통신기술이 발달하고 정보통신망이 확산됨에 따라서, 금융 거래, 전자상거래, 및 행정민원, 공문서, 인허가, 입찰 등의 공공 분야 등 다양한 분야에서 온라인화가 이루어지고 있다.
그런데, 이러한 온라인 기반으로 이루어지는 거래의 경우, 거래 당사자가 직접 대면하지 않기 때문에, 거래 당사자의 신원 확인, 거래 내용의 확인 및 인증을 위한 전자 증명 수단으로서 공인 인증서 등과 같은 다양한 보안 정보가 이용되고 있으며, 이에 따라서 이러한 보안 정보를 안전하게 관리하고 이용하기 위한 보안 기술이 요구되고 있다.
그 중 대표적인 기술로서, 보안 토큰은 상기 공인 인증서 등과 같은 보안 정보를 안전하게 저장하여 보관하기 위하여, 전자 서명 키 생성, 전자 서명 생성 및 검증 등의 보안 처리가 가능한 장치로서, 통상 스마트 카드, USB 토큰 등 다양한 형태의 하드웨어 장치로 구현된다.
그런데, 기존의 보안 토큰은 인증이 필요한 온라인 서비스를 이용하는 PC, 노트북, 태블릿 PC 혹은 스마트폰 등과 같은 사용자 단말에 연결한 후, 상기 사용자 단말을 통해 상기 보안 토큰에 접근하여 인증 처리를 수행하는 것으로, 별도로 소지하고 있어야 하는 불편함이 있으며, 휴대 중 보안 토큰을 분실할 가능성도 높다.
또한, 상기 보안 토큰을 연결하는 단말에 보안토큰을 인식하고 통신하기 위한 드라이버를 설치하여야 하기 때문에, 그에 따른 하드웨어 인식 문제나 충돌과 같은 장애가 종종 발생한다.
한국등록특허 제10-1348079호, 2013년 12월 30일 등록 (명칭: 휴대단말을 이용한 전자서명 시스템)
이에 본 발명은 기존 보안 토큰 이용 시 발생하는 문제를 해결하고자 제안된 것으로서, 통신망을 통해 보안 토큰에 접근하여, 원격지에서 상기 보안 토큰을 이용한 인증 처리를 수행할 수 있도록 하는 보안 토큰을 이용한 원격 인증 처리 방법 및 원격 인증 시스템을 제공하고자 한다.
상술한 과제의 해결 수단으로서, 본 발명은 통신망을 통해 연동하여 인증 처리를 수행하는 보안 토큰 모듈과 인증 에이전트 모듈 중 한 장치가, 세션 인증 서버에 접속하는 단계; 기 설정된 함수를 통해 1회용 비밀번호로부터 세션 인증을 위한 제1 부분 정보와 단대단 암호화를 위한 제2 부분 정보를 추출하는 단계; 상기 생성된 제1 부분 정보를 세션 인증 서버로 전송하여 상기 인증 처리를 함께 수행할 상대 장치와의 연결을 요청하는 단계; 및 상기 세션 인증 서버를 통해 상기 상대 장치와 연결되면, 송수신 데이터를 상기 제2 부분 정보를 기반으로 암호화 또는 복호화하는 단계를 포함하는 것을 특징으로 하는 보안 토큰을 이용한 원격 인증 처리 방법을 제공한다.
본 발명에 따른 보안 토큰을 이용한 원격 인증 처리 방법은, 상기 장치가 보안 토큰 모듈인 경우, 상기 추출하는 단계 이전에 상기 1회용 비밀번호를 생성하는 단계를 더 포함하고, 상기 장치가 인증 에이전트 모듈인 경우, 상기 1회용 비밀번호를 입력 받는 단계를 더 포함할 수 있다.
더하여, 본 발명에 따른 보안 토큰을 이용한 원격 인증 처리 방법은, 상기 추출하는 단계 이전에, 제1 랜덤 정보를 생성하는 단계; 상기 생성한 제1 랜덤 정보를 상기 세션 인증 서버로 전송하는 단계; 상기 세션 인증 서버로부터, 상기 세션 인증 서버에서 생성된 제2 랜덤 정보를 수신하는 단계; 및 상기 제1 랜덤 정보와 제2 랜덤 정보를 조합하여, 렌덤키를 생성하는 단계를 더 포함하고, 상기 세션 연결을 요청하는 단계는, 상기 랜덤 키를 기반으로 상기 제1 부분 정보를 암호화하여 전송하도록 할 수 있다.
또한, 본 발명에 따른 보안 토큰을 이용한 원격 인증 처리 방법에 있어서, 상기 송수신하는 단계는, 상기 제2 부분 정보 또는 제1 부분 정보 및 제2 부분 정보를 해쉬 연산하여 세션 키를 생성하고, 상기 세션키로 상기 암호화 및 복호화를 수행할 수 있다.
더하여, 본 발명은 상술한 과제의 다른 해결 수단으로서, 세션 인증 서버가, 보안 토큰 모듈 및 인증 에이전트 모듈과 각각 연결하는 단계; 보안 토큰 모듈 및 인증 에이전트 모듈로부터 각각 특정 1회용 비밀번호로부터 추출된 세션인증용 제1 부분 정보와 단대단 암호화를 위한 제2 부분 정보 중, 제1 부분 정보를 수신하는 단계; 상기 보안 토큰 모듈로부터 수신된 제1 부분 정보와, 인증 에이전트 모듈로부터 수신된 제1 부분 정보가 일치하는 지 비교하는 단계; 및 비교 결과, 일치하면 상기 보안 토큰 모듈 및 인증 에이전트 모듈 간의 중계를 통해 상기 보안 토큰 모듈과 인증 에이전트 모듈간을 연결하는 단계를 포함하는 것을 특징으로 하는 보안 토큰을 이용한 원격 인증 처리 방법을 제공한다.
상기 보안 토큰을 이용한 원격 인증 처리 방법은, 상기 보안 토큰 모듈 및 인증 에이전트 모듈로부터 각각 상기 보안 토큰 모듈 및 인증 에이전트 모듈에서 생성된 제1 랜덤 정보를 수신하는 단계; 및 상기 보안 토큰 모듈 및 인증 에이전트 모듈에 대하여 각각 제2 랜덤 정보를 생성하여, 전송하는 단계를 더 포함하고, 상기 제1 부분 정보를 수신하는 단계는, 상기 보안 토큰 모듈 및 인증 에이전트 모듈와 공유하는 상기 제1 랜덤 정보와 제2 랜덤 정보를 조합하여 랜덤키를 생성하고, 암호화된 제1 부분 정보를 상기 랜덤키로 복호화하도록 할 수 있다.
상술한 보안 토큰을 이용한 원격 인증 처리 방법은 프로그램으로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다.
더하여, 본 발명은 상술한 과제의 다른 해결 수단으로서, 보안 토큰 모듈 및 인증 에이전트 모듈로부터 각각 특정 1회용 비밀번호로부터 추출된 세션 인증을 위한 제1 부분 정보와 단대단 암호화를 위한 제2 부분 정보 중 제1 부분 정보를 수신하여 비교하고, 수신된 제1 부분 정보가 일치하면, 상기 보안 토큰 모듈 및 인증 에이전트 모듈 간을 연결하는 세션 인증 서버; 상기 세션 인증 서버를 통해 인증 에이전트 모듈과 연동하여 보안 토큰에서의 데이터 판독 및 저장 중 적어도 하나를 수행하되, 상기 1회용 비밀번호를 생성하고, 생성된 1회용 비밀번호로부터 상기 제1 부분 정보와 제2 부분 정보를 추출하여, 제1 부분 정보를 세션 인증 서버로 전송한 후, 상기 인증 에이전트 모듈과 송수신하는 데이터를 상기 제2 부분 정보를 기반으로 암호화 혹은 복호화하는 보안 토큰 모듈; 및 상기 세션 인증 서버를 통해 상기 보안 토큰 모듈과 연동하여 인증 처리를 수행하되, 상기 1회용 비밀번호를 입력받아, 입력된 1회용 비밀번호로부터 상기 제1 부분 정보와 제2 부분 정보를 추출하여, 제1 부분 정보를 세션 인증 서버로 전송한 후, 상기 보안 토큰 모듈과 송수신하는 데이터를 상기 제2 부분 정보를 기반으로 암호화 혹은 복호화하는 인증 에이전트 모듈을 포함하는 것을 특징으로 하는 보안 토큰을 이용한 원격 인증 시스템을 제공할 수 있다.
본 발명에 따른 보안 토큰을 이용한 원격 인증 시스템에 있어서, 상기 보안 토큰 모듈과 인증 에이전트 모듈은 각각 제1 랜덤 정보를 생성하여 상기 세션 인증 서버로 전송하고, 상기 세션 인증 서버는 상기 보안 토큰 모듈 및 인증 에이전트 모듈로 각각 제2 랜덤 정보를 생성하여 전송하고, 상기 세션 인증 서버는 상기 보안 토큰 모듈 및 인증 에이전트 모듈과 각각 상기 제1,2 랜덤 정보를 기반으로 생성된 랜덤 키를 이용하여 상기 제1 부분 정보를 암호화 혹은 복호화할 수 있다.
본 발명은 보안 토큰을 이용하여 전자 인증서, 암호키 등의 보안 정보를 저장하고, 이를 기반으로, 암호화 혹은 전자 서명과 같은 인증 처리를 수행하는데 있어서, 보안 토큰 기능을 수행하는 보안 토큰 모듈과, 사용자 인터페이스 및 인증 처리에 대한 요청 및 결과를 처리를 하는 인증 에이전트 모듈을 분리하고, 상기 보안 토큰 모듈과 인증 에이전트 모듈이 세션 인증 서버를 통해 원격으로 통신하여 연동함으로써, 원격 인증 처리를 수행할 수 있도록 한다.
특히, 본 발명은 보안 토큰 모듈 및 인증 에이전트 모듈간의 원격 인증 처리를 수행하는데 있어서, 1회용 비밀번호로부터 제1,2 부분 정보를 추출하고, 이중 제1 부분 정보를 기반으로 세션 인증 서버가 보안 토큰 모듈과 인증 에이전트 모듈간의 세션 연결에 대한 인증을 수행하여, 세션 연결이 인증된 보안 토큰 모듈과 인증 에이전트 모듈을 중계하여 통신이 이루어지도록 하며, 상기 제2 부분 정보를 기반으로 상기 통신하는 보안 토큰 모듈과 인증 에이전트 모듈이 데이터의 암호화 및 복호화를 수행하도록 할 수 있다.
이에 따르면, 본 발명은 1회용 비밀번호를 이용하여 보안 토큰 모듈 및 인증 에이전트 모듈 간의 세션 연결 인증 및 데이터의 암호화 및 복호화를 수행할 수 있도록 함으로써, 사용자 개입을 최소화하면서 보안 토큰 모듈 및 인증 에이전트 모듈 간의 안전한 통신을 지원할 수 있다.
도 1은 본 발명에 따른 보안 토큰을 이용한 원격 인증 시스템의 전체 구성을 개략적으로 나타낸 도면이다.
도 2는 본 발명에 따른 보안 토큰을 이용한 원격 인증 처리 방법을 보인 순서도이다.
도 3은 본 발명에 따른 세션 인증 서버의 구성을 나타낸 블럭도이다.
도 4는 본 발명에 따른 원격 인증 처리에 이용되는 제1,2 단말의 구성을 나타낸 블럭도이다.
이하 본 발명의 바람직한 실시 예를 첨부한 도면을 참조하여 상세히 설명한다. 다만, 하기의 설명 및 첨부된 도면에서 본 발명의 요지를 흐릴 수 있는 공지 기능 또는 구성에 대한 상세한 설명은 생략한다. 또한, 도면 전체에 걸쳐 동일한 구성 요소들은 가능한 한 동일한 도면 부호로 나타내고 있음에 유의하여야 한다.
이하에서 설명되는 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위한 용어의 개념으로 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서 본 명세서에 기재된 실시 예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일 실시 예에 불과할 뿐이고, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형 예들이 있을 수 있음을 이해하여야 한다.
또한, 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하기 위해 사용하는 것으로, 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용될 뿐, 상기 구성요소들을 한정하기 위해 사용되지 않는다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제2 구성요소는 제1 구성요소로 명명될 수 있고, 유사하게 제1 구성요소도 제2 구성요소로 명명될 수 있다.
더하여, 어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급할 경우, 이는 논리적 또는 물리적으로 연결되거나, 접속될 수 있음을 의미한다. 다시 말해, 구성요소가 다른 구성요소에 직접적으로 연결되거나 접속되어 있을 수 있지만, 중간에 다른 구성요소가 존재할 수도 있으며, 간접적으로 연결되거나 접속될 수도 있다고 이해되어야 할 것이다.
또한, 본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 또한, 본 명세서에서 기술되는 "포함 한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
도 1은 본 발명에 따른 보안 토큰을 이용한 원격 인증 시스템의 전체 구성을 개략적으로 나타낸 도면이다.
도 1을 참조하면, 본 발명에 따른 원격 인증 시스템은, 통신망(10)을 통해 연동하는 세션 인증 서버(100)와, 보안 토큰 모듈(200)과, 인증 에이전트 모듈(300)을 포함할 수 있다.
여기서, 보안 토큰 모듈(200)과 인증 에이전트 모듈(300)은 하드웨어 혹은 소프트웨어 혹은 하드웨어와 소프트웨어의 조합으로 구현될 수 있는 것으로서, 각각 PC, 노트북, 태블릿 PC, 스마트폰 등과 같은 사용자 단말에 설치되어, 상기 사용자 단말을 통해 상기 세션 인증 서버(100)과 통신을 수행한다. 본 발명의 바람직한 실시 예에서, 상기 보안 토큰 모듈(200)과 인증 에이전트 모듈(300)은 소프트웨어로 구현된다.
이때, 상기 보안 토큰 모듈(200)이 설치되는 사용자 단말을 제1 단말(20)이라 하고, 인증 에이전트 모듈(300)이 설치되는 사용자 단말을 제2 단말(30)이라 한다. 상기 제1 단말(20)은 예를 들어, 스마트폰과 같이 사용자가 항시 휴대 가능한 사용자 단말일 수 있으며, 제2 단말(30)은, PC, 노트북, 태블릿 PC, 스마트폰 중 어느 것이라도 가능하다. 이때, 보안 토큰은, 상기 스마트폰에 장착된 USIM 모듈이나, 상기 스마트폰에 설치된 소프트웨어 보안 토큰이 될 수 있다.
상기 본 발명에 따른 원격 인증 시스템의 구성 요소 각각에 대해 보다 구체적으로 설명하면 다음과 같다.
세션 인증 서버(100)는, 상기 보안 토큰 모듈(200)과 인증 에이전트 모듈(300) 간에 원격 인증 처리를 위한 세션을 연결하기 위한 수단으로서, 이를 위하여, 상기 세션 인증 서버(100)는 보안 토큰 모듈(200) 및 인증 에이전트 모듈(300)로부터 각각 특정 1회용 비밀번호로부터 추출되는 세션인증용 제1 부분 정보와 단대단 암호화를 위한 제2 부분 정보 중에서, 제1 부분 정보를 수신하고, 수신된 두 개의 제1 부분 정보가 일치하는 비교한다. 이때, 상기 제1 부분 정보는 세션 인증 서버(100)가 상기 보안 토큰 모듈(200) 및 인증 에이전트 모듈(300)과 각각 공유하는 암호키를 기반으로 암호화되어 전송되도록 함으로써, 상기 제1 부분 정보의 노출을 방지할 수 있다.
그리고, 상기 세션 인증 서버(100)는 비교 결과, 보안 토큰 모듈(200) 및 인증 에이전트 모듈(300)로부터 각각 수신된 제1 부분 정보가 일치하면, 보안 토큰 모듈(200) 및 인증 에이전트 모듈(300) 간의 세션에 대한 인증이 성공한 것으로 판단하여, 상기 보안 토큰 모듈(200)과 인증 에이전트 모듈(300)의 세션을 연결한다. 이때, 상기 보안 토큰 모듈(200)과 인증 에이전트 모듈(300) 간의 세션 연결은, 상기 세션 인증 서버(100)가 터널링 등을 통해서 상기 보안 토큰 모듈(200)과 인증 에이전트 모듈(300) 간을 중계하는 방식으로 이루어질 수 있다.
상기 세션 인증 서버(100)는 상기 보안 토큰 모듈(200)과 인증 에이전트 모듈(300) 간을 연결한 후에는, 상기 보안 토큰 모듈(200)과 인증 에이전트 모듈(300)로부터 송신된 데이터를 단순히 상대방에 전달하는 단순 중계 기능만을 수행한다.
다음으로, 상기 보안 토큰 모듈(200)은 보안 토큰 기반의 인증 처리에 있어서, 보안 토큰과 동일한 단말, 즉, 제1 단말(20)에 구비되어, 보안 토큰에 대한 데이터 판독 및 저장 중 적어도 하나를 수행하는 구성으로서, 하드웨어 혹은 소프트웨어 형태로 구현된 보안 토큰과 일체로 구현되거나, 상기 하드웨어 혹은 소프트웨어 형태로 구현된 보안 토큰에 연결되도록 구현될 수 있다. 본 발명의 바람직한 실시 예에서, 상기 보안 토큰 모듈(200)은 소프트웨어 보안 토큰과 일체로 구현될 수 있다.
이러한 보안 토큰 모듈(200)은, 상기 인증 에이전트 모듈(300)과의 연동을 위하여, 1회용 비밀번호를 생성하고, 생성된 1회용 비밀번호로부터 상기 제1 부분 정보와 제2 부분 정보를 추출하고, 그 중에서 제1 부분 정보를 세션 인증 서버(100)로 전송하여 인증 에이전트 모듈(300)과의 세션 연결에 대한 인증을 받은 후, 상기 세션 인증 서버(100)를 통해서 상기 인증 에이전트 모듈(300)과 데이터를 송수신한다. 여기서, 상기 1회용 비밀번호는, OTP(One Time Password) 알고리즘으로 생성될 수 있으며, 상기 제1,2 부분 정보는, 기 설정된 랜덤 셀렉터 함수를 통해서 상기 1회용 비밀번호로부터 추출될 수 있다. 그리고, 상기 보안 토큰 모듈(200)은 상기 생성한 1회용 비밀번호를 사용자가 알 수 있도록 출력할 수 있다.
이때, 상기 보안 토큰 모듈(200)과 인증 에이전트 모듈(300) 간에 송수신되는 데이터는, 상기 1회용 비밀번호로부터 추출된 제1,2 부분 정보 중, 상기 제2 부분 정보를 기반으로 암호화 혹은 복호화된다. 즉, 상기 보안 토큰 모듈(200)은 상기 제2 부분 정보를 기반으로 데이터를 암호화하여 인증 에이전트 모듈(300)로 전송하고, 반대로 인증 에이전트 모듈(300)로부터 전송된 데이터를 세션 인증 서버(100)를 통해 수신한 후, 상기 제2 부분 정보를 기반으로 복호화한다.
한편, 인증 에이전트 모듈(300)은, 인증 처리를 요청하는 사용자 단말, 즉, 제2 단말(30)에 설치되어 상기 보안 토큰 모듈(200)과 연동하여 인증 처리를 수행하는 수단으로서, 예를 들어, 제2 단말(30)에서 인터넷 뱅킹 혹은 전자상거래와 같은 온라인 금융 거래를 수행하는 중에, 동작하여 상기 보안 토큰 모듈(200)로 암호 혹은 전자서명과 같은 인증 처리를 요청하고, 그 처리 결과를 수신하여, 상기 제2 단말(30), 더 구체적으로는 온라인 금융 거래를 수행하는 프로세스로 제공할 수 있다.
이때, 상기 인증 에이전트 모듈(300)은 상기 보안 토큰 모듈(200)과의 안전한 연동을 위하여, 1회용 비밀번호를 입력받아, 입력된 1회용 비밀번호로부터 제1 부분 정보와 제2 부분 정보를 추출하고, 그 중에서 제1 부분 정보를 세션 인증 서버(100)로 전송하여 보안 토큰 모듈(200)과의 세션 연결에 대한 인증을 받은 후, 상기 세션 인증 서버(100)를 통해서 상기 보안 토큰 모듈(200)과 데이터를 송수신한다. 상기 인증 에이전트 모듈(300)은 상기 보안 토큰 모듈(200)과의 사이에 송수신하는 데이터를 상기 제2 부분 정보를 기반으로 암호화 혹은 복호화한다.
이때, 상기 인증 에이전트 모듈(300)은 1회용 비밀번호를 입력 받기 위한 UI(User interface)를 제공하여, 사용자가 상기 보안 토큰 모듈(200)에서 생성된 1회용 비밀번호를 입력하도록 할 수 있다. 아울러, 상기 인증 에이전트 모듈(300)은, 기 설정된 랜덤 셀렉터 함수를 통해서 입력된 1회용 비밀번호로부터 제1,2 부분 정보를 추출할 수 있으며, 이때, 상기 보안 토큰 모듈(200)과 동일한 제1,2 부분 정보가 추출되도록, 상기 보안 토큰 모듈(200)과 동일한 랜덤 셀렉터 함수를 사용한다.
상술한 바에 의하면, 상기 보안 토큰 모듈(200)과 인증 에이전트 모듈(300) 간의 데이터를 중계하는 세션 인증 서버(100)는 상기 제2 부분 정보를 획득할 수 없으므로, 암호화되어 중계되는 데이터를 복호화할 수 없으며, 따라서, 상기 세션 인증 서버(100)를 통한 데이터의 유출 가능성이 거의 없다.
뿐만 아니라, 상술한 바에 의하면, 1회용 비밀번호만을 가지고, 보안 토큰 모듈(200)과 인증 에이전트 모듈(300) 간의 세션 연결에 대한 인증 및 상기 보안 토큰 모듈(200)과 인증 에이전트 모듈(300) 간의 세션 암호화를 수행할 수 있게 되므로 별도의 인증키 및 암호키 등을 필요로 하지 않게 되어 편의성이 더 높아지게 된다.
따라서, 보안 토큰이 연결된 제1 단말(30)이 아닌 다른 단말, 예를 들어, 제2 단말(30)에서 온라인 금융 거래를 위해 공인인증서 기반의 전자서명이 필요할 때, 최소한의 사용자 개입으로 상기 제2 단말(30)이 제1 단말(20)의 보안 토큰으로부터 처리된 결과를 안전하게 수신할 수 있게 된다.
다음으로, 도 2는 본 발명에 따른 보안 토큰을 이용한 원격 인증 처리 방법을 보인 순서도로서, 이를 참조하여 본 발명에 따른 원격 인증 시스템에서의 보안 토큰을 이용한 원격 인증 처리 과정을 설명한다.
본 발명에 따른 원격 인증 처리를 위하여, 실제 보안 토큰이 연결된 제1 단말(20)에 설치된 보안 토큰 모듈(200)과, 인증 처리가 요청되는 제2 단말(30)에 설치된 인증 에이전트 모듈(300)이 각각 통신망(10)을 통해서 세션 인증 서버(100)에 접속한다(S101, S103).
그리고, 상기 보안 토큰 모듈(200)과 인증 에이전트 모듈(300)은 각각 세션 인증 서버(100)와의 사이에서 세션 인증을 위한 정보를 안전하게 교환하기 위한 암호화 정보 교환 과정을 수행한다.
구체적으로, 상기 보안 토큰 모듈(200)과 인증 에이전트 모듈(300)은 각각 세션 인증 서버(100)와의 암호화 전송을 위한 제1 랜덤 정보(R1, R1')를 생성한다(S105, S109). 보안 토큰 모듈(200)에서 생성되는 제1 랜덤 정보(R1)과 인증 에이전트 모듈(300)에서 생성되는 제1 랜덤 정보(R1')는 상호 관련이 없는 것으로서, 서로 다른 알고리즘을 통해 생성될 수 있다.
그리고, 상기 보안 토큰 모듈(200)과 인증 에이전트 모듈(300)은 각각 상기 생성한 제1 랜덤 정보(R1, R1')를 상기 세션 인증 서버(100)로 전송한다(S107, S111).
마찬가지로, 상기 세션 인증 서버(100)도 상기 보안 토큰 모듈(200)과 인증 에이전트 모듈(300)과의 암호화 전송을 위한 제2 랜덤 정보(R2, R2')를 각각 생성한다(S113, S117). 상기 보안 토큰 모듈(200)과의 암호화를 위한 제2 랜덤 정보(R2)와 인증 에이전트 모듈(300)과의 암호화를 위한 제2 랜덤 정보(R2')도 상호 관련이 없는 것으로서, 서로 다른 알고리즘을 통해 생성될 수 있다.
그리고, 상기 세션 인증 서버(100)는 상기 제2 랜덤 정보(R2, R2')를 각각 보안 토큰 모듈(200)과 인증 에이전트 모듈(300)로 전송한다(S115, S119).
상술한 S115 단계 내지 S150 단계에 의하여, 세션 인증 서버(100)와 상기 보안 토큰 모듈(200) 및 인증 에이전트 모듈(300)은 상호 간의 암호화 통신을 위하여 제1,2 랜덤 정보를 공유하게 된다.
제1,2 랜덤 정보 R1 및 R2를 공유한 보안 토큰 모듈(200)과 세션 인증 서버(100)는 상호 암호키로 사용할 랜덤키 R을 각각 생성(R = {R1, R2})하여 공유하며(S121, S123), 제1,2 랜덤 정보 R1' 및 R2'를 공유한 인증 에이전트 모듈(300)과 세션 인증 서버(100)는 상호 암호키로 사용할 랜덤키 R'를 각각 생성(R' = {R1', R2'})하여 공유한다(S125, S127). 여기에서, {A, B}는 A와 B를 조합하는 것을 의미한다.
이어서, 상기 보안 토큰 모듈(200)은, OTP 알고리즘을 통해서 1회용 비밀번호를 생성한다(S129). 이때, 상기 보안 토큰 모듈(200)은 상기 생성한 1회용 비밀번호를 사용자가 인식할 수 있도록 출력할 수 있다.
이어서, 상기 보안 토큰 모듈(200)은, 기 설정된 랜덤 셀렉터 알고리즘을 통해서 상기 생성한 1회용 비밀번호로부터 제1,2 부분 정보(K1, K2)를 추출한다(S131). 상기 제1,2 부분 정보(K1, K2)는 상기 1회용 비밀번호로부터 자릿수를 기준으로 추출하거나, 기 설정된 함수 연산을 통해 추출할 수 있다. 이때, 제1 부분 정보(K1)은 세션 인증 서버(100)에서 인증 에이전트 모듈(300)과 보안 토큰 모듈(200) 간의 세션 연결 대상을 확인하기 위한 세션 인증용으로 이용되고, 제2 부분 정보는 보안 토큰 모듈(200)과 인증 에이전트 모듈(300) 간의 암호화 통신을 위한 세션키로 이용되거나, 상기 세션키의 생성에 이용될 수 있다.
구체적으로, 상기 보안 토큰 모듈(200)은 상기 추출한 제1,2 부분 정보(K1, K2) 중에서 제1 부분 정보(K1)를 세션 인증 서버(100)로 전송하여, 세션연결을 요청하는데, 이때, 앞서 세션 인증 서버(100)와 공유하는 제1,2 랜덤 정보(R1, R2)를 조합하여 생성한 랜덤키(R)로 상기 제1 부분 정보(K1)를 암호화한(S133) 후, 암호화된 제1 부분 정보 E(K1,R)를 상기 세션 인증 서버(100)로 전송한다(S135). 여기서, E(K1, R)은 제1부분 정보 K1을 랜덤키 R로 암호화한 것을 의미한다.
한편, 상기 인증 에이전트 모듈(300)은 사용자로부터 1회용 비밀번호를 입력 받는다(S137). 이때, 사용자는 보안 토큰 모듈(200)에서 생성되어 출력된 1회용 비밀번호를 확인한 후, 상기 1회용 비밀번호를 상기 인증 에이전트 모듈(300)로 입력할 수 있다.
이에, 상기 인증 에이전트 모듈(300)은 보안 토큰 모듈(200)과 동일한 랜덤 셀렉터 알고리즘을 통해서 상기 입력된 1회용 비밀번호로부터 제1,2 부분 정보(K1, K2)를 추출하고(S139), 앞서 상기 세션 인증 서버(100)와 공유하는 제1,2 랜덤 정보(R1', R2')를 조합하여 생성한 랜덤키(R')로 상기 제1 부분 정보(K1)를 암호화한(S141) 후, 암호화된 제1 부분 정보 E(K1,R')를 상기 세션 인증 서버(100)로 전송한다(S143).
이렇게 보안 토큰 모듈(200)과 인증 에이전트 모듈(300)로부터 각각 암호화된 제1 부분 정보를 수신한 세션 인증 서버(100)은 이를 보안 토큰 모듈(200)과 인증 에이전트 모듈(300)과 각각 공유하는 랜덤키(R,R')를 기반으로 상기 암호화된 제1 부분 정보 E(K1,R) 및 E(K1,R')를 복호화하여(S145, S147), 상기 보안 토큰 모듈(200)과 인증 에이전트 모듈(300)이 각각 전송한 제1 부분 정보를 복원하고, 이들을 비교하여 세션 인증을 수행하고(S149), 상기 보안 토큰 모듈(200)과 인증 에이전트 모듈(300)로 세션 인증 결과를 전송하여 알린다(S151, S153).
여기서, 상기 세션 인증 서버(100)는 보안 토큰 모듈(200)과 인증 에이전트 모듈(300)이 전송한 제1 부분 정보가 동일한 경우, 상기 보안 토큰 모듈(200)과 인증 에이전트 모듈(300) 간의 세션 인증이 성공한 것으로 판단하여, 제1 부분 정보가 일치하는 상기 보안 토큰 모듈(200)과 인증 에이전트 모듈(300) 간의 중계를 수행한다(S155).
따라서, 상기 보안 토큰 모듈(200)과 인증 에이전트 모듈(300)은 세션 인증 서버(100)를 통해서 인증 처리를 위한 데이터를 송수신하게 된다.
한편, 상기 보안 토큰 모듈(200) 및 인증 에이전트 모듈(300)은 상기 1회용 비밀번호로부터 추출된 제2 부분 정보 K2를 기반으로 동일한 세션키 K를 생성하여 공유한다(S157, S159). 이때, 상기 제2 부분 정보 K2를 그대로 세션키 K로 이용하거나, 상기 제2 부분 정보 K2를 해쉬연산하여 세션키를 생성할 수 있다.
그리고, 상기 보안 토큰 모듈(200) 및 인증 에이전트 모듈(300)은 상기 공유하는 세션키를 이용하여 데이터를 송수신한다(S161). 구체적으로, 상기 보안 토큰 모듈(200) 및 인증 에이전트 모듈(300)은 각각 데이터를 상기 세션키로 암호화하여 세션 인증 서버(100)를 통해 인증 에이전트 모듈(300) 및 보안 토큰 모듈(200)로 전송하고, 반대로 상기 세션 인증 서버(100)를 통해 수신된 데이터를 상기 세션키로 복호화한다.
본 발명에 따른 보안 토큰을 이용한 원격 인증 처리 방법은 다양한 컴퓨터 수단을 통하여 판독 가능한 소프트웨어 형태로 구현되어 컴퓨터로 판독 가능한 기록매체에 기록될 수 있다. 여기서, 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM(Compact Disk Read Only Memory), DVD(Digital Video Disk)와 같은 광 기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 및 롬(ROM), 램(RAM, Random Access Memory), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함한다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 이러한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다. 특히, 본 발명에 따른 보안 토큰을 위한 원격 인증 처리 방법은, 하나 이상의 기록 매체에 분산 기록되고, 하나 이상의 서로 다른 프로세서에 의해서 실행될 수 있다.
상술한 보안토큰을 이용한 원격 인증 처리 과정을 수행하기 위한 세션 인증 서버(100)는 도 3에 도시된 바와 같이 구성될 수 있다.
도 3을 참조하면, 상기 세션 인증 서버(100)는 통신부(110)와, 세션 인증부(120)와, 세션 연결부(130)를 포함한다. 참고로, 상기 세션 인증 서버(100)의 구성은 단순히 기능 단위로 구분하여 나타낸 것으로서, 실제 구현 시 하드웨어 혹은 소프트웨어적으로 부분적으로 통합되어 구현될 수도 있다. 또한, 상기 구성은 필요에 따라서 하나 이상의 서버에 분산되어 구현될 수 도 있다.
상기 통신부(110)는 통신망(10)을 통해서 데이터를 송수신하기 위한 통신 인터페이스 수단을 의미하는 것으로서, 통신망(10)에서 지원하는 통신 규격에 따른 통신 표준을 지원할 수 있다. 특히, 상기 통신부(110)는 통신망(10)을 통해서 상기 보안 토큰 모듈(200)과 인증 에이전트 모듈(300)이 설치된 제1,2 단말(20,30)로부터의 접속 요청을 수신하여, 상기 제1,2 단말(20, 30)과 세션을 형성하고, 이후, 상기 제1,2 단말(20, 30)로 세션 연결을 위한 정보들을 송수신한다.
세션 인증부(120)는 상기 통신부(110)에 접속된 제1,2 단말(20, 30)의 보안 토큰 모듈(200) 및 인증 에이전트 모듈(300)로부터 각각 세션 인증을 위한 제1 부분 정보를 수신하고, 수신된 제1 부분 정보를 비교하여, 제1 부분 정보가 일치하는 보안 토큰 모듈(200)과 인증 에이전트 모듈(300) 간의 세션 연결을 인증한다. 상기 세션 인증부(120)는 상기 제1 부분 정보를 안전하게 교환하기 위하여, 제1 부분 정보의 암호화/복호화를 위한 처리를 더 수행할 수 있다.
세션 연결부(130)는 상기 세션 인증부(120)에서 세션 연결이 인증된, 상기 보안 토큰 모듈(200)과 인증 에이전트 모듈(300)을 연결하기 위한 수단으로서, 상기 세션 연결부(130)는 세션 연결 인증 후, 상기 통신부(110)를 통해서 보안 토큰 모듈(200)로부터 수신된 데이터를 인증 에이전트 모듈(300)로 전달하고, 역으로 인증 에이전트 모듈(300)로부터 수신된 데이터를 보안 토큰 모듈(200)로 전달한다.
그리고, 본 발명에 따른 원격 인증 처리를 수행하기 위한 보안 토큰 모듈(200) 및 인증 에이전트 모듈(300)는 스마트폰, 태블릿 PC, PC, 노트북PC 등과 같은 사용자 단말에 구비되어, 상기 사용자 단말의 프로세서에 의해 실행되는 것으로서, 이때, 상기 사용자 단말은 도 4에 도시된 바와 같은 구성을 포함한다.
즉, 본 발명에 따른 보안 토큰 모듈(200) 및 인증 에이전트 모듈(300)이 적용되는 사용자 단말은, 통신부(41)와, 입력부(42)와, 출력부(43)와, 저장부(44)와, I/O 인터페이스부(45)와, 제어부(46)를 포함할 수 있다.
상기 통신부(41)는 통신망(10)에 접속하여, 상기 통신망(10)을 통해 데이터를 송수신한다. 이러한 통신부(41)는 통신망(10)의 종류에 따라서, 유선 방식 및 무선 방식뿐만 아니라 다양한 통신 방식을 통해서 데이터를 처리할 수 있다. 더하여, 하나 이상의 통신 방식을 사용하여 데이터를 송수신할 수 있으며, 이를 위하여 통신부(41)는 각각 서로 다른 통신 방식에 따라서 데이터를 송수신하는 복수의 통신 모듈을 포함할 수 있다. 특히, 본 발명의 실시 예에 따른 통신부(11)는 상기 보안 토큰 모듈(200) 또는 인증 에이전트 모듈(300)의 기능 수행에 따라서, 세션 인증 서버(100)에 접속하여, 상기 세션 인증 서버(100)로 데이터를 송신하거나 세션 인증 서버(100)로부터 데이터를 수신한다.
입력부(42)는 사용자 명령 혹은 데이터를 입력하기 위한 수단으로서, 사용자 조작에 따라서 숫자, 문자, 및 기호를 포함하는 다양한 입력 데이터를 생성하여 제어부(46)로 전달하고, 상기 입력부(42)를 통해 제어부(46)로 전달되는 입력 데이터는, 단말의 기능 설정 및 기능 제어와 관련된 명령을 더 포함할 수 있다. 이러한 입력부(42)는 사용자의 조작에 따라 입력 신호를 발생하는 키패드와 터치패드 중 적어도 하나를 포함하여 구성될 수 있다. 또한, 입력부(42)는 키보드, 키패드, 마우스, 조이스틱 등과 같은 입력 장치 외에도 향후 개발될 수 있는 모든 형태의 입력 수단으로 구현될 수 있다.
출력부(43)는 기본적으로, 사용자 단말의 동작에 따라 발생되는 정보를 사용자가 시각, 청각, 또는, 촉각으로 인지할 수 있도록 출력하기 위한 수단이다. 출력부(43)는 시각적인 정보를 출력하는 표시 장치, 청각적인 정보를 출력하는 오디오 장치(스피커), 촉각적인 정보를 출력하는 햅틱 장치 등을 포함할 수 있다. 표시 장치는 터치스크린(touch screen)이 될 수 있으며, 이와 같이, 터치스크린 형태로 표시 장치가 형성된 경우, 표시 장치는 입력부(42)의 기능 중 일부 또는 전부를 수행할 수 있다. 오디오 장치는 대표적으로 스피커를 예시할 수 있다. 특히, 본 발명의 실시 예에 따른 출력부(43)를 통해서, 보안 토큰 모듈(200)에 의해 생성된 1회용 비밀번호가 출력될 수 있다.
저장부(44)는 사용자 단말의 동작에 필요한 프로그램 및 데이터를 저장하기 위한 구성이다. 저장부(43)는, 기본적으로 단말 장치(10)의 운영(OS: Operating System) 프로그램이 저장되며, 더불어, 상기 OS 환경을 기반으로 동작하는 하나 이상의 애플리케이션 및 그의 실행에 필요하거나 실행 중에 생성된 데이터를 저장할 수 있다. 본 발명에 따른 보안 토큰 모듈(200) 및 인증 에이전트 모듈(300)은 소프트웨어로 구현될 경우, 상기 저장부(44)에 저장되고, 제어부(46)에 의해 로딩되어 실행될 수 있다. 이러한 저장부(44)는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM(Compact Disk Read Only Memory), DVD(Digital Video Disk)와 같은 광 기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 및 롬(ROM), 램(RAM, Random Access Memory), 플래시 메모리를 포함할 수 있다.
I/O 인터페이스부(45)는 사용자 단말과 외부 장치 간의 입출력을 지원하는 구성으로서, 구체적으로, 데이터 코드 형식, 데이터 전송 속도, 데이터 전송 방식 등이 상이한 상기 제어부(46)와 외부 장치 간에 데이터를 전송할 수 있도록 인터페이싱하는 구성이다. 특히, 본 발명의 일 실시 예에 있어서, USIM 칩과 같은 하드웨어 보안 토큰은 상기 I/O 인터페이스부(45)를 통해 제어부(46)와 연결될 수 있다.
마지막으로, 제어부(46)는 사용자 단말의 전반적인 동작을 제어하기 위한 구성으로서, 프로세서 및 시스템 메모리를 포함하여 구현될 수 있다. 상기 프로세서는 본 발명에 따른 방법을 실행하기 위한 프로그램 명령을 처리할 수 있다. 일 구현 예에서, 이 프로세서는 싱글 쓰레드(Single-threaded) 프로세서일 수 있으며, 다른 구현 예에서 본 프로세서는 멀티 쓰레드(Multithreaded) 프로세서일 수 있다. 나아가 본 프로세서는 메모리 혹은 저장 장치 상에 저장된 명령을 처리하는 것이 가능하다. 이러한 제어부(15)는 전원 온 시, 먼저 저장부(44)에 저장된 OS 프로그램을 실행하여, 실행 환경을 구축하고, 상기 실행 환경 위에서, 입력부(42)로부터 전달된 사용자 명령에 따라서 하나 이상의 애플리케이션을 실행하여, 소정의 기능 혹은 서비스를 사용자에게 제공할 수 있다. 특히, 본 발명에 따른 보안 토큰 모듈(200) 및 인증 에이전트 모듈(300)은 상기 제어부(46)의 프로세서에 의해 실행됨으로써, 상기 도 2와 같인 원격 인증 처리를 수행한다.
이상과 같이, 본 명세서와 도면에는 본 발명의 바람직한 실시 예에 대하여 개시하였으나, 여기에 개시된 실시 예외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다. 또한, 본 명세서와 도면에서 특정 용어들이 사용되었으나, 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다.
본 발명에 따른 세션 인증 서버(100), 보안 토큰 모듈(200) 및 인증 에이전트 모듈(300)은 하나 이상의 프로세서로 하여금 앞서 설명한 기능들과 프로세스를 수행하도록 하는 명령에 의하여 구동될 수 있다. 예를 들어 그러한 명령으로는, 예컨대 JavaScript나 ECMAScript 명령 등의 스크립트 명령과 같은 해석되는 명령이나 실행 가능한 코드 혹은 컴퓨터로 판독 가능한 매체에 저장되는 기타의 명령이 포함될 수 있다. 나아가 본 발명에 따른 장치는 서버 팜(Server Farm)과 같이 네트워크에 걸쳐서 분산형으로 구현될 수 있으며, 혹은 단일의 컴퓨터 장치에서 구현될 수도 있다.
비록 본 명세서와 도면에서는 예시적인 장치 구성을 기술하고 있지만, 본 명세서에서 설명하는 기능적인 동작과 주제의 구현물들은 다른 유형의 디지털 전자 회로로 구현되거나, 본 명세서에서 개시하는 구조 및 그 구조적인 등가물들을 포함하는 컴퓨터 소프트웨어, 펌웨어 혹은 하드웨어로 구현되거나, 이들 중 하나 이상의 결합으로 구현 가능하다. 본 명세서에서 설명하는 주제의 구현물들은 하나 이상의 컴퓨터 프로그램 제품, 다시 말해 본 발명에 따른 장치의 동작을 제어하기 위하여 혹은 이것에 의한 실행을 위하여 유형의 프로그램 저장매체 상에 인코딩된 컴퓨터 프로그램 명령에 관한 하나 이상의 모듈로서 구현될 수 있다. 컴퓨터로 판독 가능한 매체는 기계로 판독 가능한 저장 장치, 기계로 판독 가능한 저장 기판, 메모리 장치, 기계로 판독 가능한 전파형 신호에 영향을 미치는 물질의 조성물 혹은 이들 중 하나 이상의 조합일 수 있다.
본 명세서에서 설명한 주제의 구현물은 예컨대 데이터 서버와 같은 백엔드 컴포넌트를 포함하거나, 예컨대 어플리케이션 서버와 같은 미들웨어 컴포넌트를 포함하거나, 예컨대 사용자가 본 명세서에서 설명한 주제의 구현물과 상호 작용할 수 있는 웹 브라우저나 그래픽 유저 인터페이스를 갖는 클라이언트 컴퓨터와 같은 프론트엔드 컴포넌트 혹은 그러한 백엔드, 미들웨어 혹은 프론트엔드 컴포넌트의 하나 이상의 모든 조합을 포함하는 연산 시스템에서 구현될 수 있다. 시스템의 컴포넌트는 예컨대 통신 네트워크와 같은 디지털 데이터 통신의 어떠한 형태나 매체에 의해서도 상호 접속 가능하다.
본 명세서는 다수의 특정한 구현물의 세부사항들을 포함하지만, 이들은 어떠한 발명이나 청구 가능한 것의 범위에 대해서도 제한적인 것으로서 이해되어서는 안되며, 오히려 특정한 발명의 특정한 실시형태에 특유할 수 있는 특징들에 대한 설명으로서 이해되어야 한다. 개별적인 실시형태의 문맥에서 본 명세서에 기술된 특정한 특징들은 단일 실시형태에서 조합하여 구현될 수도 있다. 반대로, 단일 실시형태의 문맥에서 기술한 다양한 특징들 역시 개별적으로 혹은 어떠한 적절한 하위 조합으로도 복수의 실시형태에서 구현 가능하다. 나아가, 특징들이 특정한 조합으로 동작하고 초기에 그와 같이 청구된 바와 같이 묘사될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징들은 일부 경우에 그 조합으로부터 배제될 수 있으며, 그 청구된 조합은 하위 조합이나 하위 조합의 변형물로 변경될 수 있다.
마찬가지로, 특정한 순서로 도면에서 동작들을 묘사하고 있지만, 이는 바람직한 결과를 얻기 위하여 도시된 그 특정한 순서나 순차적인 순서대로 그러한 동작들을 수행하여야 한다거나 모든 도시된 동작들이 수행되어야 하는 것으로 이해되어서는 안 된다. 특정한 경우, 멀티태스킹과 병렬 프로세싱이 유리할 수 있다. 또한, 상술한 실시형태의 다양한 시스템 컴포넌트의 분리는 그러한 분리를 모든 실시형태에서 요구하는 것으로 이해되어서는 안되며, 설명한 프로그램 컴포넌트와 시스템들은 일반적으로 단일의 소프트웨어 제품으로 함께 통합되거나 다중 소프트웨어 제품에 패키징될 수 있다는 점을 이해하여야 한다.
본 명세서에서 설명한 주제의 특정한 실시형태를 설명하였다. 기타의 실시형태들은 이하의 청구항의 범위 내에 속한다. 예컨대, 청구항에서 인용된 동작들은 상이한 순서로 수행되면서도 여전히 바람직한 결과를 성취할 수 있다. 일 예로서, 첨부도면에 도시한 프로세스는 바람직한 결과를 얻기 위하여 반드시 그 특정한 도시된 순서나 순차적인 순서를 요구하지 않는다. 특정한 구현 예에서, 멀티태스킹과 병렬 프로세싱이 유리할 수 있다.
본 기술한 설명은 본 발명의 최상의 모드를 제시하고 있으며, 본 발명을 설명하기 위하여, 그리고 당업자가 본 발명을 제작 및 이용할 수 있도록 하기 위한 예를 제공하고 있다. 이렇게 작성된 명세서는 그 제시된 구체적인 용어에 본 발명을 제한하는 것이 아니다. 따라서, 상술한 예를 참조하여 본 발명을 상세하게 설명하였지만, 당업자라면 본 발명의 범위를 벗어나지 않으면서도 본 예들에 대한 개조, 변경 및 변형을 가할 수 있다.
따라서 본 발명의 범위는 설명된 실시 예에 의하여 정할 것이 아니고 특허청구범위에 의해 정하여져야 한다.
본 발명은 보안 토큰을 이용하여 전자 인증서, 암호키 등의 보안 정보를 저장하고, 이를 기반으로, 암호화 혹은 전자 서명과 같은 인증 처리를 수행하는데 있어서, 보안 토큰 기능을 수행하는 보안 토큰 모듈과, 사용자 인터페이스 및 인증 처리에 대한 요청 및 결과를 처리를 하는 인증 에이전트 모듈을 분리하고, 상기 보안 토큰 모듈과 인증 에이전트 모듈이 세션 인증 서버를 통해 원격으로 통신하여 연동함으로써, 원격 인증 처리를 수행할 수 있도록 한다.
특히, 본 발명은 보안 토큰 모듈 및 인증 에이전트 모듈간의 원격 인증 처리를 수행하는데 있어서, 1회용 비밀번호로부터 제1,2 부분 정보를 추출하고, 이중 제1 부분 정보를 기반으로 세션 인증 서버가 보안 토큰 모듈과 인증 에이전트 모듈간의 세션 연결에 대한 인증을 수행하여, 세션 연결이 인증된 보안 토큰 모듈과 인증 에이전트 모듈을 중계하여 통신이 이루어지도록 하며, 상기 제2 부분 정보를 기반으로 상기 통신하는 보안 토큰 모듈과 인증 에이전트 모듈이 데이터의 암호화 및 복호화를 수행하도록 할 수 있다.
이에 따르면, 본 발명은 1회용 비밀번호를 이용하여 보안 토큰 모듈 및 인증 에이전트 모듈 간의 세션 연결 인증 및 데이터의 암호화 및 복호화를 수행할 수 있도록 함으로써, 사용자 개입을 최대한 간편화하면서 보안 토큰 모듈 및 인증 에이전트 모듈 간의 안전한 통신을 지원할 수 있다.
10: 통신망
20: 제1 단말
30: 제2 단말
100: 세션 인증 서버
200: 보안 토큰 모듈
300: 인증 에이전트 모듈

Claims (10)

  1. 통신망을 통해 연동하여 인증 처리를 수행하는 보안 토큰 모듈과 인증 에이전트 모듈 중 한 장치가,
    세션 인증 서버에 접속하는 단계;
    기 설정된 함수를 통해 1회용 비밀번호로부터 세션 인증을 위한 제1 부분 정보와 단대단 암호화를 위한 제2 부분 정보를 추출하는 단계;
    상기 추출된 제1 부분 정보를 세션 인증 서버로 전송하여 상기 인증 처리를 함께 수행할 상대 장치와의 연결을 요청하는 단계;
    상기 세션 인증 서버를 통해 상기 상대 장치와 연결되면, 송수신 데이터를 상기 제2 부분 정보를 기반으로 암호화 또는 복호화하는 단계를 포함하는 것을 특징으로 하는 보안 토큰을 이용한 원격 인증 처리 방법.
  2. 제1항에 있어서,
    상기 장치가 보안 토큰 모듈인 경우,
    상기 추출하는 단계 이전에 상기 1회용 비밀번호를 생성하는 단계를 더 포함하는 것을 특징으로 하는 보안 토큰을 이용한 원격 인증 처리 방법.
  3. 제1항에 있어서,
    상기 장치가 인증 에이전트 모듈인 경우, 상기 1회용 비밀번호를 입력받은 단계를 더 포함하는 것을 특징으로 하는 보안 토큰을 이용한 원격 인증 처리 방법.
  4. 제1항에 있어서, 상기 추출하는 단계 이전에,
    제1 랜덤 정보를 생성하는 단계;
    상기 생성한 제1 랜덤 정보를 상기 세션 인증 서버로 전송하는 단계;
    상기 세션 인증 서버로부터, 상기 세션 인증 서버에서 생성된 제2 랜덤 정보를 수신하는 단계; 및
    상기 제1 랜덤 정보와 제2 랜덤 정보를 조합하여, 렌덤키를 생성하는 단계를 더 포함하고,
    상기 세션 연결을 요청하는 단계는, 상기 랜덤 키를 기반으로 상기 제1 부분 정보를 암호화하여 전송하는 것을 특징으로 하는 보안 토큰을 이용한 원격 인증 처리 방법.
  5. 제1항에 있어서, 상기 암호화 또는 복호화하는 단계는
    상기 제2 부분 정보 또는 제1 부분 정보 및 제2 부분 정보를 해쉬 연산하여 세션 키를 생성하고, 상기 세션키로 상기 암호화를 수행하는 것을 특징으로 보안 토큰을 이용한 원격 인증 처리 방법.
  6. 세션 인증 서버가,
    보안 토큰 모듈 및 인증 에이전트 모듈과 각각 연결하는 단계;
    보안 토큰 모듈 및 인증 에이전트 모듈로부터 각각 특정 1회용 비밀번호로부터 추출된 세션인증용 제1 부분 정보와 단대단 암호화를 위한 제2 부분 정보 중, 제1 부분 정보를 수신하는 단계;
    상기 보안 토큰 모듈로부터 수신된 제1 부분 정보와, 인증 에이전트 모듈로부터 수신된 제1 부분 정보가 일치하는 지 비교하는 단계;
    비교 결과, 일치하면 상기 보안 토큰 모듈 및 인증 에이전트 모듈 간의 중계를 통해 상기 보안 토큰 모듈과 인증 에이전트 모듈간을 연결하는 단계를 포함하는 것을 특징으로 하는 보안 토큰을 이용한 원격 인증 처리 방법.
  7. 제6항에 있어서,
    상기 보안 토큰 모듈 및 인증 에이전트 모듈로부터 각각 상기 보안 토큰 모듈 및 인증 에이전트 모듈에서 생성된 제1 랜덤 정보를 수신하는 단계; 및
    상기 보안 토큰 모듈 및 인증 에이전트 모듈에 대하여 각각 제2 랜덤 정보를 생성하여 전송하는 단계를 더 포함하고,
    상기 제1 부분 정보를 수신하는 단계는,
    상기 보안 토큰 모듈 및 인증 에이전트 모듈와 공유하는 상기 제1 랜덤 정보와 제2 랜덤 정보를 조합하여 랜덤키를 생성하고, 암호화된 제1 부분 정보를 상기 랜덤키로 복호화하는 것을 특징으로 하는 보안 토큰을 이용한 원격 인증 처리 방법.
  8. 제1항 내지 제7항 중 어느 한 항에 기재된 보안 토큰을 이용한 원격 인증 처리 방법을 수행하는 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체.
  9. 보안 토큰 모듈 및 인증 에이전트 모듈로부터 각각 특정 1회용 비밀번호로부터 추출된 세션 인증을 위한 제1 부분 정보와 단대단 암호화를 위한 제2 부분 정보 중 제1 부분 정보를 수신하여 비교하고, 수신된 제1 부분 정보가 일치하면, 상기 보안 토큰 모듈 및 인증 에이전트 모듈 간을 연결하는 세션 인증 서버;
    상기 세션 인증 서버를 통해 인증 에이전트 모듈과 연동하여 보안 토큰에서의 데이터 판독 및 저장 중 적어도 하나를 수행하되, 상기 1회용 비밀번호를 생성하고, 생성된 1회용 비밀번호로부터 상기 제1 부분 정보와 제2 부분 정보를 추출하여, 제1 부분 정보를 세션 인증 서버로 전송한 후, 상기 인증 에이전트 모듈과 송수신하는 데이터를 상기 제2 부분 정보를 기반으로 암호화 혹은 복호화하는 보안 토큰 모듈; 및
    상기 세션 인증 서버를 통해 상기 보안 토큰 모듈과 연동하여 인증 처리를 수행하되, 상기 1회용 비밀번호를 입력받아, 입력된 1회용 비밀번호로부터 상기 제1 부분 정보와 제2 부분 정보를 추출하여, 제1 부분 정보를 세션 인증 서버로 전송한 후, 상기 보안 토큰 모듈과 송수신하는 데이터를 상기 제2 부분 정보를 기반으로 암호화 혹은 복호화하는 인증 에이전트 모듈;
    을 포함하는 것을 특징으로 하는 보안 토큰을 이용한 원격 인증 시스템.
  10. 제9항에 있어서,
    상기 보안 토큰 모듈과 인증 에이전트 모듈은 각각 제1 랜덤 정보를 생성하여 상기 세션 인증 서버로 전송하고,
    상기 세션 인증 서버는 상기 보안 토큰 모듈 및 인증 에이전트 모듈로 각각 제2 랜덤 정보를 생성하여 전송하고,
    상기 세션 인증 서버는 상기 보안 토큰 모듈 및 인증 에이전트 모듈과 각각 상기 제1,2 랜덤 정보를 기반으로 생성된 랜덤 키를 이용하여 상기 제1 부분 정보를 암호화 혹은 복호화하는 것을 특징으로 하는 보안 토큰을 이용한 원격 인증 시스템.
KR20140163434A 2014-11-21 2014-11-21 보안 토큰을 이용한 원격 인증 처리 방법 및 원격 인증 시스템 KR101495034B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR20140163434A KR101495034B1 (ko) 2014-11-21 2014-11-21 보안 토큰을 이용한 원격 인증 처리 방법 및 원격 인증 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20140163434A KR101495034B1 (ko) 2014-11-21 2014-11-21 보안 토큰을 이용한 원격 인증 처리 방법 및 원격 인증 시스템

Publications (1)

Publication Number Publication Date
KR101495034B1 true KR101495034B1 (ko) 2015-03-02

Family

ID=53025681

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20140163434A KR101495034B1 (ko) 2014-11-21 2014-11-21 보안 토큰을 이용한 원격 인증 처리 방법 및 원격 인증 시스템

Country Status (1)

Country Link
KR (1) KR101495034B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104978144A (zh) * 2015-06-26 2015-10-14 中国工商银行股份有限公司 手势密码输入设备和系统,及基于该系统进行交易的方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090235069A1 (en) * 2006-04-10 2009-09-17 Trust Integration Services B.V. Arrangement of and method for secure data transmission
KR101445708B1 (ko) * 2013-04-01 2014-10-01 주식회사 좋을 보안 시스템, 이를 위한 단말기 및 보안 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090235069A1 (en) * 2006-04-10 2009-09-17 Trust Integration Services B.V. Arrangement of and method for secure data transmission
KR101445708B1 (ko) * 2013-04-01 2014-10-01 주식회사 좋을 보안 시스템, 이를 위한 단말기 및 보안 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104978144A (zh) * 2015-06-26 2015-10-14 中国工商银行股份有限公司 手势密码输入设备和系统,及基于该系统进行交易的方法

Similar Documents

Publication Publication Date Title
US11683187B2 (en) User authentication with self-signed certificate and identity verification and migration
JP7257561B2 (ja) コンピュータに実装される方法、ホストコンピュータ、コンピュータ読み取り可能な媒体
US9741033B2 (en) System and method for point of sale payment data credentials management using out-of-band authentication
JP6803326B2 (ja) 非対称暗号方式を使用してワンタイムパスワードを実装するためのシステム及び方法
JP6017650B2 (ja) ある装置を使用して別の装置をアンロックする方法
CN111034120B (zh) 基于身份信息的加密密钥管理
US10523652B2 (en) Secure identity sharing using a wearable device
JP2022502901A (ja) 非接触カードの暗号化認証のためのシステムおよび方法
JP2022501872A (ja) 非接触カードの暗号化認証のためのシステムおよび方法
US10541819B2 (en) Forged command filtering system and related command authentication circuit
KR102234825B1 (ko) 암호 동작들의 안전한 수행
JP2023522835A (ja) 暗号化認証のためのシステム及び方法
CN114070614A (zh) 身份认证方法、装置、设备、存储介质和计算机程序产品
TW202036384A (zh) 具有身分驗證的加密晶片
WO2015168878A1 (zh) 支付方法和装置以及支付要素处理方法和装置
CN110431803B (zh) 基于身份信息管理加密密钥
JP6378424B1 (ja) 無欠性及び保安性が強化された使用者認証方法
CN105809427B (zh) 高安全性移动支付系统及方法
KR101495034B1 (ko) 보안 토큰을 이용한 원격 인증 처리 방법 및 원격 인증 시스템
JP2016100007A (ja) カード装置を用いたネットワーク認証方法
EP3410332A1 (en) A system and method for transferring data to an authentication device
KR102123405B1 (ko) 보안 회원가입 및 로그인 호스팅 서비스 제공 시스템 및 그 방법
KR102095368B1 (ko) 디지털 인증서 이동 방법
KR102547682B1 (ko) Puf기반 otp를 이용하여 사용자 인증을 지원하는 서버 및 그 동작 방법

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: 20180213

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190124

Year of fee payment: 5