KR20170123222A - 무결성 및 보안성이 강화된 사용자 인증방법 - Google Patents

무결성 및 보안성이 강화된 사용자 인증방법 Download PDF

Info

Publication number
KR20170123222A
KR20170123222A KR1020160179254A KR20160179254A KR20170123222A KR 20170123222 A KR20170123222 A KR 20170123222A KR 1020160179254 A KR1020160179254 A KR 1020160179254A KR 20160179254 A KR20160179254 A KR 20160179254A KR 20170123222 A KR20170123222 A KR 20170123222A
Authority
KR
South Korea
Prior art keywords
authentication
user
key
server
authentication information
Prior art date
Application number
KR1020160179254A
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 KR1020160179254A priority Critical patent/KR20170123222A/ko
Publication of KR20170123222A publication Critical patent/KR20170123222A/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
    • 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
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0872Generation of secret information including derivation or calculation of cryptographic keys or passwords using geo-location information, e.g. location data, time, relative position or proximity to other entities
    • 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
    • H04L9/3228One-time or temporary data, i.e. information which is sent for every authentication or authorization, e.g. one-time-password, one-time-token or one-time-key

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Telephonic Communication Services (AREA)

Abstract

본 발명은 무결성 및 보안성이 강화된 사용자 인증방법에 관한 것으로, 본 발명에 따른 사용자 인증방법은, 사용자 등록을 위한 절차가 시작되면, 사용자 단말기에서는 제1차 변환을 수행하여 제1공통인증키를 생성하고, 제2차 변환을 수행하여 암호화된 제1공통인증키를 인증서버에 제공하며, 상기 인증서버에서는 상기 암호화된 제1공통인증키를 등록하는 제1단계와; 상기 인증서버에서, 제1서버인증키를 생성하고, 상기 제1서버인증키 대한 OTP연산을 수행하여 제1서버인증정보를 생성하는 제2단계와; 인증절차가 시작되면, 사용자 단말기에서 제1차변환을 수행하여 제2공통인증키를 생성하고, 제2차 변환을 수행하여 암호화된 제2공통인증키를 생성하며, 제1사용자 인증키를 생성하고, 상기 제1사용자 인증키에 대한 OTP연산을 수행하여 제1사용자인증정보를 생성하는 제3단계와; 상기 제1서버 인증정보와 상기 제1사용자 인증정보의 일치여부에 따라 사용자인증을 수행하거나 또는 상기 인증서버의 진위여부를 판단하는 인증서버 인증을 수행하는 제4단계를 구비한다.

Description

