KR101836236B1 - 애플리케이션 간 인증을 이용한 사용자 인증방법 및 장치, 그 프로그램 - Google Patents

애플리케이션 간 인증을 이용한 사용자 인증방법 및 장치, 그 프로그램 Download PDF

Info

Publication number
KR101836236B1
KR101836236B1 KR1020170032225A KR20170032225A KR101836236B1 KR 101836236 B1 KR101836236 B1 KR 101836236B1 KR 1020170032225 A KR1020170032225 A KR 1020170032225A KR 20170032225 A KR20170032225 A KR 20170032225A KR 101836236 B1 KR101836236 B1 KR 101836236B1
Authority
KR
South Korea
Prior art keywords
authentication
user
server
key
application
Prior art date
Application number
KR1020170032225A
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 KR1020170032225A priority Critical patent/KR101836236B1/ko
Application granted granted Critical
Publication of KR101836236B1 publication Critical patent/KR101836236B1/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
    • 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/45Structures or tools for the administration of authentication
    • G06F21/46Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
    • 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/0863Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
    • 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

Abstract

본 발명은 애플리케이션 간 인증을 이용한 사용자 인증방법 및 장치, 그 프로그램을 제공한다. 본 발명은 동일 단말기 내의 애플리케이션 간의 인증을 통하여 사용자 인증절차가 간편하고 보안성을 강화할 수 있으며, 공개 네트워크상에서 개인정보 유출을 원천적으로 차단하고 해킹의 위험으로부터 자유로워 보안성이 강화되고, 전송데이터의 무결성에 대한 검증이 가능하다. 또한, 인증을 위한 인증서버, 인증기관, 웹사이트 등의 진위의 체크가 가능하고 무결성 및 유일성 확보가 가능한 사용자 인증이 가능해지는 장점이 있고, 인증정보들을 생성할 때, 이전 값을 이용하여 단방향성 변환을 수행하여 다음 값을 생성하는 체이닝(chaining) 방식을 취함에 따라, 단말기의 시간조작을 통해 미래에 생성될 값을 미리 알아내는 등의 조작 등을 원천적으로 방지할 수 있다.

Description

