KR20150134966A - 이동저장매체를 활용한 패스워드 기반 사용자 인증 방법 및 장치 - Google Patents

이동저장매체를 활용한 패스워드 기반 사용자 인증 방법 및 장치 Download PDF

Info

Publication number
KR20150134966A
KR20150134966A KR1020140062520A KR20140062520A KR20150134966A KR 20150134966 A KR20150134966 A KR 20150134966A KR 1020140062520 A KR1020140062520 A KR 1020140062520A KR 20140062520 A KR20140062520 A KR 20140062520A KR 20150134966 A KR20150134966 A KR 20150134966A
Authority
KR
South Korea
Prior art keywords
user
authentication information
authentication
session
session key
Prior art date
Application number
KR1020140062520A
Other languages
English (en)
Other versions
KR101668366B1 (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 KR1020140062520A priority Critical patent/KR101668366B1/ko
Publication of KR20150134966A publication Critical patent/KR20150134966A/ko
Application granted granted Critical
Publication of KR101668366B1 publication Critical patent/KR101668366B1/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

USB와 같은 이동형 외부 저장매체를 활용하여 저비용으로 보안강도를 제고할 수 있는 사용자인증을 수행할 수 있는 방법 및 장치를 개시한다.
본 실시예의 일 측면에 의하면, 기존에 사용자에게 익숙한 ID/PW 방식을 준용하면서 사용자 인증강도를 인증서 수준에 이를 수 있는 새로운 사용자인증 시스템을 제공한다. 즉, ID/PW 방식의 사용법을 그대로 수용하고, 현재 보편적으로 활용되고 있는 USB와 같은 범용 이동저장매체만 가지고 있으면 인증서 수준의 사용자 인증 강도를 제공할 수 있는 시스템을 제공한다.

Description

이동저장매체를 활용한 패스워드 기반 사용자 인증 방법 및 장치{Method and Apparatus for Password Based User Authentication Using Portable Storage Medium}
본 실시예는 패스워드 기반 사용자 인증 방법 및 장치에 관한 것으로, 보다 상세하게는 USB와 같은 이동형 외부 저장매체를 활용하여 저비용으로 보안강도를 제고할 수 있는 사용자인증을 수행할 수 있는 방법 및 장치에 관한 것이다.
이 부분에 기술된 내용은 단순히 본 실시예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.
보안서비스의 4대 요소는 기밀성, 무결성, 인증 및 부인봉쇄를 말한다. 이 중에서 인증은 사용자 인증과 메시지 인증으로 분류된다. 사용자 인증은 다양한 시스템에 접근 허용 유무를 결정하는 중요한 보안 서비스이다. 사용자 인증시스템이 취약하면 그 시스템이 해킹의 대상이 되어 시스템에 막대한 피해를 주는 것이 사실이다. 즉, 해커가 시스템을 해킹하여 그 시스템에 들어가 실 사용자로 위장하여 실 사용자처럼 행세할 수 있음을 의미한다.
사용자 인증기술의 기본 아이디어는 해당 사용자만이 알고 있거나 혹은 소유하고 있는 것을 활용한다. 즉, 시스템에 등록할 때, 제시한 해당 사용자의 패스워드나, 해당 사용자만이 가지고 있는 인증서, 보안카드, 전화, 전자메일, 지문, 홍채 등을 활용한다.
가장 간단하면서 범용적으로 사용되는 사용자 인증시스템은 ID/PW 방식이다. 이는 시스템에 사용자를 등록할 때, 해당 사용자가 제시한 식별자(Identifier: ID)와 이에 대응하는 패스워드(Password: PW)를 시스템에 저장한다. 등록 후 사용시 제시된 ID에 대응하는 PW가 일치하면 시스템에 접근을 허용하는 단순한 기술이다. 이러한 시스템의 취약점은 그 시스템에서 사용하는 ID/PW 파일이 해킹당했을 때, 그리고 시스템 관리자가 ID/PW 파일을 읽을 수 있을 때 막대한 피해를 감수해야 한다. 이러한 공격에 대비하여 ID/PW 파일을 암호화하거나 일방향 해쉬함수를 사용하여 패스워드가 직접 노출되지 않도록 한다. 또 하나의 취약점은 사전공격, 재현공격, 스니핑 공격을 통해서 ID에 해당하는 PW가 노출되거나, 이전의 ID/PW를 가로채서 재현했을 때, 무방비로 위장공격을 당할 수 있다. 이러한 ID/PW 방식의 사용자 인증시스템은 간단하게 구현하여 사용할 수 있는 장점이 있는 반면에 ID/PW 해킹에 취약하다는 절대적인 약점이 내재돼 있다.
이러한 ID/PW 사용자 인증시스템의 약점을 보완하기 위해 보다 복잡하고 추가적인 비용이 유발되는 방식이 도입되었다. 대표적인 방안으로 인증서를 활용하는 방식이다. 즉, 공개키 인프라(Public Key Infrastructure: PKI)를 통해서 인증서를 발행받고, 사용자가 시스템에 접근 시에 발행받은 인증서를 제시하여 PKI를 통해서 본인임을 확인받는 방식이다. 이 방식은 ID/PW 방식보다 보안 강도가 뛰어나 인증서를 도난당하지 않는 한 현재까지 해킹을 당한 사례가 없는 것으로 알려져 있다. 하지만, 이러한 사용자 인증 시스템은 PKI를 운영해야 하는 부담, 인증서를 발급하여 안전하게 유지하는 부담 등이 동반되어 사용의 수월성이 낮은 것이 약점이다.
또 하나의 사용자 인증방식으로 널리 사용되는 방식이 보안카드와 일회용 패스워드(One Time Password: OTP), 핸드폰 및 메일 인증을 들 수 있다. 이들은 독자적으로 사용되기 보다는 상기에서 언급한 ID/PW 및 인증서 방식과 혼합시켜 사용자인증을 강화하는 측면에서 채택되어 사용하는 경향이다. 보안카드는 인쇄된 제한적인 수의 보안번호를 기반으로 하기 때문에 이를 타겟으로 한 보안 공격에 노출된 사례가 발생하였다. 따라서, 일회용 패스워드를 생성하는 생성기인 OTP로 대체하여 사용자 인증을 강화하는 방향으로 진화하고 있다. 이들은 사용자 인증강화에는 도움이 되지만, 보안카드나 OTP를 제작하여 사용자에게 분배하는 비용이 수반되는 단점이 내제되어 있다. 다음으로 핸드폰 및 메일인증은 각각 통신사 및 메일시스템이 사용자 확인 수단으로 개입되기 때문에 안전한 인증 수단으로 볼 수는 없다.
마지막으로 언급할 수 있는 방식은 지문이나 홍채를 이용하는 인간의 생체적인 특성을 이용하는 방식이 있으나 이 또한 지문이나 홍채를 인식하는 기기가 필요하여 비용적인 측면에서 범용적으로 적용이 쉽지 않은 것이 또한 사실이다.
사용자인증방식이 단순하면 사용성은 우수하나 보안 취약점이 많고, 복잡하면 보안취약점은 대부분 해소되나 사용의 제약 및 추가적인 비용이 유발되는 것이 단점이다. 따라서, 가장 중요한 안전한 사용자인증 강도를 높이면서도 사용의 수월성을 확보할 수 있는 새로운 방안을 필요하다.
본 실시예들은 응용시스템에서 사용하는 기본적인 ID/PW 방식의 보안 취약점 개선에 주된 목적이 있다. ID/PW 방식의 가장 큰 취약점은 패스워드의 노출을 들 수 있다. 패스워드가 기술적으로 스니핑을 당하거나 패스워드 사전공격으로 노출되거나 기록해 놓은 패스워드 파일을 도난당한 경우 등 다양한 패스워드 공격이 성공했을 때 속수 무책으로 당할 수밖에 없는 것이 현실이다. 따라서, 이러한 공격으로부터 사용자를 보호하기 위해 패스워드를 수시로 바꿀 것을 권고하고 있다.
본 실시예들은, 기존에 사용자에게 익숙한 ID/PW 방식을 준용하면서 사용자 인증강도를 인증서 수준에 이를 수 있는 새로운 사용자인증 시스템을 제공하는 데 주된 목적이 있다.
또한, 본 실시예들은 한번 패스워드를 등록하면 수시로 패스워드를 바꾸지 않아도 안전성을 보장하는 새로운 사용자인증 방안을 제안하였다. 즉, 패스워드가 노출되어도 안전성을 보장하는 사용자 인증 방법을 제공하는 데 다른 목적이 있다.
본 실시예의 일 측면에 의하면, 컴퓨팅 장치의 사용자 인증 방법에 있어서, 사용자로부터 아이디 및 패스워드를 입력받는 과정; 상기 컴퓨팅 장치에 유선 또는 무선 통신 방식으로 연결된 이동저장매체에 저장된 패스워드 검증자 및 제1인증정보를 획득하는 과정; 상기 패스워드 검증자를 기초로 상기 제1인증정보를 암호화하는 데 사용된 세션 키를 재생성하는 과정; 상기 세션 키를 이용하여, 상기 제1인증정보를 복호화하는 과정; 상기 세션 키를 이용하여, 상기 컴퓨팅 시스템이 관리하는 제2인증정보를 복호화하는 과정; 및 상기 제1인증정보를 복호화한 결과와 상기 제2인증정보를 복호화한 결과가 일치하는지 여부를 확인하여 상기 사용자를 인증하는 과정을 포함하는 사용자 인증 방법을 제공한다.
본 실시예의 다른 측면에 의하면, 사용자 인증을 수행하는 컴퓨팅 장치의 사용자 등록 방법에 있어서, 사용자로부터 사용자 아이디 및 패스워드를 입력받는 과정; 제1난수와 상기 패스워드를 기초로 해시 연산을 수행하여 암호화 키를 생성하는 과정; 제2난수를 이용하여 세션 키를 생성하는 과정; 상기 암호화 키를 이용하여 상기 세션 키를 암호화하는 과정; 상기 사용자의 인증정보 레코드를 생성하고, 생성된 인증정보 레코드를 상기 세션 키를 이용하여 암호화하는 과정; 암호화된 인증정보 레코드를 상기 컴퓨팅 장치가 관리하는 데이터베이스에 저장하는 과정; 및 상기 제1난수, 상기 암호화된 세션 키 및 상기 암호화된 인증정보 레코드를 상기 사용자가 소지하는 이동저장매체에 저장하는 과정을 포함하는 사용자 등록 방법을 제공한다.
본 실시예의 또다른 측면에 의하면, 컴퓨팅 장치의 사용자 인증 방법에 있어서, 사용자 아이디 및 패스워드를 입력받는 과정; 상기 컴퓨팅 장치에 유선 또는 무선 통신 방식으로 연결된 이동저장매체에 저장된 제1난수, 암호화된 세션 키 및 제1인증정보를 획득하는 과정; 제1난수와 상기 패스워드를 기초로 해시 연산을 수행하여 암호화 키를 생성하는 과정; 상기 암호화 키를 이용하여, 상기 암호화된 세션 키를 복호화하는 과정; 복호화된 세션 키를 이용하여, 제1인증정보를 복호화하는 과정; 상기 복호화된 세션 키를 이용하여, 상기 컴퓨팅 장치가 관리하는 제2인증정보를 복호화하는 과정; 및 상기 제1인증정보를 복호화한 결과와 상기 제2인증정보를 복호화한 결과가 일치하는지 여부를 확인하여 상기 사용자를 인증하는 과정을 포함하는 사용자 인증 방법을 제공한다.
본 실시예의 또다른 측면에 의하면, 컴퓨팅 장치의 사용자 인증 방법에 있어서, 인증에 성공한 사용자의 패스워드 및 다음 인증세션에서 사용하기 위한 제1난수를 기초로 해시 연산을 수행하여 새로운 암호화 키를 생성하는 과정; 제2난수를 이용하여 다음 세션에서 사용하기 위한 새로운 세션 키를 생성하는 과정; 상기 새로운 암호화 키를 이용하여 상기 새로운 세션 키를 암호화하는 과정; 상기 사용자의 인증정보 레코드를 갱신하고, 상기 세션 키를 이용하여 갱신된 인증정보 레코드를 암호화하는 과정; 및 암호화된 인증정보 레코드를 상기 컴퓨팅 시스템에 저장하는 과정; 및 상기 암호화된 인증정보 레코드, 상기 제1난수 및 상기 암호화된 새로운 세션 키를 상기 이동저장매체에 저장하는 과정을 포함하는 사용자 인증 방법을 제공한다.
본 실시예들에 따르면, 기존에 사용자에게 익숙한 ID/PW 방식을 준용하면서 인증서 수준에 이를 수 있는 사용자 인증강도를 제공할 수 있다. 즉, ID/PW 방식의 사용법을 그대로 수용하고, 현재 보편적으로 활용되고 있는 USB와 같은 범용 이동저장매체만 가지고 있으면 인증서 수준의 사용자 인증 강도를 제공할 수 있다.
또한, 사용자는 USB와 같은 범용 이동 저장매체만 있으면 사용자 등록과 시스템 사용을 가능하다. 즉, 제안 시스템은 인증서 방식과 같이 PKI와 같은 무거운 인프라가 필요하지 않으며, 보안카드나 OTP와 같은 것을 제작하여 배포할 필요도 없고, 지문이나 홍채와 같이 이를 인식하는 인식기기가 필요 없기 때문에 구축 비용이 저렴하고 어떤 시스템에서나 적용이 가능하여 활용의 범용성을 확보하였다.
또한, 본 실시예에 따르면, 사용자 인증이 성공한 후, 다음 인증 세션에서 사용될 암호화된 사용자 인증정보 및 이의 복호화에 사용되는 데이터를 업데이트함으로써 패스워드가 노출되더라도 안정성을 보장할 수 있다.
도 1은
도 2는
도 3은
이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 명세서 전체에서, 어떤 부분이 어떤 구성요소를 '포함', '구비'한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 '…부', '모듈' 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
도 1은 본 발명의 일 실시예에 따른 사용자 인증 시스템의 구성을 도시한 도면이다. 도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따르면, 사용자 인증 시스템은 사용자의 접근 시 인증 절차가 필요한 컴퓨팅 장치(100) 및 상기 컴퓨팅 장치(100)에 이동저장매체(120)로 구성된다.
컴퓨팅 장치()는 컴퓨팅 장치(100) 내부의 리소스 또는 컴퓨팅 장치(100)를 통한 외부의 리소스에 대한 사용자의 접근시 인증 절차를 수행하여, 인증이 성공한 사용자에 대해서만 접근을 허여하도록 구성된다. 예컨대, 컴퓨팅 장치(100)는 컴퓨팅 장치(100) 자체의 사용이나 컴퓨팅 장치(100)를 통한 인트라넷 서비스에 접근하는 사용자의 인증을 요구할 수 있다.
컴퓨팅 장치(100)는 사용자에게 사용자 인터페이스(User Interface: UI)를 제공하고, 사용자로부터 사용자 아이디 및 패스워드를 입력받는다. 컴퓨팅 장치(100)는 사용자로부터 입력받은 사용자 아이디 및 패스워드를 기초로 암호화된 사용자 인증정보 정보를 생성 및 관리한다. 컴퓨팅 장치(100)는 암호화된 사용자 인증정보를 파일 형식으로 관리하거나, 컴퓨팅 장치(100)와 네트워크로 연결되는 외부의 데이터베이스에 저장 및 관리한다. 또한, 컴퓨팅 장치(100)는 암호화된 사용자 인증정보 및 이를 복호화하는 데 사용될 데이터를, 유선 또는 무선 통신 방식으로 연결되는 이동저장매체(120)에 저장한다.
컴퓨팅 장치(100)는 사용자가 리소스에 접근을 시도하는 경우, 이동저장매체(120)에 저장된 암호화된 사용자 인증정보와 컴퓨팅 시스템이 관리하는 암호화된 사용자 인증정보를 복호화한 후, 그 결과를 서로 비교하는 방식으로 사용자를 인증한다. 상기 암호화된 사용자 인증정보는 사용자가 입력하는 패스워드 및 이동저장매체(120)에 저장된 복호화 데이터에 기반한다. 컴퓨팅 장치(100)은 사용자가 인증에 성공한 경우, 다음 인증 세션에 사용될 암호화된 사용자 인증정보 및 이를 복호화하는 데 사용되는 복호화 데이터를 업데이트 한다.
이동저장매체(120)는 컴퓨팅 장치(100)와 유선 또는 무선 통신 방식으로 정보를 주고받으며, 컴퓨팅 장치(100)로부터 전송되는 정보를 비일시적으로 저장할 수 있는 이동식 저장매체를 지칭한다. 이동저장매체(120)는 예컨대, 이동저장매체(120)는 사용자가 개인적으로 소지하거나, 사용자 등록 과정에서 시스템 관리자로부터 발급받은 것일 수 있다. USB 메모리 장치, 스마트 카드, 메모리 카드 등 데이터 저장을 주된 목적으로 하는 매체뿐만 아니라, 스마트폰, PDA, 테블릿 PC 등 데이터 저장 기능을 포함한 모바일 기기일 수도 있다. 이동저장매체(120)에는 후술할 사용자 등록 절차 및 인증성공 후 인증정보 재구성 절차 등에서 생성되는 정보들을 컴퓨팅 장치(100)로부터 수신하고, 수신된 정보들을 저장한다. 저장된 정보들은 사용자 인증 절차에 사용된다.
도 1의 사용자 인증 시스템은 이하에서 설명할 사용자 인증 방법이 적용될 수 있는 일 시스템을 예시적으로 설명한 것으로서, 도 1의 시스템 외에도 아이디/패스워드 기반의 다양한 사용자 인증 시스템에 적용 또는 응용 가능함을 유의해야 한다.
도 2는 본 발명의 일 실시예에 따른 사용자 인증 방법의 개략적인 절차를 도시한 흐름도이다.
도 2에 도시된 바와 같이, 본 발명의 일 실시예에 따른 사용자 인증 방법은 사용자 등록 절차(S210), 사용자 인증 절차(S220) 및 사용자 인증 성공 후 인증정보를 재구성하는 절차(S240)로 구분된다. 사용자 등록 절차(S210)는 사용자가 응용시스템을 사용할 수 있도록, 응용시스템에서 사용자를 등록하는 절차이다. 사용자 인증 절차(S220)는 등록된 사용자가 응용시스템에 접근했을 때, 응용시스템이 사용자를 인증하는 절차이다. 인증정보 재구성 절차(S240)는 사용자 인증 성공 후 다음 인증 세션을 위해 인증정보를 재구성하는 절차이다. 즉, 사용자 등록 절차(S210)가 일단 이루어지면, 사용자가 시스템에 접근할 때마다 사용자 인증 절차(S220) 및 인증정보 재구성 절차(S240)가 반복적으로 수행된다. 이하 각 절차를 순차적으로 설명하기로 한다.
먼저, 아래 표 1에 자주 사용되는 기호에 대한 설명을 개시한다.
부호 의미
ID_Un 사용자 Un의 식별자 ID
PW_Un 사용자 Un의 패스워드
En(m) n이라는 키로 m을 대칭 암호화
Dn(m) n이라는 키로 m을 대칭 복호화
(l+m+n ...) l, m, n ... 항목으로 구성된 레코드
Un(l+M+n ...) 사용자 Un의 레코드에서 사용자 ID를 제외한 항목들
1. 사용자 등록 절차
이하에서는 도 3 및 도 4를 참조하여, 응용시스템에서 사용자 Un을 등록하여 시스템을 사용할 수 있도록 하는 사용자 등록 절차에 대해 설명한다. 도 3은 본 발명의 일 실시예에 따른 사용자 등록 절차를 도식화한 도면이다. 도 4는 본 발명의 일 실시예에 따른 사용자 등록 절차를 도시한 흐름도이다.
먼저, 시스템은 사용자(Un)으로부터 사용자 아이디(ID_UN) 및 패스워드(PW_Un)를 입력받는다(S410).
다음으로, 시스템은 의사난수 생성기(Pseudo Random Number Generator: PRNG)를 이용하여 난수(N)을 생성하고, 생성된 난수(N) 및 입력된 패스워드(PW_Un)을 일방향 해쉬함수(One-way Hash Function)에 입력하여, 출력물로써 하나의 키(es_key)를 생성한다(S420). 이 키는 세션 키(s-key)를 보호하기 위한 암호화 키이다.
다음으로, 의사난수 생성기를 이용하여 등록 세션에서 인증정보를 보호하기 위한 세션 키(s-key)를 생성한다(S430).
다음으로, 세션 키(s-key) 노출을 방지하기 위해, S420 과정에서 생성된 암호화 키(es_key)로 세션 키(s-key)를 암호화한다(S440). 도 3에서는 암호화된 세센키를 'Ees_key(s-key)'로 표시하였다.
다음으로, 사용자(Un)의 인증정보를 시스템의 데이터베이스(또는 ID/PW파일)에 저장하기 위해, 사용자(Un)의 인증정보 레코드 'ID_+PW_Un+day+nonce'를 생성한다(S440). 인증정보 레코드는 사용자 아이디(ID_Un), 패스워드(PW_Un), 등록세션을 수행한 날짜(day) 및 등록세션 인증정보를 재현하는 공격을 방어하기 위한 비표(nonce)를 포함한다. 또한, 사용자(Un)의 인증정보 레코드 노출을 방지하기 위해, S430 과정에서 생성된 세션 키(s_key)로 사용자(Un)의 인증정보 레코드에서 사용자 아이디(ID_Un) 항목을 제외한 모든 항목(PW_Un, Day 및 Nonce)을 암호화한다(S450). 도 3에서는 사용자의 암호화된 인증정보 레코드를 'Es_key(Un(PW_Un+day+nonce))로 표시하였다.
다음으로, S420에서 생성된 난수(N), S440 과정에서 암호화된 세션 키인 Ees_key(s_key) 및 S450 과정에서 인증정보가 암호화된 인증정보 레코드인 Es_key(Un(PW_Un+day+nonce))를 이동저장매체에 저장한다(460).
다음으로, 사용자(Un)의 암호화된 인증정보 레코드인 Es_key(Un(PW_Un+day+nonce))를 시스템의 데이터베이스(또는 ID/PW파일)에 저장한다(470).
시스템의 데이터베이스 및 이동저장매체에 저장된 암호화된 인증정보 레코드 (Es_key(Un(PW_Un+day+nonce)))들은 이후 인증 세션에서 복호화되어 서로 비교된다. 상기 이동저장매체에 저장된 난수(N) 및 암호화된 세션 키(Ees_key(s_key))는 이들 암호화된 인증정보 레코드를 복호화하는데 사용되며, 따라서 이들을 '패스워드 검증자'라고 칭하기로 한다.
2. 사용자 인증절차
이하에서는 도 5 및 도 6을 참조하여, 등록된 사용자(Un)가 시스템에 접근했을 때, 구체적인 인증절차를 설명한다. 도 5는 본 발명의 일 실시예에 따른 사용자 인증 절차를 도식화한 도면이다. 도 6은 본 발명의 일 실시예에 따른 사용자 등록 절차를 도시한 흐름도이다.
먼저, 시스템은 사용자(Un)으로부터 사용자 아이디(ID_UN) 및 패스워드(PW_Un)를 입력받는다(S610).
다음으로, 외부저장매체에 저장된 난수(N)와 S610 과정에서 입력된 패스워드(PW_Un)를 일방향 해쉬함수에 입력하여, 출력물로써 암호화 키(es_key)를 재생성한다(S620).
다음으로, 재생성된 암호화 키(es_key)를 이용하여, 외부저장매체에 저장된 암호화된 세션키인 'Ees_key(s_key)'를 복호화한다(S630).
Des_key{Ees_key(s_key)} = s_key
다음으로, S630 과정에서 복호화된 세션키(s_key)를 이용하여, 외부저장매체에 저장된 암호화된 사용자(Un)의 인증정보 'Es_key(Un(PW_Un+day+nonce))'를 복호화한다(S640).
Ds_key{Es_key(Un(PW_Un+day+nonce))} = PW_Un+day+nonce
다음으로, S630 과정에서 복호화된 세션키(s_key)를 이용하여, 시스템의 데이터베이스(또는 ID/PW 파일)에 저장된 사용자(Un)의 암호화된 인증정보 'Es_key(Un(PW_Un+day+nonce))'를 복호화한다.
Ds_key{Es_key(Un(PW_Un+day+nonce))} = PW_Un+day+nonce
다음으로, S640에서 복호화된 인증정보와 S650 과정에서 복호화된 인증정보를 비교한다(S660). 인증정보가 서로 동일하면, 인증에 성공하고, 다르면 인증에 실패한다.
3. 인증에 성공한 사용자의 인증정보 재구성 절차
이하에서는 도 7 및 도 8을 참조하여, 인증에 성공한 사용자(Un)의 차회 인증 세션을 위해, 인증에 성공한 사용자(Un)의 인증정보를 재구성하는 절차를 설명한다. 도 7은 본 발명의 일 실시예에 따른 인증정보 재구성 절차를 도식화한 도면이다. 도 8은 본 발명의 일 실시예에 따른 인증정보 재구성 절차를 도시한 흐름도이다.
먼저, 시스템은 의사난수 생성기를 통해서 새로운 난수(N)을 생성하고, 생성된 새로운 난수(N)와 사용자 인증절차에서 사용자로부터 입력된 패스워드(PW_Un)를 일방향 해쉬함수에 입력하여, 출력물로써 하나의 키(es_key)를 생성한다. 이 키(es_key)는 세션 키(s-key)를 보호하기 위한 암호화 키이다.
다음으로, 의사난수 생성기를 사용하여 차회 인증 세션에서 인증정보를 보호하기 위한 새로운 세션 키(s-key)를 생성한다(S820).
다음으로, 새로운 세션키(s-key) 노출을 방지하기 위해, S820에서 생성된 새로운 암호화 키(es-key)를 이용하여 새로운 세션 키(s_key)를 암호화한다(S830).
Ees_key(s-key)
다음으로, 새로운 사용자(Un)의 인증정보를 데이터베이스(혹은 ID/PW 파일)에 저장하기 위해, 사용자(Un)의 인증정보 레코드를 변경한다. 즉, 기존의 세션 날짜를 인증이 성공한 세션이 이루어진 날짜로 변경하고, 기존의 비표(nonce) 값을 새로운 비표(nonce) 값으로 변경한다(S840). 또한, 사용자(Un)의 변경된 인증정보 레코드의 노출을 방지하기 위해, S830 과정에서 생성된 세션 키(s_key)로 사용자(Un)의 변경된 인증정보 레코드를 암호화한다(S840).
Es_key(Un(PW_Un+day+nonce))
다음으로, 사용자(Un)의 암호화된 인증정보 레코드 ' Es_key(Un(PW_Un+day+nonce))'를 시스템의 데이터베이스(또는 ID/PW파일)에 저장한다(S850).
다음으로, S420에서 생성된 새로운 난수(N), S440 과정에서 암호화된 새로운 세션 키인 Ees_key(s_key) 및 S450 과정에서 변경된 인증정보가 암호화된 인증정보 레코드인 Es_key(Un(PW_Un+day+nonce))를 이동저장매체에 저장한다(S860).
이상의 설명에서 알 수 있듯이, 인증정보를 재구성하는 절차는 사용자 등록절차와 유사하다. 다만, 차회 인증절차에서 사용자 인증정보 레코드를 복호화하는 데 사용되는 세션 키 및 세션 키를 암호화하기 위한 암호화 키를 새롭게 생성하는 점에서 차이가 있다. 즉, 공격자에게 패스워드가 노출된 경우라 하더라도, 다음 세션을 위한 난수(N) 및 세션키 등이 업데이트 됨으로써, 공격자에게 패스워드가 노출되어 공격자가 패스워드를 올바르게 입력한다 할지라도 인증이 성립되지 않게 된다.
또한, 인증정보 재구성 절차에서는 차회 인증절차에 사용될 변경된 정보들이 이동저장매체에 저장될 뿐 시스템 내에서 모든 절차가 이루어지기 때문에, 인증에 성공한 사용자의 어떠한 관여도 필요로 하지 않는다.
한편, 인증이 성공한 이후에도 취약성이 존재할 수 있다. 예컨대, 일단 유효한 이동저장매체로 인증을 통과한 뒤 이동저장매체를 시스템으로부터 분리하거나, 다른 이동저장매체를 장착하여 계속 사용할 수도 있다. 따라서, 본 발명의 다른 실실시예에서는 시스템으로부터 이동저장매체를 분리할 경우를 대비하여, 인증이 성공한 이후에도 지속적으로 일정 시간마다(예컨대, 매 10초마다) 이동저장매체의 장착 여부를 확인하는 과정이 수행될 수 있다. 또한, 다른 유효하지 않은 이동저장매체로 변경했을 때를 대비하여, 매 확인시마다 이동저장매체의 식별번호, 사용자 아이디 혹은 사용자 인증정보 등을 읽어와 검사하는 과정이 수행될 수 있다. 이 경우, 시스템의 데이터베이스에는 사용자가 등록시 사용한 이동저장매체의 식별번호가 미리 저장되어 있다. 이러한 과정을 통해, 인증 이후 사용 중에도 인가된 사용자만 접속이 유지되도록 구성할 수 있다.
도 4, 도 6 및 도 8에서는 각 과정을 순차적으로 실행하는 것으로 기재하고 있으나, 이는 본 발명의 일 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것이다. 다시 말해, 본 발명의 일 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 일 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 도 4, 도 6 및 도 8에 기재된 순서를 변경하여 실행하거나 하나 이상의 과정을 병렬적으로 실행하는 것으로 다양하게 수정 및 변형하여 적용 가능할 것이므로, 도 4, 도 6 및 도 8은 시계열적인 순서로 한정되는 것은 아니다.
한편, 도 4, 도 6 및 도 8에 도시된 과정들은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 즉, 컴퓨터가 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 저장매체를 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
이상의 설명은 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 실시예들은 본 실시예의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
100: 컴퓨팅 장치 120: 이동저장매체

Claims (17)

  1. 컴퓨팅 장치의 사용자 인증 방법에 있어서,
    사용자로부터 아이디 및 패스워드를 입력받는 과정;
    상기 컴퓨팅 장치에 유선 또는 무선 통신 방식으로 연결된 이동저장매체에 저장된 패스워드 검증자 및 제1인증정보를 획득하는 과정;
    상기 패스워드 검증자를 기초로 상기 제1인증정보를 암호화하는 데 사용된 세션 키를 재생성하는 과정;
    상기 세션 키를 이용하여, 상기 제1인증정보를 복호화하는 과정;
    상기 세션 키를 이용하여, 상기 컴퓨팅 시스템이 관리하는 제2인증정보를 복호화하는 과정; 및
    상기 제1인증정보를 복호화한 결과와 상기 제2인증정보를 복호화한 결과가 일치하는지 여부를 확인하여 상기 사용자를 인증하는 과정
    을 포함하는 사용자 인증 방법.
  2. 제1항에 있어서,
    상기 패스워드 검증자는,
    제1난수 및 암호화된 세션키를 포함하되,
    상기 제1난수는 인증에 성공한 이전 인증세션에서 상기 암호화된 세션키를 생성하는 데 사용한 난수이며, 상기 암호화된 세션키는 상기 제1인증정보를 암호화하는 데 사용한 것임을 특징으로 하는, 사용자 인증 방법.
  3. 제2항에 있어서,
    상기 세션 키를 재생성하는 과정은,
    상기 제1난수 및 상기 패스워드를 기초로 해시 연산을 수행하여 암호화 키를 생성하는 과정; 및
    상기 암호화 키를 이용하여, 상기 암호화된 세션키를 복호화하는 과정
    을 포함하는 것을 특징으로 하는, 사용자 인증 방법.
  4. 제1항에 있어서,
    상기 제1인증정보 및 상기 제2인증정보는,
    등록된 사용자의 아이디, 패스워드, 인증에 성공한 이전 인증 세션이 이루어진 날짜 및 상기 이전 인증 세션에서 생성된 비표(Nonce)를 포함하는 것을 특징으로 하는, 사용자 인증 방법.
  5. 제1항에 있어서,
    상기 패스워드 검증자 및 상기 제1인증정보는 이전 인증세션에서 재구성된 것임을 특징으로 하는, 사용자 인증 방법.
  6. 제1항에 있어서,
    상기 사용자의 인증이 성공한 경우, 상기 패스워드 검증자, 상기 제1인증정보 및 상기 제2인증정보를 재구성하는 과정을 더 포함하는 것을 특징으로 하는, 사용자 인증 방법.
  7. 제5항에 있어서,
    상기 재구성하는 과정은,
    상기 패스워드 및 다음 세션에서 사용하기 위한 제2난수를 기초로 해시 연산을 수행하여 새로운 암호화 키를 생성하는 과정;
    상기 제2난수를 이용하여 다음 세션에서 사용하기 위한 새로운 세션 키를 생성하는 과정;
    상기 새로운 암호화 키를 이용하여 상기 새로운 세션 키를 암호화하는 과정;
    상기 제2인증정보를 갱신하고, 갱신된 인증정보를 상기 세션 키를 이용하여 암호화하는 과정; 및
    암호화된 인증정보를 상기 컴퓨팅 시스템에 저장하는 과정; 및
    상기 암호화된 인증정보, 상기 제2난수 및 상기 암호화된 새로운 세션 키를 상기 이동저장매체에 저장하는 과정
    을 포함하는 것을 특징으로 하는, 사용자 인증 방법.
  8. 제1항에 있어서,
    상기 제2인증정보는,
    상기 컴퓨팅 장치에 저장되거나, 상기 컴퓨팅 장치와 네트워크로 연결된 데이터베이스에 저장된 것임을 특징으로 하는, 사용자 등록 방법
  9. 제1항에 있어서,
    상기 사용자의 인증이 성공한 경우, 일정 시간마다 상기 이동저장매체의 연결 여부를 확인하는 과정을 더 포함하는 것을 특징으로 하는, 사용자 인증 방법
  10. 사용자 인증을 수행하는 컴퓨팅 장치의 사용자 등록 방법에 있어서,
    사용자로부터 사용자 아이디 및 패스워드를 입력받는 과정;
    제1난수와 상기 패스워드를 기초로 해시 연산을 수행하여 암호화 키를 생성하는 과정;
    제2난수를 이용하여 세션 키를 생성하는 과정;
    상기 암호화 키를 이용하여 상기 세션 키를 암호화하는 과정;
    상기 사용자의 인증정보 레코드를 생성하고, 생성된 인증정보 레코드를 상기 세션 키를 이용하여 암호화하는 과정;
    암호화된 인증정보 레코드를 상기 컴퓨팅 장치가 관리하는 데이터베이스에 저장하는 과정; 및
    상기 제1난수, 상기 암호화된 세션 키 및 상기 암호화된 인증정보 레코드를 상기 사용자가 소지하는 이동저장매체에 저장하는 과정
    을 포함하는 사용자 등록 방법.
  11. 제10항에 있어서,
    상기 인증정보 레코드는,
    상기 패스워드, 등록세션이 수행된 날짜 및 비표(Nonce)를 포함하는 것을 특징으로 하는, 사용자 등록 방법.
  12. 제10항에 있어서,
    상기 제1난수, 상기 암호화된 세션 키 및 상기 암호화된 인증정보 레코드는, 인증세션에서 인증이 성공한 경우 새로운 데이터로 갱신되는 것을 특징으로 하는, 사용자 등록 방법.
  13. 컴퓨팅 장치의 사용자 인증 방법에 있어서,
    사용자 아이디 및 패스워드를 입력받는 과정;
    상기 컴퓨팅 장치에 유선 또는 무선 통신 방식으로 연결된 이동저장매체에 저장된 제1난수, 암호화된 세션 키 및 제1인증정보를 획득하는 과정;
    제1난수와 상기 패스워드를 기초로 해시 연산을 수행하여 암호화 키를 생성하는 과정;
    상기 암호화 키를 이용하여, 상기 암호화된 세션 키를 복호화하는 과정;
    복호화된 세션 키를 이용하여, 제1인증정보를 복호화하는 과정;
    상기 복호화된 세션 키를 이용하여, 상기 컴퓨팅 장치가 관리하는 제2인증정보를 복호화하는 과정; 및
    상기 제1인증정보를 복호화한 결과와 상기 제2인증정보를 복호화한 결과가 일치하는지 여부를 확인하여 상기 사용자를 인증하는 과정
    을 포함하는 사용자 인증 방법.
  14. 제13항에 있어서,
    상기 제1인증정보 및 상기 제2인증정보는,
    상기 사용자 아이디, 상기 패스워드, 이전 인증세션이 수행된 날짜 및 비표(Nonce)를 포함하는 것을 특징으로 하는, 사용자 인증 방법.
  15. 제13항에 있어서,
    상기 사용자의 인증이 성공한 경우, 상기 제1난수, 상기 암호화된 세션 키, 상기 제1인증정보 및 상기 제2인증정보를 다음 인증세션에 사용할 데이터로 변경하는 과정을 더 포함하는 것을 특징으로 하는, 사용자 인증 방법.
  16. 컴퓨팅 장치의 사용자 인증 방법에 있어서,
    인증에 성공한 사용자의 패스워드 및 다음 인증세션에서 사용하기 위한 제1난수를 기초로 해시 연산을 수행하여 새로운 암호화 키를 생성하는 과정;
    제2난수를 이용하여 다음 세션에서 사용하기 위한 새로운 세션 키를 생성하는 과정;
    상기 새로운 암호화 키를 이용하여 상기 새로운 세션 키를 암호화하는 과정;
    상기 사용자의 인증정보 레코드를 갱신하고, 상기 세션 키를 이용하여 갱신된 인증정보 레코드를 암호화하는 과정; 및
    암호화된 인증정보 레코드를 상기 컴퓨팅 시스템에 저장하는 과정; 및
    상기 암호화된 인증정보 레코드, 상기 제1난수 및 상기 암호화된 새로운 세션 키를 이동저장매체에 저장하는 과정
    을 포함하는 사용자 인증 방법.
  17. 제16항에 있어서,
    상기 인증정보 레코드는,
    상기 사용자 아이디, 상기 패스워드, 당해 인증세션이 수행된 날짜 및 비표(Nonce)를 포함하는 것을 특징으로 하는, 사용자 인증 방법.
KR1020140062520A 2014-05-23 2014-05-23 이동저장매체를 활용한 패스워드 기반 사용자 인증 방법 및 장치 KR101668366B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140062520A KR101668366B1 (ko) 2014-05-23 2014-05-23 이동저장매체를 활용한 패스워드 기반 사용자 인증 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140062520A KR101668366B1 (ko) 2014-05-23 2014-05-23 이동저장매체를 활용한 패스워드 기반 사용자 인증 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20150134966A true KR20150134966A (ko) 2015-12-02
KR101668366B1 KR101668366B1 (ko) 2016-10-28

Family

ID=54883321

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140062520A KR101668366B1 (ko) 2014-05-23 2014-05-23 이동저장매체를 활용한 패스워드 기반 사용자 인증 방법 및 장치

Country Status (1)

Country Link
KR (1) KR101668366B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030033863A (ko) * 2001-10-25 2003-05-01 (주)엔라인시스템 Usb 모듈방식의 능동형 사용자 인증카드를 이용한다단계 사용자 인증방법 및 시스템
KR20040042123A (ko) * 2002-11-13 2004-05-20 주식회사 퓨쳐시스템 휴대용 인증 장치 및 이를 이용한 인증 방법
KR20070039528A (ko) * 2004-07-05 2007-04-12 싸이언스 파크 가부시키가이샤 데이터 관리 방법, 그 프로그램, 및 프로그램의 기록 매체
KR20120060396A (ko) * 2010-12-02 2012-06-12 엘지전자 주식회사 Usb저장장치의 데이터 보안 방법 및 장치

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030033863A (ko) * 2001-10-25 2003-05-01 (주)엔라인시스템 Usb 모듈방식의 능동형 사용자 인증카드를 이용한다단계 사용자 인증방법 및 시스템
KR20040042123A (ko) * 2002-11-13 2004-05-20 주식회사 퓨쳐시스템 휴대용 인증 장치 및 이를 이용한 인증 방법
KR20070039528A (ko) * 2004-07-05 2007-04-12 싸이언스 파크 가부시키가이샤 데이터 관리 방법, 그 프로그램, 및 프로그램의 기록 매체
KR20120060396A (ko) * 2010-12-02 2012-06-12 엘지전자 주식회사 Usb저장장치의 데이터 보안 방법 및 장치

Also Published As

Publication number Publication date
KR101668366B1 (ko) 2016-10-28

Similar Documents

Publication Publication Date Title
US20180082050A1 (en) Method and a system for secure login to a computer, computer network, and computer website using biometrics and a mobile computing wireless electronic communication device
US7886355B2 (en) Subsidy lock enabled handset device with asymmetric verification unlocking control and method thereof
US9646161B2 (en) Relational database fingerprinting method and system
US8051297B2 (en) Method for binding a security element to a mobile device
US8462955B2 (en) Key protectors based on online keys
US8724819B2 (en) Credential provisioning
CA2879910C (en) Terminal identity verification and service authentication method, system and terminal
CN106452764B (zh) 一种标识私钥自动更新的方法及密码系统
JP2009510644A (ja) 安全な認証のための方法及び構成
CN103546289A (zh) 一种基于USBKey的安全传输数据的方法及系统
CN111512608A (zh) 基于可信执行环境的认证协议
CN111401901B (zh) 生物支付设备的认证方法、装置、计算机设备和存储介质
KR102012262B1 (ko) 키 관리 방법 및 fido 소프트웨어 인증장치
US7620187B1 (en) Method and apparatus for ad hoc cryptographic key transfer
KR20170124953A (ko) 암호화된 otp를 모바일폰에서 지문 등을 이용하여 복호화하여 사용자 인증을 자동화하는 방법과 그 시스템
KR101358375B1 (ko) 스미싱 방지를 위한 문자메시지 보안 시스템 및 방법
KR101639714B1 (ko) 스마트 그리드 기기 인증 방법
JP6199712B2 (ja) 通信端末装置、通信端末関連付け方法、及びコンピュータプログラム
CA2553081C (en) A method for binding a security element to a mobile device
CN107104792B (zh) 一种便携式移动口令管理系统及其管理方法
KR101680536B1 (ko) 기업용 모바일 업무데이터 보안 서비스 방법 및 그 시스템
CN114175574A (zh) 无线安全协议
KR102053993B1 (ko) 인증서를 이용한 사용자 인증 방법
KR20170092992A (ko) 사용자 인증 시스템 및 그 방법
KR101668366B1 (ko) 이동저장매체를 활용한 패스워드 기반 사용자 인증 방법 및 장치

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

Year of fee payment: 4