무결성 및 보안성이 강화된 사용자 인증방법{User authentication method for integrity and security enhancement}
본 발명은 무결성 및 보안성이 강화된 사용자 인증방법에 관한 것으로, 보다 구체적으로는, 공개 네트워크 상에서 개인정보 유출을 원천적으로 차단하고 해킹의 위험으로부터 자유로워 보안성이 강화되고, 전송데이터의 무결성에 대한 검증이 가능하여 무결성 및 보안성이 강화된 사용자 인증방법사용자 인증방법에 관한 것이다.
현대사회는 금융거래나 각종 사용자 인증이 필요한 업무는 대면접촉보다는 온라인 환경을 통해 이루어지는 것이 일반화되어 있다. 온라인 상에서의 사용자 인증은 대면접촉보다는 더 신중한 접근이 필요하여, 대부분의 경우 사용자 단말기에 액티브엑스(ActiveX) 및 키보드 보안프로그램 등을 포함하는 각종 보안프로그램이나 제어프로그램의 설치가 요구되고 있고, 공인인증서나 보안카드, OTP 장치 등의 보안장치를 통해 보안성을 강화하여 정보유출에 대비하고 있다.
대표적인 사용자 인증방법 중의 하나인 OTP(One Time Password) 장치는 고유키가 내장된 OTP장치를 사용자에게 미리 지급하고, 사용자가 전자금융거래망에 접속하여 인증서버(금융기관의 서버)에 인증을 요구할 경우, 상기 고유키를 연산키로 하여 현재시간과 연관된 난수에 근거하여 OTP 번호를 생성하도록 하고 있으며, 사용자는 생성된 OTP번호를 비밀번호로 하여 수동으로 입력하여 인증서버에 전송하는 방식으로 진정한 사용자임을 인증하고 있다.
그러나 사용자가 다수 개의 금융기관을 거래하는 경우에는 각 금융기관 별로 제공하는 다수의 OTP 인증장치를 각각 구비하여야 하기 때문에 소비자가 각 금융기관 별의 OTP 인증장치를 별도로 구매해야 하고, 다수의 OTP 인증장치를 소지해야 하는 불편함이 있으며, 다수의 OTP인증장치 중에서 특정 금융기관용 인증장치를 일일이 찾아야 하는 불편함도 있다.
또한 OTP 장치의 고유키를 사용자가 임의로 교체할 수 없기 때문에, OTP 장치를 분실하는 경우 직접 금융기관에 방문하여 새로이 발급받아야 하는 등 불편함이 많다. 그리고 금융기관에서 고객의 OTP장치의 고유키가 유출되는 경우에는 모든 고객에게 OTP 장치를 재발급하는 등 막대한 비용과 시간이 소요되는 문제점이 있다.
한편, 사용자가 지정한 비밀번호를 통해 인증이나 로그인이 이루어지는 경우에, 관련 서버 등에서는 사용자의 비밀번호를 등록, 저장 및 관리해야 하고, 사용자 입장에서는 비밀번호를 인지하고 있어야 하고 유출에 대비해 정기적인 변경이 요구되므로, 관리가 불편하다는 문제점이 있다.
더불어, 해킹 기술의 발달에 따라 화면캡처, 엿보기 공격(shoulder surfing attack), 화면 모니터링 등의 화면해킹 기술 또는 PC에 설치된 스파이웨어(spyware) 등으로 인한 공인인증서나 비밀번호 등의 유출 등 정보의 유출이 다양하게 이루어지고 있고 암호화된 비밀번호라 하더라도 전문적인 해커의 경우에는 어느 정도의 노력에 의해 복호화가 가능하기 때문에, 사용자 인증을 위한 절차는 사용자에게 편리성을 추구하면서도 보안성을 강화할 필요가 있다. 또한 전송과정에서 오류를 검증하여 무결성을 강화하는 것도 필요하다.
대한민국 등록특허 제10-1270941호(2013.05.29.)
따라서, 본 발명의 목적은 상기한 종래의 문제점을 극복할 수 있는 무결성 및 보안성이 강화된 사용자 인증방법을 제공하는데 있다.
본 발명의 다른 목적은 사용자 인증절차가 간편하고 보안성을 강화할 수 있으며, 무결성 검증이 가능한 무결성 및 보안성이 강화된 사용자 인증방법을 제공하는데 있다.
본 발명의 다른 목적은 공개된 네트워크 환경에서도 정보유출에 대한 위험이 없이 편리하게 적용 가능한 무결성 및 보안성이 강화된 사용자 인증방법을 제공하는데 있다.
본 발명의 또 다른 목적은 사용자가 인증을 위한 인증기관, 인증서버 등의 진위여부를 판별할 수 있는 무결성 및 보안성이 강화된 사용자 인증방법을 제공하는데 있다.
본 발명의 또 다른 목적은 인증기관이나 인증서버에서 사용자의 비밀번호를 관리하지 않으면서도 인증이 가능하고 시간과 연계된 멀티요소를 이용하여 무결성 및 보안성이 강화된 사용자 인증방법을 제공하는데 있다.
상기한 기술적 과제들의 일부를 달성하기 위한 본 발명의 구체화에 따라, 본 발명에 따른 사용자 단말기와 인증서버를 이용한 사용자 인증방법은, 사용자에 의해 사용자 등록을 위한 개인비밀번호가 입력되면, 상기 사용자 단말기에서는 상기 개인비밀번호 및 상기 사용자 단말기의 기계적 고유키를 조합하여 단방향성 함수를 이용한 제1차 변환을 수행하여 제1공통인증키를 생성하고, 상기 제1공통인증키를 암호화키를 이용하여 암호화하는 제2차 변환을 수행하여 암호화된 제1공통인증키를 상기 인증서버에 제공하며, 상기 인증서버에서는 상기 암호화된 제1공통인증키를 사용자 정보에 매칭하여 등록하는 제1단계와; 상기 인증서버에서, 내장된 인증기관의 고유키와 상기 암호화된 제1공통인증키를 구성요소로 단방향성 함수를 이용한 변환을 수행하여 제1서버인증키를 생성하고, 상기 제1서버인증키 또는 상기 제1서버인증키의 변환값인 제2서버인증키에 대한 OTP(One Time Password) 연산을 수행하여 제1서버인증정보를 생성하는 제2단계와; 인증을 위해 사용자로부터 상기 개인비밀번호가 입력되면, 상기 사용자 단말기에서 상기 개인비밀번호 및 상기 사용자 단말기의 기계적 고유키를 조합하여 단방향성 함수를 이용한 제1차변환을 수행하여 제2공통인증키를 실시간으로 생성하고, 상기 제2공통인증키를 상기 암호화키를 이용하여 암호화하는 제2차 변환을 수행하여 암호화된 제2공통인증키를 생성하며, 상기 인증서버로부터 미리 제공된 인증기관의 고유키와 상기 암호화된 제2공통인증키를 구성요소로 단방향성 함수를 이용한 변환을 수행하여 제1사용자 인증키를 생성하고, 상기 제1사용자 인증키 또는 상기 제1사용자 인증키의 변환값인 제2사용자 인증키에 대한 OTP(One Time Password) 연산을 수행하여 제1사용자인증정보를 생성하는 제3단계와; 상기 제1서버 인증정보와 상기 제1사용자 인증정보의 일치여부에 따라 사용자인증을 수행하거나 또는 상기 인증서버의 진위여부를 판단하는 인증서버 인증을 수행하는 제4단계를 구비한다.
본 발명에 따르면, 공개 네트워크 상에서 개인정보 유출을 원천적으로 차단하고 해킹의 위험으로부터 자유로워 보안성이 강화되고, 전송데이터의 무결성에 대한 검증이 가능한 효과가 있다. 또한, 인증을 위한 인증서버, 인증기관, 웹사이트 등의 진위여부의 체크가 가능하고 무결성 및 유일성 확보가 가능한 사용자 인증이 가능해지는 장점이 있다. 또한, 인증정보들을 생성할 때, 이전값을 이용하여 단방향성 변환을 수행하여 다음값을 생성하는 체이닝(chaining)방식을 취함에 따라, 단말기의 시간조작을 통해 미래에 생성될 값을 미리 알아내는 등의 조작 등을 원천적으로 방지할 수 있는 효과가 있다.
도 1은 본 발명의 실시예들에 따른 사용자 인증방법에 사용되는 인증장치의 간략 개념도이고,
도 2는 본 발명의 제1실시예에 따른 사용자 인증방법을 나타낸 순서도이고,
도 3은 도 2에서 제1공통인증키 및 암호화된 제1공통인증키를 생성하는 과정을 나타낸 블록도이고,
도 4는 도 2에서 제1서버인증정보의 생성과정을 나타낸 블록도이고,
도 5는 도 2에서 제1사용자 인증정보의 생성과정을 나타낸 블록도이고,
도 6은 본 발명의 제2실시예에 따른 사용자 인증방법을 나타낸 순서도이고,
도 7은 도 6에서 제2사용자 인증정보의 생성과정을 나타낸 블록도이고,
도 8은 도 6에서 제2서버인증정보의 생성과정을 나타낸 블록도이고,
도 9는 제3서버인증정보 및 제3사용자인증정보의 생성과정을 나타낸 블록도이고,
도 10은 본 발명의 제3실시예에 따른 사용자 인증방법에서 제2사용자인증정보를 생성하는 과정을 나타낸 블록도이고,
도 11은 본 발명의 제3실시예에 따른 사용자 인증방법에서 제2서버 인증정보의 생성과정을 나타낸 블록도이고,
도 12는 본 발명의 제4실시예에 따른 사용자 인증방법을 나타낸 순서도이고,
도 13은 도 12에서 제1공통인증키 및 암호화된 제1공통인증키를 생성하는 과정을 나타낸 블록도이고,
도 14는 본 발명의 제5실시예에 따른 사용자 인증방법을 나타낸 순서도이다.
이하에서는 본 발명의 바람직한 실시예들이, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 본 발명의 철저한 이해를 제공할 의도 외에는 다른 의도 없이, 첨부한 도면들을 참조로 하여 상세히 설명될 것이다.
도 1은 본 발명의 실시예들에 따른 사용자 인증방법에 사용되는 인증장치(500)의 간략 개념도이다.
도 1에 도시된 바와 같이, 본 발명의 실시예들에 따른 사용자 인증방법을 위한 인증장치(500)는 사용자 단말기(100) 및 인증서버(200)를 구비한다.
상기 사용자 단말기(100)는 상기 인증서버(200)와 유무선 인터넷망을 통해 서로 연결되며, 상기 사용자 단말기(100)에는 상기 인증서버(200)에서 제공된 사용자 인증을 위한 전용 어플리케이션 프로그램(이하 '전용앱' 이라 함)이 설치되게 된다. 상기 사용자 단말기(100)는 스마트폰, 태블릿, PDA 등을 포함하여 통상의 기술자에게 잘 알려진 모바일 단말기가 포함될 수 있다. 또한, 데스크탑PC, 노트북. 씬클라이언트(thin client)용 단말기, 제로클라이언트(zero-client)용 단말기 등을 포함할 수 있다. 여기서 씬클라이언트(thin client)용 단말기는 CPUㆍ메모리 등 필수적인 하드웨어 장치만 탑재한 상태에서 네트워크로 연결된 중앙서버에서 모든 업무를 관리하도록 설계된 업무용 단말기를 일컫는다. 상기 제로클라이언트(zero client)용 단말기는 메모리 등 필수적인 요소도 모두 없애 PC 본체 자체가 필요 없고, 모든 업무를 서버에서 처리하도록 하여 오로지 서버를 연결하는 단말기의 역할만 수행하도록 것을 말한다.
본 발명에서, 상기 사용자 단말기(100)는 사용자가 사용할 수 있는 유무선 통신이 가능한 모든 단말기들을 지칭하나, 특별히 구분이 필요한 경우에는, 스마트폰, 태블릿, PDA 등을 포함하는 모바일 단말기의 경우는 제1사용자 단말기로 지칭하고, 데스크탑PC, 노트북. 씬클라이언트(thin client)용 단말기, 제로클라이언트(zero-client)용 단말기 등의 경우는 제2사용자 단말기로 지칭하되, 도면부호는 동일한 번호인 '100'을 사용하기로 한다.
*상기 인증서버(200)는 일반적으로 금융기관 등의 인증기관에서 사용자 인증 등 인증절차에 사용되는 서버를 포함할 수 있으며, 기타 통상의 기술자에게 잘 알려진 인증서버가 포함될 수 있다.
이하에서 사용되는 인증을 위한 인증번호, 비밀번호 등의 번호, 고유키, 인증키, 인증정보 등은 문자, 특수문자, 숫자, 각종 기호 등이 조합된 것으로 단순히 숫자만의 조합을 의미하지 않음은 명백하며, 암호화된 것을 의미할 수도 있고 암호화되지 않은 것을 의미할 수도 있다. 또한, 번호, 키, 정보, 값 등의 말미용어는 서로의 구분을 위해 편의상 부여한 용어이며, 특별한 의미가 부여된 것은 아니다.
또한 이하에서 상기 사용자 단말기(100)에서 수행되는 각종 구성들은 사용자 단말기(100)에 설치된 전용앱에 의해 수행되는 구성일 수 있다. 이에 따라 상기 사용자 단말기(100)에 의해 수행된다고 하면 상기 사용자 단말기(100)에 설치된 전용앱에 의해 수행되는 것을 의미할 수도 있다.
또한 본 발명에서는 '일정기준'이란 용어가 사용되는데, 이 일정기준이란 용어는 어떠한 기준 또는 미리 정해진 기준이 있다는 의미이지, 동일용어가 복수로 사용된다고 하여 서로 동일한 기준을 가진다는 것을 의미하는 것은 아니다. 따라서 본발명에서 사용되는 일정기준이란 용어가 복수로 사용되는 경우에는, 특별히 동일기준이라고 명시한 경우를 제외하고는 서로 동일한 기준을 의미하지 않는다.
이하 사용자 단말기(100) 및 인증서버(200)를 기본구성으로 하여 본 발명에 따른 사용자 인증방법의 각 실시예들을 설명하기로 한다.
도 2는 본 발명의 제1실시예에 따른 사용자 인증방법을 나타낸 순서도이고, 도 3은 도 2에서 제1공통인증키 및 암호화된 제1공통인증키를 생성하는 과정을 나타낸 블록도이고, 도 4는 제1서버인증정보의 생성과정을 나타낸 블록도이고, 도 5는 제1사용자 인증정보의 생성과정을 나타낸 블록도이다.
도 2 내지 도 5에 도시된 바와 같이, 본 발명의 제1실시예에 따른 사용자 인증방법은 사용자가 사용자 단말기(100)가 사용자 등록을 위해 상기 전용앱을 다운로드하여 설치하는 것으로 시작될 수 있다. 사용자 등록절차는 상기 전용앱의 설치과정에서 수행되는 것도 가능하고, 상기 전용앱의 설치이후에 별도의 사용자 등록과정을 통해 수행되는 것도 가능하다.
우선 사용자에 의해 사용자 등록을 위한 절차가 시작되어, 사용자가 사용자 정보와 개인 비밀번호를 상기 사용자 단말기(100)를 통해 입력하면(S102), 상기 사용자 단말기(100)에서는 상기 사용자 단말기(100)의 기계적 고유키를 이용하여 단방향성 함수(110)를 이용한 제1차변환을 수행하여 제1공통인증키를 생성한다(S104).
여기서 상기 제1공통인증키는 상기 사용자 단말기(100)의 기계적 고유키를 단독구성요소로 하여 일정기준에 의해 생성된 연산키를 통해 상기 단방향성 함수(110)를 이용한 제1차변환을 통해 생성되는 것도 가능하지만, 상기 사용자 단말기(100)의 기계적 고유키에 다른 구성요소가 추가되는 것이 가능하다.
본 발명의 제1실시예에 경우에는 사용자가 입력한 상기 개인비밀번호가 상기 제1공통인증키의 생성을 위한 구성요소로 추가될 수 있다.
여기서 상기 사용자 단말기(100)의 기계적 고유키는 예를 들면, 시리얼 번호나 유심번호 등을 포함할 수 있으며, 이외에 상기 사용자 단말기를 구분하기 위해 부여된 각종 고유번호, 전화번호 등을 포함할 수 있다.
상기 단방향성 함수(110)는 임의의 길이의 데이터를 고정된 길이의 데이터로 매핑하여 변환시키는 함수로, 역변환 즉 원래의 데이터로 복원하는 것이 불가능한 것으로 알려진 함수를 모두 의미할 수 있다. 상기 단방향성 함수(110)로는 MD5, SHA, SHA2, scrypt 등의 암호학적 해쉬(hash)함수와, CRC32 및 CHECKSUM 등의 비암호학적 해쉬함수를 포함하여 통상의 기술자에게 알려진 모든 단방향성 함수가 포함될 수 있으며, 상기 제1공통인증키는 이들 단방향성 함수 중에서 선택된 어느 하나의 단방향성 함수를 이용하여 생성될 수 있다.
상기 제1공통인증키는 도 3에 도시된 바와 같이, 상기 개인비밀번호 및 상기 사용자 단말기(100)의 기계적 고유키를 구성요소로 하여 일정기준에 의해 생성된 연산키를 통해 연산하여 제1차 변환시킴에 의해 생성될 수 있다. 상기 제1공통인증키에는 상기 전용앱의 고유키(예를 들면, Device Token, Bundle ID, Package Name, App ID 등)가 구성요소로 더 포함될 수도 있다.
이후 상기 제1공통인증키는 암호화유닛(120)을 통해 암호화키를 통해 암호화되는 제2차 변환을 통해 암호화된 제1공통인증키로 생성되게 된다(S106).
여기서 암호화는 암호화를 위한 암호화키와 복호화를 위한 복호화키가 동일한 대칭키 방식이 사용될 수 있으며, Twofish, Serpent, AES, Blowfish, CAST5, RC4, 3DES, IDEA, RC6, DES 등 중에서 선택된 암호화 방식이 이용될 수 있다. 이외에도 통상의 기술자에게 잘 알려진 암호화 방식이 적용되는 것이 가능하다.
상기 사용자 단말기(100)는 상기 암호화된 제1공통인증키를 상기 사용자 정보와 함께 상기 인증서버(200)에 전송하게 된다(S108).
상기 인증서버(200)는 상기 사용자 단말기(100)에서 전송된 상기 암호화된 제1공통인증키를 상기 사용자 정보에 매칭하여 상기 사용자 정보와 함께 등록 및 저장하게 된다(S202). 이에 따라 사용자 등록절차가 수행되게 된다. 상기 사용자 등록절차가 수행되면 상기 사용자 단말기(100)에서는 상기 암호화된 제1공통인증키를 삭제할 수 있다.
종래의 경우 사용자 등록이 수행되면, 통상적으로 인증서버에서 개인비밀번호를 저장하고 있으나, 본 발명의 제1실시예의 경우는 상기 인증서버(200)나 사용자 단말기(100)에서 비밀번호를 저장하고 있지 않으며, 상기 인증서버(200)에서는 단지 상기 암호화된 제1공통인증키만을 저장하고 있게 된다.
이에 따라 사용자가 개인 비밀번호를 잊게 되거나 유출되는 경우에는 새로운 등록절차를 통해 새로운 비밀번호가 포함된 암호화된 제1공통인증키를 상기 인증서버(200)에 전송하여 등록되도록 할 수 있어 보안성이 강화되게 된다.
또한, 단방향성 함수를 이용한 제1변환을 통해 개인정보 유출을 방지할 수 있고, 암호화의 제2변환을 통해 공개된 네트워크 환경에서 해킹의 염려없이 안전하게 사용자 인증 또는 인증서버 인증이 가능한 장점이 있다.
이후 상기 인증서버(200)에서는 내장된 인증기관의 고유키와 상기 암호화된 제1공통인증키를 조합하여 제1서버인증정보를 생성할 수 있다(S204).
상기 제1서버인증정보는 도 4에 도시된 바와 같이, 2가지 방식에 의해 생성가능하다.
한가지 방법은 도 4의 (a)에 도시된 바와 같이, 상기 인증서버(200)에서 내장된 인증기관의 고유키와 상기 암호화된 제1공통인증키를 구성요소로 단방향성 함수(210)를 통한 변환을 통해 제1서버인증키를 생성하고, 상기 제1서버인증키에 대한 OTP(One Time Password) 연산을 하여 시간값으로 동기화된 제1서버인증정보를 생성할 수 있다. 여기서 상기 제1서버인증키는 상기 인증기관의 고유키를 연산키로 하여 상기 암호화된 제1공통인증키에 대하여 상기 단방향성 함수(210)를 통한 변환을 수행하여 생성될 수 있다. 또한 상기 제1서버인증정보는 OTP발생기(230)를 통한 OTP연산을 통해 생성될 수 있다.
다른 방법은 도 4의 (b)에 도시된 바와 같이, 상기 인증서버(200)에서 내장된 인증기관의 고유키와 상기 암호화된 제1공통인증키를 구성요소로 단방향성 함수(210)를 통한 변환을 통해 제1서버인증키를 생성하고, 상기 제1서버인증키로부터 시간정보를 이용하여 일정기준에 의해 추출되는 제2서버인증키를 생성한다.
상기 제2서버인증키는 별도의 시간추출값 발생기(220)를 통하여 추출되어 생성되며, 상기 제2서버인증키는 제1서버인증키로부터 생성된 임의의 시간 동기값을 의미할 수 있다. 상기 시간추출값 발생기(220)는 일반적인 OTP(One Time Password) 발생기와 동작원리가 같으며, 일반적인 OTP(One Time Password) 발생기는 출력값이 숫자로 표시되나 상기 시간추출값 발생기(220)는 출력값이 숫자나 문자 기타 다양한 기호 등으로 표시되는 점이 다르다. 이에 따라 상기 시간추출값 발생기(220)는 일반적인 OTP(One Time Password) 연산을 수행하는 OTP 발생기를 포함하는 개념으로 이해되어야 한다.
이후 상기 인증서버(200)에서 상기 제2서버인증키에 대한 OTP(One Time Password) 발생기(230)을 통한 OTP 연산을 수행하여 상기 제1서버인증정보를 생성하는 것이 가능하다.
상기 제1서버인증정보는 사용자 등록 이후에 다른 절차와 관계없이 독립적으로 생성되는 것이 가능하다. 즉 상기 제1서버인증정보는 상기 사용자 등록 이후부터 후술하는 제1사용자 인증정보의 생성시까지의 시간 내에 생성되면 족하다.
그리고 상기 제1서버인증정보를 상기 사용자 단말기(100)로 전송하는 경우에도, 생성 즉시 전송하는 것도 가능하고, 필요하다고 판단되는 시점에 전송하는 것도 가능하다. 또한 사용자 단말기(100)의 요청에 의해 전송하는 것도 가능하다.
이후 사용자에 의해 인증절차가 시작되어 상기 사용자 단말기(100)에서 사용자로부터 인증을 위해 상기 개인비밀번호가 입력되면(S110), 상기 사용자 단말기(100)에서는 상기 사용자 단말기(100)의 기계적 고유키를 이용하여 단방향성 함수(110)를 이용한 제1차변환을 수행하여 제2공통인증키를 생성한다(S112).
여기서 상기 제2공통인증키는 상기 사용자 단말기(100)의 기계적 고유키를 단독구성요소로 하여 일정기준에 의해 생성된 연산키를 통해 상기 단방향성 함수(110)를 이용한 제1차변환을 통해 생성되는 것도 가능하지만, 상기 사용자 단말기(100)의 기계적 고유키에 다른 구성요소가 추가되는 것이 가능하다.
본 발명의 제1실시예에 경우에는 제1공통인증키의 생성방식과 동일하게 사용자가 입력한 상기 개인비밀번호가 상기 제2공통인증키의 생성을 위한 구성요소로 추가될 수 있다.
즉 상기 개인비밀번호 및 상기 사용자 단말기(100)의 기계적 고유키를 조합하여 단방향성 함수(110)를 이용한 제1차변환을 수행하여 제2공통인증키를 생성한다(S112).
상기 단방향성 함수(110)는 상기 제1공통인증키를 생성한 단방향성 함수와 동일함수가 사용될 수 있으며, 동일방식으로 적용가능하다.
상기 제2공통인증키는 상기 제1공통인증키의 생성방식과 동일하게, 상기 개인비밀번호 및 상기 사용자 단말기(100)의 기계적 고유키를 구성요소로 하여 일정기준에 의해 생성된 연산키를 통해 연산하여 제1차 변환시킴에 의해 생성될 수 있다.
상기 제2공통인증키에는 상기 전용앱의 고유키(예를 들면, Device Token, Bundle ID, Package Name, App ID 등)가 구성요소로 더 포함될 수도 있다. 이는 상기 제1공통인증키에 상기 전용앱의 고유키가 구성요소로 포함된 경우에 대응하여 가능할 것이다.
이후 상기 제2공통인증키는 제1공통인증키의 경우와 동일하게, 암호화유닛(120)을 통해 상기 암호화키를 통해 암호화되는 제2차 변환을 통해 암호화된 제2공통인증키로 생성되게 된다(S114). 암호화 방식은 제1공통인증키의 경우와 동일하게 적용된다.
이후 상기 사용자 단말기(100)에서는 상기 암호화된 제2공통인증키를 이용하여 제1사용자 인증정보를 생성하게 된다(S116). 상기 제1사용자 인증정보에 대응되는 상기 제1서버인증정보의 생성에 대해서는 이미 설명한 바 있다.
상기 제1사용자인증정보는 도 5에 도시된 바와 같이, 2가지 방식에 의해 생성 가능하다.
한가지 방법은 도 5의 (a)에 도시된 바와 같이, 상기 인증서버(200)에서 미리 제공된 인증기관의 고유키와 상기 암호화된 제2공통인증키를 구성요소로 단방향성 함수(110)를 통한 변환을 통해 제1사용자인증키를 생성하고, 상기 제1사용자인증키에 대한 OTP(One Time Password) 연산을 하여 시간값으로 동기화된 제1사용자인증정보를 생성할 수 있다. 상기 인증기관의 고유키는 상기 전용앱의 설치시에 내장되어 제공되거나, 인증절차의 개시전에 업데이트 등을 통해 제공되는 것이 가능하다.
여기서 상기 제1사용자인증키는 상기 인증기관의 고유키를 연산키로 하여 상기 암호화된 제2공통인증키에 대하여 상기 단방향성 함수(110)를 통한 변환을 수행하여 생성될 수 있다. 또한 상기 제1사용자 인증정보는 OTP발생기(130)를 통한 OTP연산을 통해 생성될 수 있다.
다른 방법은 도 5의 (b)에 도시된 바와 같이, 상기 인증서버(200)에서 미리 제공된 인증기관의 고유키와 상기 암호화된 제2공통인증키를 구성요소로 단방향성 함수(110)를 통한 변환을 통해 제1사용자인증키를 생성하고, 상기 제1사용자인증키로부터 시간정보를 이용하여 일정기준에 의해 추출되는 제2사용자 인증키를 생성한다. 상기 인증기관의 고유키는 상기 전용앱의 설치시에 내장되어 제공되거나, 인증절차의 개시전에 업데이트 등을 통해 제공되는 것이 가능하다.
상기 제2사용자 인증키는 별도의 시간추출값 발생기(120)를 통하여 추출되어 생성되며, 상기 제2사용자 인증키는 제1사용자인증키로부터 생성된 임의의 시간 동기값을 의미할 수 있다. 상기 시간추출값 발생기(120)는 일반적인 OTP(One Time Password) 발생기와 동작원리가 같으며, 일반적인 OTP(One Time Password) 발생기는 출력값이 숫자로 표시되나 상기 시간추출값 발생기(120)는 출력값이 숫자나 문자 기타 다양한 기호 등으로 표시되는 점이 다르다. 이에 따라 상기 시간추출값 발생기(120)는 일반적인 OTP(One Time Password) 연산을 수행하는 OTP 발생기를 포함하는 개념으로 이해되어야 한다.
이후 상기 사용자 단말기(100)에서 상기 제2사용자인증키에 대하여 OTP발생기(130)를 통한 OTP(One Time Password) 연산을 수행하여 상기 제1사용자인증정보를 생성하는 것이 가능하다.
여기서 상기 제1사용자 인증정보의 생성방식은 상기 제1서버인증정보의 생성방식과 동일성이 유지되어야 한다. 상기 제1서버인증정보가 도 4의 (a)를 통해 설명된 방식으로 생성되면 상기 제1사용자 인증정보 또한 도 5의 (a)를 통해 설명한 방식으로 생성되어야 할 것이다. 또한, 단방향성 함수나 OTP 연산 등도 서로 대응되도록 적용되어야 할 것이다. 그리고 상기 제1서버인증정보가 도 4의 (b)를 통해 설명된 방식으로 생성되면 상기 제1사용자 인증정보 또한 도 5의 (b)를 통해 설명한 방식으로 생성되어야 할 것이다. 또한, 단방향성 함수나 OTP 연산, 시간값 추출 등도 대응하여 동일한 방식이 적용되어야 할 것이다.
이후 상기 제1사용자 인증정보가 상기 사용자 단말기(100)를 통해 상기 인증서버(200)로 전송되면(S118), 상기 인증서버(200)에서는 인증정보의 일치여부, 즉 상기 제1사용자 인증정보와 상기 제1서버인증정보의 일치여부에 따라 사용자 인증을 수행하게 된다(S208). 상기 제1사용자 인증정보는 수동으로 사용자에 의해 입력되어 전송되는 것도 가능하고, 자동으로 전송되도록 하는 것도 가능하고, 사용자의 전송지시에 의해 자동으로 전송되도록 하는 것도 가능하다.
여기에서, 상기 사용자 단말기(100)는 상기 인증서버(200)와 연결된 하나 또는 복수의 사용자 단말기가 사용되는 것이 가능하다. 예를 들어 제1사용자 단말기(100)로 암호화된 제1공통인증키 등의 등록절차를 진행하고 제2사용자 단말기(100)로 인증절차를 진행하는 것이 가능하고, 이의 반대의 경우도 가능하다. 또한 인증절차의 경우에도, 제1사용자 인증정보는 상기 제1사용자 단말기(100)를 통해 생성하고, 상기 제1사용자 인증정보의 입력이나 전송은 상기 제2사용자 단말기(100)를 통해 수행되는 것이 가능하다. 이외에도 다양한 절차에서 복수의 사용자 단말기(100)가 이용되는 것이 가능하다.
그리고, 상기 제1사용자 인증정보와 상기 제1서버인증정보를 사용자가 사용자 단말기(100)에서 비교하는 것으로, 상기 인증서버(200)의 진위여부, 인증서버(200)에 연결된 접속 웹페이지의 진위여부 또는 인증서비스를 공급하는 서비스 공급자 또는 인증기관의 진위여부를 확인하는 것이 가능하다. 종래의 경우 인증기관을 사칭하여 인증기관의 접속 웹페이지와 유사하게 구성하여 사용자를 혼동시키는 사례가 많음에도 이에 대한 마땅한 대응책이 없었던 것이 사실이다. 본 발명에서는 이러한 문제점을 해결하기 위해 인증기관(또는 서비스 공급자)의 진위여부를 사용자가 확인하는 것이 가능하다.
이를 위해 상기 제1서버인증정보가 생성되는 경우 상기 인증서버(200)에서는 상기 제1서버인증정보를 상기 접속 웹페이지를 통해 표시하도록 하거나 상기 사용자 단말기(100)로 전송하도록 한다(S206). 상기 제1서버인증정보가 표시되거나 전송되면, 이를 상기 사용자 단말기(100)에서 상기 제1사용자 인증정보와 비교함에 의해 상기 인증서버(200)가 진정한 인증서버인지 상기 접속 웹페이지가 진정한 것인지 진위여부를 판별하는 인증서버 인증이 가능하다(S120). 즉 상기 인증서버(200)의 진위여부, 인증서버(200)에 연결된 접속 웹페이지의 진위여부 또는 인증서비스를 공급하는 서비스 공급자 또는 인증기관의 진위여부를 확인하는 것이 가능하다.
여기서 상기 제1서버인증정보가 상기 암호화된 제2공통인증키 생성 전에 미리 상기 사용자 단말기(100)로 전송된 상태인 경우에는 재전송하거나 별도로 전송할 필요없이 미리 전송된 상기 제1서버인증정보를 이용하여 인증서버 인증을 수행하게 된다.
본 발명의 제1실시예에서는, 상기 제1서버인증정보 및 상기 제1사용자 인증정보를 상기 사용자 단말기(100)에서 비교하게 되면 일치여부를 통해 인증기관 또는 인증서버(200)의 진위여부를 판별하는 인증기관 인증 또는 인증서버 인증이 가능하고, 상기 제1서버인증정보 및 상기 제1사용자 인증정보를 상기 인증서버(200)에서 비교하게 되면 일치여부를 통해 사용자 인증이 가능하게 된다.
여기서 상기 인증서버의 인증절차(S206,S120)와 상기 사용자 인증 절차(S118,S208)는 동시에 수행되는 것도 가능하고, 상기 인증서버의 인증절차가 먼저 수행된 이후에 인증이 확인되면 상기 사용자 인증 절차가 수행되는 것도 가능하고, 인증서버의 인증절차 또는 사용자 인증절차 중 어느 하나가 선택되어 수행되는 것도 가능하다.
상술한 본 발명의 제1실시예의 경우에 상기 사용자 단말기(100)와 상기 인증서버(200) 간에 전송되는 모든 데이터는 공개키 방식의 암호화가 수행되어 전송될 수 있다.
상술한 본 발명의 제1실시예의 경우에, 인증서버 인증이 아닌 사용자 인증을 수행하는 경우에 있어서, 사용자 단말기(100)를 여러 개 사용하거나 모바일 단말기, 데스크 탑 PC, 태블릿 등을 동시에 사용하여 사용자 인증을 수행하는 경우, 해킹시도, 이상현상이나 오류 등 기타 원인에 의해 상기 제1사용자 인증정보가 상기 인증서버(200)로 일정시간 안에 복수개가 전송되는 경우가 있을 수 있다.
이 경우에는 확실한 인증을 위하여 상기 인증서버(200)에서는 상기 제1사용자 인증정보가 전송된 경우라도, 상기 사용자 단말기(100)로 상기 제1사용자 인증정보의 재전송을 요청하되 자동전송이 아닌 수동입력을 통한 재전송을 요청하는 것이 가능하다. 이때 제1사용자 인증정보는 사용자가 수동입력 가능하도록 상기 사용자 단말기(100)의 화면에 표시되어야 할 것이다. 여기서 수동입력은 2번 연속으로 수행하도록 요청하는 것이 가능하다. 수동입력을 통해 제1사용자 인증정보가 전송되면, 상기 인증서버(200)에서 수동입력을 통해 전송된 제1사용자 인증정보와 상기 제1서버인증정보를 비교하여 사용자 인증을 수행하는 것이 가능하다.
한편, 인증과정에서 해킹 등의 공격 징후가 있는 경우에, 예를 들면, 로딩시간이 평상시보다 현저히 느려진 경우, 데스크탑 PC에서 로그인하는 경우에, 데스크탑 PC의 화면과 모바일 단말기 화면에 나타나는 사전 약속된 값이 다른 경우 등을 포함하여 통상의 기술자에게 잘 알려진 해킹 등의 공격 징후가 감지되는 경우에, 상기 사용자 단말기(100)에서는 인증절차를 강제중단시킬 수 있는 강제중단신호를 자동 또는 수동으로 상기 인증서버(200)에 전송하는 것이 가능하다. 상기 강제중단신호가 상기 인증서버(200)로 전송되면, 상기 사용자 단말기(100) 및 상기 인증서버(200)는 상술한 인증절차를 중단하고 새로운 인증절차가 시작될 때까지 대기하게 된다.
다른 예로, 상기 공격징후가 감지되는 경우에 상기 인증서버(200)에서 자체 판단하여 강제중단여부를 묻는 신호를 상기 사용자 단말기(100)에 전송하여 사용자 단말기(100)의 응답신호에 대응하여 강제중단여부를 결정하는 것도 가능하다.
그리고, 상기 사용자 단말기(100)와 상기 인증서버(200) 간에 전송되는 인증정보 및 인증키 등을 포함하는 모든 전송대상 데이터에는 데이터의 무결성 검증을 위한 검증키가 추가될 수 있다. 즉 전송대상 데이터에 상기 검증키가 추가되어 전송되는 것이 가능하다. 상기 검증키는 전송대상 데이터 각각에 대하여 OTP(One Time Password) 연산을 수행한 제1 OTP 연산값을 포함할 수 있다.
그리고, 상기 사용자 단말기(100) 또는 상기 인증서버(200)에서 상기 데이터의 수신시에는, 수신된 데이터에 대한 OTP(One Time Password) 연산을 수행한 제2 OTP 연산값과 상기 검증키를 비교하여 무결성 검증을 수행하는 것이 가능하다.
예를 들어, 상기 사용자 단말기(100)에서 상기 제1사용자 인증정보를 상기 인증서버(200)에 전송하는 경우에, 상기 제1사용자 인증정보에 상기 제1사용자 인증정보를 OTP연산한 제1OTP연산값이 검증키로 추가되어 전송되는 것이 가능하다. 이 경우 상기 인증서버(200)에서는 상기 제1사용자 인증정보를 수신한 경우, 상기 검증키를 분리한 제1사용자 인증정보에 대한 OTP(One Time Password) 연산을 수행한 제2OTP 연산값과 상기 검증키를 비교하여 무결성 검증을 수행함에 의해 상기 제1사용자 인증정보의 무결성 검증이 가능하게 된다.
상술한 본 발명의 제1실시예의 경우에서 상기 제1사용자 인증정보와 상기 제1서버인증정보를 상기 사용자 단말기(100)에서 비교하여 인증하는 인증서버 인증을 수행한 경우에는, 추가적인 사용자 인증절차가 필요하게 된다. 그리고, 상기 제1사용자 인증정보와 상기 제1서버인증정보를 상기 인증서버(200)에서 비교하여 인증하는 사용자 인증을 수행한 경우에도 추가적인 신뢰성 확보를 위해 추가적인 사용자 인증이 필요한 경우가 있다. 이를 위해 후술하는 본 발명의 제2실시예가 필요하게 된다.
이하 본 발명의 제2실시예를 설명한다.
도 6은 본 발명의 제2실시예에 따른 사용자 인증방법을 나타낸 순서도이고,
도 7은 도 6에서 제2사용자인증정보를 생성하는 과정을 나타낸 블록도이고, 도 8은 제2서버 인증정보의 생성과정을 나타낸 블록도이다.
도 6 내지 도 8에 도시된 바와 같이, 본 발명의 제2실시예에 따른 사용자 인증방법은, 본 발명의 제1실시예를 통해 설명된 인증절차를 모두 포함하며, 상기 제1사용자 인증정보와 상기 제1서버인증정보를 통해 사용자 인증(S208) 또는 인증서버 인증(S120)이 이루어진 상태에서 추가되는 과정을 포함한다. 따라서, 상기 제1사용자 인증정보와 상기 제1서버인증정보를 통해 사용자 인증(S208) 또는 인증서버 인증(S120)이 이루어지는 과정은 본 발명의 제1실시예를 통해 설명되었으므로 자세한 설명을 생략한다.
상기 제1서버인증정보 및 상기 제1사용자 인증정보가 생성되고 상기 사용자 인증(S208) 또는 인증서버 인증(S120)이 수행되기 전 단계 또는 상기 제1서버인증정보 및 상기 제1사용자 인증정보를 통한 상기 사용자 인증(S208) 또는 인증서버 인증(S120)이 수행된 이후에, 상기 사용자 단말기(100)에서는 상기 제1사용자 인증정보 또는 상기 제1서버인증정보와 상기 제2공통인증키를 이용하여 제2사용자 인증정보를 생성하게 된다(S122).
상기 제2사용자 인증정보의 생성을 위한 구성요소로는 제1사용자 인증정보 및 상기 제2공통인증키가 사용되는 것이 일반적이나, 상기 인증서버(200)에서 상기 제1서버인증정보가 전송된 경우에는, 상기 제1서버인증정보가 이용될 수도 있다. 이는 상기 제1서버인증정보와 상기 제1사용자 인증정보가 서로 동일한 값이라는 전제에서 가능한 것이다. 이하에서는 제1사용자 인증정보를 이용하여 상기 제2사용자 인증정보를 생성하는 경우를 설명한다.
또한 상기 제2공통인증키는 상기 암호화된 제2공통인증키를 복호화키를 이용하여 복호화한 제2공통인증키를 의미하거나, 암호화되지 않은 상태의 제2공통인증키를 말한다. 이하에서 제2공통인증키에 별다른 수식어가 없는 경우에, 상기 제2공통인증키는 복호화된 제2공통인증키를 의미하거나, 암호화되지 않은 상태의 제2공통인증키를 의미하게 된다
상기 제2사용자 인증정보는 도 7에 도시된 바와 같이, 2가지 방식에 의해 생성 가능하다.
한가지 방법은 도 7의 (a)에 도시된 바와 같이, 상기 제2공통인증키와 상기 제1사용자 인증정보를 구성요소로 단방향성 함수(110)를 통한 변환을 통해 제3사용자인증키를 생성하고, 상기 제3사용자인증키에 대한 OTP(One Time Password) 연산을 하여 시간값으로 동기화된 상기 제2사용자인증정보를 생성할 수 있다.
여기서 상기 제3사용자인증키는 상기 제2공통인증키를 연산키로 하여 상기 제1사용자 인증정보에 상기 단방향성 함수(110)를 통한 변환을 수행하여 생성될 수 있다. 또한 상기 제2사용자 인증정보는 OTP발생기(130)를 통한 OTP연산을 통해 생성될 수 있다.
다른 방법은 도 7의 (b)에 도시된 바와 같이, 상기 제2공통인증키와 상기 제1사용자 인증정보를 구성요소로 단방향성 함수(110)를 통한 변환을 통해 제3사용자인증키를 생성하고, 상기 제3사용자인증키로부터 시간정보를 이용하여 일정기준에 의해 추출되는 제4사용자인증키를 생성한다.
상기 제4사용자인증키는 별도의 시간추출값 발생기(120)를 통하여 추출되어 생성되며, 상기 제4사용자인증키는 제3사용자인증키로부터 생성된 임의의 시간 동기값을 의미할 수 있다. 상기 시간추출값 발생기(120)는 일반적인 OTP(One Time Password) 발생기와 동작원리가 같으며, 일반적인 OTP(One Time Password) 발생기는 출력값이 숫자로 표시되나 상기 시간추출값 발생기(120)는 출력값이 숫자나 문자 기타 다양한 기호 등으로 표시되는 점이 다르다. 이에 따라 상기 시간추출값 발생기(120)는 일반적인 OTP(One Time Password) 연산을 수행하는 OTP 발생기를 포함하는 개념으로 이해되어야 한다.
이후 상기 사용자 단말기(100)에서 상기 제4사용자인증키에 대하여 OTP발생기(130)를 통한 OTP(One Time Password) 연산을 수행하여 시간값에 동기화된 상기 제2사용자인증정보를 생성하는 것이 가능하다.
상기 제2사용자 인증정보가 생성되면, 상기 사용자 단말기(100)에서는 상기 제2사용자 인증정보와 상기 암호화된 제1공통인증키의 복호화를 위한 복호화키를 상기 인증서버(200)에 제공한다(S124).
상기 인증서버(200)에서는 상기 사용자 단말기(100)에서 제공된 상기 복호화키를 이용하여 상기 암호화된 제1공통인증키를 제1공통인증키로 복호화한다. 이하에서는 별도의 수식어가 없는 제1공통인증키의 용어는 복호화된 제1공통인증키를 의미할 수 있다.
그리고 상기 제1공통인증키와 상기 제1서버인증정보를 이용하여 제2서버인증정보를 생성하게 된다(S210). 여기서 상기 사용자 단말기(100)에서 상기 제1사용자 인증정보가 전송된 경우에는 상기 제1서버인증정보 대신에 상기 제1사용자 인증정보가 사용될 수 있음은, 상기 제2사용자 인증정보의 생성시와 같다.
상기 제2서버인증정보는 도 8에 도시된 바와 같이, 2가지 방식에 의해 생성가능하다.
한가지 방법은 도 8의 (a)에 도시된 바와 같이, 상기 인증서버(200)에서 상기 제1서버인증정보와 상기 제1공통인증키를 구성요소로 단방향성 함수(210)를 통한 변환을 통해 제3서버인증키를 생성하고, 상기 제3서버인증키에 대한 OTP(One Time Password) 연산을 하여 시간값으로 동기화된 제2서버인증정보를 생성할 수 있다. 여기서 상기 제3서버인증키는 상기 제1공통인증키를 연산키로 하여 상기 제1서버인증정보에 대하여 상기 단방향성 함수(210)를 통한 변환을 수행하여 생성될 수 있다. 또한 상기 제2서버인증정보는 상기 제3서버인증키에 대하여 OTP발생기(230)를 통한 OTP연산을 통해 생성될 수 있다.
다른 방법은 도 8의 (b)에 도시된 바와 같이, 상기 인증서버(200)에서 상기 제1서버인증정보와 상기 제1공통인증키를 구성요소로 단방향성 함수(210)를 통한 변환을 통해 제3서버인증키를 생성하고, 상기 제3서버인증키로부터 시간정보를 이용하여 일정기준에 의해 추출되는 제4서버인증키를 생성한다.
상기 제4서버인증키는 별도의 시간추출값 발생기(220)를 통하여 추출되어 생성되며, 상기 제4서버인증키는 제3서버인증키로부터 생성된 임의의 시간 동기값을 의미할 수 있다. 상기 시간추출값 발생기(220)는 일반적인 OTP(One Time Password) 발생기와 동작원리가 같으며, 일반적인 OTP(One Time Password) 발생기는 출력값이 숫자로 표시되나 상기 시간추출값 발생기(220)는 출력값이 숫자나 문자 기타 다양한 기호 등으로 표시되는 점이 다르다. 이에 따라 상기 시간추출값 발생기(220)는 일반적인 OTP(One Time Password) 연산을 수행하는 OTP 발생기를 포함하는 개념으로 이해되어야 한다.
이후 상기 인증서버(200)에서 상기 제4서버인증키에 대한 OTP(One Time Password) 발생기(230)을 통한 OTP 연산을 수행하여 상기 제2서버인증정보를 생성하는 것이 가능하다.
여기서 상기 제2사용자 인증정보와 상기 제2서버인증정보의 생성방식과 동일성이 유지되어야 한다. 상기 제2서버인증정보가 도 8의 (a)를 통해 설명된 방식으로 생성되면 상기 제2사용자 인증정보 또한 도 7의 (a)를 통해 설명한 방식으로 생성되어야 할 것이다. 또한, 단방향성 함수나 OTP 연산 등도 서로 대응되도록 적용되어야 할 것이다. 그리고 상기 제2서버인증정보가 도 8의 (b)를 통해 설명된 방식으로 생성되면 상기 제2사용자 인증정보 또한 도 7의 (b)를 통해 설명한 방식으로 생성되어야 할 것이다. 또한, 단방향성 함수나 OTP 연산, 시간값 추출 등도 대응하여 동일한 방식이 적용되어야 할것이다.
이후 상기 인증서버(200)에서는 인증정보의 일치여부, 즉 상기 제2사용자 인증정보와 상기 제2서버인증정보의 일치여부에 따라 사용자 인증을 수행하게 된다(S212). 상기 제2사용자 인증정보는 수동으로 사용자에 의해 입력되어 전송되는 것도 가능하고, 자동으로 전송되도록 하는 것도 가능하고, 사용자의 전송지시에 의해 자동으로 전송되도록 하는 것도 가능하다.
여기에서, 상기 사용자 단말기(100)는 상기 인증서버(200)와 연결된 하나 또는 복수의 사용자 단말기가 사용되는 것이 가능하다. 예를 들어 제1사용자 단말기(100)로 암호화된 제1공통인증키 등의 등록절차를 진행하고 제2사용자 단말기(100)로 인증절차를 진행하는 것이 가능하고, 이의 반대의 경우도 가능하다. 또한 인증절차의 경우에도, 제1사용자 인증정보나 제2사용자 인증정보는 상기 제1사용자 단말기(100)를 통해 생성하고, 상기 제1사용자 인증정보나 제2사용자 인증정보의 입력이나 전송은 상기 제2사용자 단말기(100)를 통해 수행되는 것이 가능하다. 이외에도 다양한 절차에서 복수의 사용자 단말기(100)가 이용되는 것이 가능하다.
상술한 본 발명의 제2실시예의 경우에 상기 사용자 단말기(100)와 상기 인증서버(200) 간에 전송되는 모든 데이터는 공개키 방식의 암호화가 수행되어 전송될 수 있다.
상술한 본 발명의 제2실시예에서 사용자 인증을 수행하는 경우에 있어서, 사용자 단말기(100)를 여러 개 사용하거나 모바일 단말기, 데스크 탑 PC, 태블릿 등을 동시에 사용하여 사용자 인증을 수행하는 경우, 이상현상이나 오류 등 기타 원인에 의해 상기 제1사용자 인증정보 또는 제1서버인증정보가 일정시간 안에 복수개가 전송되는 경우가 있을 수 있다.
특히, 제1서버인증정보가 상기 사용자 단말기(100)로 전송되도록 하여 인증서버 인증을 수행하고 제2사용자 인증정보가 상기 인증서버(200)로 전송되도록 하여 사용자 인증을 수행하는 경우에, 인증서버 인증을 위해 상기 인증서버(200)에서 서로 다른 사용자 단말기(100) 또는 동일한 사용자 단말기(100)로 일정시간(예를 들면, 30초, 60초 등)안에 상기 제1서버인증정보가 복수개로 전송되는 경우가 있을 수 있다.
이 경우 확실한 인증을 위하여 상기 인증서버(200)에서는 상기 사용자 단말기(100)에서 상기 제2사용자 인증정보가 전송된 이후라도, 상기 사용자 단말기(100)로 상기 제2사용자 인증정보의 재전송을 요청하되 자동전송이 아닌 수동입력을 통한 재전송을 요청하는 것이 가능하다. 이때 상기 제2사용자 인증정보는 상기 사용자 단말기(100)의 화면에 표시되어야 할 것이다. 상기 제2사용자 인증정보가 상기 사용자 단말기(100)에서 수동입력을 통해 전송되면, 상기 인증서버(200)에서는 수동입력된 제2사용자 인증정보와 상기 제2서버인증정보를 비교하여 사용자 인증을 추가적으로 수행하는 것이 가능하다.
인증의 보안성을 높이기 위해, 상기 제2사용자 인증정보의 재전송을 통한 추가인증 이후 또는 상기 제2사용자 인증정보의 재전송을 통한 추가인증에 대체하여, 제3사용자 인증정보 및 제3서버인증정보의 비교를 통한 추가인증도 가능하다. 이는 도 9를 통해 설명한다.
도 9는 제3서버인증정보 및 제3사용자 인증정보의 생성과정을 나타낸 블록도이다.
상기 제2사용자 인증정보의 재전송을 통해 추가인증 이후 또는 상기 제2사용자 인증정보의 재전송을 통한 추가인증에 대체하여, 상기 인증서버(200)에서는 상기 제3사용자 인증정보를 상기 사용자 단말기(100)에 요청하게 된다.
이 경우, 상기 사용자 단말기(100)에서는 도 9의 (a)에 도시된 바와 같이, 상기 제2사용자 인증정보 생성을 위한 구성요소인 제4사용자 인증키와 상기 인증기관의 고유키를 구성요소로 단방향성 함수(110)를 이용한 변환을 수행하여 제5사용자 인증키를 생성하고, 상기 제5사용자 인증키에 대한 OTP(One Time Password) 연산을 수행하여 상기 제3사용자 인증정보를 생성할 수 있다.
이때 상기 인증서버(200)에서는 상기 제3사용자 인증정보에 대응되는 제3서버인증정보를 생성하게 된다.
상기 인증서버(200)에서는 도 9의 (b)에 도시된 바와 같이, 상기 제2서버 인증정보 생성을 위한 구성요소인 제4서버 인증키와 상기 인증기관의 고유키를 구성요소로 단방향성 함수(210)를 이용한 변환을 수행하여 제5서버 인증키를 생성하고, 상기 제5서버 인증키에 대한 OTP(One Time Password) 연산을 수행하여 상기 제3서버 인증정보를 생성할 수 있다.
이후 상기 제3사용자 인증정보가 상기 인증서버(200)로 전송되면, 상기 인증서버(200)에는 상기 제3사용자 인증정보와 상기 제3서버인증정보의 일치여부를 판단하여 추가적인 사용자 인증을 수행하게 된다.
그리고, 인증과정에서 해킹 등의 공격 징후가 있는 경우에, 예를 들면, 로딩시간이 평상시보다 현저히 느려진 경우, 데스크탑 PC에서 로그인 하는 경우에, 데스크탑 PC의 화면과 모바일 단말기 화면에 나타나는 사전 약속된 값이 다른 경우 등을 포함하여 통상의 기술자에게 잘 알려진 해킹 등의 공격 징후가 감지되는 경우에, 상기 사용자 단말기(100)에서는 인증절차를 강제중단시킬 수 있는 강제중단신호를 자동 또는 수동으로 상기 인증서버(200)에 전송하는 것이 가능하다. 상기 강제중단신호가 상기 인증서버(200)로 전송되면, 상기 사용자 단말기(100) 및 상기 인증서버(200)는 상술한 인증절차를 중단하고 새로운 인증절차가 시작될 때까지 대기하게 된다.
다른 예로, 상기 공격징후가 감지되는 경우에 상기 인증서버(200)에서 자체 판단하여 강제중단여부를 묻는 신호를 상기 사용자 단말기(100)에 전송하여 사용자 단말기(100)의 응답신호에 대응하여 강제중단여부를 결정하는 것도 가능하다.
한편, 상기 사용자 단말기(100)와 상기 인증서버(200) 간에 전송되는 인증정보 및 인증키 등을 포함하는 모든 전송대상 데이터에는 데이터의 무결성 검증을 위한 검증키가 추가될 수 있다. 즉 전송대상 데이터에 상기 검증키가 추가되어 전송되는 것이 가능하다. 상기 검증키는 전송대상 데이터 각각에 대하여 OTP(One Time Password) 연산을 수행한 제1 OTP 연산값을 포함할 수 있다.
그리고, 상기 사용자 단말기(100) 또는 상기 인증서버(200)에서 상기 데이터의 수신시에는, 수신된 데이터에 대한 OTP(One Time Password) 연산을 수행한 제2 OTP 연산값과 상기 검증키를 비교하여 무결성 검증을 수행하는 것이 가능하다.
예를 들어, 상기 사용자 단말기(100)에서 상기 제1사용자 인증정보나 상기 제2사용자 인증정보를 상기 인증서버(200)에 전송하는 경우에, 상기 제1사용자 인증정보나 상기 제2사용자 인증정보에 상기 제1사용자 인증정보나 상기 제2사용자 인증정보를 OTP연산한 제1OTP연산값이 검증키로 추가되어 전송되는 것이 가능하다. 이 경우 상기 인증서버(200)에서는 상기 제1사용자 인증정보나 상기 제2사용자 인증정보를 수신한 경우, 상기 검증키를 분리한 제1사용자 인증정보나 상기 제2사용자 인증정보에 대한 OTP(One Time Password) 연산을 수행한 제2OTP 연산값과 상기 검증키를 비교하여 무결성 검증을 수행함에 의해 상기 제1사용자 인증정보나 상기 제2사용자 인증정보의 무결성 검증이 가능하게 된다.
본 발명의 제2실시예의 경우는 보안성 강화되고 무결성이 확보되는 장점을 가진다. 여기서 구성요소를 더 추가하여 인증절차 상의 보안성을 강화하는 것이 가능하다. 이는 본 발명의 제3실시예를 통해 설명한다.
도 10은 본 발명의 제3실시예에 따른 사용자 인증방법에서 제2사용자인증정보를 생성하는 과정을 나타낸 블록도이고, 도 11은 본 발명의 제3실시예에 따른 사용자 인증방법에서 제2서버 인증정보의 생성과정을 나타낸 블록도이다.
도 10 및 도 11에 도시된 바와 같이, 본 발명의 제3실시예는 본 발명의 제2실시예에서 제2사용자 인증정보 및 상기 제2서버인증정보 생성시에 갭타임(gap time)값 또는 갭타임키가 구성요소로 추가되는 점을 제외하고는 본 발명의 제2실시예와 동일한 구성을 가진다.
상기 갭타임값은 본 발명의 제1실시예 및 제2실시예를 통해 설명한 절차 중, 사용자가 인증을 위한 개인비밀번호를 입력하는 절차(S110)에서 구해질 수 있다. 구체적으로, 상기 사용자가 인증을 위한 개인비밀번호를 입력하게 되면, 상기 사용자 단말기(100)에서는 상기 사용자가 개인비밀번호를 입력하는데 소요되는 시간을 1/n(n은 임의의 양의 실수)초(second) 단위로 측정할 수 있으며, 이때 측정한 시간값을 갭타임 값으로 정의할 수 있다.
여기서 1/n 초는 상기 사용자 단말기(100)의 하드웨어적 또는 소프트웨어적으로 나눌 수 있는 범위의 시간단위를 의미할 수 있다. 예를 들어, 개인비밀번호를 첫 번째 자리값부터 마지막 자리값까지 입력하는데, 초 단위로는 10초가 걸린다고 표현될 수 있지만, 1/1000 초 단위로 측정하는 경우에는 10436 등으로 측정값이 얻어질 수 있다. 또는 1/1000000초 단위, 또는 1/1000000000 초 단위로 하여 측정하는 경우는 수많은 숫자가 포함된 측정값이 얻어질 것이다.
여기서 상기 개인비밀번호 입력을 위한 입력창이 화면에 표시된 시점부터 상기 개인비밀번호의 첫 번째 자리값이 입력되는 시점까지의 시간구간을 제1시간구간으로 정의하고, 상기 개인비밀번호의 마지막 자리값이 입력되는 시점부터 상기 개인비밀번호의 입력완료를 알리는 입력키(또는 엔터키)의 신호가 입력되는 시점까지의 시간구간을 제2시간구간으로 정의할 때, 상기 갭타임값은 상기 제1시간구간 중 어느 하나의 시점부터 상기 제2시간구간 중 어느 하나의 시점까지의 시간측정값일 수 있다.
상기 갭타임키는 상기 갭타임값에서 일정기준에 의해 추출된 숫자값을 의미할 수 있다.
상기 사용자 단말기(100)에서는 상기 갭타임값이 측정되는 경우 상기 갭타임값 및/또는 상기 갭타임키를 상기 인증서버(200)에도 전송하게 된다. 상기 인증서버(200)에서는 상기 사용자 단말기(100)로부터 상기 갭타임값 또는/및 상기 갭타임키이 전송되면 이를 상기 사용자 정보 등과 매칭하여 저장 및 등록하게 된다.
본 발명의 제3실시예에 있어서, 상기 제2사용자 인증정보는 도 10에 도시된 바와 같이, 2가지 방식에 의해 생성 가능하다.
한가지 방법은 도 10의 (a)에 도시된 바와 같이, 상기 제2공통인증키와 상기 제1사용자 인증정보와 갭타임값 또는 갭타임키를 구성요소로 단방향성 함수(110)를 통한 변환을 통해 제3사용자인증키를 생성하고, 상기 제3사용자인증키에 대한 OTP(One Time Password) 연산을 하여 시간값으로 동기화된 상기 제2사용자인증정보를 생성할 수 있다.
여기서 상기 제3사용자인증키는 상기 제2공통인증키를 연산키로 하여 상기 갭타임값 또는 갭타임키에 상기 제1사용자 인증정보를 조합한 값을 상기 단방향성 함수(110)를 통한 변환을 수행하여 생성될 수 있다. 또한 상기 제2사용자 인증정보는 상기 제3사용자 인증키에 대하여 OTP발생기(130)를 통한 OTP연산을 통해 생성될 수 있다.
다른 방법은 도 10의 (b)에 도시된 바와 같이, 상기 제2공통인증키와 상기 제1사용자 인증정보 및 상기 갭타임값 또는 갭타임키를 구성요소로 단방향성 함수(110)를 통한 변환을 통해 제3사용자인증키를 생성하고, 상기 제3사용자인증키로부터 시간정보를 이용하여 일정기준에 의해 추출되는 제4사용자인증키를 생성할 수 있다.
상기 제4사용자 인증키는 별도의 시간추출값 발생기(120)를 통하여 추출되어 생성되며, 상기 제4사용자 인증키는 제3사용자인증키로부터 생성된 임의의 시간 동기값을 의미할 수 있다. 상기 시간추출값 발생기(120)는 일반적인 OTP(One Time Password) 발생기와 동작원리가 같으며, 일반적인 OTP(One Time Password) 발생기는 출력값이 숫자로 표시되나 상기 시간추출값 발생기(120)는 출력값이 숫자나 문자 기타 다양한 기호 등으로 표시되는 점이 다르다. 이에 따라 상기 시간추출값 발생기(120)는 일반적인 OTP(One Time Password) 연산을 수행하는 OTP 발생기를 포함하는 개념으로 이해되어야 한다.
이후 상기 사용자 단말기(100)에서 상기 제4사용자인증키에 대하여 OTP발생기(130)를 통한 OTP(One Time Password) 연산을 수행하여 시간값에 동기화된 상기 제2사용자인증정보를 생성하는 것이 가능하다.
상기 제2서버인증정보는 도 11에 도시된 바와 같이, 2가지 방식에 의해 생성가능하다.
한가지 방법은 도 11의 (a)에 도시된 바와 같이, 상기 인증서버(200)에서 상기 갭타임값 또는 갭타임키와 상기 제1서버인증정보와 상기 제1공통인증키를 구성요소로 단방향성 함수(210)를 통한 변환을 통해 제3서버인증키를 생성하고, 상기 제3서버인증키에 대한 OTP(One Time Password) 연산을 하여 시간값으로 동기화된 제2서버인증정보를 생성할 수 있다. 여기서 상기 제3서버인증키는 상기 제1공통인증키를 연산키로 하여 상기 갭타임값 또는 갭타임키에 상기 제1서버인증정보를 조합한 값에 대하여 상기 단방향성 함수(210)를 통한 변환을 수행하여 생성될 수 있다. 또한 상기 제2서버인증정보는 상기 제3서버인증키에 대하여 OTP발생기(230)를 통한 OTP연산을 통해 생성될 수 있다.
다른 방법은 도 11의 (b)에 도시된 바와 같이, 상기 인증서버(200)에서 상기 갭타임값 또는 갭타임키와 상기 제1서버인증정보와 상기 제1공통인증키를 구성요소로 단방향성 함수(210)를 통한 변환을 통해 제3서버인증키를 생성하고, 상기 제3서버인증키로부터 시간정보를 이용하여 일정기준에 의해 추출되는 제4서버인증키를 생성할 수 있다.
상기 제4서버인증키는 별도의 시간추출값 발생기(220)를 통하여 추출되어 생성되며, 상기 제4서버인증키는 제3서버인증키로부터 생성된 임의의 시간 동기값을 의미할 수 있다. 상기 시간추출값 발생기(220)는 일반적인 OTP(One Time Password) 발생기와 동작원리가 같으며, 일반적인 OTP(One Time Password) 발생기는 출력값이 숫자로 표시되나 상기 시간추출값 발생기(220)는 출력값이 숫자나 문자 기타 다양한 기호 등으로 표시되는 점이 다르다. 이에 따라 상기 시간추출값 발생기(220)는 일반적인 OTP(One Time Password) 연산을 수행하는 OTP 발생기를 포함하는 개념으로 이해되어야 한다.
이후 상기 인증서버(200)에서 상기 제4서버인증키에 대한 OTP(One Time Password) 발생기(230)을 통한 OTP 연산을 수행하여 상기 제2서버인증정보를 생성하는 것이 가능하다.
여기서 상기 제2사용자 인증정보와 상기 제2서버인증정보의 생성방식과 동일성이 유지되어야 한다. 상기 제2서버인증정보가 도 11의 (a)를 통해 설명된 방식으로 생성되면 상기 제2사용자 인증정보 또한 도 10의 (a)를 통해 설명한 방식으로 생성되어야 할 것이다. 또한, 단방향성 함수나 OTP 연산 등도 서로 대응되도록 적용되어야 할 것이다. 그리고 상기 제2서버인증정보가 도 11의 (b)를 통해 설명된 방식으로 생성되면 상기 제2사용자 인증정보 또한 도 10의 (b)를 통해 설명한 방식으로 생성되어야 할 것이다. 또한, 단방향성 함수나 OTP 연산, 시간값 추출 등도 대응하여 동일한 방식이 적용되어야 할 것이다.
본 발명에 따른 제1실시예 내지 제3실시예의 경우는 사용자 단말기(100)를 통해 입력된 개인비밀번호가 단방향성 함수를 이용한 제1차 변환 및 암호화를 이용한 제2차변환이 수행되어 상기 인증서버(200)로 전송되므로, 보안성이 향상되는 장점이 있다.
도 12는 본 발명의 제4실시예에 따른 사용자 인증방법을 나타낸 순서도이고, 도 13은 도 12에서 제1공통인증키 및 암호화된 제1공통인증키를 생성하는 과정을 나타낸 블록도이다.
도 12 및 도 13에 도시된 바와 같이, 본 발명의 제4실시예에 따른 사용자 인증방법은 사용자가 사용자 단말기(100)가 사용자 등록을 위해 상기 전용앱을 다운로드하여 설치하는 것으로 시작될 수 있다. 사용자 등록절차는 상기 전용앱의 설치과정에서 수행되는 것도 가능하고, 상기 전용앱의 설치 이후에 별도의 사용자 등록과정을 통해 수행되는 것도 가능하다.
우선 사용자에 의해 사용자 등록을 위한 절차가 시작되어, 사용자가 사용자 정보와 개인 비밀번호를 상기 사용자 단말기(100)를 통해 입력하면(S102), 상기 사용자 단말기(100)에서는 제1공통인증키와 상기 제1공통인증키의 암호화를 위한 제1암호화키를 생성하게 된다(S103). 상기 제1공통인증키의 암호화를 위한 제1암호화키는 일정기준에 의해 랜덤으로 생성할 수도 있고, 별도로 선택된 구성요소를 통해 생성되는 것도 가능하다.
본 발명의 제4실시예의 경우는 상기 제1암호화키는 상기 사용자에 의해 입력된 개인비밀번호를 구성요소로 하여 생성하는 경우를 설명하기로 한다.
상기 제1암호화키는 상기 사용자가 입력한 개인비밀번호를 구성요소로 단방향성 함수를 이용한 변환을 수행함에 의해 생성될 수 있다. 상기 단방향성 함수의 연산키는 일정기준에 의해 생성된 값이 이용될 수 있다.
상기 단방향성 함수는 임의의 길이의 데이터를 고정된 길이의 데이터로 매핑하여 변환시키는 함수로, 역변환 즉 원래의 데이터로 복원하는 것이 불가능한 것으로 알려진 함수를 모두 의미할 수 있다. 상기 단방향성 함수로는 MD5, SHA, SHA2, scrypt 등의 암호학적 해쉬(hash)함수와, CRC32 및 CHECKSUM 등의 비암호학적 해쉬함수를 포함하여 통상의 기술자에게 알려진 모든 단방향성 함수가 포함될 수 있으며, 상기 제1암호화키는 이들 단방향성 함수 중에서 선택된 어느 하나의 단방향성 함수를 이용하여 생성될 수 있다.
상기 제1암호화키의 생성을 위한 구성요소로는 상기 개인비밀번호 이외에 상기 사용자 단말기(100)의 기계적 고유키가 추가될 수 있으며, 여기에 상기 전용앱의 고유키(예를 들면, Device Token, Bundle ID, Package Name, App ID 등)가 구성요소로 더 포함될 수도 있다. 또한 다른 구성요소가 추가되는 것도 가능하다.
여기서 상기 사용자 단말기(100)의 기계적 고유키는 예를 들면, 시리얼 번호나 유심번호 등을 포함할 수 있으며, 이외에 상기 사용자 단말기를 구분하기 위해 부여된 각종 고유번호, 전화번호 등을 포함할 수 있다.
상기 제1암호화키의 생성의 전후 또는 생성과 동시에, 상기 사용자 단말기(100)에서는 도 13에 도시된 바와 같이, 상기 사용자 단말기(100)의 기계적 고유키를 이용하여 단방향성 함수(110)를 이용한 제1차변환을 수행하여 제1공통인증키를 생성한다(S103). 상기 단방향성 함수(110)의 연산키는 일정기준에 의해 생성된 값이 이용될 수 있다.
상기 제1공통인증키는, 상기 사용자 단말기(100)의 기계적 고유키를 단독구성요소로 하여 상기 단방향성 함수(110)를 이용한 제1차변환을 통해 생성될 수 있다. 상기 제1공통인증키는 다른 구성요소가 추가되어 생성되는 것이 가능하다. 예를 들면, 상기 전용앱의 고유키(예를 들면, Device Token, Bundle ID, Package Name, App ID 등)가 구성요소로 더 포함될 수도 있다. 또한 고유성이 인정되는 또 다른 구성요소가 추가되는 것도 가능하다.
본 발명의 제1 내지 제3실시예에 경우에는 사용자가 입력한 상기 개인비밀번호가 상기 제1공통인증키의 생성을 위한 구성요소이나, 본 발명의 제4실시예의 경우에는 상기 개인비밀번호는 상기 제1암호화키 생성을 위한 구성요소이며, 상기 제1공통인증키의 구성요소로 사용되지 않는다.
이는 개인비밀번호의 도용이나 유출을 원천적으로 차단하면서 공개된 네트워크 상에서 보안성을 강화하기 위함이다.
이후 상기 제1공통인증키는 암호화유닛(120)을 통해 상기 제1암호화키를 통해 암호화되는 제2차 변환을 통해 암호화된 제1공통인증키로 생성되게 된다(S106).
여기서 암호화는 암호화를 위한 암호화키와 복호화를 위한 복호화키가 동일한 대칭키 방식이 사용될 수 있으며, Twofish, Serpent, AES, Blowfish, CAST5, RC4, 3DES, IDEA, RC6, DES 등 중에서 선택된 암호화 방식이 이용될 수 있다. 이외에도 통상의 기술자에게 잘 알려진 암호화 방식이 적용되는 것이 가능하다.
상기 사용자 단말기(100)는 상기 암호화된 제1공통인증키를 상기 사용자 정보와 함께 상기 인증서버(200)에 전송하게 된다(S108).
상기 인증서버(200)는 상기 사용자 단말기(100)에서 전송된 상기 암호화된 제1공통인증키를 상기 사용자 정보에 매칭하여 상기 사용자 정보와 함께 등록 및 저장하게 된다(S202). 이에 따라 사용자 등록절차가 수행되게 된다. 상기 사용자 등록절차가 수행되면 상기 사용자 단말기(100)에서는 상기 암호화된 제1공통인증키 및 상기 제1암호화키를 삭제할 수 있다. 경우에 따라 상기 암호화된 제1공통인증키 및 상기 제1암호화키는 상기 사용자 단말기(100)에 의해 설정된 전용저장공간 또는 상기 전용앱에 의해 상기 사용자 단말기(100) 내에 설정된 전용저장공간에 저장될 수 있다.
종래기술의 경우 사용자 등록이 수행되면, 통상적으로 인증서버에서 개인비밀번호를 저장하고 있으나, 본 발명의 제4실시예의 경우는 상기 인증서버(200)나 사용자 단말기(100)에서 비밀번호를 저장하고 있지 않으며, 상기 인증서버(200)에서는 단지 상기 암호화된 제1공통인증키만을 저장하고 있게 된다.
이에 따라 사용자가 개인 비밀번호를 잊게 되거나 유출되는 경우에는 새로운 등록절차를 통해 새로운 비밀번호가 포함된 제1암호화키를 통해 다시 암호화하여 암호화된 제1공통인증키를 상기 인증서버(200)에 전송하여 등록되도록 할 수 있고, 인증기관의 경우에 해킹 등을 통해 상기 암호화된 제1공통인증키가 유출된 경우에도 보안성이 강화되게 된다.
또한, 제1공통인증키에 개인비밀번호가 구성요소로 되지 않고, 단방향성 함수를 이용한 제1변환 및 암호화의 제2변환을 통해 개인정보 유출을 방지할 수 있고, 공개된 네트워크 환경에서 해킹의 염려없이 안전하게 사용자 인증 또는 인증서버 인증이 가능한 장점이 있다.
이후 상기 인증서버(200)에서는 내장된 인증기관의 고유키와 상기 암호화된 제1공통인증키를 조합하여 제1서버인증정보를 생성할 수 있다(S204).
상기 제1서버인증정보는 본 발명의 제1실시예의 경우와 동일하게 도 4를 통해 설명된 2가지 방식에 의해 생성가능하다.
한가지 방법은 도 4의 (a)에 도시된 바와 같이, 상기 인증서버(200)에서 내장된 인증기관의 고유키와 상기 암호화된 제1공통인증키를 구성요소로 단방향성 함수(210)를 통한 변환을 통해 제1서버인증키를 생성하고, 상기 제1서버인증키에 대한 OTP(One Time Password) 연산을 하여 시간값으로 동기화된 제1서버인증정보를 생성할 수 있다. 여기서 상기 제1서버인증키는 상기 인증기관의 고유키를 연산키로 하여 상기 암호화된 제1공통인증키에 대하여 상기 단방향성 함수(210)를 통한 변환을 수행하여 생성될 수 있다. 또한 상기 제1서버인증정보는 OTP발생기(230)를 통한 OTP연산을 통해 생성될 수 있다.
다른 방법은 도 4의 (b)에 도시된 바와 같이, 상기 인증서버(200)에서 내장된 인증기관의 고유키와 상기 암호화된 제1공통인증키를 구성요소로 단방향성 함수(210)를 통한 변환을 통해 제1서버인증키를 생성하고, 상기 제1서버인증키로부터 시간정보를 이용하여 일정기준에 의해 추출되는 제2서버인증키를 생성한다.
상기 제2서버인증키는 별도의 시간추출값 발생기(220)를 통하여 추출되어 생성되며, 상기 제2서버인증키는 제1서버인증키로부터 생성된 임의의 시간 동기값을 의미할 수 있다. 상기 시간추출값 발생기(220)는 일반적인 OTP(One Time Password) 발생기와 동작원리가 같으며, 일반적인 OTP(One Time Password) 발생기는 출력값이 숫자로 표시되나 상기 시간추출값 발생기(220)는 출력값이 숫자나 문자 기타 다양한 기호 등으로 표시되는 점이 다르다. 이에 따라 상기 시간추출값 발생기(220)는 일반적인 OTP(One Time Password) 연산을 수행하는 OTP 발생기를 포함하는 개념으로 이해되어야 한다.
이후 상기 인증서버(200)에서 상기 제2서버인증키에 대한 OTP(One Time Password) 발생기(230)을 통한 OTP 연산을 수행하여 상기 제1서버인증정보를 생성하는 것이 가능하다.
상기 제1서버인증정보는 사용자 등록 이후에 다른 절차와 관계없이 독립적으로 생성되는 것이 가능하다. 즉 상기 제1서버인증정보는 상기 사용자 등록 이후부터 후술하는 제1사용자 인증정보의 생성시까지의 시간 내에 생성되면 족하다.
그리고 상기 제1서버인증정보를 상기 사용자 단말기(100)로 전송하는 경우에도, 생성 즉시 전송하는 것도 가능하고, 필요하다고 판단되는 시점에 전송하는 것도 가능하다. 또한 사용자 단말기(100)의 요청에 의해 전송하는 것도 가능하다.
이후 사용자에 의해 인증절차가 시작되어 상기 사용자 단말기(100)에서 사용자로부터 인증을 위한 절차가 시작되어, 사용자가 개인비밀번호를 입력하면 (S110), 상기 사용자 단말기(100)에서는 제2공통인증키와 제2암호화키를 생성하게 된다(S113). 상기 제2공통인증키는 상기 제1공통인증키에 대응되고 상기 제2암호화키는 상기 제1암호화키에 대응되는 요소이다. 따라서, 생성방식은 서로 대응되어야 할 것이다. 상기 제2공통인증키의 암호화를 위한 상기 제2암호화키는 일정기준에 의해 랜덤으로 생성할 수도 있고, 별도로 선택된 구성요소를 통해 생성되는 것도 가능하다.
여기서 상기 제2암호화키는 상기 개인비밀번호를 구성요소로 하여 생성하게 된다. 상기 제2암호화키는 사용자가 입력한 상기 개인비밀번호를 구성요소로 단방향성 함수를 이용한 변환을 수행함에 의해 생성될 수 있다. 상기 단방향성 함수의 연산키는 일정기준에 의해 생성된 값이 이용될 수 있다.
상기 제2암호화키의 생성을 위한 구성요소로는 상기 개인비밀번호 이외에 상기 사용자 단말기(100)의 기계적 고유키가 추가될 수 있으며, 여기에 상기 전용앱의 고유키(예를 들면, Device Token, Bundle ID, Package Name, App ID 등)가 구성요소로 더 포함될 수도 있다. 또한 다른 구성요소가 추가되는 것도 가능하다. 여기서 상기 사용자 단말기(100)의 기계적 고유키는 예를 들면, 시리얼 번호나 유심번호 등을 포함할 수 있으며, 이외에 상기 사용자 단말기를 구분하기 위해 부여된 각종 고유번호, 전화번호 등을 포함할 수 있다.
상기 제1암호화키의 생성의 전후 또는 생성과 동시에, 상기 사용자 단말기(100)에서는 상기 사용자 단말기(100)의 기계적 고유키를 이용하여 단방향성 함수(110)를 이용한 제1차변환을 수행하여 제1공통인증키를 생성한다(S103). 상기 단방향성 함수의 연산키는 일정기준에 의해 생성된 값이 이용될 수 있다.
상기 제2공통인증키는 상기 제1공통인증키의 생성방식과 동일하게 상기 사용자 단말기(100)의 기계적 고유키를 단독구성요소로 하여 상기 단방향성 함수(110)를 이용한 제1차변환을 통해 생성되는 것도 가능하지만, 여기에 다른 구성요소가 추가되는 것이 가능하다. 예를 들면, 상기 전용앱의 고유키(예를 들면, Device Token, Bundle ID, Package Name, App ID 등)가 구성요소로 더 포함될 수도 있다. 또한 고유성이 인정되는 또 다른 구성요소가 추가되는 것도 가능하다. 이는 상기 제1공통인증키에 상기 전용앱의 고유키 또는 다른 구성요소가 포함된 경우에 대응하여 가능할 것이다.
본 발명의 제1 내지 제3실시예에 경우에는 사용자가 입력한 상기 개인비밀번호가 상기 제2공통인증키의 생성을 위한 구성요소이나, 본 발명의 제4실시예의 경우에는 상기 개인비밀번호는 상기 제2암호화키 생성을 위한 구성요소이며, 상기 제2공통인증키의 구성요소로 사용되지 않는다.
즉 상기 개인비밀번호 및 상기 사용자 단말기(100)의 기계적 고유키를 조합하여 단방향성 함수(110)를 이용한 제1차변환을 수행하여 제2공통인증키를 생성한다(S113).
상기 단방향성 함수(110)는 상기 제1공통인증키를 생성한 단방향성 함수와 동일함수가 사용될 수 있으며, 동일방식으로 적용가능하다.
상기 제2공통인증키는 상기 제1공통인증키의 생성방식과 동일하게, 상기 개인비밀번호 및 상기 사용자 단말기(100)의 기계적 고유키를 구성요소로 하여 일정기준에 의해 생성된 연산키를 통해 연산하여 제1차 변환시킴에 의해 생성될 수 있다.
이후 상기 제2공통인증키는 제1공통인증키의 경우와 동일하게, 암호화유닛(120)을 통해 상기 제2암호화키를 통해 암호화되는 제2차 변환을 통해 암호화된 제2공통인증키로 생성되게 된다(S113). 암호화 방식 및 제2암호화키의 생성방식은 제1공통인증키의 암호화방식 및 상기 제1암호키의 생성방식과 대응되어 동일하게 적용된다.
여기서 상기 제2암호화키는 상기 개인비밀번호를 구성요소로 하여 생성하게 된다. 상기 제2암호화키는 사용자가 입력한 상기 개인비밀번호를 구성요소로 단방향성 함수를 이용한 변환을 수행함에 의해 생성될 수 있다. 상기 단방향성 함수의 연산키는 일정기준에 의해 생성된 값이 이용될 수 있다.
상기 제2암호화키의 생성을 위한 구성요소로는 상기 개인비밀번호 이외에 상기 사용자 단말기(100)의 기계적 고유키가 추가될 수 있으며, 여기에 상기 전용앱의 고유키(예를 들면, Device Token, Bundle ID, Package Name, App ID 등)가 구성요소로 더 포함될 수도 있다. 또한 다른 구성요소가 추가되는 것도 가능하다. 여기서 상기 사용자 단말기(100)의 기계적 고유키는 예를 들면, 시리얼 번호나 유심번호 등을 포함할 수 있으며, 이외에 상기 사용자 단말기를 구분하기 위해 부여된 각종 고유번호, 전화번호 등을 포함할 수 있다.
상기 제2암호화키는 상기 사용자 단말기(100)에 의해 설정된 전용저장공간 또는 상기 전용앱에 의해 상기 사용자 단말기(100) 내에 설정된 전용저장공간에 저장될 수 있다.
여기서 상기 제2암호화키는 별도의 암호화 방식에 의해 암호화되어 저장될 수 있다. 예를 들어, 상기 개인비밀번호와 상기 사용자 단말기의 기계적 고유키를 조합하여 단방향성 함수를 이용한 변환을 수행함에 의해 생성된 제3암호화키를 이용하여 암호화된 이후에 저장되는 것이 가능하다.
이후 상기 사용자 단말기(100)에서는 상기 암호화된 제2공통인증키를 이용하여 제1사용자 인증정보를 생성하게 된다(S116). 상기 제1사용자 인증정보에 대응되는 상기 제1서버인증정보의 생성에 대해서는 이미 설명한 바 있다.
상기 제1사용자인증정보는 본 발명의 제1실시예를 통해 설명한 방식과 동일한 방식에 의해 2가지 방식으로 생성 가능하다.
한가지 방법은 도 5의 (a)에 도시된 바와 같이, 상기 인증서버(200)에서 미리 제공된 인증기관의 고유키와 상기 암호화된 제2공통인증키를 구성요소로 단방향성 함수(110)를 통한 변환을 통해 제1사용자인증키를 생성하고, 상기 제1사용자인증키에 대한 OTP(One Time Password) 연산을 하여 시간값으로 동기화된 제1사용자인증정보를 생성할 수 있다. 상기 인증기관의 고유키는 상기 전용앱의 설치시에 내장되어 제공되거나, 인증절차의 개시전에 업데이트 등을 통해 제공되는 것이 가능하다.
여기서 상기 제1사용자인증키는 상기 인증기관의 고유키를 연산키로 하여 상기 암호화된 제2공통인증키에 대하여 상기 단방향성 함수(110)를 통한 변환을 수행하여 생성될 수 있다. 또한 상기 제1사용자 인증정보는 OTP발생기(130)를 통한 OTP연산을 통해 생성될 수 있다.
다른 방법은 도 5의 (b)에 도시된 바와 같이, 상기 인증서버(200)에서 미리 제공된 인증기관의 고유키와 상기 암호화된 제2공통인증키를 구성요소로 단방향성 함수(110)를 통한 변환을 통해 제1사용자인증키를 생성하고, 상기 제1사용자인증키로부터 시간정보를 이용하여 일정기준에 의해 추출되는 제2사용자 인증키를 생성한다. 상기 인증기관의 고유키는 상기 전용앱의 설치시에 내장되어 제공되거나, 인증절차의 개시전에 업데이트 등을 통해 제공되는 것이 가능하다.
상기 제2사용자인증키는 별도의 시간추출값 발생기(120)를 통하여 추출되어 생성되며, 상기 제2사용자인증키는 제1사용자인증키로부터 생성된 임의의 시간 동기값을 의미할 수 있다. 상기 시간추출값 발생기(120)는 일반적인 OTP(One Time Password) 발생기와 동작원리가 같으며, 일반적인 OTP(One Time Password) 발생기는 출력값이 숫자로 표시되나 상기 시간추출값 발생기(120)는 출력값이 숫자나 문자 기타 다양한 기호 등으로 표시되는 점이 다르다. 이에 따라 상기 시간추출값 발생기(120)는 일반적인 OTP(One Time Password) 연산을 수행하는 OTP 발생기를 포함하는 개념으로 이해되어야 한다.
이후 상기 사용자 단말기(100)에서 상기 제2사용자인증키에 대하여 OTP발생기(130)를 통한 OTP(One Time Password) 연산을 수행하여 상기 제1사용자인증정보를 생성하는 것이 가능하다.
여기서 상기 제1사용자 인증정보의 생성방식은 상기 제1서버인증정보의 생성방식과 동일성이 유지되어야 한다. 상기 제1서버인증정보가 도 4의 (a)를 통해 설명된 방식으로 생성되면 상기 제1사용자 인증정보 또한 도 5의 (a)를 통해 설명한 방식으로 생성되어야 할 것이다. 또한, 단방향성 함수나 OTP 연산 등도 서로 대응되도록 적용되어야 할 것이다. 그리고 상기 제1서버인증정보가 도 4의 (b)를 통해 설명된 방식으로 생성되면 상기 제1사용자 인증정보 또한 도 5의 (b)를 통해 설명한 방식으로 생성되어야 할 것이다. 또한, 단방향성 함수나 OTP 연산, 시간값 추출 등도 대응하여 동일한 방식이 적용되어야 할 것이다.
이후 상기 제1사용자 인증정보가 상기 사용자 단말기(100)를 통해 상기 인증서버(200)로 전송되면(S118), 상기 인증서버(200)에서는 인증정보의 일치여부, 즉 상기 제1사용자 인증정보와 상기 제1서버인증정보의 일치여부에 따라 사용자 인증을 수행하게 된다(S208). 상기 제1사용자 인증정보는 수동으로 사용자에 의해 입력되어 전송되는 것도 가능하고, 자동으로 전송되도록 하는 것도 가능하고, 사용자의 전송지시에 의해 자동으로 전송되도록 하는 것도 가능하다.
여기에서, 상기 사용자 단말기(100)는 상기 인증서버(200)와 연결된 하나 또는 복수의 사용자 단말기가 사용되는 것이 가능하다. 예를 들어 제1사용자 단말기(100)로 암호화된 제1공통인증키 등의 등록절차를 진행하고 제2사용자 단말기(100)로 인증절차를 진행하는 것이 가능하고, 이의 반대의 경우도 가능하다. 또한 인증절차의 경우에도, 제1사용자 인증정보는 상기 제1사용자 단말기(100)를 통해 생성하고, 상기 제1사용자 인증정보의 입력이나 전송은 상기 제2사용자 단말기(100)를 통해 수행되는 것이 가능하다. 이외에도 다양한 절차에서 복수의 사용자 단말기(100)가 이용되는 것이 가능하다.
그리고, 상기 제1사용자 인증정보와 상기 제1서버인증정보를 사용자가 사용자 단말기(100)에서 비교하는 것으로, 상기 인증서버(200)의 진위여부, 인증서버(200)에 연결된 접속 웹페이지의 진위여부 또는 인증서비스를 공급하는 서비스 공급자 또는 인증기관의 진위여부를 확인하는 것이 가능하다. 종래의 경우 인증기관을 사칭하여 인증기관의 접속 웹페이지와 유사하게 구성하여 사용자를 혼동시키는 사례가 많음에도 이에 대한 마땅한 대응책이 없었던 것이 사실이다. 본 발명에서는 이러한 문제점을 해결하기 위해 인증기관(또는 서비스 공급자)의 진위여부를 사용자가 확인하는 것이 가능하다.
이를 위해 상기 제1서버인증정보가 생성되는 경우 상기 인증서버(200)에서는 상기 제1서버인증정보를 상기 접속 웹페이지를 통해 표시하도록 하거나 상기 사용자 단말기(100)로 전송하도록 한다(S206). 상기 제1서버인증정보가 표시되거나 전송되면, 이를 상기 사용자 단말기(100)에서 상기 제1사용자 인증정보와 비교함에 의해 상기 인증서버(200)가 진정한 인증서버인지 상기 접속 웹페이지가 진정한 것인지 진위여부를 판별하는 인증서버 인증이 가능하다(S120). 즉 상기 인증서버(200)의 진위여부, 인증서버(200)에 연결된 접속 웹페이지의 진위여부 또는 인증서비스를 공급하는 서비스 공급자 또는 인증기관의 진위여부를 확인하는 것이 가능하다.
여기서 상기 제1서버인증정보가 상기 암호화된 제2공통인증키 생성 전에 미리 상기 사용자 단말기(100)로 전송된 상태인 경우에는 재전송하거나 별도로 전송할 필요없이 미리 전송된 상기 제1서버인증정보를 이용하여 인증서버 인증을 수행하게 된다.
본 발명의 제4실시예에서는, 상기 제1서버인증정보 및 상기 제1사용자 인증정보를 상기 사용자 단말기(100)에서 비교하게 되면 일치여부를 통해 인증기관 또는 인증서버(200)의 진위여부를 판별하는 인증기관 인증 또는 인증서버 인증이 가능하고, 상기 제1서버인증정보 및 상기 제1사용자 인증정보를 상기 인증서버(200)에서 비교하게 되면 일치여부를 통해 사용자 인증이 가능하게 된다.
여기서 상기 인증서버의 인증절차(S206,S120)와 상기 사용자 인증 절차(S118,S208)는 동시에 수행되는 것도 가능하고, 상기 인증서버의 인증절차가 먼저 수행된 이후에 인증이 확인되면 상기 사용자 인증 절차가 수행되는 것도 가능하고, 인증서버의 인증절차 또는 사용자 인증절차 중 어느 하나가 선택되어 수행되는 것도 가능하다.
상술한 본 발명의 제4실시예의 경우에 상기 사용자 단말기(100)와 상기 인증서버(200) 간에 전송되는 모든 데이터는 공개키 방식의 암호화가 수행되어 전송될 수 있다.
상술한 본 발명의 제4실시예의 경우에, 인증서버 인증이 아닌 사용자 인증을 수행하는 경우에 있어서, 사용자 단말기(100)를 여러 개 사용하거나 모바일 단말기, 데스크 탑 PC, 태블릿 등을 동시에 사용하여 사용자 인증을 수행하는 경우, 이상현상이나 오류 등 기타 원인에 의해 상기 제1사용자 인증정보가 상기 인증서버(200)로 일정시간 안에 복수개가 전송되는 경우가 있을 수 있다.
이 경우에는 확실한 인증을 위하여 상기 인증서버(200)에서는 상기 제1사용자 인증정보가 전송된 경우라도, 상기 사용자 단말기(100)로 상기 제1사용자 인증정보의 재전송을 요청하되 자동전송이 아닌 수동입력을 통한 재전송을 요청하는 것이 가능하다. 이때 제1사용자 인증정보는 사용자가 수동입력 가능하도록 상기 사용자 단말기(100)의 화면에 표시되어야 할 것이다. 여기서 수동입력은 2번 연속으로 수행하도록 요청하는 것이 가능하다. 수동입력을 통해 제1사용자 인증정보가 전송되면, 상기 인증서버(200)에서 수동입력을 통해 전송된 제1사용자 인증정보와 상기 제1서버인증정보를 비교하여 사용자 인증을 수행하는 것이 가능하다.
그리고 인증과정에서 해킹 등의 공격 징후가 있는 경우에, 예를 들면, 로딩시간이 평상시보다 현저히 느려진 경우, 데스크탑 PC에서 로그인 하는 경우에, 데스크탑 PC의 화면과 모바일 단말기 화면에 나타나는 사전 약속된 값이 다른 경우 등을 포함하여 통상의 기술자에게 잘 알려진 해킹 등의 공격 징후가 감지되는 경우에, 상기 사용자 단말기(100)에서는 인증절차를 강제중단시킬 수 있는 강제중단신호를 자동 또는 수동으로 상기 인증서버(200)에 전송하는 것이 가능하다. 상기 강제중단신호가 상기 인증서버(200)로 전송되면, 상기 사용자 단말기(100) 및 상기 인증서버(200)는 상술한 인증절차를 중단하고 새로운 인증절차가 시작될 때까지 대기하게 된다.
다른 예로, 상기 공격징후가 감지되는 경우에 상기 인증서버(200)에서 자체 판단하여 강제중단여부를 묻는 신호를 상기 사용자 단말기(100)에 전송하여 사용자 단말기(100)의 응답신호에 대응하여 강제중단여부를 결정하는 것도 가능하다.
한편, 상기 사용자 단말기(100)와 상기 인증서버(200) 간에 전송되는 인증정보 및 인증키 등을 포함하는 모든 전송대상 데이터에는 데이터의 무결성 검증을 위한 검증키가 추가될 수 있다. 즉 전송대상 데이터에 상기 검증키가 추가되어 전송되는 것이 가능하다. 상기 검증키는 전송대상 데이터 각각에 대하여 OTP(One Time Password) 연산을 수행한 제1 OTP 연산값을 포함할 수 있다.
그리고, 상기 사용자 단말기(100) 또는 상기 인증서버(200)에서 상기 데이터의 수신시에는, 수신된 데이터에 대한 OTP(One Time Password) 연산을 수행한 제2 OTP 연산값과 상기 검증키를 비교하여 무결성 검증을 수행하는 것이 가능하다.
예를 들어, 상기 사용자 단말기(100)에서 상기 제1사용자 인증정보를 상기 인증서버(200)에 전송하는 경우에, 상기 제1사용자 인증정보에 상기 제1사용자 인증정보를 OTP연산한 제1OTP연산값이 검증키로 추가되어 전송되는 것이 가능하다. 이 경우 상기 인증서버(200)에서는 상기 제1사용자 인증정보를 수신한 경우, 상기 검증키를 분리한 제1사용자 인증정보에 대한 OTP(One Time Password) 연산을 수행한 제2OTP 연산값과 상기 검증키를 비교하여 무결성 검증을 수행함에 의해 상기 제1사용자 인증정보의 무결성 검증이 가능하게 된다.
상술한 본 발명의 제4실시예의 경우에서 상기 제1사용자 인증정보와 상기 제1서버인증정보를 상기 사용자 단말기(100)에서 비교하여 인증하는 인증서버 인증을 수행한 경우에는, 추가적인 사용자 인증절차가 필요하게 된다. 그리고, 상기 제1사용자 인증정보와 상기 제1서버인증정보를 상기 인증서버(200)에서 비교하여 인증하는 사용자 인증을 수행한 경우에도 추가적인 신뢰성 확보를 위해 추가적인 사용자 인증이 필요한 경우가 있다. 이를 위해 후술하는 본 발명의 제5실시예가 필요하게 된다.
이하 본 발명의 제5실시예를 설명한다.
도 14는 본 발명의 제5실시예에 따른 사용자 인증방법을 나타낸 순서도이다.
도 14에 도시된 바와 같이, 본 발명의 제5실시예에 따른 사용자 인증방법은, 본 발명의 제4실시예를 통해 설명된 인증절차를 모두 포함하며, 상기 제1사용자 인증정보와 상기 제1서버인증정보를 통해 사용자 인증(S208) 또는 인증서버 인증(S120)이 이루어진 상태에서 추가되는 과정을 포함한다. 따라서, 상기 제1사용자 인증정보와 상기 제1서버인증정보를 통해 사용자 인증(S208) 또는 인증서버 인증(S120)이 이루어지는 과정은 본 발명의 제4실시예를 통해 설명되었으므로 자세한 설명을 생략한다.
상기 제1서버인증정보 및 상기 제1사용자 인증정보가 생성되고 상기 사용자 인증(S208) 또는 인증서버 인증(S120)이 수행되기 전 단계 또는 상기 제1서버인증정보 및 상기 제1사용자 인증정보를 통한 상기 사용자 인증(S208) 또는 인증서버 인증(S120)이 수행된 이후에, 상기 사용자 단말기(100)에서는 상기 제1사용자 인증정보 또는 상기 제1서버인증정보와 상기 제2공통인증키를 이용하여 제2사용자 인증정보를 생성하게 된다(S122).
상기 제2사용자 인증정보의 생성을 위한 구성요소로는 제1사용자 인증정보 및 상기 제2공통인증키가 사용되는 것이 일반적이나, 상기 인증서버(200)에서 상기 제1서버인증정보가 전송된 경우에는, 상기 제1서버인증정보가 이용될 수도 있다. 이는 상기 제1서버인증정보와 상기 제1사용자 인증정보가 서로 동일한 값이라는 전제에서 가능한 것이다. 이하에서는 제1사용자 인증정보를 이용하여 상기 제2사용자 인증정보를 생성하는 경우를 설명한다.
또한, 상기 제2공통인증키는 상기 암호화된 제2공통인증키를 복호화키를 이용하여 복호화한 제2공통인증키를 의미하거나, 암호화되지 않은 상태의 제2공통인증키를 말한다. 이하에서 제2공통인증키에 별다른 수식어가 없는 경우에, 상기 제2공통인증키는 복호화된 제2공통인증키를 의미하거나, 암호화되지 않은 상태의 제2공통인증키를 의미하게 된다.
상기 제2사용자 인증정보는 본 발명의 제2실시예를 통해 설명한 바와 동일한 방식으로, 2가지 방식에 의해 생성 가능하다.
한가지 방법은 도 7의 (a)에 도시된 바와 같이, 상기 제2공통인증키와 상기 제1사용자 인증정보를 구성요소로 단방향성 함수(110)를 통한 변환을 통해 제3사용자인증키를 생성하고, 상기 제3사용자인증키에 대한 OTP(One Time Password) 연산을 하여 시간값으로 동기화된 상기 제2사용자인증정보를 생성할 수 있다.
여기서 상기 제3사용자인증키는 상기 제2공통인증키를 연산키로 하여 상기 제1사용자 인증정보에 상기 단방향성 함수(110)를 통한 변환을 수행하여 생성될 수 있다. 또한 상기 제2사용자 인증정보는 OTP발생기(130)를 통한 OTP연산을 통해 생성될 수 있다.
다른 방법은 도 7의 (b)에 도시된 바와 같이, 상기 제2공통인증키와 상기 제1사용자 인증정보를 구성요소로 단방향성 함수(110)를 통한 변환을 통해 제3사용자인증키를 생성하고, 상기 제3사용자인증키로부터 시간정보를 이용하여 일정기준에 의해 추출되는 제4사용자인증키를 생성한다.
상기 제4사용자인증키는 별도의 시간추출값 발생기(120)를 통하여 추출되어 생성되며, 상기 제4사용자 인증키는 제3사용자인증키로부터 생성된 임의의 시간 동기값을 의미할 수 있다. 상기 시간추출값 발생기(120)는 일반적인 OTP(One Time Password) 발생기와 동작원리가 같으며, 일반적인 OTP(One Time Password) 발생기는 출력값이 숫자로 표시되나 상기 시간추출값 발생기(120)는 출력값이 숫자나 문자 기타 다양한 기호 등으로 표시되는 점이 다르다. 이에 따라 상기 시간추출값 발생기(120)는 일반적인 OTP(One Time Password) 연산을 수행하는 OTP 발생기를 포함하는 개념으로 이해되어야 한다.
이후 상기 사용자 단말기(100)에서 상기 제4사용자인증키에 대하여 OTP발생기(130)를 통한 OTP(One Time Password) 연산을 수행하여 시간값에 동기화된 상기 제2사용자인증정보를 생성하는 것이 가능하다.
상기 제2사용자 인증정보가 생성되면, 상기 사용자 단말기(100)에서는 상기 제2사용자 인증정보와 상기 암호화된 제1공통인증키의 복호화를 위한 복호화키를 상기 인증서버(200)에 제공한다(S124).
암호화키와 복호화키가 동일한 방식의 대칭키 암호화방식이 사용되는 경우에 상기 복호화키는 상기 제1암화화키 또는 제2암호화키가 될 것이다.
상기 인증서버(200)에서는 상기 사용자 단말기(100)에서 제공된 상기 복호화키를 이용하여 상기 암호화된 제1공통인증키를 제1공통인증키로 복호화한다(S209). 이하에서는 별도의 수식어가 없는 제1공통인증키의 용어는 복호화된 제1공통인증키를 의미할 수 있다.
그리고 상기 제1공통인증키와 상기 제1서버인증정보를 이용하여 제2서버인증정보를 생성하게 된다(S210). 여기서 상기 사용자 단말기(100)에서 상기 제1사용자 인증정보가 전송된 경우에는 상기 제1서버인증정보 대신에 상기 제1사용자 인증정보가 사용될 수 있음은, 상기 제2사용자 인증정보의 생성시와 같다.
상기 제2서버인증정보는 본 발명의 제2실시예를 통해 설명한 바와 동일하게 2가지 방식에 의해 생성가능하다.
한가지 방법은 도 8의 (a)에 도시된 바와 같이, 상기 인증서버(200)에서 상기 제1서버인증정보와 상기 제1공통인증키를 구성요소로 단방향성 함수(210)를 통한 변환을 통해 제3서버인증키를 생성하고, 상기 제3서버인증키에 대한 OTP(One Time Password) 연산을 하여 시간값으로 동기화된 제2서버인증정보를 생성할 수 있다. 여기서 상기 제3서버인증키는 상기 제1공통인증키를 연산키로 하여 상기 제1서버인증정보에 대하여 상기 단방향성 함수(210)를 통한 변환을 수행하여 생성될 수 있다. 또한 상기 제2서버인증정보는 상기 제3서버인증키에 대하여 OTP발생기(230)를 통한 OTP연산을 통해 생성될 수 있다.
다른 방법은 도 8의 (b)에 도시된 바와 같이, 상기 인증서버(200)에서 상기 제1서버인증정보와 상기 제1공통인증키를 구성요소로 단방향성 함수(210)를 통한 변환을 통해 제3서버인증키를 생성하고, 상기 제3서버인증키로부터 시간정보를 이용하여 일정기준에 의해 추출되는 제4서버인증키를 생성한다.
상기 제4서버인증키는 별도의 시간추출값 발생기(220)를 통하여 추출되어 생성되며, 상기 제4서버인증키는 제3서버인증키로부터 생성된 임의의 시간 동기값을 의미할 수 있다. 상기 시간추출값 발생기(220)는 일반적인 OTP(One Time Password) 발생기와 동작원리가 같으며, 일반적인 OTP(One Time Password) 발생기는 출력값이 숫자로 표시되나 상기 시간추출값 발생기(220)는 출력값이 숫자나 문자 기타 다양한 기호 등으로 표시되는 점이 다르다. 이에 따라 상기 시간추출값 발생기(220)는 일반적인 OTP(One Time Password) 연산을 수행하는 OTP 발생기를 포함하는 개념으로 이해되어야 한다.
이후 상기 인증서버(200)에서 상기 제4서버인증키에 대한 OTP(One Time Password) 발생기(230)을 통한 OTP 연산을 수행하여 상기 제2서버인증정보를 생성하는 것이 가능하다.
여기서 상기 제2사용자 인증정보와 상기 제2서버인증정보의 생성방식과 동일성이 유지되어야 한다. 상기 제2서버인증정보가 도 8의 (a)를 통해 설명된 방식으로 생성되면 상기 제2사용자 인증정보 또한 도 7의 (a)를 통해 설명한 방식으로 생성되어야 할 것이다. 또한, 단방향성 함수나 OTP 연산 등도 서로 대응되도록 적용되어야 할 것이다. 그리고 상기 제2서버인증정보가 도 8의 (b)를 통해 설명된 방식으로 생성되면 상기 제2사용자 인증정보 또한 도 7의 (b)를 통해 설명한 방식으로 생성되어야 할 것이다. 또한, 단방향성 함수나 OTP 연산, 시간값 추출 등도 대응하여 동일한 방식이 적용되어야 할것이다.
이후 상기 인증서버(200)에서는 인증정보의 일치여부, 즉 상기 제2사용자 인증정보와 상기 제2서버인증정보의 일치여부에 따라 사용자 인증을 수행하게 된다(S212). 상기 제2사용자 인증정보는 수동으로 사용자에 의해 입력되어 전송되는 것도 가능하고, 자동으로 전송되도록 하는 것도 가능하고, 사용자의 전송지시에 의해 자동으로 전송되도록 하는 것도 가능하다.
여기에서, 상기 사용자 단말기(100)는 상기 인증서버(200)와 연결된 하나 또는 복수의 사용자 단말기가 사용되는 것이 가능하다. 예를 들어 제1사용자 단말기(100)로 암호화된 제1공통인증키 등의 등록절차를 진행하고 제2사용자 단말기(100)로 인증절차를 진행하는 것이 가능하고, 이의 반대의 경우도 가능하다. 또한 인증절차의 경우에도, 제1사용자 인증정보나 제2사용자 인증정보는 상기 제1사용자 단말기(100)를 통해 생성하고, 상기 제1사용자 인증정보나 제2사용자 인증정보의 입력이나 전송은 상기 제2사용자 단말기(100)를 통해 수행되는 것이 가능하다. 이외에도 다양한 절차에서 복수의 사용자 단말기(100)가 이용되는 것이 가능하다.
상술한 본 발명의 제5실시예의 경우에 상기 사용자 단말기(100)와 상기 인증서버(200) 간에 전송되는 모든 데이터는 공개키 방식의 암호화가 수행되어 전송될 수 있다.
또한, 상술한 본 발명의 제5실시예에서 사용자 인증을 수행하는 경우에 있어서, 사용자 단말기(100)를 여러 개 사용하거나 모바일 단말기, 데스크 탑 PC, 태블릿 등을 동시에 사용하여 사용자 인증을 수행하는 경우에 이상현상이나 오류 등 기타 원인에 의해 상기 제1사용자 인증정보 또는 제1서버인증정보가 일정시간 안에 복수개가 전송되는 경우가 있을 수 있다.
특히, 제1서버인증정보가 상기 사용자 단말기(100)로 전송되도록 하여 인증서버 인증을 수행하고 제2사용자 인증정보가 상기 인증서버(200)로 전송되도록 하여 사용자 인증을 수행하는 경우에, 인증서버 인증을 위해 상기 인증서버(200)에서 서로 다른 사용자 단말기(100) 또는 동일한 사용자 단말기(100)로 일정시간(예를 들면, 30초, 60초 등)안에 상기 제1서버인증정보가 복수개로 전송되는 경우가 있을 수 있다.
이 경우 확실한 인증을 위하여 상기 인증서버(200)에서는 상기 사용자 단말기(100)에서 상기 제2사용자 인증정보가 전송된 이후라도, 상기 사용자 단말기(100)로 상기 제2사용자 인증정보의 재전송을 요청하되 자동전송이 아닌 수동입력을 통한 재전송을 요청하는 것이 가능하다. 이때 상기 제2사용자 인증정보는 상기 사용자 단말기(100)의 화면에 표시되어야 할 것이다. 상기 제2사용자 인증정보가 상기 사용자 단말기(100)에서 수동입력을 통해 전송되면, 상기 인증서버(200)에서는 수동입력된 제2사용자 인증정보와 상기 제2서버인증정보를 비교하여 사용자 인증을 추가적으로 수행하는 것이 가능하다.
인증의 보안성을 높이기 위해, 상기 제2사용자 인증정보의 재전송을 통해 추가인증 이후 또는 상기 제2사용자 인증정보의 재전송을 통한 추가인증에 대체하여, 제3사용자 인증정보 및 제3서버인증정보의 비교를 통한 추가인증도 가능하다.
이는 상기 제2사용자 인증정보의 재전송을 통해 추가인증 이후 또는 상기 제2사용자 인증정보의 재전송을 통한 추가인증에 대체하여, 상기 인증서버(200)에서는 상기 제3사용자 인증정보를 상기 사용자 단말기(100)에 요청하게 된다.
상기 제3사용자 인증정보 및 상기 제3서버인증정보는 본 발명의 제2실시예의 경우와 동일한 방식을 적용하여 생성 가능하다.
즉, 상기 사용자 단말기(100)에서는 도 9의 (a)에 도시된 바와 같이, 상기 제2사용자 인증정보 생성을 위한 구성요소인 제4사용자 인증키와 상기 인증기관의 고유키를 구성요소로 단방향성 함수(110)를 이용한 변환을 수행하여 제5사용자 인증키를 생성하고, 상기 제5사용자 인증키에 대한 OTP(One Time Password) 연산을 수행하여 상기 제3사용자 인증정보를 생성할 수 있다.
이때 상기 인증서버(200)에서는 상기 제3사용자 인증정보에 대응되는 제3서버인증정보를 생성하게 된다.
상기 인증서버(200)에서는 도 9의 (b)에 도시된 바와 같이, 상기 제2서버 인증정보 생성을 위한 구성요소인 제4서버 인증키와 상기 인증기관의 고유키를 구성요소로 단방향성 함수(210)를 이용한 변환을 수행하여 제5서버 인증키를 생성하고, 상기 제5서버 인증키에 대한 OTP(One Time Password) 연산을 수행하여 상기 제3서버 인증정보를 생성할 수 있다.
이후 상기 제3사용자 인증정보가 상기 인증서버(200)로 전송되면, 상기 인증서버(200)에는 상기 제3사용자 인증정보와 상기 제3서버인증정보의 일치여부를 판단하여 추가적인 사용자 인증을 수행하게 된다.
한편, 인증과정에서 해킹 등의 공격 징후가 있는 경우에, 예를 들면, 로딩시간이 평상시보다 현저히 느려진 경우, 데스크탑 PC에서 로그인 하는 경우에, 데스크탑 PC의 화면과 모바일 단말기 화면에 나타나는 사전 약속된 값이 다른 경우 등을 포함하여 통상의 기술자에게 잘 알려진 해킹 등의 공격 징후가 감지되는 경우에, 상기 사용자 단말기(100)에서는 인증절차를 강제중단시킬 수 있는 강제중단신호를 자동 또는 수동으로 상기 인증서버(200)에 전송하는 것이 가능하다. 상기 강제중단신호가 상기 인증서버(200)로 전송되면, 상기 사용자 단말기(100) 및 상기 인증서버(200)는 상술한 인증절차를 중단하고 새로운 인증절차가 시작될 때까지 대기하게 된다.
다른 예로, 상기 공격징후가 감지되는 경우에 상기 인증서버(200)에서 자체 판단하여 강제중단여부를 묻는 신호를 상기 사용자 단말기(100)에 전송하여 사용자 단말기(100)의 응답신호에 대응하여 강제중단여부를 결정하는 것도 가능하다.
한편, 상기 사용자 단말기(100)와 상기 인증서버(200) 간에 전송되는 인증정보 및 인증키 등을 포함하는 모든 전송대상 데이터에는 데이터의 무결성 검증을 위한 검증키가 추가될 수 있다. 즉 전송대상 데이터에 상기 검증키가 추가되어 전송되는 것이 가능하다. 상기 검증키는 전송대상 데이터 각각에 대하여 OTP(One Time Password) 연산을 수행한 제1 OTP 연산값을 포함할 수 있다.
그리고, 상기 사용자 단말기(100) 또는 상기 인증서버(200)에서 상기 데이터의 수신시에는, 수신된 데이터에 대한 OTP(One Time Password) 연산을 수행한 제2 OTP 연산값과 상기 검증키를 비교하여 무결성 검증을 수행하는 것이 가능하다.
예를 들어, 상기 사용자 단말기(100)에서 상기 제1사용자 인증정보나 상기 제2사용자 인증정보를 상기 인증서버(200)에 전송하는 경우에, 상기 제1사용자 인증정보나 상기 제2사용자 인증정보에 상기 제1사용자 인증정보나 상기 제2사용자 인증정보를 OTP연산한 제1OTP연산값이 검증키로 추가되어 전송되는 것이 가능하다. 이 경우 상기 인증서버(200)에서는 상기 제1사용자 인증정보나 상기 제2사용자 인증정보를 수신한 경우, 상기 검증키를 분리한 제1사용자 인증정보나 상기 제2사용자 인증정보에 대한 OTP(One Time Password) 연산을 수행한 제2OTP 연산값과 상기 검증키를 비교하여 무결성 검증을 수행함에 의해 상기 제1사용자 인증정보나 상기 제2사용자 인증정보의 무결성 검증이 가능하게 된다.
본 발명의 제5실시예의 경우는 보안성 강화되고 무결성이 확보되는 장점을 가진다. 여기서 갭타임(gap time)값 또는 갭타임키의 구성요소를 더 추가하여 인증절차 상의 보안성을 강화하는 것이 가능하다. 이는 본 발명의 제6실시예를 통해 설명한다.
본 발명의 제6실시예는 본 발명의 제5실시예에서 제2사용자 인증정보 및 상기 제2서버인증정보 생성시에 본 발명의 제3실시예를 통해 설명한 갭타임(gap time)값 또는 갭타임키가 구성요소로 추가되는 점을 제외하고는 본 발명의 제5실시예와 동일한 구성을 가진다. 따라서 본 발명의 제6실시예는 본 발명의 제5실시예 및 본 발명의 제3실시예를 통해 실시가능하므로 그 설명을 생략한다.
상술한 바와 같이, 본 발명의 실시예들에 따르면, 공개 네트워크 상에서 개인정보 유출을 원천적으로 차단하고 해킹의 위험으로부터 자유로워 보안성이 강화되고, 전송데이터의 무결성에 대한 검증이 가능한 효과가 있다. 또한, 인증을 위한 인증서버, 인증기관, 웹사이트 등의 진위여부의 체크가 가능하고 무결성 및 유일성 확보가 가능한 사용자 인증이 가능해지는 장점이 있다. 또한, 인증정보들을 생성할때, 이전값을 이용하여 단방향성 변환을 수행하여 다음값을 생성하는 체이닝(chaining)방식을 취함에 따라, 단말기의 시간조작을 통해 미래에 생성될 값을 미리 알아내는 등의 조작 등을 원천적으로 방지할 수 있는 효과가 있다.
상기한 실시예의 설명은 본 발명의 더욱 철저한 이해를 위하여 도면을 참조로 예를 든 것에 불과하므로, 본 발명을 한정하는 의미로 해석되어서는 안될 것이다. 또한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기본적 원리를 벗어나지 않는 범위 내에서 다양한 변화와 변경이 가능함은 명백하다 할 것이다.
100 : 사용자 단말기 200 : 인증서버

Claims (1)

  1. 사용자 단말기와 인증서버를 이용한 사용자 인증방법에 있어서:
    사용자에 의해 사용자 등록을 위한 개인비밀번호가 입력되면, 상기 사용자 단말기에서는 상기 개인비밀번호 및 상기 사용자 단말기의 기계적 고유키를 조합하여 단방향성 함수를 이용한 제1차 변환을 수행하여 제1공통인증키를 생성하고, 상기 제1공통인증키를 암호화키를 이용하여 암호화하는 제2차 변환을 수행하여 암호화된 제1공통인증키를 상기 인증서버에 제공하며, 상기 인증서버에서는 상기 암호화된 제1공통인증키를 사용자 정보에 매칭하여 등록하는 제1단계와;
    상기 인증서버에서, 내장된 인증기관의 고유키와 상기 암호화된 제1공통인증키를 구성요소로 단방향성 함수를 이용한 변환을 수행하여 제1서버인증키를 생성하고, 상기 제1서버인증키 또는 상기 제1서버인증키의 변환값인 제2서버인증키에 대한 OTP(One Time Password) 연산을 수행하여 제1서버인증정보를 생성하는 제2단계와;
    인증을 위해 사용자로부터 상기 개인비밀번호가 입력되면, 상기 사용자 단말기에서 상기 개인비밀번호 및 상기 사용자 단말기의 기계적 고유키를 조합하여 단방향성 함수를 이용한 제1차변환을 수행하여 제2공통인증키를 실시간으로 생성하고, 상기 제2공통인증키를 상기 암호화키를 이용하여 암호화하는 제2차 변환을 수행하여 암호화된 제2공통인증키를 생성하며, 상기 인증서버로부터 미리 제공된 인증기관의 고유키와 상기 암호화된 제2공통인증키를 구성요소로 단방향성 함수를 이용한 변환을 수행하여 제1사용자 인증키를 생성하고, 상기 제1사용자 인증키 또는 상기 제1사용자 인증키의 변환값인 제2사용자 인증키에 대한 OTP(One Time Password) 연산을 수행하여 제1사용자인증정보를 생성하는 제3단계와;
    상기 제1서버 인증정보와 상기 제1사용자 인증정보의 일치여부에 따라 사용자인증을 수행하거나 또는 상기 인증서버의 진위여부를 판단하는 인증서버 인증을 수행하는 제4단계를 구비함을 특징으로 하는 사용자 인증방법.
KR1020160179254A 2016-12-26 2016-12-26 무결성 및 보안성이 강화된 사용자 인증방법 KR20170123222A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160179254A KR20170123222A (ko) 2016-12-26 2016-12-26 무결성 및 보안성이 강화된 사용자 인증방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160179254A KR20170123222A (ko) 2016-12-26 2016-12-26 무결성 및 보안성이 강화된 사용자 인증방법

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020160052423A Division KR101746102B1 (ko) 2016-04-28 2016-04-28 무결성 및 보안성이 강화된 사용자 인증방법

Publications (1)

Publication Number Publication Date
KR20170123222A true KR20170123222A (ko) 2017-11-07

Family

ID=60384974

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160179254A KR20170123222A (ko) 2016-12-26 2016-12-26 무결성 및 보안성이 강화된 사용자 인증방법

Country Status (1)

Country Link
KR (1) KR20170123222A (ko)

Similar Documents

Publication Publication Date Title
US9741033B2 (en) System and method for point of sale payment data credentials management using out-of-band authentication
US11917074B2 (en) Electronic signature authentication system based on biometric information and electronic signature authentication method
TWI522836B (zh) Network authentication method and system for secure electronic transaction
CN100459488C (zh) 便携式一次性动态密码生成器以及使用其的安全认证系统
EP2885904B1 (en) User-convenient authentication method and apparatus using a mobile authentication application
KR101618692B1 (ko) 보안성이 강화된 사용자 인증방법
US8689290B2 (en) System and method for securing a credential via user and server verification
US9858401B2 (en) Securing transactions against cyberattacks
US9780950B1 (en) Authentication of PKI credential by use of a one time password and pin
CN112425114B (zh) 受公钥-私钥对保护的密码管理器
US20170318011A1 (en) User authentication method for enhancing integrity and security
US20170055146A1 (en) User authentication and/or online payment using near wireless communication with a host computer
US20090158033A1 (en) Method and apparatus for performing secure communication using one time password
US20170171183A1 (en) Authentication of access request of a device and protecting confidential information
KR20180117715A (ko) 개선된 보안성을 갖는 사용자 인증을 위한 방법 및 시스템
EP3662430B1 (en) System and method for authenticating a transaction
US20100250949A1 (en) Generation, requesting, and/or reception, at least in part, of token
EP3206329B1 (en) Security check method, device, terminal and server
KR101746102B1 (ko) 무결성 및 보안성이 강화된 사용자 인증방법
US20190349198A1 (en) Automated authentication of a new network element
KR101856530B1 (ko) 사용자 인지 기반 암호화 프로토콜을 제공하는 암호화 시스템 및 이를 이용하는 온라인 결제 처리 방법, 보안 장치 및 거래 승인 서버
KR20220086135A (ko) 블록체인 기반의 전력 거래 운영 시스템
KR101836236B1 (ko) 애플리케이션 간 인증을 이용한 사용자 인증방법 및 장치, 그 프로그램
CN111541708B (zh) 一种基于电力配电的身份认证方法
KR102033842B1 (ko) 사이버 보안 금고

Legal Events

Date Code Title Description
A107 Divisional application of patent