애플리케이션 간 인증을 이용한 사용자 인증방법 및 장치, 그 프로그램 {USER AUTHENTICATION METHOD AND APPARATUS USING AUTHENTICATION BETWEEN APPLICATIONS, PROGRAM THEREFOR}
본 발명은 애플리케이션 간 인증을 이용한 사용자 인증방법 및 장치, 그 프로그램에 관한 것이다.
현대사회는 금융거래나 각종 사용자 인증이 필요한 업무는 대면접촉보다는 온라인 환경을 통해 이루어지는 것이 일반화되어 있다. 온라인상에서의 사용자 인증은 대면접촉보다는 더 신중한 접근이 필요하여, 대부분은 사용자 단말기에 액티브엑스(ActiveX) 및 키보드 보안프로그램 등을 포함하는 각종 보안프로그램이나 제어프로그램의 설치가 요구되고 있고, 공인인증서나 보안카드, OTP(One Time Password) 장치 등의 보안장치를 통해 보안성을 강화하여 정보유출에 대비하고 있다.
대표적인 사용자 인증방법 중의 하나인 OTP 장치는 고유키가 내장된 OLTP 장치를 사용자에게 미리 지급하고, 사용자가 전자금융거래망에 접속하여 인증서버(금융기관의 서버)에 인증을 요구할 경우, 상기 고유키를 연산키로 하여 현재시간과 연관된 난수에 근거하여 OTP 번호를 생성하도록 하고 있으며, 사용자는 생성된 OLTP 번호를 비밀번호로 하여 수동으로 입력하여 인증서버에 전송하는 방식으로 진정한 사용자임을 인증하고 있다.
그러나 사용자가 다수 개의 금융기관을 거래하는 경우에는 금융기관별로 제공하는 다수의 OTP 인증장치를 각각 구비하여야 하기 때문에 소비자가 금융기관별의 OTP 인증장치를 별도로 구매해야 하고, 다수의 OTP 인증장치를 소지해야 하는 불편함이 있으며, 다수의 OLTP 인증장치 중에서 특정 금융기관용 인증장치를 일일이 찾아야 하는 불편함도 있다.
또한, OTP 장치의 고유키를 사용자가 임의로 교체할 수 없기 때문에, OTP 장치를 분실하는 경우 직접 금융기관에 방문하여 새로이 발급받아야 하는 등 불편함이 크다. 그리고 금융기관에서 고객의 OTP 장치의 고유키가 유출되는 경우에는 모든 고객에게 OTP 장치를 재발급하는 등 막대한 비용과 시간이 소요되는 문제점이 있다.
한편, 사용자가 지정한 비밀번호를 통해 인증이나 로그인이 이루어지는 경우에, 관련 서버 등에서는 사용자의 비밀번호를 등록, 저장 및 관리해야 하고, 사용자로서는 비밀번호를 인지하고 있어야 하고 유출에 대비해 정기적인 변경이 요구되므로, 관리가 불편하다는 문제점이 있다.
더불어, 해킹 기술의 발달에 따라 화면캡처, 엿보기 공격(shoulder surfing attack), 화면 모니터링 등의 화면해킹 기술 또는 PC에 설치된 스파이웨어(spyware) 등으로 인한 공인인증서나 비밀번호 등의 유출 등 정보의 유출이 다양하게 이루어지고 있고 암호화된 비밀번호라 하더라도 전문적인 해커는 어느 정도의 노력에 의해 복호화가 가능하기 때문에, 사용자 인증을 위한 절차는 사용자에게 편리성을 추구하면서도 보안성을 강화할 필요가 있다.
또한, 동일한 단말기 내에서 여러 종류의 애플리케이션을 설치할 경우, 해당 애플리케이션을 설치할 때마다 인증절차를 거쳐야 하는 불편한 문제점이 있었다.
대한민국 공개특허공보 제10-2015-0108714호 (공개일자 2015년 09월 30일)
본 발명이 해결하고자 하는 과제는 동일 단말기 내의 애플리케이션 간의 인증을 통하여 사용자 인증절차가 간편하고 보안성을 강화할 수 있는 애플리케이션 간 인증을 이용한 사용자 인증방법 및 장치, 그 프로그램을 제공하는데 있다.
본 발명의 다른 목적은 공개된 네트워크 환경에서도 정보유출에 대한 위험이 없이 편리하게 적용 가능한 애플리케이션 간 인증을 이용한 사용자 인증방법 및 장치, 그 프로그램을 제공하는데 있다.
본 발명의 또 다른 목적은 사용자가 인증을 위한 인증기관, 인증서버 등의 진위를 판별할 수 있는 애플리케이션 간 인증을 이용한 사용자 인증방법 및 장치, 그 프로그램을 제공하는데 있다.
본 발명이 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상술한 과제를 해결하기 위한 본 발명의 일 실시예에 따른 애플리케이션 간 인증을 이용한 사용자 인증방법은, 사용자등록을 위해 사용자로부터 개인비밀번호가 입력되면, 제1 애플리케이션 내 제1 인증모듈이 상기 개인비밀번호 및 상기 사용자 단말기의 기계적 고유키를 조합하여 단방향성 함수를 이용한 변환이 수행된 제1 공통인증키를 인증서버에 제공하며, 상기 인증서버가 상기 제1 공통인증키를 사용자 정보에 매칭하여 등록하되, 상기 제1 애플리케이션은 사용자 단말기에 설치되는 것인, 사용자등록단계; 상기 인증서버가 제1 서버인증키를 생성하고, 상기 제1 서버인증키 또는 제2 서버인증키에 대한 OTP(One Time Password) 연산을 수행하여 제1 서버인증정보를 생성하되, 상기 제1 서버인증키는 인증기관의 고유키와 상기 제1 공통인증키를 조합하여 변환된 것이며, 상기 제2 서버인증키는 상기 제1 서버인증키의 변환값이며, 상기 인증기관의 고유키는 상기 인증서버 내에 저장되는 것인, 제1 서버인증정보생성단계; 인증을 위해 사용자로부터 상기 개인비밀번호가 입력되면, 제1 애플리케이션 내 제1 인증모듈이 상기 개인비밀번호 및 상기 사용자 단말기의 기계적 고유키를 조합하여 변환된 제2 공통인증키를 실시간으로 생성하는 제2 공통키생성단계; 제1 사용자 인증키를 생성하고, 상기 제1 사용자 인증키 또는 제2 사용자 인증키에 대한 OTP 연산을 수행하여 제1 사용자인증정보를 생성하되, 상기 제1 사용자 인증키는 상기 인증서버로부터 미리 제공된 인증기관의 고유키와 상기 제2 공통인증키를 구성요소로 단방향성 함수를 이용한 변환을 수행하여 생성되는 것이고, 상기 제2 사용자 인증키는 상기 제1 사용자 인증키의 변환값인, 제1 사용자인증정보 생성단계; 상기 제1 서버 인증정보와 상기 제1 사용자 인증정보의 일치 여부에 따라, 상기 인증서버가 사용자인증을 수행하거나 또는 상기 제1 인증모듈이 상기 인증서버의 진위를 판단하는 인증서버 인증을 수행하는 제1 인증단계; 및 제2 애플리케이션에 의한 인증절차를 수행하는 경우, 상기 제2 애플리케이션 내 제2 인증모듈이 상기 제1 애플리케이션 내 제1 인증모듈에 의한 인증을 수행하되, 상기 제2 애플리케이션은 상기 제1 애플리케이션과 특정한 인증프로세스를 가지며, 동일한 사용자 단말기에 설치된 것인, 애플리케이션 간 인증단계;를 포함한다.
본 발명은, 상기 제1 인증모듈이 상기 제2 사용자인증정보를 생성하되, 상기 제2 사용자인증정보는 상기 제2 공통인증키와, 상기 인증서버로부터 수신된 상기 제1 서버인증정보 또는 상기 제1 사용자인증정보를 구성요소로 단방향성 함수를 이용한 변환을 수행하여 생성된 제3 사용자 인증키를 기반으로 생성되는 것인, 제2 사용자인증정보생성단계; 상기 인증서버가 제2 서버인증정보를 생성하되, 상기 제2 서버인증정보는 상기 제1 공통인증키와 상기 사용자 단말기로부터 수신된 제1 사용자 인증정보 또는 상기 제1 서버인증정보를 구성요소로 단방향성 함수를 이용한 변환을 수행하여 생성된 제3 서버인증키를 기반으로 생성되는 것인, 제2 서버인증정보 생성단계; 및 상기 제2 사용자 인증정보와 상기 제2 서버인증정보의 일치 여부를 판단하여 사용자 인증을 수행하는 제2 인증단계를 더 포함하고, 상기 애플리케이션 간 인증단계는, 상기 제2 인증모듈이 상기 제1 인증모듈에 의해 제1 인증을 수행하는 제1 인증대체수행단계; 및 상기 제2 인증모듈에 의해 상기 제2 사용자인증정보생성단계, 상기 제2 서버인증정보 생성단계 및 상기 제2 인증단계를 수행하는 단계;를 포함할 수 있다.
상기 제1 인증모듈 및 상기 제2 인증모듈은, 상기 인증서버와의 데이터교환을 통해 인증절차를 수행하는 메인모듈; 및 애플리케이션 간의 인증절차를 수행하는 종속모듈을 포함할 수 있다.
상기 제1 애플리케이션은, 상기 인증프로세스를 수행하는 인증모듈을 포함하는 애플리케이션 중에서 사용자 단말기에 최초로 설치된 애플리케이션인 것이 바람직하다.
상기 인증서버가 상기 제1 애플리케이션 내 상기 제1 인증모듈로부터 애플리케이션정보 및 제1 사용자식별정보를 수신하여 저장하는 단계를 더 포함할 수 있다.
상기 애플리케이션 간 인증단계는, 상기 인증서버가 상기 제2 애플리케이션으로부터 제2 사용자식별정보를 포함하는 인증절차 진행요청을 수신하는 단계; 상기 인증서버가 상기 제1 사용자식별정보와 상기 제2 사용자식별정보의 일치 여부를 판단하는 단계; 및 제1 사용자식별정보와 제2 사용자식별정보가 일치하는 경우, 상기 인증서버가 상기 제2 애플리케이션의 제2 인증모듈에 상기 제1 애플리케이션에 의해 인증절차 진행을 요청하는 단계를 포함할 수 있다.
본 발명은 상기 제2 애플리케이션의 상기 사용자 단말기 내 설치 시에, 상기 제2 인증모듈과 동일한 인증프로세스를 가지는 인증모듈이 포함된 제1 애플리케이션을 탐색하는 단계를 더 포함할 수 있다.
상기 애플리케이션 간 인증단계는, 제1 애플리케이션과 제2 애플리케이션이 동일한 사용자계정을 사용하는 애플리케이션인 경우, 사용자계정과 비밀번호가 일치하는지를 확인하는 것을 특징으로 하는 것이 바람직하다.
본 발명의 사용자 인증장치는 사용자등록을 위해 사용자로부터 개인비밀번호가 입력되면, 상기 개인비밀번호 및 상기 사용자 단말기의 기계적 고유키를 조합하여 단방향성 함수를 이용한 변환이 수행된 제1 공통인증키를 인증서버에 제공하고, 인증을 위해 사용자로부터 상기 개인비밀번호가 입력되면, 제1 애플리케이션 내 제1 인증모듈이 상기 개인비밀번호 및 상기 사용자 단말기의 기계적 고유키를 조합하여 변환된 제2 공통인증키를 실시간으로 생성하며, 제1 사용자 인증키를 생성하고, 상기 제1 사용자 인증키 또는 제2 사용자 인증키에 대한 OTP 연산을 수행하여 제1 사용자인증정보를 생성하되, 상기 제1 사용자 인증키는 상기 인증서버로부터 미리 제공된 인증기관의 고유키와 상기 제2 공통인증키를 구성요소로 단방향성 함수를 이용한 변환을 수행하여 생성되는 것이고, 상기 제2 사용자 인증키는 상기 제1 사용자 인증키의 변환값인, 사용자 단말기에 설치되는 제1 애플리케이션 내 제1 인증모듈; 상기 제1 인증모듈로부터 전송된 상기 제1 공통인증키를 사용자 정보에 매칭하여 등록하고, 제1 서버인증키를 생성하고, 상기 제1 서버인증키 또는 제2 서버인증키에 대한 OTP 연산을 수행하여 제1 서버인증정보를 생성하되, 상기 제1 서버인증키는 인증기관의 고유키와 상기 제1 공통인증키를 조합하여 변환된 것이며, 상기 제2 서버인증키는 상기 제1 서버인증키의 변환값이며, 상기 인증기관의 고유키는 인증서버 내에 저장되는 것이고, 상기 제1 서버 인증정보와 상기 제1 사용자 인증정보의 일치 여부에 따라, 상기 인증서버가 사용자인증을 수행하거나 또는 상기 제1 인증모듈이 상기 인증서버의 진위를 판단하는 인증서버 인증을 수행하는 인증서버; 제2 애플리케이션에 의한 인증절차를 수행하는 경우, 상기 제1 애플리케이션 내 제1 인증모듈에 의한 인증을 수행하되, 상기 제2 애플리케이션은 상기 제1 애플리케이션과 특정한 인증프로세스를 가지며, 동일한 사용자 단말기에 설치된 것인, 사용자 단말기에 설치되는 상기 제2 애플리케이션 내 제2 인증모듈;을 포함한다.
또한, 본 발명은 하드웨어인 컴퓨터와 결합하여, 제1항 내지 제8항 중 어느 한 항의 방법을 실행시키기 위하여 기록매체에 저장된, 사용자 인증 프로그램을 제공할 수 있다.
본 발명의 기타 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
상기와 같은 본 발명에 따르면, 동일 단말기 내의 애플리케이션 간의 인증을 통하여 사용자 인증절차가 간편하고 보안성을 강화할 수 있으며, 공개 네트워크상에서 개인정보 유출을 원천적으로 차단하고 해킹의 위험으로부터 자유로워 보안성이 강화되고, 전송데이터의 무결성에 대한 검증이 가능한 효과가 있다.
또한, 인증을 위한 인증서버, 인증기관, 웹사이트 등의 진위의 체크가 가능하고 무결성 및 유일성 확보가 가능한 사용자 인증이 가능해지는 장점이 있다.
또한, 인증정보들을 생성할 때, 이전 값을 이용하여 단방향성 변환을 수행하여 다음 값을 생성하는 체이닝(chaining) 방식을 취함에 따라, 단말기의 시간조작을 통해 미래에 생성될 값을 미리 알아내는 등의 조작 등을 원천적으로 방지할 수 있는 효과가 있다.
본 발명의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 애플리케이션 간 인증을 이용한 사용자 인증장치를 나타낸 블록도이다.
도 2는 본 발명의 제1 실시예에 따른 애플리케이션 간 인증을 이용한 사용자 인증방법을 나타낸 순서도이다.
도 3은 도 2에서 암호화된 제1 공통인증키를 생성하는 과정을 나타낸 블록도이다.
도 4는 도 2에서 제1 서버인증정보의 생성과정을 나타낸 블록도이다.
도 5는 도 2에서 암호화된 제2 공통인증키를 생성하는 과정을 나타낸 블록도이다.
도 6은 도 2에서 제1 사용자 인증정보의 생성과정을 나타낸 블록도이다.
도 7은 본 발명의 제2 실시예에 따른 애플리케이션 간 인증을 이용한 사용자 인증방법을 나타낸 순서도이다.
도 8은 도 7에서 제2 사용자 인증정보의 생성과정을 나타낸 블록도이다.
도 9는 도 7에서 제2 서버인증정보의 생성과정을 나타낸 블록도이다.
도 10은 도 7에서 애플리케이션 간 인증과정을 더욱 상세히 나타낸 순서도이다.
도 11은 본 발명의 다른 실시예에 따른 애플리케이션 간 인증을 이용한 사용자 인증방법을 나타낸 순서도이다.
도 12는 도 11의 애플리케이션 간 인증과정을 상세히 나타낸 개념도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야의 통상의 기술자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 명세서 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야의 통상의 기술자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
공간적으로 상대적인 용어인 "아래(below)", "아래(beneath)", "하부(lower)", "위(above)", "상부(upper)" 등은 도면에 도시되어 있는 바와 같이 하나의 구성요소와 다른 구성요소들과의 상관관계를 용이하게 기술하기 위해 사용될 수 있다. 공간적으로 상대적인 용어는 도면에 도시되어 있는 방향에 더하여 사용시 또는 동작시 구성요소들의 서로 다른 방향을 포함하는 용어로 이해되어야 한다. 예를 들어, 도면에 도시되어 있는 구성요소를 뒤집을 경우, 다른 구성요소의 "아래(below)"또는 "아래(beneath)"로 기술된 구성요소는 다른 구성요소의 "위(above)"에 놓여질 수 있다. 따라서, 예시적인 용어인 "아래"는 아래와 위의 방향을 모두 포함할 수 있다. 구성요소는 다른 방향으로도 배향될 수 있으며, 이에 따라 공간적으로 상대적인 용어들은 배향에 따라 해석될 수 있다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다.
도 1은 본 발명의 일 실시예에 따른 애플리케이션 간 인증을 이용한 사용자 인증장치를 나타낸 블록도이다.
도 1에 도시된 바와 같이, 본 발명의 실시예들에 따른 애플리케이션 간 인증을 이용한 사용자 인증방법을 위한 인증장치는 사용자 단말기(100) 및 인증서버(200)를 구비한다.
사용자 단말기(100)는 제1 애플리케이션이 설치되는 제1 인증모듈(110), 제2 애플리케이션이 설치되는 제2 인증모듈(120)을 포함하고, 제1 인증모듈(110) 및 제2 인증모듈(120)은 각각의 메인모듈(111, 121)과 종속모듈(112, 122)을 포함한다.
메인모듈(111, 121)은 상기 인증서버(200)와의 데이터교환을 통해 인증절차를 수행하고, 종속모듈(112, 122)은 애플리케이션 간의 인증절차를 수행한다.
본 발명에서 상기 제1 애플리케이션은, 상기 인증프로세스를 수행하는 인증모듈을 포함하는 애플리케이션 중에서 사용자 단말기에 최초로 설치된 애플리케이션을 의미한다.
상기 사용자 단말기(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 공통인증키를 생성하는 과정을 나타낸 블록도이고, 도 4는 도 2에서 제1 서버인증정보의 생성과정을 나타낸 블록도이고, 도 5는 도 2에서 암호화된 제2 공통인증키를 생성하는 과정을 나타낸 블록도이며, 도 6은 도 2에서 제1 사용자 인증정보의 생성과정을 나타낸 블록도이다.
도 2 내지 도 6에 도시된 바와 같이, 본 발명의 제1 실시예에 따른 사용자 인증방법은 사용자가 사용자 단말기(100)가 사용자 등록을 위해 상기 전용앱을 다운로드하여 설치하는 것으로 시작될 수 있다. 사용자 등록절차는 상기 전용앱의 설치과정에서 수행되는 것도 가능하고, 상기 전용앱의 설치 이후에 별도의 사용자 등록과정을 통해 수행되는 것도 가능하다.
우선 사용자에 의해 사용자 등록을 위한 절차가 시작되어, 사용자가 사용자 정보와 개인 비밀번호를 사용자 단말기(100)의 제1 애플리케이션 내 제1 인증모듈(110)를 통해 입력하면(S010), 상기 제1 인증모듈(110)에서는 상기 사용자 단말기(100)의 기계적 고유키를 이용하여 단방향성 함수(111)를 이용한 제1차변환을 수행하여 제1 공통인증키를 생성한다(S020).
여기서 상기 제1 공통인증키는 상기 사용자 단말기(100)의 기계적 고유키를 단독구성요소로 하여 일정기준에 의해 생성된 연산키를 통해 상기 단방향성 함수(111)를 이용한 제1차변환을 통해 생성되는 것도 가능하지만, 상기 사용자 단말기(100)의 기계적 고유키에 다른 구성요소가 추가되는 것이 가능하다.
본 발명의 제1 실시예에 경우에는 사용자가 입력한 상기 개인비밀번호가 상기 제1 공통인증키의 생성을 위한 구성요소로 추가될 수 있다.
여기서 상기 사용자 단말기(100)의 기계적 고유키는 예를 들면, 시리얼 번호나 유심번호 등을 포함할 수 있으며, 이외에 상기 사용자 단말기를 구분하기 위해 부여된 각종 고유번호, 전화번호 등을 포함할 수 있다.
상기 단방향성 함수(111)는 임의의 길이의 데이터를 고정된 길이의 데이터로 매핑하여 변환시키는 함수로, 역변환 즉 원래의 데이터로 복원하는 것이 불가능한 것으로 알려진 함수를 모두 의미할 수 있다. 상기 단방향성 함수(111)로는 MD5, SHA, SHA2, scrypt 등의 암호학적 해쉬(hash)함수와, CRC32 및 CHECKSUM 등의 비암호학적 해쉬함수를 포함하여 통상의 기술자에게 알려진 모든 단방향성 함수가 포함될 수 있으며, 상기 제1 공통인증키는 이들 단방향성 함수 중에서 선택된 어느 하나의 단방향성 함수를 이용하여 생성될 수 있다.
상기 제1 공통인증키는 도 3에 도시된 바와 같이, 상기 개인비밀번호 및 상기 사용자 단말기(100)의 기계적 고유키를 구성요소로 하여 일정기준에 의해 생성된 연산키를 통해 연산하여 제1차 변환시킴에 의해 생성될 수 있다. 상기 제1 공통인증키에는 상기 전용앱의 고유키(예를 들면, Device Token, Bundle ID, Package Name, App ID 등)가 구성요소로 더 포함될 수도 있다.
이후 상기 제1 공통인증키는 암호화유닛(112)을 통해 암호화키를 통해 암호화되는 제2차 변환을 통해 암호화된 제1 공통인증키로 생성되게 된다(S030).
여기서 암호화는 암호화를 위한 암호화키와 복호화를 위한 복호화키가 동일한 대칭키 방식이 사용될 수 있으며, Twofish, Serpent, AES, Blowfish, CAST5, RC4, 3DES, IDEA, RC6, DES 등 중에서 선택된 암호화 방식이 이용될 수 있다. 이외에도 통상의 기술자에게 잘 알려진 암호화 방식이 적용되는 것이 가능하다.
상기 사용자 단말기(100)는 상기 암호화된 제1 공통인증키를 상기 사용자 정보와 함께 상기 인증서버(200)에 전송하게 된다(S040).
상기 인증서버(200)는 상기 사용자 단말기(100)에서 전송된 상기 암호화된 제1 공통인증키를 상기 사용자 정보에 매칭하여 상기 사용자 정보와 함께 등록 및 저장하게 된다(S050).
이에 따라 사용자 등록절차가 수행되게 된다. 상기 사용자 등록절차가 수행되면 상기 사용자 단말기(100)에서는 상기 암호화된 제1 공통인증키를 삭제할 수 있다.
종래의 경우 사용자 등록이 수행되면, 통상적으로 인증서버(200)에서 개인비밀번호를 저장하고 있으나, 본 발명의 제1 실시예의 경우는 상기 인증서버(200)나 사용자 단말기(100)에서 비밀번호를 저장하고 있지 않으며, 상기 인증서버(200)에서는 단지 상기 암호화된 제1 공통인증키만을 저장하고 있게 된다.
이에 따라 사용자가 개인 비밀번호를 잊게 되거나 유출되는 경우에는 새로운 등록절차를 통해 새로운 비밀번호가 포함된 암호화된 제1 공통인증키를 상기 인증서버(200)에 전송하여 등록되도록 할 수 있어 보안성이 강화되게 된다.
또한, 단방향성 함수를 이용한 제1변환을 통해 개인정보 유출을 방지할 수 있고, 암호화의 제2변환을 통해 공개된 네트워크 환경에서 해킹의 염려없이 안전하게 사용자 인증 또는 인증서버 인증이 가능한 장점이 있다.
이후 상기 인증서버(200)에서는 내장된 인증기관의 고유키와 상기 암호화된 제1 공통인증키를 조합하여 제1 서버인증정보를 생성할 수 있다(S060).
상기 제1 서버인증정보는 도 4에 도시된 바와 같은 방식에 의해 생성가능하다.
도시된 바와 같이, 상기 인증서버(200)에서 내장된 인증기관의 고유키와 상기 암호화된 제1 공통인증키를 구성요소로 단방향성 함수(211)를 통한 변환을 통해 제1 서버인증키를 생성하고, 상기 제1 서버인증키로부터 시간정보를 이용하여 일정기준에 의해 추출되는 제2 서버인증키를 생성한다.
상기 제2 서버인증키는 별도의 시간추출값 발생기(212)를 통하여 추출되어 생성되며, 상기 제2 서버인증키는 제1 서버인증키로부터 생성된 임의의 시간 동기값을 의미할 수 있다. 상기 시간추출값 발생기(212)는 일반적인 OTP 발생기와 동작원리가 같으며, 일반적인 OTP 발생기는 출력값이 숫자로 표시되나 상기 시간추출값 발생기(212)는 출력값이 숫자나 문자 기타 다양한 기호 등으로 표시되는 점이 다르다. 이에 따라 상기 시간추출값 발생기(212)는 일반적인 OTP 연산을 수행하는 OTP 발생기를 포함하는 개념으로 이해되어야 한다.
이후 상기 인증서버(200)에서 상기 제2 서버인증키에 대한 OTP 발생기(213)을 통한 OTP 연산을 수행하여 상기 제1 서버인증정보를 생성하는 것이 가능하다.
상기 제1 서버인증정보는 사용자 등록 이후에 다른 절차와 관계없이 독립적으로 생성되는 것이 가능하다. 즉 상기 제1 서버인증정보는 상기 사용자 등록 이후부터 후술하는 제1 사용자 인증정보의 생성시까지의 시간 내에 생성되면 족하다.
그리고 상기 제1 서버인증정보를 상기 사용자 단말기(100)로 전송하는 경우에도, 생성 즉시 전송하는 것도 가능하고, 필요하다고 판단되는 시점에 전송하는 것도 가능하다. 또한 사용자 단말기(100)의 요청에 의해 전송하는 것도 가능하다.
이후, 사용자에 의해 인증절차가 시작되어 상기 사용자 단말기(100)의 제1 애플리케이션 내 제1 인증모듈(110)에서 사용자로부터 인증을 위해 상기 개인비밀번호가 입력되면(S070), 상기 제1 인증모듈(110)에서는 상기 사용자 단말기(100)의 기계적 고유키를 이용하여 단방향성 함수(111)를 이용한 제1차변환을 수행하여 제2 공통인증키를 생성한다(S080).
여기서 상기 제2 공통인증키는 상기 사용자 단말기(100)의 기계적 고유키를 단독구성요소로 하여 일정기준에 의해 생성된 연산키를 통해 상기 단방향성 함수(111)를 이용한 제1차변환을 통해 생성되는 것도 가능하지만, 상기 사용자 단말기(100)의 기계적 고유키에 다른 구성요소가 추가되는 것이 가능하다.
본 발명의 제1 실시예에 경우에는 제1 공통인증키의 생성방식과 동일하게 사용자가 입력한 상기 개인비밀번호가 상기 제2 공통인증키의 생성을 위한 구성요소로 추가될 수 있다.
즉 상기 개인비밀번호 및 상기 사용자 단말기(100)의 기계적 고유키를 조합하여 단방향성 함수(111)를 이용한 제1차변환을 수행하여 제2 공통인증키를 생성한다(S080).
상기 단방향성 함수(111)는 상기 제1 공통인증키를 생성한 단방향성 함수와 동일함수가 사용될 수 있으며, 동일방식으로 적용가능하다.
상기 제2 공통인증키는 상기 제1 공통인증키의 생성방식과 동일하게, 상기 개인비밀번호 및 상기 사용자 단말기(100)의 기계적 고유키를 구성요소로 하여 일정기준에 의해 생성된 연산키를 통해 연산하여 제1차 변환시킴에 의해 생성될 수 있다.
상기 제2 공통인증키에는 상기 전용앱의 고유키(예를 들면, Device Token, Bundle ID, Package Name, App ID 등)가 구성요소로 더 포함될 수도 있다. 이는 상기 제1 공통인증키에 상기 전용앱의 고유키가 구성요소로 포함된 경우에 대응하여 가능할 것이다.
이후 상기 제2 공통인증키는 제1 공통인증키의 경우와 동일하게, 암호화유닛(112)을 통해 상기 암호화키를 통해 암호화되는 제2차 변환을 통해 암호화된 제2 공통인증키로 생성되게 된다(S090). 암호화 방식은 제1 공통인증키의 경우와 동일하게 적용된다(도 5 참조).
이후 상기 사용자 단말기(100)에서는 상기 암호화된 제2 공통인증키를 이용하여 제1 사용자 인증정보를 생성하게 된다(S100). 상기 제1 사용자 인증정보에 대응되는 상기 제1 서버인증정보의 생성에 대해서는 이미 설명한 바 있다.
상기 제1 사용자인증정보는 도 6에 도시된 바와 같이, 생성 가능하다.
상기 인증서버(200)에서 미리 제공된 인증기관의 고유키와 상기 암호화된 제2 공통인증키를 구성요소로 단방향성 함수(211)를 통한 변환을 통해 제1 사용자인증키를 생성하고, 상기 제1 사용자인증키로부터 시간정보를 이용하여 일정기준에 의해 추출되는 제2 사용자 인증키를 생성한다. 상기 인증기관의 고유키는 상기 전용앱의 설치시에 내장되어 제공되거나, 인증절차의 개시전에 업데이트 등을 통해 제공되는 것이 가능하다.
상기 제2 사용자 인증키는 별도의 시간추출값 발생기(212)를 통하여 추출되어 생성되며, 상기 제2 사용자 인증키는 제1 사용자인증키로부터 생성된 임의의 시간 동기값을 의미할 수 있다. 상기 시간추출값 발생기(212)는 일반적인 OTP 발생기와 동작원리가 같으며, 일반적인 OTP 발생기는 출력값이 숫자로 표시되나 상기 시간추출값 발생기(212)는 출력값이 숫자나 문자 기타 다양한 기호 등으로 표시되는 점이 다르다. 이에 따라 상기 시간추출값 발생기(120)는 일반적인 OTP 연산을 수행하는 OTP 발생기를 포함하는 개념으로 이해되어야 한다.
이후 상기 사용자 단말기(100)에서 상기 제2 사용자인증키에 대하여 OTP 발생기(213)를 통한 OTP 연산을 수행하여 상기 제1 사용자인증정보를 생성하는 것이 가능하다.
여기서 상기 제1 사용자 인증정보의 생성방식은 상기 제1 서버인증정보의 생성방식과 동일성이 유지되어야 한다. 상기 제1 서버인증정보가 도 4를 통해 설명된 방식으로 생성되면 상기 제1 사용자 인증정보 또한 도 6를 통해 설명한 방식으로 생성되어야 할 것이다. 또한, 단방향성 함수나 OTP 연산 등도 서로 대응되도록 적용되어야 할 것이다.
이후 상기 제1 사용자 인증정보가 상기 사용자 단말기(100)를 통해 상기 인증서버(200)로 전송되면(S110), 상기 인증서버(200)에서는 인증정보의 일치여부, 즉 상기 제1 사용자 인증정보와 상기 제1 서버인증정보의 일치여부에 따라 사용자 인증을 수행하게 된다(S120). 상기 제1 사용자 인증정보는 수동으로 사용자에 의해 입력되어 전송되는 것도 가능하고, 자동으로 전송되도록 하는 것도 가능하고, 사용자의 전송지시에 의해 자동으로 전송되도록 하는 것도 가능하다.
여기에서, 상기 사용자 단말기(100)는 상기 인증서버(200)와 연결된 하나 또는 복수의 사용자 단말기가 사용되는 것이 가능하다. 예를 들어 제1 사용자 단말기(100)로 암호화된 제1 공통인증키 등의 등록절차를 진행하고 제2 사용자 단말기(100)로 인증절차를 진행하는 것이 가능하고, 이의 반대의 경우도 가능하다. 또한 인증절차의 경우에도, 제1 사용자 인증정보는 상기 제1 사용자 단말기(100)를 통해 생성하고, 상기 제1 사용자 인증정보의 입력이나 전송은 상기 제2 사용자 단말기(100)를 통해 수행되는 것이 가능하다. 이외에도 다양한 절차에서 복수의 사용자 단말기(100)가 이용되는 것이 가능하다.
그리고, 상기 제1 사용자 인증정보와 상기 제1 서버인증정보를 사용자가 사용자 단말기(100)에서 비교하는 것으로, 상기 인증서버(200)의 진위여부, 인증서버(200)에 연결된 접속 웹페이지의 진위여부 또는 인증서비스를 공급하는 서비스 공급자 또는 인증기관의 진위여부를 확인하는 것이 가능하다. 종래의 경우 인증기관을 사칭하여 인증기관의 접속 웹페이지와 유사하게 구성하여 사용자를 혼동시키는 사례가 많음에도 이에 대한 마땅한 대응책이 없었던 것이 사실이다. 본 발명에서는 이러한 문제점을 해결하기 위해 인증기관(또는 서비스 공급자)의 진위여부를 사용자가 확인하는 것이 가능하다.
이를 위해 상기 제1 서버인증정보가 생성되는 경우 상기 인증서버(200)에서는 상기 제1 서버인증정보를 상기 접속 웹페이지를 통해 표시하도록 하거나 상기 사용자 단말기(100)로 전송하도록 한다(S130). 상기 제1 서버인증정보가 표시되거나 전송되면, 이를 상기 사용자 단말기(100)에서 상기 제1 사용자 인증정보와 비교함에 의해 상기 인증서버(200)가 진정한 인증서버인지 상기 접속 웹페이지가 진정한 것인지 진위여부를 판별하는 인증서버 인증이 가능하다(S140). 즉 상기 인증서버(200)의 진위여부, 인증서버(200)에 연결된 접속 웹페이지의 진위여부 또는 인증서비스를 공급하는 서비스 공급자 또는 인증기관의 진위여부를 확인하는 것이 가능하다.
여기서 상기 제1 서버인증정보가 상기 암호화된 제2 공통인증키 생성 전에 미리 상기 사용자 단말기(100)로 전송된 상태인 경우에는 재전송하거나 별도로 전송할 필요없이 미리 전송된 상기 제1 서버인증정보를 이용하여 인증서버 인증을 수행하게 된다.
여기서 상기 인증서버(200)의 인증절차(S110, S120)와 상기 사용자 단말기(100)의 인증 절차(S130, S140)는 동시에 수행되는 것도 가능하고, 상기 인증서버(200)의 인증절차가 먼저 수행된 이후에 인증이 확인되면 상기 사용자 단말기(100)의 인증 절차가 수행되는 것도 가능하고, 인증서버(200)의 인증절차 또는 사용자 단말기(100)의 인증절차 중 어느 하나가 선택되어 수행되는 것도 가능하다.
상술한 본 발명의 제1 실시예의 경우에 상기 사용자 단말기(100)와 상기 인증서버(200) 간에 전송되는 모든 데이터는 공개키 방식의 암호화가 수행되어 전송될 수 있다.
이후, 제2 애플리케이션에 의한 인증절차를 수행하는 경우, 상기 제2 애플리케이션 내 제2 인증모듈(120)이 상기 제1 애플리케이션 내 제1 인증모듈(130)에 의한 인증을 수행한다(S150). 이때, 상기 제2 애플리케이션은 상기 제1 애플리케이션과 특정한 인증프로세스를 가지며, 동일한 사용자 단말기에 설치되는 것이 바람직하다.
도 7은 본 발명의 제2 실시예에 따른 애플리케이션 간 인증을 이용한 사용자 인증방법을 나타낸 순서도이고, 도 8은 도 7에서 제2 사용자 인증정보의 생성과정을 나타낸 블록도이고, 도 9는 도 7에서 제2 서버인증정보의 생성과정을 나타낸 블록도이다.
도 7 내지 도 9에 도시된 바와 같이, 본 발명의 제2 실시예에 따른 애플리케이션 간 인증을 이용한 사용자 인증방법은, 본 발명의 제1 실시예를 통해 설명된 인증절차를 모두 포함하며, 상기 제1 사용자 인증정보와 상기 제1 서버인증정보를 통해 사용자 인증(S120) 또는 인증서버 인증(S140)이 이루어진 상태에서 추가되는 과정을 포함한다. 따라서, 상기 제1 사용자 인증정보와 상기 제1 서버인증정보를 통해 사용자 인증(S120) 또는 인증서버 인증(S140)이 이루어지는 과정은 본 발명의 제1 실시예를 통해 설명되었음으로 자세한 설명을 생략한다.
상기 제1 서버인증정보 및 상기 제1 사용자 인증정보가 생성되고 상기 사용자 인증(S120) 또는 인증서버 인증(S140)이 수행되기 전 단계 또는 상기 제1 서버인증정보 및 상기 제1 사용자 인증정보를 통한 상기 사용자 인증(S120) 또는 인증서버 인증(S140)이 수행된 이후에, 상기 사용자 단말기(100)의 제1 인증모듈(110)에서는 상기 제1 사용자 인증정보 또는 상기 제1 서버인증정보와 상기 제2 공통인증키를 이용하여 제2 사용자 인증정보를 생성하게 된다(S150).
상기 제2 사용자 인증정보의 생성을 위한 구성요소로는 제1 사용자 인증정보 및 상기 제2 공통인증키가 사용되는 것이 일반적이나, 상기 인증서버(200)에서 상기 제1 서버인증정보가 전송된 경우에는, 상기 제1 서버인증정보가 이용될 수도 있다. 이는 상기 제1 서버인증정보와 상기 제1 사용자 인증정보가 서로 동일한 값이라는 전제에서 가능한 것이다. 이하에서는 제1 사용자 인증정보를 이용하여 상기 제2 사용자 인증정보를 생성하는 경우를 설명한다.
또한, 상기 제2 공통인증키는 상기 암호화된 제2 공통인증키를 복호화키를 이용하여 복호화한 제2 공통인증키를 의미하거나, 암호화되지 않은 상태의 제2 공통인증키를 말한다. 이하에서 제2 공통인증키에 별다른 수식어가 없는 경우에, 상기 제2 공통인증키는 복호화된 제2 공통인증키를 의미하거나, 암호화되지 않은 상태의 제2 공통인증키를 의미하게 된다
상기 제2 사용자 인증정보는 도 8에 도시된 바와 같은 방식에 의해 생성 가능하다.
도시된 바와 같이, 상기 제2 공통인증키와 상기 제1 사용자 인증정보를 구성요소로 단방향성 함수(111)를 통한 변환을 통해 제3 사용자인증키를 생성하고, 상기 제3 사용자인증키에 대한 OTP 연산을 하여 시간값으로 동기화된 상기 제2 사용자인증정보를 생성할 수 있다.
여기서 상기 제3 사용자인증키는 상기 제2 공통인증키를 연산키로 하여 상기 제1 사용자 인증정보에 상기 단방향성 함수(111)를 통한 변환을 수행하여 생성될 수 있다. 또한, 상기 제2 사용자 인증정보는 OTP 발생기(113)를 통한 OTP 연산을 통해 생성될 수 있다.
상기 제2 사용자 인증정보가 생성되면, 상기 사용자 단말기(100)의 제1 인증모듈(110)에서는 상기 제2 사용자 인증정보와 상기 암호화된 제1 공통인증키의 복호화를 위한 복호화키를 상기 인증서버(200)에 제공한다(S160).
상기 인증서버(200)에서는 상기 사용자 단말기(100)의 제1 인증모듈(110)에서 제공된 상기 복호화키를 이용하여 상기 암호화된 제1 공통인증키를 제1 공통인증키로 복호화한다. 이하에서는 별도의 수식어가 없는 제1 공통인증키의 용어는 복호화된 제1 공통인증키를 의미할 수 있다.
그리고 상기 제1 공통인증키와 상기 제1 서버인증정보를 이용하여 제2 서버인증정보를 생성하게 된다(S170). 여기서 상기 사용자 단말기(100)에서 상기 제1 사용자 인증정보가 전송된 경우에는 상기 제1 서버인증정보 대신에 상기 제1 사용자 인증정보가 사용될 수 있음은, 상기 제2 사용자 인증정보의 생성시와 같다.
상기 제2 서버인증정보는 도 9에 도시된 바와 같은 방식에 의해 생성 가능하다.
도시된 바와 같이, 상기 인증서버(200)에서 상기 제1 서버인증정보와 상기 제1 공통인증키를 구성요소로 단방향성 함수(211)를 통한 변환을 통해 제3 서버인증키를 생성하고, 상기 제3 서버인증키에 대한 OTP 연산을 하여 시간값으로 동기화된 제2 서버인증정보를 생성할 수 있다. 여기서 상기 제3 서버인증키는 상기 제1 공통인증키를 연산키로 하여 상기 제1 서버인증정보에 대하여 상기 단방향성 함수(211)를 통한 변환을 수행하여 생성될 수 있다. 또한, 상기 제2 서버인증정보는 상기 제3 서버인증키에 대하여 OTP 발생기(213)를 통한 OTP 연산을 통해 생성될 수 있다.
여기서 상기 제2 사용자 인증정보와 상기 제2 서버인증정보의 생성방식과 동일성이 유지되어야 한다. 상기 제2 서버인증정보가 도 9를 통해 설명된 방식으로 생성되면 상기 제2 사용자 인증정보 또한 도 8을 통해 설명한 방식으로 생성되어야 할 것이다. 또한, 단방향성 함수나 OTP 연산, 시간값 추출 등도 대응하여 동일한 방식이 적용되어야 할 것이다.
이후 상기 인증서버(200)에서는 인증정보의 일치 여부, 즉 상기 제2 사용자 인증정보와 상기 제2 서버인증정보의 일치 여부에 따라 사용자 인증을 수행하게 된다(S180). 상기 제2 사용자 인증정보는 수동으로 사용자에 의해 입력되어 전송되는 것도 가능하고, 자동으로 전송되도록 하는 것도 가능하고, 사용자의 전송지시에 의해 자동으로 전송되도록 하는 것도 가능하다.
또한, 본 발명의 상기 애플리케이션 간 인증단계는, 상기 제2 인증모듈(120)이 상기 제1 인증모듈(110)에 의해 제1 인증을 수행하는 제1 인증대체수행단계(S200) 및 상기 제2 인증모듈에 의해 상기 제2 사용자인증정보생성단계(S210), 상기 제2 서버인증정보 생성단계(S220) 및 상기 제2 인증단계를 수행하는 단계(S230)를 포함한다.
상기 제1 인증대체수행단계(S200)는 인증서버(200)와 데이터 교환을 통해 수행되는 1차인증 과정을 앱간으로 대체하는 과정을 의미한다.
즉, 제1 사용자 인증정보가 상기 사용자 단말기(100)의 제1 인증모듈(110)에서 제2 인증모듈(120)로 전송되면, 상기 제2 인증모듈(120)에서는 인증정보의 일치 여부, 즉 상기 제1 사용자 인증정보와 제2 사용자 인증정보의 일치 여부에 따라 사용자 인증을 수행하게 된다.
상기 제1 사용자 인증정보는 수동으로 사용자에 의해 입력되어 전송되는 것도 가능하고, 자동으로 전송되도록 하는 것도 가능하고, 사용자의 전송지시에 의해 자동으로 전송되도록 하는 것도 가능하다.
또한, 상기 제2 인증모듈(120)에 의해 상기 제2 사용자인증정보생성단계(S210), 상기 제2 서버인증정보 생성단계(S220) 및 상기 제2 인증단계를 수행하는 단계(S230)는 도 8 및 도 9를 통하여 설명한 구성과 동일하며, 다만 사용자 단말기(100)의 제2 인증모듈(120)이 주체가 되는 점에서 차이가 있다.
즉, 상기 사용자 단말기(100)의 제2 인증모듈(120)에서는 상기 제1 사용자 인증정보 또는 상기 제1 서버인증정보와 상기 제2 공통인증키를 이용하여 제2 사용자 인증정보를 생성하게 된다(S210).
상기 제2 사용자 인증정보는 도 8에 도시된 바와 같은 방식에 의해 생성 가능하며, 이러한 과정은 전술한 도 8을 통해 상세히 설명되었음으로 여기서는 자세한 설명을 생략한다.
상기 제2 사용자 인증정보가 생성되면, 상기 사용자 단말기(100)의 제2 인증모듈(120)에서는 상기 제2 사용자 인증정보와 상기 암호화된 제1 공통인증키의 복호화를 위한 복호화키를 상기 인증서버(200)에 제공한다(S220).
상기 인증서버(200)에서는 상기 사용자 단말기(100)의 제2 인증모듈(120)에서 제공된 상기 복호화키를 이용하여 상기 암호화된 제1 공통인증키를 제1 공통인증키로 복호화한다. 이하에서는 별도의 수식어가 없는 제1 공통인증키의 용어는 복호화된 제1 공통인증키를 의미할 수 있다.
그리고 상기 제1 공통인증키와 상기 제1 서버인증정보를 이용하여 제2 서버인증정보를 생성하게 된다(S230). 여기서 상기 사용자 단말기(100)에서 상기 제1 사용자 인증정보가 전송된 경우에는 상기 제1 서버인증정보 대신에 상기 제1 사용자 인증정보가 사용될 수 있음은, 상기 제2 사용자 인증정보의 생성시와 같다.
상기 제2 서버인증정보는 도 9에 도시된 바와 같은 방식에 의해 생성 가능하며, 이러한 과정은 전술한 도 9를 통해 상세히 설명되었음으로 여기서는 자세한 설명을 생략한다.
이후 상기 인증서버(200)에서는 인증정보의 일치 여부, 즉 상기 제2 사용자 인증정보와 상기 제2 서버인증정보의 일치 여부에 따라 사용자 인증을 수행하게 된다(S240).
도 10은 도 7에서 애플리케이션 간 인증과정을 더욱 상세히 나타낸 블록도이다.
도시된 바와 같이 발명에 따른 애플리케이션 간 인증을 이용한 사용자 인증방법은, 상기 제1 애플리케이션 내 상기 제1 인증모듈로부터 애플리케이션정보 및 제1 사용자식별정보를 전송하고(S250), 상기 인증서버가 상기 애플리케이션정보 및 제1 사용자식별정보를 수신하여 저장하는 단계(S260)를 더 포함한다.
본 발명에서 정의하는 애플리케이션은 애플리케이션 소프트웨어(Application Software)의 준말로서 응용 소프트웨어라고도 불리며, 운영체제를 제외한 나머지 소프트웨어/프로그램을 말한다. 응용 소프트웨어는 넓은 의미에서는 운영 체제에서 실행되는 모든 소프트웨어를 뜻한다. 따라서 워드프로세서, 스프레드시트, 웹브라우저들뿐만 아니라 컴파일러나 링커 등도 응용 소프트웨어인 셈이다. 또는 좁은 의미에서는 OS 위에서 사용자가 직접 사용하게 되는 소프트웨어들을 뜻한다. 이런 경우 컴파일러나 링커 등 시스템소프트웨어를 제외한 워드프로세서 등의 소프트웨어들만을 주로 뜻한다. 이렇게 뜻을 한정할 경우 응용 소프트웨어는 시스템 소프트웨어의 여집합이라고도 생각할 수 있다. 간단하게 줄여서 애플리케이션이라고 하며 더 줄여서 어플 또는 앱(app)이라고 부르기도 한다.
본 발명의 상기 애플리케이션정보는 앱종류, 명칭, 유형, 패키지명, 버전, 날짜, 개발자 정보, 운영체제 정보 등을 포함할 수 있다.
상기 사용자식별정보는 개인식별정보로서 상기 사용자 단말기와 관련된 사용자 식별을 위한 개인 정보일 수 있다. 개인 정보(個人 情報)는 개인에 관한 정보 가운데 직, 간접적으로 각 개인을 식별할 수 있는 정보를 가리킨다. 특히, 개인을 식별할 수 있는 기록된 정보 중 주로 체계적으로 관리되고 이용되는 정보를 의미한다. 본 발명의 사용자식별정보는 개인의 휴대전화기번호, 단말기 고유키(시리얼번호 또는 유심번호), 이메일 주소, 개인 전화번호, 주민등록번호 등을 포함할 수 있다.
또한, 상기 애플리케이션 간 인증단계는, 상기 인증서버(200)가 상기 제2 애플리케이션으로부터 제2 사용자식별정보를 포함하는 인증절차 진행요청을 수신하는 단계(S270), 상기 인증서버(200)가 상기 제1 사용자식별정보와 상기 제2 사용자식별정보의 일치 여부를 판단하는 단계(S280) 및 제1 사용자식별정보와 제2 사용자식별정보가 일치하는 경우, 상기 인증서버(200)가 상기 제2 애플리케이션의 제2 인증모듈(120)에 상기 제1 애플리케이션에 의해 인증절차 진행을 요청하는 단계(S290)를 포함한다.
이러한 과정을 통하여, 인증서버(200)가 단말기(100) 상의 애플리케이션 중에서 어떠한 앱이 메인 어플인지를 확인할 수 있다(S300).
또한, 상기 제2 애플리케이션의 상기 사용자 단말기 내 설치 시에, 상기 제2 인증모듈(120)과 동일한 인증프로세스를 가지는 인증모듈이 포함된 제1 애플리케이션을 탐색하는 동일애플리케이션 탐색단계(310)를 더 포함한다.
상기 동일애플리케이션 탐색단계는, 제1 애플리케이션과 제2 애플리케이션이 동일한 사용자계정을 사용하는 애플리케이션인 경우, 사용자계정과 비밀번호가 일치하는지를 확인할 수 있다(S320).
더욱 상세하게는, 상기 제1 애플리케이션과 제2 애플리케이션의 각각의 애플리케이션정보 및 사용자식별정보를 비교하여 제2 애플리케이션 설치 시에 동일한 인증프로세스를 가지는 제1 애플리케이션이 설치되어 있는지 판단할 수 있다.
일례로, 상기 제2 인증모듈(120)에서 제2 애플리케이션 설치 시에, 제1 인증모듈(110)에서 상기 제1 애플리케이션의 애플리케이션정보 및 사용자식별정보를 제2 인증모듈(120)로 전송하면, 상기 제2 인증모듈(120)에서는 상기 제1 애플리케이션과 제2 애플리케이션의 애플리케이션정보 및 사용자식별정보를 비교하여 일치 여부에 따라 동일애플리케이션 여부를 확인할 수 있다.
전술한 바와 같이, 사용자 단말기(100)는 제1 애플리케이션이 설치되는 제1 인증모듈(110), 제2 애플리케이션이 설치되는 제2 인증모듈(120)을 포함하고, 제1 인증모듈(110) 및 제2 인증모듈(120)은 각각의 메인모듈(111, 121)과 종속모듈(112, 122)을 포함한다.
메인모듈(111, 121)은 상기 인증서버(200)와의 데이터교환을 통해 인증절차를 수행하고, 종속모듈(112, 122)은 애플리케이션 간의 인증절차를 수행한다.
따라서, 제2 애플리케이션 설치시, 제2 인증모듈(120)의 메인모듈(121)에서 상기 인증서버(200)와의 데이터교환을 통해 제1 애플리케이션이 존재하는 것으로 확인되면, 종속모듈(122)을 활성화하여 제1 인증모듈의(110)의 종속모듈(112)의 제1 애플리케이션과 인증절차를 진행할 수 있다.
해당 설정은 제2 인증모듈(120) 자체로 수행할 수도 있고, 인증서버(200)에 의해서도 수행될 수 있다.
도 11은 본 발명의 다른 실시예에 따른 애플리케이션 간 인증을 이용한 사용자 인증방법을 나타낸 순서도이고, 도 12는 도 11의 애플리케이션 간 인증과정을 상세히 나타낸 개념도이다.
사용자 단말기(100)는 Members 애플리케이션(101), Card 애플리케이션(102), Pay 애플리케이션(103)을 포함한다.
상기 Member, Card, Pay 애플리케이션(101, 102, 103)은 사용자 인증 기술이 포함되어 있는 각각의 애플리케이션을 의미한다. 예를 들면, 동일한 인증모듈을 포함하는 계열사 애플리케이션일 수 있다.
본 발명 실시예의 사용자 인증기술은 현재의 사용자계정 정보를 중앙집중식 저장소에 저장하고 1:1로 매칭하며, 경우에 따라 별도의 인증센터를 두고 3자 보증하는 방법을 탈피한 기술이다. 즉, 사용자 계정정보는 오픈되어도 되고 동적으로 매칭되며, 양방향으로 상호인증하는 절차를 여러 번 거치는 인증방식이 적용될 수 있다. 
상기 Members 애플리케이션(101)이 제1 애플리케이션에 해당하고, 상기 card 애플리케이션(102)이 제2 애플리케이션에 해당할 수 있다.
상기 Pay 애플리케이션(103)은 메인 어플이 삭제된 경우에 다시 메인 어플을 설정하여야 하는 경우를 설명하기 위한 것이다.
먼저, 도시된 바와 같은 구성에 따른 애플리케이션 인증 과정에 대하여 설명하면 다음과 같다.
사용자 단말기(100)의 Members 애플리케이션(101)에서 통신사 서버(200)에 접속하여 본인인증을 수행한다. 이때, Members 애플리케이션(101)은 사용자 인증키를 생성하고, 휴대전화기번호, 사용자 인증키를 포함하여 상기 서버(200)에 메인 어플 등록을 요청한다(S401~S403).
상기 서버(200)는 상기 Members 애플리케이션(101)의 메인 어플 등록요청을 수신하고, 해당 애플리케이션의 등록요청을 완료한다(S404).
이후, 사용자 단말기(100)의 Card 애플리케이션(102)에서 간편 본인인증이 시작되고 사용자의 휴대전화기 번호를 입력하면, 상기 휴대전화기번호가 상기 서버(200)로 전송된다(S405~ S406).
이후, 상기 서버(200)에서 상기 Card 애플리케이션(102)으로 메인 어플을 전송한다(S407).
상기 Card 애플리케이션(102)에서 메인 어플이 실행되고, 상기 본인인증시 입력된 휴대전화기 번호가 Card 애플리케이션(102)에서 Members 애플리케이션(101)으로 전달된다(S408).
상기 Members 애플리케이션(101)은 상기 서버(200)에 OTP를 요청하면서 휴대전화기 번호를 전송한다(S409).
이에 따라 상기 서버(200)는 OTP를 상기 Members 애플리케이션(101)으로 전송한다(S410).
상기 Members 애플리케이션(101)은 상기 서버(200)에 전송된 OTP를 검증하고 인증을 완료한다(S411~ S412).
다음으로, 애플리케이션 삭제 과정에 대하여 설명하면 다음과 같다.
먼저, 사용자 단말기(100)의 Members 애플리케이션(101)에서 앱 삭제가 요청되면, Pay 애플리케이션(103)에서 간편 본인인증이 시작되고 사용자의 휴대전화기 번호를 입력하면, 상기 핸드폰번호가 상기 서버(200)로 전송된다(S413~ S415).
이후, 상기 서버(200)에서 상기 Pay 애플리케이션(103)으로 메인 어플을 전송한다(S416).
이후, 상기 Pay 애플리케이션(103)은 상기 메인 어플의 삭제를 확인하고, 최초 통신사 서버와의 본인인증을 다시 시작하고 이에 따라 신규 메인 어플의 등록을 진행한다(S417~ S419).
이상에서 전술한 본 발명의 일 실시예에 따른 사용자 인증방법은, 하드웨어인 컴퓨터(즉, 정품인증서버)와 결합하여 실행되기 위해 프로그램(또는 애플리케이션)으로 구현되어 매체에 저장될 수 있다.
상기 전술한 프로그램은, 상기 컴퓨터가 프로그램을 읽어들여 프로그램으로 구현된 상기 방법들을 실행시키기 위하여, 상기 컴퓨터의 프로세서(CPU)가 상기 컴퓨터의 장치 인터페이스를 통해 읽힐 수 있는 C, C++, JAVA, 기계어 등의 컴퓨터 언어로 코드화된 코드(Code)를 포함할 수 있다. 이러한 코드는 상기 방법들을 실행하는 필요한 기능들을 정의한 함수 등과 관련된 기능적인 코드(Functional Code)를 포함할 수 있고, 상기 기능들을 상기 컴퓨터의 프로세서가 소정의 절차대로 실행시키는데 필요한 실행 절차 관련 제어 코드를 포함할 수 있다. 또한, 이러한 코드는 상기 기능들을 상기 컴퓨터의 프로세서가 실행시키는데 필요한 추가 정보나 미디어가 상기 컴퓨터의 내부 또는 외부 메모리의 어느 위치(주소 번지)에서 참조되어야 하는지에 대한 메모리 참조관련 코드를 더 포함할 수 있다. 또한, 상기 컴퓨터의 프로세서가 상기 기능들을 실행시키기 위하여 원격(Remote)에 있는 어떠한 다른 컴퓨터나 서버 등과 통신이 필요한 경우, 코드는 상기 컴퓨터의 통신 모듈을 이용하여 원격에 있는 어떠한 다른 컴퓨터나 서버 등과 어떻게 통신해야 하는지, 통신 시 어떠한 정보나 미디어를 송수신해야 하는지 등에 대한 통신 관련 코드를 더 포함할 수 있다.
상기 저장되는 매체는, 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상기 저장되는 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있지만, 이에 제한되지 않는다. 즉, 상기 프로그램은 상기 컴퓨터가 접속할 수 있는 다양한 서버상의 다양한 기록매체 또는 사용자의 상기 컴퓨터상의 다양한 기록매체에 저장될 수 있다. 또한, 상기 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장될 수 있다.
이상, 첨부된 도면을 참조로 하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며, 제한적이 아닌 것으로 이해해야만 한다.
100 : 사용자 단말기
110 : 제1 인증모듈
120 : 제2 인증모듈
111, 121 : 메인모듈
112, 122 : 종속모듈
200 : 인증서버

Claims (10)

  1. 사용자등록을 위해 사용자로부터 개인비밀번호가 입력되면, 제1 애플리케이션 내 제1 인증모듈이 상기 개인비밀번호 및 사용자 단말기의 기계적 고유키를 조합하여 단방향성 함수를 이용한 변환이 수행된 제1 공통인증키를 인증서버에 제공하며, 상기 인증서버가 상기 제1 공통인증키를 사용자 정보에 매칭하여 등록하되, 상기 제1 애플리케이션은 사용자 단말기에 설치되는 것인, 사용자등록단계;
    상기 인증서버가 제1 서버인증키를 생성하고, 상기 제1 서버인증키 또는 제2 서버인증키에 대한 OTP(One Time Password) 연산을 수행하여 제1 서버인증정보를 생성하되, 상기 제1 서버인증키는 인증기관의 고유키와 상기 제1 공통인증키를 조합하여 변환된 것이며, 상기 제2 서버인증키는 상기 제1 서버인증키의 변환값이며, 상기 인증기관의 고유키는 상기 인증서버 내에 저장되는 것인, 제1 서버인증정보생성단계;
    인증을 위해 사용자로부터 상기 개인비밀번호가 입력되면, 제1 애플리케이션 내 제1 인증모듈이 상기 개인비밀번호 및 사용자 단말기의 기계적 고유키를 조합하여 변환된 제2 공통인증키를 실시간으로 생성하는 제2 공통키생성단계;
    제1 사용자 인증키를 생성하고, 상기 제1 사용자 인증키 또는 제2 사용자 인증키에 대한 OTP 연산을 수행하여 제1 사용자인증정보를 생성하되, 상기 제1 사용자 인증키는 상기 인증서버로부터 미리 제공된 인증기관의 고유키와 상기 제2 공통인증키를 구성요소로 단방향성 함수를 이용한 변환을 수행하여 생성되는 것이고, 상기 제2 사용자 인증키는 상기 제1 사용자 인증키의 변환값인, 제1 사용자인증정보 생성단계;
    상기 제1 서버 인증정보와 상기 제1 사용자 인증정보의 일치 여부에 따라, 상기 인증서버가 사용자인증을 수행하거나 또는 상기 제1 인증모듈이 상기 인증서버의 진위여부를 판단하는 인증서버 인증을 수행하는 제1 인증단계; 및
    제2 애플리케이션에 의한 인증절차를 수행하는 경우, 상기 제2 애플리케이션 내 제2 인증모듈이 상기 제1 애플리케이션 내 제1 인증모듈에 의한 인증을 수행하되, 상기 제2 애플리케이션은 상기 제1 애플리케이션과 특정한 인증프로세스를 가지며, 동일한 사용자 단말기에 설치된 것인, 애플리케이션 간 인증단계;를 포함하는 사용자 인증방법.
  2. 제1항에 있어서,
    상기 제1 인증모듈이 제2 사용자인증정보를 생성하되, 상기 제2 사용자인증정보는 상기 제2 공통인증키와, 상기 인증서버로부터 수신된 상기 제1 서버인증정보 또는 상기 제1 사용자인증정보를 구성요소로 단방향성 함수를 이용한 변환을 수행하여 생성된 제3 사용자 인증키를 기반으로 생성되는 것인, 제2 사용자인증정보생성단계;
    상기 인증서버가 제2 서버인증정보를 생성하되, 상기 제2 서버인증정보는 상기 제1 공통인증키와 상기 사용자 단말기로부터 수신된 제1 사용자 인증정보 또는 상기 제1 서버인증정보를 구성요소로 단방향성 함수를 이용한 변환을 수행하여 생성된 제3 서버인증키를 기반으로 생성되는 것인, 제2 서버인증정보 생성단계; 및
    상기 제2 사용자 인증정보와 상기 제2 서버인증정보의 일치 여부를 판단하여 사용자 인증을 수행하는 제2 인증단계;를 더 포함하고,
    상기 애플리케이션 간 인증단계는,
    상기 제2 인증모듈이 상기 제1 인증모듈에 의해 제1 인증을 수행하는 제1 인증대체수행단계; 및
    상기 제2 인증모듈에 의해 상기 제2 사용자인증정보생성단계, 상기 제2 서버인증정보 생성단계 및 상기 제2 인증단계를 수행하는 단계를 포함하는, 사용자 인증방법.
  3. 제1항에 있어서,
    상기 제1 인증모듈 및 상기 제2 인증모듈은,
    상기 인증서버와의 데이터교환을 통해 인증절차를 수행하는 메인모듈; 및
    애플리케이션 간의 인증절차를 수행하는 종속모듈을 포함하는, 사용자 인증방법.
  4. 제1항에 있어서,
    상기 제1 애플리케이션은,
    상기 인증프로세스를 수행하는 인증모듈을 포함하는 애플리케이션 중에서 사용자 단말기에 최초로 설치된 애플리케이션인, 사용자 인증방법.
  5. 제4항에 있어서,
    상기 인증서버가 상기 제1 애플리케이션 내 상기 제1 인증모듈로부터 애플리케이션정보 및 제1 사용자식별정보를 수신하여 저장하는 단계를 더 포함하는, 사용자 인증방법.
  6. 제5항에 있어서,
    상기 애플리케이션 간 인증단계는,
    상기 인증서버가 상기 제2 애플리케이션으로부터 제2 사용자식별정보를 포함하는 인증절차 진행요청을 수신하는 단계;
    상기 인증서버가 상기 제1 사용자식별정보와 상기 제2 사용자식별정보의 일치 여부를 판단하는 단계; 및
    제1 사용자식별정보와 제2 사용자식별정보가 일치하는 경우, 상기 인증서버가 상기 제2 애플리케이션의 제2 인증모듈에 상기 제1 애플리케이션에 의해 인증절차 진행을 요청하는 단계;를 포함하는, 사용자 인증방법.
  7. 제3항에 있어서,
    상기 제2 애플리케이션의 상기 사용자 단말기 내 설치 시에, 상기 제2 인증모듈과 동일한 인증프로세스를 가지는 인증모듈이 포함된 제1 애플리케이션을 탐색하는 동일애플리케이션 탐색단계;를 더 포함하는, 사용자 인증방법.
  8. 제7항에 있어서,
    상기 동일애플리케이션 탐색단계는,
    상기 제1 애플리케이션과 제2 애플리케이션이 동일한 사용자계정을 사용하는 애플리케이션인 경우, 사용자계정과 비밀번호가 일치하는지를 확인하는 것을 특징으로 하는, 사용자 인증방법.
  9. 사용자등록을 위해 사용자로부터 개인비밀번호가 입력되면, 상기 개인비밀번호 및 사용자 단말기의 기계적 고유키를 조합하여 단방향성 함수를 이용한 변환이 수행된 제1 공통인증키를 인증서버에 제공하고, 인증을 위해 사용자로부터 상기 개인비밀번호가 입력되면, 제1 애플리케이션 내 제1 인증모듈이 상기 개인비밀번호 및 사용자 단말기의 기계적 고유키를 조합하여 변환된 제2 공통인증키를 실시간으로 생성하며, 제1 사용자 인증키를 생성하고, 상기 제1 사용자 인증키 또는 제2 사용자 인증키에 대한 OTP 연산을 수행하여 제1 사용자인증정보를 생성하되, 상기 제1 사용자 인증키는 상기 인증서버로부터 미리 제공된 인증기관의 고유키와 상기 제2 공통인증키를 구성요소로 단방향성 함수를 이용한 변환을 수행하여 생성되는 것이고, 상기 제2 사용자 인증키는 상기 제1 사용자 인증키의 변환값인, 사용자 단말기에 설치되는 제1 애플리케이션 내 제1 인증모듈;
    상기 제1 인증모듈로부터 전송된 상기 제1 공통인증키를 사용자 정보에 매칭하여 등록하고, 제1 서버인증키를 생성하고, 상기 제1 서버인증키 또는 제2 서버인증키에 대한 OTP 연산을 수행하여 제1 서버인증정보를 생성하되, 상기 제1 서버인증키는 인증기관의 고유키와 상기 제1 공통인증키를 조합하여 변환된 것이며, 상기 제2 서버인증키는 상기 제1 서버인증키의 변환값이며, 상기 인증기관의 고유키는 인증서버 내에 저장되는 것이고, 상기 제1 서버 인증정보와 상기 제1 사용자 인증정보의 일치 여부에 따라, 상기 인증서버가 사용자인증을 수행하거나 또는 상기 제1 인증모듈이 상기 인증서버의 진위를 판단하는 인증서버 인증을 수행하는 인증서버;
    제2 애플리케이션에 의한 인증절차를 수행하는 경우, 상기 제1 애플리케이션 내 제1 인증모듈에 의한 인증을 수행하되, 상기 제2 애플리케이션은 상기 제1 애플리케이션과 특정한 인증프로세스를 가지며, 동일한 사용자 단말기에 설치된 것인, 사용자 단말기에 설치되는 상기 제2 애플리케이션 내 제2 인증모듈을 포함하는, 사용자 인증장치.
  10. 하드웨어인 컴퓨터와 결합하여, 제1항 내지 제8항 중 어느 한 항의 방법을 실행시키기 위하여 컴퓨터 판독가능한 기록매체에 저장된, 사용자 인증 프로그램.
KR1020170032225A 2017-03-15 2017-03-15 애플리케이션 간 인증을 이용한 사용자 인증방법 및 장치, 그 프로그램 KR101836236B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170032225A KR101836236B1 (ko) 2017-03-15 2017-03-15 애플리케이션 간 인증을 이용한 사용자 인증방법 및 장치, 그 프로그램

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170032225A KR101836236B1 (ko) 2017-03-15 2017-03-15 애플리케이션 간 인증을 이용한 사용자 인증방법 및 장치, 그 프로그램

Publications (1)

Publication Number Publication Date
KR101836236B1 true KR101836236B1 (ko) 2018-04-19

Family

ID=62087790

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170032225A KR101836236B1 (ko) 2017-03-15 2017-03-15 애플리케이션 간 인증을 이용한 사용자 인증방법 및 장치, 그 프로그램

Country Status (1)

Country Link
KR (1) KR101836236B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110691265A (zh) * 2019-10-10 2020-01-14 四川虹微技术有限公司 基于声纹识别的电视支付方法及系统
KR20200020440A (ko) * 2018-08-17 2020-02-26 주식회사 우리은행 응용프로그램 인터페이스를 이용한 공동 인증 서비스 시스템

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101618692B1 (ko) 2016-01-06 2016-05-09 주식회사 센스톤 보안성이 강화된 사용자 인증방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101618692B1 (ko) 2016-01-06 2016-05-09 주식회사 센스톤 보안성이 강화된 사용자 인증방법

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200020440A (ko) * 2018-08-17 2020-02-26 주식회사 우리은행 응용프로그램 인터페이스를 이용한 공동 인증 서비스 시스템
KR102130659B1 (ko) * 2018-08-17 2020-08-06 주식회사 우리은행 응용프로그램 인터페이스를 이용한 공동 인증 서비스 시스템
CN110691265A (zh) * 2019-10-10 2020-01-14 四川虹微技术有限公司 基于声纹识别的电视支付方法及系统
CN110691265B (zh) * 2019-10-10 2021-04-20 四川虹微技术有限公司 基于声纹识别的电视支付方法及系统

Similar Documents

Publication Publication Date Title
US10491379B2 (en) System, device, and method of secure entry and handling of passwords
US8417964B2 (en) Software module management device and program
JP5852265B2 (ja) 計算装置、コンピュータプログラム及びアクセス許否判定方法
KR101712784B1 (ko) 글로벌 플랫폼 규격을 사용하는 발행자 보안 도메인에 대한 키 관리 시스템 및 방법
AU2017295345A1 (en) Two-channel authentication proxy system capable of detecting application tampering, and method therefor
US8495383B2 (en) Method for the secure storing of program state data in an electronic device
US20150310427A1 (en) Method, apparatus, and system for generating transaction-signing one-time password
KR101210260B1 (ko) 통합센터를 이용한 유심칩기반 모바일 오티피 인증장치 및 인증방법
US9906518B2 (en) Managing exchanges of sensitive data
US9065806B2 (en) Internet based security information interaction apparatus and method
US20140172741A1 (en) Method and system for security information interaction based on internet
CN109936546B (zh) 数据加密存储方法和装置以及计算设备
CN109359977A (zh) 网络通信方法、装置、计算机设备和存储介质
KR101746102B1 (ko) 무결성 및 보안성이 강화된 사용자 인증방법
KR101836236B1 (ko) 애플리케이션 간 인증을 이용한 사용자 인증방법 및 장치, 그 프로그램
KR20140114511A (ko) 금융 거래 방법 및 장치
KR20170123222A (ko) 무결성 및 보안성이 강화된 사용자 인증방법
KR20220169021A (ko) 오픈 api 기반의 금융 인증 서비스 제공 방법 및 시스템
CN113645239A (zh) 一种应用登录方法、装置、用户终端及存储介质
TWM576301U (zh) Online banking system for verifying identity using push technology
JP2017098697A (ja) 署名検証システム及び署名検証方法

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant