KR101572598B1 - Sso 인증 시스템 기반 인증 정보 재전송 공격에 안전한 사용자 인증 방법 - Google Patents

Sso 인증 시스템 기반 인증 정보 재전송 공격에 안전한 사용자 인증 방법 Download PDF

Info

Publication number
KR101572598B1
KR101572598B1 KR1020140095654A KR20140095654A KR101572598B1 KR 101572598 B1 KR101572598 B1 KR 101572598B1 KR 1020140095654 A KR1020140095654 A KR 1020140095654A KR 20140095654 A KR20140095654 A KR 20140095654A KR 101572598 B1 KR101572598 B1 KR 101572598B1
Authority
KR
South Korea
Prior art keywords
authentication
server
user terminal
quot
user
Prior art date
Application number
KR1020140095654A
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 KR1020140095654A priority Critical patent/KR101572598B1/ko
Application granted granted Critical
Publication of KR101572598B1 publication Critical patent/KR101572598B1/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 SSO 인증 시스템 기반 인증 정보 재전송 공격에 안전한 사용자 인증 방법에 관한 것으로서, ⒜ SSO 인증 요청 시, 사용자 단말과 인증 서버 간 통신 전개 과정에서 사용될 알고리즘, SSL(Secure Socket Layer) 세션 키 협상을 위한 인증을 실시하는 사용자 단말-인증서버 초기 설정 단계; ⒝ 상기 인증 서버와 서비스 서버 간 통신 전개 과정에서 사용될 알고리즘, SSL 세션키 협상을 위한 인증을 실시하는 인증 서버-서비스 서버 초기 설정 단계; ⒞ 상기 ⒜ 단계에서 정상적인 사용자로 인증된 경우, 상기 인증 서버가 SSO 인증에 사용될 상기 사용자 단말의 인증 정보를 발급하는 단계; 및 ⒟ 상기 ⒞ 단계에서 발급 받은 상기 인증 정보를 사용하여 상기 사용자 단말과 상기 서비스 제공자 간에 인증을 실시하는 단계를 포함함으로써, 사용자와 서비스 제공자 간 인증 시 발생하는 인증 정보 노출로 인한 보안 취약점을 보완하고 통신 전개 과정을 경량화할 수 있다.

Description

SSO 인증 시스템 기반 인증 정보 재전송 공격에 안전한 사용자 인증 방법{Secure User Authentication Scheme against Credential Replay Attack}
본 발명은 SSO 인증 시스템에서 인증 정보 재전송 공격에 안전한 사용자 인증 방법에 관한 것으로, 더욱 상세하게는 사용자와 서비스 제공자 간 인증 시 발생하는 인증 정보 노출로 인한 보안 취약점을 보완하고 통신 전개 과정을 경량화한 안전한 사용자 인증 방법에 관한 것이다.
최근 IT 기술력의 고도화로 초고속 인터넷 망이 발달하게 되었고 과거 인터넷 환경과는 다른 모습을 보이고 있다. 일상생활에서 다양한 인터넷 서비스를 접할 수 있게 되었으며, 이러한 인터넷 서비스는 우리 생활의 필수요소라 할 수 있다. 많은 사용자가 이용할 수 있는 서비스가 다양해짐에 따라 효용가치도 증가하였다. 또한, 휴대성이 편리한 다양한 스마트 기기들의 발전과 보급으로 인해 더 많은 정보와 서비스들이 웹 기반 형태로 변화되고 있다.
하지만, 웹 기반 형태의 서비스들은 각 사용자에게 인증 정보를 요구하게 되고, 정당한 사용자로 인증되었을 경우에만 요청한 서비스들을 제공 받을 수 있다. 이에 따라, 사용자 측면에서 다양한 웹 서비스 별로 개별적인 식별자(ID)와 비밀번호(PW)를 설정하고 기억해야 하는 불편함이 따르게 되었다. 또한, 서비스 업체에서 여러 연계된 서비스들을 제공하게 됨에 따라 중복 사용자들의 인증 정보를 별도로 관리하게 되는 문제점이 발생되었다. 이러한 문제점을 극복하기 위해 한 번의 인증으로 다양한 서비스들을 이용할 수 있는 SSO(Single Sign-On) 개념이 등장하였다.
다만, SSO 인증의 경우 한 번의 인증을 통해 다양한 서비스들을 이용할 수 있기 때문에 인증 방법에 있어 안전성이 고려되어야 한다. 특히, SSO 인증에 사용되는 사용자 인증 정보가 공격자에게 탈취되었을 경우 단순히 재전송 공격을 통해 연계된 모든 서비스에 정당한 사용자로써 인증된 세션을 취득할 수 있는 취약점이 존재한다. 또한, SSO 인증을 요청하는 기기가 다양해짐에 따라 통신 전개 과정에 있어 안전하고 경량화 된 방식이 요구된다.
따라서, 본 발명에서는 보안 취약점을 보완하고 인증 정보에 대한 프라이버시를 제공하며 경량화 된 사용자 인증 기법을 제공하고자 한다.
대한민국 공개특허공보 제10-2013-01236017호(공개일 2013.12.12.)
따라서, 본 발명은 상기한 종래 기술의 문제점을 해결하기 위해 이루어진 것으로서, 본 발명의 목적은 상기에 언급한 사용자와 서비스제공자 간에 상호인증 과정에 대한 보안 문제점을 간접적인 인증 정보를 사용하여 인증 정보 프라이버시 및 안전성을 제공하고, 연산 효율성을 향상시킨 사용자 인증 방법을 제공하는데 있다.
상기와 같은 목적을 달성하기 위한 본 발명의 SSO 인증 시스템 기반 인증 정보 재전송 공격에 안전한 사용자 인증 방법은, ⒜ SSO 인증 요청 시, 사용자 단말과 인증 서버 간 통신 전개 과정에서 사용될 알고리즘, SSL(Secure Socket Layer) 세션 키 협상을 위한 인증을 실시하는 사용자 단말-인증서버 초기 설정 단계; ⒝ 상기 인증 서버와 서비스 서버 간 통신 전개 과정에서 사용될 알고리즘, SSL 세션키 협상을 위한 인증을 실시하는 인증 서버-서비스 서버 초기 설정 단계; ⒞ 상기 ⒜단계에서 정상적인 사용자로 인증된 경우, 상기 인증 서버가 SSO 인증에 사용될 상기 사용자 단말의 인증 정보를 발급하는 단계; 및 ⒟ 상기 ⒞단계에서 발급 받은 상기 인증 정보를 사용하여 상기 사용자 단말과 상기 서비스 제공자 간에 인증을 실시하는 단계를 포함하는 것을 특징으로 한다.
바람직하게는, 상기 ⒞ 단계는, 상기 인증 서버가 상기 인증 정보에 사용될 임의 값 랜덤 넌스(Random Nonce)
Figure 112014070971788-pat00001
및 임의의 일회용 비밀번호(One Time Password)
Figure 112014070971788-pat00002
를 생성하는 단계; 상기 인증 서버가 상기 서비스 서버의 SSL 세션 키
Figure 112014070971788-pat00003
및 상기 사용자 단말의 통신
Figure 112014070971788-pat00004
를 사용하여 하기 <수학식 1>과 같이 인증 정보
Figure 112014070971788-pat00005
,
Figure 112014070971788-pat00006
및 서비스 토큰
Figure 112014070971788-pat00007
를 계산하는 단계; 및 상기 인증 서버가 상기 인증 정보를 상기 사용자 단말과 상기 서비스 서버에 하기 <수학식 2>와 같이 암호화하여 전송하는 단계를 포함하는 것을 특징으로 한다.
<수학식 1>
Figure 112014070971788-pat00008
Figure 112014070971788-pat00009
Figure 112015074540516-pat00140
<수학식 2>
Figure 112015074540516-pat00141
Figure 112015074540516-pat00142
바람직하게는, 상기 ⒟ 단계는, 상기 사용자 단말이 하기 <수학식 3>과 같이 간접적인 인증 값
Figure 112014070971788-pat00013
를 생성하여, 서비스 서버에 상기 간접적인 인증 값
Figure 112014070971788-pat00014
및 암호화된 토큰을 전송하는 단계; 상기 서비스 서버가 하기 <수학식 4>와 같이 상기 암호화된 토큰을 복호화하고, 상기 인증 정보를 통해 하기 <수학식 5>를 통해 인증 요소인 임의 값 랜덤 넌스(Random Nonce)
Figure 112014070971788-pat00015
및 임의의 일회용 비밀번호(One Time Password)
Figure 112014070971788-pat00016
를 복원하고, 하기 <수학식 6>과 같이 사용자 인증 값
Figure 112014070971788-pat00017
를 생성하는 단계; 상기 서비스 서버가 상기 인증 서버로부터 전송 받은 간접적인 인증 값
Figure 112014070971788-pat00018
와 상기 사용자 인증 값
Figure 112014070971788-pat00019
를 비교하는 단계; 및 상기
Figure 112014070971788-pat00020
Figure 112014070971788-pat00021
가 같은 경우 상기 서비스 서버가 상기 사용자 단말에 서비스 접근 권한을 부여하고, 그렇지 않은 경우 통신을 겨부하는 단계를 포함하는 것을 특징으로 한다.
<수학식 3>
Figure 112015074540516-pat00143
<수학식 4>
Figure 112014070971788-pat00023
<수학식 5>
Figure 112014070971788-pat00024
Figure 112014070971788-pat00025
<수학식 6>
Figure 112015074540516-pat00144
바람직하게는, 상기 ⒟ 단계는, 상기 서비스 서버가 상호인증에 사용될 인증 정보를 생성하기 위하여 임의 값
Figure 112014070971788-pat00027
와 하기 <수학식 7>과 같이 인증 정보
Figure 112014070971788-pat00028
,
Figure 112014070971788-pat00029
를 생성하고, 이러한 인증 정보
Figure 112014070971788-pat00030
,
Figure 112014070971788-pat00031
를 사용자 단말에 전송하는 단계; 상기 사용자 단말이 하기 <수학식 8>과 같이 상기 인증 요소를 사용하여 임의 값
Figure 112014070971788-pat00032
를 복원하고, 이를 통해 하기 <수학식 9>와 같이 상기 서비스 서버의 인증 값
Figure 112014070971788-pat00033
를 생성하는 단계; 및 상기 사용자 단말이 상기 서비스 서버의 인증 값
Figure 112014070971788-pat00034
와 상기 서비스 서버로부터 수신한
Figure 112014070971788-pat00035
를 비교함으로써 상호인증을 하는 단계를 포함하는 것을 특징으로 한다.
<수학식 7>
Figure 112015074540516-pat00145
Figure 112015074540516-pat00146
<수학식 8>
Figure 112015074540516-pat00147
<수학식 9>
Figure 112015074540516-pat00148
Figure 112014070971788-pat00040

