KR20140120837A - Vpn에서 이중 인증을 구현하기 위한 장치 및 이의 동작 방법 - Google Patents
Vpn에서 이중 인증을 구현하기 위한 장치 및 이의 동작 방법 Download PDFInfo
- Publication number
- KR20140120837A KR20140120837A KR1020140038635A KR20140038635A KR20140120837A KR 20140120837 A KR20140120837 A KR 20140120837A KR 1020140038635 A KR1020140038635 A KR 1020140038635A KR 20140038635 A KR20140038635 A KR 20140038635A KR 20140120837 A KR20140120837 A KR 20140120837A
- Authority
- KR
- South Korea
- Prior art keywords
- authentication
- client
- challenge
- token
- private network
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/321—Cryptographic 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
- H04L9/3213—Cryptographic 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 using tickets or tokens, e.g. Kerberos
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0272—Virtual private networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0892—Network architectures or network communication protocols for network security for authentication of entities by using authentication-authorization-accounting [AAA] servers or protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3226—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3271—Cryptographic 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 challenge-response
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
본 발명은 VPN에 이중 인증을 구현하는 장치 및 그 방법에 관한 것이다. 이를 위한 본 발명의 이중 인증 구현 장치는 가상 사설망(VPN)에서 클라이언트로부터 수신된 제 1 암호화 메시지를 암호 해독하고, 암호 해독된 메시지를 암호화하여 제 2 암호화 메시지를 생성하는 가상 사설망 집중부; 및 제 2 암호화 메시지를 암호 해독하여 클라이언트로부터 송신된 메시지를 판독하고, LDAP부(Lightweight Directory Access Protocol) 및 WS 토큰부(Webservice for Token)와 연동하여 판독된 메시지에 포함된 사용자 이름 및 패스워드를 근거로 제 1 인증을, 그리고 셀프-챌린지 및 챌린지 응답값을 근거로 제 2 인증을 수행하여 클라이언트에 대한 이중 인증을 수행하는 이중 인증 서버를 포함하는 것을 특징으로 한다.
Description
본 발명은 VPN에 이중 인증을 구현하는 장치 및 그 방법에 관한 것으로서, 보다 상세하게는 VPN 서비스에 이중 인증 기능을 제공하고, 실시간으로 유효하지 않은 사용자 이름 및 패스워드를 분석할 수 있는 장치 및 그 방법에 관한 것이다.
일반적으로 가상 사설망(VPN : Virtual Private Network)은 기업과 가정에 대한 네트워크 분야에 폭넓게 사용되고 있다. 확립된 VPN 연결에 대한 제 1 처리는 인증 단계이다. 예를 들어, 유저가 가상 사설망(VPN)에 접속하기를 원하는 경우, 유저는 자신의 사용자 이름 및 패스워드를 입력하고, 외부에서 가상 사설망(VPN)에 접속 할 수 있다.
하지만, 패스워드를 통한 연결 방식은 폭력 침입(brute force)을 통해 크래킹 당하기 쉽다는 점, 숄더 서핑(shoulder surfing) 및 엿보기 공격 등을 통해 노출되기 쉽다는 점, 그리고 바이러스, 키 로거, 트로이 목마 바이러스, 스니핑 등을 통한 패스워드 스틸 기법이 점점 더 발전하는 점에 기인하여, 보안이 취약하다는 단점을 갖는다.
이에 관련하여, 발명의 명칭이 "상호 인증 기반의 가상 사설망 서비스 장치 및 방법" 인 한국등록특허 제1303120호가 존재한다.
본 발명은 크랙 당하기 쉽거나, 또는 유저의 부주의로 인해 노출될 수 있는 종래 발명을 대신하여, VPN 서비스에 이중 인증(TFAS)을 제공하여, 실시간으로 무효한 사용자 이름 및 패스워드를 분석할 수 있는, 이중 인증 구현 장치 및 이의 동작 방법을 제공하는데 그 목적이 있다.
상기와 같은 과제를 해결하기 위한 본 발명의 이중 인증 구현 장치는 가상 사설망(VPN)에서 클라이언트로부터 수신된 제 1 암호화 메시지를 암호 해독하고, 암호 해독된 메시지를 암호화하여 제 2 암호화 메시지를 생성하는 가상 사설망 집중부; 및 제 2 암호화 메시지를 암호 해독하여 클라이언트로부터 송신된 메시지를 판독하고, LDAP부(Lightweight Directory Access Protocol) 및 WS 토큰부(Webservice for Token)와 연동하여 판독된 메시지에 포함된 사용자 이름 및 패스워드를 근거로 제 1 인증을, 그리고 셀프-챌린지 및 챌린지 응답값을 근거로 제 2 인증을 수행하여 클라이언트에 대한 이중 인증을 수행하는 이중 인증 서버를 포함하는 것을 특징으로 한다.
또한, 클라이언트는 클라이언트와 가상 사설망 집중부 간에 기 공유된 제 1 암호화 키를 통한 제 1 암호화 과정을 수행하여 제 1 암호화 메시지를 생성하고, 가상 사설망 집중부는 가상 사설망 집중부와 이중 인증 서버 간에 기 공유된 제 2 암호화 키를 통한 제 2 암호화 과정을 수행하여 제 2 암호화 메시지를 생성할 수 있다.
또한, 제 1 인증은 LDAP부를 통해, 유저디비에 저장된 사용자별 계정 정보와, 사용자 이름 및 패스워드를 비교함으로써 이루어지고, 제 2 인증은 WS 토큰부를 통해, 토큰 디비에 저장된 토큰 정보와, 셀프-챌린지 및 챌린지 응답값을 비교함으로써 이루어지며, 제 1 인증 및 제 2 인증은 순차적으로 이루어질 수 있다.
또한, 이중 인증 서버는 클라이언트가 제 1 인증 및 제 2 인증 모두를 통과한 경우, 이중 인증 과정을 종료시키고, 클라이언트가 상기 제 1 인증을 통과하지 못한 경우, 클라이언트가 이중 인증을 재수행하도록 오류 메시지를 출력하며, 클라이언트가 제 1 인증은 통과하였으나 제 2 인증을 통과하지 못한 경우, 토큰 디비에 저장된 복수의 챌린지들 중 무작위로 선택된 적어도 하나의 챌린지를 클라이언트에게 송신하고, 클라이언트로부터 송신된 챌린지 응답 값을 근거로 클라이언트를 재인증할 수 있다.
또한, 이중 인증 서버는, 클라이언트가 성공적으로 이중 인증을 성공한 챌린지들에 대한 정보를 저장하는 보안 큐를 더 포함하여, 클라이언트로부터 송신된 셀프-챌린지가 보안 큐에 존재하는 챌린지인 경우, 클라이언트에게 셀프-챌린지가 중복되었음을 알리고, 다른 챌린지로 재시도 시킬 수 있다.
또한, 클라이언트와 가상 사설망 집중부 간에 이루어지는 통신 및 암호화는 VPN 프로토콜을 이루어지고, 가상 사설망 집중부와 이중 인증 서버 간에 이루어지는 통신 및 암호화는 AAA 프로토콜을 통해 이루어질 수 있다.
상기와 같은 과제를 해결하기 위한 본 발명의 이중 인증 구현 방법은 가상 사설망 집중부에 의해, 가상 사설망(VPN)에서 클라이언트로부터 수신된 제 1 암호화 메시지를 암호 해독하는 단계; 가상 사설망 집중부에 의해, 암호 해독된 메시지를 암호화하여 제 2 암호화 메시지를 생성하는 단계; 이중 인증 서버에 의해, 제 2 암호화 메시지를 암호 해독하여 클라이언트로부터 송신된 메시지를 판독하는 단계; 및 이중 인증 서버에 의해, LDAP부 및 WS 토큰부와 연동하여 상기 판독된 메시지에 포함된 사용자 이름 및 패스워드를 근거로 제 1 인증을, 그리고 셀프-챌린지 및 챌린지 응답값을 근거로 제 2 인증을 수행하여 클라이언트에 대한 이중 인증을 수행하는 단계를 포함하고, 셀프-챌린지는 토큰 디비에 저장된 토큰 테이블에서 각 행과 열의 명칭으로 조합되는 복수의 챌린지들 중, 클라이언트에서 지정한 챌린지를 나타내고, 챌린지 응답값은 셀프-챌린지에 대응하는 값에 대해 클라이언트로부터 입력된 값인 것을 특징으로 한다.
또한, 클라이언트와 가상 사설망 집중부 간에 이루어지는 통신 및 암호화는 VPN 프로토콜을 이루어지고, 가상 사설망 집중부와 이중 인증 서버 간에 이루어지는 통신 및 암호화는 AAA 프로토콜을 통해 이루어질 수 있다.
또한, 클라이언트에 대한 이중 인증을 수행하는 단계에서, 제 1 인증은 LDAP부를 통해, 유저디비에 저장된 사용자별 계정 정보와, 사용자 이름 및 패스워드를 비교함으로써 이루어지고, 제 2 인증은 상기 WS 토큰부를 통해, 토큰 디비에 저장된 토큰 정보와, 셀프-챌린지 및 챌린지 응답값을 비교함으로써 이루어지며, 제 1 인증 및 상기 제 2 인증은 순차적으로 이루어질 수 있다.
또한, 클라이언트에 대한 이중 인증을 수행하는 단계는, 클라이언트가 제 1 인증 및 제 2 인증 모두를 통과한 경우, 이중 인증 과정을 종료시키고, 클라이언트가 제 1 인증을 통과하지 못한 경우, 클라이언트가 이중 인증을 재수행하도록 오류 메시지를 출력하며, 클라이언트가 제 1 인증은 통과하였으나 제 2 인증을 통과하지 못한 경우, 토큰 디비에 저장된 복수의 챌린지들 중 무작위로 선택된 적어도 하나의 챌린지를 클라이언트에게 송신하고, 클라이언트로부터 송신된 챌린지 응답 값을 근거로 상기 클라이언트를 재인증할 수 있다.
본 발명에 따르면 VPN 서비스에서 PPP 토큰(Perfect Paper Password)을 이용한 TFAS를 제공하여, 비용을 절감시키고, 메시지를 확정하여 실시간으로 유효하지 않은 유저네임/패스워드를 분석할 수 있다.
도 1은 본 발명의 일 실시예에 따른 이중 인증 구현 장치가 일부 코어 서비스를 구비하여 구축된 기업형 인프라 구조에 적용된 이중 인증 구현 시스템에 대한 블록도이다.
도 2는 본 발명의 일 실시예에 따른 이중 인증 구현 장치의 동작 방법에 대한 흐름도이다.
도 3은 본 발명에 따른 이중 인증 구현 시스템을 통해 이루어지는 요청 단계에 대한 흐름도이다.
도 4는 본 발명의 이중 인증 구현 장치에서 토큰 디비에 저장된 토큰 테이블의 일 예시를 도시한다.
도 5는 본 발명의 일 실시예에 따른 GNS3에서의 시뮬레이션 과정을 보여주는 도면이다.
도 6은 본 발명의 일 실시예에 따른 Cisco ASA에서 지역 인증 방법을 보여주는 도면이다.
도 7은 본 발명의 일 실시예에 따른 TFAS 인증을 보여주는 도면이다.
도 2는 본 발명의 일 실시예에 따른 이중 인증 구현 장치의 동작 방법에 대한 흐름도이다.
도 3은 본 발명에 따른 이중 인증 구현 시스템을 통해 이루어지는 요청 단계에 대한 흐름도이다.
도 4는 본 발명의 이중 인증 구현 장치에서 토큰 디비에 저장된 토큰 테이블의 일 예시를 도시한다.
도 5는 본 발명의 일 실시예에 따른 GNS3에서의 시뮬레이션 과정을 보여주는 도면이다.
도 6은 본 발명의 일 실시예에 따른 Cisco ASA에서 지역 인증 방법을 보여주는 도면이다.
도 7은 본 발명의 일 실시예에 따른 TFAS 인증을 보여주는 도면이다.
본 발명을 첨부된 도면을 참조하여 상세히 설명하면 다음과 같다. 여기서, 반복되는 설명, 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능, 및 구성에 대한 상세한 설명은 생략한다. 본 발명의 실시형태는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위해서 제공되는 것이다. 따라서, 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.
이하, 도 1을 참조로, 본 발명의 이중 인증 구현 시스템을 서술한다. 도 1은 본 발명의 일 실시예에 따른 이중 인증 구현 장치가 일부 코어 서비스를 구비하여 구축된 기업형 인프라 구조에 적용된 이중 인증 구현 시스템에 대한 블록도이다.
여기서, 코어 서비스는 예를 들어, 통신을 위한 이메일 및 포탈, LDAP(Lightweight Directory Access Protocol) 또는 AD(Active Directory)와 같은 사용자 정보를 관리하기 위한 디렉토리 서비스, 인터넷 뱅킹 및 온라인 거래 등과 같은 재정 서비스, 그리고 의무적인 보안 서비스 예를 들어, 방화벽을 포함한다.
원격 액세스 및 인증 서비스를 제공하기 위해, 본 발명의 일 실시예에 따른 이중 인증 구현 장치는 퍼블릭 또는 프라이빗 네트워크 모두를 위한 VPN 함수를 제공한다. 그리고, 본 발명의 일 실시예에 따른 이중 인증 구현 장치는 인증 메카니즘이 강력해지도록 이중 인증(TFAS)을 이러한 인프라 구조에 적용시킨다. 이하에서 언급되는 토큰 서비스는 이러한 이중 인증(TFAS) 및 재정 서비스 모두에 의해 사용될 것이다.
또한, 여기서 용어 이중 인증(TFAS)은 다음의 인증 요소들 중 2개의 인증 요소를 통해 인증을 수행하는 기법을 나타낸다. 여기서, 인증 요소들은 크게 3가지 요소로 구분될 수 있다. 이러한 3가지 요소는 (a) 바로 자신이 알고 있는 것(what you know : 패스워드, PIN 등), 자신이 소유한 것(what you have : 스마트 카드, 토큰, 키 등), 그리고 자신 그 자체(what you are : 지문 등 생체 정보)이다.
이에 관련하여, 본 발명에 따른 이중 인증 구현 시스템은 상기 인증 요소들 중, 패스워드와 보안 토큰을 이용하여 사용자 인증을 수행한다. 일반적으로, 이중 인증을 수행하여 사용자 인증을 수행하는 경우, 상술한 3가지 인증 요소들 중 2개의 요소를 2개의 단계로 나누어 인증을 수행한다. 이렇게 2개의 단계로 나누어 인증을 수행하게 되면, 예를 들어, 사용자가 제 1 인증을 위한 입력(예를 들어, ID 및 패스워드)을 수행한 후, 인증 서버로부터 응답을 기다리게 되는 시간 소모가 발생하게 된다. 이는, 인증 서버에서 사용자의 제 1 인증에 대한 확인을 수행하는 시간, 그리고 제 2 인증을 준비하는 시간 등이 예를 들어, 수 초 정도가 추가적으로 소모되기 때문이다.
반면, 본 발명에 따른 이중 인증(TFAS) 방식은 이러한 기존의 방식에서 불필요하게 소모되는 시간을 절약하기 위해, 그리고 트래픽 소비를 줄이기 위해, 각 요소 별로 구분하여 2개의 단계로 인증을 수행하는 것이 아닌, 하나의 단계로 인증을 수행한다. 이러한 인증에 대해 수행되는 과정은 이하에서, 도 1 및 도 2를 참조로 상세히 서술되므로 명세서의 명료함을 위해 이에 대한 추가적인 서술은 생략한다.
도 1에 도시된 바와 같이, 본 발명에 따른 이중 인증 구현 시스템은 클라이언트와 이중 인증 구현 장치를 포함하여 구성될 수 있다. 여기서, 이중 인증 구현 장치는 가상 사설망 집중부(VPN Concentrator, 1), 이중 인증 서버(2), 유저 디비(User DB;3), LDAP부(4), WS 토큰부(WSToken, 5), 재정 서비스부(Financial services, 6), TFAS 어드민(TFAS Admin GUI, 7), 토큰 디비(Token DB, 8), 토큰 매니저(TokenManager GUI, 9)를 포함하여 구성될 수 있다. 이들 구성에 대한 설명은 다음과 같다.
가상 사설망 집중부(1)는 클라이언트로부터 제 1 암호화 메시지를 수집하고, 이를 암호 해독하는 기능을 한다. 가상 사설망 집중부(1)와 클라이언트는 도 1에 도시된 것처럼 퍼블릭 또는 프라이빗 네트워크로 연결된다. 클라이언트로부터 수집된 제 1 암호화 메시지는 가상 사설망 집중부(1)와 클라이언트 사이에 기 공유된 제 1 암호화 키(KV)를 통해 암호화된 메시지를 나타낸다. 여기서, 제 1 암호화 키(KV)는 VPN 프로토콜을 통해, 클라이언트와 가상 사설망 집중부(1) 간에 기-공유된 키를 나타낸다.
가상 사설망 집중부(1)는 이러한 제 1 암호화 키(KV)를 통해 제 1 암호화 메시지를 암호해독 할 수 있다. 또한, 클라이언트로부터 송신된 메시지는 사용자 이름, 패스워드, 셀프-챌린지 및 챌린지 응답 값을 포함한다. 여기서, 사용자 이름과 패스워드는 이중 인증 중 제 1 인증을 위해 이용되고, 셀프-챌린지 및 챌린지 응답 값은 제 2 인증을 위해 이용된다.
가상 사설망 집중부(1)는 암호 해독된 메시지를 제 2 암호화 데이터로 다시 암호화를 수행한다. 가상 사설망 집중부(1)를 통해 이루어지는 제 2 암호화 과정은 가상 사설망 집중부(1)와 이중 인증 서버(2) 간에 기 공유된 제 2 암호화 키(KA)를 이용할 수 있다. 여기서, 제 2 암호화 키(KA)는 AAA 프로토콜을 통해, 가상 사설망 집중부(1)와 이중 인증 서버(2) 간에 기-공유된 키를 나타낸다.
상술한 바와 같이, 제 1 암호화 과정은 클라이언트와 가상 사설망 집중부(1)간의 통신을 위해, 그리고 제 2 암호화 과정은 가상 사설망 집중부(1)와 이중 인증 서버(2) 간의 통신을 위해 사용된다. 즉, 클라이언트와 가상 사설망 집중부(1) 간의 통신, 그리고 가상 사설망 집중부(1)와 이중 인증 서버(2) 간에 송수신 되는 데이터는 각각 상이한 암호화 과정을 통해 이루어진다. 이를 통해, 외부 공격, 크래킹과 같은 위협으로부터 안전하게 데이터를 송수신 할 수 있다.
이중 인증 서버(2)는 가상 사설망 집중부(1)로부터 송신된 제 2 암호화 메시지를 암호 해독하고, 암호 해독된 데이터를 인증하는 기능을 수행한다. 상술한 것처럼, 제 2 암호화 메시지는 이중 인증 서버(2)와 가상 사설망 집중부(1) 간에 기 공유된 제 2 암호화 키(KA)를 이용하여 암호화 된 것이므로, 상기 키(KA)를 통해 암호 해독할 수 있다. 또한, 여기서 이중 인증 서버(2)는 TFAS RADIUS(Remote Authentication Dial In User Service) 서버일 수 있다.
이러한 이중 인증(TFAS)을 수행하기 위해, 보안 큐가 사용될 수 있는데, 이 보안 큐는 최근 유효한 요청의 챌린지를 기록하는 기능을 한다. 구체적으로, 새로운 챌린지들 중 하나가 이러한 큐 내에 존재하면, 사용자는 다시-챌린지를 송신해야 한다. 즉, 이러한 큐는 사용자의 셀프 챌린지의 가변성을 보장할 수 있고, 이는 모든 시간 동안 사용자가 동일한 값을 제출하는 것을 방지한다.
예를 들어, 이러한 큐의 길이를 4로 가정하자. 여기서, 이러한 큐는 최근 2개의 성공적인 로그-인 요청에 의해 생성되었다고 가정되고, 각 요청은 2개의 챌린지를 전송한다고 가정된다. 이 경우, 큐에는 다음의 챌린지 즉, 3G, 4H, 2A 및 8F일 수 있다.
여기서, 사용자로부터 송신된 셀프 챌린지가 2A 및 5D인 경우, 따라서 큐에 저장된 챌린지와 사용자의 셀프 챌린지 간 중복 챌린지 즉, 2A가 검출되면, 사용자는 재-챌린지를 수행해야 한다. 다른 한편으로, 사용자로부터 송신된 셀프 챌린지가 2B 및 5D이면, 이들 셀프 챌린지는 수용될 것이고, 차후의 검사를 위해 보안 큐에 추가될 것이다.
이중 인증 서버(2)는 이중 인증(TFAS)을 통해 암호 해독된 데이터를 인증한다. 상술한 것처럼 본 발명에서 이루어지는 인증 과정은 이중 인증(TFAS)으로 이루어진다. 이를 위해 이중 인증 서버(2)는 LDAP부(4) 및 WS 토큰부(5)와 연동되어 이러한 인증 과정을 수행한다. 구체적으로, LDAP부(4)를 통해 사용자의 ID에 대한 인증이, 그리고 WS 토큰부(5)를 통해 사용자의 셀프-챌린지와 챌린지 응답 값에 대한 인증이 수행된다. LDAP부(4) 및 WS 토큰부(5)에 대한 서술은 이하에서 이루어진다.
LDAP부(4)는 유저 디비(3)에 저장된 사용자들 인증 데이터 즉, 사용자들의 사용자 이름 및 패스워드 데이터를 근거로, 사용자의 크리덴셜을 인증한다. 여기서 유저 디비(3)는 이중 인증 서버(2)와 TFAS 어드민부(7) 간에 공유될 수 있다. TFAS 어드민부(7)와 토큰 매니저(9)는 또한, Spring MVC를 이용하는 웹 어플리케이션으로 구현될 수 있는 반면, 이중 인증 서버(2)는 공인된 RADIUS 포트{(1812, 인증용) 및 (1813, 계정용)}를 리슨하는 서비스이다.
TFAS 어드민부(7)는 관리자를 통한 모든 VPN 사용자의 관리를 위해 구성된다. 즉, TFAS 어드민부(7)는 2개의 서브 함수 즉, 새로운 사용자의 생성 및 검색 함수를 수행할 수 있다. 생성 처리에서, 사용자의 정보가 등록될 수 있는데, 이러한 사용자의 정보는 예를 들어, 사용자 이름, 부서, IP 주소(VPN 연결이 성공적으로 확립될 때 사용자에 대해 할당된 VPN IP), 토큰 시리얼(한 명의 사용자는 유니크한 시리얼에 대해 매핑한 토큰으로 등록된다), filterID Inside/Outside(이들 2개의 필드는 인증 목적을 위해 사용되고, 이는 사용자의 위치에 따라 적합한 값이 리턴될 것이다), 인증 타입, 연결 측(일부 사용자는 회사의 프라이빗 네트워크에서 VPN 연결을 수행하도록 허용되고, 시스템 관리자와 같은 다른 사용자는 내부 및 외부 네트워크 모두에 대해 모든 특권을 갖는다), 만기일(일시적 사용자에 대해, 관리자는 짧은 기간으로 이러한 값을 설정할 수 있고, 이는 이러한 사용자가 만기일한 경고 후 성공적인 연결을 할 수 없게 한다), 시간 제한(개시 및 종료 시간) 및 작용 시간을 포함할 수 있다. 사용자의 검색 서브 함수는, 키워드 또는 속성 예를 들어, 만기된 사용자, 만기된 토큰(이러한 특성은 토큰의 만기일에 대해 질의하기 위해 WS 토큰부에 연결을 필요로 한다)을 통한 편집, 검색을 위해 사용될 것이다.
토큰 매니저(9)는 웹 어플리케이션으로서, 관리자가 토큰 시스템에 대한 관리 즉, 토큰 정보의 생성, 정보, 삭제 업무 등을 수행하는데 도움을 주기 위한 구성이다. 즉, 토큰 매니저(9)는 WS 토큰부(5)와 토큰 디비(8)를 공유할 수 있고, 이는 토큰 디비(8)에 대해 이루어진 임의의 변경이 사용자의 VPN 연결 요청에 대해 즉각적으로 반영될 것이다(예를 들어, 토큰이 사용자의 성공적인 인증을 방지하는 것을 관리자가 막기 위해).
WS 토큰부(5)는 토큰 디비(8)의 토큰 테이블에 저장된 토큰 정보들과, 사용자로부터 송신된 셀프-챌린지 및 챌린지 응답 값을 비교함으로써 사용자의 크리덴셜을 인증한다. 여기서, 토큰 디비(80)에 저장된 챌린지 및 챌린지 응답 값에 대한 예시는 도 4에 도시된다.
도 4에 도시된 것처럼, 챌린지는 토큰 디비(8)에 저장된 토큰 테이블에 대한 행과 열의 명칭의 조합으로부터 도출된다. 본 예시에서, 토큰 테이블은 1 내지 8의 명칭을 갖는 행, 그리고 A 내지 H의 명칭을 갖는 열로 이루어질 수 있다. 즉, 예를 들어, 챌린지가 2B인 경우, 행의 값이 2이고, 열의 값이 B인 값 즉, 293이 올바른 챌린지 응답 값이다. 여기서, 챌린지 응답값은 예를 들어, 랜덤으로 생성된 수치일 수 있다. 또한, 이러한 테이블에서, 행과 열, 셀당 캐릭터 및 알파벳 스트링 각각의 개수는 단지 예시일 뿐이고, 이는 기설정된 주기에 따라, 또는 사용자의 요청에 따라 가변적으로 변경될 수 있다.
즉, 사용자로부터 송신된 셀프-챌린지 및 챌린지 응답 값이 예를 들어, 각각 2B 및 293인 경우, WS 토큰부(5)는 사용자를 올바른 사용자로 판단할 수 있다. 하지만, 사용자로부터 송신된 셀프-챌린지 및 챌린지 응답 값이 예를 들어, 각각 2B 및 099인 경우, WS 토큰부(5)는 사용자를 올바르지 않은 사용자로 판단할 수 있다.
또한, 도 4에 도시된 것처럼, 토큰 디비(8)에 저장된 토큰 테이블은 시리얼, 생성일 및 만기일에 대한 정보를 더 포함하여 구성될 수 있다. 여기서, 시리얼은 사용자가 보유한 토큰과 토큰 디비에 저장된 토큰 정보의 동기화를 위해 사용되고, 생성일 및 만기일은 올바른 응답을 제공하기 위해 사용되는 번호에 대한 테이블을 위해 사용된다.
이러한 토큰의 구조에 따라, WS 토큰부(5)는 적어도 2개의 인터페이스를 제공해야 한다. 인터페이스들 중 제 1 인터페이스는 예를 들어, 사용자가 토큰 시리얼을 등록하거나 갱신할 때 검증을 위해 만기일을 리턴 시키는 기능을 하고, 제 2 인터페이스는 응답에 대한 검증 결과를 리턴 시키기 위해 이용된다. 게다가, 리턴된 결과는 부적합한 또는 삭제된 토큰과 같은 에러 코드일 수 있다. 토큰부(5)는 서버가 다운되거나, 또는 네트워크에 일부 문제점이 존재할 때, 이에 대해 접근하지 못한다.
Java, Apache Axis, CXF, Jt, Spring-WS 닷넷, PHP, 파이선 등과 같은 다양한 WS 프레임워크가 존재한다. 여기서, 본 발명의 WS 토큰부(5)는 2개의 중요한 특성 즉, 자바-기반 및 스프링 프레임 기반이라는 점에 기인하여 Spring-WS로 구현될 수 있다.
또한, 코드 함수는 새로운 코드의 생성 및 코드의 검색을 포함한다. 이들 코드는 WS 토큰부(5)에 대한 호출 요청의 결과가 요청자 즉, 이중 인증 서버(2)에 의해 획득될 때마다 사용된다.
또한, 이중 인증 서버(2)에서 수행되는 TFAS RADIUS 서비스는 TFAS 어드민부(7)와 분리되고, 독립적으로 수행될 수 있다. 예를 들어, 이중 인증 서버(2)상에서 이러한 TFAS RADIUS 서비스는 예를 들어, 포트(1812) 및 포트(1813)로 바인딩될 수 있다. 가상 사설망 집중부(1) 상에서, AAA 서버 특성 포인트를 이러한 이중 인증 서버(2)의 어드레스로 구성해야 한다. 이중 인증 서버(2)는 예를 들어, Java 클래스로 구현가능 하고, 이에 대한 예시는 도 3에 도시된다.
도 3에서, User는 도 1의 클라이언트에, VPN Gateway는 가상 사설망 집중부(1)에, 그리고 TfasRadius는 이중 인증 서버(2)에 대응한다. 또한, 도 3에서, C.C.C.C 및 S.S.S.S는 각각 클라이언트와 이중 인증 서버(2)의 IP 어드레스를 나타내고, 기-공유된 키들이 이들 사이의 트래픽을 암호화 하기 위한 비밀키로 이용된다.
도 3에 도시된 단계들은 크게 제 1 단계(1 내지 8)와 제 2 단계(9 내지 16)으로 구분될 수 있다. 도 3에서, 제 1 단계는 이중 인증을 수행하는 것에 대한 단계들의 흐름을 나타내고, 제 2 단계는 이중 인증을 통한 사용자의 인증 실패시, 이에 대해 재수행되는 단계들의 흐름을 나타낸다.
먼저, 사용자의 연결 요청이 가상 사설망 집중부를 통해 이중 인증 서버로 전달된다(1, 2). 이때, 이중 인증 서버는 수신된 데이터가 어떤 종류의 요청인지 즉, 제 1 단계에서 수행되는 인증을 위한 요청인지, 또는 제 2 단계에서 수행되는 인증을 위한 요청인지 판단한다. 여기서, 수신된 데이터가 새로운 연결 요청 즉, 제 1 단계에 대한 것으로 판단되면 이중 인증을 수행하기 위한 processAccessRequest() 함수를 호출한다.
processAccessRequest() 함수에서 수행된 이중 인증 결과는 크게 3개로 구분될 수 있다. 즉, 클라이언트가 제 1 인증 및 제 2 인증 모두를 통과하는 경우, 클라이언트가 제 1 인증은 통과하였으나 제 2 인증을 통과하지 못한 경우, 그리고 클라이언트가 제 1 인증을 통과하지 못한 경우가 그러하다. 상술한 것처럼, 이중 인증은 클라이언트의 계정 정보를 이용한 제 1 인증, 그리고 클라이언트의 셀프-챌린지 및 챌린지 응답값을 통한 제 2 인증을 수행하는 것이다.
제 1 단계에서 클라이언트가 제 1 인증 및 제 2 인증 모두를 통과하는 경우, processAccessRequest() 함수는 사용자가 올바른 사용자라는 결과값을 리턴시켜 인증 과정을 종료시킬 수 있다.
또한, 제 1 단계에서, 클라이언트가 제 1 인증은 통과하였으나 제 2 인증을 통과하지 못한 경우, processAccessRequest() 함수는 사용자의 재인증을 위해, 오류 메세지와 토큰 디비에 저장된 토큰 테이블에서 임의의 챌린지를 리턴시키고, 이하에서 언급되는 제 2 단계가 수행되게 한다.
제 1 단계에서 클라이언트가 제 1 인증을 통과하지 못한 경우, processAccessRequest() 함수는 해당 인증을 재수행하기 위해, 오류 메시지를 사용자에게 출력할 수 있다.
이때, 이중 인증 서버는 수신된 데이터가 재인증을 위한 것으로 즉, 제 2 단계에서 수행되는 인증을 위한 데이터로 판단되면, processAccessChallengeResponse() 함수가 호출된다.
제 2 단계에서 수행되는 인증은 제 1 단계가, 사용자로부터 송신된 셀프-챌린지 및 챌린지 응답값을 근거로 인증이 수행된 것과 달리, processAccessChallengeResponse() 함수로부터 무작위로 선택된 적어도 챌린지를 클라이언트에 송신하고, 클라이언트로부터 수신한 챌린지 응답 값을 근거로 인증을 수행한다.
이하, 도 2를 참조로, 본 발명에 따른 이중 인증 방법을 서술한다. 이하의 서술에서, 도 1 및 도 3을 참조로 언급한 부분과 중복되는 사항은 명세서의 명료함을 위해 생략된다. 또한, 이하에서 언급되는 암호화 및 암호 해독은 고유한 VPN 및 AAA 프로토콜 특성을 이용하여 이루어질 수 있다.
먼저, 클라이언트로부터 메시지를 생성하는 단계가 수행된다. 이러한 단계에서 생성된 메시지는 클라이언트의 사용자로부터 입력된 메시지이고, 예를 들어, 사용자 이름, 패스워드, 셀프-챌린지 및 챌린지 응답 값을 포함한다. 상술한 것처럼, 사용자 이름과 패스워드는 이중 인증 중 제 1 인증을 위해 이용되고, 셀프-챌린지 및 챌린지 응답 값은 제 2 인증을 위해 이용된다. 즉, 여기서 제 1 인증은 "What you know"에 해당하는 인증이고, 제 2 인증은 "What you have"에 해당하는 인증이다.
그 후, 클라이언트에서 제 1 암호화 과정을 통해 메시지를 암호화하는 단계가 수행된다. 이러한 암호화 단계에서 수행되는 제 1 암호화 과정은 제 1 암호화 키(KV)를 통해 이루어지는데, 여기서 제 1 암호화 키(KV)는 VPN 프로토콜을 통해, 클라이언트와 가상 사설망 집중부(1) 간에 기-공유된 키를 나타낸다. 즉, 클라이언트에서 수행되는 제 1 암호화 과정은 가상 사설망 집중부(1)와 클라이언트 간의 통신에서 메시지의 보안을 위해 수행된다.
그 후, 클라이언트에서 암호화된 메시지를 가상 사설망 집중부(1)로 송신하는 단계가 이루어진다. 여기서, 가상 사설망 집중부(1)와 클라이언트는 도 1에 도시된 것처럼 퍼블릭 또는 프라이빗 네트워크로 연결된다. 또한, 도 2에서 클라이언트로부터 가상 사설망 집중부(1)로 송신되는 데이터는 사용자 이름, 패스워드, 2A, 5D, 394 및 274로 도시되는데, 여기서 2A 및 5D는 셀프-챌린지에 해당하고, 394 및 274는 챌린지 응답값에 해당한다. 이에 대한 서술은 도 1을 참조로 상세히 언급하였으므로, 이에 대한 추가적인 설명은 생략한다.
그 후, 가상 사설망 집중부(1)에서 수신한 암호화된 메시지를 암호 해독하는 단계가 수행된다. 상술한 것처럼, 클라이언트에서 수행되는 제 1 암호화 과정은, 클라이언트와 가상 사설망 집중부(1) 간에 공유된 제 1 암호화 키(KV)를 통해 이루어진다. 즉, 가상 사설망 집중부(1)는 이러한 제 1 암호화 키(KV)를 통해 암호화된 메시지를 암호 해독한다.
그 후, 가상 사설망 집중부(1)에서 제 2 암호화 과정을 통해 암호 해독된 메시지를 제 2 암호화 키(KA)로 암호화하고 암호화된 메시지를 이중 인증 서버(2)로 송신하는 단계가 수행된다. 본 단계에서, 제 2 암호화 키(KA)는 AAA 프로토콜을 통해, 가상 사설망 집중부(1)와 이중 인증 서버(2) 간에 기-공유된 키를 나타낸다. 즉, 가상 사설망 집중부(10)에서 수행되는 제 2 암호화 과정은 가상 사설망 집중부(1)와 클라이언트 간의 통신에서 메시지의 보안을 위해 수행된다.
상술한 것처럼, 클라이언트와 가상 사설망 집중부(1) 간의 통신, 그리고 가상 사설망 집중부(1)와 이중 인증 서버(2) 간에 송수신 되는 데이터는 각각 상이한 암호화 과정을 통해 이루어진다. 이를 통해, 외부 공격, 크래킹과 같은 위협으로부터 안전하게 데이터를 송수신 할 수 있다.
또한, 클라이언트와 가상 사설망 집중부(1) 간의 통신은 VPN 프로토콜을 통해, 그리고 가상 사설망 집중부(1)와 이중 인증 서버(2)간의 통신은 AAA 프로토콜을 통해 이루어질 수 있다.
그 후, 이중 인증 서버는 최근 유효한 요청의 챌린지를 기록하는 보안 큐를 이용하여, 클라이언트로부터 송신된 셀프 챌린지가 유효한지 판단한다. 즉, 이중 인증 서버는 보안 큐를 통해, 클라이언트가 중복되는 셀프 챌린지를 통해 이중 인증을 통과하는 지 파악할 수 있다. 이를 통해, 예를 들어, 클라이언트의 사용자에 대한, 계정 정보와 특정 챌린지에 대한 응답값이 노출되더라도, 셀프-챌린지는 동일한 챌린지에 대해 중복되어 사용될 수 없으므로, 보안에 있어서 보다 강력해진다.
그 후, 이중 인증 서버(2)에서 수신한 메시지를 근거로, 사용자의 ID, 셀프 챌린지 및 챌린지 응답 값을 검증하는 단계 즉, 이중 인증을 수행하는 단계가 수행된다. 이러한 이중 인증에 대한 서술은 앞서 도 1을 참조로 상세히 언급되었으므로, 이에 대한 추가적인 서술은 생략한다.
이중 인증 결과, 클라이언트가 제 1 인증 및 제 2 인증 모두를 통과하는 경우, 이중 인증 서버는 사용자가 올바른 사용자라는 결과값을 리턴시켜 인증 과정을 종료시킬 수 있다.
또한, 이중 인증 결과, 클라이언트가 제 1 인증을 통과하지 못한 경우, 이중 인증 서버는 클라이언트가 해당 이중 인증을 재수행하게 하도록, 오류 메시지를 사용자에게 출력할 수 있다.
또한, 이중 인증 결과, 클라이언트가 제 1 인증은 통과하였으나 제 2 인증을 통과하지 못한 경우, 이중 인증 서버는 클라이언트의 재인증을 위해 오류 메세지와 토큰 디비에 저장된 토큰 테이블에서 임의의 챌린지를 클라이언트에게 송신한다.
이 때, 클라이언트에서 이중 인증 서버로부터 수신한 챌린지에 대해 올바른 챌린지 응답 값을 송신하면, 인증은 정상적으로 완료된다. 그렇지 않다면, 이러한 인증에 대해 재수행을 하거나 클라이언트에 대한 접근을 차단할 수 있다.
도 5 내지 도 7에서 보는 바와 같이 본 발명에서는 VPN 특성을 갖는 Cisco ASA 방화벽으로 테스트를 하여 GNS3로 시뮬레이션하였다. Cisco IOS 버젼은 8.0이고, Cisco VPN 클라이언트 소프트웨어를 사용하였다.
도 5를 참조하면, 본 발명의 이중 인증 서버는 CentOS로 작동시키고, 이에 대한 모든 요소를 배열하였다. 이중 인증 서버는 TfasRadius 서비스를 위해 포트(1812, 1813)를 그리고, TFAS 어드민부를 위해 포트(8080)를 리슨한다. 본 예시에서, AAA 프로토콜을 이용하는 TFAS RAIDUS 서버에 대한 IP 주소는 192,168,71,128로 가정된다. 또한, TFAS를 이용하기 위한 클라이언트 측에서, 클라이언트는 호스트 값을 통한 연결 엔트리를 가져야하고, 이는 192.168.72.2의 IP 주소를 갖는 것으로 가정되며, 그룹 인증 특성은 ASA 구성에서의 값을 이용하는 것으로 가정된다.
도 6은 ASA에서 로컬 인증을 위한 VPN 요구를 도시한다. 유효한 유저네임과 패스워드를 통해 VPN 연결이 형성되고, 옐로우 락에 의해 지시된다. 하지만, 잘못된 경우 언클리어 메시지(unclear message)가 생성되고, 최종 유저와 네트워크 관리자에게 불편을 야기한다.
반면, 본 발명의 이중 인증에 대해, 제 1 인증과 제 2 인증을 위한 데이터가 클라이언트로부터 송신되고, 이를 근거로 이중 인증이 수행되기에, 종래의 기술에서 이중 인증을 수행하는데 필요한 불필요한 시간을 상당히 감소시킬 수 있다(도 7 참조). 즉, 본 발명은 종래 기술에서 수행되던 제 1 인증 이후, 제 2 인증을 위해 소요되는 시간 예를 들어, TFAS RADIUS에서 제 1 인증을 수행한 후, 제 2 인증을 수행하기 위해 클라이언트와 인증에 소요되는 추가적인 시간을 감소시킬 수 있다.
이상에서와 같이 도면과 명세서에서 최적의 실시예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
1 : 가상 사설망 집중부(VPN Concentrator)
2 : 이중 인증 서버 3 : 유저 디비(User DB)
4 : LDAP부 5 : WS 토큰부
6 : 재정 서비스부 7 : TFAS 어드민부
8 : 토큰 디비(Token DB) 9 : 토큰 매니저
2 : 이중 인증 서버 3 : 유저 디비(User DB)
4 : LDAP부 5 : WS 토큰부
6 : 재정 서비스부 7 : TFAS 어드민부
8 : 토큰 디비(Token DB) 9 : 토큰 매니저
Claims (10)
- 가상 사설망(VPN)에서 클라이언트로부터 수신된 제 1 암호화 메시지를 암호 해독하고, 암호 해독된 메시지를 암호화하여 제 2 암호화 메시지를 생성하는 가상 사설망 집중부; 및
상기 제 2 암호화 메시지를 암호 해독하여 상기 클라이언트로부터 송신된 메시지를 판독하고, LDAP부(Lightweight Directory Access Protocol) 및 WS 토큰부(Webservice for Token)와 연동하여 상기 판독된 메시지에 포함된 사용자 이름 및 패스워드를 근거로 제 1 인증을, 그리고 셀프-챌린지 및 챌린지 응답값을 근거로 제 2 인증을 수행하여 상기 클라이언트에 대한 이중 인증을 수행하는 이중 인증 서버를 포함하고,
상기 셀프-챌린지는 토큰 디비에 저장된 토큰 테이블에서 각 행과 열의 명칭으로 조합되는 복수의 챌린지들 중, 상기 클라이언트에서 지정한 챌린지를 나타내고, 상기 챌린지 응답값은 상기 셀프-챌린지에 대응하는 값에 대해 상기 클라이언트로부터 입력된 값인 것을 특징으로 하는, 이중 인증 구현 장치. - 제1항에 있어서,
상기 클라이언트는 상기 클라이언트와 상기 가상 사설망 집중부 간에 기 공유된 제 1 암호화 키를 통한 제 1 암호화 과정을 수행하여 제 1 암호화 메시지를 생성하고, 상기 가상 사설망 집중부는 상기 가상 사설망 집중부와 상기 이중 인증 서버 간에 기 공유된 제 2 암호화 키를 통한 제 2 암호화 과정을 수행하여 제 2 암호화 메시지를 생성하는 것을 특징으로 하는, 이중 인증 구현 장치. - 제1항에 있어서,
상기 제 1 인증은 상기 LDAP부를 통해, 유저디비에 저장된 사용자별 계정 정보와, 상기 사용자 이름 및 패스워드를 비교함으로써 이루어지고, 상기 제 2 인증은 상기 WS 토큰부를 통해, 토큰 디비에 저장된 토큰 정보와, 상기 셀프-챌린지 및 챌린지 응답값을 비교함으로써 이루어지며, 상기 제 1 인증 및 상기 제 2 인증은 순차적으로 이루어지는 것을 특징으로 하는, 이중 인증 구현 장치. - 제3항에 있어서,
상기 이중 인증 서버는,
상기 클라이언트가 상기 제 1 인증 및 상기 제 2 인증 모두를 통과한 경우, 이중 인증 과정을 종료시키고, 상기 클라이언트가 상기 제 1 인증을 통과하지 못한 경우, 상기 클라이언트가 상기 이중 인증을 재수행하도록 오류 메시지를 출력하며, 상기 클라이언트가 상기 제 1 인증은 통과하였으나 상기 제 2 인증을 통과하지 못한 경우, 상기 토큰 디비에 저장된 복수의 챌린지들 중 무작위로 선택된 적어도 하나의 챌린지를 상기 클라이언트에게 송신하고, 상기 클라이언트로부터 송신된 챌린지 응답 값을 근거로 상기 클라이언트를 재인증하는 것을 특징으로 하는, 이중 인증 구현 장치. - 제1항에 있어서,
상기 이중 인증 서버는,
상기 클라이언트가 성공적으로 이중 인증을 성공한 챌린지들에 대한 정보를 저장하는 보안 큐를 더 포함하여, 상기 클라이언트로부터 송신된 셀프-챌린지가 상기 보안 큐에 존재하는 챌린지인 경우, 상기 클라이언트에게 셀프-챌린지가 중복되었음을 알리고, 다른 챌린지로 재시도 시키는 것을 특징으로 하는, 이중 인증 구현 장치. - 제1항에 있어서,
상기 클라이언트와 상기 가상 사설망 집중부 간에 이루어지는 통신 및 암호화는 VPN 프로토콜을 이루어지고, 상기 가상 사설망 집중부와 상기 이중 인증 서버 간에 이루어지는 통신 및 암호화는 AAA 프로토콜을 통해 이루어지는 것을 특징으로 하는, 이중 인증 구현 장치. - 가상 사설망 집중부에 의해, 가상 사설망(VPN)에서 클라이언트로부터 수신된 제 1 암호화 메시지를 암호 해독하는 단계;
상기 가상 사설망 집중부에 의해, 암호 해독된 메시지를 암호화하여 제 2 암호화 메시지를 생성하는 단계;
이중 인증 서버에 의해, 상기 제 2 암호화 메시지를 암호 해독하여 상기 클라이언트로부터 송신된 메시지를 판독하는 단계; 및
상기 이중 인증 서버에 의해, LDAP부 및 WS 토큰부와 연동하여 상기 판독된 메시지에 포함된 사용자 이름 및 패스워드를 근거로 제 1 인증을, 그리고 셀프-챌린지 및 챌린지 응답값을 근거로 제 2 인증을 수행하여 상기 클라이언트에 대한 이중 인증을 수행하는 단계를 포함하고,
상기 셀프-챌린지는 토큰 디비에 저장된 토큰 테이블에서 각 행과 열의 명칭으로 조합되는 복수의 챌린지들 중, 상기 클라이언트에서 지정한 챌린지를 나타내고, 상기 챌린지 응답값은 상기 셀프-챌린지에 대응하는 값에 대해 상기 클라이언트로부터 입력된 값인 것을 특징으로 하는, 이중 인증 구현 방법. - 제7항에 있어서,
상기 클라이언트와 상기 가상 사설망 집중부 간에 이루어지는 통신 및 암호화는 VPN 프로토콜을 이루어지고, 상기 가상 사설망 집중부와 상기 이중 인증 서버 간에 이루어지는 통신 및 암호화는 AAA 프로토콜을 통해 이루어지는 것을 특징으로 하는, 이중 인증 구현 방법. - 제7항에 있어서,
상기 클라이언트에 대한 이중 인증을 수행하는 단계에서,
상기 제 1 인증은 상기 LDAP부를 통해, 유저디비에 저장된 사용자별 계정 정보와, 상기 사용자 이름 및 패스워드를 비교함으로써 이루어지고, 상기 제 2 인증은 상기 WS 토큰부를 통해, 토큰 디비에 저장된 토큰 정보와, 상기 셀프-챌린지 및 챌린지 응답값을 비교함으로써 이루어지며, 상기 제 1 인증 및 상기 제 2 인증은 순차적으로 이루어지는 것을 특징으로 하는, 이중 인증 구현 방법. - 제9항에 있어서,
상기 클라이언트에 대한 이중 인증을 수행하는 단계는,
상기 클라이언트가 상기 제 1 인증 및 상기 제 2 인증 모두를 통과한 경우, 이중 인증 과정을 종료시키고, 상기 클라이언트가 상기 제 1 인증을 통과하지 못한 경우, 상기 클라이언트가 상기 이중 인증을 재수행하도록 오류 메시지를 출력하며, 상기 클라이언트가 상기 제 1 인증은 통과하였으나 상기 제 2 인증을 통과하지 못한 경우, 상기 토큰 디비에 저장된 복수의 챌린지들 중 무작위로 선택된 적어도 하나의 챌린지를 상기 클라이언트에게 송신하고, 상기 클라이언트로부터 송신된 챌린지 응답 값을 근거로 상기 클라이언트를 재인증하는 것을 특징으로 하는, 이중 인증 구현 방법.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20130036652 | 2013-04-04 | ||
KR1020130036652 | 2013-04-04 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20140120837A true KR20140120837A (ko) | 2014-10-14 |
KR101510290B1 KR101510290B1 (ko) | 2015-04-10 |
Family
ID=51992602
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR20140038635A KR101510290B1 (ko) | 2013-04-04 | 2014-04-01 | Vpn에서 이중 인증을 구현하기 위한 장치 및 이의 동작 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101510290B1 (ko) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200104084A (ko) * | 2019-02-26 | 2020-09-03 | 한국전자통신연구원 | Puf 기반 사물인터넷 디바이스 인증 장치 및 방법 |
CN115002803A (zh) * | 2022-05-12 | 2022-09-02 | 中国电信股份有限公司 | 终端管理的方法、装置以及电子设备 |
WO2022197071A1 (ko) * | 2021-03-17 | 2022-09-22 | 주식회사맥데이타 | 네트워크 보안 및 성능 모니터링 장치, 시스템 및 방법 |
KR102486480B1 (ko) * | 2022-08-17 | 2023-01-09 | 주식회사 에스케어 | Vpn 접속을 처리하기 위한 방법, 장치, 시스템 및 컴퓨터 판독가능 저장매체 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105407092A (zh) * | 2015-11-04 | 2016-03-16 | 北京汉柏科技有限公司 | 一种vpn用户认证方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4260658B2 (ja) | 2004-03-12 | 2009-04-30 | 三菱電機株式会社 | Vpn装置および不正検知システム |
KR100656355B1 (ko) | 2005-10-19 | 2006-12-11 | 한국전자통신연구원 | 분할된 사용자 인증키를 이용한 사용자 인증 방법, 서비스인증 방법 및 그 장치 |
KR20110038545A (ko) * | 2009-10-08 | 2011-04-14 | 최운호 | 본인인증 장치 및 유비쿼터스 인증 관리 시스템 |
-
2014
- 2014-04-01 KR KR20140038635A patent/KR101510290B1/ko active IP Right Grant
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200104084A (ko) * | 2019-02-26 | 2020-09-03 | 한국전자통신연구원 | Puf 기반 사물인터넷 디바이스 인증 장치 및 방법 |
WO2022197071A1 (ko) * | 2021-03-17 | 2022-09-22 | 주식회사맥데이타 | 네트워크 보안 및 성능 모니터링 장치, 시스템 및 방법 |
CN115002803A (zh) * | 2022-05-12 | 2022-09-02 | 中国电信股份有限公司 | 终端管理的方法、装置以及电子设备 |
CN115002803B (zh) * | 2022-05-12 | 2024-06-07 | 中国电信股份有限公司 | 终端管理的方法、装置以及电子设备 |
KR102486480B1 (ko) * | 2022-08-17 | 2023-01-09 | 주식회사 에스케어 | Vpn 접속을 처리하기 위한 방법, 장치, 시스템 및 컴퓨터 판독가능 저장매체 |
Also Published As
Publication number | Publication date |
---|---|
KR101510290B1 (ko) | 2015-04-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Lux et al. | Distributed-ledger-based authentication with decentralized identifiers and verifiable credentials | |
US20190305964A1 (en) | Digital credentials for user device authentication | |
US20190303587A1 (en) | Digital credentials for access to sensitive data | |
US7613919B2 (en) | Single-use password authentication | |
KR101459802B1 (ko) | 암호화 증명의 재검증에 기반을 둔 인증 위임 | |
US8997196B2 (en) | Flexible end-point compliance and strong authentication for distributed hybrid enterprises | |
US7409543B1 (en) | Method and apparatus for using a third party authentication server | |
US7730523B1 (en) | Role-based access using combinatorial inheritance and randomized conjugates in an internet hosted environment | |
Carretero et al. | Federated identity architecture of the European eID system | |
US20140157393A1 (en) | Proxy authentication network | |
US8112790B2 (en) | Methods and apparatus for authenticating a remote service to another service on behalf of a user | |
US8438383B2 (en) | User authentication system | |
KR20190096825A (ko) | 정보 처리 시스템 및 제어 방법 | |
US11716312B1 (en) | Platform for optimizing secure communications | |
CN103685282A (zh) | 一种基于单点登录的身份认证方法 | |
KR101510290B1 (ko) | Vpn에서 이중 인증을 구현하기 위한 장치 및 이의 동작 방법 | |
CN100514333C (zh) | 一种数据库安全访问方法和系统 | |
KR20180080183A (ko) | 생체인식 프로토콜 표준을 위한 시스템 및 방법 | |
Bazaz et al. | A review on single sign on enabling technologies and protocols | |
JP2001186122A (ja) | 認証システム及び認証方法 | |
Ferretti et al. | Authorization transparency for accountable access to IoT services | |
TWI389534B (zh) | 單一登錄系統與方法及其電腦可讀取媒體 | |
Ozha | Kerberos: An Authentication Protocol | |
Thanh et al. | Implementation of open two-factor authentication service applied to virtual private network | |
Nagar et al. | A secure authenticate framework for cloud computing environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
FPAY | Annual fee payment |
Payment date: 20180403 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20190401 Year of fee payment: 5 |
|
R401 | Registration of restoration |