KR20150077981A - 스마트카드를 이용한 원거리 인증 방법 - Google Patents

스마트카드를 이용한 원거리 인증 방법 Download PDF

Info

Publication number
KR20150077981A
KR20150077981A KR1020130166987A KR20130166987A KR20150077981A KR 20150077981 A KR20150077981 A KR 20150077981A KR 1020130166987 A KR1020130166987 A KR 1020130166987A KR 20130166987 A KR20130166987 A KR 20130166987A KR 20150077981 A KR20150077981 A KR 20150077981A
Authority
KR
South Korea
Prior art keywords
value
server
user
input device
smart card
Prior art date
Application number
KR1020130166987A
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 KR1020130166987A priority Critical patent/KR20150077981A/ko
Publication of KR20150077981A publication Critical patent/KR20150077981A/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/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/34User authentication involving the use of external additional devices, e.g. dongles or 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3234Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3242Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Engineering (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

스마트카드를 이용한 원거리 인증 방법에 관한 것으로서, 입력 장치가 사용자로부터 입력받은 아이디, 패스워드, 및 제 1 랜덤값을 고려하여 제 1 사용자 인증 메시지를 생성하고, 제 1 사용자 인증 메시지를 서버에 전송하며, 서버가 제 1 사용자 인증 메시지에 기초하여 스마트카드를 생성하고, 입력 장치가 발급된 스마트카드를 사용자로부터 입력받고, 사용자로부터 아이디, 패스워드, 및 제 1 랜덤값을 입력받아 제 2 사용자 인증 메시지를 생성하고, 제 1 사용자 인증 메시지와 제 2 사용자 인증 메시지를 비교하여 일치할 경우 로그인 요청 메시지를 생성하여 서버에 전송하고, 서버가 로그인 요청 메시지에 포함된 연산값과 제 1 타임 스탬프값을 고려하여 로그인 요청 메시지를 검증하고, 검증이 정상 완료될 경우 제 2 랜덤값을 설정하여 제 1 공유 세션키를 생성하고, 제 2 랜덤값과 제 1 공유 세션키를 이용하여 서버 인증 메시지를 생성하고, 서버 인증 메시지에 제 2 타임 스탬프값을 포함시켜 입력 장치에게 전송하고, 입력 장치가 제 2 공유 세션키를 생성하고, 제 2 공유 세션키와 제 2 타임 스탬프값를 이용하여 서버 인증 메시지를 검증하며, 검증이 정상 완료될 경우 제 2 공유 세션키를 이용하여 생성한 사용자 인증 값을 서버에 전송함으로써, 서버는 사용자 인증 값을 통해 사용자의 스마트카드를 인증한다.

Description

스마트카드를 이용한 원거리 인증 방법{Method for remote authentication using smart card}
본 발명은 스마트카드를 이용한 인증 방법에 관한 것으로, 특히, 종래의 취약점을 보완한 안전한 스마트카드 기반의 인증 프로토콜을 생성하는 방법에 관한 것이다.
원격 인증 스킴(scheme)은 안전치 못한 통신상에서 원격 사용자를 인증하는 메카니즘이다. 1981년, Lamport가 원격 인증 스킴을 제안한 이후로 안정성(security), 비용(cost) 그리고 효율성(efficiency)면에서 향상된 여러 스킴들이 제안되었다. 제안된 스킴들은 보안성을 여러 방법을 통해 향상시킨 것이다. 초기에, 한 명의 사용자가 컴퓨터 시스템에 로그인하기를 원한다면, 사용자는 자신의 신원과 그에 상응하는 패스워드를 시스템에 먼저 제출해야 한다. 그러면 시스템은 자신이 저장하고 있는 패스워드 파일과 수신한 데이터를 비교한다. 패스워드가 평문 형식으로 저장된 이후, 이 방식은 공격자에게 쉽게 패스워드를 노출한다는 단점이 발견되었다. 공격자로부터 저장된 평문 패스워드 파일을 보호하기 위해, 확인 테이블(verfication table)안에 패스워드 파일을 암호화하여 넣은 스킴이 제안되었다. 확인 테이블은 사용자들의 패스워드들의 일방향 해시값으로 구성되어, 확인 테이블이 노출되었다 하더라도 패스워드들의 비밀은 보장된다. 그러나 디스크 또는 메모리 안의 확인 테이블의 존재는 여전히 공격자에 의해 변경될 수 있는 위험이 있고, 테이블의 보호와 유지를 위한 비용을 필요로 하여, 확인 테이블을 사용하지 않는 여러 스킴들이 제안되었다. 그들 중, 타임스탬프(timestamp)와 수열을 기반으로 한 기술들이 재전송 공격(replay attack)에 견디기 위해 폭 넓게 사용되었다.
한편, 이하에서 인용되는 선행기술 문헌에는 스마트카드를 이용한 원거리 유저 인증 스킴을 제안하고 있다. 하지만, Manoj Kumar가 제안한 스마트카드를 이용한 원거리 유저 인증 스킴은 스톨런 스마트카드(Stolen Smart-Card) 공격과 오프라인 패스워드 추측 공격에 취약하다는 치명적인 단점이 존재한다.
이와 같은 관점에서, 스마트카드를 이용한 원거리 유저 인증 스킴에서 스톨런 스마트카드 공격과 오프라인 패스워드 추측 공격을 방지할 수 있는 기술적 수단이 필요하다는 사실을 알 수 있다.
Security Analysis of a Remote User Authentication Scheme with Smart Cards, Manoj Kumar, Department of Mathematics, R.K.(P.G.)College Shamli, Muzaffarnagar, Utter Pradesh-India-247776.
따라서, 본 발명이 해결하고자 하는 과제는 스마트카드를 이용한 원거리 인증 과정에서 발생하는 취약점을 극복하도록 안전한 스마트카드 기반의 인증 프로토콜을 생성하여 스마트카드를 이용한 원거리 인증 방법을 제공하는데 있다.
상기 첫 번째 과제를 해결하기 위하여, 본 발명의 일 실시예에 따른 입력 장치가 사용자로부터 입력받은 아이디, 패스워드, 및 제 1 랜덤값을 고려하여 제 1 사용자 인증 메시지를 생성하고, 상기 제 1 사용자 인증 메시지를 서버에 전송하며, 상기 서버가 상기 제 1 사용자 인증 메시지에 기초하여 스마트카드를 생성하는 단계; 상기 입력 장치가 상기 발급된 스마트카드를 상기 사용자로부터 입력받고, 상기 사용자로부터 아이디, 패스워드, 및 제 1 랜덤값을 입력받아 제 2 사용자 인증 메시지를 생성하며, 상기 제 1 사용자 인증 메시지와 상기 제 2 사용자 인증 메시지를 비교하여 일치할 경우 로그인 요청 메시지를 생성하여 상기 서버에 전송하는 단계; 상기 서버가 상기 로그인 요청 메시지에 포함된 연산값과 제 1 타임 스탬프값을 고려하여 상기 로그인 요청 메시지를 검증하고, 상기 검증이 정상 완료될 경우 제 2 랜덤값을 설정하여 제 1 공유 세션키를 생성하며, 상기 제 2 랜덤값과 상기 제 1 공유 세션키를 이용하여 서버 인증 메시지를 생성함으로써, 상기 서버 인증 메시지에 제 2 타임 스탬프값을 포함시켜 상기 입력 장치에게 전송하는 단계; 및 상기 입력 장치가 제 2 공유 세션키를 생성하고, 상기 제 2 공유 세션키와 상기 제 2 타임 스탬프값를 이용하여 상기 서버 인증 메시지를 검증하고, 상기 검증이 정상 완료될 경우 제 2 공유 세션키를 이용하여 생성한 사용자 인증 값을 상기 서버에 전송하며, 상기 서버는 상기 사용자 인증 값을 통해 상기 사용자의 스마트카드를 인증하는 단계를 포함하는 스마트카드를 이용한 원거리 인증 방법을 제공한다.
상기된 일 실시예에 따른 상기 패스워드를 갱신하는 것은, 상기 입력 장치가 상기 사용자로부터 상기 스마트카드를 입력받고, 상기 사용자로부터 아이디, 패스워드, 및 제 1 랜덤값을 입력받아 제 2 사용자 인증 메시지를 생성하며, 상기 제 1 사용자 인증 메시지와 상기 제 2 사용자 인증 메시지를 비교하여 일치할 경우 상기 사용자로부터 새로운 패스워드를 입력받아 상기 패스워드를 갱신하는 것을 특징으로 하는 스마트카드를 이용한 원거리 인증 방법일 수 있다.
상기된 일 실시예에 따른 상기 스마트카드를 생성하는 단계는, 상기 입력 장치가 상기 사용자로부터 아이디, 패스워드, 및 제 1 랜덤값을 입력받는 단계; 상기 입력 장치가 상기 입력받은 아이디, 패스워드, 제 1 랜덤값, 및 해시함수를 이용하여 제 1 연산값을 도출하고, 상기 제 1 연산값에 상기 사용자의 ID를 포함시켜 상기 제 1 사용자 인증 메시지를 생성하여 상기 서버로 전송하는 단계; 상기 서버가 상기 사용자의 아이디에 리다이렉트(redirect) 함수를 이용하여 제 2 연산값을 도출하고, 상기 제 2 연산값에 에러 체크 함수를 이용하여 제 3 연산값을 도출하며, 상기 제 1 연산값에 상기 서버의 비밀키를 이용하여 제 4 연산값을 도출하는 단계; 및 상기 서버가 상기 제 1 연산값, 상기 제 2 연산값, 상기 제 3 연산값, 상기 제 4 연산값, 해시함수값, 및 소정의 큰 소수값을 포함시켜 스마트카드를 생성하는 단계를 포함하는 스마트카드를 이용한 원거리 인증 방법일 수 있다.
상기된 일 실시예에 따른 상기 서버에 전송하는 단계는, 상기 입력 장치가 상기 발급된 스마트카드를 상기 사용자로부터 입력받는 단계; 상기 입력 장치가 상기 사용자로부터 아이디, 패스워드, 및 제 1 랜덤값을 입력받는 단계; 상기 입력 장치가 상기 입력받은 아이디, 패스워드, 제 1 랜덤값, 및 해시함수를 이용하여 제 5 연산값을 도출하고, 상기 제 1 연산값과 상기 제 5 연산값을 비교하여 일치할 경우 상기 스마트카드에 포함된 제 4 연산값에 상기 패스워드를 고려하여 제 6 연산값을 도출하는 단계; 상기 입력 장치가 상기 제 6 연산값과 현재 시점의 타임 스탬프값에 대한 배타적 논리합을 도출하고, 상기 배타적 논리합값에 해시함수를 이용하여 제 7 연산값을 도출하는 단계; 및 상기 입력 장치가 상기 제 7 연산값, 상기 제 1 타임 스탬프값, 및 상기 사용자의 아이디를 포함한 상기 로그인 요청 메시지를 생성하여 상기 서버에 전송하는 단계를 포함하는 스마트카드를 이용한 원거리 인증 방법일 수 있다.
상기된 일 실시예에 따른 상기 입력 장치에게 전송하는 단계는, 상기 서버가 상기 로그인 요청 메시지에 포함된 연산값과 제 1 타임 스탬프값을 고려하여 상기 로그인 요청 메시지를 검증하여 정상 완료될 경우 상기 제 2 랜덤값을 설정하는 단계; 상기 서버가 상기 사용자의 아이디와 상기 서버의 비밀키 및 현재 서버의 시간값에 해시함수를 이용하여 제 8 연산값을 도출하는 단계; 상기 서버가 상기 제 8 연산값, 상기 사용자의 아이디, 상기 서버의 아이디, 및 상기 제 2 랜덤값에 해시함수를 이용하여 상기 제 1 공유 세션키를 생성하는 단계; 상기 서버가 상기 제 8 연산값과 상기 제 1 공유 세션키에 대한 배타적 논리합을 이용하여 제 9 연산값을 생성하고, 상기 제 8 연산값과 상기 제 2 랜덤값에 대한 배타적 논리합을 이용하여 제 10 연산값을 도출하는 단계; 및 상기 서버가 상기 제 9 연산값과 상기 제 10 연산값 및 상기 로그인 요청 메시지를 수신한 시간값인 제 2 타임 스탬프값을 포함한 상기 서버 인증 메시지를 생성하여 상기 입력 장치로 전송하는 단계를 포함하는 스마트카드를 이용한 원거리 인증 방법일 수 있다.
상기된 일 실시예에 따른 상기 로그인 요청 메시지를 검증하는 것은 세 가지 조건을 모두 만족함으로써, 상기 로그인 요청 메시지에 대한 정상검증을 완료하되, 상기 세 가지 조건 중 첫 번째 조건은 상기 서버가 상기 사용자 아이디에 리다이렉트 함수를 이용하여 제 11 연산값을 도출하고, 상기 제 11 연산값에 에러 체크 함수를 이용하여 제 12 연산값을 도출함으로써, 상기 로그인 요청 메시지를 검증하고, 상기 세 가지 조건 중 두 번째 조건은 상기 서버가 상기 입력 장치로부터 상기 로그인 요청 메시지를 수신한 시간값에 상기 제 1 타임 스탬프값을 차분한 차분값이 소정의 임계범위에 포함되는지를 도출함으로써, 상기 로그인 요청 메시지를 검증하며, 상기 세 가지 조건 중 세 번째 조건은 상기 서버가 상기 사용자의 아이디와 상기 서버의 비밀키 및 상기 타임 스탬프값에 해시함수를 이용하여 제 13 연산값을 도출함으로써, 상기 로그인 요청 메시지를 검증하는 것을 특징으로 하는 스마트카드를 이용한 원거리 인증 방법일 수 있다.
상기된 일 실시예에 따른 상기 사용자의 스마트카드를 인증하는 단계는, 상기 입력 장치가 상기 제 2 타임 스탬프값을 이용하여 소정의 임계범위에 포함되는지 검사하는 단계; 상기 입력 장치가 상기 소정의 임계범위에 포함될 경우 제 6 연산값과 상기 제 2 타임 스탬프값에 대한 배타적 논리합에 해시함수를 이용하여 제 14 연산값을 도출하고, 상기 제 14 연산값과 제 9 연산값에 대한 배타적 논리합인 제 15 연산값을 도출하며, 상기 제 14 연산값과 제 10 연산값에 대한 배타적 논리합인 제 16 연산값을 도출함으로써, 상기 사용자의 아이디, 상기 서버의 아이디, 상기 제 14 연산값, 및 상기 제 16 연산값에 해시함수를 이용하여 제 2 공유 세션키를 생성하는 단계; 상기 입력 장치가 상기 제 15 연산값과 상기 제 2 공유 세션키가 동일할 경우 상기 제 2 공유 세션키와 상기 제 14 연산값에 해시함수를 이용하여 제 16 연산값을 도출하고, 상기 제 16 연산값을 상기 사용자 인증값으로 상기 서버에 전송하는 단계; 및 상기 서버가 상기 사용자 인증값을 통해 상기 사용자의 스마트카드를 인증하는 단계를 포함하는 스마트카드를 이용한 원거리 인증 방법일 수 있다.
본 발명에 따르면, 패스워드에 랜덤값을 포함시켜 해시함수를 적용함으로써, 차분전력공격을 통한 오프라인 패스워드 추측 공격을 방지할 수 있는 효과가 있다. 나아가, 패스워드가 노출되기 쉬운 불필요한 연산부분을 삭제함으로써, 스톨런 스마트카드 공격을 방지할 수 있는 효과가 있다.
도 1a은 종래 기술에 따른 스마트카드를 이용한 원거리 인증 방법에서 스마트카드 등록 과정을 도시한 도면이다.
도 1b는 종래 기술에 따른 스마트카드를 이용한 원거리 인증 방법에서 사용자 로그인 과정을 도시한 도면이다.
도 2는 본 발명의 실시예들이 채택하고 있는 스마트카드를 이용한 원거리 인증 방법을 도시한 흐름도이다.
도 3a는 본 발명의 일 실시예에 따른 스마트카드 등록 과정을 도시한 도면이다.
도 3b는 본 발명의 일 실시예에 따른 사용자 로그인 과정을 도시한 도면이다.
도 3c는 본 발명의 일 실시예에 따른 사용자 검증 과정을 도시한 도면이다.
도 4는 본 발명의 일 실시예에 따른 패스워드 갱신 과정을 도시한 도면이다.
본 발명의 실시예들을 설명하기에 앞서, 기존의 스마트카드를 이용한 원거리 인증 방법에서 발생하는 문제점들을 검토한 후, 이들 문제점을 해결하기 위해 본 발명의 실시예들이 채택하고 있는 기술적 수단을 개괄적으로 소개하도록 한다.
사용자 인증은 정보보안 시스템 구축 시 반드시 필요한 핵심 기술이다. 사용자들은 인증과정을 통해 데이터베이스에 있는 자원에 접근하고 안전하게 사용할 수 있다. 사용자의 스마트카드를 이용한 인증은 편리성과 대중성으로 인해 현재 중요한 인증 수단으로 각광받고 있다. 더욱이 스마트카드는 계산을 위한 저장 공간과 연산량을 확보하고 있기 때문에 효율적이고 안전함을 보장하며 사용자로 하여금 널리 사용될 수 있다는 장점을 지니고 있다. 하지만, 상기와 같이 스마트카드의 활용 분야가 확대됨에 따라 스마트카드가 가지는 취약점 또한 많이 지적되고 있다.
원거리 인증 스킴에 사용되는 스마트카드에 대하여 차분전력공격을 시도하면 스마트카드 안에 저장되어 있는 정보에 대한 추출이 가능하다. 이렇게 추출된 정보를 바탕으로 인증 스킴에 사용되는 패스워드값 및 서버의 비밀값을 유추할 수 있으면 스톨런 스마트카드 공격이 성공하였다고 할 수 있다.
도 1a은 종래 기술에 따른 스마트카드를 이용한 원거리 인증 방법에서 스마트카드 등록 과정을 도시한 도면이다.
보다 구체적으로, S110 단계에서 입력 장치(11)는 사용자로부터 스마트카드(13) 발급을 위한 정보를 입력받아 서버(12)에서 요청할 수 있다.
S120 단계에서, 서버(12)는 입력 장치(11)로부터 수신된 사용자의 정보에 기초하여 사용자 아이디에 리다이렉트(redirect) 함수를 이용하여 도출한 값인 SID, SID 에 등록된 아이디에 대한 에러 체크 함수를 이용하여 도출한 값인 CID, 사용자 정보와 서버의 비밀키를 이용하여 생성한 값인 R2, 소정의 큰 소수값, 해시함수를 포함하는 스마트카드(13)를 생성하여 사용자에게 발급할 수 있다. 이후, 서버(12)로부터 스마트카드(13)를 발급받은 사용자는 로그인을 위한 절차를 진행하며, 여기서, 상기 로그인을 위한 절차는 이하에서 도 1b를 통해 설명하도록 한다.
도 1b는 종래 기술에 따른 스마트카드를 이용한 원거리 인증 방법에서 사용자 로그인 과정을 도시한 도면이다.
사용자로부터 스마트카드(13)를 입력받은 입력 장치(11)는 상기 SID와 패스워드에 대한 배타적 논리합값인 R3를 스마트카드(13)에 저장할 수 있다. 이때, 상기 스마트카드(13)에 저장되어 있는 최종 정보는 도 1a 과정에서 저장한 {SID, CID, R1, R2, p, f}와 도 1b 과정에서 저장한 R3 값이 될 수 있다. 상기 저장 정보들은 차분전력공격을 통해서 추출이 가능하며, 추출한 정보들을 바탕으로 공격자는 인증 스킴내에 존재하는 패스워드 및 비밀값등의 중요한 값들에 대한 유추를 하는데 사용할 수 있다. 즉, 공격자는 스마트카드(13) 내에서 SID, R3을 추출할 수 있으며, 이를 바탕으로
Figure pat00001
연산을 통해 쉽게 패스워드 값을 도출할 수 있다.
또한, 오프라인 패스워드 추측 공격은 로그인 및 인증단계에서 발생하는 공격으로서, 패스워드 인증 분야에 가장 많이 사용되는 공격중 하나이다. 즉, 공격자는 스마트카드에 저장된 정보와 인증단계에 사용되었던 메시지들을 이용하여 사용자의 패스워드를 오프라인에서 반복적으로 추측하여 해당 패스워드를 알아내는 공격이다. 도 1b의 과정에서 공격자는 차분전력공격을 통해 스마트카드에 있는 정보 p, R1 을 추출할 수 있다. 또한, 공격자는 사용자의 아이디를 알 수 있으며, 이를 바탕으로
Figure pat00002
식에 오프라인 패스워드 추측 공격을 시도할 수 있다. 공격자는 패스워드 값을 제외한 모든 값인 p, R1, 및 아이디를 알고 있기 때문에 오프라인 패스워드 추측 공격을 통해서 패스워드 값을 도출할 수 있다.
따라서, 본 발명의 실시예들은 스마트 카드를 이용하여 원거리 인증을 하는 과정에서 취약점으로 지적된 스톨런 스마트카드 공격과 오프라인 패스워드 추측 공격을 방지할 수 있는 기술적 수단을 제안하고자 한다.
이하에서는 도면을 참조하여 본 발명의 실시예들을 구체적으로 설명하도록 한다. 다만, 하기의 설명 및 첨부된 도면에서 본 발명의 요지를 흐릴 수 있는 공지 기능 또는 구성에 대한 상세한 설명은 생략한다. 또한, 도면 전체에 걸쳐 동일한 구성 요소들은 가능한 한 동일한 도면 부호로 나타내고 있음에 유의하여야 한다.
도 2는 본 발명의 실시예들이 채택하고 있는 스마트카드를 이용한 원거리 인증 방법을 도시한 흐름도로서, 입력 장치가 사용자로부터 입력받은 아이디, 패스워드, 및 제 1 랜덤값을 고려하여 제 1 사용자 인증 메시지를 생성하고, 상기 제 1 사용자 인증 메시지를 서버에 전송하며, 상기 서버가 상기 제 1 사용자 인증 메시지에 기초하여 스마트카드를 생성하고, 상기 입력 장치가 상기 발급된 스마트카드를 상기 사용자로부터 입력받고, 상기 사용자로부터 아이디, 패스워드, 및 제 1 랜덤값을 입력받아 제 2 사용자 인증 메시지를 생성하고, 상기 제 1 사용자 인증 메시지와 상기 제 2 사용자 인증 메시지를 비교하여 일치할 경우 로그인 요청 메시지를 생성하여 상기 서버에 전송하고, 상기 서버가 상기 로그인 요청 메시지에 포함된 연산값과 제 1 타임 스탬프값을 고려하여 상기 로그인 요청 메시지를 검증하고, 상기 검증이 정상 완료될 경우 제 2 랜덤값을 설정하여 제 1 공유 세션키를 생성하고, 상기 제 2 랜덤값과 상기 제 1 공유 세션키를 이용하여 서버 인증 메시지를 생성함으로써, 상기 서버 인증 메시지에 제 2 타임 스탬프값을 포함시켜 상기 입력 장치에게 전송하고, 상기 입력 장치가 제 2 공유 세션키를 생성하고, 상기 제 2 공유 세션키와 상기 제 2 타임 스탬프값를 이용하여 상기 서버 인증 메시지를 검증하며, 상기 검증이 정상 완료될 경우 제 2 공유 세션키를 이용하여 생성한 사용자 인증 값을 상기 서버에 전송함으로써, 상기 서버는 상기 사용자 인증 값을 통해 상기 사용자의 스마트카드를 인증한다. 또한, 상기 스마트카드를 이용한 원거리 인증 방법은 하나 이상의 프로세서를 구비한 장치로서 구현될 수 있다.
보다 구체적으로, S210 단계는 이하에서 도 3a를 통해 보다 구체적으로 설명하도록 한다.
도 3a는 본 발명의 일 실시예에 따른 스마트카드 등록 과정을 도시한 도면이다.
S310 단계에서, 입력 장치(11)가 상기 사용자로부터 아이디(ID), 패스워드(PW), 및 제 1 랜덤값(N)을 입력받고, 입력 장치(11)가 상기 입력받은 아이디(PW), 패스워드(PW), 제 1 랜덤값(N), 및 해시함수를 이용하여 제 1 연산값(R1)을 도출하고, 상기 제 1 연산값(R1)에 상기 사용자의 아이디(ID)를 포함시켜 상기 제 1 사용자 인증 메시지(J(ID, R1)를 생성하여 서버(12)로 전송할 수 있다. 여기서, 상기 아이디, 패스워드, 및 제 1 랜덤값은 사용자가 임의 설정가능할 수 있다.
S320 단계에서, 서버(12)가 상기 사용자의 아이디(ID)에 리다이렉트(redirect) 함수를 이용하여 제 2 연산값(SID)을 도출하고, 상기 제 2 연산값(SID)에 에러 체크 함수를 이용하여 제 3 연산값(CID)을 도출하며, 상기 제 1 연산값(R1)에 상기 서버의 비밀키(xs)를 이용하여 제 4 연산값(R2)을 도출함으로써, 상기 서버가 상기 제 1 연산값(R1), 상기 제 2 연산값(SID), 상기 제 3 연산값(CID), 상기 제 4 연산값(R2), 해시함수값(f), 및 소정의 큰 소수값(p)을 포함시켜 스마트카드(13)를 생성할 수 있다.
다시 말해, 사용자는 랜덤 값 N을 선택하여 입력 장치(11)에 입력하고,
Figure pat00003
를 도출한다. 이후, 입력 장치(11)는 안전한 채널을 통해 상기 사용자의 ID 및 R1을 서버(12)에게 전송할 수 있다. 이후, 입력 장치(11)로부터 ID 및 R1값을 전송받은 서버(12)는
Figure pat00004
,
Figure pat00005
,
Figure pat00006
을 계산하고, 최종적으로 {SID, CID, R1, R2, p, f }의 정보가 포함된 스마트카드(13)를 생성하여 상기 사용자에게 발급할 수 있다.
이제 다시 도 2로 돌아가 S210 단계 이후를 설명하도록 한다.
S220 단계는 이하에서 도 3b를 통해 보다 구체적으로 설명하도록 한다.
도 3b는 본 발명의 일 실시예에 따른 사용자 로그인 과정을 도시한 도면이다.
S330 단계에서, 입력 장치(11)가 상기 발급된 스마트카드(13)를 상기 사용자로부터 입력받고, 상기 사용자로부터 아이디(ID), 패스워드(PW), 및 제 1 랜덤값(N)을 입력받고, 상기 입력받은 아이디(ID), 패스워드(PW), 제 1 랜덤값(N), 및 해시함수를 이용하여 제 5 연산값(R1')을 도출하고, 상기 제 1 연산값(R1)과 상기 제 5 연산값(R1')을 비교하여 일치할 경우 상기 스마트카드(13)에 포함된 제 4 연산값(R2)에 상기 패스워드를 고려하여 제 6 연산값(C1)을 도출할 수 있다. 이후, 상기 제 6 연산값(C1)과 현재 시점의 타임 스탬프값(Tu)에 대한 배타적 논리합을 도출하고, 상기 배타적 논리합값에 해시함수를 이용하여 제 7 연산값(C2)을 도출할 수 있다. 이후, 상기 제 7 연산값(C2), 상기 제 1 타임 스탬프값(Tu), 및 상기 사용자의 아이디(ID)를 포함한 상기 로그인 요청 메시지(LR)를 생성하여 서버(12)에 전송할 수 있다.
다시 말해, 상기 사용자는 발급받은 스마트카드(13)를 입력 장치(11)에 삽입할 수 있다. 이후, 입력 장치(11)는
Figure pat00007
을 계산하여 미리 저장되어 있던 R1 과 비교를 하여 올바른 사용자인지 확인할 수 있다. 그 후 입력 장치(11)는 C1, C2을 도출하고 현재 시간정보를 알려주는 타임스탬프 값 TU 을 생성하여 최종적으로 서버에게 {ID, C2, TU}을 전송할 수 있다.
이제 다시 도 2로 돌아가 S220 단계 이후를 설명하도록 한다.
S230 단계는 이하에서 도 3c를 통해 보다 구체적으로 설명하도록 한다.
도 3c는 본 발명의 일 실시예에 따른 사용자 검증 과정을 도시한 도면이다.
S340 단계에서, 서버(12)가 상기 로그인 요청 메시지(LR)에 포함된 연산값(C2)과 제 1 타임 스탬프값(Tu)을 고려하여 상기 로그인 요청 메시지(LR)를 검증하여 정상 완료될 경우 상기 제 2 랜덤값(r)을 설정할 수 있다. 여기서, 상기 로그인 요청 메시지(LR)를 검증하는 것은 세 가지 조건을 모두 만족함으로써, 상기 로그인 요청 메시지(LR)에 대한 정상검증을 완료할 수 있다.
상기 세 가지 조건 중 첫 번째 조건은 서버(12)가 상기 사용자 아이디(ID)에 리다이렉트 함수를 이용하여 제 11 연산값(SID)을 도출하고, 상기 제 11 연산값(SID)에 에러 체크 함수를 이용하여 제 12 연산값(CID)을 도출함으로써, 상기 로그인 요청 메시지를 검증하고, 두 번째 조건은 상기 서버(12)가 입력 장치(11)로부터 상기 로그인 요청 메시지(LR)를 수신한 시간값(TC)에 상기 제 1 타임 스탬프값(TU)을 차분한 차분값이 소정의 임계범위(TK)에 포함되는지를 도출함으로써, 상기 로그인 요청 메시지를 검증하며, 세 번째 조건은 서버(12)가 상기 사용자의 아이디(ID)와 상기 서버의 비밀키(xs) 및 상기 타임 스탬프값(TU)에 해시함수를 이용하여 제 13 연산값(C2)을 도출함으로써, 상기 로그인 요청 메시지를 검증할 수 있다.
이후, 서버(12)가 상기 사용자의 아이디(ID)와 서버(12)의 비밀키(xs) 및 현재 서버(12)의 시간값(Ts)에 해시함수를 이용하여 제 8 연산값(C3)을 도출하고, 서버(12)가 상기 제 8 연산값(C3), 상기 사용자의 아이디(ID), 서버(12)의 아이디(ID), 및 상기 제 2 랜덤값(r)에 해시함수를 이용하여 상기 제 1 공유 세션키(Skey)를 생성할 수 있다. 이후, 서버(12)가 상기 제 8 연산값(C3)과 상기 제 1 공유 세션키(Skey)에 대한 배타적 논리합을 이용하여 제 9 연산값(C4)을 생성하고, 상기 제 8 연산값(C3)과 상기 제 2 랜덤값(r)에 대한 배타적 논리합을 이용하여 제 10 연산값(C5)을 도출할 수 있다. 이후, 서버(12)가 상기 제 9 연산값(C4)과 상기 제 10 연산값(C5) 및 상기 로그인 요청 메시지(LR)를 수신한 시간값인 제 2 타임 스탬프값(TS)을 포함한 상기 서버 인증 메시지를 생성하여 입력 장치(11)로 전송할 수 있다.
S350 단계에서, 입력 장치(11)가 상기 제 2 타임 스탬프값(TS)을 이용하여 소정의 임계범위(TK)에 포함되는지 검사하고, 상기 소정의 임계범위(TK)에 포함될 경우 제 6 연산값(C1)과 상기 제 2 타임 스탬프값(TS)에 대한 배타적 논리합에 해시함수를 이용하여 제 14 연산값(C* 3)을 도출하고, 상기 제 14 연산값(C* 3)과 제 9 연산값(C4)에 대한 배타적 논리합인 제 15 연산값(K*)을 도출하며, 상기 제 14 연산값(C* 3)과 제 10 연산값(C5)에 대한 배타적 논리합인 제 16 연산값(r*)을 도출함으로써, 상기 사용자의 아이디(ID), 상기 서버의 아이디(IDS), 상기 제 14 연산값(C* 3), 및 상기 제 16 연산값(r*)에 해시함수를 이용하여 제 2 공유 세션키(S* key)를 생성할 수 있다. 이후, 상기 제 15 연산값(K*)과 상기 제 2 공유 세션키(S* key)가 동일할 경우 상기 제 2 공유 세션키(S* key)와 상기 제 14 연산값(C* 3)에 해시함수를 이용하여 제 16 연산값(C5)을 도출하고, 상기 제 16 연산값(C5)을 상기 사용자 인증값(ID, C6)으로 서버(12)에 전송할 수 있다.
S360 단계에서, 서버(12)가 상기 사용자 인증값(C6)을 통해 상기 사용자의 스마트카드를 인증할 수 있다.
S340 단계 내지 S350 단계를 다시 말하자면, 서버(12)는
Figure pat00008
이 같은지 비교하여 동일하면 로그인 요청을 받아들이고, 다르면 로그인 요청을 거절할 수 있다. 또한,
Figure pat00009
을 검사하여 이를 만족시키면 로그인 요청을 받아들이고 다르면 마찬가지로 로그인 요청을 거절할 수 있다. 또한, 서버(12)는
Figure pat00010
을 검사하여 이를 만족시키면 로그인 요청을 받아들이고 다르면 마찬가지로 로그인 요청을 거절할 수 있다. 이후, 서버(12)는 랜덤 값 r을 선택하여 C3, Skey, C4, C5 을 계산을 하여 C4, C5, TS(현재 서버의 시간정보)를 입력 장치(11)에 전송할 수 있다.
이후, 입력 장치(11)는 서버(12)로부터 전송받은 값들에 대한 타임스탬프 검증을 하고 C* 3, K*, S* key 값들을 계산할 수 있다. 만약, K*=S*key을 만족시키면 통신하고 있는 서버(12)가 정당한 서버임을 보장할 수 있으며, S*key 는 입력 장치(11)와 서버(12) 사이에 공유된 세션키가 될 수 있다. 이후, 입력 장치(11)는 C6 값을 계산하고 이를 사용자 ID와 같이 서버(12)에게 전송할 수 있다. 이후, 서버(12)는
Figure pat00011
를 만족시키는지 검증하고 만약 만족시키면 서버는 현재 통신하고 있는 입력 장치(11)에 입력된 스마트 카드가 정당한 사용자의 스마트 카드임을 확신할 수 있다.
한편, 도 4는 본 발명의 일 실시예에 따른 패스워드 갱신 과정을 도시한 도면이다.
보다 구체적으로, S410 단계에서, 입력 장치(11)가 상기 사용자로부터 상기 스마트카드를 입력받고, 상기 사용자로부터 아이디(ID), 패스워드(PW), 및 제 1 랜덤값(N)을 입력받아 제 2 사용자 인증 메시지(R* 1)를 생성할 수 있다.
S420 단계에서, 상기 제 1 사용자 인증 메시지(R1)와 상기 제 2 사용자 인증 메시지(R* 1)를 비교하여 동일 여부를 확인할 수 있다.
S430 단계에서, 상기 제 1 사용자 인증 메시지(R1)와 상기 제 2 사용자 인증 메시지(R* 1)가 동일할 경우 상기 사용자로부터 새로운 패스워드를 입력받아 상기 패스워드를 갱신할 수 있다.
다시 말해, 사용자가 기존의 패스워드를 새로운 패스워드로 교체를 하고자 할 때, 상기 사용자는 스마트카드를 입력 장치(11)에 삽입 후 본인의 ID와 패스워드를 입력한다. 이후에 R* 1을 계산하여 기존에 저장되어 있는 R1과 비교하여 올바른 사용자인지 검증할 수 있다. 상기 검증 절차가 정상 완료되면, 사용자로부터 새로운 패스워드를 입력받아 입력 장치(11)는
Figure pat00012
을 계산하고 기존의 R1값 대신에 새로운 값 R* 1으로 갱신할 수 있다.
상기된 본 발명의 실시예들에 따르면, 종래 기술에서 취약점으로 지적된
Figure pat00013
부분을 과감히 삭제하였다. 여기서, 상기 R3 값은 패스워드 갱신 부분에서만 사용되는 값이기 때문에 삭제를 시킨다 하더라도 사용자 검증 과정에서 전혀 문제될 것은 없다. 따라서, R3을 삭제함으로써 스톨런 스마트카드 공격을 통한 패스워드값 유출을 방지할 수 있다. 나아가, R1값은 IDh ( PW ||N) mod p임에 따라 상기 랜덤 값 N의 존재 때문에 ID, p, R1이 유출되어도 패스워드 값을 유추할 수 없다. 이와 같이, 본 발명은 종래의 취약점으로 지적된 부분을 개선하도록 안전한 스마트카드 기반의 인증 프로토콜을 설계함으로써, 설계된 프로토콜의 안정성 측면에 관한 연구에 많은 기여를 할 수 있고, 또한, 스마트카드를 이용한 사용자 인증 분야 전반에서 활용 가능할 수 있다.
한편, 본 발명의 실시예들은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터가 읽을 수 있는 코드로 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다.
컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현하는 것을 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술 분야의 프로그래머들에 의하여 용이하게 추론될 수 있다.
이상에서 본 발명에 대하여 그 다양한 실시예들을 중심으로 살펴보았다. 본 발명에 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
11 : 입력 장치
12 : 서버
13 : 스마트카드

Claims (7)

  1. 입력 장치가 사용자로부터 입력받은 아이디, 패스워드, 및 제 1 랜덤값을 고려하여 제 1 사용자 인증 메시지를 생성하고, 상기 제 1 사용자 인증 메시지를 서버에 전송하며, 상기 서버가 상기 제 1 사용자 인증 메시지에 기초하여 스마트카드를 생성하는 단계;
    상기 입력 장치가 상기 발급된 스마트카드를 상기 사용자로부터 입력받고, 상기 사용자로부터 아이디, 패스워드, 및 제 1 랜덤값을 입력받아 제 2 사용자 인증 메시지를 생성하며, 상기 제 1 사용자 인증 메시지와 상기 제 2 사용자 인증 메시지를 비교하여 일치할 경우 로그인 요청 메시지를 생성하여 상기 서버에 전송하는 단계;
    상기 서버가 상기 로그인 요청 메시지에 포함된 연산값과 제 1 타임 스탬프값을 고려하여 상기 로그인 요청 메시지를 검증하고, 상기 검증이 정상 완료될 경우 제 2 랜덤값을 설정하여 제 1 공유 세션키를 생성하며, 상기 제 2 랜덤값과 상기 제 1 공유 세션키를 이용하여 서버 인증 메시지를 생성함으로써, 상기 서버 인증 메시지에 제 2 타임 스탬프값을 포함시켜 상기 입력 장치에게 전송하는 단계; 및
    상기 입력 장치가 제 2 공유 세션키를 생성하고, 상기 제 2 공유 세션키와 상기 제 2 타임 스탬프값를 이용하여 상기 서버 인증 메시지를 검증하고, 상기 검증이 정상 완료될 경우 제 2 공유 세션키를 이용하여 생성한 사용자 인증 값을 상기 서버에 전송하며, 상기 서버는 상기 사용자 인증 값을 통해 상기 사용자의 스마트카드를 인증하는 단계를 포함하는 스마트카드를 이용한 원거리 인증 방법.
  2. 제 1 항에 있어서,
    상기 패스워드를 갱신하는 것은,
    상기 입력 장치가 상기 사용자로부터 상기 스마트카드를 입력받고, 상기 사용자로부터 아이디, 패스워드, 및 제 1 랜덤값을 입력받아 제 2 사용자 인증 메시지를 생성하며, 상기 제 1 사용자 인증 메시지와 상기 제 2 사용자 인증 메시지를 비교하여 일치할 경우 상기 사용자로부터 새로운 패스워드를 입력받아 상기 패스워드를 갱신하는 것을 특징으로 하는 스마트카드를 이용한 원거리 인증 방법.
  3. 제 1 항에 있어서,
    상기 스마트카드를 생성하는 단계는,
    상기 입력 장치가 상기 사용자로부터 아이디, 패스워드, 및 제 1 랜덤값을 입력받는 단계;
    상기 입력 장치가 상기 입력받은 아이디, 패스워드, 제 1 랜덤값, 및 해시함수를 이용하여 제 1 연산값을 도출하고, 상기 제 1 연산값에 상기 사용자의 아이디를 포함시켜 상기 제 1 사용자 인증 메시지를 생성하여 상기 서버로 전송하는 단계;
    상기 서버가 상기 사용자의 아이디에 리다이렉트(redirect) 함수를 이용하여 제 2 연산값을 도출하고, 상기 제 2 연산값에 에러 체크 함수를 이용하여 제 3 연산값을 도출하며, 상기 제 1 연산값에 상기 서버의 비밀키를 이용하여 제 4 연산값을 도출하는 단계; 및
    상기 서버가 상기 제 1 연산값, 상기 제 2 연산값, 상기 제 3 연산값, 상기 제 4 연산값, 해시함수값, 및 소정의 큰 소수값을 포함시켜 스마트카드를 생성하는 단계를 포함하는 스마트카드를 이용한 원거리 인증 방법.
  4. 제 1 항에 있어서,
    상기 서버에 전송하는 단계는,
    상기 입력 장치가 상기 발급된 스마트카드를 상기 사용자로부터 입력받는 단계;
    상기 입력 장치가 상기 사용자로부터 아이디, 패스워드, 및 제 1 랜덤값을 입력받는 단계;
    상기 입력 장치가 상기 입력받은 아이디, 패스워드, 제 1 랜덤값, 및 해시함수를 이용하여 제 5 연산값을 도출하고, 상기 제 1 연산값과 상기 제 5 연산값을 비교하여 일치할 경우 상기 스마트카드에 포함된 제 4 연산값에 상기 패스워드를 고려하여 제 6 연산값을 도출하는 단계;
    상기 입력 장치가 상기 제 6 연산값과 현재 시점의 타임 스탬프값에 대한 배타적 논리합을 도출하고, 상기 배타적 논리합값에 해시함수를 이용하여 제 7 연산값을 도출하는 단계; 및
    상기 입력 장치가 상기 제 7 연산값, 상기 제 1 타임 스탬프값, 및 상기 사용자의 아이디를 포함한 상기 로그인 요청 메시지를 생성하여 상기 서버에 전송하는 단계를 포함하는 스마트카드를 이용한 원거리 인증 방법.
  5. 제 1 항에 있어서,
    상기 입력 장치에게 전송하는 단계는,
    상기 서버가 상기 로그인 요청 메시지에 포함된 연산값과 제 1 타임 스탬프값을 고려하여 상기 로그인 요청 메시지를 검증하여 정상 완료될 경우 상기 제 2 랜덤값을 설정하는 단계;
    상기 서버가 상기 사용자의 아이디와 상기 서버의 비밀키 및 현재 서버의 시간값에 해시함수를 이용하여 제 8 연산값을 도출하는 단계;
    상기 서버가 상기 제 8 연산값, 상기 사용자의 아이디, 상기 서버의 아이디, 및 상기 제 2 랜덤값에 해시함수를 이용하여 상기 제 1 공유 세션키를 생성하는 단계;
    상기 서버가 상기 제 8 연산값과 상기 제 1 공유 세션키에 대한 배타적 논리합을 이용하여 제 9 연산값을 생성하고, 상기 제 8 연산값과 상기 제 2 랜덤값에 대한 배타적 논리합을 이용하여 제 10 연산값을 도출하는 단계; 및
    상기 서버가 상기 제 9 연산값과 상기 제 10 연산값 및 상기 로그인 요청 메시지를 수신한 시간값인 제 2 타임 스탬프값을 포함한 상기 서버 인증 메시지를 생성하여 상기 입력 장치로 전송하는 단계를 포함하는 스마트카드를 이용한 원거리 인증 방법.
  6. 제 5 항에 있어서,
    상기 로그인 요청 메시지를 검증하는 것은 세 가지 조건을 모두 만족함으로써, 상기 로그인 요청 메시지에 대한 정상검증을 완료하되,
    상기 세 가지 조건 중 첫 번째 조건은 상기 서버가 상기 사용자 아이디에 리다이렉트 함수를 이용하여 제 11 연산값을 도출하고, 상기 제 11 연산값에 에러 체크 함수를 이용하여 제 12 연산값을 도출함으로써, 상기 로그인 요청 메시지를 검증하고,
    상기 세 가지 조건 중 두 번째 조건은 상기 서버가 상기 입력 장치로부터 상기 로그인 요청 메시지를 수신한 시간값에 상기 제 1 타임 스탬프값을 차분한 차분값이 소정의 임계범위에 포함되는지를 도출함으로써, 상기 로그인 요청 메시지를 검증하며,
    상기 세 가지 조건 중 세 번째 조건은 상기 서버가 상기 사용자의 아이디와 상기 서버의 비밀키 및 상기 타임 스탬프값에 해시함수를 이용하여 제 13 연산값을 도출함으로써, 상기 로그인 요청 메시지를 검증하는 것을 특징으로 하는 스마트카드를 이용한 원거리 인증 방법.
  7. 제 1 항에 있어서,
    상기 사용자의 스마트카드를 인증하는 단계는,
    상기 입력 장치가 상기 제 2 타임 스탬프값을 이용하여 소정의 임계범위에 포함되는지 검사하는 단계;
    상기 입력 장치가 상기 소정의 임계범위에 포함될 경우 제 6 연산값과 상기 제 2 타임 스탬프값에 대한 배타적 논리합에 해시함수를 이용하여 제 14 연산값을 도출하고, 상기 제 14 연산값과 제 9 연산값에 대한 배타적 논리합인 제 15 연산값을 도출하며, 상기 제 14 연산값과 제 10 연산값에 대한 배타적 논리합인 제 16 연산값을 도출함으로써, 상기 사용자의 아이디, 상기 서버의 아이디, 상기 제 14 연산값, 및 상기 제 16 연산값에 해시함수를 이용하여 제 2 공유 세션키를 생성하는 단계;
    상기 입력 장치가 상기 제 15 연산값과 상기 제 2 공유 세션키가 동일할 경우 상기 제 2 공유 세션키와 상기 제 14 연산값에 해시함수를 이용하여 제 16 연산값을 도출하고, 상기 제 16 연산값을 상기 사용자 인증값으로 상기 서버에 전송하는 단계; 및
    상기 서버가 상기 사용자 인증값을 통해 상기 사용자의 스마트카드를 인증하는 단계를 포함하는 스마트카드를 이용한 원거리 인증 방법.
KR1020130166987A 2013-12-30 2013-12-30 스마트카드를 이용한 원거리 인증 방법 KR20150077981A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130166987A KR20150077981A (ko) 2013-12-30 2013-12-30 스마트카드를 이용한 원거리 인증 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130166987A KR20150077981A (ko) 2013-12-30 2013-12-30 스마트카드를 이용한 원거리 인증 방법

Publications (1)

Publication Number Publication Date
KR20150077981A true KR20150077981A (ko) 2015-07-08

Family

ID=53790624

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130166987A KR20150077981A (ko) 2013-12-30 2013-12-30 스마트카드를 이용한 원거리 인증 방법

Country Status (1)

Country Link
KR (1) KR20150077981A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190023353A (ko) * 2017-08-28 2019-03-08 아주대학교산학협력단 스마트 카드 기반 인증 시스템, 장치 및 인증 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190023353A (ko) * 2017-08-28 2019-03-08 아주대학교산학협력단 스마트 카드 기반 인증 시스템, 장치 및 인증 방법

Similar Documents

Publication Publication Date Title
CN108064440B (zh) 基于区块链的fido认证方法、装置及系统
EP3435591B1 (en) 1:n biometric authentication, encryption, signature system
US8627424B1 (en) Device bound OTP generation
CN106330850B (zh) 一种基于生物特征的安全校验方法及客户端、服务器
US8209744B2 (en) Mobile device assisted secure computer network communication
US8533806B2 (en) Method for authenticating a trusted platform based on the tri-element peer authentication(TEPA)
CN107295011B (zh) 网页的安全认证方法及装置
CN101860540B (zh) 一种识别网站服务合法性的方法及装置
US11063941B2 (en) Authentication system, authentication method, and program
KR101367621B1 (ko) Otp 기반 인증 시스템 및 방법
CN102281138B (zh) 一种提高验证码安全性的方法和系统
CN106464493B (zh) 包含一次性通行码的持久性认证系统
CN112989426B (zh) 授权认证方法及装置、资源访问令牌的获取方法
US9807071B2 (en) Information processing apparatus, information processing system, information processing method and computer program
CN109347887B (zh) 一种身份认证的方法及装置
KR101531662B1 (ko) 사용자 단말과 서버간 상호 인증 방법 및 시스템
CN111327629B (zh) 身份验证方法、客户端和服务端
US9954853B2 (en) Network security
KR20130055829A (ko) 시간 기반 인증 시스템 및 방법
CN111130798A (zh) 一种请求鉴权方法及相关设备
CN112383401B (zh) 一种提供身份鉴别服务的用户名生成方法及系统
WO2017020669A1 (zh) 分布式系统节点身份认证方法及装置
CN116346423A (zh) 一种智慧物联能源系统中的客户数据多重加密系统和方法
KR100866608B1 (ko) 모바일 기기를 이용한 사용자와 서버간의 상호 인증시스템, 그 방법 및 기록매체
KR20150077981A (ko) 스마트카드를 이용한 원거리 인증 방법

Legal Events

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