상술한 바와 같이, 본 발명에 의한 SSO 인증 시스템 기반 인증 정보 재전송 공격에 안전한 사용자 인증 방법에 따르면, 간접 정보를 통한 인증 정보 생성으로 사용자 인증 정보에 대한 프라이버시를 제공할 수 있다. 또한, 통신 전개 과정에 있어 비밀키 암호 알고리즘, 일방향 해시함수 및 배타적 논리합 연산만을 사용함으로써 보다 경량화 된 사용자 인증 방법을 제공하고, 다양한 보안 요구사항을 만족하는 안전성을 제공할 수 있다. 즉, 본 발명에 따른 SSO 인증 시스템에서의 안전하고 경량화 된 사용자 인증 기법은 다음과 같은 효과를 가질 수 있다.
1. 간접적인 사용자 인증 정보 생성
인증 정보를 생성함에 있어 사용자의 민감한 정보를 사용하는 것이 아닌 간접적인 임의의 정보를 활용하여 생성하는 방법을 통해 인증 정보 프라이버시를 제공할 수 있다.
2. 통신 전개 과정의 경량화
빠른 속도를 보이는 비밀키 암호 알고리즘, 일방향 해시함수 및 배타적 논리합 연산을 통해 사용자 인증 과정을 설계함으로써 통신 전개 과정의 연산 효율성을 증가시킬 수 있다.
3. SSO 인증 시스템에 적합한 사용자 인증 기법 설계
SSO 인증 시스템에 적합하도록 사용자와 서비스제공자 간의 인증 방법을 제안하여, 다양한 보안 요구사항들을 SSO 인증 시스템에서도 제공할 수 있다.
도 1은 본 발명의 바람직한 일 실시예를 실시하기 위한 전체 시스템 구성의 일례를 도시한 블록 구성도이다.
도 2는 본 발명의 바람직한 일 실시예에 따른 사용자와 인증 서버 간 초기 설정 과정을 도시한 흐름도이다.
도 3은 본 발명의 바람직한 일 실시예에 따른 인증 서버와 서비스 서버 간 초기 설정 과정을 도시한 흐름도이다.
도 4는 본 발명의 바람직한 일 실시예에 따른 인증 정보 발급 과정을 도시한 흐름도이다.
도 5는 본 발명의 바람직한 일 실시예에 따른 사용자와 서비스 제공자 간 인증 과정을 도시한 흐름도이다.
이하, 본 발명의 인증 정보 재전송 공격에 안전한 사용자 인증 방법에 대하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.
도 1은 본 발명의 바람직한 일 실시예를 실시하기 위한 전체 시스템 구성의 일례를 도시한 블록 구성도이다.
도 1을 참조하면, 본 발명이 적용되는 전체 사용자 인증 시스템은, 사용자 단말(10), 인증 서버(20) 및 서비스 서버(30)를 포함하여 이루어진다.
여기서, 사용자 단말(10)은 일반적인 PC 환경에서의 사용자 컴퓨터 및 모바일을 통해 웹 사이트에 접속 가능한 스마트폰, 태블릿 PC, PDA 등의 장치들을 포함한다.
인증 서버(20)는 한 번의 사용자 인증 과정으로 복수의 웹 사이트의 접속을 인증하는 SSO(Single Sign-On) 서비스를 위한 인증 정보를 발급한다. 또한, 인증 서버(20)는 서버 세션을 관리한다. 인증 서버(20)에서 인증 정보를 발급하는 것은 사용자 단말(10)의 IP 정보 및 서비스 서버(30)의 SSL 세션 키를 활용하여 인증 코드를 생성하는 것이 바람직하다.
그리고, 서비스 서버(30)는 사용자 단말(10)로부터 인증 요청이 들어오면, 인증 서버(20)로부터 발급 받은 인증 정보를 통해 사용자 단말(10)을 검증하고, 인가된 사용자일 경우 서비스 접근 권한을 부여하고 그렇지 않을 경우 통신을 거부한다.
그러면, 여기서 상기와 같이 구성된 시스템을 이용한 본 발명의 인증 정보 재전송 공격에 안전한 사용자 인증 방법에 대해 설명하기로 한다.
본 발명의 실시예에 대한 설명에 앞서, 이하 내용에서 사용되는 기호들에 대하여 다음과 같이 정의한다.
·
Figure 112014070971788-pat00041
: 참여 객체 (
Figure 112014070971788-pat00042
: 사용자 단말,
Figure 112014070971788-pat00043
: 인증 서버,
Figure 112014070971788-pat00044
: 서비스 서버)
·
Figure 112014070971788-pat00045
: 임의 생성된 랜덤 넌스(Random Nonce) 값
·
Figure 112014070971788-pat00046
: 임의의 일회용 비밀번호
·
Figure 112014070971788-pat00047
: 인증 서버와 각 개체 간 안전하게 공유된 SSL 프로토콜의 세션 키
·
Figure 112014070971788-pat00048
: 사용자 단말의 정보 식별에 사용되는 서비스 토큰
·
Figure 112014070971788-pat00049
: 사전에 사용자 단말과 서비스 서버 간 안전하게 협상된 서비스 토큰 암호화 비밀 키
·
Figure 112014070971788-pat00050
: 사용자 단말의 간접적인 인증 값
·
Figure 112014070971788-pat00051
: 인증 완료 후 사용자 단말과 서비스 서버 간 통신에 사용될 비밀 키
·
Figure 112014070971788-pat00052
: 일방향 해시함수
본 발명은 SSO(Single Sign-on) 인증 시스템에서의 인증 정보 재전송 공격에 안전한 경량화 기법에 관한 기술로써, 크게 사용자 단말과 인증 서버 간 초기 설정 단계(100), 인증 서버와 서비스 서버 간 초기 설정 단계(200), 인증 정보 발급 단계(300) 및 사용자 단말과 서비스 서버 간 인증 단계(400)를 포함한다.
도 2는 본 발명의 바람직한 일 실시예에 따른 사용자 단말과 인증 서버 간 초기 설정 과정을 도시한 흐름도이다.
본 발명을 실시하기 위한 사용자 단말과 인증 서버 간 초기 설정 과정은 도 1을 참조하여 설명한다.
본 발명의 일 실시예에 따른 사용자 단말(10)과 인증 서버(20) 사이의 초기 설정 과정은, SSL 프로토콜을 통해 인증 과정을 실시함으로써 이루어진다. SSL 핸드쉐이크(handshake) 과정은 세션 키 및 암호화 방식에 대한 협상뿐만 아니라 공인인증서를 통한 인증 방법을 제공한다. 이에, 인증 서버(20)는 SSL 핸드쉐이크 과정에서 공인인증기관으로부터 발급받은 인증서를 제시하고 자신을 인증하며, 사용자 단말(10)은 인증 서버(20)로부터 제공되는 인터페이스를 통해 식별자(ID)와 비밀번호(PW)를 입력하고 이것이 유효하면 인증 서버(20)로부터 정상적인 사용자로 인증 받게 된다. 이러한 절차가 완료되면 사용자 단말(10)과 인증 서버(20) 사이에 세션키가 생성되며, 정해진 암호화 파라미터와 알고리즘을 통해 안전한 통신을 설정하게 된다.
사용자 단말과 인증 서버 사이의 초기 설정 과정을 도 2를 참조하여 보다 구체적으로 살펴보면, 세션을 설정하는 첫 번째 단계로 사용자 단말(10)과 인증 서버(20)는 Hello(101, 102) 메시지를 교환하며, 이 과정을 통해서 SSL 프로토콜 보존, 세션 ID, 암호 압축 방법을 설정하고 ClientHello.random과 ServerHello.random을 생성, 교환하게 된다. ClientHello(101) 메시지를 받은 인증 서버(20)는 사용자 단말(10)의 인증서를 요구할 수 있으며, 이 경우 인증 서버(20) 자신의 Certificate(103)를 보내며 그렇지 않을 경우 ServerKeyExchange(104)를 응답에 포함하여 CertificateRequest를 보내고, Hello가 완료됨을 알리는 ServerHelloDone 메시지(105)를 사용자 단말에 보내어 응답한다.
그러면, 사용자 단말(10)은 Hello에 응답을 받아서 ClientKeyExchange(106)와 사용자 단말(10)이 사용할 ChangeCipherSpec 메시지(107)를 뒤이어 CipherSpec에 맞추어 작성된 Finished 메시지(108)를 인증 서버(20)로 보낸다.
CipherSpec 메시지(107)와 이를 이용해서 만들어진 Finished 메시지(108)를 받은 후, 인증 서버(20)는 인증 서버(20)가 사용할 ChangeCipherSpec 메시지(109)와 Finished 메시지(110)를 보내고, 이후에는 합의된 내용으로 Application Data의 교환이 이루어지게 된다.
도 3은 본 발명의 바람직한 일 실시예에 따른 인증 서버와 서비스 서버 간 초기 설정 과정을 도시한 흐름도이다.
본 발명을 실시하기 위한 인증 서버와 서비스 서버 간 초기 설정 단계는 도 3을 참조하여 설명한다.
인증 서버(20)와 서비스 서버(30) 사이의 초기 설정 과정은, 상기 도 2의 SSL 핸드쉐이크 과정에서 이루어지는 인증서 확인을 통해 이루어진다. 여기서, 인증서는 신뢰할 수 있는 공인인증기관에서 발급되는 것으로, 확인되지 않은 사업자에게는 발급되지 않는다. 특히, 인증 서버(20)와 서비스 서버(30) 사이의 계약과 더불어 인증기관으로부터 발급된 인증서는 두 서버가 서로를 절대적으로 신뢰할 수 있도록 한다.
이에, 도 2의 SSL 핸드쉐이크 과정이 시작되면, 인증 서버(20)와 서비스 서버(30)는 두 서버 사이에 공통적으로 지원 가능한 암호화 파라미터와 알고리즘에 대한 협상을 실시한다. 또한, 인증 서버(20)와 서비스 서버(30) 사이에 세션키를 확립하고 공인인증기관에서 발급받은 인증서를 제시함으로써 서로를 인증한다.
인증 서버와 서비스 서버 사이의 초기 설정 과정을 도 3을 참조하여 보다 구체적으로 살펴보면, 세션을 설정하는 첫 번째 단계로 인증 서버(20)와 서비스 서버(30)는 Hello 메시지(201, 202)를 교환하며, 이 과정을 통해서 SSL 프로토콜 보존, 세션 ID, 암호 압축 방법을 설정하고 ClientHello.random과 ServerHello.random을 생성, 교환하게 된다. ClientHello 메시지(202)를 받은 인증 서버(20)는 서비스 서버(30)의 인증서를 요구할 수 있으며, 이 경우 서버 자신의 Certificate(203)를 보내며 그렇지 않을 경우 ServerKeyExchange(204)를 응답에 포함하여 CertificateRequest를 보내고, Hello가 완료됨을 알리는 ServerHelloDone 메시지(205)를 서비스 서버(30)로 보내어 응답한다.
그러면, 서비스 서버(30)는 Hello에 응답을 받아서 서비스 서버(30)의 Certificate(206) 또는 ClientKeyExchange(207)와 서비스 서버(30)가 사용할 ChangeCipherSpec 메시지(208)를 뒤이어 CipherSpec에 맞추어 작성된 Finished 메시지(209)를 인증 서버(20)로 보낸다.
ChangeCipherSpec 메시지(208)와 이를 이용해서 만들어진 Finished 메시지(209)를 받은 후, 인증 서버(20)는 인증 서버(20)가 사용할 ChangeCipherSpec 메시지(210)와 Finished 메시지(211)를 보내고 이후에는 합의된 내용으로 Application Data의 교환이 이루어지게 된다.
도 4는 본 발명의 바람직한 일 실시예에 따른 인증 정보 발급 과정을 도시한 흐름도이다.
본 발명을 실시하기 위한 인증 정보 발급 단계는 도 4를 참조하여 설명한다.
인증 정보 발급 과정은, 상기 사용자 단말과 인증 서버 간 인증 과정 및 인증 서버와 서비스 서버 간 인증 과정 다음에 진행된다. 이에, 인증 정보 발급 과정은, 사용자 단말(10)이 자신의 식별자(ID)와 비밀번호(PW)를 통해 인증 서버(20)에 정상적인 사용자로 인증되면 인증 정보를 생성하고 발급함으로써 이루어진다. 이때, 인증 서버(20)와 각 객체간의 통신은 SSL 프로토콜을 사용한다.
인증 정보 발급 과정을 도 4를 참조하여 보다 구체적으로 살펴보면, 먼저 인증 서버(20)는 인증 정보 생성에 사용될 임의 값 랜덤 넌스(Random Nonce)
Figure 112014070971788-pat00053
및 임의의 일회용 비밀번호(One Time Password)
Figure 112014070971788-pat00054
를 생성하고(S401), 서비스 서버(30)의 SSL 세션 키
Figure 112014070971788-pat00055
와 사용자 단말(10)의 통신
Figure 112014070971788-pat00056
를 활용하여 다음 <수학식 1>과 같이 인증 정보
Figure 112014070971788-pat00057
,
Figure 112014070971788-pat00058
와 서비스 토큰
Figure 112014070971788-pat00059
를 계산한다(S402).
<수학식 1>
Figure 112014070971788-pat00060
Figure 112014070971788-pat00061
Figure 112015074540516-pat00149
다음으로, 인증 서버(20)는 사용자 단말(10)과 서비스 서버(30)에게 인증에 필요한 정보들을 SSL을 통해 <수학식 2>와 같이 암호화하여 전송한다(S403).
<수학식 2>
Figure 112015074540516-pat00150
Figure 112015074540516-pat00151
그러면, 인증 정보를 전송 받은 서비스 서버(30)는 발급 받은 인증 정보를 서비스 토큰
Figure 112014070971788-pat00065
를 색인으로 하여 임시 저장소(31)에 보관할 수 있다.
도 5는 본 발명의 바람직한 일 실시예에 따른 사용자 단말과 서비스 제공자 간 인증 과정을 도시한 흐름도이다.
본 발명을 실시하기 위한 사용자 단말과 서비스 제공자 간 인증 과정은 도 5를 참조하여 설명한다.
사용자 단말과 서비스 제공자 간 인증 과정은 상기 인증 정보 발급 과정 다음에 진행될 수 있다. 본 발명의 실시예에 따른 사용자 단말(10)과 서비스 제공자(30) 간 인증 과정은, 사용자 단말(10)이 발급 받은 인증 정보를 활용하여 해당 서비스 서버(30)에게 인증 정보와 함께 인증 요청을 실시하며, 서비스 서버(30)가 이를 검증하는 과정을 거침으로써 진행되며, 이때 서비스 서버(30)는 사용자 단말(10)이 인가된 사용자일 경우 서비스 접근 권한을 부여하고 그렇지 않을 경우 통신을 거부한다.
인증 서버(20)와 서비스 서버(30) 사이의 초기 설정 과정을 도 4를 참조하여 보다 구체적으로 살펴보면, 인증 요청을 하기 위해 사용자 단말(10)은 <수학식 3>과 같이 전송할 간접적인 인증 값
Figure 112014070971788-pat00066
를 생성하여(S501), 서비스 서버(30)에 암호화된 토큰과 함께 전송한다(S502).
<수학식 3>
Figure 112015074540516-pat00152
그 후, 서비스 서버(30)는 <수학식 4>와 같이 암호화된 서비스 토큰을 복호화하고,
Figure 112014070971788-pat00068
를 통해 임시 저장소(31)에 저장된 인증 정보를 검색하여(S503), <수학식 5>와 같이 인증 값 생성을 위한 인증요소를 복원한다(S504). 그리고, 이를 통해 <수학식 6>과 같이 사용자 인증 값
Figure 112014070971788-pat00069
를 생성하고(S505), 상기 인증 서버(20)로부터 수신 받은
Figure 112014070971788-pat00070
와 비교하여 인증한다(S506). 이때, 서비스 서버(30)는
Figure 112014070971788-pat00071
Figure 112014070971788-pat00072
가 같은 경우 사용자 단말(10)을 인가된 사용자로 보고 서비스 접근 권한을 부여하고, 그렇지 않을 경우 통신을 거부한다.
<수학식 4>
Figure 112014070971788-pat00073
<수학식 5>
Figure 112014070971788-pat00074
Figure 112014070971788-pat00075
<수학식 6>
Figure 112015074540516-pat00153
Figure 112014070971788-pat00077
단계 S506에서 사용자 단말(10)에 대한 인증이 완료되면, 서비스 서버(30)의 상호인증을 실시한다. 서비스 서버(30)는 상호인증에 사용될 인증 정보를 생성하기 위하여 임의 값
Figure 112014070971788-pat00078
와 <수학식 7>과 같이 인증 정보
Figure 112014070971788-pat00079
,
Figure 112014070971788-pat00080
를 생성하여(S507), 이러한 인증 정보
Figure 112014070971788-pat00081
,
Figure 112014070971788-pat00082
를 사용자 단말(10)에 전송한다(S508).
<수학식 7>
Figure 112015074540516-pat00154
Figure 112015074540516-pat00155
단계 S508에서 사용자 단말(10)이 서비스 서버(30)로부터 인증 정보
Figure 112014070971788-pat00085
,
Figure 112014070971788-pat00086
를 수신 받으면, 사용자 단말(10)은 <수학식 8>과 같이 자신이 소유한 인증 요소를 활용하여 임의 값
Figure 112014070971788-pat00087
를 복원하고(S509), 이를 통해 <수학식 9>와 같이 서비스 서버(30)의 인증 값
Figure 112014070971788-pat00088
를 생성하며(S510), 이를 수신한
Figure 112014070971788-pat00089
와 비교함으로써 상호인증을 실시한다(S511).
<수학식 8>
Figure 112015074540516-pat00156
<수학식 9>
Figure 112015074540516-pat00157
Figure 112014070971788-pat00092
이렇게 하여, 사용자 단말(10)과 서비스 서버(30)간의 상호인증이 완료되면 <수학식 10>과 같이 이후 통신에 사용될 비밀 키
Figure 112014070971788-pat00093
를 계산한다(S512).
<수학식 10>
Figure 112015074540516-pat00158

이상에서 몇 가지 실시예를 들어 본 발명을 더욱 상세하게 설명하였으나, 본 발명은 반드시 이러한 실시예로 국한되는 것이 아니고 본 발명의 기술사상을 벗어나지 않는 범위 내에서 다양하게 변형실시될 수 있다.
10 : 사용자 단말
20 : 인증 서버
30 : 서비스 서버

Claims (4)

  1. 삭제
  2. ⒜ SSO 인증 요청 시, 사용자 단말과 인증 서버 간 통신 전개 과정에서 사용될 알고리즘, SSL(Secure Socket Layer) 세션 키 협상을 위한 인증을 실시하는 사용자 단말-인증서버 초기 설정 단계;
    ⒝ 상기 인증 서버와 서비스 서버 간 통신 전개 과정에서 사용될 알고리즘, SSL 세션키 협상을 위한 인증을 실시하는 인증 서버-서비스 서버 초기 설정 단계;
    ⒞ 상기 ⒜ 단계에서 정상적인 사용자로 인증된 경우, 상기 인증 서버가 SSO 인증에 사용될 상기 사용자 단말의 인증 정보를 발급하는 단계;
    ⒟ 상기 ⒞ 단계에서 발급 받은 상기 인증 정보를 사용하여 상기 사용자 단말과 상기 서비스 서버 간에 인증을 실시하는 단계;를 포함하며,

    상기 ⒞ 단계는,
    상기 인증 서버가 상기 인증 정보에 사용될 임의 값 랜덤 넌스(Random Nonce)
    Figure 112015074540516-pat00095
    및 임의의 일회용 비밀번호(One Time Password)
    Figure 112015074540516-pat00096
    를 생성하는 단계;
    상기 인증 서버가 상기 서비스 서버의 SSL 세션 키
    Figure 112015074540516-pat00097
    및 상기 사용자 단말의 통신
    Figure 112015074540516-pat00098
    를 사용하여 하기 <수학식 1>과 같이 인증 정보
    Figure 112015074540516-pat00099
    ,
    Figure 112015074540516-pat00100
    및 서비스 토큰
    Figure 112015074540516-pat00101
    를 계산하는 단계; 및
    상기 인증 서버가 상기 인증 정보를 상기 사용자 단말과 상기 서비스 서버에 하기 <수학식 2>와 같이 암호화하여 전송하는 단계;
    를 포함하는 것을 특징으로 하는, SSO 인증 시스템에서의 사용자 인증 기법.
    <수학식 1>
    Figure 112015074540516-pat00102

    Figure 112015074540516-pat00103

    Figure 112015074540516-pat00159

    <수학식 2>
    Figure 112015074540516-pat00160

    Figure 112015074540516-pat00161

  3. ⒜ SSO 인증 요청 시, 사용자 단말과 인증 서버 간 통신 전개 과정에서 사용될 알고리즘, SSL(Secure Socket Layer) 세션 키 협상을 위한 인증을 실시하는 사용자 단말-인증서버 초기 설정 단계;
    ⒝ 상기 인증 서버와 서비스 서버 간 통신 전개 과정에서 사용될 알고리즘, SSL 세션키 협상을 위한 인증을 실시하는 인증 서버-서비스 서버 초기 설정 단계;
    ⒞ 상기 ⒜ 단계에서 정상적인 사용자로 인증된 경우, 상기 인증 서버가 SSO 인증에 사용될 상기 사용자 단말의 인증 정보를 발급하는 단계;
    ⒟ 상기 ⒞ 단계에서 발급 받은 상기 인증 정보를 사용하여 상기 사용자 단말과 상기 서비스 서버 간에 인증을 실시하는 단계;를 포함하며,

    상기 ⒟ 단계는,
    상기 사용자 단말이 하기 <수학식 3>과 같이 간접적인 인증 값
    Figure 112015074540516-pat00107
    를 생성하여, 서비스 서버에 상기 간접적인 인증 값
    Figure 112015074540516-pat00108
    및 암호화된 토큰을 전송하는 단계;
    상기 서비스 서버가 하기 <수학식 4>와 같이 상기 암호화된 토큰을 복호화하고, 상기 인증 정보를 통해 하기 <수학식 5>를 통해 인증 요소인 임의 값 랜덤 넌스(Random Nonce)
    Figure 112015074540516-pat00109
    및 임의의 일회용 비밀번호(One Time Password)
    Figure 112015074540516-pat00110
    를 복원하고, 하기 <수학식 6>과 같이 사용자 인증 값
    Figure 112015074540516-pat00111
    를 생성하는 단계;
    상기 서비스 서버가 상기 인증 서버로부터 전송 받은 간접적인 인증 값
    Figure 112015074540516-pat00112
    와 상기 사용자 인증 값
    Figure 112015074540516-pat00113
    를 비교하는 단계; 및
    상기
    Figure 112015074540516-pat00114
    Figure 112015074540516-pat00115
    이 같은 경우 상기 서비스 서버가 상기 사용자 단말에 서비스 접근 권한을 부여하고, 그렇지 않은 경우 통신을 거부하는 단계;
    를 포함하는 것을 특징으로 하는, SSO 인증 시스템에서의 사용자 인증 기법.
    <수학식 3>
    Figure 112015074540516-pat00162

    <수학식 4>
    Figure 112015074540516-pat00117

    <수학식 5>
    Figure 112015074540516-pat00118

    Figure 112015074540516-pat00119

    <수학식 6>
    Figure 112015074540516-pat00163

  4. ⒜ SSO 인증 요청 시, 사용자 단말과 인증 서버 간 통신 전개 과정에서 사용될 알고리즘, SSL(Secure Socket Layer) 세션 키 협상을 위한 인증을 실시하는 사용자 단말-인증서버 초기 설정 단계;
    ⒝ 상기 인증 서버와 서비스 서버 간 통신 전개 과정에서 사용될 알고리즘, SSL 세션키 협상을 위한 인증을 실시하는 인증 서버-서비스 서버 초기 설정 단계;
    ⒞ 상기 ⒜ 단계에서 정상적인 사용자로 인증된 경우, 상기 인증 서버가 SSO 인증에 사용될 상기 사용자 단말의 인증 정보를 발급하는 단계;
    ⒟ 상기 ⒞ 단계에서 발급 받은 상기 인증 정보를 사용하여 상기 사용자 단말과 상기 서비스 서버 간에 인증을 실시하는 단계;를 포함하며,

    상기 ⒟ 단계는,
    상기 서비스 서버가 상호인증에 사용될 인증 정보를 생성하기 위하여 임의 값
    Figure 112015074540516-pat00121
    와 하기 <수학식 7>과 같이 인증 정보
    Figure 112015074540516-pat00122
    ,
    Figure 112015074540516-pat00123
    를 생성하고, 이러한 인증 정보
    Figure 112015074540516-pat00124
    ,
    Figure 112015074540516-pat00125
    를 사용자 단말에 전송하는 단계;
    상기 사용자 단말이 하기 <수학식 8>과 같이 임의 값
    Figure 112015074540516-pat00126
    를 복원하고, 이를 통해 하기 <수학식 9>와 같이 상기 서비스 서버의 인증 값
    Figure 112015074540516-pat00127
    를 생성하는 단계; 및
    상기 사용자 단말이 상기 서비스 서버의 인증 값
    Figure 112015074540516-pat00128
    와 상기 서비스 서버로부터 수신한
    Figure 112015074540516-pat00129
    를 비교함으로써 상호인증을 하는 단계;
    를 포함하는 것을 특징으로 하는, SSO 인증 시스템에서의 사용자 인증 기법.
    <수학식 7>
    Figure 112015074540516-pat00164

    Figure 112015074540516-pat00165

    <수학식 8>
    Figure 112015074540516-pat00166

    <수학식 9>
    Figure 112015074540516-pat00167

    Figure 112015074540516-pat00134
KR1020140095654A 2014-07-28 2014-07-28 Sso 인증 시스템 기반 인증 정보 재전송 공격에 안전한 사용자 인증 방법 KR101572598B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140095654A KR101572598B1 (ko) 2014-07-28 2014-07-28 Sso 인증 시스템 기반 인증 정보 재전송 공격에 안전한 사용자 인증 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140095654A KR101572598B1 (ko) 2014-07-28 2014-07-28 Sso 인증 시스템 기반 인증 정보 재전송 공격에 안전한 사용자 인증 방법

Publications (1)

Publication Number Publication Date
KR101572598B1 true KR101572598B1 (ko) 2015-12-11

Family

ID=55020632

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140095654A KR101572598B1 (ko) 2014-07-28 2014-07-28 Sso 인증 시스템 기반 인증 정보 재전송 공격에 안전한 사용자 인증 방법

Country Status (1)

Country Link
KR (1) KR101572598B1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107819757A (zh) * 2017-10-31 2018-03-20 下代互联网重大应用技术(北京)工程研究中心有限公司 基于cerid的虚机域名和证书系统及生成方法
CN108667761A (zh) * 2017-03-27 2018-10-16 上海格尔软件股份有限公司 一种利用安全套接字层会话保护单点登录的方法
CN108881320A (zh) * 2018-09-11 2018-11-23 北京北信源信息安全技术有限公司 一种用户登陆的认证处理方法、服务器及客户端
CN113346993A (zh) * 2021-06-09 2021-09-03 郑州轻工业大学 一种基于隐私保护的分层动态群组密钥协商方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101358704B1 (ko) 2012-12-20 2014-02-13 라온시큐어(주) 싱글 사인 온을 위한 인증 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101358704B1 (ko) 2012-12-20 2014-02-13 라온시큐어(주) 싱글 사인 온을 위한 인증 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
이승아, 인증정보 재사용 공격에 강인한 SSO(Single Sign-On) 인증 방법, 전북대학교대학원 석사학위논문 (2012.02.22.)*

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108667761A (zh) * 2017-03-27 2018-10-16 上海格尔软件股份有限公司 一种利用安全套接字层会话保护单点登录的方法
CN108667761B (zh) * 2017-03-27 2022-02-08 格尔软件股份有限公司 一种利用安全套接字层会话保护单点登录的方法
CN107819757A (zh) * 2017-10-31 2018-03-20 下代互联网重大应用技术(北京)工程研究中心有限公司 基于cerid的虚机域名和证书系统及生成方法
CN107819757B (zh) * 2017-10-31 2020-08-18 下一代互联网重大应用技术(北京)工程研究中心有限公司 基于cerid的虚机域名和证书系统及生成方法
CN108881320A (zh) * 2018-09-11 2018-11-23 北京北信源信息安全技术有限公司 一种用户登陆的认证处理方法、服务器及客户端
CN108881320B (zh) * 2018-09-11 2020-08-28 北京北信源信息安全技术有限公司 一种用户登陆的认证处理方法、服务器及客户端
CN113346993A (zh) * 2021-06-09 2021-09-03 郑州轻工业大学 一种基于隐私保护的分层动态群组密钥协商方法

Similar Documents

Publication Publication Date Title
US8532620B2 (en) Trusted mobile device based security
US8868909B2 (en) Method for authenticating a communication channel between a client and a server
US9055107B2 (en) Authentication delegation based on re-verification of cryptographic evidence
Jeong et al. Integrated OTP-based user authentication scheme using smart cards in home networks
US20110179478A1 (en) Method for secure transmission of sensitive data utilizing network communications and for one time passcode and multi-factor authentication
US20100031029A1 (en) Techniques to provide access point authentication for wireless network
WO2019085531A1 (zh) 一种终端联网认证的方法和装置
JP2013504832A (ja) 信頼できる認証およびログオンのための方法および装置
JP5992535B2 (ja) 無線idプロビジョニングを実行するための装置及び方法
Claeys et al. Securing complex IoT platforms with token based access control and authenticated key establishment
CN105577377A (zh) 带密钥协商的基于身份的认证方法和系统
KR101572598B1 (ko) Sso 인증 시스템 기반 인증 정보 재전송 공격에 안전한 사용자 인증 방법
Yerlikaya et al. Authentication and authorization mechanism on message queue telemetry transport protocol
Noh et al. Secure authentication and four-way handshake scheme for protected individual communication in public wi-fi networks
WO2022135391A1 (zh) 身份鉴别方法、装置、存储介质、程序、及程序产品
CN113411187A (zh) 身份认证方法和系统、存储介质及处理器
KR102049527B1 (ko) 사용자 인증 서버 및 시스템
KR100970552B1 (ko) 비인증서 공개키를 사용하는 보안키 생성 방법
EP1623551B1 (en) Network security method and system
WO2022135399A1 (zh) 身份鉴别方法、鉴别接入控制器和请求设备、存储介质、程序、及程序产品
WO2022135379A1 (zh) 一种身份鉴别方法和装置
JP2017139026A (ja) 信頼できる認証およびログオンのための方法および装置
Donald et al. Key based mutual authentication (KBMA) mechanism for secured access in MobiCloud environment
JP2009104509A (ja) 端末認証システム、端末認証方法
JP2015111440A (ja) 信頼できる認証およびログオンのための方法および装置

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20191126

Year of fee payment: 5