KR101482938B1 - 인증 메시지 보안 방법, 이를 수행하는 인증 메시지 보안 서버 및 사용자 단말 - Google Patents

인증 메시지 보안 방법, 이를 수행하는 인증 메시지 보안 서버 및 사용자 단말 Download PDF

Info

Publication number
KR101482938B1
KR101482938B1 KR20130043927A KR20130043927A KR101482938B1 KR 101482938 B1 KR101482938 B1 KR 101482938B1 KR 20130043927 A KR20130043927 A KR 20130043927A KR 20130043927 A KR20130043927 A KR 20130043927A KR 101482938 B1 KR101482938 B1 KR 101482938B1
Authority
KR
South Korea
Prior art keywords
authentication
security
user terminal
code
server
Prior art date
Application number
KR20130043927A
Other languages
English (en)
Other versions
KR20140126004A (ko
Inventor
김대영
이준원
Original Assignee
주식회사 네이블커뮤니케이션즈
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 네이블커뮤니케이션즈 filed Critical 주식회사 네이블커뮤니케이션즈
Priority to KR20130043927A priority Critical patent/KR101482938B1/ko
Publication of KR20140126004A publication Critical patent/KR20140126004A/ko
Application granted granted Critical
Publication of KR101482938B1 publication Critical patent/KR101482938B1/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
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/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/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • 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/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • H04L9/3213Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos

Abstract

인증 메시지 보안 방법은 인증 요청 서버 및 사용자 단말과 연결될 수 있는 인증 메시지 보안 서버에서 수행된다. 상기 인증 메시지 보안 방법은 상기 사용자 단말에 설치되는 보안 클라이언트로부터 보안 등록 요청을 수신하면 특정 발송 코드를 송신하고 상기 발송 코드에 대한 리턴 코드를 수신하는 단계, 상기 수신된 리턴 코드 및 상기 사용자 단말과 연관된 사용자 단말 식별자 중 적어도 하나를 기초로 상기 사용자 단말에 대한 보안 등록 적합성을 결정하는 단계, 상기 결정된 보안 등록 적합성에 따라 상기 사용자 단말에 대한 인증 코드 변환 규약을 생성하여 상기 보안 클라이언트에 알리는 단계 및 상기 인증 요청 서버로부터 상기 사용자 단말에 대한 인증 메시지 전송 요청을 수신하면 상기 인증 코드 변환 규약에 따라 인증 코드를 변환하여 상기 사용자 단말로 전송하는 단계를 포함한다.

Description

인증 메시지 보안 방법, 이를 수행하는 인증 메시지 보안 서버 및 사용자 단말{METHOD OF PREVENTING AUTHORIZATION MESSAGE, SERVER PERFORMING THE SAME AND USER TERMINAL PERFORMING THE SAME}
본 발명은 인증 메시지 보안 기술에 관한 것으로, 보다 상세하게는, 인증 메시지 보안 서버가 사용자 단말에 설치되는 보안 클라이언트에 특정 발송 코드를 송신하고 상기 발송 코드와 연관된 리턴 코드를 수신하여, 수신된 리턴 코드 및 상기 사용자 단말과 연관된 사용자 단말 식별자 중 적어도 하나를 기초로 상기 사용자 단말에 대한 보안 등록 적합성을 결정하고, 상기 결정된 보안 등록 적합성에 따라 상기 사용자 단말에 대한 인증 코드 변환 규약을 생성하여 상기 보안 클라이언트에 알리고, 인증 요청 서버로부터 상기 사용자 단말에 대한 인증 메시지 전송 요청을 수신하면 상기 인증 코드 변환 규약에 따라 인증 코드를 변환하여 상기 사용자 단말로 전송함으로써, 해킹 프로그램으로부터 인증 메시지에 대한 보안을 수행할 수 있는 인증 메시지 보안 방법, 이를 수행하는 인증 메시지 보안 서버 및 사용자 단말에 관한 것이다.
모바일 단말의 급속한 보급에 따라 모바일 단말을 통하여 개인 정보를 입력하고 개인 인증 절차를 거친 후 전자 상거래 결제, 인터넷 서비스 가입 등 다양한 서비스를 제공받을 수 있다. 일반적으로, 개인 인증 절차는 자신의 성명, 주민등록번호 및 전화번호를 입력하고, SMS(Short Message Service) 기반의 메시지를 통하여 수신된 인증 번호를 입력하면 해당 사용자로 인증된다.
최근, 이러한 인증 기술을 무력화시키는 사기 방법이 등장하였다. 특히, 소액 결제 과정에서 '스미싱' 방법을 이용하여 불법적으로 타인에게 금전적인 피해를 입히는 사례가 늘고 있다. 여기에서, '스미싱'이란 문자 메시지를 이용한 해킹 기법으로서, 모바일 단말에 바이러스 프로그램을 설치하고, 해당 바이러스 프로그램이 모바일 단말에 수신된 인증 번호를 포함하는 문자 메시지를 가로채 다른 모바일 단말로 송신하도록 하여, 사전에 획득한 개인 정보 및 가로챈 인증 번호를 통해 소액 결제를 완료하는 해킹 기술을 의미한다.
이러한 스미싱 방식은 소액 결제 뿐만 아니라, 문자 메시지 방식으로 개인 인증을 수행하는 다른 서비스에서도 악용될 수 있다는 점에서 이를 방지할 수 있는 기술이 절실한 실정이다.
인증 메시지 보안에 대한 다양한 기술이 제공되고 있다. 하기의 선행 특허들은 이와 관련된 기술을 제공한다.
한국공개특허 제10-2005-0107537호는 광대역 무선 통신 시스템에서 사용자 인증 메시지를 보호하기 위한 사용자 인증 메시지 암호화 방법과 장치 및 이를 위한 보안키 생성 방법에 대한 것으로서, 기지국과 이동 단말 간에 사용자 인증 메시지의 전송이 요구되는 광대역 무선 통신 시스템에서, 상기 이동 단말로부터의 인증 요청에 응답하여 상기 기지국이 상기 이동 단말에 대한 인증키를 부여하고, 상기 이동 단말/기지국은 상기 사용자 인증 메시지에 포함되는 소정 사용자 인증 정보를 소정 인증 방식으로 캡슐화하며, 상기 인증키를 이용하여 상기 사용자 인증 정보의 암호화를 위한 소정 보안키를 생성한 후, 상기 보안키를 이용하여 상기 캡슐화된 사용자 인증 정보를 암호화하도록 구성됨을 특징으로 한다.
한국공개특허 제10-2011-0055671호는 암호 기반 메시지 인증 코드 생성 기술에 관한 것으로, 암호 기반 메시지 인증 코드(cipher-based message authentication code)를 생성하는 방법에 있어서, 전송될 메시지에 기초하여, 바이트(s'0-s'15)의 행(31-34) 및 바이트(s'0-s'15)의 열(41-44)로 구성된 상태 어레이(25)를 생성하는 단계와, 상기 상태 어레이(25)의 적어도 하나의 행(32, 34)의 바이트(29, 30)를 유지함으로써 상기 메시지에 대한 암호 기반 메시지 인증 코드를 계산하는 단계를 포함한다.
상기 선행 기술들은 메시지를 암호화하는데 집중하고 있다. 하지만, 해당 암호화된 메시지가 특정 단계(예: 암호화하기 전의 단계)에서 해킹 프로그램에 의하여 가로채지는 경우에는 보안을 수행할 수 없으며, 특히, 해킹 프로그램이 인증 프로그램인 것처럼 제작되어 복화화된 해당 메시지를 가로채는 경우 보안 방법은 무용화될 수 있다.
즉, 해킹 프로그램으로부터 확실하게 인증 메시지에 대한 보안을 강화할 수 있는 기술이 절실히 필요한 실정이다.
한국공개특허 제10-2005-0107537호 한국공개특허 제10-2011-0055671호
본 발명은 인증 요청 서버(예: 소액 결제 서버)에서 사용자 단말로 인증 메시지가 전송되는 중간 과정에서 구현되는 인증 메시지 보안 서버 및 사용자 단말에 설치되는 보안 클라이언트를 통하여 인증 메시지에 대한 보안을 강화할 수 있는 인증 메시지 보안 방법을 제공하고자 한다.
본 발명은 인증 메시지 보안 서버가 보안 클라이언트로 특정 발송 코드를 전송하고 발송 코드와 연관된 리턴 코드를 수신하여 리턴 코드 및 사용자 단말 식별자 중 적어도 하나를 기초로 사용자 단말에 대한 보안 등록 적합성을 결정함으로써, 보안 클라이언트로 위장되어 제작될 수 있는 해킹 프로그램에 대한 접근을 원천적으로 방지할 수 있고 사용자 단말에서 실제로 인증 메시지를 요청하는지 여부를 판단할 수 있어 인증 메시지에 대한 철저한 보안을 수행할 수 있는 인증 메시지 보안 서버 및 사용자 단말을 제공하고자 한다.
본 발명은 인증 메시지 보안 서버가 인증된 보안 클라이언트와의 인증 코드 변환 규약에 따라 인증 코드를 변환하여 메시지 발송 서버를 통하여 인증 메시지를 전송함으로써, 해킹 프로그램이 사용자 단말에 수신된 인증 메시지를 가로채더라도 해당 인증 메시지를 활용하지 못하도록 할 수 있는 인증 메시지 보안 방법, 이를 수행하는 인증 메시지 보안 서버 및 사용자 단말을 제공하고자 한다.
실시예들 중에서, 인증 메시지 보안 방법은 인증 요청 서버 및 사용자 단말과 연결될 수 있는 인증 메시지 보안 서버에서 수행된다. 상기 인증 메시지 보안 방법은 상기 사용자 단말에 설치되는 보안 클라이언트로부터 보안 등록 요청을 수신하면 특정 발송 코드를 송신하고 상기 발송 코드와 연관된 리턴 코드를 수신하는 단계; 상기 수신된 리턴 코드 및 상기 사용자 단말과 연관된 사용자 단말 식별자 중 적어도 하나를 기초로 상기 사용자 단말에 대한 보안 등록 적합성을 결정하는 단계; 상기 결정된 보안 등록 적합성에 따라 상기 사용자 단말에 대한 인증 코드 변환 규약을 생성하여 상기 보안 클라이언트에 알리는 단계; 및 상기 인증 요청 서버로부터 상기 사용자 단말에 대한 인증 메시지 전송 요청을 수신하면 상기 인증 코드 변환 규약에 따라 인증 코드를 변환하여 상기 사용자 단말로 전송하는 단계를 포함한다.
일 실시예에서, 상기 발송 코드에 대한 리턴 코드를 수신하는 단계는 사용자 단말마다 상이하거나 또는 동일한 사용자 단말에 대해서도 시간에 따라 상이한 임의의 발송 코드를 상기 보안 클라이언트로 전송하는 단계; 및 상기 보안 클라이언트로부터 상기 발송 코드에 대하여 상기 인증 메시지 보안 서버와 공유하는 공유 코드 키(Key)를 적용하여 변환된 리턴 코드를 수신하는 단계를 더 포함할 수 있다.
일 실시예에서, 상기 사용자 단말에 대한 보안 등록 적합성을 결정하는 단계는 상기 보안 클라이언트에 전송한 발송 코드에 대하여 상기 공유 코드 키를 적용하여 검증 코드를 생성하는 단계; 및 상기 생성된 검증 코드와 상기 수신된 리턴 코드의 동일성 여부를 기초로 상기 보안 클라이언트에 대한 무결성을 검증하는 단계를 더 포함할 수 있다.
일 실시예에서, 상기 사용자 단말에 대한 보안 등록 적합성을 결정하는 단계는 상기 사용자 단말에 대한 위치 식별자 및 상기 사용자 단말 식별자를 기초로 상기 사용자 단말에 대한 무결성을 검증하는 단계를 더 포함할 수 있다.
일 실시예에서, 상기 사용자 단말에 대한 보안 등록 적합성을 검증하는 단계는 상기 사용자 단말에 대한 위치 식별자를 상기 보안 클라이언트로부터 수신하거나 또는 패킷으로부터 확인하는 단계; 및 복수의 사용자 단말들에 대한 사용자 단말 식별자 및 위치 식별자를 각각 연관시켜 저장하고 있는 사용자 단말 정보 제공 서버로 상기 위치 식별자를 전송하고 이에 대한 응답으로서 상기 위치 식별자와 연관된 사용자 단말 식별자를 수신하는 단계를 포함할 수 있다.
일 실시예에서, 상기 사용자 단말에 대한 등록 적합성을 검증하는 단계는 상기 수신된 사용자 단말 식별자와 상기 사용자 단말로부터 수신된 사용자 단말 식별자의 동일성 여부를 결정하는 단계를 더 포함할 수 있다.
일 실시예에서, 상기 인증 코드 변환 규약을 생성하여 상기 보안 클라이언트에 알리는 단계는 상기 사용자 단말이 상기 보안 등록 적합성을 만족하면 상기 인증 요청 서버와 연관된 인증 코드에 대한 암호화 키(Key) 및 복호화 키를 생성하는 단계를 더 포함할 수 있다.
일 실시예에서, 상기 인증 코드 변환 규약을 생성하여 상기 보안 클라이언트에 알리는 단계는 상기 생성된 암호화 키를 상기 사용자 단말 식별자와 연관시켜 저장하는 단계; 및 상기 생성된 복호화 키를 상기 보안 클라이언트에 전송하는 단계를 더 포함할 수 있다.
일 실시예에서, 상기 인증 코드 변환 규약을 생성하여 상기 보안 클라이언트에 알리는 단계는 상기 변환된 인증 코드를 푸시 메시지 서버를 통하여 상기 사용자 단말로 전송하는 경우, 사전에 상기 보안 클라이언트가 상기 푸시 메시지 서버로부터 발급받은 토큰을 상기 보안 클라이언트로부터 수신하는 단계; 상기 수신된 토큰을 상기 생성된 암호화 키와 연관시켜 저장하는 단계; 및 상기 생성된 복호화 키를 상기 보안 클라이언트에 전송하는 단계를 더 포함할 수 있다.
일 실시예에서, 상기 인증 코드를 변환하여 상기 사용자 단말로 전송하는 단계는 상기 인증 요청 서버로부터 사용자 단말 식별자 및 인증 코드를 포함하는 인증 메시지 전송 요청을 수신하면, 상기 인증 메시지 전송 요청에 포함된 인증 코드를 상기 암호화 키를 기초로 변환하거나 또는 상기 인증 코드를 포함하는 인증 메시지를 상기 암호화 키를 기초로 변환하는 단계; 및 상기 변환된 인증 코드 또는 인증 메시지를 상기 사용자 단말로 송신하여 상기 보안 클라이언트가 상기 복호화 키를 통해 상기 인증 코드로 재변환하도록 하는 단계를 더 포함할 수 있다.
일 실시예에서, 상기 인증 코드를 변환하여 상기 사용자 단말로 전송하는 단계는 상기 변환된 인증 코드를 포함하고, 상기 사용자 단말 식별자 또는 상기 보안 클라이언트와 연관된 토큰을 더 포함하는 메시지 발송 요청을 메시지 전송 서버에 전송하는 단계를 더 포함할 수 있다.
실시예들 중에서, 인증 메시지 보안 방법은 인증 메시지 보안 서버 및 메시지 전송 서버와 연결될 수 있는 사용자 단말에서 수행된다. 상기 인증 메시지 보안 방법은 상기 인증 메시지 보안 서버로부터 보안 등록 요청과 연관된 특정 발송 코드를 수신하면 상기 발송 코드에 대한 리턴 코드를 생성하여 상기 인증 메시지 보안 서버로 전송하는 단계; 상기 리턴 코드를 기초로 보안 등록 적합성이 결정되면, 상기 인증 메시지 보안 서버로부터 상기 인증 요청 서버와 연관된 인증 코드에 대한 인증 코드 변환 규약을 수신하는 단계; 및 상기 메시지 전송 서버로부터 상기 인증 코드 변환 규약에 따라 변환된 인증 코드를 포함하는 인증 메시지를 수신하면 상기 인증 코드 변환 규약을 기초로 상기 인증 코드로 변환하는 단계를 포함한다.
실시예들 중에서, 인증 메시지 보안 서버는 인증 요청 서버 및 사용자 단말과 연결될 수 있다. 상기 인증 메시지 보안 서버는 상기 사용자 단말에 설치되는 보안 클라이언트로부터 보안 등록 요청을 수신하면 특정 발송 코드를 송신하고 상기 발송 코드와 연관된 리턴 코드를 수신하는 보안 등록 정보 송수신부; 상기 수신된 리턴 코드 및 상기 사용자 단말과 연관된 사용자 단말 식별자 중 적어도 하나를 기초로 상기 사용자 단말에 대한 보안 등록 적합성을 결정하는 보안 등록 결정부; 상기 결정된 보안 등록 적합성에 따라 상기 사용자 단말에 대한 인증 코드 변환 규약을 생성하여 상기 보안 클라이언트에 알리는 보안 등록부; 및 상기 인증 요청 서버로부터 상기 사용자 단말에 대한 인증 메시지 전송 요청을 수신하면 상기 인증 코드 변환 규약에 따라 인증 코드를 변환하여 상기 사용자 단말로 전송하는 보안 수행부를 포함한다.
일 실시예에서, 상기 보안 등록 정보 송수신부는 사용자 단말마다 상이하거나 또는 동일한 사용자 단말에 대해서도 시간에 따라 상이한 임의의 발송 코드를 상기 보안 클라이언트로 전송하고, 상기 보안 클라이언트로부터 상기 발송 코드에 대하여 상기 인증 메시지 보안 서버와 공유하는 공유 코드 키(Key)를 적용하여 변환된 리턴 코드를 수신할 수 있다.
일 실시예에서, 상기 보안 등록 결정부는 상기 보안 클라이언트에 전송한 발송 코드에 대하여 상기 공유 코드 키를 적용하여 검증 코드를 생성하고, 상기 생성된 검증 코드와 상기 수신된 리턴 코드의 동일성 여부를 기초로 상기 보안 클라이언트에 대한 무결성을 검증할 수 있다.
일 실시예에서, 상기 보안 등록 결정부는 상기 사용자 단말에 대한 위치 식별자 및 상기 사용자 단말 식별자를 기초로 상기 사용자 단말에 대한 무결성을 검증할 수 있다.
일 실시예에서, 상기 보안 등록 결정부는 상기 사용자 단말에 대한 위치 식별자를 상기 보안 클라이언트로부터 수신하거나 또는 패킷으로부터 확인하고, 복수의 사용자 단말들에 대한 사용자 단말 식별자 및 위치 식별자를 각각 연관시켜 저장하고 있는 사용자 단말 정보 제공 서버로 상기 위치 식별자를 전송하고 이에 대한 응답으로서 상기 위치 식별자와 연관된 사용자 단말 식별자를 수신할 수 있다.
일 실시예에서, 상기 보안 등록 결정부는 상기 수신된 사용자 단말 식별자와 상기 사용자 단말로부터 수신된 사용자 단말 식별자의 동일성 여부를 결정할 수 있다.
일 실시예에서, 상기 보안 등록부는 상기 사용자 단말이 상기 보안 등록 적합성을 만족하면 상기 인증 요청 서버와 연관된 인증 코드에 대한 암호화 키(Key) 및 복호화 키를 생성할 수 있다.
일 실시예에서, 상기 보안 등록부는 상기 생성된 암호화 키를 상기 사용자 단말 식별자와 연관시켜 저장하고, 상기 생성된 복호화 키를 상기 보안 클라이언트에 전송할 수 있다.
일 실시예에서, 상기 변환된 인증 코드를 푸시 메시지 서버를 통하여 상기 사용자 단말로 전송하는 경우, 상기 보안 등록 정보 송수신부는 사전에 상기 보안 클라이언트가 상기 푸시 메시지 서버로부터 발급받은 토큰을 상기 보안 클라이언트로부터 수신하고, 상기 보안 등록부는 상기 수신된 토큰을 상기 생성된 암호화 키와 연관시켜 저장하고, 상기 생성된 복호화 키를 상기 보안 클라이언트에 전송할 수 있다.
일 실시예에서, 상기 보안 수행부는 상기 인증 요청 서버로부터 사용자 단말 식별자 및 인증 코드를 포함하는 인증 메시지 전송 요청을 수신하면, 상기 인증 메시지 전송 요청에 포함된 인증 코드를 상기 암호화 키를 기초로 변환하거나 또는 상기 인증 코드를 포함하는 인증 메시지를 상기 암호화 키를 기초로 변환하고, 상기 변환된 인증 코드 또는 인증 메시지를 상기 사용자 단말로 송신하여 상기 보안 클라이언트가 상기 복호화 키를 통해 상기 인증 코드로 재변환하도록 할 수 있다.
일 실시예에서, 상기 보안 수행부는 상기 변환된 인증 코드를 포함하고, 상기 사용자 단말 식별자 또는 상기 보안 클라이언트와 연관된 토큰을 더 포함하는 메시지 발송 요청을 메시지 전송 서버에 전송할 수 있다.
실시예들 중에서, 인증 메시지 보안 서버 및 메시지 전송 서버와 연결될 수 있는 사용자 단말은 상기 인증 메시지 보안 서버로부터 보안 등록 요청과 연관된 특정 발송 코드를 수신하면 상기 발송 코드에 대한 리턴 코드를 생성하여 상기 인증 메시지 보안 서버로 전송하는 보안 등록 요청부; 상기 리턴 코드를 기초로 보안 등록 적합성이 결정되면, 상기 인증 메시지 보안 서버로부터 상기 인증 요청 서버와 연관된 인증 코드에 대한 인증 코드 변환 규약을 수신하는 보안 등록 정보 수신부; 및 상기 메시지 전송 서버로부터 상기 인증 코드 변환 규약에 따라 변환된 인증 코드를 포함하는 인증 메시지를 수신하면 상기 인증 코드 변환 규약을 기초로 상기 인증 코드로 변환하는 보안 수행부를 포함한다.
본 발명의 일 실시예에 인증 메시지 보안 방법 및 이와 관련된 기술들은 인증 요청 서버에서 사용자 단말로 인증 메시지가 전송되는 중간 과정에서 구현되는 인증 메시지 보안 서버 및 사용자 단말에 설치되는 보안 클라이언트를 통하여 인증 메시지에 대한 보안을 강화할 수 있다.
본 발명의 일 실시예에 인증 메시지 보안 방법 및 이와 관련된 기술들은 인증 메시지 보안 서버가 보안 클라이언트로 특정 발송 코드를 전송하고 발송 코드와 연관된 리턴 코드를 수신하여 리턴 코드 및 사용자 단말 식별자 중 적어도 하나를 기초로 사용자 단말에 대한 보안 등록 적합성을 결정함으로써, 보안 클라이언트로 위장되어 제작될 수 있는 해킹 프로그램에 대한 접근을 원천적으로 방지할 수 있고 사용자 단말에서 실제로 인증 메시지를 요청하는지 여부를 판단할 수 있어 인증 메시지에 대한 철저한 보안을 수행할 수 있다.
본 발명의 일 실시예에 인증 메시지 보안 방법 및 이와 관련된 기술들은 인증 메시지 보안 서버가 인증된 보안 클라이언트와의 인증 코드 변환 규약에 따라 인증 코드를 변환하여 메시지 발송 서버를 통하여 인증 메시지를 전송함으로써, 해킹 프로그램이 사용자 단말에 수신된 인증 메시지를 가로채더라도 해당 인증 메시지를 활용하지 못하도록 할 수 있다.
도 1은 본 발명의 일 실시예에 따른 인증 메시지 보안 시스템을 설명하는 블록도이다.
도 2는 도 1에 있는 사용자 단말을 설명하는 블록도이다.
도 3은 도 1에 있는 인증 메시지 보안 서버를 설명하는 블록도이다.
도 4는 본 발명의 일 실시예에 따른 인증 메시지 보안 서버에서 수행되는 인증 메시지 보안 과정을 설명하는 흐름도이다.
도 5는 본 발명의 일 실시이예에 따른 인증 메시지 보안 시스템에서 수행되는 인증 메시지 보안 과정을 설명하는 흐름도이다.
본 발명에 관한 설명은 구조적 내지 기능적 설명을 위한 실시예에 불과하므로, 본 발명의 권리범위는 본문에 설명된 실시예에 의하여 제한되는 것으로 해석되어서는 아니 된다. 즉, 실시예는 다양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 본 발명의 권리범위는 기술적 사상을 실현할 수 있는 균등물들을 포함하는 것으로 이해되어야 한다. 또한, 본 발명에서 제시된 목적 또는 효과는 특정 실시예가 이를 전부 포함하여야 한다거나 그러한 효과만을 포함하여야 한다는 의미는 아니므로, 본 발명의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.
한편, 본 출원에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.
"제1", "제2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로, 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어"있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결될 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어"있다고 언급된 때에는 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 한편, 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함하다"또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
각 단계들에 있어 식별부호(예를 들어, a, b, c 등)는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 단계들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.
본 발명은 컴퓨터가 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현될 수 있고, 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있으며, 또한, 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
여기서 사용되는 모든 용어들은 다르게 정의되지 않는 한, 본 발명이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한 이상적이거나 과도하게 형식적인 의미를 지니는 것으로 해석될 수 없다.
본 발명에 따른 인증 메시지 보안 기술은 인증 요청 시스템(예: 소액 결제 시스템, 카카오톡 또는 라인 등의 전화번호 인증 시스템)에서 사용자 단말로 인증 메시지가 전송되는 과정에서 해킹 프로그램이 인증 메시지를 가로챌 수 있는 방법을 방지하고자 안출된 것이다.
본 설명에서 인증메시지 보안 서버(130)와 사용자 단말 (110) 사이의 모든 통신에 IP-SEC, TLS 등 보안 규격에 따라 암호화된 상태로 데이터를 주고 받을 수 있다. 이는 이미 잘 알려진 기술로 본 발명의 설명에서는 따로 설명을 하지 않는다.
예를 들어, 사용자 단말에 메시지가 수신되면 해당 메시지를 요청한 클라이언트에 응답할 수 있는 기술이 구현되는 경우, 해킹 프로그램이 이를 악용하여 인증 메시지를 가로챌 수 있다. 보다 구체적으로, 사용자 단말이 모바일 단말(예: 안드로이드 OS가 설치된 스마트 폰)에 해당하는 경우, SMS 기반의 메시지(이하, SMS 메시지)를 수신하면 하기의 코드(code)를 통하여 해당 메시지를 요청하고 확인할 수 있다.
<예시 code>
AndroidManifest.xml
<!-- SMS receive permission 등록 -->
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<!-- SMS receiver 등록-->
<receiver android:name="SmsReceiver">
<intent-filter>
<!-- android로 부터 Event를 받기위한 SMS Action 등록-->
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
</intent-filter>
</receiver>
사용자 단말에 설치되는 어플리케이션들은 상기 코드를 통하여 SMS 메시지가 수신되면 해당 메시지를 확인할 수 있으며, 해킹 프로그램 역시 이러한 방법으로 해당 메시지를 확인하고 다른 사용자 단말로 전송하도록 함으로써 해킹이 가능하다.
다른 예를 들어, 인증 메시지가 푸시 메시지의 형태로 전송되는 경우, 해킹 프로그램은 사용자 단말의 푸시 클라이언트를 해킹하여 해당 인증 메시지를 해커 자신의 스마트 폰으로 수신함으로써 소액 결제를 수행할 수 있다.
또 다른 예를 들어, 인증 메시지가 네트워크를 통하여 SMS 메시지의 형태로 전송되는 경우, 해킹 프로그램은 SMS 메시지 전송 서버에서 사용자 단말의 SMS 클라이언트로 전송되는 패킷을 가로채어 해당 인증 메시지를 획득할 수 있다.
여기에서, 본 발명에 따른 인증 메시지 보안 기술은 이러한 문제점을 해결하기 위하여 안출된 것으로서, 상기 모든 예시에서 발생될 수 있는 인증 메시지의 유출에 대하여 해당 인증 메시지를 안전하게 보안할 수 있는 인증 메시지 보안 기술을 제공하고자 한다. 이하 도 1 내지 도 5를 참조하여 상세하게 설명한다.
도 1은 본 발명의 일 실시예에 따른 인증 메시지 보안 시스템을 설명하는 블록도이다.
도 1을 참조하면, 인증 메시지 보안 시스템(100)은 사용자 단말(110), 메시지 전송 서버(120), 인증 메시지 보안 서버(130) 및 인증 요청 서버(140)를 포함할 수 있다.
사용자 단말(110)은 사용자에 의하여 조작되는 컴퓨팅 장치에 해당한다. 여기에서, 사용자 단말(110)은 특정 운영 체제(OS, Operating System)를 통하여 동작할 수 있다. 예를 들어, 사용자 단말(110)은 스마트 폰(Smart Phone), 태블릿 피씨(Tablet PC), 데스크탑(Desktop), 노트북(Laptop) 및 스마트 티비(Smart TV) 중 하나에 해당할 수 있다. 여기에서, 사용자 단말(110)이 스마트 폰인 경우, 사용자 단말(110)은 iOS, 안드로이드, Windows Phone 등의 운영 체제를 통하여 동작할 수 있다.
일 실시예에서, 사용자 단말(110)은 인증 요청 서버(140)에 인증 코드를 포함하는 인증 메시지를 요청할 수 있다. 예를 들어, 사용자가 소액 결제를 하고자 하는 경우, 사용자는 사용자 단말(110)(예: PC 등)의 web browser 등을 통하여 사용자 정보(예: 성명, 주민등록 번호, 전화번호)를 인증 요청 서버(140)에 전송하여 인증 메시지를 요청할 수 있다. 여기에서, 인증 요청 서버(140)는 인증 코드를 포함하는 인증 메시지를 메시지 전송 서버(120)를 통하여 사용자 단말(110)에 전송할 수 있다.
여기에서, 인증 메시지를 요청하는 사용자 단말과 인증 메시지를 수신하는 사용자 단말을 상이할 수 있다. 예를 들어, 사용자는 PC의 web browser 등을 통하여 인증 메시지를 요청하고, 스마트 폰 등을 통하여 인증 메시지를 수신할 수 있다.
본 발명의 일 실시예에 따른 사용자 단말(110) 및 인증 메시지 보안 서버(130)에서 수행되는 인증 메시지 보안 과정은 도 2 및 도 5를 참조하여 상세하게 설명한다.
메시지 전송 서버(120)는 네트워크를 통하여 사용자 단말(110)에 메시지를 전송할 수 있는 컴퓨팅 장치에 해당한다. 일 실시예에서, 메시지 전송 서버(120)는 SMS 기반의 메시지를 전송할 수 있는 SMS 서버, IM(Instant Message) 서버(예: Joyn 서버 등) 또는 PUSH 메시지를 전송할 수 있는 PUSH 서버에 해당할 수 있다.
일 실시예에서, 인증 메시지는 SMS(Short Message Service) 기반의 메시지, MMS(Multimedia Messaging System) 기반의 메시지, 인스턴트 메시지(Instant Message), 푸시 메시지(Push Message) 및 TCP/IP(Transmission Control Protocol/Internet Protocol) 기반의 메시지 중 하나에 해당할 수 있다.
일 실시예에서, 메시지 전송 서버(120)는 사용자 단말(110), 인증 메시지 보안 서버(130) 및 인증 요청 서버(140)와 네트워크를 통하여 연결될 수 있다. 여기에서, 메시지 전송 서버(120)는 인증 메시지 보안 서버 또는 인증 요청 서버(140)로부터 특정 사용자 단말(110)에 대한 인증 메시지의 전송 요청을 수신하여, 요청에 따라 인증 메시지를 전송할 수 있다.
인증 메시지 보안 서버(130)는 사용자 단말(110), 메시지 전송 서버(120) 및 인증 요청 서버(140) 각각과 네트워크를 통하여 연결될 수 있는 컴퓨팅 장치에 해당하고, 예를 들어, 인증 메시지 보안 서비스 업체, 인증 서비스 업체 또는 통신 서비스 제공 업체에 의하여 관리될 수 있다.
본 발명의 일 실시예에 따른 인증 메시지 보안 서버(130) 및 인증 메시지 보안 서버(130)에서 수행되는 인증 메시지 보안 과정은 도 3 내지 도 5를 참조하여 상세하게 설명한다.
인증 요청 서버(140)는 특정 사용자에 대한 인증을 수행하는 컴퓨팅 장치에 해당한다. 일 실시예에서, 인증 요청 서버(140)는 전자 결제 서버에 포함되어 구현될 수 있다. 예를 들어, 인증 요청 서버(140)는 사용자가 소액 결제 서비스를 이용하는 경우, 해당 사용자에 대한 인증을 요청하는 소액 결제 서버에 해당할 수 있다.
일 실시예에서, 인증 요청 서버(140)은 IM서버(카카톡 서버 또는 라인 서버 등)에 포함되어 구현될 수 있다. 예를 들어, 카카오톡 서버는 사용자의 전화번호를 인증하기 위하여 인증번호를 인증 요청 서버에서 생성하여 사용자 단말(110)로 송신할 수 있다.
여기에서, 인증 요청 서버(140)는 사용자 정보(예: 성명, 주민등록 번호, 전화번호) 및 인증 코드(예: 인증 번호) 중 적어도 하나를 기초로 인증을 수행할 수 있다.
일 실시예에서, 인증 요청 서버(140)는 사용자 단말(110)에 인증 코드(예: 6자리 숫자)를 포함하는 인증 메시지를 전송하고, 해당 인증 코드를 수신하는 경우 해당 사용자에 대한 인증을 완료할 수 있다.
도 2는 도 1에 있는 사용자 단말을 설명하는 블록도이다.
도 2를 참조하면, 사용자 단말(110)은 보안 등록 요청부(210), 보안 등록 정보 수신부(220), 보안 수행부(230) 및 제어부(240)를 포함할 수 있다. 여기에서, 사용자 단말(110)은 보안 등록 요청부(210), 보안 등록 정보 수신부(220), 보안 수행부(230) 및 제어부(240) 각각의 동작을 구현할 수 있는 보안 클라이언트를 설치하여 본 발명에 따른 인증 메시지 보안 과정을 수행할 수 있다.
일 실시예에서, 보안 클라이언트는 사용자 단말(110)에 단말기 출시 시에 포함되어 제공되거나, 별도의 어플리케이션 마켓(예: 플레이 스토어, 앱스토어, T Store 등)을 통하여 다운로드 가능한 기록매체(예: 어플리케이션)의 형태로 제공될 수 있다. 다른 일 실시예에서, 보안 클라이언트는 다른 어플리케이션 (예를 들면, Push Client, SMS client, IM client 등)의 일부로 구현되어 사용자 단말(110)에 제공될 수 있다.
보안 등록 요청부(210)는 인증 메시지 보안 서버(130)에 보안 등록 요청을 송신할 수 있다.
일 실시예에서, 보안 등록 요청부(210)는 인증 메시지 보안 서버(130)에 사용자 단말 식별자를 포함하는 보안 등록 요청을 송신할 수 있다. 여기에서, 사용자 단말 식별자는 사용자 단말을 식별하기 위한 데이터로서, 예를 들어, 전화 번호, 사용자 이메일 주소, IP 주소 중 적어도 하나를 포함할 수 있다. 이때 사용자 단말 식별자는 보안 등록 요청 메시지에 explicit하게 포함되어 송신될 수 있고, 보안 등록 요청 메시지의 특정 field (예를 들면, 보안 등록 요청 메시지의 IP 패킷의 source IP주소)로부터 implicit하게 송신될 수도 있다. 일 실시예에서, 인증 메시지가 푸시 메시지의 형태로 전송되는 경우, 사용자 단말 식별자는 푸시 메시지 서버로부터 발급받은 토큰을 더 포함할 수 있다.
일 실시예에서, 보안 등록 요청부(210)는 인증 메시지 보안 서버(130)로부터 보안 등록 요청과 연관된 특정 발송 코드를 수신할 수 있다. 여기에서, 발송 코드는 사용자 단말마다 상이한 임의의 발송 코드(예: nonce)에 해당하거나, 또는 동일한 사용자 단말에 대해서도 시간에 따라서 상이한 임의의 발송 코드(예: nonce)에 해당할 수 있다.
보안 등록 요청부(210)는 수신된 발송 코드와 연관된 리턴 코드를 생성하여 인증 메시지 보안 서버(130)로 전송할 수 있다.
일 실시예에서, 보안 등록 요청부(210)는 발송 코드에 대하여 공유 코드 키(Key)를 이용해 암호화하여 리턴 코드를 생성할 수 있다. 여기에서, 공유 코드 키는 인증 메시지 보안 서버(130)와 공유하는 암호화 키에 해당할 수 있다.
일 실시예에서, 공유 코드 키는 보안 클라이언트와 인증 메시지 보안 서버(130)가 공통적으로 공유하는 해쉬 함수 알고리즘에 해당할 수 있다.
즉, 보안 등록 요청부(210)는 보안 클라이언트가 해킹 프로그램이 아님을 인증하기 위하여 인증 메시지 보안 서버(130)와 공통적으로 기 저장된 공유 코드 키를 이용하여 리턴 코드를 생성하고 인증 메시지 보안 서버(130)로 전송함으로써, 인증 메시지 보안 서버(130)가 자신이 발송한 발송 코드를 공유 코드 키를 이용하여 검증 코드를 생성하여 리턴 코드와의 비교를 통해 보안 클라이언트를 인증할 수 있다.
한편, 상기 실시 예들은 본 발명의 권리 범위를 한정하고자 하는 것은 아니다. 즉, 보안 등록 요청부(210)는 공유 코드 키를 이용하여 리턴 코드를 생성할 수 있으며, 인증 메시지 보안 서버(130)와 공유하는 암호화 키(예: 해쉬 알고리즘, 기타 암호화 알고리즘 등)를 통해 다양한 방식으로 리턴 코드를 생성할 수 있다.
여기에서, 보안 등록 요청부(210)는 인증 메시지 보안 서버(130)로 리턴 코드 및 사용자 단말 식별자를 포함하는 보안 등록 요청을 송신할 수 있다. 이때 사용자 단말 식별자는 보안 등록 요청 메시지에 explicit하게 포함되어 송신될 수 있고, 보안 등록 요청 메시지의 특정 field (예를 들면, 보안 등록 요청 메시지의 IP 패킷의 source IP주소)로부터 implicit하게 송신될 수도 있다.
인증 메시지 보안 서버(130)에 의하여 보안 등록 요청에 대한 적합성이 결정(이하, 도 3에서 상세하게 설명함)되면, 보안 등록 정보 수신부(220)는 인증 메시지 보안 서버(130)로부터 인증 요청 서버(140)와 연관된 인증 코드에 대한 인증 코드 변환 규약을 수신할 수 있다.
일 실시예에서, 인증 코드 변환 규약은 복수의 사용자 단말들마다 상이한 복호화 키(Key)에 해당할 수 있다. 즉, 인증 메시지 보안 서버(130)에 의하여 보안 등록이 정상적으로 완료되면, 인증 메시지 보안 서버(130)는 해당 보안 클라이언트에 대한 고유의 암호화 키(Key) 및 복호화 키를 생성하고, 암호화 키는 사용자 단말 식별자와 연관시켜 저장하며, 복호화 키는 보안 클라이언트에 전송할 수 있다.
보안 수행부(230)는 메시지 전송 서버(120)로부터 인증 코드 변환 규약(예: 암호화 키)에 따라 변환된 인증 코드를 포함하는 인증 메시지를 수신하면, 인증 코드 변환 규약(예: 복호화 키)을 기초로 변환된(암호화된) 인증 코드를 (복호화된) 인증 코드로 변환할 수 있다.
즉, 인증 메시지 보안 서버(130)에 의하여 보안 클라이언트가 정상적으로 등록되면 인증 메시지 보안 서버(130)와 사용자 단말(110)의 보안 클라이언트에 상호 대응되는 암호화/복호화 키가 저장되고, 인증 메시지 보안 서버(130)는 인증 요청 서버(140)로부터 수신된 인증 코드를 해당 암호화 키를 통하여 암호화하여 메시지 전송 서버(120)를 통해 보안 클라이언트로 전송함으로써, 인증 메시지가 전송되는 어느 과정에서도 해킹 프로그램으로부터 안전하게 보안을 수행할 수 있다.
제어부(240)는 보안 등록 요청부(210), 보안 등록 정보 수신부(220) 및 보안 수행부(230)의 동작 및 데이터의 흐름을 제어한다.
도 3은 도 1에 있는 인증 메시지 보안 서버를 설명하는 블록도이다.
도 3을 참조하면, 인증 메시지 보안 서버(130)는 보안 등록 정보 송수신부(310), 보안 등록 결정부(320), 보안 등록부(330), 보안 수행부(340) 및 제어부(350)를 포함한다.
보안 등록 정보 송수신부(310)는 사용자 단말(110)에 설치되는 보안 클라이언트로부터 보안 등록 요청을 수신하면 특정 발송 코드를 송신한다.
일 실시예에서, 보안 등록 정보 송수신부(310)는 복수의 사용자 단말들마다 상이한 임의의 발송 코드(예: nonce)를 보안 클라이언트로 전송할 수 있다.
일 실시예에서, 보안 등록 정보 송수신부(310)는 같은 사용자 단말에게도 시간에 따라서 상이한 임의의 발송 코드(예: nonce)를 보안 클라이언트로 전송할 수 있다.
일 실시예에서, 보안 등록 정보 송수신부(310)는 임의의 발송 코드 및 인증 메시지 보안 서버(130)와 사용자 단말(110)이 공통적으로 공유하는 공유 정보(예를 들면, 특정 문자열, 인증 메시지 보안 서버의 이름 등)를 공유 코드 키를 이용해 암호화하여 보안 클라이언트로 전송할 수 있다. 여기에서, 공유 코드 키는 인증 메시지 보안 서버(130)와 공유하는 암호화 키에 해당할 수 있다. 이때, 보안 클라이언트는 암호화된 발송 코드 및 공유 정보를 수신하고 공유 코드 키를 통하여 복호화 한 후 기 저장된 공유 정보와 동일한지 여부를 기초로 인증 메시지 보안 서버(130)를 신뢰할 수 있는지 여부를 판단할 수 있다. 즉, 보안 클라이언트 역시 인증 메시지 보안 서버(130)를 검증할 수 있다.
일 실시예에서, 상기 공유 코드 키는 시간이 바뀌어도 변하지 않거나, 보안 클라이언트의 버전에 따라 상이하거나, 또는 사용자 단말(110)의 현재 시간에 따라 상이할 수 있다. 즉, 해커가 상기 공유 코드 키를 알아내기 힘들게 하는 방식을 추가로 구현할 수 있다.
보안 등록 정보 송수신부(310)는 보안 클라이언트로부터 발송 코드와 연관된 리턴 코드를 수신할 수 있다. 여기에서, 리턴 코드는 보안 클라이언트에 의하여 발송 코드에 대하여 공유 코드 키가 적용된 코드에 해당할 수 있다.
일 실시예에서, 리턴 코드는 발송 코드에 대하여 인증 메시지 보안 서버(130)와 보안 클라이언트가 공유하는 공유 코드 키가 적용된 코드에 해당할 수 있다. 여기에서, 사용자 단말(110)에 보안 클라이언트가 제공될 때 공유 코드가 함께 제공될 수 있다. 예를 들어, 보안 등록 정보 송수신부(310)는 보안 클라이언트로부터 발송 코드에 대하여 공유 코드 키(예: 해쉬 함수 알고리즘 또는 기타 암호화 알고리즘 등)가 적용된 리턴 코드를 수신할 수 있다.
보안 등록 결정부(320)는 보안 클라이언트로부터 수신되는 리턴 코드 및 사용자 단말 식별자 중 적어도 하나를 기초로 사용자 단말(110)에 대한 보안 등록 적합성을 결정할 수 있다. 여기에서, 보안 등록 적합성은 보안 클라이언트가 정상적으로 배포된 클라이언트에 해당하는지 여부(예: 해킹 프로그램에 해당하는지 여부) 및 보안 등록 요청이 해당 사용자 단말로부터 수신되는 것인지 여부(예: 해커가 자신의 핸드폰 등의 기기에서 다른 사용자 단말 식별자(예를 들면, 전화번호 등)를 도용하여 보안 등록 요청을 시도하는 것인지 여부) 중 적어도 하나에 대한 인증을 수행하는 절차에 해당할 수 있다.
일 실시예에서, 보안 등록 결정부(320)는 보안 클라이언트에 대한 무결성을 검증할 수 있다. 즉, 보안 등록 결정부(320)는 보안 클라이언트에 대한 인증을 수행할 수 있다. 여기에서, 보안 등록 결정부(320)는 보안 클라이언트에 전송한 발송 코드에 대하여 공통 코드 키를 적용하여 검증 코드를 생성하고, 보안 클라이언트로부터 수신한 리턴 코드와 검증 코드의 동일성 여부를 기초로 보안 클라이언트에 대한 무결성을 검증할 수 있다. 즉, 보안 등록 결정부(320)는 리턴 코드와 검증 코드가 동일하면 해당 보안 클라이언트가 해킹 프로그램이 아닌 것으로 보아 해당 보안 클라이언트에 대하여 보안 등록을 수행할 수 있다.
일 실시예에서, 보안 등록 결정부(320)는 사용자 단말(110)에 대한 위치 식별자 및 사용자 단말 식별자를 기초로 사용자 단말에 대한 무결성을 검증할 수 있다. 여기에서, 위치 식별자는 사용자 단말(110)의 네트워크 상에서의 고유 위치를 나타내는 식별자로서 예를 들어, IP(Internet Protocol) 주소에 해당할 수 있다.
일 실시예에서, 보안 등록 결정부(320)는 위치 식별자를 보안 클라이언트로부터 수신하거나 또는 패킷으로부터 확인하여 획득할 수 있다.
일 실시예에서, 보안 등록 결정부(320)는 사용자 단말 식별자를 보안 클라이언트로부터 수신할 수 있다. 다른 일 실시예에서, 보안 등록 결정부(320)는 복수의 사용자 단말들에 대한 사용자 단말 식별자 및 위치 식별자를 각각 연관시켜 저장하고 있는 사용자 단말 정보 제공 서버를 통하여 사용자 단말 식별자를 확인할 수 있다. 예를 들어, 보안 등록 결정부(320)는 사용자 단말(110)에 대한 위치 식별자(예: IP주소)를 전화 번호 및 IP주소를 대응시켜 저장하고 있는 사용자 단말 정보 제공 서버(예: MNIP 서버)로 전송하고, 그에 대한 응답으로서 해당 전화 번호를 수신할 수 있다.
여기에서, 보안 등록 결정부(320)는 사용자 단말(110)에 대한 위치 식별자와 사용자 단말 식별자가 동일한지 여부를 기초로 해당 사용자 단말(110)의 무결성을 검증할 수 있다. 즉, 보안 등록 결정부(320)는 위치 식별자와 사용자 단말 식별자가 동일하면 해당 사용자 단말(110)로부터 보안 등록 요청이 수신된 것으로 보아 해당 사용자 단말(110)에 대하여 보안 등록을 수행할 수 있다.
일 실시예에서, 보안 등록 결정부(320)은 사용자 단말 식별자 (예를 들어, 전화번호)를 단말로부터 수신 하지 않고 사용자 단말(110)에 대한 위치 식별자 (예: IP주소)를 전화 번호 및 위치 식별자를 대응시켜 저장하고 있는 사용자 단말 정보 제공 서버(예: MNIP 서버)로 전송하고, 그에 대한 응답으로서 해당 전화 번호를 수신하고 수신한 전화번호를 사용자 단말의 전화번호로 사용할 수 있다.
보안 등록부(330)는 보안 등록 결정부(320)에 의하여 보안 등록 적합성이 결정되면, 사용자 단말(110)에 대한 인증 코드 변환 규약을 생성하고, 보안 클라이언트에 생성된 인증 코드 변환 규약을 송신함으로써 보안 등록을 알릴 수 있다.
일 실시예에서, 보안 등록부(330)는 생성된 인증 코드 변환 규약을 암호화 하여 송신할 수 있다. 여기에서, 인증 코드 변환 규약에 대한 암호화 키 및 복호화 키는 사전에 사용자 단말(110) 및 인증 메시지 보안 서버(130)에 저장될 수 있다. 이때, Key Pair(암호화 키 및 복호화 키)는 시간이 바뀌어도 변하지 않거나, 보안 클라이언트의 버전에 따라 상이하거나, 또는 사용자 단말(110)의 현재 시간에 따라 상이할 수 있다. 즉, 해커로부터 안전하게 보호하기 위하여 다양한 방식으로 인증 코드 변환 규약을 암호화하여 송신할 수 있다. 일 실시예에서, 보안 등록부(330)는 사용자 단말(110)이 보안 등록 적합성을 만족하면 인증 요청 서버(140)와 연관된 인증 코드에 대한 암호화 키 및 복호화 키를 생성할 수 있다.
여기에서, 보안 등록부(330)는 암호화 키를 사용자 단말 식별자와 연관시켜 저장하고, 복호화 키를 보안 클라이언트에 전송할 수 있다.
일 실시예에서, 인증 메시지가 푸시 메시지의 형태로 전송되는 경우(즉, 메시지 전송 서버(120)가 푸시 메시지 서버에 해당하는 경우), 보안 등록 정보 송수신부(310)는 사전에 보안 클라이언트가 푸시 메시지 서버로부터 발급받은 토큰을 보안 클라이언트로부터 수신하고, 보안 등록부(330)는 암호화 키를 토큰 및 사용자 단말 식별자 중 적어도 하나와 연관시켜 저장할 수 있다.
보안 수행부(340)는 인증 요청 서버(140)로부터 사용자 단말(110)에 대한 특정 인증 코드를 포함하는 인증 메시지 요청을 수신하면, 보안 등록부(330)에 의하여 생성된 해당 사용자 단말(110)에 대한 인증 코드 변환 규약에 따라 수신된 인증 코드를 변환하여 사용자 단말(110)로 전송할 수 있다.
일 실시예에서, 보안 수행부(340)는 인증 코드를 해당 사용자 단말(110)에 대한 인증 코드 변환 규약에 따라 변환하여 사용자 단말(110)로 전송하거나 또는 인증 코드를 포함하는 인증 메시지를 인증 코드 변환 규약에 따라 변환하여 사용자 단말(110)로 전송할 수 있다.
일 실시예에서, 보안 수행부(340)는 변환된 인증 코드(또는 인증 코드를 포함하는 인증 메시지) 및 사용자 단말 식별자(또는 토큰)을 메시지 전송 서버(120, 예: SMS 서버 또는 푸시 메시지 서버)로 전송하여 메시지 전송 서버(120)가 사용자 단말(110)로 인증 메시지를 전송하도록 할 수 있다. 만약, 보안 수행부(340)가 인증 코드만을 변환하여 메시지 전송 서버(120)에 인증 메시지 전송을 요청하는 경우, 메시지 전송 서버(120)는 인증 코드를 포함한 인증 메시지를 생성하여 해당 사용자 단말(110)에 전송할 수 있다. 만약, 보안 수행부(340)가 인증 코드를 포함하는 인증 메시지 전체를 변환하여 메시지 전송 서버(120)에 인증 메시지 전송을 요청하는 경우, 메시지 전송 서버(120)는 암호화된 인증 메시지 그대로 사용자 단말(110)에 전송할 수 있다. 이하, 본 발명에 따른 인증 메시지 보안 과정에서 인증 코드를 변환하여 메시지 전송 서버(120)를 통해 사용자 단말(110)에 전송하는 것을 가정하여 설명하나, 이러한 가정은 본 발명의 권리범위를 한정하고자 하는 것은 아니다. 즉, 사용자 단말(110)은 최종적으로 인증 코드를 포함하는 인증 메시지를 수신하며, 인증 코드 변환 규약에 따라 복호화된 인증 코드를 획득할 수 있다.
여기에서, 사용자 단말(110)의 메시지 클라이언트(예: SMS 클라이언트 또는 푸시 클라이언트)는 인증 메시지를 수신하고, 사용자 단말(110)의 내부 네트워크를 통하여 보안 클라이언트로 인증 메시지를 전송할 수 있다. 보안 클라이언트는 인증 메시지에 포함되고 인증 코드 변환 규약에 따라 변환된 인증 코드를 보안 등록부(330)에 의하여 수신된 인증 코드 변환 규약에 따라 원래의 인증 코드로 변환할 수 있다.
일 실시예에서, 보안 수행부(340)는 인증 요청 서버(140)로부터 사용자 단말 식별자 및 인증 코드를 포함하는 인증 메시지 전송 요청을 수신하면, 인증 코드를 보안 등록부(330)에 의하여 생성된 암호화 키를 기초로 변환(암호화)하고, 변환(암호화)된 인증 코드를 사용자 단말(110)로 송신할 수 있다. 여기에서, 사용자 단말(110)의 내부 네트워크를 통하여 보안 클라이언트가 변환(암호화)된 인증 코드를 획득하고 보안 등록부(330)로부터 송신된 복호화 키를 이용해 원래의 인증 코드로 재변환(복호화)할 수 있다.
제어부(350)는 보안 등록 정보 송수신부(310), 보안 등록 결정부(320), 보안 등록부(330) 및 보안 수행부(340)의 동작 및 데이터의 흐름을 제어한다.
도 4는 본 발명의 일 실시예에 따른 인증 메시지 보안 서버에서 수행되는 인증 메시지 보안 과정을 설명하는 흐름도이다.
보안 등록 정보 송수신부(310)는 사용자 단말(110)에 설치되는 보안 클라이언트로부터 보안 등록 요청을 수신할 수 있다(단계 S410).
보안 등록 정보 송수신부(310)는 보안 클라이언트에 특정 발송 코드를 전송할 수 있다(단계 S420). 일 실시예에서, 보안 등록 정보 송수신부(310)는 복수의 사용자 단말들마다 상이한 임의의 발송 코드(예: nonce) 또는 동일한 사용자 단말에 대하여도 시간에 따라 상이한 임의의 발송 코드(예: nonce)를 보안 클라이언트로 전송할 수 있다.
보안 등록 정보 송수신부(310)는 보안 클라이언트로부터 발송 코드와 연관된 리턴 코드를 수신할 수 있다(단계 S430). 일 실시예에서, 리턴 코드는 발송 코드에 대하여 인증 메시지 보안 서버(130)와 보안 클라이언트 공유하는 공유 코드 키가 적용된 코드에 해당할 수 있다.
일 실시예에서, 보안 등록 정보 송수신부(310)는 보안 클라이언트로부터 리턴 코드를 수신하는 과정에서 사용자 단말 식별자(예: 전화 번호) 및 위치 식별자(IP 주소) 중 적어도 하나를 함께 수신할 수 있다. 여기에서, 보안 클라이언트는 위치 식별자(예: IP 주소)를 implicit하게 송신 할수도 있다.
보안 등록 결정부(320)는 보안 클라이언트로부터 수신되는 리턴 코드 및 사용자 단말 식별자 중 적어도 하나를 기초로 사용자 단말(110)에 대한 보안 등록 적합성을 결정할 수 있다(단계 S440).
일 실시예에서, 보안 등록 결정부(320)는 보안 클라이언트에 대한 무결성을 검증할 수 있다. 여기에서, 보안 등록 결정부(320)는 보안 클라이언트에 전송한 발송 코드에 대하여 공유 코드 키를 적용하여 검증 코드를 생성하고, 보안 클라이언트로부터 수신한 리턴 코드와 검증 코드의 동일성 여부를 기초로 보안 클라이언트에 대한 무결성을 검증할 수 있다.
일 실시예에서, 보안 등록 결정부(320)는 사용자 단말(110)에 대한 위치 식별자 및 사용자 단말 식별자를 기초로 사용자 단말에 대한 무결성을 검증할 수 있다. 여기에서, 위치 식별자는 사용자 단말(110)의 네트워크 상에서의 고유 위치를 나타내는 식별자로서 예를 들어, IP(Internet Protocol) 주소에 해당할 수 있다.
일 실시예에서, 보안 등록 적합성 결정 단계 (S440)의 일부로서 보안 등록 결정부(320)은 사용자 단말(110)로부터 사용자 식별자를 받지 않더라도 위치 식별자를 이용하여 MNIP서버에 문의 하여 사용자 단말 식별자를 알아 내고 이렇게 알아낸 사용자 단말 식별자를 향후 동작에 사용할 수 있다.
일 실시예에서, 보안 등록 결정부(320)는 사용자 단말 식별자를 보안 클라이언트로부터 수신할 수 있다. 다른 일 실시예에서, 보안 등록 결정부(320)는 복수의 사용자 단말들에 대한 사용자 단말 식별자 및 위치 식별자를 각각 연관시켜 저장하고 있는 사용자 단말 정보 제공 서버를 통하여 사용자 단말 식별자를 확인할 수 있다. 예를 들어, 보안 등록 결정부(320)는 사용자 단말(110)에 대한 위치 식별자(예: IP주소)를 전화 번호 및 IP주소를 대응시켜 저장하고 있는 사용자 단말 정보 제공 서버(예: MNIP 서버)로 전송하고, 그에 대한 응답으로서 해당 전화 번호를 수신할 수 있다.
여기에서, 보안 등록 결정부(320)는 사용자 단말(110)에 대한 위치 식별자와 사용자 단말 식별자가 동일한지 여부를 기초로 해당 사용자 단말(110)의 무결성을 검증할 수 있다.
보안 등록부(330)는 보안 등록 결정부(320)에 의하여 보안 등록 적합성이 결정되면, 사용자 단말(110)에 대한 인증 코드 변환 규약을 생성할 수 있다(단계 S450). 일 실시예에서, 보안 등록부(330)는 사용자 단말(110)이 보안 등록 적합성을 만족하면 인증 요청 서버(140)와 연관된 인증 코드에 대한 암호화 키 및 복호화 키를 생성할 수 있다.
일 실시예에서, 보안 등록부(330)는 보안 클라이언트에 생성된 인증 코드 변환 규약을 송신함으로써 보안 등록을 알릴 수 있다(단계 S460). 여기에서, 보안 등록부(330)는 암호화 키를 사용자 단말 식별자와 연관시켜 저장하고, 복호화 키를 보안 클라이언트에 전송할 수 있다.
일 실시예에서, 인증 메시지가 푸시 메시지의 형태로 전송되는 경우(즉, 메시지 전송 서버(120)가 푸시 메시지 서버에 해당하는 경우), 보안 등록 정보 송수신부(310)는 사전에 보안 클라이언트가 푸시 메시지 서버로부터 발급받은 토큰을 보안 클라이언트로부터 수신하고, 보안 등록부(330)는 암호화 키를 토큰 및 사용자 단말 식별자 중 적어도 하나와 연관시켜 저장할 수 있다.
보안 수행부(340)는 인증 요청 서버(140)로부터 사용자 단말(110)에 대한 특정 인증 코드를 포함하는 인증 메시지 요청을 수신할 수 있다(단계 S470).
여기에서, 보안 수행부(340)는 보안 등록부(330)에 의하여 생성된 해당 사용자 단말에 대한 인증 코드 변환 규약에 따라 수신된 인증 코드를 변환할 수 있다(단계 S480).
보안 수행부(340)는 변환된 인증 코드 및 사용자 단말 식별자(또는 토큰)을 메시지 전송 서버(120)로 전송하여 메시지 전송 서버(120)가 변환된 인증 코드를 포함하는 인증 메시지를 사용자 단말(110)로 전송하도록 할 수 있다(단계 S490).
일 실시예에서, 보안 수행부(340)는 인증 요청 서버(140)로부터 사용자 단말 식별자 및 인증 코드를 포함하는 인증 메시지 전송 요청을 수신하면, 인증 코드를 보안 등록부(330)에 의하여 생성된 암호화 키를 기초로 변환(암호화)하고, 변환(암호화)된 인증 코드를 사용자 단말(110)로 송신할 수 있다. 여기에서, 사용자 단말(110)의 내부 네트워크를 통하여 보안 클라이언트가 변환(암호화)된 인증 코드를 획득하고 보안 등록부(330)에 의하여 수신된 복호화 키를 통해 원래의 인증 코드로 재변환(복호화)할 수 있다.
도 5는 본 발명의 일 실시예에 따른 인증 메시지 보안 시스템에서 수행되는 인증 메시지 보안 과정을 설명하는 흐름도이다.
사용자 단말(110)의 보안 클라이언트는 인증 메시지 보안 서버(130)에 보안 등록 요청을 송신할 수 있다(단계 S510).
사용자 단말(110)의 보안 클라이언트는 인증 메시지 보안 서버(130)로부터 보안 등록 요청과 연관된 특정 발송 코드를 수신할 수 있다.
사용자 단말(110)의 보안 클라이언트는 수신된 발송 코드에 대한 리턴 코드를 생성하여 인증 메시지 보안 서버(130)로 전송할 수 있다(단계 S511). 일 실시예에서, 보안 클라이언트는 발송 코드에 대하여 공유 코드 키를 적용하여 리턴 코드를 생성하고, 인증 메시지 보안 서버(130)로 전송할 수 있다(단계 S512). 이 과정에서 보안 클라이언트는 사용자 단말 식별자 및 위치 식별자 중 적어도 하나를 리턴 코드와 함께 전송할 수 있다. 이때 위치 식별자는 implicit하게 전송될 수도 있다.
인증 메시지 보안 서버(130)는 수신된 리턴 코드를 기초로 보안 클라이언트에 대한 무결성을 검증할 수 있다. 즉, 보안 등록 결정부(320)는 보안 클라이언트에 대한 인증을 수행할 수 있다(단계 S520).
인증 메시지 보안 서버(130)는 보안 클라이언트로부터 위치 식별자를 수신하지 않은 경우 패킷으로부터 확인할 수 있다(단계 S521).
인증 메시지 보안 서버(130)는 사용자 단말(110)에 대한 위치 식별자와 사용자 단말 식별자가 동일한지 여부를 기초로 해당 사용자 단말(110)의 무결성을 검증할 수 있다(단계 S522). 단계 S522는 만약 단말이 단말 식별자를 보내지 않게 구현한 경우에는 이 단계에서 위치 식별자를 이용하여 단말 식별자를 알아내는 단계이다.
인증 메시지 보안 서버(130)는 보안 등록 결정부(320)에 의하여 보안 등록 적합성이 결정되면, 인증 요청 서버(140)와 연관된 인증 코드에 대한 암호화 키 및 복호화 키를 생성할 수 있다(단계 S530).
여기에서, 인증 메시지 보안 서버(130)는 암호화 키를 사용자 단말 식별자와 연관시켜 저장할 수 있다(단계 S531). 일 실시예에서, 인증 메시지가 푸시 메시지의 형태로 전송되는 경우(즉, 메시지 전송 서버(120)가 푸시 메시지 서버에 해당하는 경우), 인증 메시지 보안 서버(130)는 사전에 보안 클라이언트가 푸시 메시지 서버로부터 발급받은 토큰을 보안 클라이언트로부터 수신하고, 암호화 키를 토큰 및 사용자 단말 식별자 중 적어도 하나와 연관시켜 저장할 수 있다. 인증 요청 서버(140)가 인증 메시지의 전송을 단말 식별자가 아니라 token을 사용자 단말(110)의 주소로 하여 인증 메시지보안 서버(130)로 요청할 경우에는 토큰과 암호화 키의 매핑만 있으면 된다.
인증 메시지 보안 서버(130)는 생성된 복호화 키를 보안 클라이언트에 전송할 수 있다(단계 S532).
인증 메시지 보안 서버(130)는 인증 요청 서버(140)로부터 사용자 단말(110)에 대한 특정 인증 코드를 포함하는 인증 메시지 요청을 수신할 수 있다(단계 S540).
인증 메시지 보안 서버(130)는 해당 사용자 단말에 대한 암호화 키에 따라 수신된 인증 코드(또는 인증 코드를 포함하는 인증 메시지)를 변환할 수 있다(단계 S541).
인증 메시지 보안 서버(130)는 변환된 인증 코드(또는 인증 코드를 포함하는 인증 메시지) 및 사용자 단말 식별자(또는 토큰)을 메시지 전송 서버(120, 예: SMS 서버 또는 푸시 메시지 서버)로 전송하여 사용자 단말(110)에 대한 인증 메시지 발송 요청을 할 수 있다(단계 S542).
메시지 전송 서버(120)는 변환된 인증 코드가 포함된 인증 메시지(또는 변환된 인증 메시지)를 사용자 단말(110)로 전송할 수 있다(단계 S543).
사용자 단말(110)의 메시지 클라이언트(예: SMS 클라이언트 또는 푸시 클라이언트)는 인증 메시지를 수신하고, 내부 네트워크를 통하여 보안 클라이언트가 인증 메시지를 획득할 수 있다.
보안 클라이언트는 인증 메시지에 포함되고 암호화된 인증 코드를 사전에 보안 등록 과정에서 수신한 복호화 키를 통하여 복호화할 수 있다(단계 S544).
일 실시예에서, 보안 클라이언트는 별도의 프로그램으로 구현될 수도 있고 메시지 클라이언트(예: SMS클라이언트, Joyn 등의 IM클라이언트 또는 Push Client 등)와 하나의 프로그램으로 구현될 수도 있다.
상기에서는 본 출원의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
100: 인증 메시지 보안 시스템
110: 사용자 단말 120: 메시지 전송 서버
130: 인증 메시지 보안 서버 140: 인증 요청 서버
210: 보안 등록 요청부 220: 보안 등록 정보 송수신부
230: 보안 수행부 240: 제어부
310: 보안 등록 정보 송수신부 320: 보안 등록 결정부
330: 보안 등록부 340: 보안 수행부
350: 제어부

Claims (24)

  1. 인증 요청 서버, 사용자 단말 정보 제공 서버 및 사용자 단말과 연결될 수 있는 인증 메시지 보안 서버에서 수행되는 인증 메시지 보안 방법에 있어서,
    상기 사용자 단말에 설치되는 보안 클라이언트로부터 위치 식별자 및 제1 사용자 단말 식별자를 수신하는 단계;
    상기 위치 식별자를 상기 사용자 단말 정보 제공 서버에 전송하여 제2 사용자 단말 식별자를 수신하며, 상기 제1및 제2사용자 단말 식별자들의 동일성 여부를 결정하여 상기 사용자 단말에 대한 보안 등록 적합성을 결정하는 단계;
    상기 결정된 보안 등록 적합성에 따라 상기 사용자 단말에 대한 인증 코드 변환 규약을 생성하여 상기 보안 클라이언트에 알리는 단계; 및
    상기 인증 요청 서버로부터 상기 사용자 단말에 대한 인증 메시지 전송 요청을 수신하면 상기 인증 코드 변환 규약에 따라 인증 코드를 변환하여 상기 사용자 단말로 전송하는 단계를 포함하는 인증 메시지 보안 방법.
  2. 제1항에 있어서, 상기 위치 식별자 및 제1 사용자 단말 식별자를 수신하는 단계는
    상기 사용자 단말에 설치되는 보안 클라이언트로부터 보안 등록 요청을 수신하면 특정 발송 코드를 송신하고, 상기 특정 발송 코드에 대하여 상기 인증 메시지 보안 서버와 미리 설정된 공유 코드 키(Key)를 적용하여 변환되는 리턴 코드를 수신하는 단계; 및
    상기 보안 클라이언트에 전송한 특정 발송 코드에 상기 공유 코드 키를 적용하여 변환되는 검증 코드와 상기 사용자 단말에서 수신된 상기 리턴 코드의 동일성 여부를 기초로 상기 보안 클라이언트에 대한 무결성을 검증하는 단계를 더 포함하는 것을 특징으로 하는 인증 메시지 보안 방법.
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 제1항에 있어서, 상기 인증 코드 변환 규약을 생성하여 상기 보안 클라이언트에 알리는 단계는
    상기 사용자 단말이 상기 보안 등록 적합성을 만족하면 상기 인증 요청 서버와 연관된 인증 코드에 대한 암호화 키(Key) 및 복호화 키를 생성하는 단계를 더 포함하는 것을 특징으로 하는 인증 메시지 보안 방법.
  8. 제7항에 있어서, 상기 인증 코드 변환 규약을 생성하여 상기 보안 클라이언트에 알리는 단계는
    상기 생성된 암호화 키를 상기 사용자 단말 식별자와 연관시켜 저장하는 단계; 및
    상기 생성된 복호화 키를 상기 보안 클라이언트에 전송하는 단계를 더 포함하는 것을 특징으로 하는 인증 메시지 보안 방법.
  9. 제7항에 있어서, 상기 인증 코드 변환 규약을 생성하여 상기 보안 클라이언트에 알리는 단계는
    상기 변환된 인증 코드를 푸시 메시지 서버를 통하여 상기 사용자 단말로 전송하는 경우, 사전에 상기 보안 클라이언트가 상기 푸시 메시지 서버로부터 발급받은 토큰을 상기 보안 클라이언트로부터 수신하는 단계;
    상기 수신된 토큰을 상기 생성된 암호화 키와 연관시켜 저장하는 단계; 및
    상기 생성된 복호화 키를 상기 보안 클라이언트에 전송하는 단계를 더 포함하는 것을 특징으로 하는 인증 메시지 보안 방법.
  10. 제8항에 있어서, 상기 인증 코드를 변환하여 상기 사용자 단말로 전송하는 단계는
    상기 인증 요청 서버로부터 사용자 단말 식별자 및 인증 코드를 포함하는 인증 메시지 전송 요청을 수신하면, 상기 인증 메시지 전송 요청에 포함된 인증 코드를 상기 암호화 키를 기초로 변환하거나 또는 상기 인증 코드를 포함하는 인증 메시지를 상기 암호화 키를 기초로 변환하는 단계; 및
    상기 변환된 인증 코드 또는 인증 메시지를 상기 사용자 단말로 송신하여 상기 보안 클라이언트가 상기 복호화 키를 통해 상기 인증 코드로 재변환하도록 하는 단계를 더 포함하는 것을 특징으로 하는 인증 메시지 보안 방법.
  11. 제1항에 있어서, 상기 인증 코드를 변환하여 상기 사용자 단말로 전송하는 단계는
    상기 변환된 인증 코드를 포함하고, 상기 사용자 단말 식별자 또는 상기 보안 클라이언트와 연관된 토큰을 더 포함하는 메시지 발송 요청을 메시지 전송 서버에 전송하는 단계를 더 포함하는 것을 특징으로 하는 인증 메시지 보안 방법.
  12. 인증 메시지 보안 서버 및 메시지 전송 서버와 연결될 수 있는 사용자 단말에서 수행되는 인증 메시지 보안 방법에 있어서,
    상기 인증 메시지 보안 서버로부터 보안 등록 요청과 연관된 특정 발송 코드를 수신하면 상기 발송 코드에 대한 리턴 코드를 생성하여 상기 인증 메시지 보안 서버로 전송하는 단계;
    상기 리턴 코드를 기초로 보안 등록 적합성이 결정되면, 상기 인증 메시지 보안 서버로부터 상기 인증 요청 서버와 연관된 인증 코드에 대한 인증 코드 변환 규약을 수신하는 단계; 및
    상기 메시지 전송 서버로부터 상기 인증 코드 변환 규약에 따라 변환된 인증 코드를 포함하는 인증 메시지를 수신하면 상기 인증 코드 변환 규약을 기초로 상기 인증 코드로 변환하는 단계를 포함하는 인증 메시지 보안 방법.
  13. 인증 요청 서버, 사용자 단말 정보 제공 서버 및 사용자 단말과 연결될 수 있는 인증 메시지 보안 서버에 있어서,
    상기 사용자 단말에 설치되는 보안 클라이언트로부터 위치 식별자 및 제1 사용자 단말 식별자를 수신하는 보안 등록 정보 송수신부;
    상기 위치 식별자를 상기 사용자 단말 정보 제공 서버에 전송하여 제2 사용자 단말 식별자를 수신하며, 상기 제1및 제2사용자 단말 식별자들의 동일성 여부를 결정하여 상기 사용자 단말에 대한 보안 등록 적합성을 결정하는 보안 등록 결정부;
    상기 결정된 보안 등록 적합성에 따라 상기 사용자 단말에 대한 인증 코드 변환 규약을 생성하여 상기 보안 클라이언트에 알리는 보안 등록부; 및
    상기 인증 요청 서버로부터 상기 사용자 단말에 대한 인증 메시지 전송 요청을 수신하면 상기 인증 코드 변환 규약에 따라 인증 코드를 변환하여 상기 사용자 단말로 전송하는 보안 수행부를 포함하는 인증 메시지 보안 서버.
  14. 제13항에 있어서, 보안 등록 정보 송수신부는
    상기 사용자 단말에 설치되는 보안 클라이언트로부터 보안 등록 요청을 수신하면 특정 발송 코드를 송신하고, 상기 특정 발송 코드에 대하여 상기 인증 메시지 보안 서버와 미리 설정된 공유 코드 키(Key)를 적용하여 변환되는 리턴 코드를 수신하고,
    상기 보안 클라이언트에 전송한 특정 발송 코드에 상기 공유 코드 키를 적용하여 변환되는 검증 코드와 상기 사용자 단말에서 수신된 상기 리턴 코드의 동일성 여부를 기초로 상기 보안 클라이언트에 대한 무결성을 검증하는 것을 특징으로 하는 인증 메시지 보안 서버.
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 제13항에 있어서, 상기 보안 등록부는
    상기 사용자 단말이 상기 보안 등록 적합성을 만족하면 상기 인증 요청 서버와 연관된 인증 코드에 대한 암호화 키(Key) 및 복호화 키를 생성하는 것을 특징으로 하는 인증 메시지 보안 서버.
  20. 제19항에 있어서, 상기 보안 등록부는
    상기 생성된 암호화 키를 상기 사용자 단말 식별자와 연관시켜 저장하고, 상기 생성된 복호화 키를 상기 보안 클라이언트에 전송하는 것을 특징으로 하는 인증 메시지 보안 서버.
  21. 제19항에 있어서,
    상기 변환된 인증 코드를 푸시 메시지 서버를 통하여 상기 사용자 단말로 전송하는 경우, 상기 보안 등록 정보 송수신부는 사전에 상기 보안 클라이언트가 상기 푸시 메시지 서버로부터 발급받은 토큰을 상기 보안 클라이언트로부터 수신하고, 상기 보안 등록부는 상기 수신된 토큰을 상기 생성된 암호화 키와 연관시켜 저장하고, 상기 생성된 복호화 키를 상기 보안 클라이언트에 전송하는 것을 특징으로 하는 인증 메시지 보안 서버.
  22. 제20항에 있어서, 상기 보안 수행부는
    상기 인증 요청 서버로부터 사용자 단말 식별자 및 인증 코드를 포함하는 인증 메시지 전송 요청을 수신하면, 상기 인증 메시지 전송 요청에 포함된 인증 코드를 상기 암호화 키를 기초로 변환하거나 또는 상기 인증 코드를 포함하는 인증 메시지를 상기 암호화 키를 기초로 변환하고, 상기 변환된 인증 코드 또는 인증 메시지를 상기 사용자 단말로 송신하여 상기 보안 클라이언트가 상기 복호화 키를 통해 상기 인증 코드로 재변환하도록 하는 것을 특징으로 하는 인증 메시지 보안 서버.
  23. 제13항에 있어서, 상기 보안 수행부는
    상기 변환된 인증 코드를 포함하고, 상기 사용자 단말 식별자 또는 상기 보안 클라이언트와 연관된 토큰을 더 포함하는 메시지 발송 요청을 메시지 전송 서버에 전송하는 것을 특징으로 하는 인증 메시지 보안 서버.
  24. 삭제
KR20130043927A 2013-04-22 2013-04-22 인증 메시지 보안 방법, 이를 수행하는 인증 메시지 보안 서버 및 사용자 단말 KR101482938B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR20130043927A KR101482938B1 (ko) 2013-04-22 2013-04-22 인증 메시지 보안 방법, 이를 수행하는 인증 메시지 보안 서버 및 사용자 단말

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20130043927A KR101482938B1 (ko) 2013-04-22 2013-04-22 인증 메시지 보안 방법, 이를 수행하는 인증 메시지 보안 서버 및 사용자 단말

Publications (2)

Publication Number Publication Date
KR20140126004A KR20140126004A (ko) 2014-10-30
KR101482938B1 true KR101482938B1 (ko) 2015-01-21

Family

ID=51995497

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20130043927A KR101482938B1 (ko) 2013-04-22 2013-04-22 인증 메시지 보안 방법, 이를 수행하는 인증 메시지 보안 서버 및 사용자 단말

Country Status (1)

Country Link
KR (1) KR101482938B1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101691109B1 (ko) * 2014-12-26 2016-12-29 주식회사 케이티 보안 메시지 전송 시스템, 방법 및 서버
KR101715816B1 (ko) * 2015-08-26 2017-03-13 (주)포제 접근성을 이용하는 정보 보안 장치 및 정보 보안 방법
CN107395629A (zh) * 2017-08-23 2017-11-24 周口师范学院 一种计算机网络安全注册与验证方法
KR102332037B1 (ko) * 2020-09-22 2021-12-01 배재대학교 산학협력단 Scada 제어망에서 강화된 운용자 인증 시스템 및 방법
KR102593734B1 (ko) * 2020-10-27 2023-10-26 한국전자통신연구원 클라우드 네트워크를 이용한 방송 게이트웨이 시그널링 방법 및 이를 위한 장치

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100096490A (ko) * 2009-02-24 2010-09-02 삼성전자주식회사 보안 통신 수행 방법 및 그 장치
KR20110002075A (ko) * 2008-04-04 2011-01-06 퀄컴 인코포레이티드 브로드캐스트 시스템 상에서 크레디트들을 분배 및 상환하기 위한 시스템 및 방법
KR20120098805A (ko) * 2009-11-26 2012-09-05 차이나 모바일 커뮤니케이션즈 코포레이션 인증 시스템, 방법 및 장치
KR20120128529A (ko) * 2011-05-17 2012-11-27 김기범 Uip를 이용한 사용자 인증 방법 및 인증 시스템

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110002075A (ko) * 2008-04-04 2011-01-06 퀄컴 인코포레이티드 브로드캐스트 시스템 상에서 크레디트들을 분배 및 상환하기 위한 시스템 및 방법
KR20100096490A (ko) * 2009-02-24 2010-09-02 삼성전자주식회사 보안 통신 수행 방법 및 그 장치
KR20120098805A (ko) * 2009-11-26 2012-09-05 차이나 모바일 커뮤니케이션즈 코포레이션 인증 시스템, 방법 및 장치
KR20120128529A (ko) * 2011-05-17 2012-11-27 김기범 Uip를 이용한 사용자 인증 방법 및 인증 시스템

Also Published As

Publication number Publication date
KR20140126004A (ko) 2014-10-30

Similar Documents

Publication Publication Date Title
KR101508360B1 (ko) 데이터 전송 장치 및 방법, 그리고 그 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록매체
US8347090B2 (en) Encryption of identifiers in a communication system
US8719568B1 (en) Secure delivery of sensitive information from a non-communicative actor
JP4199074B2 (ja) 安全なデータ通信リンクのための方法と装置
CN103166958B (zh) 一种文件的保护方法及系统
US7444513B2 (en) Authentication in data communication
Saxena et al. EasySMS: A protocol for end-to-end secure transmission of SMS
CN104731612B (zh) 将移动设备安全软件组件绑定到sim
CN109302412B (zh) 基于CPK的VoIP通信处理方法、终端、服务器及存储介质
CA2879910C (en) Terminal identity verification and service authentication method, system and terminal
KR100721522B1 (ko) 위치토큰을 이용한 위치기반 서비스 제공 방법
US10594479B2 (en) Method for managing smart home environment, method for joining smart home environment and method for connecting communication session with smart device
JP5468623B2 (ja) ネットワークにおけるブートストラップ・メッセージを保護するための装置と方法
US10021562B2 (en) Mobile trusted module (MTM)-based short message service security system and method thereof
KR101482938B1 (ko) 인증 메시지 보안 방법, 이를 수행하는 인증 메시지 보안 서버 및 사용자 단말
CN111512608A (zh) 基于可信执行环境的认证协议
Nyamtiga et al. Enhanced security model for mobile banking systems in Tanzania
CN101621794A (zh) 一种无线应用服务系统的安全认证实现方法
CN103974248A (zh) 在能力开放系统中的终端安全性保护方法、装置及系统
KR102567737B1 (ko) 보안 메시지 서비스 제공 방법 및 이를 위한 장치
CN104243452A (zh) 一种云计算访问控制方法及系统
Saxena et al. SecureSMS: A secure SMS protocol for VAS and other applications
KR101358375B1 (ko) 스미싱 방지를 위한 문자메시지 보안 시스템 및 방법
Baek et al. Secure and lightweight authentication protocol for NFC tag based services
KR102355708B1 (ko) 블록체인 키를 이용한 사용자 인증 기반의 요청 처리 방법, 그 방법이 적용된 시스템

Legal Events

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

Payment date: 20191217

Year of fee payment: 6