KR20100052587A - 스마트카드 기반의 원격 사용자 인증 방법 - Google Patents

스마트카드 기반의 원격 사용자 인증 방법 Download PDF

Info

Publication number
KR20100052587A
KR20100052587A KR1020080111375A KR20080111375A KR20100052587A KR 20100052587 A KR20100052587 A KR 20100052587A KR 1020080111375 A KR1020080111375 A KR 1020080111375A KR 20080111375 A KR20080111375 A KR 20080111375A KR 20100052587 A KR20100052587 A KR 20100052587A
Authority
KR
South Korea
Prior art keywords
smart card
server
user
login
password
Prior art date
Application number
KR1020080111375A
Other languages
English (en)
Other versions
KR100959201B1 (ko
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 KR1020080111375A priority Critical patent/KR100959201B1/ko
Publication of KR20100052587A publication Critical patent/KR20100052587A/ko
Application granted granted Critical
Publication of KR100959201B1 publication Critical patent/KR100959201B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/77Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in smart cards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/305Authentication, i.e. establishing the identity or authorisation of security principals by remotely controlling device operation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

본 발명에서는 사용자가 스마트카드를 이용하여 원격서버에 접속하여 안전하게 서비스를 받을 수 있는 인증 기법을 제안한다. 본 발명에서 제안된 기법은 응용에 따라 선택적으로 제3자에 대해서만 또는 서버에 대해서도 사용자 익명성을 제공할 수 있어 스마트카드를 이용하는 사용자의 프라이버시 보호를 크게 제고할 수 있는 장점이 있다. 또한 본 발명에 따르면 서버에 사용자를 인증하기 위한 패스워드 테이블을 유지할 필요가 없어 뛰어난 안전성을 제공하면서도 서버의 유지 관리 비용을 절감할 수 있다.
스마트카드, 인증, 암호, 익명성

Description

스마트카드 기반의 원격 사용자 인증 방법{Smartcard-Based Remote User Authentication Method}
본 발명은 스마트카드 기반의 원격 사용자 인증 기법에 관한 것으로, 특히 사용자가 스마트카드를 이용하여 원격서버에 접속하여 안전하게 서비스를 받을 수 있는 인증 기법으로서, 응용 서비스에 따라 선택적으로 제3자에 대해서만 또는 서버에 대해서도 사용자 익명성을 제공할 수 있어 스마트카드를 이용하는 사용자의 프라이버시 보호를 제고할 수 있고, 서버에 사용자를 인증하기 위한 패스워드 테이블을 유지할 필요가 없어 뛰어난 안전성을 제공하면서도 서버의 유지 관리 비용을 절감할 수 있는 원격 사용자 인증 기법을 개시한다.
스마트카드는 신용카드를 개선한 것으로 마이크로프로세서와 메모리를 내장하고 있어 카드 내에서 정보의 저장과 처리가 가능하다. 또한 신용카드가 가진 사용범위의 제약, 사용자의 제약, 카드위조의 위험성 등을 쉽게 해결할 수 있을 뿐 아니라 내장 메모리는 기존의 마그네틱 띠와는 비교할 수 없을 정도의 많은 정보를 담을 수 있다.
더욱이 복잡한 보안 알고리즘을 적용하여 물리적 해킹을 어렵게 하였기 때문에 메모리에 저장된 정보와 마이크로프로세서에 의해 처리 중인 자료를 안전하게 보호할 수 있다. 현재는 여러 기능을 스마트카드 하나에 통하여 가능하며 신용/직불카드, 전자화폐, 교통카드, 신분증, 이동통신의 휴대폰에 내장된 USIM 등 다양한 용도로 널리 사용되고 있다.
이러한 스마트카드를 이용하여 등록된 서버로부터 안전하게 서비스를 받기 위해서는 먼저 정당성을 확인하는 인증 과정이 요구되고 세션키를 안전하게 공유할 수 있어야 한다. 스마트카드 기반의 원격 인증 기법은 사용자가 원격 서버에 등록하여 스마트카드(예: 회원카드, 신분증, 휴대폰 등)를 발급받은 후에 이를 이용하여 해당 서버에 접속하여 서비스를 이용하려고 할 때 안전한 통신을 위해 반드시 요구된다.
지금까지 스마트카드 기반의 인증 기법에 대한 연구는 서버에 패스워드 테이블을 유지할 필요가 없도록 하고, 서버와 사용자 사이에 상호 인증을 수행하고, 서버에 등록할 때 자신의 패스워드를 자유롭게 선택할 수 있도록 하고, 인증 후 세션키를 생성하는 등의 논점에 초점을 맞춰왔다.
또한 최근에는 사용자의 프라이버시에 대한 관심이 증대됨에 따라 스마트카드 기반의 원격 인증 기법에서도 사용자 익명성을 제공하고자 하는 연구도 많이 이루어지고 있다. 사용자 익명성이란 서비스를 제공받는 전 과정에서 사용자의 신원 정보가 노출되지 않는 것을 의미한다.
스마트카드 기반의 원격 인증 기법 분야의 종래기술은 여러가지 문제점을 가지고 있는데, 이들 문제점은 다음과 같다.
개인 프라이버시에 대한 관심이 증대됨에 따라 스마트카드 기반의 인증 기법에서도 사용자 익명성을 제공하는 프로토콜이 설계되고 있다.
여기에서 사용자 익명성은 제3자에 대한 사용자 익명성과 서버에 대한 사용자 익명성으로 구분될 수 있다. 제3자에 대한 사용자 익명성은 사용자와 서버 이외의 제3자(외부 공격자)는 사용자 신원을 알 수 없을 때 제공되며, 서버에 대한 사용자 익명성은 서비스를 제공하는 서버마저도 사용자 신원을 알 수 없을 때 제공될 수 있다.
기존의 스마트카드 기반의 원격 인증 기법은 두 익명성 중 하나만을 제공할 수 있도록 설계되었다. 그러나 사용자는 한 스마트카드를 이용하여 응용에 따라 두 익명성 중 하나를 제공받을 수 있어야 한다. 본 발명에서 제안하는 인증 기법은 제3자에 대한 사용자 익명성과 서버에 대한 사용자 익명성을 제공하되 특별히 이들을 선택적으로 사용할 수 있도록 설계되었다.
또한, 클라이언트-서버 환경에서 서버는 사용자 인증을 위해 사용자를 등록할 때 패스워드 관련 정보(패스워드 또는 패스워드 해쉬 값)를 패스워드 파일(DB에서는 테이블)에 미리 저장해 둔다. 그리고 서버는 사용자가 로긴할 때 마다 다양한 방법으로 사용자가 입력한 ID와 패스워드의 정확성을 검증함으로써 사용자의 정당성을 확인하게 된다.
그러나 이러한 전통적인 인증 방법에서는 공격자가 패스워드 파일을 수정하 거나(modification attack) 훔쳤을 때(stolen-verifier attack) 사용자의 모든 정당한 로긴 요청을 거절하도록 하는 DoS (Denial of Service) 공격을 시도하거나 정당한 사용자로 위장하여 로긴에 성공할 수 있다. 본 발명에서는 서버에 사용자 패스워드 파일을 유지하지 않도록 함으로써, 결과적으로 이러한 공격에 안전한 인증 기법을 제안하고자 한다.
또한, 종래의 인증 기법에서는 공격자가 이전 세션에서 사용된 로긴 메시지를 재사용하여 정당한 사용자로 로긴하려는 공격을 막기 위하여 타임스탬프를 이용한다. 즉, 스마트카드는 로긴 시에 타임스탬프(T)를 제공하고 서버는 로긴 요청을 받을 때(T’), 이 사이의 시간차 T-T’가 미리 설정된 허용간격(ΔT) 내에 있는지를 체크하여 로긴 요청을 받을 지를 결정한다.
그러나 이를 위해서는 전체 시스템의 시스템 클락을 정확하게 동기화해야 할 뿐 아니라 허용간격을 적절하게 설정해 주어야 하지만 통신지연 때문에 쉽지 않은 일이다. 더욱이 허용 간격 내에서 소위 '제한된 재사용 공격(restricted replay attack)'이 가능하다는 문제점이 있다. 본 발명에서는 이러한 문제점이 발생하지 않는 인증 기법을 제안하고자 한다.
본 발명의 목적은 스마트카드를 이용하여 원격서버에 접속하여 안전하게 서비스를 받을 수 있는 인증 기법으로서, 응용 서비스에 따라 선택적으로 제3자에 대해서만 또는 서버에 대해서도 사용자 익명성을 제공할 수 있어 스마트카드를 이용하는 사용자의 프라이버시 보호를 크게 제고할 수 있는 스마트카드 기반의 원격 사용자 인증 기법을 제공하는 것이다.
본 발명에 따른 스마트카드 기반의 원격 사용자 인증 기법은, 사용자로부터 패스워드를 제공받고, 사용자에 대한 인증코드와 패스워드와 패스워드가 변경되었는지 여부를 식별하기 위한 변경식별자를 저장하여 스마트카드를 발급하는 등록 단계; 사용자로부터 새로운 패스워드를 제공받아 스마트카드에 저장하고 변경식별자를 갱신하는 패스워드 변경 단계; 스마트카드에 저장된 변경식별자가 갱신되었는지 여부를 확인하고, 사용자로부터 패스워드를 제공받아 스마트카드에 저장된 값과 확인하고, 스마트카드에 저장된 인증코드에 미리 설정된 일방향 함수를 적용한 로긴 요청 메시지를 서버로 제공하는 로긴 단계; 및 스마트카드와 서버 간에 통신을 통하여 로긴 요청 메시지를 검증하는 검증 단계;을 포함하여 구성된다.
본 발명에 따른 스마트카드 기반의 원격 사용자 인증 기법에서 검증 단계는, 서버가 로긴 요청 메시지에 미리 설정된 일방향 함수를 적용한 로긴 응답 메시지를 스마트카드로 제공하는 단계; 스마트카드가 로긴 응답 메시지에 미리 설정된 일방향 함수를 적용하여 복호화키를 획득하는 단계; 획득된 복호화키로 로긴 응답 메시지를 복호화하는 단계; 복호화 결과에 따라 스마트카드가 서버를 검증하는 단계; 스마트카드가 로긴 응답 메시지에 미리 설정된 일방향 함수를 적용한 로긴 시도 메시지를 서버로 제공하는 단계; 서버에서 로긴 시도 메시지에 따라 스마트카드를 검증하는 단계; 및 로긴 요청 메시지와 로긴 응답 메시지와 복호화 키에 기초하여 세션 키를 생성하는 단계;로 이루어진다.
또한, 본 발명에 따른 스마트카드 기반의 원격 사용자 인증 기법에서 인증코드(v1, v2)는 수학식
Figure 112008077772237-PAT00001
에 의해 생성되고, 로긴 요청 메시지(Xu)와 로긴 응답 메시지(Xs, Vs)는 수학식
Figure 112008077772237-PAT00002
에 의해 생성되고, 복호화 키(Ku)와 로긴 시도 메시지(Vu)는 수학식
Figure 112008077772237-PAT00003
Figure 112008077772237-PAT00004
에 의해 생성된다.
또한, 본 발명에 에 따른 스마트카드 기반의 원격 사용자 인증 기법에서 인증코드(v1, v2)는 수학식
Figure 112008077772237-PAT00005
에 의해 생성되고, 로긴 요청 메시지(Xu)와 로긴 응답 메시지(Xs, Vs)는 수학식
Figure 112008077772237-PAT00006
에 의해 생성되고, 복호화 키(Ku)와 로긴 시도 메시지(Vu)는 수학식
Figure 112008077772237-PAT00007
Figure 112008077772237-PAT00008
에 의해 생성된다.
또한, 본 발명에 따른 스마트카드 기반의 원격 사용자 인증 기법에서 스마트카드와 서버는 각각 수학식
Figure 112008077772237-PAT00009
를 계산하여 각자의 세션키로 사용한다.
본 발명에 따른 스마트카드 기반의 원격 사용자 인증 기법에 따르면 사용자 익명성을 제공할 수 있어 스마트카드를 이용할 때 사용자의 프라이버시를 보호할 수 있는 장점이 있으며, 특히 제3자(공격자)에 대한 사용자 익명성과 서버에 대한 사용자 익명성을 선택적으로 제공할 수 있어 한 장의 카드로 다양한 응용에 사용할 수 있다는 장점이 있다.
또한, 본 발명에 따른 스마트카드 기반의 원격 사용자 인증 기법에 따르면 서버는 스마트카드에 대하여 사용자 패스워드 파일 같은 정보를 저장할 필요가 없기 때문에 안정성을 담보하면서도 유지 비용을 감소시킬 수 있고, 이처럼 종래 기술과는 달리 구조적으로 매우 간단하면서 다양한 공격에 대하여 뛰어난 안전성을 제공할 수 있는 장점이 있다.
이하, 본 발명에 따른 스마트카드 기반의 원격 사용자 인증 기법의 실시예를 [도 1] 내지 [도 4]을 참조하여 상세하게 설명한다. 본 발명에서 제안된 인증 기법은 등록 단계, 패스워드 변경 단계, 로긴 단계, 검증 단계로 이루어지며, 다음에서는 각 단계를 자세하게 설명한다.
1. 등록 단계
등록 단계(S100)는 사용자 U가 서버 S에 등록 요청을 하고 서버 S는 그에 대응하여 사용자 U에게 스마트카드를 발급해주는 단계를 말하며, 본 발명에 따른 원격 사용자 인증 기법에서 최초로 이루어지는 과정에 해당한다. 등록 단계의 절차는 다음과 같다.
[1-1] 사용자 U는 아이디 ID와 패스워드 pw’를 선택하고 안전한 방법으로 서버 S에 전달함으로써 등록 요청을 한다. 여기서 안전한 방법이란 직접 방문이나 공개키 암호시스템을 사용하는 등, 아이디와 패스워드를 서버에게 안전하게 전달할 수 있는 다양한 방법을 의미한다.
[1-2] 서버 S는 사용자 U의 등록 요청을 받으면 다음과 같은 수학식에 따라 v1, v2 값을 계산한다.
Figure 112008077772237-PAT00010
본 발명에서 상수 p, q, g는 인증 시스템의 환경을 결정하는 값으로서, p는 예컨대 1024 비트의 큰 소수(large prime number)이고 q는 예컨대 160 비트의 상대적으로 작은 소수(small prime number)이며 g는 소위 '군 Zp'의 생성자(generator)이다. 또한, x는 서버 S의 비밀키(private key)이고, h()는 안전한 일방향 해쉬함수(secure one-way hash function)이다.
따라서, 위의 수학식에서 v1, v2는 사용자 U에 대하여 서버 S가 발행한 일종의 '인증코드'라고 볼 수 있다.
[1-3] 서버 S는 스마트카드에 사용자 U의 식별자(예: ID, pw')와 서버 S가 발행한 인증코드(예: v1, v2), 그리고 인증 환경[예: p, q, g, h()]을 저장한 후 사용자 U에게 발급한다. 인증 환경은 미리 공개될 수도 있으며 이런 경우라면 스마트카드에 인증환경을 저장하지 않을 수도 있다.
이때 스마트카드에 변경식별자 c = 0 값을 함께 저장하는데, 이것은 사용자가 처음으로 스마트카드를 사용하기 전에, 등록시 사용한 패스워드를 새로운 패스워드로 변경하도록 하는데 이용된다.
2. 패스워드 변경 단계
사용자 U는 스마트카드를 발급받은 후 패스워드 변경 절차에 따라 등록 요청시 사용했던 pw’를 새로운 패스워드로 변경한다. 이렇게 패스워드가 변경되면 서버 S는 패스워드를 알 수 없게 된다.
일반적으로 스마트카드를 사용할 때 사용자가 자신의 ID를 입력하지 않는 경우가 대부분이므로 사용자 ID를 대신하여 스마트카드 번호 같은 유일한 식별자 값을 사용할 수 있다. 패스워드 변경 단계를 통하여 서버의 악의 있는 내부자가 사용자의 ID와 패스워드를 이용하여 사용자가 이용하는 다른 서버에 접근하려는 공격을 막을 수 있게 된다.
패스워드 변경 단계(S200)는 사용자 U가 패스워드를 변경하는 과정이며 다음과 같은 절차에 따라 동작한다.
[2-1] 사용자 U가 스마트카드를 카드리더기에 삽입한다.
[2-2] 사용자 U는 현재 패스워드 pw’를 입력한다.
[2-3] 스마트카드는 pw’를 내부 저장된 패스워드와 비교하여, 동일하면 새로운 패스워드의 입력을 요구한다.
[2-4] 사용자 U는 새로운 패스워드 pw를 입력한다.
[2-5] 스마트카드는 pw’ 대신 pw를 저장한다. 그리고 만약 c = 0이면 c = 1로 변경한다.
3. 로긴 단계
로긴 단계(S300)는 사용자 U가 서버 S의 서비스를 이용하기 위하여 자신의 스마트카드를 사용하여 서버 S에 로긴 요청을 하는 단계를 말하며, 로긴 단계의 절차는 다음과 같다.
[3-1] 사용자 U는 자신의 스마트카드를 카드리더기에 삽입하고 자신의 ID와 패스워드 pw를 입력한다. ID는 생략하도록 구현할 수도 있다.
[3-2] 스마트카드는 c = 1 여부를 확인하는데, 만일 c = 1 이 아니라면, 처음 등록시에 서버 S가 스마트카드에 c = 0 으로 설정한 그대로 유지되고 있는 것이므로, 사용자에게 패스워드 변경을 요청한다.
여기서, 변경식별자 c의 값에 기초하여, 스마트카드에 저장된 패스워드가 최초 등록시에 입력하였던 패스워드인지 아니면 그후에 변경된 것인지 여부를 판단하는데, 변경식별자는 다양한 방식으로 구현할 수 있다. 예를 들어 최초 등록시와 변경시에 패스워드의 형식을 달리하여 제공받도록 하거나(예: 문자, 숫자, 또는 이 들의 조합방식) 아니면 최상위 비트의 값을 구별하는 방식 등으로 변경식별자를 구현할 수 있다.
[3-3] 스마트카드는 ID와 패스워드 pw가 정확한지를 확인하고 랜덤 정수 a를 생성한다. 그리고 나서 수학식
Figure 112008077772237-PAT00011
에 따라 로긴 요청 메시지 Xu를 계산한 후, Xu 값을 서버 S에 전송한다.
4. 검증 단계
검증 단계(S400)는 사용자 U가 서버 S에게 로긴 요청을 할 때 사용자 U와 서버 S 사이에 서로가 정당한 엔터티(entity)인지 여부를 상호 확인하는 단계를 말하며, 검증 단계의 절차는 다음과 같다.
[4-1] 서버 S는 사용자 U의 로긴 요청 메시지 Xu를 받으면 랜덤 정수 b를 생성하고, 다음의 수식을 차례대로 계산한다.
Figure 112008077772237-PAT00012
그리고 나서, 서버 S는 로긴 응답 메시지인 Xs와 Vs의 값을 스마트카드에 전송한다.
[4-2] 스마트카드는 로긴 응답 메시지인 Xs와 Vs를 받은 후에
Figure 112008077772237-PAT00013
에 따라 Ku를 계산하고, Ku를 복호화키로 사용하여 Vs를 복호화함으로써 S와 Xu 값을 얻는다. 그리고 S와 Xu가 정확한지를 검사하며, 정확하지 않다면 정당하지 못한 서버로 여기고 로긴 요청을 철회한다.
만약 S와 Xu가 정확하다면 스마트카드는
Figure 112008077772237-PAT00014
를 계산하여 로긴 시도 메시지 Vu를 서버 S에 전송한다.
[4-3] 서버 S는 Vu를 제공받으면 Ks를 복호화키로 사용하여 Vu 값을 복호화한다. 이를 통해 서버 S는 {ID, v2}, S, Xs 를 얻고 정확성을 검사한다. 만일 정확하지 않다면 사용자 U의 로긴 요청을 거절한다.
[4-4] 마지막으로 스마트카드와 서버는 각각
Figure 112008077772237-PAT00015
를 계산하여 각자의 세션키로 사용한다. 이때 생성된 세션키는 해당 세션 또는 미리 정해진 일정 기간 동안의 통신에서 송수신되는 데이터를 암호화하고 복호화하는데에 활용된다. 여기에서 Ku와 Ks를 세션키로 바로 이용할 수도 있으며 K를 계산할 때 S, Xu, Xs를 포함하지 않을 수도 있다.
한편, 단계[4-1]에서 Vs = h(S, Xu, Ks)로 Vs 값을 계산하는 것도 가능하며, 이 경우에는 단계[4-2]에서 검증 수식은 Vs = h(S, Xu, Ku)인지 여부에 따라 이루어지는 것으로 수정된다.
제3자에 대한 사용자 익명성만을 제공하기 위해서는 괄호 {} 안의 값인 ID와 v2를 반드시 포함해야 하지만, 서버에 대한 사용자 익명성까지 제공하기 위해서는 포함하지 않아야 한다. 예를 들어 회사 현관에 들어설 때는 사원의 프라이버시 보호를 위해 회사 사원이라면 구체적으로 누구인지 알 필요 없이 출입 가능하도록 하기 위해서는 {}안의 값들이 서버에 전송될 필요가 없으며 회사의 기밀문서를 열람할 때는 {}안의 값들이 서버에 전송되어 구체적으로 누가 열람했는지를 알 수 있어야 한다.
이상과 같은 본 발명에 따른 스마트카드 기반의 원격 사용자 인증 기법의 기술적 특징을 요약하면 다음과 같다.
(1) 스마트카드와 서버 사이에 상호 인증을 수행한다. 즉 서버와 스마트카드가 서로의 정당성을 확인할 수 있어 공격자는 정당한 스마트카드나 정당한 서버로 위장할 수 없다.
(2) 전통적인 인증 기법과는 달리 서버는 사용자 패스워드 파일 같은 정보를 저장할 필요 없이 스마트카드의 정당성을 인증할 수 있어 패스워드 파일에 대한 공격, 즉 수정(modification attack)이나 도난(stolen-verifier attack) 공격에 안전하다. 즉, 패스워드 파일을 수정하거나 훔친다 할지라도 DoS 공격이나 사용자 위장 공격에 성공할 수 없다.
(3) 사용자 익명성을 제공하며, 제3자(공격자)에 대한 사용자 익명성과 서버에 대한 사용자 익명성을 선택적으로 제공할 수 있다.
(4) 공격자가 스마트카드를 발급받은 정상적인 사용자라 할지라도 사용자/서버 가장 공격이 어렵고 사용자 익명성을 제공할 수 있다.
(5) Diffe-Hellman 키 동의 프로토콜을 이용한 세션키를 생성할 수 있어 서버와 사용자 사이의 기밀성을 제공할 수 있다.
(6) 전방향 안전성을 제공할 수 있어 롱텀(long-term) 비밀값, 즉 서버의 비밀값 또는 스마트카드 내에 저장된 비밀 값이 노출되더라도 이전에 사용된 세션키의 안전성을 보장할 수 있다.
(7) 타임스탬프가 아닌 시도응답(Challenge-Response) 기법을 사용하기 때문에 전체 시스템의 시간 동기화를 요구하지 않는다.
(8) 서버 내부자 공격에 안전하도록 설계하였기 때문에 서버의 관리자라 할지라도 사용자의 패스워드를 알아내기 어려워 사용자가 등록되어 있는 다른 서버에 해당 사용자로 로긴 할 수 없다.
(9) 전방향 익명성을 제공할 수 있어 공격자가 롱텀 비밀값, 즉 서버의 비밀값 또는 스마트카드 내에 저장된 비밀값을 알고 이전 세션을 모두 도청하였다 하더라도 사용자의 신원을 알 수 없다.
한편, 본 명세서에서는 본 발명의 기술적 특징을 구체적으로 설명하기 위하여 각종 변수, 예컨대 v1, v2, Xu, Ks, Xs, Vs, Ku, Vu 등을 계산하는 수학식을 구 체적으로 제시하였다. 그러나 본 특허출원의 권리범위는 이러한 구체적인 수학식에 의하여 제한되지 않으며, 이론적으로 잘 고려된 수학식이라면 본 명세서에서 제시된 것과는 상이하게 사용될 수 있다.
예를 들어, 본 발명에 따른 원격 사용자 인증 기법은 수학식을 아래와 같이 변경하더라도 동작한다.
Figure 112008077772237-PAT00016
이상과 같이 수정된 수학식에 따른 원격 사용자 인증 기법의 플로우챠트를 [도 5]에 도시하였다. 다만, 이러한 수학식은 역함수를 구하기가 불가능하거나 적어도 매우 곤란하도록 선택되는 것이 바람직하며, 그에 따라 이들 수학식을 일반적으로 일방향 함수(one-way function)라 부른다.
[도 1]은 본 발명에 따른 스마트카드 기반의 원격 사용자 인증 방법을 개략적으로 나타낸 플로우챠트;
[도 2]는 본 발명에 따른 스마트카드 기반의 원격 사용자 인증 방법의 실시예를 상세하게 나타낸 플로우챠트;
[도 3]은 본 발명을 기술하는 데에 사용되는 각종 기호를 나타내는 도면;
[도 4]는 본 발명에 따른 스마트카드 기반의 원격 사용자 인증 방법에서 패스워드 변경 단계의 실시예를 나타낸 플로우챠트;
[도 5]는 본 발명에 따른 스마트카드 기반의 원격 사용자 인증 방법의 다른 실시예를 상세하게 나타낸 플로우챠트;

Claims (5)

  1. 사용자로부터 패스워드를 제공받고, 상기 사용자에 대한 인증코드와 상기 패스워드와 상기 패스워드가 변경되었는지 여부를 식별하기 위한 변경식별자를 저장하여 스마트카드를 발급하는 등록 단계;
    사용자로부터 새로운 패스워드를 제공받아 상기 스마트카드에 저장하고 상기 변경식별자를 갱신하는 패스워드 변경 단계;
    스마트카드에 저장된 변경식별자가 갱신되었는지 여부를 확인하고, 사용자로부터 패스워드를 제공받아 상기 스마트카드에 저장된 값과 확인하고, 상기 스마트카드에 저장된 인증코드에 미리 설정된 일방향 함수를 적용한 로긴 요청 메시지를 상기 서버로 제공하는 로긴 단계; 및
    상기 스마트카드와 상기 서버 간에 통신을 통하여 상기 로긴 요청 메시지를 검증하는 검증 단계;
    를 포함하여 구성되는 스마트카드 기반의 원격 사용자 인증 방법.
  2. 청구항 1에 있어서,
    상기 검증 단계는,
    상기 서버가 상기 로긴 요청 메시지에 미리 설정된 일방향 함수를 적용한 로긴 응답 메시지를 상기 스마트카드로 제공하는 단계;
    상기 스마트카드가 상기 로긴 응답 메시지에 미리 설정된 일방향 함수를 적용하여 복호화 키를 획득하는 단계;
    상기 획득된 복호화 키로 상기 로긴 응답 메시지를 복호화하는 단계;
    상기 복호화 결과에 따라 상기 스마트카드가 상기 서버를 검증하는 단계;
    상기 스마트카드가 상기 로긴 응답 메시지에 미리 설정된 일방향 함수를 적용한 로긴 시도 메시지를 상기 서버로 제공하는 단계;
    상기 서버에서 상기 로긴 시도 메시지에 따라 상기 스마트카드를 검증하는 단계; 및
    상기 로긴 요청 메시지와 상기 로긴 응답 메시지와 상기 복호화 키에 기초하여 세션 키를 생성하는 단계;
    를 포함하여 구성되는 것을 특징으로 하는 스마트카드 기반의 원격 사용자 인증 방법.
  3. 청구항 2에 있어서,
    상기 인증코드(v1, v2)는 수학식
    Figure 112008077772237-PAT00017
    에 의해 생성되고,
    상기 로긴 요청 메시지(Xu)와 상기 로긴 응답 메시지(Xs, Vs)는 수학식
    Figure 112008077772237-PAT00018
    에 의해 생성되고,
    상기 복호화 키(Ku)는 수학식
    Figure 112008077772237-PAT00019
    에 의해 생성되고,
    상기 로긴 시도 메시지(Vu)는 수학식
    Figure 112008077772237-PAT00020
    에 의해 생성되는 것을 특징으로 하는 스마트카드 기반의 원격 사용자 인증 방법.
  4. 청구항 2에 있어서,
    상기 인증코드(v1, v2)는 수학식
    Figure 112008077772237-PAT00021
    에 의해 생성되고,
    상기 로긴 요청 메시지(Xu)와 상기 로긴 응답 메시지(Xs, Vs)는 수학식
    Figure 112008077772237-PAT00022
    에 의해 생성되고,
    상기 복호화 키(Ku)는 수학식
    Figure 112008077772237-PAT00023
    에 의해 생성되고,
    상기 로긴 시도 메시지(Vu)는 수학식
    Figure 112008077772237-PAT00024
    에 의해 생성되는 것을 특징으로 하는 스마트카드 기반의 원격 사용자 인증 방법.
  5. 청구항 3 또는 청구항 4에 있어서,
    상기 스마트카드와 상기 서버는 각각 수학식
    Figure 112008077772237-PAT00025
    를 계산하여 각자의 세션키로 사용하는 것을 특징으로 하는 스마트카드 기반의 원격 사용자 인증 방법.
KR1020080111375A 2008-11-11 2008-11-11 스마트카드 기반의 원격 사용자 인증 방법 KR100959201B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080111375A KR100959201B1 (ko) 2008-11-11 2008-11-11 스마트카드 기반의 원격 사용자 인증 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080111375A KR100959201B1 (ko) 2008-11-11 2008-11-11 스마트카드 기반의 원격 사용자 인증 방법

Publications (2)

Publication Number Publication Date
KR20100052587A true KR20100052587A (ko) 2010-05-20
KR100959201B1 KR100959201B1 (ko) 2010-05-24

Family

ID=42277810

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080111375A KR100959201B1 (ko) 2008-11-11 2008-11-11 스마트카드 기반의 원격 사용자 인증 방법

Country Status (1)

Country Link
KR (1) KR100959201B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101536122B1 (ko) * 2013-11-19 2015-07-15 순천향대학교 산학협력단 프린터 보안 솔루션 내 스마트카드를 이용한 안전한 사용자 인증 방법
KR20160101829A (ko) * 2015-02-17 2016-08-26 삼성전자주식회사 인증 처리 방법 및 이를 지원하는 전자 장치

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101536122B1 (ko) * 2013-11-19 2015-07-15 순천향대학교 산학협력단 프린터 보안 솔루션 내 스마트카드를 이용한 안전한 사용자 인증 방법
KR20160101829A (ko) * 2015-02-17 2016-08-26 삼성전자주식회사 인증 처리 방법 및 이를 지원하는 전자 장치

Also Published As

Publication number Publication date
KR100959201B1 (ko) 2010-05-24

Similar Documents

Publication Publication Date Title
US7610617B2 (en) Authentication system for networked computer applications
US9160732B2 (en) System and methods for online authentication
KR101198120B1 (ko) 홍채정보를 이용한 양방향 상호 인증 전자금융거래시스템과 이에 따른 운영방법
US7775427B2 (en) System and method for binding a smartcard and a smartcard reader
US20190364032A1 (en) Method for carrying out a two-factor authentication
US6073237A (en) Tamper resistant method and apparatus
US8132020B2 (en) System and method for user authentication with exposed and hidden keys
CA2241052C (en) Application level security system and method
US20110022835A1 (en) Secure Communication Using Asymmetric Cryptography and Light-Weight Certificates
JP2007517303A (ja) 認可証明書使用中のプライバシー保護
WO2012163970A1 (en) Method for generating an anonymous routable unlinkable identification token
KR100959201B1 (ko) 스마트카드 기반의 원격 사용자 인증 방법
Madhusudhan et al. An efficient and secure authentication scheme with user anonymity for roaming service in global mobile networks
Sudhakar et al. Secured mutual authentication between two entities
CN114218555B (zh) 增强密码管理app密码安全强度方法和装置、存储介质
Jama et al. Cyber physical security protection in online authentication mechanisms for banking systems
Mishra et al. Cryptanalysis and Improvement of Jiang et al.'s Smart Card Based Remote User Authentication Scheme
Kim et al. Security Enhanced Dynamic ID Based Remote User Authentication Scheme for Multi Server Environments
Ariffin et al. Plan recognition scheme using multi-factors authentication for smart card online system
Jotwani et al. Security Attacks and its Related Authentication Scheme by Hash Application Features
Atzeni et al. Authentication
Phalke et al. Mobile Based Secure Authentication using TLS and Offline OTP
TW201143328A (en) System and method for preventing identification mark from being misappropriated

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130503

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140512

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150430

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160502

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee