KR20100008893A - 인터넷 접속 도구를 고려한 사용자 인증 방법 및 시스템 - Google Patents

인터넷 접속 도구를 고려한 사용자 인증 방법 및 시스템 Download PDF

Info

Publication number
KR20100008893A
KR20100008893A KR1020080069508A KR20080069508A KR20100008893A KR 20100008893 A KR20100008893 A KR 20100008893A KR 1020080069508 A KR1020080069508 A KR 1020080069508A KR 20080069508 A KR20080069508 A KR 20080069508A KR 20100008893 A KR20100008893 A KR 20100008893A
Authority
KR
South Korea
Prior art keywords
server
service provider
authentication
information
user
Prior art date
Application number
KR1020080069508A
Other languages
English (en)
Other versions
KR100993333B1 (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 KR1020080069508A priority Critical patent/KR100993333B1/ko
Publication of KR20100008893A publication Critical patent/KR20100008893A/ko
Application granted granted Critical
Publication of KR100993333B1 publication Critical patent/KR100993333B1/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/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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • 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/3297Cryptographic 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 time stamps, e.g. generation of time stamps
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2117User registration

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

본 발명은, 개인용 단말을 이용하여 서비스 제공자 서버에 사용자 인증을 수행하는 방법에 있어서, 서비스 제공자 서버로부터 인증정보 생성용 메시지 및 서버 식별자를 수신하는 단계; 서버 식별자를 이용하여 서비스 제공자 서버가 등록되어 있는 지를 확인하는 단계; 서비스 제공자 서버가 등록되어 있으면, 인증정보 생성용 메시지와 서비스 제공자 서버에 해당하는 인증용 키를 이용하여 인증정보를 생성하고, 생성된 인증정보를 사용자 식별자와 함께 상기 서비스 제공자 서버에 전송하는 단계를 포함한다. 본 발명에 따르면, PC, 휴대폰, PDA 등과 같은 다양한 개인 인터넷 접속도구에서 동일한 사용자경험을 제공하면서도 편리한 방법으로 서버에 사용자를 등록하고 인증할 수 있게 된다. 또한, 공용 단말을 사용한 인증 시에 개인용 단말을 이용하여 안전하고 편리하게 인증하는 방법을 제공한다.

Description

인터넷 접속 도구를 고려한 사용자 인증 방법 및 시스템{Method for enrollment and authentication using private internet access devices and system}
본 발명은 인터넷 접속 도구를 고려한 사용자 인증 방법 및 시스템에 관한 것으로서, 더욱 상세하게는 다양한 개인의 인터넷 접속 도구에서 편리한 방법으로 서비스 제공자 서버에 사용자를 등록하고 인증할 수 있도록 하는 방법 및 시스템에 관한 것이다.
본 발명은 정보통신부 및 정보통신연구진흥원의 IT신성장동력핵심기술개발사업의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호:2007-S-020-02, 과제명:자기통제 강화형 전자 ID지갑 시스템 개발].
종래의 무선 인터넷 서비스에 있어서 무선망사업자는 가입자 단말 인증 과정을 거쳐 각 서비스 응용들에 상기 가입자의 가입자 프로파일(User Agent Profile)을 포함한 개인 정보를 HTTP 헤더에 저장하여 제공한다. 개인정보는 가입자단말 또는 무선망 인프라를 통해 획득한 가입자 단말의 하드웨어 정보(단말모델명, 화면사이즈, 지원 컬러수 등), 가입자 단말의 소프트웨어정보 (브라우저명, 브라우저 버 전 등), 이동국 식별번호(MIN: Mobile Identification Number), 위치정보 등을 포함하는데, 이를 통해 서비스 응용들은 서비스를 개인화하는데 필요한 정보를 추출할 수 있었다.
하지만 종래와 같이 무선망사업자와 서비스 제공자 간 밀접한 관계를 유지하고 무선망사업자가 관리하는 신뢰성 있는 네트워크 구간에서 서비스가 제공될 경우에는 상관이 없으나, 무선 인터넷 망 개방의 영향으로 신뢰되지 않은 네트워크 구간이 포함되는 경우에는 여러 가지 문제가 발생할 수 있다. 예를 들면, 상기의 개인정보가 아무런 보안장치 없이 전달되는 것은 개인의 프라이버시 노출의 문제가 있으며, 서비스 제공자는 신뢰되지 않은 네트워크 상에서 접수된 가입자의 서비스 요청에 대해 가입자를 신뢰할 수 없는 문제가 있다. 따라서 신뢰되지 않는 네트워크 구간을 경유한 가입자에게 서비스를 제공하기 위해 서비스제공자는 독자적인 인증기술을 사용하여 가입자를 인증할 필요가 있으며, 개인정보를 독자적으로 관리하여 개인화된 서비스를 제공할 필요가 있다. 하지만 현재의 사용자 인증 및 보안 기술이, 모바일 단말(Mobile terminal)을 통해 수행하기 어려워(단말의 CPU 파워 부족, 키 입력의 어려움 등의 이유로) 이러한 가입자 인증과 같은 보안기능을 서비스 제공자 독자적으로 제공하기가 쉽지 않은 실정이다.
현재 사용자들은 다양한 인터넷 접속도구를 통하여 인터넷 서비스를 이용하고 있다. 사용자의 집 또는 회사의 개인용 컴퓨터뿐만 아니라 모바일 단말(예컨대, 휴대폰, PDA 등)을 이용한 인터넷 이용도 폭발적으로 증가하고 있는 추세이다. 그러나, 서비스 제공자가 제공하는 서비스를 제공받기 위해서는 자기가 가입한 사이 트를 기억하는 것뿐만 아니라 가입 시에 등록된 사용자 ID와 비밀번호를 기억해야 하는 어려움이 존재한다. 이러한 문제로 인해 사용자가 동일한 ID와 비밀번호를 여러 사이트에 동일하게 사용하는 문제가 발생한다. 기억하기 쉽다는 이유만으로 동일한 사용자 ID와 비밀번호를 사용하는 것은 온라인 상에서 개인정보를 쉽게 도용당할 수 있는 구실을 제공한다. 예컨대, 특정 사이트에서 개인정보가 유출된 경우, 유출된 개인정보는 기타 다른 사이트에서 이용될 수가 있고, 이로 인해 사용자는 예상치 못한 심각한 피해를 받을 수 있게 된다.
한편, 모바일 단말은 대부분 빈약한 입력도구를 제공하고 있기 때문에 로그인(Log-in)이 필요한 개인 인터넷 서비스를 이용하는 데에 많은 어려움이 있다. 그리고 공용 단말의 경우, 공공장소에서 높은 컴퓨팅 파워와 고해상도 디스플레이가 필요한 경우에 종종 사용되는데, 공용 단말에 설치된 Malware 등을 통해 사용자의 로그인 정보가 노출되는 경우, 개인에게 치명적인 문제를 야기할 수 있다.
이러한 단점을 보완하기 위하여, 웹 브라우저(Web browser)가 이전에 입력된 비밀번호를 자동 입력해 준다거나, 사용자가 공용 단말을 사용할 때 모바일 단말에 임시 인증코드를 전달하여 전달된 인증코드로 사용자를 인증하는 방법 등이 제시되었다. 하지만, 상기한 방법의 경우 타인이 모바일 단말을 습득하여 악용할 때 더 큰 위험이 야기될 수 있으며, 시스템적으로 전술한 문제점을 근본적으로 해결하였다고 보기 어려웠다.
다른 방법으로는 인증정보(예컨대, 서버의 URL과 비밀번호 등)를 스마트카드 등과 같은 물리적인 보안매체에 저장하여 다양한 개인 단말에서 서버 접근을 가능 하도록 하는 방법이 있는데, 이는 부가적인 하드웨어 장치를 요구하는 문제가 발생할 뿐만 아니라, 공용 단말에서 해당 인증정보가 노출되는 문제가 동일하게 발생할 수 있다. 또한 보안매체를 분실하였을 경우, 등록한 사이트의 인증 시에 사용되는 패스워드를 사용자가 기억하기 어려운 문제점이 존재한다.
본 발명은 개인용 단말과 모바일 장치에 설치되어 사용자의 서버등록을 지원하고 등록된 후 생성된 등록정보 등을 사용자의 개인 인터넷 접속도구들과 공유하여 인증 시에 활용하는 시스템 및 그 방법을 제공하는 것을 목적으로 한다. 또한, 공용 단말을 사용하는 경우에는 인증정보를 공용 단말에 노출시키지 않고 사용자의 개인용 단말에 등록된 등록정보를 사용하여 사용자 인증을 지원하는 방법 및 시스템을 제공하는 것을 목적으로 한다.
본 발명은 개인용 단말을 이용하여 서비스 제공자 서버에 사용자 등록을 수행하는 방법에 있어서, (a) 상기 서비스 제공자 서버와 인증용 키를 상호 교환하는 단계; (b) 상기 인증용 키를 이용하여, 입력받은 특수용도 키를 암호화하고, 암호화된 특수용도 키를 사용자 식별자와 함께 상기 서비스 제공자 서버로 전송하는 단계; (c) 상기 서비스 제공자 서버로부터 상기 인증용 키로 암호화된 서버별 고유 생성정보를 수신하는 단계; (d) 상기 암호화된 서버별 고유 생성정보를 상기 인증용 키를 이용하여 복호화하고, 상기 특수용도 키 및 상기 복호화된 서버별 고유 생 성정보를 이용하여 사용자의 개인정보를 암호화하는 단계; 및 (e) 상기 암호화된 개인정보를 상기 사용자 식별자와 함께 상기 서비스 제공자 서버로 전송하는 단계를 포함한다.
특히, 상기 (a) 단계 이전에, 상기 서비스 제공자 서버를 고유하게 확인할 수 있는 서버정보를 수신하고, 이를 디스플레이하는 단계를 더 포함하는 것이 바람직하다.
또한, 상기 서버정보는, 서비스 제공자 서버를 고유하게 확인할 수 있는 이미지, 로고, 서버주소, 서비스 제공자 이름, 인증서 중 하나 이상을 포함하는 것이 바람직하다.
한편, 본 발명은 개인용 단말을 이용하여 서비스 제공자 서버에 사용자 인증을 수행하는 방법에 있어서, (a) 상기 서비스 제공자 서버로부터 인증정보 생성용 메시지 및 서버 식별자를 수신하는 단계; (b) 상기 서버 식별자를 이용하여 상기 서비스 제공자 서버가 등록되어 있는 지를 확인하는 단계; (c) 상기 서비스 제공자 서버가 등록되어 있으면, 상기 인증정보 생성용 메시지와 상기 서비스 제공자 서버에 해당하는 인증용 키를 이용하여 인증정보를 생성하고, 생성된 인증정보를 사용자 식별자와 함께 상기 서비스 제공자 서버에 전송하는 단계를 포함한다.
특히, 상기 인증정보 생성용 메시지는, 타임스탬프 또는 상기 서비스 제공자 서버의 임시 세션 식별자를 포함하는 것이 바람직하다.
또한, 상기 서비스 제공자 서버로부터 서버인증정보를 수신하여 상기 서비스 제공자 서버를 검증하는 단계를 더 포함하는 것이 바람직하다.
한편, 본 발명은 사용자 인증에 필요한 정보를 저장한 제 1개인용 단말과는 다른 제 2개인용 단말이, 서비스 제공자 서버로부터 사용자 인증에 필요한 정보를 전달받는 방법에 있어서, (a) 상기 제 2 개인용 단말이, 특수용도 키로 암호화된 서버정보 해쉬값 및 사용자 식별자를 서버정보와 함께 상기 서비스 제공자 서버로부터 수신하는 단계; (b) 상기 제 2 개인용 단말이, 상기 특수용도 키를 입력받아 암호화된 서버정보 해쉬값 및 사용자 식별자를 복호화하는 단계; (c) 상기 제 2 개인용 단말이, 상기 서버정보를 해쉬하여 상기 복호화된 서버정보 해쉬값과 일치하는지 판단하는 단계; 및 (d) 상기 제 2 개인용 단말이, 상기 서버정보를 해쉬한 값과 상기 복호화된 서버정보 해쉬값이 일치하면, 상기 서비스 제공자 서버로부터 인증용 키를 수신하는 단계를 포함한다.
특히, 상기 제 2 개인용 단말이, 상기 특수용도 키로 암호화된 서버별 고유 생성정보를 상기 서비스 제공자 서버로부터 수신하고, 상기 특수용도 키를 이용하여 암호화된 서버별 고유 생성정보를 복호화하는 단계를 더 포함하는 것이 바람직하다.
한편, 본 발명은 인터넷 접속 도구를 고려한 사용자 인증 시스템에 있어서, 서비스 제공자 서버로부터 입력받은 인증용 키를 이용하여 특수용도 키를 암호화하고, 상기 서비스 제공자 서버로부터 상기 인증용 키로 암호화된 서버별 고유 생성 정보를 입력받아 이를 복호화하고, 상기 특수용도 키 및 상기 복호화된 서버별 고유 생성정보를 이용하여 사용자의 개인정보를 암호화하는 인증부; 및 상기 인증용 키 및 상기 서버별 고유 생성 정보를 관리하는 인증정보 관리부를 구비한다.
특히, 상기 서비스 제공자 서버를 고유하게 확인할 수 있는 서버정보를 상기 서비스 제공자 서버로부터 수신하여 사용자에게 디스플레이하는 사용자 상호 작용부를 더 구비하는 것이 바람직하다.
또한, 상기 서버정보는, 서비스 제공자 서버를 고유하게 확인할 수 있는 이미지, 로고, 서버주소, 서비스 제공자 이름, 인증서 중 하나 이상을 포함하는 것이 바람직하다.
또한, 상기 인증부는, 상기 서비스 제공자 서버로부터 인증정보 생성용 메시지 및 서버 식별자를 수신하면, 상기 서버 식별자를 이용하여 상기 서비스 제공자 서버가 등록되어 있는 지를 확인하고, 상기 서비스 제공자 서버가 등록되어 있으면, 상기 서비스 제공자 서버에 해당하는 인증용 키를 이용하여 인증정보를 생성하는 것이 바람직하다.
또한, 상기 인증정보 생성용 메시지는, 타임스탬프 또는 상기 서비스 제공자 서버의 임시 세션 식별자를 포함하는 것이 바람직하다.
또한, 상기 인증부는, 상기 서비스 제공자 서버로부터 서버인증정보를 수신하여 상기 서비스 제공자 서버를 검증하는 것이 바람직하다.
본 발명에 따르면 다음과 같은 효과가 있다.
사용자는 자신이 등록한 서비스 제공자 서버에 인증 시에 사용자 ID와 비밀번호를 입력하는 절차 없이도, 안전하게 자신임을 증명할 수 있게 해줌으로써, 모바일 단말과 같이 정보 입력방법이 어려운 장치에서도 편리한 방법으로 서버에 사용자임을 인증하여 인터넷 서비스를 편리하게 이용할 수 있게 된다.
또한, 다양한 인터넷 접속도구에서 동일한 사용자경험을 제공하면서 편리한 방법으로 서비스 제공자 서버에 사용자 인증할 수 있게 된다.
또한, 사용자가 자신의 모바일 인터넷 접속도구를 이용하여 공용 인터넷 접속도구에서도 인증정보의 노출 없이 안전하게 인터넷 서비스를 이용할 수 있게 된다.
또한, 사용자는 자신의 선택에 의해, 서버 인증정보를 새로운 인터넷 접속도구에 전달하여 자신이 원하는 인터넷 접속도구에서 편리한 방법으로 사용자 인증을 수행할 수 있게 해줌으로써, 서비스 제공자가 제공하는 서비스를 다양한 인터넷 접속도구에서 동일하게 이용할 수 있게 된다.
또한, 서버정보를 등록 및 인증 시에 사용자에게 명시적으로 디스플레이하여, 피싱과 같은 문제를 근본적으로 해결할 수 있는 효과를 기대할 수 있다.
본 발명을 첨부된 도면을 참조하여 상세히 설명하면 다음과 같다. 여기서, 반복되는 설명, 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능, 및 구성에 대한 상세한 설명은 생략한다. 본 발명의 실시형태는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위해서 제공되는 것이다. 따라서, 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.
이하 본 발명의 바람직한 일 실시예를 첨부된 도면을 참조하여 상세히 설명한다.
도 1은 본 발명의 일실시예에 따른 인터넷 접속 도구를 고려한 사용자 등록 및 인증 시스템을 개략적으로 설명하기 위한 도면이다.
다양한 인터넷 접속 도구를 고려한 사용자 등록 및 인증 시스템은 개인용 단말(100), 서비스 제공자 서버(200), 공용 단말(300)을 구비한다.
개인용 단말(100)은 모바일 단말(Mobile terminal) 또는 개인용 PC와 같은 개인용 인터넷 접속도구가 될 수 있다. 예컨대, 모바일 단말은 개인 휴대폰 또는 PDA 등과 같은 개인용 인터넷 접속도구를 의미하고, 개인용 PC는 홈 PC 또는 사무실 PC 등과 같이 특정 개인만을 위한 인터넷 접속도구(예컨대, 개인용 데스크 탑 또는 개인용 노트북)를 의미한다. 개인용 단말(100)은 서비스 제공자 서버(200)에 사용자 등록과 인증을 지원한다. 이때, 이동 가능한 개인용 단말, 즉, 모바일 단말 은 공용 단말(300)에서의 인증을 지원하기 위한 모바일 인증 기능을 부가적으로 제공한다.
서비스 제공자 서버(200)는 모바일 단말, 데스크 탑, 또는 노트북 같은 인터넷 접속도구를 이용하는 사용자에게 서비스를 제공하는 서비스 제공자 측 장치이다. 예컨대, 서비스 제공자 서버(200)는 인터넷 포탈 서버나 게임 서버 등이 될 수 있다.
서비스 제공자 서버(200)는 개인용 단말(100)을 통한 등록과 인증 서비스를 제공하며, 추가적으로 공용 단말(300)에서의 인증을 지원하기 위하여 모바일 인증 서비스를 제공한다.
공용 단말(300)은 다양한 사람이 접근 가능한 인터넷 카페 내의 데스크 탑 또는 노트북 등과 같은 공용 인터넷 접속도구를 의미한다.
도 2는 본 발명의 일실시예에 따른 인터넷 접속 도구를 고려한 사용자 등록 및 인증 시스템을 구체적으로 설명하기 위한 도면이다.
다양한 인터넷 접속 도구를 고려한 사용자 등록 및 인증 시스템은 개인용 단말(100), 서비스 제공자 서버(200), 공용 단말(300)을 구비한다.
개인용 단말(100)은 어플리케이션(110), 연동부(120), 등록인증관리부(130), 및 특수용도키 저장부(140)를 구비한다.
여기서, 등록인증 관리부(130)는 인증부(132), 사용자 상호 작용부(134), 개 인정보 관리부(136), 인증정보 관리부(138), 및 통신부(139)를 구비한다.
서비스 제공자 서버(200)는 서비스 제공부(210), 사용자 등록 처리부(220), 사용자 관리부(230), 사용자 인증부(240), 단말 추가등록 지원부(250), 및 통신부(260)를 구비한다.
공용 단말(300)은 어플리케이션(310), 인증 요청부(320), 및 통신부(330)를 구비한다.
이하, 본 발명의 일실시예에 따른 다양한 인터넷 접속 도구를 고려한 사용자 등록 및 인증 시스템의 각각의 구성요소에 대하여 구체적으로 살펴보기로 한다.
개인용 단말(100)은 서비스 제공자 서버(200)가 제공하는 서비스를 이용하기 위한 어플리케이션(110), 등록인증 관리부(130), 등록인증 관리부(130)와 상호작용하여 어플리케이션(110)에서 등록인증 관리부(130)의 등록 및 인증 서비스를 이용하기 위하여 마련되는 연동부(120), 및 특수용도키 저장부(140)를 구비한다.
어플리케이션(110)은 네트워크로 연결된 서비스 제공자 서버(10)를 통해 제공된 서비스 또는 자원을 사용자에게 제공하기 위한 소프트웨어가 될 수 있으며, 예컨대 브라우저(Browser)가 될 수 있다.
연동부(120)는 등록인증 관리부(130)에서 제공하는 등록과 인증 서비스를 어플리케이션(110)에 제공하여, 본 발명에서 달성하고자 하는 바를 얻을 수 있도록 지원한다. 연동부(120)는 예컨대, 어플리케이션(110)이 브라우저인 경우 ActiveX 또는 Browser Helper Object 또는 java script 등의 기술들을 사용하여 등록인증 관리부(130)와 연동하도록 구현될 수 있다.
등록인증 관리부(130)는 인증부(132), 사용자 상호 작용부(134), 개인정보 관리부(136), 인증정보 관리부(138), 및 통신부(139)를 구비한다.
인증부(132)는 사용자가 서버에 등록한 후, 사용자가 사용자 ID와 비밀번호를 직접 입력하는 과정 없이도, 등록과정에서 저장한 정보를 이용하여 안전하고 편리하게 서버에 인증하는 절차를 수행한다.
사용자 상호 작용부(134)는 사용자가 서비스 제공자 서버(200)에 등록할 때, 사용자에게 서버정보 및 서비스 제공자 서버(200)가 요청한 개인정보를 디스플레이하거나 특수용도 키를 입력받거나, 사용자가 서비스 제공자 서버(200)에 인증할 때, 사용자에게 서비스 제공자 서버(200)에 등록된 정보를 디스플레이하여 서비스 제공자 서버(200)에 인증할지 여부를 묻거나, 사용자가 공용 단말(300)을 통해 서비스 제공자 서버(200)에 모바일 인증을 요청할 때, 서비스 제공자 서버(200)에 대한 모바일 인증을 수행할지 여부를 사용자에게 묻는 역할을 수행한다.
개인정보 관리부(136)는 필요한 시점에 사용자가 입력한 개인정보(이름, 전화번호, 이메일 주소, 집주소, 주민번호 등)를 저장 및 관리하고 있다가 사용자가 서비스 제공자 서버(200)에 등록할 때 저장 및 관리되는 개인정보를 서비스 제공자 서버(200)에 전달하여, 사용자가 서버등록 시에 따로 개인정보를 입력할 필요가 없는 편리함을 제공하기 위하여 구비된다.
인증정보 관리부(138)는 사용자가 서버등록 시에, 생성되거나 서비스 제공자 서버(200)로부터 전달받은 서버정보, 인증용 키, 사용자 ID, Salt('서버별 고유 생성정보') 등을 관리한다. 인증정보 관리부(138)에서 관리되는 정보는 본 발명의 일 실시예에서 자세히 설명하기로 한다.
통신부(139)는 사용자가 서버등록 시에, 서비스 제공자 서버(200)와 인증용 키를 상호 교환하거나 사용자 ID 및 특수용도 키를 서비스 제공자 서버(200)에 전달하거나, 사용자가 공용 단말(300)을 통해 서비스 제공자 서버(200)에 인증을 요청할 때, 서비스 제공자 서버(200)의 모바일 인증 요청에 대한 요청 응답을 전달하는 역할을 수행한다.
본 발명에서의 등록인증 관리부(130)는 전술한 바와 같이, 사용자가 개인용 단말(100)을 통해 서비스 제공자 서버(200)에 등록하고 인증하는 데 있어서 안전성과 편리성을 제공하며, 어플리케이션(110)과 독립적으로 등록 및 인증 서비스를 제공한다. 등록인증 관리부(139)에 저장되는 개인정보를 보호하기 위하여, 등록인증 관리부(130)를 이용하고자 하는 사용자는 먼저 본인확인(인증) 절차를 수행하도록 하는 것이 바람직하다.
특수용도 키 저장부(140)는 특수용도 키를 저장하고 있다가 등록인증 관리부(130)가 요구하는 시점에 해당 정보를 전달해주는 역할을 수행한다. 본 발명에 적용되는 특수용도 키는 따로 제약을 두지는 않는다. 비밀번호와 같이 사용자의 기억에 의한 것이라면 따로 특수용도키 저장부(140)가 필요하지 않으며, 사용자의 공인인증서가 특수용도 키로서 사용된다면 등록인증 관리부(130) 외부에 추가적인 인증서 관리 모듈이 필요할 수 있다.
서비스 제공자 서버(200)는 서비스를 제공하며, 이를 위해 서비스 제공부(210), 사용자 등록 처리부(220), 사용자 관리부(230), 사용자 인증부(240), 단말 추가등록 지원부(250), 및 통신부(260)를 구비한다.
서비스 제공부(210)는 사용자에게 서비스(예컨대, 쇼핑, 예매 등)를 제공한다.
사용자 등록 처리부(220)는 사용자의 등록에 필요한 정보를 획득하거나 등록된 사용자의 인증정보를 폐기하기 위한 일련의 절차를 수행하는 모듈로, 사용자의 등록에 필요한 정보를 획득하거나 등록된 사용자의 인증정보를 폐기하기 위한 일련의 절차는 일실시 예를 통해 후술하기로 한다.
사용자 관리부(230)는 사용자 등록 후에 사용자의 개인정보, 사용자 ID, 특수용도 키, 인증용 키, 및 사용자의 개인용 단말(100)에 전달된 Salt 등을 저장 및 관리한다.
사용자 인증부(240)는 사용자의 인증에 필요한 일련의 절차를 수행하는 모듈이다. 보다 상세하게는, 개인용 단말(100)의 어플리케이션(110)에 Challenge 값('인증정보 생성용 메시지')을 생성하여 전달하고, 개인용 단말(100)의 어플리케이션(110)으로부터 전달받은 인증정보를 검증하여 등록된 사용자인지를 확인하는 절차를 수행한다. 모바일 인증인 경우에는, 공용 단말(300)의 어플리케이션(310)으로부터 전달받은 식별자(예컨대, 사용자 ID 또는 휴대폰 번호와 같은 모바일 단말 정보)를 통해 사용자의 개인용 단말(100)을 식별하고, 사용자의 개인용 단말(100)의 등록인증 관리부(130)에 Challenge 값을 생성하여 전달한다. 그리고, 사용자의 개인용 단말(100)의 등록인증 관리부(130)로부터 전달받은 인증정보를 검증하여 확인하고, 공용단말(300)의 서버접속을 허용하는 절차를 수행한다. 이러한 절차는 일실시 예를 통해 후술하기로 한다.
추가등록 지원부(250)는 사용자가 요구한 또 다른 개인용 단말에 사용자가 로그인하기 위한 모든 정보를 안전하게 전달하기 위한 일련의 절차를 수행한다. 이러한 절차는 일실시 예를 통해 후술하기로 한다.
통신부(260)는 사용자들의 인터넷 접속도구에 설치된 등록인증 관리부(130)의 통신부(139)와 본 발명에서 설명하는 정보들을 주고 받는 역할을 수행한다. 통신부(260)는 서버정보와 등록 시 필요한 개인정보 목록을 개인용 단말(100)에 전송하거나 개인용 단말(100)과 인증용 키를 상호 교환한다. 또한, 통신부(260)는 암호화된 Salt를 개인용 단말(100)로 전송한다. 이외에 통신부(260)에서 주고받는 정보들에 대해서는 후술하기로 한다.
공용 단말(300)의 어플리케이션(310)은 서비스 제공자 서버(200)와 네트워크를 통해 연결되어, 서비스 제공자 서버(200)로부터 제공되는 인터넷 서비스 또는 자원을 사용자에게 제공하기 위한 소프트웨어이다. 예컨대, 브라우저가 될 수 있다. 공용 단말(300)의 인증 요청부(320)는 개인용 단말(100)을 통한 인증 서비스를 어플리케이션(310)에 제공하며, 사용자의 선택에 따라 개인용 단말(100)을 통해 사용자 인증을 수행할 수 있게 한다. 통신부(330)는 개인용 단말(100)을 통한 인증 요청을 서비스 제공자 서버(300)에 전달하는 역할을 수행한다.
도 3은 사용자가 본 발명의 일실시예에 따른 개인용 인터넷 접속도구를 이용하여 서비스 제공자 서버에 사용자 등록하는 과정을 설명하기 위한 도면이다. 이때, 개인용 인터넷 접속도구는 본 발명에 따른 개인용 단말(100)에 해당된다.
먼저, 사용자가 개인용 단말(100)의 어플리케이션(110)을 통해 서비스 제공자 서버(200)에 접속하여 등록을 요청하면(S100), 서비스 제공자 서버(200)는 서버정보와 등록 시 필요한 개인정보 목록을 개인용 단말(100)의 어플리케이션(110)에 전달한다. 이때, 서버정보는 서비스 제공자 서버(200)의 인증서(예컨대, SSL 인증서 또는 HA 인증서)가 사용될 수 있다. 또한, 서버정보는 인증단계에서 사용자가 서버를 고유하게 확인할 수 있는 이미지, 로고, 서버주소, 서비스 제공자 이름 등이 포함될 수 있다. 개인용 단말(100)의 어플리케이션(110)은 서비스 제공자 서버(200)로부터 수신된 정보를 등록인증 관리부(130)에 전달한다(S105). 등록인증 관리부(130)는 서비스 제공자 서버(200)로부터 요청된, 등록 시 필요한 개인정보 목록에 해당하는 개인정보가 개인정보 관리부(136)에 의해 기 저장되어 있는지를 확인한다(S110). 등록 시 필요한 개인정보목록에 해당하는 개인정보가 개인정보 관리부(136)에 의해 기 저장되어 있으면, 등록인증 관리부(130)는 해당하는 개인정보를 추출 및 적용하여 사용자 등록 시 제출해야 하는 개인정보목록을 서버정보와 함께 사용자 상호 작용부(134)를 통해 디스플레이한다(S115). 서버정보를 사용자에게 명시적으로 디스플레이해줌으로써, 피싱과 같은 문제를 근본적으로 해결할 수 있는 효과를 기대할 수 있다. 또한, 서비스 제공자 서버(200)에 사용자 등록 시에 미리 저장 및 관리하고 있는 개인정보를 추출 및 적용하여줌으로써, 사용자는 등록 시마다 입력해야 하는 동일한 개인정보를 간단하면서도 안전하게 서비스 제공자 서버(200)에 제공해줄 수 있는 효과가 있다.
그리고, 필요한 경우, 사용자가 서비스 제공자 서버(200)에 등록하기 위해 필요한 개인정보를 입력할 수 있는 입력필드들을 포함하여 사용자 상호 작용부(134)를 통해 디스플레이한다. 이때, 사용자가 디스플레이된 정보를 확인하고, 필요 시 개인정보를 입력한다.
개인용 단말(100)은 사용자로부터 서비스 제공자 서버(200)에서 사용할 사용자 ID와 특수용도 키를 입력받는다(S120). 다만, 특수용도 키가 사용자의 기억에 의해 관리되는 것(예컨대, 비밀번호)이라면, 사용자로부터 입력받고, 사용자의 개인용 단말(100)에서 관리되는 것(예컨대, 공인인증서)이라면, 사용자가 특수용도 키 저장부(400)에서 선택한 해당 정보를 입력받을 수도 있다. 등록인증 관리부(130)는 서비스 제공자 서버(200)와 인증용 키를 상호 교환하고(S125), 교환된 인증용 키 또는 인증용 키로 유도된 세션(Session) 키를 사용하여 특수용도 키를 암호화 한다(S130). 그리고, 특수용도 키를 암호화한 값과 사용자 ID를 서비스 제공자 서버(200)로 전송한다(S135). 다음으로, 서비스 제공자 서버(200)의 사용자 등록 처리부(220)는 Salt를 생성하고, 서비스 제공자 서버(200)의 사용자 관리부(230)는 개인용 단말(100)의 등록인증 관리부(130)로부터 전달받은 정보와 생성된 Salt를 저장한다. 이때, Salt는 서버마다 고유하게 생성되는 정보로, 사용자의 특수용도 키가 공격자에게 노출되더라도 서버 별 Salt를 알지 못하는 이상 공격자는 어떤 작업도 수행할 수 없게 만드는 안전 장치이다. 서비스 제공자 서버(200)의 사용자 등록 처리부(220)는 생성한 Salt를 인증용 키 또는 세션 키로 암호화하여 개인용 단말(100)의 등록인증 관리부(130)에 전송하고, 개인용 단말(100)은 암호화된 Salt를 수신한다(S140). 등록인증 관리부(130)에서 인증정보 관리부(138)는 서버정보, 사용자 ID, 인증용 키 및 Salt를 저장 및 관리한다(S145). 등록인증 관리부(130)는 특수용도 키와 Salt를 사용하여 치환·변형 등의 수학연산으로 생성된 값으로 서비스 제공자 서버(200)로부터 요청된 사용자의 개인정보를 암호화한다(S150). 등록인증 관리부(130)는 암호화된 개인정보와 사용자 ID를 서비스 제공자 서버(200)에 전송한다(S155). 서비스 제공자 서버(200)는 사용자 ID에 해당하는 특수용도 키와 Salt를 사용하여 상기한 수학연산으로 복호화 키를 생성하여 암호화된 개인정보를 복호화하고 저장한다.
한편, S125 단계에서, 인증용 키 교환에 대한 메커니즘을 따로 한정하지 않는다. 쉽게 S125 단계를 수행할 수 있는 예를 들면, 서비스 제공자 서버(200)의 공개키를 사용하여 개인용 단말(100)에서 생성한 비밀 값을 암호화하여 전달하면 서비스 제공자 서버(200)는 자신의 개인키로 복호화하여 서로 인증용 키를 교환할 수 있다.
또한, S150 단계에서 암호화는, 완전히 데이터를 숨기지만 때때로 데이터의 원본 일반 텍스트 값에 반복되는 값이 있을 경우 공격자에 의해 암호화된 데이터 값이 쉽게 추측될 수 있다. 예를 들어 급여 정보 테이블에 반복되는 값이 포함될 수 있는데, 이 경우에 암호화된 값도 동일하며 침입자가 동일한 급여 항목을 판별할 수 있게 된다. 따라서, 이러한 경우를 방지하기 위해 본 발명에서는 사용자의 특수용도 키가 공격자에게 노출되더라도 사용자 개인정보가 암호화된 값이 다르도록, 서비스 제공자 서버(200)로부터 제공받은 Salt를 사용하여 사용자의 개인정보를 암호화한다.
도 4는 사용자가 본 발명의 일실시예에 따른 개인용 인터넷 접속도구를 이용하여 서비스 제공자 서버에 사용자 인증하는 과정을 설명하기 위한 도면이다. 이때, 개인용 인터넷 접속도구는 본 발명에 따른 개인용 단말(100)에 해당된다.
먼저, 사용자가 개인용 단말(100)의 어플리케이션(110)을 통해 서비스 제공자 서버(200)에 접속하여 인증을 요청하면(S200), 서비스 제공자 서버(200)는 인증정보 생성용 Challenge 값 및 서버주소를 포함한 정보를 어플리케이션(110)에 전송한다. 개인용 단말(100)의 어플리케이션(110)은 인증정보 생성용 Challenge 값 및 서버주소를 포함한 정보를 수신하고, 이를 등록인증 관리부(130)에 전달한다(S210). 개인용 단말(100)의 등록인증 관리부(130)는 서버주소를 이용하여 서비스 제공자 서버(100)가 등록되어 있는지 확인한다(S220).
미등록된 서버인 경우, 사용자 상호 작용부(134)를 통해 사용자에게 미등록 서버임을 통보하게 하고, 인증 실패결과를 어플리케이션(110)에 전달한다(S225, S245). 예컨대, 사용자 상호 작용부(134)를 통해 "미등록된 서비스 제공자입니다." 와 같은 메시지가 디스플레이될 수 있다.
등록된 서버인 경우, 사용자 등록 시에 저장된 서버정보를 사용자 상호 작용부(134)를 통해 디스플레이하고 사용자에게 인증할지 여부를 확인한다(S230, S240). 다음으로, 등록인증 관리부(130)의 인증부(132)는, 서비스 제공자 서버(200)에 사용자 등록 시, 인증정보 관리부(138)에 저장된 해당 인증용 키를 가져와서 인증정보 생성용 Challenge 값과 함께 치환·변형 등의 수학연산을 사용하여 Response 값이 포함된 인증정보를 생성한다(S250). 개인용 단말(100)은 S250 단계에서 생성된 인증정보를 사용자 ID와 함께 통신부(139)를 통해 서비스 제공자 서버(200)에 전송한다(S260). 서비스 제공자 서버(200)의 사용자 인증부(240)는 수신된 인증정보를 Challenge 값과 사용자 ID에 해당하는 인증용 키를 사용하여 검증한다. 검증결과, 이전에 등록된 정당한 사용자일 경우에는 서비스 제공자 서버(200)는 인증을 수락하고 개인용 단말(100)에 정상적인 서비스를 제공한다.
전술한 과정을 통해, 사용자는 서비스 제공자 서버(200)에 사용자 인증 시에 사용자 ID와 비밀번호를 입력하는 절차 없이도, 안전하게 자신임을 증명할 수 있게 해줌으로써, 모바일 단말과 같이 정보입력방법이 어려운 장치에서도 편리한 방법으로 서버에 사용자임을 인증하여 인터넷 서비스를 편리하게 이용할 수 있게 된다.
한편, S250 단계에서 Response의 생성에 사용되는 인증용 키가 man-in-the-middle 공격 등에 의해 노출되거나, 생성된 인증정보가 재사용되는 것을 방지하기 위한 장치를 마련하는 것이 바람직하다. 예를 들어 Challenge 값 내에 타임스탬프나 서비스 제공자 서버(200)의 임시 세션 ID 등을 포함할 수 있을 것이다. 또한, 이러한 Challenge 값이 인증용 키를 유도하기 쉬운 공격자에 의해 변형된 정보인지 등록인증 관리부(130)가 검증하는 것이 필요할 수 있다.
도 5는 본 발명의 일실시예에 따른 서비스 제공자 서버에 등록된 사용자가 서버정보와 인증을 위한 정보를 자신의 또 다른 개인용 인터넷 접속도구로 전달하는 방법을 설명하기 위한 도면이다.
여기서, 본 발명의 이해를 돕기 위해, 서비스 제공자 서버(200)에 사용자 등록 또는 인증을 수행했던 개인용 단말을 '제 1 개인용 단말'이라고 하고, 추가로 서비스 제공자 서버(200)에 사용자 인증을 수행하려는 개인용 단말을 '제 2 개인용 단말'이라고 칭하기로 한다. 이하, '제 1 개인용 단말'은 서비스 제공자 서버(200)에 사용자 인증된 상태임을 가정하고, '제 1 개인용 단말' 및 '제 2 개인용 단말'은 도 2에서 전술한 개인용 단말(100)의 구성요소를 기본적으로 구비하고 있는 것으로 가정한다.
먼저, 서비스 제공자 서버(200)에 의해 이미 인증된 '제 1 개인용 단말'은 인증을 위한 정보를 '제 2 개인용 단말'에게 전달하기 위해 사용자로부터, '제 2 개인용 단말'에 관한 정보(예컨대, IP 주소, 휴대전화 번호)를 입력받아 '제 2 개인용 단말'의 추가등록을 서비스 제공자 서버(200)에 요청한다(S300). 이에, 서비 스 제공자 서버(200)는 수신한 '제 2 개인용 단말'에 관한 정보를 저장한다. 상기한 인증을 위한 정보에는 서버정보, 사용자 ID, 인증용 키 및 Salt가 포함될 수 있다. 그리고, 서비스 제공자 서버(200)는 사용자의 특수용도 키로 서버정보 해쉬값, Salt, 및 사용자 ID를 암호화하고, 암호화한 값과 서버정보를 '제 2 개인용 단말'에 전달한다. 이에, '제 2 개인용 단말' 서버정보와 암호화된 서버정보 해쉬값, Salt, 및 사용자 ID를 수신하고(S310), 서버정보를 사용자에게 디스플레이한다(S320). 그리고, '제 2 개인용 단말'은 사용자로부터 특수용도 키를 입력받아, 특수용도 키로 암호화된 서버정보 해쉬 값, Salt, 사용자 ID를 복호화한다(S330). 다음으로, 서비스 제공자 서버(200)로부터 전달된 서버정보를 해쉬하여 생성된 값과 S330 단계에서 복호화된 서버정보 해쉬 값이 일치하는지 확인한다(S340). 복호화된 서버정보 해쉬 값과 서비스 제공자 서버(200)로부터 전달된 서버정보를 해쉬하여 생성된 값이 일치하는 경우, '제 2 개인용 단말'은 서비스 제공자 서버(200)와 신규단말용 인증용 키를 상호 교환한다(S350). '제 2 개인용 단말'은 서버정보, 사용자 ID, 신규단말용 인증용 키, Salt를 저장하고(S360), 서비스 제공자 서버(200)는 신규단말용 인증용 키를 저장한다. 한편, S330 단계에서 복호화된 서버정보 해쉬 값과 전달된 서버정보를 해쉬하여 생성된 값이 일치하지 않는 경우 등록 실패를 사용자에게 통지할 수 있다(S345). 전술한 과정을 통해 사용자는 '제 2 개인용 단말'을 이용하여 인증정보의 노출 없이 서비스 제공자 서버(200)에 사용자 인증을 수행할 수 있게 된다. 따라서, 본 발명에 따르면 사용자는 다양한 인터넷 접속도구에서 인증정보의 노출 없이 편리하고 안전하게 사용자 인증을 수행할 수 있게 되고, 서비스 제공자가 제공하는 인터넷 서비스를 언제 어디서나 동일하게 이용할 수 있게 된다.
한편, '제 2 개인용 단말' 단말의 프로세싱 파워(Processing power)가 약하여 인증 메커니즘이 달라지는 경우, 보안성을 강화하기 위한 경우, 서비스 제공자 서버(200)가 사용자 단말을 개별적으로 인식할 필요가 있는 경우 등에 있어서, S350 단계에서 인증용 키를 개인용 단말마다 다르게 해주는 것이 바람직하다.
도 6은 사용자가 본 발명의 일실시예에 따른 공용 인터넷 접속도구를 통해 모바일 인증을 요청하고, 자신의 개인용 인터넷 접속도구(모바일 단말)를 이용하여 사용자 인증을 수행하는 방법의 일실시 예를 설명하기 위한 도면이다.
사용자가 공용 단말(300)의 어플리케이션(310)를 통해 서비스 제공자 서버(300)에 접속하고 개인용 단말(이하, '모바일 단말', 100)에 관한 정보(예컨대, 휴대전화 번호) 또는 사용자 ID를 입력하여 모바일 인증을 요청하면, 서비스 제공자 서버(200)는 서버인증정보 및 Challenge 값을 생성하고, Challenge 값, 서버인증정보, 및 서버주소를 사용자의 모바일 단말(100)에 전달한다. 이에, 모바일 단말(100)은 서비스 제공자 서버(200)로부터 Challenge 값, 서버인증정보, 및 서버주소를 수신한다(S400). 모바일 단말(100)은 서버인증정보를 검증하고, 서버주소를 이용하여 서비스 제공자 서버(200)가 등록되어 있는지 확인한다(S410). 미등록 서 버인 경우 사용자에게 미등록 서버임을 통보하게 하고, 인증 실패결과를 어플리케이션(110)에 전달한다(S415, S445). 예컨대, 개인용 단말(100)의 디스플레이 수단을 통해 "미등록된 서비스 제공자입니다." 라고 표시될 수 있다. 등록된 서버인 경우, 등록 시에 저장된 서버정보를 디스플레이하고 사용자에게 인증할지 여부를 확인한다(S420, S430). 서버정보를 사용자에게 명시적으로 디스플레이해줌으로써, 피싱과 같은 문제를 근본적으로 해결할 수 있는 효과를 기대할 수 있다.
사용자로부터 인증 선택에 따른 신호를 입력받으면, 모바일 단말(100)은 서비스 제공자 서버(200)에 사용자 등록 시 인증정보 관리부(138)에 저장된 사용자 ID와 인증용 키를 가져와서 Challenge 값과 함께 치환·변형 등의 수학연산을 사용하여 Response 값 및 사용자 ID를 포함한 인증정보를 생성한다(S440). S440 단계에서 생성된 인증정보를 어플리케이션(110)을 통해 서비스 제공자 서버(200)에 전달하고(S450), 서비스 제공자 서버(200)의 사용자 인증부(240)는 수신된 인증정보를 Challenge 값과 사용자 ID에 해당하는 인증용 키를 사용하여 검증한다. 검증결과, 이전에 등록된 정당한 사용자일 경우에는 서비스 제공자 서버(200)는 인증을 수락하고 공용 단말(100)에 정상적인 서비스를 제공한다.
한편, S400 단계에서 서버인증정보는 해당 서비스 제공자 서버임을 가장하여 인증정보를 획득하려고 하는 공격자에 대한 방어도구로 사용되며, 당업자가 본 명세서를 통해 유추할 수 있는 모든 정보가 포함될 수 있다. 서버인증정보를 생성하는 방법의 간단한 예를 들면, 서비스 제공자 서버(200)가 관리하는 인증용 키와 Salt를 수학적인 연산으로 치환·변형한 값으로 서버주소를 해쉬한 값을 암호화하여 서버인증정보를 생성할 수 있다. 또한, 모바일 인증 요청을 서버 인증서의 개인키로 서명하는 방법이 이용될 수도 있다.
또한, S400 단계에서 서비스 제공자 서버(200)가 모바일 단말(100)에 Challenge 값, 서버인증정보, 및 서버주소를 전달하는 단계를 간략하게 설명하였으나, 모바일 단말(100)이 고정 IP를 가지지 않는 경우에는, Callback URL, Proxy 서버 등의 기술이 추가적으로 적용될 수 있다. 본 발명에서 설명하는 모바일 단말(100)은 다양한 타입(예컨대, 휴대폰 또는 PDA)의 단말이 될 수 있다. 그리고, Callback URL, Proxy 서버 등의 기술은 통상의 기술에 해당하고, 이 기술분야에서 통상의 지식을 가진자라면 이러한 기술을 본 발명에 적용하여 다양한 변형실시가 가능함은 물론이다. 따라서, 이러한 기술들을 본 발명에 적용하는 구체적인 방법에 대해서는 설명을 생략하기로 한다.
또한, 도 4에서 전술한 바와 같이, S440 단계에서 Response 값의 생성에 사용되는 인증용 키가 man-in-the-middle 공격 등에 의해 노출되거나, 생성된 인증정보가 재사용되는 것을 방지하기 위한 장치를 마련하는 것이 바람직하다. 예를 들어 Challenge 값 내에 타임스탬프나 서비스 제공자 서버(200)의 임시 세션 ID 등을 포함할 수 있을 것이다. 또한 이러한 Challenge 값이 인증용 키를 유도하기 쉬운 공격자에 의해 변형된 정보인지 등록인증 관리부(130)가 검증하는 것이 필요할 수 있다.
도 7은 사용자가 본 발명의 일실시예에 따른 서비스 제공자 서버에 등록된 인증정보를 폐기하는 방법의 일실시 예를 설명하기 위한 도면이다. 먼저, 사용자가 개인용 단말(100)을 분실하여 서비스 제공자 서버(200)에 등록된 개인용 단말(100)에 대한 인증정보를 폐기하려는 상황임을 가정한다.
분실한 개인용 단말(100)의 인증정보의 폐기를 요청하는 단말은 사용자로부터 사용자 ID 및 특수용도 키를 입력받아 서비스 제공자 서버(200)에 접속하여 인증정보 폐기를 요청한다(S500). 상기 요청에 따라, 서비스 제공자 서버(200)는 사용자 ID를 이용하여 등록된 사용자인지를 확인한다(S510). 등록된 사용자라면, 서비스 제공자 서버(200)는 등록된 인증정보 목록을 인증정보의 폐기를 요청하는 단말에게 전달한다. 이에 인증정보의 폐기를 요청하는 단말은 등록된 인증정보 목록을 수신하고, 이를 디스플레이한다(S520). 그리고, 인증정보의 폐기를 요청하는 단말은 사용자로부터 폐기할 인증정보를 선택받아, 서비스 제공자 서버(200)에 상기 선택된 인증정보의 삭제를 요청한다. 이에 서비스 제공자 서버(200)는 사용자가 선택한 인증정보를 삭제한다(S530). 상기한 인증정보는 사용자 인증을 수행하기 위해 서비스 제공자 서버에 등록된 사용자 인증에 필요한 정보를 의미한다.
전술한 과정에 따르면, 사용자가 자신의 개인용 단말을 분실하였을 때 서비스 제공자 서버에 등록된 인증정보를 폐기할 수 있게 해줌으로써, 타인이 사용자의 개인용 단말을 습득하여 악용할 수 있는 위험을 사전에 방지할 수 있게 된다.
한편, 인증정보의 폐기를 요청하는 단말로는, 사용자의 로그인 정보가 노출 되는 경우를 방지하기 위해 공용 단말이 아닌 개인용 단말이 이용되는 것이 바람직하다. 하지만, 인증정보의 폐기를 요청하는 단말이 특정 단말에 국한되는 것은 아니다.
본 발명은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크 및 광 데이터 저장장치 등이 있을 수 있다. 또한, 캐리어 웨이브(예컨대, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함된다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드로 저장되고 실행될 수 있다.
이상에서와 같이 도면과 명세서에서 최적의 실시예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로, 본 기술 분야의 통상의 지식을 가진자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
도 1은 본 발명의 일실시예에 따른 인터넷 접속 도구를 고려한 사용자 등록 및 인증 시스템을 개략적으로 설명하기 위한 도면이다.
도 2는 본 발명의 일실시예에 따른 인터넷 접속 도구를 고려한 사용자 등록 및 인증 시스템을 구체적으로 설명하기 위한 도면이다.
도 3은 사용자가 본 발명의 일실시예에 따른 개인용 인터넷 접속도구를 이용하여 서비스 제공자 서버에 사용자 등록하는 과정을 설명하기 위한 도면이다.
도 4는 사용자가 본 발명의 일실시예에 따른 개인용 인터넷 접속도구를 이용하여 서비스 제공자 서버에 사용자 인증하는 과정을 설명하기 위한 도면이다.
도 5는 본 발명의 일실시예에 따른 서비스 제공자 서버에 등록된 사용자가 서버정보와 인증을 위한 정보를 자신의 또 다른 개인용 인터넷 접속도구로 전달하는 방법을 설명하기 위한 도면이다.
도 6은 사용자가 본 발명의 일실시예에 따른 공용 인터넷 접속도구를 통해 모바일 인증을 요청하고, 자신의 개인용 인터넷 접속도구(모바일 단말)를 이용하여 사용자 인증을 수행하는 방법의 일실시 예를 설명하기 위한 도면이다.
도 7은 사용자가 본 발명의 일실시예에 따른 서비스 제공자 서버에 등록된 인증정보를 폐기하는 방법의 일실시 예를 설명하기 위한 도면이다.

Claims (14)

  1. 개인용 단말을 이용하여 서비스 제공자 서버에 사용자 등록을 수행하는 방법에 있어서,
    (a) 상기 서비스 제공자 서버와 인증용 키를 상호 교환하는 단계;
    (b) 상기 인증용 키를 이용하여, 입력받은 특수용도 키를 암호화하고, 암호화된 특수용도 키를 사용자 식별자와 함께 상기 서비스 제공자 서버로 전송하는 단계;
    (c) 상기 서비스 제공자 서버로부터 상기 인증용 키로 암호화된 서버별 고유 생성정보를 수신하는 단계;
    (d) 상기 암호화된 서버별 고유 생성정보를 상기 인증용 키를 이용하여 복호화하고, 상기 특수용도 키 및 상기 복호화된 서버별 고유 생성정보를 이용하여 사용자의 개인정보를 암호화하는 단계; 및
    (e) 상기 암호화된 개인정보를 상기 사용자 식별자와 함께 상기 서비스 제공자 서버로 전송하는 단계를 포함하는 인터넷 접속 도구를 고려한 사용자 등록 방법.
  2. 청구항 1에 있어서,
    상기 (a) 단계 이전에, 상기 서비스 제공자 서버를 고유하게 확인할 수 있는 서버정보를 수신하고, 이를 디스플레이하는 단계를 더 포함하는 것을 특징으로 하 는 인터넷 접속 도구를 고려한 사용자 등록 방법.
  3. 청구항 2에 있어서,
    상기 서버정보는,
    서비스 제공자 서버를 고유하게 확인할 수 있는 이미지, 로고, 서버주소, 서비스 제공자 이름, 인증서 중 하나 이상을 포함하는 것을 특징으로 하는 인터넷 접속도구를 고려한 사용자 등록 방법.
  4. 개인용 단말을 이용하여 서비스 제공자 서버에 사용자 인증을 수행하는 방법에 있어서,
    (a) 상기 서비스 제공자 서버로부터 인증정보 생성용 메시지 및 서버 식별자를 수신하는 단계;
    (b) 상기 서버 식별자를 이용하여 상기 서비스 제공자 서버가 등록되어 있는 지를 확인하는 단계; 및
    (c) 상기 서비스 제공자 서버가 등록되어 있으면, 상기 인증정보 생성용 메시지와 상기 서비스 제공자 서버에 해당하는 인증용 키를 이용하여 인증정보를 생성하고, 생성된 인증정보를 사용자 식별자와 함께 상기 서비스 제공자 서버에 전송하는 단계를 포함하는 인터넷 접속도구를 고려한 사용자 인증 방법.
  5. 청구항 4에 있어서,
    상기 인증정보 생성용 메시지는,
    타임스탬프 또는 상기 서비스 제공자 서버의 임시 세션 식별자를 포함하고 있는 것을 특징으로 하는 인터넷 접속도구를 고려한 사용자 인증 방법.
  6. 청구항 4에 있어서,
    상기 서비스 제공자 서버로부터 서버인증정보를 수신하여 상기 서비스 제공자 서버를 검증하는 단계를 더 포함하는 것을 특징으로 하는 인터넷 접속도구를 고려한 사용자 인증 방법.
  7. 사용자 인증에 필요한 정보를 저장한 제 1개인용 단말과는 다른 제 2개인용 단말이, 서비스 제공자 서버로부터 사용자 인증에 필요한 정보를 전달받는 방법에 있어서,
    (a) 상기 제 2 개인용 단말이, 특수용도 키로 암호화된 서버정보 해쉬값 및 사용자 식별자를 서버정보와 함께 상기 서비스 제공자 서버로부터 수신하는 단계;
    (b) 상기 제 2 개인용 단말이, 상기 특수용도 키를 입력받아 암호화된 서버정보 해쉬값 및 사용자 식별자를 복호화하는 단계;
    (c) 상기 제 2 개인용 단말이, 상기 서버정보를 해쉬하여 상기 복호화된 서버정보 해쉬값과 일치하는지 판단하는 단계; 및
    (d) 상기 제 2 개인용 단말이, 상기 서버정보를 해쉬한 값과 상기 복호화된 서버정보 해쉬값이 일치하면, 상기 서비스 제공자 서버로부터 인증용 키를 수신하 는 단계를 포함하는 인터넷 접속 도구를 고려한 사용자 인증정보 전달 방법.
  8. 청구항 7에 있어서,
    상기 제 2 개인용 단말이, 상기 특수용도 키로 암호화된 서버별 고유 생성정보를 상기 서비스 제공자 서버로부터 수신하고, 상기 특수용도 키를 이용하여 암호화된 서버별 고유 생성정보를 복호화하는 단계를 더 포함하는 것을 특징으로 하는 인터넷 접속 도구를 고려한 사용자 인증정보 전달 방법.
  9. 인터넷 접속 도구를 고려한 사용자 인증 시스템에 있어서,
    서비스 제공자 서버로부터 입력받은 인증용 키를 이용하여 특수용도 키를 암호화하고, 상기 서비스 제공자 서버로부터 상기 인증용 키로 암호화된 서버별 고유 생성 정보를 입력받아 이를 복호화하고, 상기 특수용도 키 및 상기 복호화된 서버별 고유 생성정보를 이용하여 사용자의 개인정보를 암호화하는 인증부; 및
    상기 인증용 키 및 상기 서버별 고유 생성 정보를 관리하는 인증정보 관리부를 구비하는 인터넷 접속 도구를 고려한 사용자 인증 시스템.
  10. 청구항 9에 있어서,
    상기 서비스 제공자 서버를 고유하게 확인할 수 있는 서버정보를 상기 서비스 제공자 서버로부터 수신하여 사용자에게 디스플레이하는 사용자 상호 작용부를 더 구비하는 것을 특징으로 하는 인터넷 접속 도구를 고려한 사용자 인증 시스템.
  11. 청구항 10에 있어서,
    상기 서버정보는,
    서비스 제공자 서버를 고유하게 확인할 수 있는 이미지, 로고, 서버주소, 서비스 제공자 이름, 인증서 중 하나 이상을 포함하는 것을 특징으로 하는 인터넷 접속도구를 고려한 사용자 인증 시스템.
  12. 청구항 9에 있어서,
    상기 인증부는,
    상기 서비스 제공자 서버로부터 인증정보 생성용 메시지 및 서버 식별자를 수신하면, 상기 서버 식별자를 이용하여 상기 서비스 제공자 서버가 등록되어 있는 지를 확인하고, 상기 서비스 제공자 서버가 등록되어 있으면, 상기 서비스 제공자 서버에 해당하는 인증용 키를 이용하여 인증정보를 생성하는 것을 특징으로 하는 인터넷 접속도구를 고려한 사용자 인증 시스템.
  13. 청구항 12에 있어서,
    상기 인증정보 생성용 메시지는,
    타임스탬프 또는 상기 서비스 제공자 서버의 임시 세션 식별자를 포함하고 있는 것을 특징으로 하는 인터넷 접속도구를 고려한 사용자 인증 시스템.
  14. 청구항 9에 있어서,
    상기 인증부는,
    상기 서비스 제공자 서버로부터 서버인증정보를 수신하여 상기 서비스 제공자 서버를 검증하는 것을 특징으로 하는 인터넷 접속도구를 고려한 사용자 인증 시스템.
KR1020080069508A 2008-07-17 2008-07-17 인터넷 접속 도구를 고려한 사용자 인증 방법 및 시스템 KR100993333B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080069508A KR100993333B1 (ko) 2008-07-17 2008-07-17 인터넷 접속 도구를 고려한 사용자 인증 방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080069508A KR100993333B1 (ko) 2008-07-17 2008-07-17 인터넷 접속 도구를 고려한 사용자 인증 방법 및 시스템

Publications (2)

Publication Number Publication Date
KR20100008893A true KR20100008893A (ko) 2010-01-27
KR100993333B1 KR100993333B1 (ko) 2010-11-09

Family

ID=41817404

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080069508A KR100993333B1 (ko) 2008-07-17 2008-07-17 인터넷 접속 도구를 고려한 사용자 인증 방법 및 시스템

Country Status (1)

Country Link
KR (1) KR100993333B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101302362B1 (ko) * 2012-02-06 2013-09-06 소프트포럼 주식회사 키 입력 보안 시스템 및 이를 이용한 방법
KR20140033536A (ko) * 2012-08-20 2014-03-19 에스케이플래닛 주식회사 애플리케이션 인증 시스템 및 방법
US9538363B2 (en) 2013-06-12 2017-01-03 Samsung Electronics Co., Ltd. User terminal apparatus, server, and method of providing a customized service

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101302362B1 (ko) * 2012-02-06 2013-09-06 소프트포럼 주식회사 키 입력 보안 시스템 및 이를 이용한 방법
KR20140033536A (ko) * 2012-08-20 2014-03-19 에스케이플래닛 주식회사 애플리케이션 인증 시스템 및 방법
KR101854389B1 (ko) * 2012-08-20 2018-06-20 에스케이플래닛 주식회사 애플리케이션 인증 시스템 및 방법
US9538363B2 (en) 2013-06-12 2017-01-03 Samsung Electronics Co., Ltd. User terminal apparatus, server, and method of providing a customized service

Also Published As

Publication number Publication date
KR100993333B1 (ko) 2010-11-09

Similar Documents

Publication Publication Date Title
US8739260B1 (en) Systems and methods for authentication via mobile communication device
US8335925B2 (en) Method and arrangement for secure authentication
US7603700B2 (en) Authenticating a client using linked authentication credentials
US9185096B2 (en) Identity verification
US8606234B2 (en) Methods and apparatus for provisioning devices with secrets
US20090031125A1 (en) Method and Apparatus for Using a Third Party Authentication Server
US20070240226A1 (en) Method and apparatus for user centric private data management
KR101686167B1 (ko) 사물 인터넷 기기의 인증서 배포 장치 및 방법
US8397281B2 (en) Service assisted secret provisioning
KR20100021818A (ko) 임시 식별정보를 이용한 사용자 인증 방법 및 시스템
JP2013509840A (ja) ユーザー認証の方法及びシステム
US20120311331A1 (en) Logon verification apparatus, system and method for performing logon verification
KR20210095093A (ko) 탈중앙화 아이디 앱을 이용하여 인증 서비스를 제공하는 방법 및 이를 이용한 탈중앙화 아이디 인증 서버
JP2011176435A (ja) 秘密鍵共有システム、方法、データ処理装置、管理サーバ、及びプログラム
JP2009118110A (ja) 認証システムのメタデータプロビジョニング方法、システム、そのプログラムおよび記録媒体
JP6240102B2 (ja) 認証システム、認証鍵管理装置、認証鍵管理方法および認証鍵管理プログラム
CN103368918A (zh) 一种动态口令认证方法、装置及系统
KR20130039745A (ko) 인증 연동 시스템 및 방법
KR100993333B1 (ko) 인터넷 접속 도구를 고려한 사용자 인증 방법 및 시스템
KR20210095061A (ko) 탈중앙화 아이디 앱을 이용하여 인증 서비스를 제공하는 방법 및 이를 이용한 탈중앙화 아이디 인증 서버
KR102118556B1 (ko) 프라이빗 블록체인 기반 개인정보 관리 서비스 제공 방법
JP7079528B2 (ja) サービス提供システム及びサービス提供方法
KR101651607B1 (ko) 익명 아이디를 사용하는 원클릭 사용자 인증 방법 및 시스템
Alsaid et al. Preventing phishing attacks using trusted computing technology
KR102171377B1 (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: 20131024

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20141027

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20151028

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee