KR20190065007A - 포털사이트 중계 서비스 제공방법 및 그 시스템 - Google Patents

포털사이트 중계 서비스 제공방법 및 그 시스템 Download PDF

Info

Publication number
KR20190065007A
KR20190065007A KR1020170164408A KR20170164408A KR20190065007A KR 20190065007 A KR20190065007 A KR 20190065007A KR 1020170164408 A KR1020170164408 A KR 1020170164408A KR 20170164408 A KR20170164408 A KR 20170164408A KR 20190065007 A KR20190065007 A KR 20190065007A
Authority
KR
South Korea
Prior art keywords
user
portal site
signature
random number
server
Prior art date
Application number
KR1020170164408A
Other languages
English (en)
Other versions
KR102037291B1 (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 KR1020170164408A priority Critical patent/KR102037291B1/ko
Publication of KR20190065007A publication Critical patent/KR20190065007A/ko
Application granted granted Critical
Publication of KR102037291B1 publication Critical patent/KR102037291B1/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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/3247Cryptographic 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 digital signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 포털사이트 중계 서비스 제공방법 및 그 시스템에 관한 것으로서, 더욱 상세하게는 각 사용자들의 개인 인증정보를 관리하며, 사용자의 포털사이트 접속시 그 사용자 인증을 수행한 후 해당 포털사이트로 연결시켜주는 포털사이트 중계 서비스 제공방법 및 그 시스템에 관한 것이다.
본 발명에 의하면, 사용자 아이디, 사용자 난수와 비대칭키 한쌍을 가지고 사용자는 모든 포털사이트마다 별도로 아이디 패스워드를 기억하고 있을 필요없이 단일한 인증 정보만을 가지고도 각 포털사이트로 직접 접속하는 것과 같은 편리함을 누리게 해 주는 포털사이트 중계 서비스를 제공하게 된다.

Description

포털사이트 중계 서비스 제공방법 및 그 시스템{METHOD AND SYSTEM FOR PROVIDING PORTAL-SITE RELAY SERVICE}
본 발명은 포털사이트 중계 서비스 제공방법 및 그 서비스 제공 서버에 관한 것으로서, 등록시에 저장한 1쌍의 비대칭키와 매번 등록, 인증, 탈퇴시마다 발생하는 사용자 난수를 활용하여 포털사이트 서버가 사용자임을 확인하는 시스템이다. 우선 사용자 단말에서 사용자 private key와 public key를 생성하고 사용자 public key는 등록 단계에서 포털사이트 서버에 저장하고 사용자 private key 및 사용자 public key는 사용자 단말에 저장한다. 또한, 사용자 단말은 사용자가 등록, 인증, 탈퇴할 때마다 매번 달라지는 하나 이상의 사용자 난수들을 해쉬화한 사용자 난수해쉬를 발생한 후 이를 포털사이트 중계 서버를 통해 포털사이트 서버로 미리 전송하고, 포털사이트 서버는 이를 저장하며, 이후 이를 해쉬화한 것을, 사용자 단말이 최종적으로 포털사이트로 전송한 또 다른 사용자 난수해쉬암호화(사용자 난수해쉬를 signature화 한 데이터, 즉 사용자 난수해쉬를 다시 해쉬화하고 사용자 private key를 사용하여 암호화한 데이터)를 포털사이트 서버가 상기 사용자 public key로 복호화한 것과 비교해서 서로 같은지 검증하면, 비대칭키의 특성상 signature화 한 사람이 사용자일 수 밖에 없음을 확인할 수 있다. 따라서, 포털사이트 서버는 접속하려는 사용자의 매번 달라지는 사용자 난수해쉬를 사용해서 포털사이트 중계 서버에서 미리 보낸 사용자 난수해쉬를 해쉬화한 것과 사용자 단말이 최종적으로 보낸 사용자 난수해쉬암호화를 비대칭키로 복호화한 것과 비교하여 signature의 특성상 사용자임을 확인할 수 있다.
기존의 FIDO(Fast Identity Online)와 다른 점은 FIDO는 서버에서 임의의 난수(server challenge)를 발생하여 클라이언트에게 주고 이를 클라이언트가 해쉬화한 후 비대칭키로 signature화 해서 서버로 다시 돌려주는 방식이나, 본 발명의 사용자 난수는 해쉬화한 것과, 이를 비대칭키로 signature화한 것을 각각 사용자 단말에서 포털사이트 중계 서버를 통해서 포털사이트 서버로, 그리고 사용자 단말이 최종적으로 포털사이트에 접속하기 바로 전에 포털사이트 서버로 2번에 걸쳐 한 방향으로만 전송된다는 것이다.
인터넷 상에서 사용자는 각 포털사이트마다 별도로 로그인 정보를 기억하고 있어야 한다. 물론 아이디 패스워드를 모두 동일하게 하여 관리하는 방법도 있으나, 요즘에는 각 포털사이트마다 보안상 문제로 패스워드 구성 요건이 서로 다르기도 하여 일일이 통일시키는 것도 매우 번거로운 일이다.
또한 각 포털사이트는, 가입하는 각 사용자의 로그인 정보를 관리해야 하는 부담을 갖고 있다. 단순히 아이디 패스워드만 관리하면 되는 것이 아니다. 즉, 사용자가 아이디나 패스워드를 잊어버렸을 때는 그 외의 기억할 정보를 제공해야 하거나, 또는 여러가지 개인 인증방법을 거치도록 하여 아이디 패스워드를 새로 부여하는 등, 시스템 수행상의 여러가지 부하가 걸리는 문제가 있어 왔다.
KR 10-2015-0137518 A
본 발명은 이와 같은 문제점을 해결하기 위해 창안된 것으로서, SSO(Single Sign On)와 같이 편리하고 FIDO와 같이 보안 수준이 높은 방법을 이용하여 포털사이트 중계 서버가 사용자의 등록, 인증, 탈퇴의 서비스를 제공하는데 그 목적이 있다.
따라서, 사용자는 포털사이트마다 별도로 아이디, 패스워드를 기억하고 있을 필요없이 단일한 사용자 아이디와 비대칭키 한쌍 만을 가지고도 각 포털사이트로 직접 접속하는 것과 같은 편리함과 포털사이트 입장에서는 안전한 인증 수단을 누리게 해 주는 포털사이트 중계 서비스를 제공하는데 그 목적이 있다.
이와 같은 목적을 달성하기 위하여 본 발명에 따른, 포털사이트 중계 서버가, 사용자의 포털사이트 등록을 수행하는 방법은, (a) 포털사이트에 등록 요청한 사용자의 단말(이하 '사용자 단말'이라 한다)로부터, 사용자 아이디를 포함하는 데이터(이하 '제1 signature 생성용 데이터'라 한다)와, 상기 제1 signature 생성용 데이터를 signature화 하여 생성된 데이터(이하 '제i signature'라 한다)를 수신하는 단계; (b) 상기 제1 signature의 무결성을 검증하는 단계; (c) 사용자 아이디를 저장하는 단계; 및 (d) 상기 제1 signature 생성용 데이터 및 상기 제1 signature를 포털사이트 서버로 전송하는 단계를 포함한다.
사용자 단말로부터 단계(a)에서 받은 상기 제1 signature 생성용 데이터에는, 상기 제1 signature를 복호화하기 위한 사용자 public key를 더 포함하고, 상기 단계(b)의 상기 제1 signature의 무결성 검증은, 상기 signature를 상기 사용자 public key로 복호화하여 나온 해쉬가, 상기 signature 생성용 데이터를 해쉬화한 것과 같은지를 검증함으로써 이루어질 수 있다.
상기 단계(b)와 상기 단계(d) 사이에, (b1) 상기 수신한 사용자 public key를 저장하는 단계를 더 포함할 수 있다.
상기 제1 signature 생성용 데이터에는, 상기 사용자 단말에서 발생한 난수를 해쉬화한 데이터(이하 '사용자 난수해쉬'라 한다)를 더 포함할 수 있다.
상기 제1 signature 생성용 데이터에는, 상기 사용자 단말이 상기 단계(a)의 데이터를 상기 포털사이트 중계 서버로 송신 전, 기존의 값을 1씩 증가시킨 사용자 태깅(tagging)숫자#1을 더 포함하고, 상기 단계(b)와 상기 단계(c) 사이에, (b2) 상기 수신한 태깅숫자#1이 기존의 값보다 1이 증가되었는지를 검증하는 단계를 더 포함할 수 있다.
본 발명의 다른 측면에 따르면, 포털사이트 중계 서버가, 사용자의 포털사이트 로그인시 인증 또는 포털사이트로부터의 탈퇴를 수행하는 방법은, (a) 포털사이트에 등록 요청한 사용자의 단말(이하 '사용자 단말'이라 한다)로부터, 사용자 아이디를 포함하는 데이터(이하 '제1 signature 생성용 데이터'라 한다)와, 상기 제1 signature 생성용 데이터를 signature화 하여 생성된 데이터(이하 '제1 signature'라 한다)를 수신하는 단계; 및 (b) 상기 제1 signature 생성용 데이터 및 상기 제1 signature를 포털사이트 서버로 전송하는 단계를 포함한다.
상기 제1 signature 생성용 데이터에는, 상기 사용자 단말에서 발생한 난수를 해쉬화한 데이터(이하 '사용자 난수해쉬'라 한다)를 더 포함할 수 있다.
상기 signature 생성용 데이터에는, 상기 사용자 단말이 상기 단계(a)의 데이터를 상기 포털사이트 중계 서버로 송신 전, 기존의 값을 1씩 증가시킨 사용자 태깅(tagging)숫자#1을 더 포함할 수 있다.
본 발명의 또 다른 측면에 따르면, 비일시적 저장 매체에 저장되며, 프로세서에 의하여 실행되어, 포털사이트 중계 서버를 통하여 포털사이트에 등록하기 위한 방법을 수행하는 어플리케이션 프로그램은, (a) 사용자의 입력에 따라 포털사이트 서버에 등록 요청을 송신하는 단계; (b) 상기 포털사이트 서버로부터 등록 요청 화면을 수신하는 단계; (c) 사용자로부터 사용자 ID를 입력받은 후 포털사이트 중계 서버의 submit을 누름으로써 포털사이트 중계 서버로 연결되는 단계; (d) 상기 사용자 ID를 저장하는 단계; (e) 상기 사용자 아이디를 포함하는 데이터(이하 '제1 signature 생성용 데이터'라 한다)를 signature화 하여, 포털사이트 중계 서버로 송신할 데이터(이하 '제1 signature'라 한다)를 생성하는 단계; (f) 상기 제1 signature 및, 상기 제1 signature 생성용 데이터를 포털사이트 중계 서버로 송신하는 단계; (g) 상기 사용자 아이디를 포함하는 데이터(이하 '제2 signature 생성용 데이터'라 한다)를 signature화 하여, 포털사이트 서버로 송신할 데이터(이하 '제2 signature'라 한다)를 생성하는 단계; (h) 상기 제2 signature 및, 상기 제2 signature 생성용 데이터를 포털사이트 서버로 송신하는 단계; 및 (i) 상기 포털사이트 서버로부터 등록 요청 성공 통지를 수신하는 단계를 포함하는 방법을 실행시키기 위하여 비일시적 매체에 저장된다.
상기 단계(e) 이전에, (e01) 상기 제1 signature를 생성하거나, 상기 제2 signature를 생성할 때, 그 signature화 하는데 사용되는 사용자 private key 및, 상기 포털사이트 중계 서버 또는 상기 포털사이트 서버가 상기 제1 signature 또는 상기 제2 signature를 복호화하는데 사용할 사용자 public key를 생성하고, 상기 사용자 public key 및 상기 사용자 private key를 저장하는 단계를 더 포함하고, 상기 제1 signature 생성용 데이터에는, 상기 사용자 public key가 더 포함되며, 상기 단계(e) 및 상기 단계(g)에서 signature화는, 상기 제1 생성용 데이터 및 제2 signature 생성용 데이터를 각각 해쉬화한 후, 각각 상기 사용자 private key로써 암호화하는 방식으로 이루어질 수 있다.
상기 단계(e) 이전에, (e021) 난수를 하나 이상 발생하고 이를 해쉬화(해쉬화에 의해 생성된 데이터를 이하 '사용자 난수해쉬'라 한다)하는 단계; 및 (e022) 상기 사용자 난수해쉬를, 해쉬화한 후 상기 사용자 private key로 암호화, 즉 signature화 하고(이에 의해 생성된 데이터를 이하 '사용자 난수해쉬암호화'라 한다) 상기 사용자 난수해쉬암호화를 저장하는 단계를 더 포함하고, 상기 제1 signature 생성용 데이터에는, 상기 사용자 난수해쉬를 더 포함할 수 있다.
상기 제1 signature 생성용 데이터에는, 상기 사용자 단말이 상기 단계(e)에서 제1 signature를 생성하기 전에 기존의 값을 1 증가시킨 사용자 태깅(tagging)숫자#1을 더 포함할 수 있다.
상기 제2 signature 생성용 데이터에는, 상기 사용자 난수해쉬암호화를 더 포함할 수 있다.
상기 제2 signature 생성용 데이터에는, 상기 사용자 단말이 상기 단계(g)에서 제2 signature 생성하기 전에 기존의 값을 1 증가시킨 사용자 태깅(tagging)숫자#2를 더 포함할 수 있다.
본 발명의 또 다른 측면에 따르면, 비일시적 저장 매체에 저장되며, 프로세서에 의하여 실행되어, 포털사이트 중계 서버를 통하여 포털사이트에 접속하여 사용자의 인증 또는 사용자의 포털사이트로부터의 탈퇴를 수행하는 어플리케이션 프로그램은, (a) 사용자의 입력에 따라 포털사이트 서버에 인증 또는 탈퇴 요청을 송신하는 단계; (b) 상기 포털사이트 서버로부터 인증 또는 탈퇴 요청 화면을 수신하는 단계; (c) 사용자가 포털사이트 중계 서버의 submit을 누름으로써 포털사이트 중계 서버로 연결되는 단계; (d) 사용자의 포털사이트 등록 과정에서 사용자 단말에 이미 저장되어 있는 사용자 아이디를 포함하는 데이터(이하 '제1 signature 생성용 데이터'라 한다)를 signature화 하여, 포털사이트 중계 서버로 송신할 데이터(이하 '제1 signature'라 한다)를 생성하는 단계; (e) 상기 제1 signature 및, 상기 제1 signature 생성용 데이터를 포털사이트 중계 서버로 송신하는 단계; (f) 상기 사용자 아이디를 포함하는 데이터(이하 '제2 signature 생성용 데이터'라 한다)를 signature화 하여, 포털사이트 서버로 송신할 데이터(이하 '제2 signature'라 한다)를 생성하는 단계; (g) 상기 제2 signature 및, 상기 제2 signature 생성용 데이터를 포털사이트 서버로 송신하는 단계; 및 (h) 상기 포털사이트 서버로부터 인증 요청 성공 통지 또는 탈퇴 요청 성공 통지를 수신하는 단계를 포함하는 방법을 실행시키기 위하여 비일시적 매체에 저장된다.
상기 단계(d) 이전에, (d011) 난수를 하나 이상 발생하고 이를 해쉬화(해쉬화에 의해 생성된 데이터를 이하 '사용자 난수해쉬'라 한다)하는 단계; 및 (d012) 상기 사용자 난수해쉬를, 해쉬화한 후 사용자의 포털사이트 등록 과정에서 사용자 단말에 이미 저장되어 있는 사용자 private key로 암호화, 즉 signature화 하는 단계(이와 같이 signature화 된 데이터를 이하 '사용자 난수해쉬암호화'라 한다)를 더 포함하고, 상기 제1 signature 생성용 데이터에는, 상기 사용자 난수해쉬를 더 포함할 수 있다.
상기 단계(d) 또는 상기 단계(f)에서 signature화는, 상기 제1 signature 생성용 데이터 또는 상기 제2 signature 생성용 데이터를 해쉬화한 후 사용자의 포털사이트 등록 과정에서 사용자 단말에 이미 저장되어 있는 사용자 private key를 사용하여 암호화하는 방식으로 이루어질 수 있다.
상기 제1 signature 생성용 데이터에는, 상기 사용자 단말이 상기 단계(d)에서 제1 signature를 생성하기 전에 기존의 값을 1 증가시킨 사용자 태깅(tagging)숫자#1을 더 포함할 수 있다.
상기 제2 signature 생성용 데이터에는, 상기 사용자 난수해쉬암호화를 더 포함할 수 있다.
상기 제2 signature 생성용 데이터에는, 상기 사용자 단말이 상기 단계(f)에서 제2 signature를 생성하기 전에 기존의 값을 1씩 증가시킨 사용자 태깅(tagging)숫자#2를 더 포함할 수 있다.
본 발명의 또 다른 측면에 따르면, 포털사이트 서버가, 사용자의 포털사이트 등록을 수행하는 방법은, (a) 사용자 단말로부터 등록 요청을 수신하는 단계; (b) 상기 사용자 단말로 등록 요청 화면을 전송하는 단계; (c) 사용자 아이디를 포함하는 데이터(이하 제1 signature 생성용 데이터'라 한다)와, 상기 제1 signature 생성용 데이터를 signature화 하여 생성된 데이터(이하 '제1 signature'라 한다)를 사용자 단말로부터 수신한 포털사이트 중계 서버로부터, 상기 제1 signature 생성용 데이터 및 상기 제1 signature를 수신하는 단계; (d) 상기 제1 signature의 무결성을 검증하는 단계; (e) 상기 사용자 단말로부터 상기 사용자 아이디를 포함하는 데이터(이하 '제2 signature 생성용 데이터'라 한다)와, 상기 제2 signature 생성용 데이터를 signature화 하여 생성된 데이터(이하 '제2 signature'라 한다)를 수신하는 단계; (f) 상기 제2 signature의 무결성을 검증하는 단계; (g) 상기 사용자 아이디를 인증데이터로서 저장하는 단계; 및 (h) 상기 사용자 단말로 등록 요청 성공 통지를 전송하는 단계를 포함한다.
상기 단계(c)에서 상기 포털사이트 중계 서버로부터 받은 제1 signature 생성용 데이터에는, 상기 제1 signature를 복호화하기 위한 사용자 public key를 포함하고, 상기 수신한 사용자 public key는 포털사이트 서버에 저장되며, 상기 단계(d)의 상기 제1 signature의 무결성 검증은, 상기 제1 signature를 상기 사용자 public key로 복호화하여 나온 해쉬가, 상기 제1 signature 생성용 데이터를 해쉬화한 것과 같은지를 검증함으로써 이루어지고, 상기 단계(f)의 상기 제2 signature의 무결성 검증은, 상기 제2 signature를 상기 사용자 public key로 복호화하여 나온 해쉬가, 상기 제2 signature 생성용 데이터를 해쉬화한 것과 같은지를 검증함으로써 이루어질 수 있다.
상기 단계(c)에서 상기 포털사이트 중계 서버로부터 수신한 제1 signature 생성용 데이터에는, 사용자 단말에서 난수를 하나 이상 발생하고 이를 해쉬화하여 생성한 데이터(이하 '사용자 난수해쉬'라 한다)를 더 포함하고, 상기 단계(d)와 단계(e) 사이에, (d1) 상기 단계(c)에서 수신한 사용자 난수해쉬를 저장하는 단계를 더 포함하며, 상기 단계(e)에서 상기 사용자 단말로부터 수신한 상기 제2 signature 생성용 데이터에는, 사용자 단말에서 난수를 하나 이상 발생하고 이를 해쉬화하여 생성한 데이터(이하 '사용자 난수해쉬'라 한다)를 해쉬화한 후 사용자 private key로 암호화, 즉 사용자 난수해쉬를 signature화 한 데이터인 사용자 난수해쉬암호화를 더 포함하며, 상기 단계(f)와 상기 단계(g) 사이에, (f1) 상기 단계(e)에서 수신한 사용자 난수해쉬암호화를 상기 사용자 public key를 사용하여 복호화하는 단계; 및 (f2) 상기 단계(d1)에서 저장된 사용자 난수해쉬를 해쉬화한 것과, 상기 단계(f1)에서 복호화된 것이 서로 같은지를 비교함으로써, 사용자 난수해쉬를 검증하는 단계를 더 포함할 수 있다.
상기 제1 signature 생성용 데이터에는, 상기 사용자 단말이 상기 단계(c)의 제1 signature 생성 전, 기존의 값을 1 증가시킨 사용자 태깅(tagging)숫자#1을 더 포함하고, 상기 단계(d)와 상기 단계(e) 사이에, (d2) 상기 수신한 사용자 태깅숫자#1이 기존의 값보다 1이 증가되었는지를 검증하는 단계를 더 포함할 수 있다.
상기 제2 signature 생성용 데이터에는, 상기 사용자 단말이 상기 단계(e)의 제2 signature 생성 전, 기존의 값을 1씩 증가시킨 사용자 태깅숫자#2를 더 포함하고, 상기 단계(f)와 상기 단계(g) 사이에, (f3) 상기 수신한 사용자 태깅숫자#2가 기존의 값보다 1이 증가되었는지를 검증하는 단계를 더 포함할 수 있다.
본 발명의 또 다른 측면에 따르면, 포털사이트 서버가, 사용자의 포털사이트 접속시의 인증 또는 포털사이트에서의 탈퇴를 수행하는 방법은, (a) 사용자 단말로부터 포털사이트 접속을 위한 인증 또는 포털사이트로부터의 탈퇴 요청을 수신하는 단계; (b) 상기 사용자 단말로 등록 요청 화면 또는 탈퇴 요청 화면을 전송하는 단계; (c) 사용자 아이디를 포함하는 데이터(이하 제1 signature 생성용 데이터'라 한다)와, 상기 제1 signature 생성용 데이터를 signature화하여 생성된 데이터(이하 '제1 signature'라 한다)를 사용자 단말로부터 수신한 포털사이트 중계 서버로부터, 상기 제1 signature 생성용 데이터 및 상기 제1 signature를 수신하는 단계; (d) 상기 제1 signature의 무결성을 검증하는 단계; (e) 상기 사용자 단말로부터 상기 사용자 아이디를 포함하는 데이터(이하 '제2 signature 생성용 데이터'라 한다)와, 상기 제2 signature 생성용 데이터를 signature화하여 생성된 데이터(이하 '제2 signature'라 한다)를 수신하는 단계; (f) 상기 제2 signature의 무결성을 검증하는 단계; (g) 포털사이트에서의 탈퇴를 수행 중인 경우, 상기 사용자 아이디를 삭제하는 단계; 및 (h) 상기 사용자 단말로 인증 요청 성공 통지 또는 탈퇴 요청 성공 통지를 전송하는 단계를 포함한다.
상기 단계(d)의 상기 제1 signature의 무결성 검증은, 상기 제1 signature를, 포털사이트 등록시 저장한 사용자 public key로 복호화하여 나온 해쉬가, 상기 제1 signature 생성용 데이터를 해쉬화한 것과 같은지를 검증함으로써 이루어지고, 상기 단계(f)의 상기 제2 signature의 무결성 검증은, 상기 제2 signature를 상기 사용자 public key로 복호화하여 나온 해쉬가, 상기 제2 signature 생성용 데이터를 해쉬화한 것과 같은지를 검증함으로써 이루어질 수 있다.
상기 단계(c)에서 상기 포털사이트 중계 서버로부터 수신한 제1 signature 생성용 데이터에는, 사용자 단말에서 난수를 하나 이상 발생하고 이를 해쉬화하여 생성한 데이터(이하 '사용자 난수해쉬'라 한다)를 더 포함하고, 상기 단계(d)와 단계(e) 사이에, (d1) 상기 단계(c)에서 수신한 사용자 난수해쉬를 저장하는 단계를 더 포함하며, 상기 단계(e)에서 상기 사용자 단말로부터 수신한 상기 제2 signature 생성용 데이터에는, 사용자 단말에서 난수를 하나 이상 발생하고 이를 해쉬화하여 생성한 데이터(이하 '사용자 난수해쉬'라 한다)를 해쉬화한 후 사용자 private key로 암호화, 즉 사용자 난수해쉬를 signature화 한 데이터인 사용자 난수해쉬암호화를 더 포함하며, 포털사이트 로그인을 위한 인증 수행 중인 경우에는 상기 단계(f)와 상기 단계(h) 사이에, 포털사이트에서의 탈퇴 수행 중인 경우에는 상기 단계(f)와 상기 단계(g) 사이에, (f1) 상기 단계(e)에서 수신한 사용자 난수해쉬암호화를 상기 사용자 public key를 사용하여 복호화하는 단계; 및 (f2) 상기 단계(d1)에서 저장된 사용자 난수해쉬를 해쉬화한 것과, 상기 단계(f1)에서 복호화된 것이 같은지를 비교함으로써, 사용자 난수해쉬를 검증하는 단계를 더 포함할 수 있다.
상기 제1 signature 생성용 데이터에는, 상기 사용자 단말이 상기 단계(c)의 제1 signature 생성 전, 기존의 값을 1 증가시킨 사용자 태깅(tagging)숫자#1을 더 포함하고, 상기 단계(d)와 상기 단계(e) 사이에, (d2) 상기 수신한 사용자 태깅숫자#1이 기존의 값보다 1이 증가되었는지를 검증하는 단계를 더 포함할 수 있다.
상기 제2 signature 생성용 데이터에는, 상기 사용자 단말이 상기 단계(e)의 제2 signature 생성 전, 기존의 값을 1 증가시킨 사용자 태깅숫자#2를 더 포함하고, 포털사이트 로그인을 위한 인증 수행 중인 경우에는 상기 단계(f)와 상기 단계(h) 사이에, 포털사이트에서의 탈퇴 수행 중인 경우에는 상기 단계(f)와 상기 단계(g) 사이에, (f3) 상기 수신한 사용자 태깅숫자#2가 기존의 값보다 1이 증가되었는지를 검증하는 단계를 더 포함할 수 있다.
포털사이트에서의 탈퇴를 수행 중인 경우, 상기 단계(f)와 단계(h) 사이에, (g1) 상기 사용자 public key를 삭제하는 단계를 더 포함할 수 있다.
본 발명의 또 다른 측면에 따르면, 포털사이트 중계 서버는, 사용자의 포털사이트 등록 또는 포털사이트 로그인시의 인증 또는 포털사이트에서의 탈퇴를 수행하는 경우, 사용자 단말 또는 사용자 브라우저 또는 해당 브라우저의 익스텐션(extension)(이하 총칭하여 '사용자 단말'이라 한다)과 패킷(packet)을 송수신하는 사용자 송수신부; 사용자의 포털사이트 등록 또는 포털사이트 로그인시의 인증 또는 포털사이트에서의 탈퇴를 수행하는 경우, 포털사이트 서버와 패킷을 송수신하는 포털사이트 서버 송수신부; 상기 사용자 송수신부가 사용자 단말로부터 수신한, 사용자 아이디를 포함하는 signature 생성에 사용되는 데이터(이하 '제1 signature 생성용 데이터'라 한다) 및, 제1 signature 생성용 데이터를 signature화 하여 생성된 데이터(이하 '제1 signature'라 한다)를, 포털사이트 서버 송수신부를 통하여 포털사이트 서버로 전달하는 인증부; 포털사이트 등록시 사용자 아이디를 저장하는 데이터 저장부; 및 포털사이트 중계 서버의 상기 각 모듈을 제어하여 포털사이트 중계 서비스 제공과 관련한 일련의 과정을 수행하는 제어부를 포함한다.
상기 인증부는, 사용자의 포털사이트 등록을 수행하는 경우, 상기 제1 signature를 검증하는 역할을 수행하는 기능을 더 포함할 수 있다.
상기 제1 signature의 검증은, 상기 수신한 제1 signature 생성용 데이터를 해쉬화하고, 이와 같이 해쉬화한 데이터와, 함께 수신한 제1 signature를 사용자 public key로 복호화하여 이로부터 나온 해쉬와 비교하여, 같은지를 검증함으로써 이루어질 수 있다.
상기 제1 signature 생성용 데이터에는, 상기 사용자 단말에서 발생한 난수를 해쉬화한 데이터(이하 '사용자 난수해쉬'라 한다)를 더 포함할 수 있다.
상기 제1 signature 생성용 데이터에는, 사용자 태깅숫자#1이 더 포함되고, 상기 인증부는, 사용자의 포털사이트 등록 과정에서, 수신한 사용자 태깅숫자#1이 1씩 증가했는지 검증하는 기능을 더 포함할 수 있다.
사용자의 포털사이트 등록 과정에서, 상기 제1 signature 생성용 데이터에는, 사용자 단말에서 암호화되어 수신되는 데이터를 복호화하기 위한 사용자 public key
를 더 포함하고, 상기 인증부는, 상기 수신한 사용자 public key를 상기 데이터 저장부에 저장하는 기능을 더 포함할 수 있다.
본 발명에 의하면, 각 사용자는 별도의 패스워드를 관리하지 않고도, 포털사이트 중계 서버가 사용자 난수해쉬를 사용자와 포털사이트로 중계하고, 이를 다시 사용자 단말이 비대칭키로 signature화한 사용자 난수해쉬암호화를 포털사이트 서버로 보내고 포털사이트 서버가 이 signature를 포털사이트 중계 서버로부터 받은 상기 사용자 난수해쉬와 사용자 public key를 활용해서 확인함으로써, 사용자 입장에서는 자신의 private key가 노출되지 않는다면 개인의 인증이 확실히 보장되고, 포털사이트 입장에서는 최종적으로 사용자가 접속시 보낸 매번 달라지는 사용자 난수해쉬와 이를 복호화하는 비대칭키의 보안특성으로 사용자임을 확인할 수 있어 보안이 매우 높다. 더구나, 사용자는 단일 계정으로 모든 포털사이트에 가입할 수 있기 때문에 편리함과 높은 보안수준을 제공해 주는 포털사이트 중계 서비스를 제공하는 효과가 있다.
도 1은 본 발명에 따른 포털사이트 중계 서비스를 제공하기 위한 네트워크 구성을 도시한 도면.
도 2는 본 발명에 따른 포털사이트 중계 서비스 제공 과정에서 이루어지는, 사용자 단말 signature 생성 및, 포털사이트 중계 서버에서의 데이터 검증이 이루어지는 과정을 도시한 도면.
도 3은 본 발명에 따른 포털사이트 중계 서비스 제공 과정에서 이루어지는, 사용자 단말 signature 생성 및 포털사이트 서버에서의 데이터 검증이 이루어지는 과정을 도시한 도면.
도 4는 본 발명에 따른 포털사이트 중계 서버를 통하여 각 포털사이트에 등록하는 방법을 나타내는 시퀀스의 제1 실시예를 도시한 도면.
도 5는 포털사이트 접속시, 본 발명에 따른 포털사이트 중계 서버를 통하여 인증을 수행하는 방법을 나타내는 시퀀스의 제1 실시예를 도시한 도면.
도 6은 본 발명에 따른 포털사이트 중계 서버를 통하여 각 포털사이트에서 탈퇴하는 방법을 나타내는 시퀀스의 제1 실시예를 도시한 도면.
도 7은 본 발명에 따른 포털사이트 중계 서버를 통하여 각 포털사이트에 등록하는 방법을 나타내는 시퀀스의 제2 실시예를 도시한 도면.
도 8은 포털사이트 접속시, 본 발명에 따른 포털사이트 중계 서버를 통하여 인증을 수행하는 방법을 나타내는 시퀀스의 제2 실시예를 도시한 도면.
도 9는 본 발명에 따른 포털사이트 중계 서버를 통하여 각 포털사이트에서 탈퇴하는 방법을 나타내는 시퀀스의 제2 실시예를 도시한 도면.
도 10은 본 발명에 따른 포털사이트 중계 서버의 구성을 나타내는 도면.
이하 첨부된 도면을 참조로 본 발명의 바람직한 실시예를 상세히 설명하기로 한다. 이에 앞서, 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념을 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서, 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일 실시예에 불과할 뿐이고 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형예들이 있을 수 있음을 이해하여야 한다.
도 1은 본 발명에 따른 포털사이트 중계 서비스를 제공하기 위한 네트워크 구성을 도시한 도면이다.
사용자 최종적으로 같이 보낸 사용자 난수(한개 이상의 난수)가 해쉬화되고 signature화된 것을 포털사이트 서버(200)가 등록 시 저장한 사용자 public key로 복호화하고 이를, 포털사이트 중계 서버(100)의 중계 역할에 의해서 받은 사용자 난수해쉬를 해쉬화해서 나온 결과와 매번 비교 후 검증하여 확인할 수 있기 때문에 보안수준이 매우 높으며, 여기에 사용자는 한개의 포털사이트 고객을 더욱 효과적으로 유치 및 유지할 수 있다.
FIDO가 인증시 마다 임의의 난수(server challenge)를 FIDO서버에서 발생시켜 FIDO클라이언트에게 주고 FIDO클라이언트는 이를 signature로 만들어 server challenge와 함께 FIDO서버로 보내고 FIDO서버는 이 signature를 public key로 풀어서 검증함으로써 사용자임을 확인한다. 반면에, 본 발명은, 웹 환경의 TLS 환경에서도 동작이 가능하고, 사용자 난수해쉬를 비대칭키 1쌍으로 검증하기 때문에 같은 수준의 보안을 제공할 수 있다.
따라서, SSO(Single Sign On) 처럼 사용자가 한 개의 계정을 가지고 포털사이트 중계 서버(100)와 서비스 계약을 맺은 포털사이트들에 대한 등록, 인증, 탈퇴를 할 때마다 사용자 난수해쉬가 매번 새로 발생하고 이를 기반으로 포털사이트가 사용자의 인증을 확인하기 때문에, SSO(Single Sign On)처럼 사용자 토큰이 도난당하면 자신이 가입한 모든 사이트들이 위험해질 수 있는 경우를 방지할 수 있다. 그러므로 본 발명은 FIDO와 같은 보안수준을 SSO(Single Sign On)의 편리성과 결합한 발명이다.
이하에서는 전술한 바와 같은 포털사이트 중계 서비스 제공에 대하여, 도 2 내지 도 10을 참조하여, 본 발명의 포털사이트 중계 서버(100)를 통하여 수행되는 포털사이트로의 등록, 인증, 탈퇴 방법에 관하여 실시예별로 상세히 설명하기로 한다.
도 4 내지 도 6은 각각, 제1 실시예로서의 사용자 포털사이트 등록, 포털사이트 로그인시의 인증 및 포털사이트에서의 탈퇴를 수행하는 시퀀스를 나타내는 도면이며, 도 7 내지 도 9는 각각, 제2 실시예로서의 사용자 포털사이트 등록, 포털사이트 로그인시의 인증 및 포털사이트에서의 탈퇴를 수행하는 시퀀스를 나타내는 도면이다.
특히 도 2는 사용자 단말 제1 signature 생성 및, 포털사이트 중계 서버(100)에서의 데이터 검증, 도 3은 사용자 단말 제2 signature 생성 및, 포털사이트 서버(200)에서의 데이터 검증을 나타내는 도면이다. 이러한 도 2 및 도 3의 각각의 시퀀스는, 도 4 내지 도 9 각각의 수행 과정에서 공통적으로 수행되는 시퀀스이며, 도 4 내지 도 9에 그와 같은 표현이 나타나 있다. 다만, 도 4 내지 도 9에서 수행되는 도 2 및 도 3의 시퀀스가 각 도면(도 4 내지 도 9)에서 조금씩 차이나거나 각 도면에 독특하게 적용되는 부분에 대하여는, 도 4 내지 도 9 각각을 참조하여 설명하는 부분에서 후술하기로 한다.
도 2는 본 발명에 따른 포털사이트 중계 서비스 제공 과정에서 이루어지는, 사용자 단말 제1 signature 생성 및 포털사이트 중계 서버에서의 제1 signature 검증이 이루어지는 과정을 도시한 도면이다.
'signature'란 '서명'이라는 의미를 가지며, 이하에서 사용하는 'signature'는, 한개 이상의 특정 데이터(이하 'signature 생성용 데이터'라 한다)를 해쉬화한 후 사용자 private key로 암호화 하여 생성한 하나의 데이터를 의미한다. 즉, 'A'라는 signature 생성용 데이터를 'signature화' 한다는 것은, A를 해쉬화하고, 해쉬화된 것을 사용자 private key를 사용하여 암호화한 최종데이터, 즉 signature를 생성한다는 뜻이다. 예를 들어, 이하에서 '제1 signature 생성용 데이터'를 signature화 한다는 것은 제1 signature 생성용 데이터를 해쉬화한 후 사용자 private key로 암호화 하여 제1 signature를 생성한다는 것이고, '제2 signature 생성용 데이터'를 signature화 한다는 것은 제2 signature 생성용 데이터를 해쉬화한 후 사용자 private key로 암호화 하여 제2 signature를 생성한다는 것이며, 사용자 난수해쉬를 signature화 한다는 것은 사용자 난수해쉬를 해쉬화한 후, 이를 사용자 private key로써 암호화 한다는 것이다. 사용자 난수해쉬를 signature화 하여 생성된 데이터를 '사용자 난수해쉬암호화'라 한다.
수신측에서는 이러한 signature와 signature 생성용 데이터를 함께 수신하여 signature를 검증함으로써, 즉, signature 생성용 데이터를 해쉬화한 것을, signature를 사용자 public key로 복호화한 것과 비교해서 서로 같은지를 확인함으로써, 수신한 데이터의 무결성을 보장하는데 이용된다.
도 2를 참조하면, 사용자 단말 클라이언트(10) 또는 사용자 단말 익스텐션(11)(이하, 도 2를 참조한 설명에서는 '사용자 단말'로 총칭하여 칭하기로 한다)은 사용자 태깅숫자#1을 1씩 증가시킨다(S001).
사용자 단말은 사용자 아이디, 사용자 난수해쉬 및 사용자 태깅숫자#1을 'signature화' 한다. 즉, 전술한 'signature화' 의미에 따라, 이것은 사용자 단말이 사용자 아이디, 사용자 난수해쉬 및 사용자 태깅숫자#1을 해쉬화하고, 이를 사용자 private key로 암호화하여 'signature'(이하 '제1 signature'라 한다)를 생성한다는 뜻이다(S002). 이와 같이 제1 signature를 생성하기 위한 사용자 아이디, 사용자 난수해쉬 및 사용자 태깅숫자#1 등을 총칭하여 '제1 signature 생성용 데이터'라 칭하기로 한다. 여기서 '사용자 난수해쉬'란, 사용자 단말이 난수를 하나 이상 발생하고 이를 해쉬화한 데이터를 말한다.
도 4 및 도 7의 포털사이트 등록 과정에서는, 이와 같은 제1 signature 생성용 데이터에, 사용자 public key가 더 포함된다.
이후 사용자 단말은 제1 signature 생성용 데이터 및 생성된 제1 signature를 포털사이트 중계 서버(100)로 전송한다(S003).
이후, 사용자의 포털사이트 등록 과정에서는, 포털사이트 중계 서버(100)는, 사용자 단말로부터 단계 S003에서 받은 패킷에서 제1 signature를 사용자 public key로 복호화하여 이로부터 나온 해쉬가 함께 온 제1 signature 생성용 데이터를 해쉬한 것과 같은지를 검증함으로써 수신한 signature를 검증한다(S004). 즉, 수신한 제1 signature 생성용 데이터를 해쉬화하고, 이와 같이 해쉬화한 데이터가, 수신한 제1 signature를 사용자 public key로 복호화하여 이로부터 나온 해쉬와 같은지를 검증함으로써, 수신한 제1 signature에 대한 검증을 수행하는 것이다. 이로써 수신한 패킷의 무결성을 검증한다. 이후, 또한 사용자의 포털사이트 등록 과정에서는, 포털사이트 중계 서버(100)는 수신한 사용자 태깅숫자#1이 1씩 증가했는지 검증한다(S005).
도 3은 본 발명에 따른 포털사이트 중계 서비스 제공 과정에서 이루어지는, 사용자 단말 제1 signature 생성 및 포털사이트 서버에서의 제2 signature 검증이 이루어지는 과정을 도시한 도면이다.
사용자 단말 클라이언트(10) 또는 사용자 단말 익스텐션(11)(이하, 도 3을 참조한 설명에서는 '사용자 단말'로 총칭하여 칭하기로 한다)은 사용자 태깅숫자#2를 1씩 증가(S021)하고, 사용자 ID, 사용자 난수해쉬암호화와 사용자 태깅숫자#2를 해쉬화한 후, 사용자 private key로써 암호화한 signature(이하 '제2 signature'라 한다)를 생성한다(S022). 이와 같이 제2 signature를 생성하기 위한 사용자 ID, 사용자 난수해쉬암호화와 사용자 태깅숫자#2 등을 총칭하여 '제2 signature 생성용 데이터'라 칭하기로 한다. 여기서, 사용자 난수해쉬암호화란, 사용자 난수해쉬를 'signature화'한 데이터를 말한다. 즉, 사용자 난수해쉬를 다시 해쉬화하고, 이를 사용자 private key로써 암호화하여 생성된 데이터를 '사용자 난수해쉬암호화'라 한다.
이후 사용자 단말은 제2 signature 생성용 데이터 및 생성된 제2 signature를 포털사이트 서버(200)로 전송한다(S023).
포털사이트 서버(200)는, 사용자 단말로부터 단계 S023에서 받은 패킷에서 제2 signature를, 사용자의 포털사이트 등록시(도 4, 도 7) 저장한 사용자 public key로 복호화하여, 이로부터 나온 해쉬가 함께 온 제2 signature 생성용 데이터를 해쉬화한 것과 같은지를 검증함으로써 수신한 signature를 검증한다(S024). 즉, 수신한 제2 signature 생성용 데이터를 해쉬화하고, 이와 같이 해쉬화한 데이터가, 수신한 제2 signature를 사용자 public key로 복호화하여 이로부터 나온 해쉬와 같은지를 검증함으로써, 수신한 제2 signature에 대한 검증을 수행하는 것이다. 이로써 수신한 패킷의 무결성을 검증한다. 이후, 포털사이트 중계 서버(100)는, 수신한 사용자 태깅숫자#2가 1씩 증가했는지 검증한다(S025).
또한, 위 단계 S022에서 사용자 단말로부터 수신했던 사용자 난수해쉬암호화를, 사용자 포털사이트 등록시(도 4, 도 7) 저장한 사용자 public key로 복호화한다. 이와 같이 복호화하여 나온 것과, 단계 S021 이전에 제1 signature 생성용 데이터 중 하나로서 포털사이트 중계 서버(100)로부터 수신한 사용자 난수해쉬를 다시 해쉬화한 것과 서로 같은지 비교함으로써 사용자 난수해쉬를 검증한다(S027).
도 4는 본 발명에 따른 포털사이트 중계 서버(100)를 통하여 각 포털사이트에 등록하는 방법을 나타내는 시퀀스의 제1 실시예를 도시한 도면이다.
먼저 사용자 단말(10)에 설치된 클라이언트 프로그램을 '사용자 단말 클라이언트'라 한다. 이하에서는 이를 줄여 '클라이언트'(10)라 칭하기로 한다.
사용자는 포털사이트 서버(200)로 등록 요청을 하면(S401) 포털사이트 서버(200)는 클라이언트(10)에게 등록요청 화면을 전송한다(S402). 이 등록요청 화면에서 사용자는 사용자 아이디를 입력하고 포털사이트 중계 서버(100)에 접속할 수 있는 submit 버튼을 누른다(S403).
이후, 클라이언트(10)는 비대칭 키 1쌍, 즉, '사용자 private key'와 '사용자 public key'를 생성하고, 생성된 private key와 사용자 public key를 저장한다(S404).
클라이언트(10)는 입력된 사용자 아이디를 저장한다(S405). 또한 클라이언트(10)는 난수를 하나 이상 발생하고 이를 해쉬화(해쉬화에 의해 생성된 데이터를 이하 '사용자 난수해쉬'라 한다) 시킨 뒤 이 사용자 난수해쉬를 signature화 시킨 후 저장한다(S406). 이와 같이 사용자 난수해쉬가 signature화 된 데이터를 사용자 난수해쉬암호화라 한다.
즉, 도 3을 참조하여서도 전술한 바와 같이 사용자 난수해쉬암호화란, 사용자 난수해쉬를 'signature화'한 데이터, 즉, 사용자 난수해쉬를 다시 해쉬화하고, 이를 사용자 private key로써 암호화하여 생성된 데이터이다.
이후, 클라이언트(10)에서 제1 signature를 생성하고, 포털사이트 중계 서버(100)에서는 제1 signature 및 여러 데이터에 대한 검증이 이루어지는데, 이에 대하여는 도 2에서 단계 S001 내지 단계 S005를 통하여 설명한 바 있다. 도 2의 '사용자 단말'은 도 4에서 수행될 때는 '클라이언트(10)'에 해당한다.
즉, 클라이언트(10)는 사용자 태깅숫자#1을 1씩 증가하고(S001), 제1 signature 생성용 데이터, 즉, 사용자 ID, 사용자 난수해쉬, 사용자 태깅숫자#1 및 사용자 public key와, 이로부터 생성된 제1 signature(S002)를 포털사이트 중계 서버(100)로 송신하는 것이다(S003). 포털사이트 중계 서버(100)는 제1 signature를 검증하고(S004), 사용자 태깅숫자#1이 1 증가했는지 여부를 검증한다(S005).
이와 같은 검증 후, 포털사이트 중계 서버(100)는, 다른 포털사이트들에 대한 사용자의 계정을 한개로 관리하기 위해 사용자 ID를 저장하고(S407), 또한 향후 사용자가 다른 포털사이트에의 등록을 위해 사용자 public key를 저장한다(S407). 즉, 저장한 사용자 public key는 해당 사용자의 다른 포털사이트에 대한 등록과정에서도 제1 signature 검증에 사용할 수 있다.
이후, 포털사이트 중계 서버(100)는 제1 signature 생성용 데이터 및 제1 signature를 그대로 포털사이트 서버(200)로 송신하고(S408), 포털사이트 서버(200)는 제 1 signature를 검증하고(S409), 사용자 태깅숫자#1이 1씩 증가했는지 검증한 후(S410), 사용자 public key를 저장한다(S411).
이후, 포털사이트 서버(200)는 포털사이트 중계 서버(100)로부터 받은 제1 signature 생성용 데이터 중 사용자 난수해쉬를 저장한다(S412).
또한 이후, 클라이언트(10)에서 제2 signature를 생성하고, 포털사이트 서버(200)에서는 제2 signature 및 여러 데이터에 대한 검증이 이루어지는데, 이에 대하여는 도 3에서 단계 S021 내지 단계 S027을를 통하여 설명한 바 있다. 도 3의 '사용자 단말' 역시 도 4에서 수행될 때는 '클라이언트(10)'에 해당한다.
즉, 클라이언트(10)는 사용자 태깅숫자#2를 1씩 증가하고(S021), 제2 signature 생성용 데이터, 즉, 사용자 아이디, 사용자 난수해쉬암호화 및 사용자 태깅숫자#2와, 이로부터 생성된 제2 signature(S022)를 포털사이트 서버(200)로 송신하는 것이다(S023). 포털사이트 서버(200)는 제2 signature를 검증하고(S024), 사용자 태깅숫자#2가 1 증가했는지 여부를 검증하며(S025), 클라이언트(10)로부터 받은 사용자 난수해쉬암호화를 단계 S411에서 저장한 사용자 public key로 복호화 한다(S026).
또한 포털사이트 중계 서버(100)로부터 제1 signature 생성용 데이터 중 하나로서 받은(S408) 사용자 난수해쉬를 해쉬화 한 것을, 클라이언트(10)로부터 상기 제2 signature 생성용 데이터 중 하나로서 수신한(S023) 사용자 난수해쉬암호화를 사용자 public key(S411에서 저장된)로 복호화한(S026) 것과 같은지 검증함으로써(S027), 데이터 검증을 수행한다.
이와 같은 사용자 난수해쉬의 검증이 완료된 경우 포털사이트 서버(200)는, 사용자의 등록이 성공했다고 판단하여 사용자 ID를 저장하고(S413), 클라이언트(10)로 등록 요청이 성공되었음을 알리는 메시지를 송신한다(S414).
도 5는 포털사이트 접속시, 본 발명에 따른 포털사이트 중계 서버(100)를 통하여 인증을 수행하는 방법을 나타내는 시퀀스의 제1 실시예를 도시한 도면이다.
클라이언트(10)가 포털사이트 서버(200)에게 인증요청을 보내면(S501) 포털사이트 서버(200)는 클라이언트(10)에게 인증요청화면을 보여준다(S502). 사용자는 인증요청화면에서 포털사이트 중계 서버(100)의 submit 버튼을 누른다(S503). 이후 매번 사용자 난수(한개 이상의 난수들)를 발생하여 이를 해쉬화하고, 해쉬화에 의해 생성된 데이터, 즉 사용자 난수해쉬를 signature화 하여 저장한다(S504). 즉, 사용자 난수해쉬를 해쉬화한 후 이를 사용자의 포털사이트 등록 시(도 4) 저장한 사용자 private key로 암호화한 후 저장하는 것이다(S504).
이후, 클라이언트(10)에서 제1 signature를 생성하고, 생성된 제1 signature 및 제1 signature 생성용 데이터를 포털사이트 중계 서버(100)로 전송한다. 이에 대하여는 도 2에서 단계 S001 내지 단계 S003을 통하여 설명한 바 있다. 도 2의 '사용자 단말' 역시 도 5에서 수행될 때는 '클라이언트(10)'에 해당한다.
즉, 사용자 태깅숫자#1을 1씩 증가하고(S001), 클라이언트(10)는 제1 signature 생성용 데이터, 즉, 사용자 ID, 사용자 난수해쉬, 및 사용자 태깅숫자#1과, 이로부터 생성된 제1 signature(S002)를 포털사이트 중계 서버(100)로 송신하는 것이다(S003). 도 4의 포털사이트 등록시와는 달리 사용자 public key은 제1 signature 생성용 데이터에 포함되지 않으며, 따라서 포털사이트 중계 서버(100)로 송신되지도 않는다.
이후, 포털사이트 중계 서버(100)는 제1 signature 생성용 데이터 및 제1 signature를 그대로 포털사이트 서버(200)로 송신하고(S505), 포털사이트 서버(200)는 제1 signature를 검증하고(S506), 사용자 태깅숫자#1이 1씩 증가했는지 검증한다(S507).
이후, 포털사이트 서버(200)는 포털사이트 중계 서버(100)로부터 받은 제1 signature 생성용 데이터 중 사용자 난수해쉬를 저장한다(S508).
이후, 클라이언트(10)에서 제2 signature를 생성하고, 포털사이트 서버(200)에서는 제2 signature 및 여러 데이터에 대한 검증이 이루어지는데, 이에 대하여는 도 3에서 단계 S021 내지 단계 S027을 통하여 설명한 바 있다. 도 3의 '사용자 단말' 역시 도 5의 포털사이트 로그인시 인증 과정에서 수행될 때는 '클라이언트(10)'에 해당한다.
즉, 클라이언트(10)는 사용자 태깅숫자#2를 1씩 증가하고(S021) 제2 signature 생성용 데이터, 즉, 사용자 아이디, 사용자 난수해쉬암호화 및 사용자 태깅숫자#2와, 이로부터 생성된 제2 signature(S022)를 포털사이트 서버(200)로 송신하는 것이다(S023).  포털사이트 서버(200)는 제2 signature를 검증하고(S024), 사용자 태깅숫자#2가 1씩 증가했는지 여부를 검증하며(S025), 클라이언트(10)로부터 받은 사용자 난수해쉬암호화를 포털사이트 등록 과정(도 4)의 단계 S411에서 저장한 사용자 public key로 복호화 한다(S026).
또한 포털사이트 중계 서버(100)로부터 받은(S505) 사용자 난수해쉬를 해쉬화한 것을, 상기 제2 signature 생성용 데이터 중 하나로서 수신된(S023) 사용자 난수해쉬암호화를 사용자 public key(포털사이트 등록 과정(도 4)에서 저장됨(S411))로 복호화한(S026) 것과 같은지 검증함으로써(S027), 데이터 검증을 수행한다.
포털사이트 서버(200)는 상기 사용자 난수해쉬를 검증하면 사용자의 인증이 성공했다고 판단하며, 이에 따라, 포털사이트 서버(200)는 클라이언트(10)에게 인증 요청 성공 통지를 전송한다(S509).
도 6은 본 발명에 따른 포털사이트 중계 서버(100)를 통하여 각 포털사이트에서 탈퇴하는 방법을 나타내는 시퀀스의 제1 실시예를 도시한 도면이다.
클라이언트(10)가 포털사이트 서버(200)에게 탈퇴요청을 보내면(S601) 포털사이트 서버(200)는 클라이언트(10)에게 탈퇴요청 화면을 보여준다(S602). 사용자는 인증요청화면에서 포털사이트 중계 서버(100)의 submit 버튼을 누른다(S603). 이후 매번 사용자 난수(한개 이상의 난수들)를 발생하여 이를 해쉬화하고, 해쉬화에 의해 생성된 데이터, 즉 사용자 난수해쉬를 signature화 하여 저장한다(S604). 즉, 사용자 난수해쉬를 해쉬화한 후 이를 사용자의 포털사이트 등록 시(도 4) 저장한 사용자 private key로 암호화한 후 저장하는 것이다(S604).
이후, 클라이언트(10)에서 제1 signature를 생성하고, 생성된 제1 signature 및 제1 signature 생성용 데이터를 포털사이트 중계 서버(100)로 전송한다. 이에 대하여는 도 2에서 단계 S001 내지 단계 S003을 통하여 설명한 바 있다. 도 2의 '사용자 단말' 역시 도 6에서 수행될 때는 '클라이언트(10)'에 해당한다.
즉, 사용자 태깅숫자#1을 1씩 증가하고(S001), 클라이언트(10)는 제1 signature 생성용 데이터, 즉, 사용자 ID, 사용자 난수해쉬, 및 사용자 태깅숫자#1과, 이로부터 생성된 제1 signature(S002)를 포털사이트 중계 서버(100)로 송신하는 것이다(S003). 도 4의 포털사이트 등록시와는 달리 사용자 public key은 제1 signature 생성용 데이터에 포함되지 않으며, 따라서 포털사이트 중계 서버(100)로 송신되지도 않는다.
이후, 포털사이트 중계 서버(100)는 제1 signature 생성용 데이터 및 제1 signature를 그대로 포털사이트 서버(200)로 송신하고(S605), 포털사이트 서버(200)는 제1 signature를 검증하고(S606), 사용자 태깅숫자#1이 1씩 증가했는지 검증한다(S607).
이후, 포털사이트 서버(200)는 포털사이트 중계 서버로부터 받은 제1 signature 생성용 데이터 중 사용자 난수해쉬를 저장한다(S608).
이후, 클라이언트(10)에서 제2 signature를 생성하고, 포털사이트 서버(200)에서는 제2 signature 및 여러 데이터에 대한 검증이 이루어지는데, 이에 대하여는 도 3에서 단계 S021 내지 단계 S027을 통하여 설명한 바 있다. 도 3의 '사용자 단말' 역시 도 6의 포털사이트 탈퇴과정에서 수행될 때는 '클라이언트(10)'에 해당한다.
즉, 클라이언트(10)는 사용자 태깅숫자#2를 1씩 증가하고(S021) 제2 signature 생성용 데이터, 즉, 사용자 아이디, 사용자 난수해쉬암호화 및 사용자 태깅숫자#2와, 이로부터 생성된 제2 signature(S022)를 포털사이트 서버(200)로 송신하는 것이다(S023).  포털사이트 서버(200)는 제2 signature를 검증하고(S024), 사용자 태깅숫자#2가 1씩 증가했는지 여부를 검증하며(S025), 클라이언트(10)로부터 받은 사용자 난수해쉬암호화를 포털사이트 등록 과정(도 4)의 단계 S411에서 저장한 사용자 public key로 복호화 한다(S026).
또한 포털사이트 중계 서버(100)로부터 받은(S605) 사용자 난수해쉬를 해쉬화한 것을, 상기 제2 signature 생성용 데이터 중 하나로서 수신된(S023) 사용자 난수해쉬암호화를 사용자 public key(포털사이트 등록 과정(도 4)에서 저장됨(S411))로 복호화한(S026) 것과 같은지 검증함으로써(S027), 데이터 검증을 수행한다.
포털사이트 서버(200)는 상기 사용자 난수해쉬를 검증하면 사용자의 포털사이트에서의 탈퇴가 성공했다고 판단하며, 이에 따라, 포털사이트 서버(200)는 사용자 ID를 삭제한 후(S609), 사용자 public key를 삭제하고(S610), 클라이언트(10)에게 탈퇴 요청 성공 통지를 전송한다(S611).
도 7은 본 발명에 따른 포털사이트 중계 서버(100)를 통하여 각 포털사이트에 등록하는 방법을 나타내는 시퀀스의 제2 실시예를 도시한 도면이다.
도 7 내지 도 9의 제2 실시예와 도 4 내지 도 6의 제1 실시예의 구조적 차이점은, 도 4 내지 도 6에서는 사용자 단말(10)의 클라이언트에 의해 포털사이트 중계 서버(100)과의 통신 및 작동이 이루어졌다면, 도 7 내지 도 9에서는 사용자는 그대로 웹을 통해 접속하되, 웹 브라우저 상에서 호출된 '사용자 단말 웹 익스텐션(extension)(11)'(이하, 간단히 '웹 익스텐션(11)'이라 한다)이 중요 기능을 담당한다는 것이다.
클라이언트는 사용자 단말(10)에서 구동되는 일종의 앱(application)인 것이며, 웹 익스텐션(11)이란, 사용자 단말에서 웹 브라우저를 실행시켰을 때, 웹 브라우저와 함께 구동되는 프로그램을 말한다. 이러한 웹 익스텐션(11)은 사용자가 작성한 프로그램으로서, 특정한 웹 브라우저들은, 이와 같은 사용자 프로그램을 웹 브라우저에 올릴 수 있는 기능을 제공하며, 이와 같이 올려진 사용자 프로그램인 웹 익스텐션(11)은, 그 웹 브라우저를 구동시킬 경우, 그 웹 브라우저와 함께 별도의 프로그램으로서 함께 구동되어 사용자가 원하는 기능을 구현하게 된다.
먼저 사용자 단말(10)을 일반 웹 브라우저(Web browser)라고 하고 상기 웹 익스텐션(11)은 웹 브라우저에서 구동된다. 사용자가 포털사이트 서버(200)로 등록 요청을 하면(S701) 포털사이트 서버(200)는 사용자 단말(10)에게 등록요청 화면을 전송한다(S702). 이 등록요청 화면에서 사용자는 사용자 ID를 입력하고 포털사이트 중계 서버(100)의 submit 버튼을 누른다(S703). 이때 사용자 단말(10)에선 포털사이트 서버(200)로 등록 시도 html 요청이 전송된다(S704). 이후, 사용자 단말(10)은 사용자 아이디를 웹 익스텐션(11)에게 보낸다(S705). 사용자 아이디를 웹 익스텐션(11)에게 전송함으로써(S705) 웹 익스텐션(11)은 구동(triggering)된다.
웹 익스텐션(11)은 비대칭 키 1쌍, 즉, '사용자 private key'와 '사용자 public key'를 생성하고, 생성된 사용자 private key와 사용자 public key를 저장한다(S706). 이후 웹 익스텐션(11)은 사용자 단말(10)로부터 받은 사용자 아이디를 저장한다(S707).
웹 익스텐션(11)은 난수를 하나 이상 발생하고 이를 해쉬화(해쉬화에 의해 생성된 데이터를 이하 '사용자 난수해쉬'라 한다) 시킨 뒤 이 사용자 난수해쉬를 signature화 하여 저장한다(S708). 즉, 사용자 난수해쉬를 해쉬화한 후 이를 사용자 private key로 암호화한 후 저장하는 것이다(S708).
이후, 웹 익스텐션(11)이 사용자 태깅숫자#1을 1씩 증가하고, 웹 익스텐션(11)이 제1 signature를 생성하고, 포털사이트 중계 서버(100)에서는 제1 signature 및 여러 데이터에 대한 검증이 이루어지는데, 이에 대하여는 도 2에서 단계 S001 내지 단계 S005를 통하여 설명한 바 있다. 도 2의 '사용자 단말'은 도 7에서 수행될 때는 '웹 익스텐션(11)'에 해당한다.
즉, 웹 익스텐션(11)이 사용자 태깅숫자#1을 1씩 증가하고(S001), 웹 익스텐션(11)은 제1 signature 생성용 데이터, 즉, 사용자 ID, 사용자 난수해쉬, 사용자 태깅숫자#1 및 사용자 public key와, 이로부터 생성된 제1 signature(S002)를 포털사이트 중계 서버(100)로 송신하는 것이다(S003). 포털사이트 중계 서버(100)는 제1 signature를 검증하고(S004), 사용자 태깅숫자#1이 1씩 증가했는지 여부를 검증한다(S005).
이와 같은 검증 후, 포털사이트 중계 서버(100)는 다른 포털사이트들에 대한 사용자의 계정을 한개로 관리하기 위해 사용자 ID를 저장하고(S709), 또한 향후 사용자가 다른 포털사이트에의 등록을 위해 사용자 public key를 저장한다(S709). 즉, 저장한 사용자 public key는 해당 사용자의 다른 포털사이트에 대한 등록과정에서도 제1 signature 검증에 사용할 수 있다.
이후, 포털사이트 중계 서버(100)는 제1 signature 생성용 데이터 및 제1 signature를 그대로 포털사이트 서버(200)로 송신하고(S710), 포털사이트 서버(200)는 제1 signature를 검증하고(S711), 사용자 태깅숫자#1이 1씩 증가했는지 검증한 후(S712), 사용자 public key를 저장한다(S713).
이후, 포털사이트 서버(200)는 포털사이트 중계 서버(100)로부터 받은 제1 signature 생성용 데이터 중 사용자 난수해쉬를 저장한다(S714).
이후, 웹 익스텐션(11)에서 제2 signature를 생성하고, 포털사이트 서버(200)에서는 제2 signature 및 여러 데이터에 대한 검증이 이루어지는데, 이에 대하여는 도 3에서 단계 S021 내지 단계 S027을 통하여 설명한 바 있다. 도 3의 '사용자 단말'은 도 7에서 수행될 때는 '웹 익스텐션(11)'에 해당한다.
즉, 웹 익스텐션(11)은 사용자 태깅숫자#2를 1씩 증가하고(S021) 제2 signature 생성용 데이터, 즉, 사용자 아이디, 사용자 난수해쉬암호화 및 사용자 태깅숫자#2와, 이로부터 생성된 제2 signature(S022)를 포털사이트 서버(200)로 송신하는 것이다(S023).  포털사이트 서버(200)는 제2 signature를 검증하고(S024), 사용자 태깅숫자#2가 1 증가했는지 여부를 검증하며(S025), 익스텐션(11)으로부터 받은 사용자 난수해쉬암호화를 단계 S713에서 저장한 사용자 public key로 복호화 한다(S026).
또한 포털사이트 중계 서버(100)로부터 받은(S710) 사용자 난수해쉬를 해쉬화한 것을, 상기 제2 signature 생성용 데이터 중 하나로서 수신된(S023) 사용자 난수해쉬암호화를 사용자 public key로 복호화한(S026) 것과 같은지 검증함으로써(S027), 데이터 검증을 수행한다.
이와 같은 검증이 완료된 경우 포털사이트 서버(200)는, 사용자의 등록이 성공했다고 판단하여 사용자 ID를 저장하고(S715), 사용자 단말(10)에게 등록 요청 성공 메시지를 송신한다(S716).
도 8은 포털사이트 접속시, 본 발명에 따른 포털사이트 중계 서버(100)를 통하여 인증을 수행하는 방법을 나타내는 시퀀스의 제2 실시예를 도시한 도면이다.
사용자 단말(10)이 포털사이트 서버(200)에게 인증요청을 보내면(S801) 포털사이트 서버(200)는 사용자 단말(10)에게 인증요청화면을 보여준다(S802). 사용자는 인증요청화면에서 포털사이트 중계 서버(100)의 submit 버튼을 누른다(S803). 이후, 사용자 단말(10)은 포털사이트 서버(200)에게 인증시도 html 요청을 보내고(S804), 동시에 웹 익스텐션(11)을 실행(triggering)한다(S805).
웹 익스텐션(11)은 매번 사용자 난수(한개 이상의 난수들)를 발생하여 이를 해쉬화한 후, 해쉬화에 의해 생성된 데이터, 즉 사용자 난수해쉬를 signature화 하여 저장한다(S806). 즉, 사용자 난수해쉬를 해쉬화한 후 이를 사용자의 포털사이트 등록 시(도 7) 저장한 사용자 private key로 암호화한 후 저장하는 것이다(S806).
이후, 웹 익스텐션(11)에서 제1 signature를 생성하고, 포털사이트 중계 서버(100)로 전송되는데, 이에 대하여는 도 2에서 단계 S001 내지 단계 S003을 통하여 설명한 바 있다. 도 2의 '사용자 단말'은 도 8에서 수행될 때는 '웹 익스텐션(11)'에 해당한다.
즉, 웹 익스텐션(11)은 사용자 태깅숫자#1을 1씩 증가하고(S001), 제1 signature 생성용 데이터, 즉, 사용자 ID, 사용자 난수해쉬 및 사용자 태깅숫자#1과, 이로부터 생성된 제1 signature(S002)를 포털사이트 중계 서버(100)로 송신하는 것이다(S003). 도 7의 포털사이트 등록시와는 달리 사용자 public key는 제1 signature 생성용 데이터에 포함되지 않으며, 따라서 포털사이트 중계 서버(100)로 송신되지도 않는다.
이후, 포털사이트 중계 서버(100)는 제1 signature 생성용 데이터 및 제1 signature를 그대로 포털사이트 서버(200)로 송신하고(S807), 포털사이트 서버(200)는 제1 signature를 검증하고(S808), 사용자 태깅숫자#1이 1씩 증가했는지 검증한다(S809).
이후, 포털사이트 서버(200)는 포털사이트 중계 서버(100)로부터 받은 제1 signature 생성용 데이터 중 사용자 난수해쉬를 저장한다(S810).
이후, 웹 익스텐션(11)이 제2 signature를 생성하고, 포털사이트 서버(200)에서는 제2 signature 및 여러 데이터에 대한 검증이 이루어지는데, 이에 대하여는 도 3에서 단계 S021 내지 단계 S027을 통하여 설명한 바 있다. 도 3의 '사용자 단말' 역시 도 8에서 수행될 때는 '웹 익스텐션(11)'에 해당한다.
즉, 웹 익스텐션(11)은 사용자 태깅숫자#2를 1씩 증가하고(S021), 웹 익스텐션(11)은 제2 signature 생성용 데이터, 즉, 사용자 아이디, 사용자 난수해쉬암호화 및 사용자 태깅숫자#2와, 이로부터 생성된 제2 signature(S022)를 포털사이트 서버(200)로 송신하는 것이다(S023). 포털사이트 서버(200)는 제2 signature를 검증하고(S024), 사용자 태깅숫자#2가 1 증가했는지 여부를 검증하며(S025), 익스텐션(11)으로부터 받은 사용자 난수해쉬암호화를 포털사이트 등록 과정(도 7)의 단계 S713에서 저장한 사용자 public key로 복호화 한다(S026).
또한 포털사이트 중계 서버(100)로부터 받은(S807) 사용자 난수해쉬를 해쉬화한 것을, 상기 제2 signature 생성용 데이터 중 하나로서 수신된(S023) 사용자 난수해쉬암호화를 사용자 public key(포털사이트 등록 과정(도 7)에서 저장됨(S713))로 복호화한(S026) 것과 같은지 검증함으로써(S027), 데이터 검증을 수행한다.
포털사이트 서버(200)는 상기 사용자 난수해쉬와 포털사이트 난수해쉬를 검증하면 사용자의 인증이 성공했다고 판단하며, 이에 따라, 포털사이트 서버(200)는 사용자 단말(10)에게 인증 요청 성공 통지를 전송한다(S811).
도 9는 본 발명에 따른 포털사이트 중계 서버(100)를 통하여 각 포털사이트에서 탈퇴하는 방법을 나타내는 시퀀스의 제2 실시예를 도시한 도면이다.
사용자 단말(10)이 포털사이트 서버(200)에게 탈퇴요청을 보내면(S901) 포털사이트 서버(200)는 사용자 단말(10)에게 탈퇴요청화면을 보여준다(S902). 사용자는 탈퇴요청화면에서 포털사이트 중계 서버(100)의 submit 버튼을 누른다(S903). 이후, 사용자 단말(10)은 포털사이트 서버(200)에게 탈퇴시도 html 요청을 보내고(S904), 동시에 웹 익스텐션(11)을 구동(triggering)한다(S905).
웹 익스텐션(11)은, 매번 사용자 난수(한 개 이상의 난수들)를 발생하여 이를 해쉬화한 후, 해쉬화에 의해 생성된 데이터, 즉 사용자 난수해쉬를 signature화 하여 저장한다(S906). 즉, 사용자 난수해쉬를 해쉬화한 후 이를 사용자의 포털사이트 등록 시(도 7) 저장한 사용자 private key로 암호화한 후 저장하는 것이다(S906).
이후, 웹 익스텐션(11)에서 제1 signature를 생성하고, 포털사이트 중계 서버(100)로 전송되는데, 이에 대하여는 도 2에서 단계 S001 내지 단계 S003을 통하여 설명한 바 있다. 도 2의 '사용자 단말'은 도 9에서 수행될 때는 '웹 익스텐션(11)'에 해당한다.
즉, 웹 익스텐션(11)은 사용자 태깅숫자#1을 1씩 증가하고(S001), 제1 signature 생성용 데이터, 즉, 사용자 ID, 사용자 난수해쉬 및 사용자 태깅숫자#1과, 이로부터 생성된 제1 signature(S002)를 포털사이트 중계 서버(100)로 송신하는 것이다(S003). 도 7의 포털사이트 등록시와는 달리 사용자 public key는 제1 signature 생성용 데이터에 포함되지 않으며, 따라서 포털사이트 중계 서버(100)로 송신되지도 않는다.
이후, 포털사이트 중계 서버(100)는 제1 signature 생성용 데이터 및 제1 signature를 그대로 포털사이트 서버(200)로 송신하고(S907), 포털사이트 서버(200)는 제1 signature를 검증하고(S908), 사용자 태깅숫자#1이 1씩 증가했는지 검증한다(S909).
이후, 포털사이트 서버(200)는 포털사이트 중계 서버(100)로부터 받은 제1 signature 생성용 데이터 중 사용자 난수해쉬를 저장한다(S910).
이후, 웹 익스텐션(11)이 제2 signature를 생성하고, 포털사이트 서버(200)에서는 제2 signature 및 여러 데이터에 대한 검증이 이루어지는데, 이에 대하여는 도 3에서 단계 S021 내지 단계 S027을 통하여 설명한 바 있다. 도 3의 '사용자 단말' 역시 도 9에서 수행될 때는 '웹 익스텐션(11)'에 해당한다.
즉, 웹 익스텐션(11)은 사용자 태깅숫자#2를 1씩 증가하고(S021), 웹 익스텐션(11)은 제2 signature 생성용 데이터, 즉, 사용자 아이디, 사용자 난수해쉬암호화 및 사용자 태깅숫자#2와, 이로부터 생성된 제2 signature(S022)를 포털사이트 서버(200)로 송신하는 것이다(S023). 포털사이트 서버(200)는 제2 signature를 검증하고(S024), 사용자 태깅숫자#2가 1 증가했는지 여부를 검증하며(S025), 익스텐션(11)으로부터 받은 사용자 난수해쉬암호화를 포털사이트 등록 과정(도 7)의 단계 S713에서 저장한 사용자 public key로 복호화 한다(S026).
또한 포털사이트 중계 서버(100)로부터 받은(S907) 사용자 난수해쉬를 해쉬화한 것을, 상기 제2 signature 생성용 데이터 중 하나로서 수신된(S023) 사용자 난수해쉬암호화를 사용자 public key(포털사이트 등록 과정(도 7)에서 저장됨(S713))로 복호화한(S026) 것과 같은지 검증함으로써(S027), 데이터 검증을 수행한다.
이후, 포털사이트 서버(200)는 사용자 ID를 삭제한 후(S911), 사용자 public key를 삭제하고(S912) 사용자 단말(10)에게 탈퇴 요청 성공 통지를 전송한다(S913).
도 10은 본 발명에 따른 포털사이트 중계 서버(100)의 구성을 나타내는 도면이다.
도 1 내지 도 9를 참조하여 포털사이트 중계 서버(100)를 통한, 사용자의 포털사이트에의 등록 및 탈퇴과정 및 포털사이트 로그인시의 인증 수행에 대하여 상세히 설명한 바 있으므로, 이하에서는 그와 같은 기능을 수행하는 포털사이트 중계 서버(100)의 각 모듈의 기능을 중심으로 간략히 정리하여 설명하기로 한다.
제어부(101)는 포털사이트 중계 서버(100)의 이하 각 모듈을 제어하여 포털사이트 중계 서비스 제공과 관련한 일련의 과정을 수행한다.
인증부(102)는 사용자의 포털사이트 등록을 수행하는 경우, 사용자 단말 클라이언트, 또는 해당 브라우저의 익스텐션(extension)(이하 총칭하여 '사용자 단말'이라 한다)의 signature(이하 '제1 signature'라 한다)를 검증하는 역할을 수행한다.
즉, 인증부(102)는 사용자 송수신부(103)가 사용자 단말로부터 수신한 제1 signature 및, 상기 제1 signature를 생성하기 위한 제1 signature 생성용 데이터로부터 제1 signature를 검증하는데, 그 방법은 수신한 제1 signature 생성용 데이터를 해쉬화하고, 이와 같이 해쉬화한 데이터가, 함께 수신한 제1 signature를 사용자 public key로 복호화하여 이로부터 나온 해쉬와 같은지를 검증함으로써 이루어진다.
제1 signature 생성용 데이터에는 사용자 아이디, 사용자 난수해쉬 및 사용자 태깅숫자#1이 포함되며, 포털사이트 등록 과정에서는, 이와 같은 제1 signature 생성용 데이터에, 사용자 public key가 더 포함된다.
또한 인증부(102)는 포털사이트에의 등록, 탈퇴 또는 포털사이트 로그인시의 인증을 수행하는 경우, 사용자 송수신부(103)가 사용자 단말로부터 수신한 제1 signature 및 제1 signature 생성용 데이터를, 포털사이트 서버 송수신부(104)를 통하여 포털사이트 서버(200)로 전달하는 기능을 수행한다.
또한 인증부(102)는, 사용자의 포털사이트 등록 과정에서는, 포털사이트 중계 서버(100)는 수신한 사용자 태깅숫자#1이 1씩 증가했는지 검증한다
또한 인증부(102)는 사용자의 포털사이트 등록을 수행하는 경우, 사용자 아이디를 데이터 저장부(105)에 저장하고, 또한 사용자 단말로부터 수신한 비대칭키, 즉 사용자 public key를 수신하여 데이터 저장부(105)에 저장한다.
사용자 송수신부(103)는 사용자의 포털사이트에의 등록, 탈퇴 또는 포털사이트 로그인시의 인증을 수행하는 경우, 사용자 단말과 패킷(packet)을 송수신한다.
포털사이트 서버 송수신부(104)는 등록, 탈퇴 또는 포털사이트 접속시의 인증을 수행하는 경우, 포털사이트 서버와 패킷을 송수신한다.
데이터 저장부(105)는 signature 검증을 위한 비대칭키를 저장한다.
10: 사용자 단말 또는 사용자 단말 클라이언트
11: 사용자 단말의 익스텐션(extension)
100: 포털사이트 중계 서버
200: 포털사이트 서버

Claims (37)

  1. 포털사이트 중계 서버가, 사용자의 포털사이트 등록을 수행하는 방법으로서,
    (a) 포털사이트에 등록 요청한 사용자의 단말(이하 '사용자 단말'이라 한다)로부터, 사용자 아이디를 포함하는 데이터(이하 '제1 signature 생성용 데이터'라 한다)와, 상기 제1 signature 생성용 데이터를 signature화 하여 생성된 데이터(이하 '제i signature'라 한다)를 수신하는 단계;
    (b) 상기 제1 signature의 무결성을 검증하는 단계;
    (c) 사용자 아이디를 저장하는 단계; 및
    (d) 상기 제1 signature 생성용 데이터 및 상기 제1 signature를 포털사이트 서버로 전송하는 단계
    를 포함하는, 포털사이트 중계 서버의 포털사이트 등록, 인증 또는 탈퇴 수행 방법.
  2. 청구항 1에 있어서,
    사용자 단말로부터 단계(a)에서 받은 상기 제1 signature 생성용 데이터에는, 상기 제1 signature를 복호화하기 위한 사용자 public key를 더 포함하고,
    상기 단계(b)의 상기 제1 signature의 무결성 검증은,
    상기 signature를 상기 사용자 public key로 복호화하여 나온 해쉬가, 상기 signature 생성용 데이터를 해쉬화한 것과 같은지를 검증함으로써 이루어지는 것
    을 특징으로 하는, 포털사이트 중계 서버의 포털사이트 등록 수행 방법.
  3. 청구항 2에 있어서,
    상기 단계(b)와 상기 단계(d) 사이에,
    (b1) 상기 수신한 사용자 public key를 저장하는 단계
    를 더 포함하는 것을 특징으로 하는, 포털사이트 중계 서버의 포털사이트 등록 수행 방법.
  4. 청구항 1에 있어서,
    상기 제1 signature 생성용 데이터에는,
    상기 사용자 단말에서 발생한 난수를 해쉬화한 데이터(이하 '사용자 난수해쉬'라 한다)를 더 포함하는 것
    을 특징으로 하는, 포털사이트 중계 서버의 포털사이트 등록 수행 방법.
  5. 청구항 1에 있어서,
    상기 제1 signature 생성용 데이터에는,
    상기 사용자 단말이 상기 단계(a)의 데이터를 상기 포털사이트 중계 서버로 송신 전, 기존의 값을 1씩 증가시킨 사용자 태깅(tagging)숫자#1을 더 포함하고,
    상기 단계(b)와 상기 단계(c) 사이에,
    (b2) 상기 수신한 태깅숫자#1이 기존의 값보다 1이 증가되었는지를 검증하는 단계
    를 더 포함하는 것을 특징으로 하는, 포털사이트 중계 서버의 포털사이트 등록 수행 방법.
  6. 포털사이트 중계 서버가, 사용자의 포털사이트 로그인시 인증 또는 포털사이트로부터의 탈퇴를 수행하는 방법으로서,
    (a) 포털사이트에 등록 요청한 사용자의 단말(이하 '사용자 단말'이라 한다)로부터, 사용자 아이디를 포함하는 데이터(이하 '제1 signature 생성용 데이터'라 한다)와, 상기 제1 signature 생성용 데이터를 signature화 하여 생성된 데이터(이하 '제1 signature'라 한다)를 수신하는 단계; 및
    (b) 상기 제1 signature 생성용 데이터 및 상기 제1 signature를 포털사이트 서버로 전송하는 단계
    를 포함하는, 포털사이트 중계 서버의 포털사이트 등록, 인증 또는 탈퇴 수행 방법.
  7. 청구항 6에 있어서,
    상기 제1 signature 생성용 데이터에는,
    상기 사용자 단말에서 발생한 난수를 해쉬화한 데이터(이하 '사용자 난수해쉬'라 한다)를 더 포함하는 것
    을 특징으로 하는, 포털사이트 중계 서버의 포털사이트 인증 또는 탈퇴 수행 방법.
  8. 청구항 6에 있어서,
    상기 signature 생성용 데이터에는,
    상기 사용자 단말이 상기 단계(a)의 데이터를 상기 포털사이트 중계 서버로 송신 전, 기존의 값을 1씩 증가시킨 사용자 태깅(tagging)숫자#1을 더 포함하는 것
    을 특징으로 하는, 포털사이트 중계 서버의 포털사이트 인증 또는 탈퇴 수행 방법.
  9. 비일시적 저장 매체에 저장되며, 프로세서에 의하여 실행되어, 포털사이트 중계 서버를 통하여 포털사이트에 등록하기 위한 방법을 수행하는 어플리케이션 프로그램으로서,
    (a) 사용자의 입력에 따라 포털사이트 서버에 등록 요청을 송신하는 단계;
    (b) 상기 포털사이트 서버로부터 등록 요청 화면을 수신하는 단계;
    (c) 사용자로부터 사용자 ID를 입력받은 후 포털사이트 중계 서버의 submit을 누름으로써 포털사이트 중계 서버로 연결되는 단계;
    (d) 상기 사용자 ID를 저장하는 단계;
    (e) 상기 사용자 아이디를 포함하는 데이터(이하 '제1 signature 생성용 데이터'라 한다)를 signature화 하여, 포털사이트 중계 서버로 송신할 데이터(이하 '제1 signature'라 한다)를 생성하는 단계;
    (f) 상기 제1 signature 및, 상기 제1 signature 생성용 데이터를 포털사이트 중계 서버로 송신하는 단계;
    (g) 상기 사용자 아이디를 포함하는 데이터(이하 '제2 signature 생성용 데이터'라 한다)를 signature화 하여, 포털사이트 서버로 송신할 데이터(이하 '제2 signature'라 한다)를 생성하는 단계;
    (h) 상기 제2 signature 및, 상기 제2 signature 생성용 데이터를 포털사이트 서버로 송신하는 단계; 및
    (i) 상기 포털사이트 서버로부터 등록 요청 성공 통지를 수신하는 단계
    를 포함하는 방법을 실행시키기 위하여 비일시적 매체에 저장된 애플리케이션 프로그램.
  10. 청구항 9에 있어서,
    상기 단계(e) 이전에,
    (e01) 상기 제1 signature를 생성하거나, 상기 제2 signature를 생성할 때, 그 signature화 하는데 사용되는 사용자 private key 및, 상기 포털사이트 중계 서버 또는 상기 포털사이트 서버가 상기 제1 signature 또는 상기 제2 signature를 복호화하는데 사용할 사용자 public key를 생성하고, 상기 사용자 public key 및 상기 사용자 private key를 저장하는 단계
    를 더 포함하고,
    상기 제1 signature 생성용 데이터에는,
    상기 사용자 public key가 더 포함되며,
    상기 단계(e) 및 상기 단계(g)에서 signature화는,
    상기 제1 및 제2 signature 생성용 데이터를 각각 해쉬화한 후, 각각 상기 사용자 private key로써 암호화하는 방식으로 이루어지는 것
    을 특징으로 하는, 비일시적 매체에 저장된 애플리케이션 프로그램.
  11. 청구항 10에 있어서,
    상기 단계(e) 이전에,
    (e021) 난수를 하나 이상 발생하고 이를 해쉬화(해쉬화에 의해 생성된 데이터를 이하 '사용자 난수해쉬'라 한다)하는 단계; 및
    (e022) 상기 사용자 난수해쉬를, 해쉬화한 후 상기 사용자 private key로 암호화, 즉 signature화 하고(이에 의해 생성된 데이터를 이하 '사용자 난수해쉬암호화'라 한다) 상기 사용자 난수해쉬암호화를 저장하는 단계
    를 더 포함하고,
    상기 제1 signature 생성용 데이터에는,
    상기 사용자 난수해쉬를 더 포함하는 것
    을 더 포함하는 것을 특징으로 하는, 비일시적 매체에 저장된 애플리케이션 프로그램.
  12. 청구항 9에 있어서,
    상기 제1 signature 생성용 데이터에는,
    상기 사용자 단말이 상기 단계(e)에서 제1 signature를 생성하기 전에 기존의 값을 1 증가시킨 사용자 태깅(tagging)숫자#1
    을 더 포함하는 것을 특징으로 하는, 비일시적 매체에 저장된 애플리케이션 프로그램.
  13. 청구항 11에 있어서,
    상기 제2 signature 생성용 데이터에는,
    상기 사용자 난수해쉬암호화
    를 더 포함하는 것을 특징으로 하는, 비일시적 매체에 저장된 애플리케이션 프로그램.
  14. 청구항 9에 있어서,
    상기 제2 signature 생성용 데이터에는,
    상기 사용자 단말이 상기 단계(g)에서 제2 signature 생성하기 전에 기존의 값을 1 증가시킨 사용자 태깅(tagging)숫자#2
    를 더 포함하는 것을 특징으로 하는, 비일시적 매체에 저장된 애플리케이션 프로그램.
  15. 비일시적 저장 매체에 저장되며, 프로세서에 의하여 실행되어, 포털사이트 중계 서버를 통하여 포털사이트에 접속하여 사용자의 인증 또는 사용자의 포털사이트로부터의 탈퇴를 수행하는 어플리케이션 프로그램으로서,
    (a) 사용자의 입력에 따라 포털사이트 서버에 인증 또는 탈퇴 요청을 송신하는 단계;
    (b) 상기 포털사이트 서버로부터 인증 또는 탈퇴 요청 화면을 수신하는 단계;
    (c) 사용자가 포털사이트 중계 서버의 submit을 누름으로써 포털사이트 중계 서버로 연결되는 단계;
    (d) 사용자의 포털사이트 등록 과정에서 사용자 단말에 이미 저장되어 있는 사용자 아이디를 포함하는 데이터(이하 '제1 signature 생성용 데이터'라 한다)를 signature화 하여, 포털사이트 중계 서버로 송신할 데이터(이하 '제1 signature'라 한다)를 생성하는 단계;
    (e) 상기 제1 signature 및, 상기 제1 signature 생성용 데이터를 포털사이트 중계 서버로 송신하는 단계;
    (f) 상기 사용자 아이디를 포함하는 데이터(이하 '제2 signature 생성용 데이터'라 한다)를 signature화 하여, 포털사이트 서버로 송신할 데이터(이하 '제2 signature'라 한다)를 생성하는 단계;
    (g) 상기 제2 signature 및, 상기 제2 signature 생성용 데이터를 포털사이트 서버로 송신하는 단계; 및
    (h) 상기 포털사이트 서버로부터 인증 요청 성공 통지 또는 탈퇴 요청 성공 통지를 수신하는 단계
    를 포함하는 방법을 실행시키기 위하여 비일시적 매체에 저장된 애플리케이션 프로그램.
  16. 청구항 15에 있어서,
    상기 단계(d) 이전에,
    (d011) 난수를 하나 이상 발생하고 이를 해쉬화(해쉬화에 의해 생성된 데이터를 이하 '사용자 난수해쉬'라 한다)하는 단계; 및
    (d012) 상기 사용자 난수해쉬를, 해쉬화한 후 사용자의 포털사이트 등록 과정에서 사용자 단말에 이미 저장되어 있는 사용자 private key로 암호화, 즉 signature화 하는 단계(이와 같이 signature화 된 데이터를 이하 '사용자 난수해쉬암호화'라 한다)
    를 더 포함하고,
    상기 제1 signature 생성용 데이터에는,
    상기 사용자 난수해쉬를 더 포함하는 것
    을 특징으로 하는, 비일시적 매체에 저장된 애플리케이션 프로그램.
  17. 청구항 15에 있어서,
    상기 단계(d) 또는 상기 단계(f)에서 signature화는,
    상기 제1 signature 생성용 데이터 또는 상기 제2 signature 생성용 데이터를 해쉬화한 후 사용자의 포털사이트 등록 과정에서 사용자 단말에 이미 저장되어 있는 사용자 private key를 사용하여 암호화하는 방식으로 이루어지는 것
    을 특징으로 하는, 비일시적 매체에 저장된 애플리케이션 프로그램.
  18. 청구항 15에 있어서,
    상기 제1 signature 생성용 데이터에는,
    상기 사용자 단말이 상기 단계(d)에서 제1 signature를 생성하기 전에 기존의 값을 1 증가시킨 사용자 태깅(tagging)숫자#1
    을 더 포함하는 것을 특징으로 하는, 비일시적 매체에 저장된 애플리케이션 프로그램.
  19. 청구항 16에 있어서,
    상기 제2 signature 생성용 데이터에는,
    상기 사용자 난수해쉬암호화
    를 더 포함하는 것을 특징으로 하는, 비일시적 매체에 저장된 애플리케이션 프로그램.
  20. 청구항 15에 있어서,
    상기 제2 signature 생성용 데이터에는,
    상기 사용자 단말이 상기 단계(f)에서 제2 signature를 생성하기 전에 기존의 값을 1씩 증가시킨 사용자 태깅(tagging)숫자#2
    를 더 포함하는 것을 특징으로 하는, 비일시적 매체에 저장된 애플리케이션 프로그램.
  21. 포털사이트 서버가, 사용자의 포털사이트 등록을 수행하는 방법으로서,
    (a) 사용자 단말로부터 등록 요청을 수신하는 단계;
    (b) 상기 사용자 단말로 등록 요청 화면을 전송하는 단계;
    (c) 사용자 아이디를 포함하는 데이터(이하 제1 signature 생성용 데이터'라 한다)와, 상기 제1 signature 생성용 데이터를 signature화 하여 생성된 데이터(이하 '제1 signature'라 한다)를 사용자 단말로부터 수신한 포털사이트 중계 서버로부터, 상기 제1 signature 생성용 데이터 및 상기 제1 signature를 수신하는 단계;
    (d) 상기 제1 signature의 무결성을 검증하는 단계;
    (e) 상기 사용자 단말로부터 상기 사용자 아이디를 포함하는 데이터(이하 '제2 signature 생성용 데이터'라 한다)와, 상기 제2 signature 생성용 데이터를 signature화 하여 생성된 데이터(이하 '제2 signature'라 한다)를 수신하는 단계;
    (f) 상기 제2 signature의 무결성을 검증하는 단계;
    (g) 상기 사용자 아이디를 인증데이터로서 저장하는 단계; 및
    (h) 상기 사용자 단말로 등록 요청 성공 통지를 전송하는 단계
    를 포함하는, 포털사이트 서버의 포털사이트 등록 수행 방법.
  22. 청구항 21에 있어서,
    상기 단계(c)에서 상기 포털사이트 중계 서버로부터 받은 제1 signature 생성용 데이터에는, 상기 제1 signature를 복호화하기 위한 사용자 public key를 포함하고, 상기 수신한 사용자 public key는 포털사이트 서버에 저장되며,
    상기 단계(d)의 상기 제1 signature의 무결성 검증은,
    상기 제1 signature를 상기 사용자 public key로 복호화하여 나온 해쉬가, 상기 제1 signature 생성용 데이터를 해쉬화한 것과 같은지를 검증함으로써 이루어지고,
    상기 단계(f)의 상기 제2 signature의 무결성 검증은,
    상기 제2 signature를 상기 사용자 public key로 복호화하여 나온 해쉬가, 상기 제2 signature 생성용 데이터를 해쉬화한 것과 같은지를 검증함으로써 이루어지는 것
    을 특징으로 하는, 포털사이트 서버의 포털사이트 등록 수행 방법.
  23. 청구항 22에 있어서,
    상기 단계(c)에서 상기 포털사이트 중계 서버로부터 수신한 제1 signature 생성용 데이터에는,
    사용자 단말에서 난수를 하나 이상 발생하고 이를 해쉬화하여 생성한 데이터(이하 '사용자 난수해쉬'라 한다)를 더 포함하고,
    상기 단계(d)와 단계(e) 사이에,
    (d1) 상기 단계(c)에서 수신한 사용자 난수해쉬를 저장하는 단계
    를 더 포함하며,
    상기 단계(e)에서 상기 사용자 단말로부터 수신한 상기 제2 signature 생성용 데이터에는,
    사용자 단말에서 난수를 하나 이상 발생하고 이를 해쉬화하여 생성한 데이터(이하 '사용자 난수해쉬'라 한다)를 해쉬화한 후 사용자 private key로 암호화, 즉 사용자 난수해쉬를 signature화 한 데이터인 사용자 난수해쉬암호화
    를 더 포함하며,
    상기 단계(f)와 상기 단계(g) 사이에,
    (f1) 상기 단계(e)에서 수신한 사용자 난수해쉬암호화를 상기 사용자 public key를 사용하여 복호화하는 단계; 및
    (f2) 상기 단계(d1)에서 저장된 사용자 난수해쉬를 해쉬화한 것과, 상기 단계(f1)에서 복호화된 것이 서로 같은지를 비교함으로써, 사용자 난수해쉬를 검증하는 단계
    를 더 포함하는 것을 특징으로 하는, 포털사이트 서버의 포털사이트 등록 수행 방법.
  24. 청구항 21에 있어서,
    상기 제1 signature 생성용 데이터에는,
    상기 사용자 단말이 상기 단계(c)의 제1 signature 생성 전, 기존의 값을 1 증가시킨 사용자 태깅(tagging)숫자#1을 더 포함하고,
    상기 단계(d)와 상기 단계(e) 사이에,
    (d2) 상기 수신한 사용자 태깅숫자#1이 기존의 값보다 1이 증가되었는지를 검증하는 단계
    를 더 포함하는 것을 특징으로 하는, 포털사이트 서버의 포털사이트 등록 수행 방법.
  25. 청구항 21에 있어서,
    상기 제2 signature 생성용 데이터에는,
    상기 사용자 단말이 상기 단계(e)의 제2 signature 생성 전, 기존의 값을 1씩 증가시킨 사용자 태깅숫자#2를 더 포함하고,
    상기 단계(f)와 상기 단계(g) 사이에,
    (f3) 상기 수신한 사용자 태깅숫자#2가 기존의 값보다 1이 증가되었는지를 검증하는 단계
    를 더 포함하는 것을 특징으로 하는, 포털사이트 서버의 포털사이트 등록 수행 방법.
  26. 포털사이트 서버가, 사용자의 포털사이트 접속시의 인증 또는 포털사이트에서의 탈퇴를 수행하는 방법으로서,
    (a) 사용자 단말로부터 포털사이트 접속을 위한 인증 또는 포털사이트로부터의 탈퇴 요청을 수신하는 단계;
    (b) 상기 사용자 단말로 등록 요청 화면 또는 탈퇴 요청 화면을 전송하는 단계;
    (c) 사용자 아이디를 포함하는 데이터(이하 제1 signature 생성용 데이터'라 한다)와, 상기 제1 signature 생성용 데이터를 signature화 하여 생성된 데이터(이하 '제1 signature'라 한다)를 사용자 단말로부터 수신한 포털사이트 중계 서버로부터, 상기 제1 signature 생성용 데이터 및 상기 제1 signature를 수신하는 단계;
    (d) 상기 제1 signature의 무결성을 검증하는 단계;
    (e) 상기 사용자 단말로부터 상기 사용자 아이디를 포함하는 데이터(이하 '제2 signature 생성용 데이터'라 한다)와, 상기 제2 signature 생성용 데이터를 signature화하여 생성된 데이터(이하 '제2 signature'라 한다)를 수신하는 단계;
    (f) 상기 제2 signature의 무결성을 검증하는 단계;
    (g) 포털사이트에서의 탈퇴를 수행 중인 경우, 상기 사용자 아이디를 삭제하는 단계; 및
    (h) 상기 사용자 단말로 인증 요청 성공 통지 또는 탈퇴 요청 성공 통지를 전송하는 단계
    를 포함하는, 포털사이트 서버의 포털사이트 인증 또는 탈퇴 수행 방법.
  27. 청구항 26에 있어서,
    상기 단계(d)의 상기 제1 signature의 무결성 검증은,
    상기 제1 signature를, 포털사이트 등록시 저장한 사용자 public key로 복호화하여 나온 해쉬가, 상기 제1 signature 생성용 데이터를 해쉬화한 것과 같은지를 검증함으로써 이루어지고,
    상기 단계(f)의 상기 제2 signature의 무결성 검증은,
    상기 제2 signature를 상기 사용자 public key로 복호화하여 나온 해쉬가, 상기 제2 signature 생성용 데이터를 해쉬화한 것과 같은지를 검증함으로써 이루어지는 것
    을 특징으로 하는, 포털사이트 서버의 포털사이트 인증 또는 탈퇴 수행 방법.
  28. 청구항 27에 있어서,
    상기 단계(c)에서 상기 포털사이트 중계 서버로부터 수신한 제1 signature 생성용 데이터에는,
    사용자 단말에서 난수를 하나 이상 발생하고 이를 해쉬화하여 생성한 데이터(이하 '사용자 난수해쉬'라 한다)를 더 포함하고,
    상기 단계(d)와 단계(e) 사이에,
    (d1) 상기 단계(c)에서 수신한 사용자 난수해쉬를 저장하는 단계
    를 더 포함하며,
    상기 단계(e)에서 상기 사용자 단말로부터 수신한 상기 제2 signature 생성용 데이터에는,
    사용자 단말에서 난수를 하나 이상 발생하고 이를 해쉬화하여 생성한 데이터(이하 '사용자 난수해쉬'라 한다)를 해쉬화한 후 사용자 private key로 암호화, 즉 사용자 난수해쉬를 signature화 한 데이터인 사용자 난수해쉬암호화
    를 더 포함하며,
    포털사이트 로그인을 위한 인증 수행 중인 경우에는 상기 단계(f)와 상기 단계(h) 사이에, 포털사이트에서의 탈퇴 수행 중인 경우에는 상기 단계(f)와 상기 단계(g) 사이에,
    (f1) 상기 단계(e)에서 수신한 사용자 난수해쉬암호화를 상기 사용자 public key를 사용하여 복호화하는 단계; 및
    (f2) 상기 단계(d1)에서 저장된 사용자 난수해쉬를 해쉬화한 것과, 상기 단계(f1)에서 복호화된 것이 같은지를 비교함으로써, 사용자 난수해쉬를 검증하는 단계
    를 더 포함하는 것을 특징으로 하는, 포털사이트 서버의 포털사이트 인증 또는 탈퇴 수행 방법.
  29. 청구항 26에 있어서,
    상기 제1 signature 생성용 데이터에는,
    상기 사용자 단말이 상기 단계(c)의 제1 signature 생성 전, 기존의 값을 1 증가시킨 사용자 태깅(tagging)숫자#1을 더 포함하고,
    상기 단계(d)와 상기 단계(e) 사이에,
    (d2) 상기 수신한 사용자 태깅숫자#1이 기존의 값보다 1이 증가되었는지를 검증하는 단계
    를 더 포함하는 것을 특징으로 하는, 포털사이트 서버의 포털사이트 인증 또는 탈퇴 수행 방법.
  30. 청구항 26에 있어서,
    상기 제2 signature 생성용 데이터에는,
    상기 사용자 단말이 상기 단계(e)의 제2 signature 생성 전, 기존의 값을 1 증가시킨 사용자 태깅숫자#2를 더 포함하고,
    포털사이트 로그인을 위한 인증 수행 중인 경우에는 상기 단계(f)와 상기 단계(h) 사이에, 포털사이트에서의 탈퇴 수행 중인 경우에는 상기 단계(f)와 상기 단계(g) 사이에,
    (f3) 상기 수신한 사용자 태깅숫자#2가 기존의 값보다 1이 증가되었는지를 검증하는 단계
    를 더 포함하는 것을 특징으로 하는, 포털사이트 서버의 포털사이트 등록 수행 방법.
  31. 청구항 27에 있어서,
    포털사이트에서의 탈퇴를 수행 중인 경우, 상기 단계(f)와 단계(h) 사이에,
    (g1) 상기 사용자 public key를 삭제하는 단계
    를 더 포함하는 것을 특징으로 하는, 포털사이트 서버의 포털사이트 등록 수행 방법.
  32. 포털사이트 중계 서버로서,
    사용자의 포털사이트 등록 또는 포털사이트 로그인시의 인증 또는 포털사이트에서의 탈퇴를 수행하는 경우, 사용자 단말 또는 사용자 브라우저 또는 해당 브라우저의 익스텐션(extension)(이하 총칭하여 '사용자 단말'이라 한다)과 패킷(packet)을 송수신하는 사용자 송수신부;
    사용자의 포털사이트 등록 또는 포털사이트 로그인시의 인증 또는 포털사이트에서의 탈퇴를 수행하는 경우, 포털사이트 서버와 패킷을 송수신하는 포털사이트 서버 송수신부;
    상기 사용자 송수신부가 사용자 단말로부터 수신한, 사용자 아이디를 포함하는 signature 생성에 사용되는 데이터(이하 '제1 signature 생성용 데이터'라 한다) 및, 제1 signature 생성용 데이터를 signature화 하여 생성된 데이터(이하 '제1 signature'라 한다)를, 포털사이트 서버 송수신부를 통하여 포털사이트 서버로 전달하는 인증부;
    포털사이트 등록시 사용자 아이디를 저장하는 데이터 저장부; 및
    포털사이트 중계 서버의 상기 각 모듈을 제어하여 포털사이트 중계 서비스 제공과 관련한 일련의 과정을 수행하는 제어부
    를 포함하는 포털사이트 중계 서버.
  33. 청구항 32에 있어서,
    상기 인증부는,
    사용자의 포털사이트 등록을 수행하는 경우, 상기 제1 signature를 검증하는 역할을 수행하는 기능
    을 더 포함하는 것을 특징으로 하는 포털사이트 중계 서버.
  34. 청구항 33에 있어서,
    상기 제1 signature의 검증은,
    상기 수신한 제1 signature 생성용 데이터를 해쉬화하고, 이와 같이 해쉬화한 데이터와, 함께 수신한 제1 signature를 사용자 public key로 복호화하여 이로부터 나온 해쉬와 비교하여, 같은지를 검증함으로써 이루어지는 것
    을 특징으로 하는 포털사이트 중계 서버.
  35. 청구항 32에 있어서,
    상기 제1 signature 생성용 데이터에는,
    상기 사용자 단말에서 발생한 난수를 해쉬화한 데이터(이하 '사용자 난수해쉬'라 한다)를 더 포함하는 것
    을 특징으로 하는 포털사이트 중계 서버.
  36. 청구항 32에 있어서,
    상기 제1 signature 생성용 데이터에는,
    사용자 태깅숫자#1이 더 포함되고,
    상기 인증부는,
    사용자의 포털사이트 등록 과정에서, 수신한 사용자 태깅숫자#1이 1씩 증가했는지 검증하는 기능
    을 더 포함하는 것을 특징으로 하는 포털사이트 중계 서버.
  37. 청구항 32에 있어서,
    사용자의 포털사이트 등록 과정에서, 상기 제1 signature 생성용 데이터에는,
    사용자 단말에서 암호화되어 수신되는 데이터를 복호화하기 위한 사용자 public key
    를 더 포함하고,
    상기 인증부는,
    상기 수신한 사용자 public key를 상기 데이터 저장부에 저장하는 기능
    을 더 포함하는 것을 특징으로 하는 포털사이트 중계 서버.


KR1020170164408A 2017-12-01 2017-12-01 포털사이트 중계 서비스 제공방법 및 그 시스템 KR102037291B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170164408A KR102037291B1 (ko) 2017-12-01 2017-12-01 포털사이트 중계 서비스 제공방법 및 그 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170164408A KR102037291B1 (ko) 2017-12-01 2017-12-01 포털사이트 중계 서비스 제공방법 및 그 시스템

Publications (2)

Publication Number Publication Date
KR20190065007A true KR20190065007A (ko) 2019-06-11
KR102037291B1 KR102037291B1 (ko) 2019-11-26

Family

ID=66847009

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170164408A KR102037291B1 (ko) 2017-12-01 2017-12-01 포털사이트 중계 서비스 제공방법 및 그 시스템

Country Status (1)

Country Link
KR (1) KR102037291B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110661783A (zh) * 2019-08-28 2020-01-07 视联动力信息技术股份有限公司 一种终端的注册方法、装置和存储介质
KR20230017998A (ko) * 2021-07-29 2023-02-07 이현수 포털사이트 중계 서비스 제공 시스템 및 그 방법

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024144174A1 (ko) * 2022-12-28 2024-07-04 (주)이스톰 사용자의 모바일 기기를 이용한 계정 정보 관리 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120067105A (ko) * 2010-12-15 2012-06-25 김지웅 본인확인이 가능한 소셜 인증 로그인 시스템 및 그 제공방법
KR20150137518A (ko) 2014-05-30 2015-12-09 주식회사 디케이아이테크놀로지 하이브리드 클라우드기반 ict서비스시스템 및 그 방법
KR20170026765A (ko) * 2015-08-27 2017-03-09 고려대학교 산학협력단 자체 인증 서명을 기반으로 하는 공공 감사 방법 및 시스템
KR20170127330A (ko) * 2016-05-11 2017-11-21 (주)케이스마텍 신뢰된 실행 환경 기반의 유무선단말을 이용한 사용자 간편 인증방법 및 시스템

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120067105A (ko) * 2010-12-15 2012-06-25 김지웅 본인확인이 가능한 소셜 인증 로그인 시스템 및 그 제공방법
KR20150137518A (ko) 2014-05-30 2015-12-09 주식회사 디케이아이테크놀로지 하이브리드 클라우드기반 ict서비스시스템 및 그 방법
KR20170026765A (ko) * 2015-08-27 2017-03-09 고려대학교 산학협력단 자체 인증 서명을 기반으로 하는 공공 감사 방법 및 시스템
KR20170127330A (ko) * 2016-05-11 2017-11-21 (주)케이스마텍 신뢰된 실행 환경 기반의 유무선단말을 이용한 사용자 간편 인증방법 및 시스템

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Handbook of Applied Cryptography_Chapter10(5판, 2001년8월) 1부.* *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110661783A (zh) * 2019-08-28 2020-01-07 视联动力信息技术股份有限公司 一种终端的注册方法、装置和存储介质
CN110661783B (zh) * 2019-08-28 2022-04-26 视联动力信息技术股份有限公司 一种终端的注册方法、装置和存储介质
KR20230017998A (ko) * 2021-07-29 2023-02-07 이현수 포털사이트 중계 서비스 제공 시스템 및 그 방법

Also Published As

Publication number Publication date
KR102037291B1 (ko) 2019-11-26

Similar Documents

Publication Publication Date Title
CN108235806B (zh) 安全访问区块链的方法、装置、***、存储介质及电子设备
US11134071B2 (en) Data exchange during multi factor authentication
EP3219049B1 (en) Account recovery protocol
US10027670B2 (en) Distributed authentication
WO2018214133A1 (zh) 基于区块链的fido认证方法、装置及***
KR101708587B1 (ko) 양방향 권한 부여 시스템, 클라이언트 및 방법
US10931464B2 (en) Communication system, hardware security module, terminal device, communication method, and program
CN104270338A (zh) 一种电子身份注册及认证登录的方法及其***
US10291567B2 (en) System and method for resetting passwords on electronic devices
US10250576B2 (en) Communication of messages over networks
US20140215587A1 (en) Remote keychain for mobile devices
JP6667371B2 (ja) 通信システム、通信装置、通信方法、及びプログラム
CN106464493B (zh) 包含一次性通行码的持久性认证***
EP3556070B1 (en) Use of personal device for convenient and secure authentication
MX2012011105A (es) Autoridad de certificado.
KR20210095093A (ko) 탈중앙화 아이디 앱을 이용하여 인증 서비스를 제공하는 방법 및 이를 이용한 탈중앙화 아이디 인증 서버
US20120311331A1 (en) Logon verification apparatus, system and method for performing logon verification
US11888822B1 (en) Secure communications to multiple devices and multiple parties using physical and virtual key storage
KR102037291B1 (ko) 포털사이트 중계 서비스 제공방법 및 그 시스템
CN113411187A (zh) 身份认证方法和***、存储介质及处理器
CN111563734A (zh) 一种数字资产转移方法、装置及电子设备和存储介质
CN116527279A (zh) 工控网络中安全数据聚合的可验证联邦学习装置及方法
RU2698424C1 (ru) Способ управления авторизацией
KR20190061420A (ko) 포털사이트 중계 서비스 제공방법 및 그 서버
CN115795446A (zh) 在可信计算平台中处理数据的方法及管理装置

Legal Events

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