KR20190101464A - 파라미터들을 통한 인증 정보 전달 - Google Patents

파라미터들을 통한 인증 정보 전달 Download PDF

Info

Publication number
KR20190101464A
KR20190101464A KR1020197023279A KR20197023279A KR20190101464A KR 20190101464 A KR20190101464 A KR 20190101464A KR 1020197023279 A KR1020197023279 A KR 1020197023279A KR 20197023279 A KR20197023279 A KR 20197023279A KR 20190101464 A KR20190101464 A KR 20190101464A
Authority
KR
South Korea
Prior art keywords
application
account
authentication
client device
server
Prior art date
Application number
KR1020197023279A
Other languages
English (en)
Other versions
KR102278660B1 (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 구글 엘엘씨
Publication of KR20190101464A publication Critical patent/KR20190101464A/ko
Application granted granted Critical
Publication of KR102278660B1 publication Critical patent/KR102278660B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0815Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
    • 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
    • G06F21/41User authentication where a single sign-on provides access to a plurality of computers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • H04L67/2842
    • H04L67/42
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords

Landscapes

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

Abstract

파라미터들을 통해 계정 인증 정보를 전달하는 시스템 및 방법. 서버는 제1 어플리케이션을 인증하는데 사용되는 계정 크리덴셜로부터 도출된 계정 파라미터를 링크에 삽입하기 위해 클라이언트 디바이스에 제공할 수 있다. 링크는 제2 어플리케이션을 참조하는 주소를 포함할 수 있다. 계정 파라미터는 링크 상의 인터렉션에 응답하여 제1 어플리케이션으로부터 제2 어플리케이션으로 전달될 수 있다. 서버는 상기 제1 어플리케이션으로부터 상기 제2 어플리케이션으로 상기 계정 파라미터를 전달하는 것에 후속하여, 상기 클라이언트 디바이스의 상기 제2 어플리케이션으로부터, 상기 계정 파라미터를 포함하는 상기 제2 어플리케이션을 인증하기 위한 요청을 수신할 수 있다. 서버는 계정 파라미터를 사용하여 제2 어플리케이션에 대해 클라이언트 디바이스를 인증할 수 있다. 서버는 제2 어플리케이션에 대한 클라이언트 디바이스의 인증에 응답하여 클라이언트 디바이스의 제2 어플리케이션에 인증 표시를 전송할 수 있다.

Description

파라미터들을 통한 인증 정보 전달
관련 출원에 대한 상호 참조
본 출원은 2017년 4월 18일자로 출원된 미국 가출원 제62/486,852호("파라미터들을 통한 인증 정보 전달")에 대해 우선권 및 이익을 주장하며, 그 전체 내용은 본 명세서에 참조로서 통합된다.
어플리케이션에 액세스하기 위해, 클라이언트 디바이스의 사용자는 로그인 정보(예: 계정 식별자 및 암호)를 입력할 수 있다. 클라이언트 디바이스는 다수의 어플리케이션들을 실행할 수 있다. 이러한 다수의 어플리케이션들은 차례로 다수의 사용자들에 의해 사용되는 다수의 계정들과 연관될 수 있다.
적어도 하나의 양태는 파라미터들을 통해 계정 인증 정보를 전달하는 방법에 관한 것이다. 하나 이상의 프로세서들을 가지는 인증 서버는 클라이언트 디바이스에서 실행되는 제1 어플리케이션을 인증하는데 사용되는 계정 크리덴셜로부터 도출된 계정 파라미터를 링크에 삽입하기 위해 클라이언트 디바이스에 제공할 수 있다. 링크는 클라이언트 디바이스에서 실행가능한 제2 어플리케이션을 참조하는 주소를 포함할 수 있다. 계정 파라미터는 링크 상의 인터렉션에 응답하여 제1 어플리케이션으로부터 제2 어플리케이션으로 전달될 수 있다. 인증 서버는 상기 제1 어플리케이션으로부터 상기 제2 어플리케이션으로 상기 계정 파라미터를 전달하는 것에 후속하여, 상기 클라이언트 디바이스의 상기 제2 어플리케이션으로부터, 상기 제2 어플리케이션을 인증하기 위한 요청을 수신할 수 있다. 요청은 계정 파라미터를 포함할 수 있다. 인증 서버는 상기 제1 어플리케이션에 제공되고 상기 링크를 통해 상기 제2 어플리케이션에 전달된 상기 계정 파라미터를 사용하여 상기 제2 어플리케이션에 대해 상기 클라이언트 디바이스를 인증할 수 있다. 인증 서버는 상기 제2 어플리케이션에 대해 상기 클라이언트 디바이스를 인증하는 것에 기초하여, 상기 제2 어플리케이션에 대한 상기 클라이언트 디바이스의 인증의 성공 또는 실패 중 하나를 식별하는 인증 표시를 전송할 수 있다.
일부 구현예에서, 계정 파라미터를 제공하는 단계는 양방향 암호화 알고리즘을 사용하여 계정 크리덴셜로부터 도출된 계정 파라미터를 제공하는 것을 더 포함할 수 있다. 일부 구현예에서, 상기 제2 어플리케이션에 대해 상기 클라이언트 디바이스를 인증하는 단계는 상기 인증 요청에 포함된 상기 계정 파라미터에 상기 양방향 암호화 알고리즘을 적용함으로써 상기 계정 크리덴셜을 복원하는 것을 더 포함할 수 있다.
일부 구현예에서, 계정 파라미터를 제공하는 단계는 단방향 암호화 알고리즘을 사용하여 계정 크리덴셜로부터 도출된 계정 파라미터를 제공하는 것을 더 포함할 수 있다. 일부 구현예에서, 상기 제2 어플리케이션에 대해 상기 클라이언트 디바이스를 인증하는 단계는 상기 단방향 암호화 알고리즘을 사용하여 상기 계정 크리덴셜로부터 별도로 도출된 제2 계정 파라미터가 상기 인증 요청에 포함된 상기 계정 파라미터와 일치한다고 결정하는 것을 더 포함할 수 있다.
일부 구현예에서, 상기 제2 어플리케이션에 대해 상기 클라이언트 디바이스를 인증하는 단계는 상기 인증 요청에 포함된 상기 계정 파라미터가 캐시에 저장된 계정 파라미터와 일치한다고 결정하는 것을 더 포함할 수 있다. 일부 구현예들에서, 상기 계정 파라미터를 제공하는 단계는 상기 링크 상의 인터렉션에 응답하여 상기 제1 어플리케이션으로부터 상기 제2 어플리케이션으로 전달된 상기 계정 파라미터를 상기 링크의 링크 파라미터 및 상기 클라이언트 디바이스에서 실행되는 플랫폼 어플리케이션에 의한 함수 호출 중 적어도 하나를 통해 제공하는 것을 더 포함할 수 있다.
일부 구현예들에서, 상기 인증하기 위한 요청을 수신하는 단계는 상기 제2 어플리케이션과 연관된 어플리케이션 서버를 통해 상기 클라이언트 디바이스의 상기 제2 어플리케이션으로부터 상기 인증하기 위한 요청을 수신하는 것을 더 포함할 수 있다. 일부 구현예들에서, 상기 인증 표시를 전송하는 단계는 상기 제2 어플리케이션과 연관된 상기 어플리케이션 서버를 통해 상기 클라이언트 디바이스의 상기 제2 어플리케이션에 인증 표시를 전송하는 것을 더 포함할 수 있다. 일부 구현예에서, 상기 계정 파라미터를 제공하는 단계는 상기 링크에 포함된 상기 계정 파라미터를 제공하는 것을 더 포함할 수 있다. 상기 링크는 상기 제2 어플리케이션을 참조하는 주소를 포함할 수 있다. 링크 상의 인터렉션은 상기 클라이언트 디바이스로 하여금 제2 어플리케이션을 설치하게 하고, 상기 제2 어플리케이션의 설치에 후속하여 제2 어플리케이션에 계정 파라미터를 전달하게 할 수 있다.
일부 구현예들에서, 상기 인증 서버는 상기 클라이언트 디바이스에서 실행되는 상기 제1 어플리케이션을 인증하는데 사용되는 상기 계정 크리덴셜에 기초하여 상기 계정 파라미터를 생성할 수 있다. 일부 구현예들에서, 상기 계정 파라미터를 제공하는 단계는 상기 계정 파라미터를 생성하는 단계에 응답하여, 상기 계정 파라미터 및 상기 제2 어플리케이션을 참조하는 상기 주소를 포함하는 링크를 제공하는 것을 더 포함한다. 일부 구현예에서, 인증 표시를 전송하는 단계는 인증 크리덴셜들에 대응하는 제2 어플리케이션에 대한 계정 설정을 포함하는 상기 인증 표시를 전송하는 것을 더 포함할 수 있다. 계정 설정들의 수신은 상기 클라이언트 디바이스로 하여금 상기 제2 어플리케이션에 대해 상기 계정 설정들을 적용하게 할 수 있다.
적어도 하나의 양태는 파라미터들을 통해 계정 인증 정보를 전달하는 시스템에 관한 것이다. 시스템은 하나 이상의 프로세서를 갖는 인증 서버에서 실행되는 인증기를 포함할 수 있다. 상기 인증기는 클라이언트 디바이스에서 실행되는 제1 어플리케이션을 인증하는데 사용되는 계정 크리덴셜로부터 도출된 계정 파라미터를 링크에 삽입하기 위해 클라이언트 디바이스에 제공할 수 있다. 링크는 클라이언트 디바이스에서 실행가능한 제2 어플리케이션을 참조하는 주소를 포함할 수 있다. 계정 파라미터는 링크 상의 인터렉션에 응답하여 제1 어플리케이션으로부터 제2 어플리케이션으로 전달될 수 있다. 상기 인증기는 상기 제1 어플리케이션으로부터 상기 제2 어플리케이션으로 상기 계정 파라미터를 전달하는 것에 후속하여, 상기 클라이언트 디바이스의 상기 제2 어플리케이션으로부터, 상기 제2 어플리케이션을 인증하기 위한 요청을 수신할 수 있다. 요청은 계정 파라미터를 포함할 수 있다. 상기 인증기는 상기 제1 어플리케이션에 제공되고 상기 링크를 통해 상기 제2 어플리케이션에 전달된 상기 계정 파라미터를 사용하여 상기 제2 어플리케이션에 대해 상기 클라이언트 디바이스를 인증할 수 있다. 상기 인증기는 상기 제2 어플리케이션에 대해 상기 클라이언트 디바이스를 인증하는 것에 기초하여, 상기 제2 어플리케이션에 대한 상기 클라이언트 디바이스의 인증의 성공 또는 실패 중 하나를 식별하는 인증 표시를 전송할 수 있다.
일부 구현예에서, 상기 인증기는 양방향 암호화 알고리즘을 사용하여 계정 크리덴셜로부터 도출된 계정 파라미터를 제공하는 것을 포함할 수 있다. 일부 구현예들에서, 상기 인증기는 상기 인증 요청에 포함된 상기 계정 파라미터에 상기 양방향 암호화 알고리즘을 적용함으로써 상기 계정 크리덴셜을 복원하여 상기 제2 어플리케이션에 대해 상기 클라이언트 디바이스를 인증할 수 있다.
일부 구현예에서, 상기 인증기는 단방향 암호화 알고리즘을 사용하여 계정 크리덴셜로부터 도출된 계정 파라미터를 제공하는 것을 포함할 수 있다. 일부 구현예들에서, 상기 인증기는 상기 단방향 암호화 알고리즘을 사용하여 상기 계정 크리덴셜로부터 별도로 도출된 제2 계정 파라미터가 상기 인증 요청에 포함된 상기 계정 파라미터와 일치한다고 결정함으로써 제2 어플리케이션에 대해 상기 클라이언트 디바이스를 인증할 수 있다.
일부 구현예들에서, 상기 인증기는 상기 인증 요청에 포함된 상기 계정 파라미터가 캐시에 저장된 계정 파라미터와 일치한다고 결정함으로써 상기 제2 어플리케이션에 대해 상기 클라이언트 디바이스를 인증할 수 있다. 일부 구현예들에서, 상기 인증기는 상기 링크 상의 인터렉션에 응답하여 상기 제1 어플리케이션으로부터 상기 제2 어플리케이션으로 전달된 상기 계정 파라미터를 상기 링크의 링크 파라미터 및 상기 클라이언트 디바이스에서 실행되는 플랫폼 어플리케이션에 의한 함수 호출 중 적어도 하나를 통해 제공할 수 있다.
일부 구현예들에서, 상기 인증기는 상기 제2 어플리케이션과 연관된 어플리케이션 서버를 통해 상기 클라이언트 디바이스의 상기 제2 어플리케이션으로부터 상기 인증 요청을 수신할 수 있다. 일부 구현예들에서, 상기 인증기는 상기 제2 어플리케이션과 연관된 상기 어플리케이션 서버를 통해 상기 클라이언트 디바이스의 상기 제2 어플리케이션에 인증 표시를 전송할 수 있다. 일부 구현예에서, 상기 인증기는 상기 링크에 포함된 상기 계정 파라미터를 제공하는 것을 포함할 수 있다. 상기 링크는 상기 제2 어플리케이션을 참조하는 주소를 포함할 수 있다. 링크 상의 인터렉션은 상기 클라이언트 디바이스로 하여금 제2 어플리케이션을 설치하게 하고, 상기 제2 어플리케이션의 설치에 후속하여 제2 어플리케이션에 계정 파라미터를 전달하게 할 수 있다.
일부 구현예들에서, 상기 인증기는 상기 클라이언트 디바이스에서 실행되는 상기 제1 어플리케이션을 인증하는데 사용되는 상기 계정 크리덴셜에 기초하여 상기 계정 파라미터를 생성할 수 있다. 일부 구현예들에서, 상기 인증기는 상기 계정 파라미터를 생성에 응답하여, 상기 계정 파라미터 및 상기 제2 어플리케이션을 참조하는 상기 주소를 포함하는 링크를 제공할 수 있다. 일부 구현예에서, 상기 인증기는 인증 크리덴셜들에 대응하는 제2 어플리케이션에 대한 계정 설정을 포함하는 상기 인증 표시를 전송할 수 있다. 계정 설정들의 수신은 상기 클라이언트 디바이스로 하여금 상기 제2 어플리케이션에 대해 상기 계정 설정들을 적용하게 할 수 있다.
적어도 하나의 양태는 실행시 하나 이상의 프로세서들로 하여금 동작들을 수행하게 하는 계정 인증 정보를 전달하기 위한 명령어들을 저장하는 비일시적 컴퓨터 판독 가능 매체에 관한 것이다. 상기 동작들은 클라이언트 디바이스에서 실행되는 제1 어플리케이션을 인증하는데 사용되는 계정 크리덴셜로부터 도출된 계정 파라미터를 링크에 삽입하기 위해 클라이언트 디바이스에 제공하는 동작을 포함할 수 있다. 링크는 클라이언트 디바이스에서 실행가능한 제2 어플리케이션을 참조하는 주소를 포함할 수 있다. 계정 파라미터는 링크 상의 인터렉션에 응답하여 제1 어플리케이션으로부터 제2 어플리케이션으로 전달될 수 있다. 상기 동작들은 상기 제1 어플리케이션으로부터 상기 제2 어플리케이션으로 상기 계정 파라미터를 전달하는 것에 후속하여, 상기 클라이언트 디바이스의 상기 제2 어플리케이션으로부터, 상기 제2 어플리케이션을 인증하기 위한 요청을 수신하는 동작을 포함할 수 있다. 요청은 계정 파라미터를 포함할 수 있다. 상기 동작들은 상기 제1 어플리케이션에 제공되고 상기 링크를 통해 상기 제2 어플리케이션에 전달된 상기 계정 파라미터를 사용하여 상기 제2 어플리케이션에 대해 상기 클라이언트 디바이스를 인증하는 동작을 포함할 수 있다. 상기 동작들은 상기 제2 어플리케이션에 대해 상기 클라이언트 디바이스를 인증하는 것에 기초하여, 상기 제2 어플리케이션에 대한 상기 클라이언트 디바이스의 인증의 성공 또는 실패 중 하나를 식별하는 인증 표시를 전송하는 동작을 포함할 수 있다.
일부 구현예에서, 상기 동작들은 상기 링크에 포함된 상기 계정 파라미터를 제공하는 동작을 더 포함할 수 있다. 상기 링크는 상기 제2 어플리케이션을 참조하는 주소를 포함할 수 있다. 링크 상의 인터렉션은 상기 클라이언트 디바이스로 하여금 제2 어플리케이션을 설치하게 하고, 상기 제2 어플리케이션의 설치에 후속하여 제2 어플리케이션에 계정 파라미터를 전달하게 할 수 있다.
이들 및 다른 양태들 및 구현예들은 아래에서 상세히 논의된다. 전술한 정보 및 다음의 상세한 설명은 다양한 양태들 및 구현예들의 예시적 실시예를 포함하고, 청구된 양태들 및 구현예들의 본질 및 특성을 이해하기 위한 개요 또는 프레임워크를 제공한다. 도면은 다양한 양태들 및 구현예들의 예시 및 추가 이해를 제공하며, 본 명세서에 통합되어 본 명세서의 일부를 구성한다.
첨부된 도면은 일정한 비율로 도시된 것이 아니다. 다양한 도면들에서 동일한 참조 번호 및 기호는 동일한 구성요소를 표시한다. 명확성을 위해 모든 도면에서 모든 컴포넌트가 라벨링된 것은 아니다. 도면에서:
도 1은 예시적 구현예에 따라, 파라미터들을 통해 계정 인증 정보를 전달하기 위한 컴퓨터 네트워크 환경을 도시하는 블록도이다.
도 2a-2c는 예시적 구현예에 따라, 파라미터들을 통해 계정 인증 정보를 전달하는 흐름 프로세스를 각각 도시하는 블록도이다.
도 3a 및 3b는 예시적 구현예에 따라, 파라미터들을 통해 계정 인증 정보를 전달하는 방법을 도시하는 블록도이다.
도 4는 예시적 구현예에 따라, 파라미터들을 통해 계정 인증 정보를 전달하는 방법을 도시하는 흐름도이다.
도 5는 예시적 구현예에 따라, 본 명세서에 기술되고 도시된 시스템 및 방법의 구성요소를 구현하기 위해 사용될 수 있는 컴퓨터 시스템을 위한 일반적인 아키텍처를 도시하는 블록도이다.
아래에 설명되는 것은 파라미터들을 통해 계정 인증 정보를 전달하기 위한 방법, 장치 및 시스템과 관련된 다양한 개념 및 구현예들에 대한 보다 상세한 설명이다. 상기 소개되고 아래에서 더 자세히 논의되는 다양한 개념들은 기술된 개념들이 임의의 특정한 구현 방식에 제한되지 않기 때문에, 임의의 다수의 방식들로 구현될 수 있다.
단일 계정 또는 다수의 계정("공유 디바이스")과 연관된 클라이언트 디바이스에서 실행되는 하나의 어플리케이션에 다른 어플리케이션에 대한 링크가 제공될 수 있다. 예를 들어, 음악 어플리케이션을 열거나 설치하는 링크가 비디오 공유 웹사이트에서 제공될 수 있다. 현재, 사용자가 제1 어플리케이션에서 그러한 링크를 클릭하면, 클라이언트 디바이스는 제2 어플리케이션으로 끊김없이 안내될 수 있다. 때때로 제1 어플리케이션으로부터 제2 어플리케이션으로의 끊김없는 전환은 어떤 계정에 사용자가 로그인했는지에 관하여 사용자의 일부에 혼란을 초래하고 결과적으로 실수 또는 부주의하게 다른 계정에 대해 액세스를 할 수 있다. 예를 들어, 제1 어플리케이션을 사용하고 그 다음 제2 어플리케이션을 사용하는 사용자는 의도치 않게 제2 어플리케이션에 활동을 알릴 수 있다. 이러한 프라이버시 및 보안 문제는 단일 클라이언트 디바이스에 로그인된 다수의 계정들과 관련하여 더 염려스러울 수 있고, 특히 사용자가 제1 어플리케이션 이후에 제2 어플리케이션을 훨씬 나중에 조작할 경우 더욱 염려스렵다.
이러한 기술적 문제들을 해결하기 위해, 본 발명은 URL 인증 토큰을 활용하여 다양한 어플리케이션들에 계정 정보를 전달한다. 클라이언트 디바이스는 인코딩된 계정 정보를 링크의 URL에 내장시키거나 활동 함수 호출(예: ANDROID Intents 함수 호출)을 통해 인코딩된 계정 정보를 전달함으로써 인코딩된 사용자 계정 정보를 전달할 수 있다. 클라이언트 디바이스에서 실행되는 어플리케이션은 잠재적으로 적어도 세 가지 기법들에서 계정 정보를 공유할 수 있다.
제1 구현예에서, 제1 어플리케이션에 의해 사용되는 외부 계정 크리덴셜은 양방향 암호화 함수("양방향 난독화")를 사용하여 난독화될 수 있다. 난독화된 식별자는 제2 어플리케이션에 링크되는 URL에 내장되거나 활동 함수 호출을 통해 전달될 수 있다. 제1 어플리케이션으로부터 수신되면, 제2 어플리케이션은 양방향 암호화 함수를 사용하여 난독화된 식별자로부터 원래의 계정 크리덴셜을 복원할 수 있다. 계정 식별자를 확인하면, 제2 어플리케이션은 식별자에 대응하는 제2 어플리케이션의 계정에 사용자를 자동으로 로그인할 수 있다. 제2 어플리케이션이 그 식별자에 대응하는 계정을 포함하지 않는 경우, 제2 어플리케이션은 사용자가 해당 어플리케이션에 로그인하는 것을 차단할 수 있거나, 사용자가 제2 어플리케이션에 로그인하기 전에 (대안적 사용자 계정의 세부 사항과 같은) 사용자로부터의 추가 정보를 요구할 수 있다.
제2 구현예에서, 제1 어플리케이션에 로그인하는데 사용되는 계정 크리덴셜은 핑거프린팅(fingerprinting) 함수를 사용하여 암호화될 수 있다. 제1 구현예와 달리, 이 암호화된 식별자는 핑거프린팅 함수가 단방향 암호화 함수이기 때문에 복원될 수 없다. 제2 어플리케이션은 동일한 계정에 대해 암호화된 식별자의 자체 복사본을 가지고 있거나, 또는 이와 달리 암호화된 식별자에 대한 액세스를 가질 수 있다. 동일한 계정은 동일한 사용자에게 등록된 계정을 할 수 있다. 제1 어플리케이션으로부터 암호화된 식별자를 수신하면, 제2 어플리케이션은 2개의 암호화된 식별자를 비교하여 이들 식별자들이 일치하는지 여부를 알 수 있다. 일치하면, 제2 어플리케이션은 일치하는 식별자를 가지는 계정에 사용자를 로그인할 수 있다. 제2 어플리케이션이 일치하는 식별자를 가지는 계정을 포함하지 않거나 일치하는 식별자를 가지는 계정이 제2 어플리케이션에 의해 확인되지 않는 경우, 제2 어플리케이션은 사용자가 해당 어플리케이션에 로그인하는 것을 차단할 수 있거나, 사용자가 제2 어플리케이션에 로그인하기 전에 (대안적 사용자 계정의 세부 사항과 같은) 사용자로부터의 추가 정보를 요구할 수 있다.
제3 구현예에 따르면, 2개의 어플리케이션 사이에 공유된 백엔드 캐시가 있어 각 어플리케이션에 사용자의 계정에 대한 토큰을 저장할 수 있다. 토큰은 제2 어플리케이션에 링크되는 제1 어플리케이션에 나타나는 URL에 내장될 수 있다. 제1 어플리케이션으로부터 제2 어플리케이션에 대한 요청시, 제2 어플리케이션은 공유된 백엔드에 액세스하여 사용자의 계정에 대한 토큰을 검색할 수 있다. 검색된 토큰을 사용하여, 사용자는 제2 어플리케이션의 사용자 계정에 자동으로 로그인될 수 있다.
도 1은 파라미터들을 통해 계정 인증 정보를 전달하기 위한 환경의 일 구현예를 도시하는 블록도이다. 환경(100)은 네트워크(105)를 통해 적어도 하나의 클라이언트 디바이스(120)에 연결된 적어도 하나의 인증 서버(110)를 포함할 수 있다. 일부 구현예들에서, 환경(100)은 네트워크(105)를 통해 적어도 하나의 클라이언트(120)에 연결된 적어도 하나의 어플리케이션 서버(115A-115N)를 포함할 수 있다. 일부 구현예들에서, 적어도 하나의 인증 서버(110)는 적어도 하나의 어플리케이션 서버(115A-115N)에 연결될 수 있다. 일부 구현예에서, 환경(100)은 적어도 하나의 인증 서버(110) 또는 적어도 하나의 어플리케이션 서버(115A-115N)에 연결된 원격 토큰 캐시(125)를 포함할 수 있다. 일부 구현예들에서, 환경(100)은 네트워크(105)에 연결된 컨텐츠 제공자 디바이스 및 컨텐츠 퍼블리셔 디바이스를 포함할 수 있다.
보다 상세하게는, 인증 서버(110)는 적어도 하나의 프로세서 및 메모리, 즉 프로세싱 회로를 포함할 수 있다. 메모리는 프로세서에 의해 실행될 때 프로세서로 하여금 본 명세서에 기술된 하나 이상의 동작들을 수행하게 하는 프로세서 실행가능 명령어들을 저장한다. 프로세서는 마이크로 프로세서, 주문형 집적 회로(ASIC), 필드 프로그래머블 게이트 어레이(FPGA) 등, 또는 이들의 조합을 포함할 수 있다. 메모리는 전자, 광학, 자기 또는 프로세서에 프로그램 명령어들을 제공할 수 있는 임의의 다른 저장 또는 전송 디바이스를 포함할 수 있지만, 이에 한정되지 않는다. 메모리는 플로피 디스크, CD-ROM, DVD, 자기 디스크, 메모리 칩, ASIC, FPGA, ROM, RAM, EEPROM(electrically-erasable programmable ROM), EPROM(erasable-programmable ROM), 플래시 메모리, 광학 매체, 또는 프로세서가 명령어들을 판독할 수 있는 임의의 기타 적절한 메모리를 포함할 수 있다. 명령어들은 임의의 적절한 컴퓨터 프로그래밍 언어의 코드가 포함될 수 있다. 데이터 프로세싱 시스템은 다양한 기능들을 수행할 수 있는 하나 이상의 컴퓨팅 디바이스들 또는 서버들을 포함할 수 있다. 일부 구현예에서, 데이터 프로세싱 시스템은 경매를 호스팅하도록 구성된 컨텐츠 배치 시스템을 포함할 수 있다. 일부 구현예에서, 데이터 프로세싱 시스템은 컨텐츠 배치 시스템을 포함하지 않지만 네트워크(105)를 통해 컨텐츠 배치 시스템과 통신하도록 구성될 수 있다.
네트워크(105)는 인터넷, 로컬, 와이드, 메트로 또는 다른 영역 네트워크, 인트라넷, 위성 네트워크, 음성 또는 데이터 모바일폰 통신 네트워크와 같은 다른 컴퓨터 네트워크들 및 이들의 조합과 같은 컴퓨터 네트워크를 포함할 수 있다. 시스템(100)의 인증 서버(110)는 예를 들어 적어도 하나의 어플리케이션 서버(115A-115N) 및 적어도 하나의 클라이언트 디바이스(120)와 네트워크(105)를 통해 통신할 수 있다. 네트워크(105)는 클라이언트 디바이스(120), 인증 서버(110) 및 특히 웹 서버와 같은 하나 이상의 컨텐츠 소스들 간의 정보를 중계하는 임의의 형태의 컴퓨터 네트워크일 수 있다. 일부 구현예들에서, 네트워크(105)는 근거리 통신망(LAN), 광역 통신망(WAN), 셀룰러 네트워크, 위성 네트워크 또는 다른 유형의 데이터 네트워크와 같은 인터넷 및 / 또는 다른 유형의 데이터 네트워크를 포함할 수 있다. 네트워크(105)는 또한 네트워크(105) 내에서 데이터를 수신 및/또는 전송하도록 구성된 임의의 수의 컴퓨팅 디바이스(예를 들어, 컴퓨터, 서버, 라우터, 네트워크 스위치 등)를 포함할 수 있다. 네트워크(105)는 임의의 수의 고정 배선 및/또는 무선 연결을 더 포함할 수 있다. 클라이언트 디바이스(120)는(예를 들어, 광섬유 케이블, CAT5 케이블 등을 통해) 배선된 송수신기와 무선으로(예를 들어, WiFi, 셀룰러, 라디오 등을 통해) 네트워크(105) 내 다른 컴퓨팅 디바이스들과 통신할 수 있다. 클라이언트 디바이스(120)는 또한 프록시 디바이스(예를 들어, 라우터, 네트워크 스위치 또는 게이트웨이)를 통해 네트워크(105)의 컴퓨팅 디바이스와 무선으로 통신할 수 있다.
클라이언트 디바이스(120)는 컨텐츠 퍼블리셔 디바이스에 의해 제공된 컨텐츠(예를 들어, 주 웹페이지 컨텐츠 또는 다른 정보 리소스) 및 컨텐츠 제공자 디바이스에 의해 제공된 컨텐츠(예를 들어, 정보 리소스에 디스플레이하기 위해 구성된 컨텐츠 엘리먼트들)와 같은 데이터를 디스플레이하기 위해 네트워크(105)를 통해 통신하도록 구성된 컴퓨팅 디바이스들을 포함할 수 있다. 클라이언트 디바이스(120)는 데스크톱 컴퓨터, 랩톱 컴퓨터, 태블릿 컴퓨터, 스마트폰, 개인 휴대 정보 단말기, 모바일 디바이스, 컨슈머 컴퓨팅 디바이스, 서버, 클라이언트, 디지털 비디오 레코더, 텔레비전용 셋톱 박스, 비디오 게임 콘솔 또는 네트워크(105)를 통해 통신하도록 구성된 임의의 기타 컴퓨팅 디바이스일 수 있다. 클라이언트 디바이스(120)는 최종 사용자가 컨텐츠를 수신하기 위한 요청을 제출할 수 있는 통신 디바이스일 수 있다. 요청은 검색 엔진에 대한 요청일 수 있으며, 요청에는 검색 쿼리가 포함될 수 있다. 일부 구현예에서, 요청은 웹페이지에 대한 액세스 요청을 포함할 수 있다.
클라이언트 디바이스(120)는 프로세서 및 메모리, 즉 프로세싱 회로를 포함할 수 있다. 메모리는 프로세서에 의해 실행될 때 프로세서로 하여금 본 명세서에 기술된 하나 이상의 동작들을 수행하게 하는 기계 명령어들을 저장한다. 프로세서는 마이크로 프로세서, 주문형 집적 회로(ASIC), 필드 프로그래머블 게이트 어레이(FPGA) 등, 또는 이들의 조합을 포함할 수 있다. 메모리는 전자, 광학, 자기 또는 프로세서에 프로그램 명령어들을 제공할 수 있는 임의의 다른 저장 또는 전송 디바이스를 포함할 수 있지만, 이에 한정되지 않는다. 메모리는 플로피 디스크, CD-ROM, DVD, 자기 디스크, 메모리 칩, ASIC, FPGA, ROM, RAM, EEPROM(electrically-erasable programmable ROM), EPROM(erasable-programmable ROM), 플래시 메모리, 광학 매체, 또는 프로세서가 명령어들을 판독할 수 있는 임의의 기타 적절한 메모리를 포함할 수 있다. 명령어들은 임의의 적절한 컴퓨터 프로그래밍 언어의 코드가 포함될 수 있다.
클라이언트 디바이스(120)는 또한 하나 이상의 사용자 인터페이스 디바이스들(103)를 포함할 수 있다. 일반적으로, 사용자 인터페이스 디바이스는 감각 정보(예를 들어, 디스플레이상의 시각화, 하나 이상의 사운드 등)를 생성함으로써 사용자에게 데이터를 전달하고 및/또는 사용자로부터 수신된 감각 정보를 전자 신호(예를 들어, 키보드, 마우스, 포인팅 디바이스, 터치 스크린 디스플레이, 마이크로폰 등)로 변환하는 임의의 전자 디바이스를 지칭한다. 하나 이상의 사용자 인터페이스 디바이스들은 클라이언트 디바이스(120)의 하우징 내부(예: 내장 디스플레이, 마이크로폰 등) 또는 클라이언트 디바이스(120)의 하우징 외부(예: 클라이언트 디바이스(120)에 연결된 모니터, 클라이언트 디바이스(120)에 연결된 스피커 등)에 있을 수 있다. 일부 구현예들에서, 클라이언트 디바이스(120)는 네트워크(105)를 통해 하나 이상의 컨텐츠 소스들 및/또는 컨텐츠 퍼블리셔 디바이스 또는 컨텐츠 제공자 디바이스로부터 수신된 웹페이지 데이터를 사용하여 웹페이지를 시각적으로 디스플레이하는 전자 디스플레이를 포함할 수 있다.
인증 서버(110)는 적어도 하나의 서버를 포함할 수 있다. 인증 서버(110)는 클라이언트 디바이스(120)에서 실행되는 다양한 어플리케이션들에 대한 중앙 인증 기관으로서 동작할 수 있다. 일부 구현예들에서, 인증 서버(110)는 적어도 하나의 데이터 센터 또는 서버 팜에 위치된 복수의 서버들 포함할 수 있다. 일부 구현예들에서, 원격 토큰 캐시(125)는 인증 서버(110)의 일부일 수 있다. 인증 서버(110)는 적어도 하나의 인증기(130)를 포함할 수 있다. 인증기(130)는 적어도 하나의 프로세싱 유닛, 서버, 가상 서버, 회로, 엔진, 에이전트, 어플라이언스, 또는 데이터베이스 및 네트워크(105)를 통해 다른 컴퓨팅 디바이스들과 통신하도록 구성된 프로그래머블 로직 어레이들과 같은 기타 로직 디바이스(예를 들어, 어플리케이션(115A-115N), 클라이언트 디바이스(120) 및 원격 토큰 캐시(125)를 포함할 수 있다. 인증기(130)는 적어도 하나의 컴퓨터 프로그램 또는 적어도 하나의 스크립트를 포함하거나 실행할 수 있다. 인증기(130)는 하나 이상의 스크립트들을 실행하도록 구성된 하나 이상의 프로세서들과 같은 소프트웨어 및 하드웨어의 조합을 포함할 수 있다.
인증 서버(110)의 인증기(130)는 클라이언트 디바이스(120) 또는 다른 어플리케이션 서버(115A-115N)로부터의 인증 요청을 수신할 수 있다. 인증 요청은 계정 크리덴셜들을 포함할 수 있다. 계정 크리덴셜들은 다른 여러가지 중에서도 계정 식별자, 계정 액세스 코드 및 기타 암호화 파라미터를 포함할 수 있다. 인증기(130)는 계정 식별자 및 계정 액세스 코드를 식별할 수 있다. 인증기(130)는 계정 액세스 코드를 식별자 계정 식별자에 대해 이전에 저장된 계정 액세스 코드와 비교할 수 있다. 액세스 코드가 일치하면, 인증기(130)는 계정 크리덴셜들을 인증하고, 인증 요청을 전송한 클라이언트 디바이스(120) 또는 다른 어플리케이션 서버(115A-115N)에 인증 확인을 전송할 수 있다. 액세스 코드가 일치하지 않으면, 인증기(130)는 인증 요청을 전송한 클라이언트 디바이스(120) 또는 다른 어플리케이션 서버(115A-115N)에 인증 실패의 표시를 전송할 수 있다. 환경(100)의 컨텍스트에서 인증기(130)의 기능은 이하에서 상세히 설명될 것이다.
어플리케이션 서버(115A-115N)는 적어도 하나의 서버를 포함할 수 있다. 어플리케이션 서버(115A-115N)는 클라이언트 디바이스(120)에서 실행되는 다양한 어플리케이션을 위해 클라이언트 디바이스(120)와 데이터를 교환할 수 있다. 일부 구현예들에서, 어플리케이션 서버(115A-115N)는 적어도 하나의 데이터 센터 또는 팜에 위치된 복수의 서버들 포함할 수 있다. 일부 구현예들에서, 원격 토큰 캐시(125)는 인증 서버(110)의 일부일 수 있다. 어플리케이션 서버(115A-115N)는 적어도 하나의 서버-사이드 인증 인터페이스(135A-135N)를 포함할 수 있다. 서버-사이드 인증 인터페이스(135A-135N)는 적어도 하나의 프로세싱 유닛, 서버, 가상 서버, 회로, 엔진, 에이전트, 어플라이언스, 또는 데이터베이스 및 네트워크(105)를 통해 다른 컴퓨팅 디바이스들과 통신하도록 구성된 프로그래머블 로직 어레이들과 같은 기타 로직 디바이스(예를 들어, 어플리케이션(115A-115N), 클라이언트 디바이스(120) 및 원격 토큰 캐시(125)를 포함할 수 있다. 인증 인터페이스(135A-135N)는 적어도 하나의 컴퓨터 프로그램 또는 적어도 하나의 스크립트를 포함하거나 실행할 수 있다. 인증 인터페이스(135A-135N)는 하나 이상의 스크립트들을 실행하도록 구성된 하나 이상의 프로세서들과 같은 소프트웨어 및 하드웨어의 조합을 포함할 수 있다. 인증 인터페이스(135A-135N)의 기능은 이하에서 상세히 설명된다.
클라이언트 디바이스(120)는 프로세서(140), 네트워크 인터페이스(145), 입출력(I/O) 인터페이스(150) 및 메모리(155)를 포함할 수 있다. 프로세서(140), 네트워크 인터페이스(145), I/O 인터페이스(150) 및 메모리(155)는 도 5과 관련하여 본 명세서에서 기술된 컴포넌트들일 수 있다. 메모리(155)는 운영 체제 또는 웹 브라우저와 같은 플랫폼 어플리케이션(160), 또는 클라이언트 디바이스(120)에 의해 프로세싱되는 다른 컴퓨터 실행가능 명령어들을 실행하거나 호출할 수 있는 임의의 다른 컴퓨터 프로그램을 포함할 수 있다. 플랫폼 어플리케이션(160)은 하나 이상의 어플리케이션들(165A-165N)을 포함할 수 있다. 일부 구현예들에서, 각 어플리케이션(165A-165N)은 정보 리소스(예를 들어, 웹페이지)일 수 있다. 일부 구현예들에서, 각 어플리케이션(165A-165N)은 플랫폼 어플리케이션(160)에 의해 프로세싱되는 별개의 컴퓨터 실행가능한 것일 수 있다. 각 어플리케이션(165A-165N)은 링크(170A-170N), 클라이언트-사이드 인증 인터페이스(175A-175N) 및 파라미터 생성기(180A-180N)를 포함할 수 있다. 일부 구현예에서, 플랫폼 어플리케이션(160)은 파라미터 전송기(190)를 포함할 수 있다. 일부 구현예에서, 플랫폼 어플리케이션(160)은 로컬 토큰 캐시(195)를 포함할 수 있다. 적어도 하나의 어플리케이션(165A)은 계정 크리덴셜(185)을 포함할 수 있고, 다른 어플리케이션(165B-165N)은 계정 크리덴셜(185)을 포함하지 않을 수 있다. 계정 크리덴셜들(185)은 다른 여러가지 중에서도 계정 식별자, 계정 액세스 코드 및 기타 암호화 파라미터를 포함할 수 있다. 적어도 하나의 어플리케이션들(165A-165N)은 인증 서버(110)의 인증기(130) 또는 어플리케이션 서버(115A-115N)의 서버-사이드 인증 인터페이스(135A-135N)로 인증되거나 그렇지 않으면 검증된 계정 크리덴셜들(185)을 가질 수 있다. 적어도 하나의 어플리케이션들(165A-165N)은 계정 크리덴셜(185)를 포함하지 않을 수 있고, 인증 서버(110)의 인증기(130) 또는 어플리케이션 서버(115A-115N)의 서버-사이드 인증 인터페이스(135A-135N)로 인증되거나 그렇지 않으면 검증되지 않을 수 있다. 일부 구현예에서, 어플리케이션(165A-165N)의 인증 인터페이스(175A-175N)는 인증 서버(110) 또는 대응하는 어플리케이션 서버(115A-115N)에 계정 인증서(185)를 전송할 수 있다. 예를 들어, 클라이언트 디바이스(120)의 사용자는 어플리케이션(165A)에 대한 그래픽 사용자 인터페이스 상에 계정 식별자 및 계정 액세스 코드(예를 들어, 패스워드 또는 개인 식별 번호(PIN))를 입력할 수 있다. 제출 버튼과의 인터렉션시, 어플리케이션(165A)은 인증 서버(110)와의 인증을 위해 계정 식별자 및 계정 액세스 코드를 계정 크리덴셜(185)의 일부로서 송신할 수 있다.
계정 크리덴셜들(185)의 수신으로, 인증 서버(110)의 인증기(130)는 계정 크리덴셜들(185)을 파싱하여 다른 여러가지 중에서 계정 식별자 및 액세스 코드를 식별할 수 있다. 인증기(130)는 어플리케이션(165A-165N)으로부터의 액세스 코드를 계정 식별자에 대한 인증 서버(110)에 저장된 액세스 코드와 비교할 수 있다. 2개의 액세스 코드들 사이에 일치가 없는 경우, 인증기(130)는 인증 실패의 표시를 계정 크리덴셜들(185)이 수신되었던 어플리케이션(165A-165N)으로 전송할 수 있다. 2개의 액세스 코드들 사이에 일치가 있는 경우, 인증기(130)는 계정 크리덴셜들(185)이 수신되었던 어플리케이션(165A-165N)에 대해 계정 크리덴셜들(185)을 인증하거나 또는 이와 달리 검증할 수 있다. 인증기(130)는 차례로 성공적 인증의 표시를 대응하는 어플리케이션(165A-165N)에 전송할 수 있다. 계정 크리덴셜들(185)이 성공적으로 인증되면, 인증기(130) 또는 각각의 어플리케이션(165A-165N)은 이하에서 설명되는 방식으로 계정 크리덴셜들(185)로부터 계정 파라미터를 도출할 수 있다.
초기적으로 정 크리덴셜들(185)이 없는 어플리케이션(165A-165N)에 관하여, 어플리케이션(165A-165N) 각각의 인증 인터페이스(175A-175N)는 특히 아래에서 설명되는 바와 같이 파라미터 전송기(190)를 사용하여 링크(170A-175N)를 통해 계정 크리덴셜들(185)을 수신하도록 구성될 수 있다. 일부 구현예에서, 각 어플리케이션(165A-165N)의 인증 인터페이스(175A-175N)는 어플리케이션 프로그래밍 인터페이스를 사용하여 계정 크리덴셜들(185)을 파싱하거나 복원할 수 있다. 어플리케이션 프로그래밍 인터페이스는 어플리케이션들(165A-165N)에 관한 데이터(예를 들어, 계정 크리덴셜들(185) 또는 계정 크리덴셜들(185)로부터 도출된 계정 파라미터)를 통신 또는 중계하기 위한 정의들 및 프로토콜들을 포함할 수 있다. 일부 구현예에서, 각 어플리케이션(165A-165N)의 인증 인터페이스(175A-175N)는 어플리케이션 프로그래밍 인터페이스를 사용하여 다른 어플리케이션(165A-165N)의 계정 크리덴셜들(185)로 어플리케이션(165A-165N)을 인증할 수 있다. 일부 구현예에서, 각 어플리케이션(165A-165N)의 인증 인터페이스(175A-175N)는 어플리케이션 프로그래밍 인터페이스를 사용하여 인증 서버(110)의 인증기(130)와 인터페이스하거나 통신할 수 있다. 각 어플리케이션(165A-165N)의 인증 인터페이스(175A-175N)의 기능에 관한 보다 상세한 설명은 이하에서 설명된다.
각 어플리케이션(165A-165N)은 어플리케이션 서버들(115A-115N) 중 하나와 연관될 수 있다. 일부 구현예에서, 각 어플리케이션(165A-165N)은 정보 리소스(예를 들어, 웹 페이지) 또는 특정 도메인에 대한 하나 이상의 정보 리소스들을 포함할 수 있는 웹 어플리케이션을 포함할 수 있다. 일부 구현예에서, 각 어플리케이션(165A-165N)은 그렇지 않으면 각각의 어플리케이션 서버(115A-115N)에 의해 제공되는 컴퓨터 프로그램, 컴퓨터 판독가능 명령어 또는 실행가능한 인스턴스일 수 있다. 일부 구현예에서, 일부 어플리케이션(165A-165N)은 클라이언트 디바이스(120)에 아직 설치되지 않았을 수 있다. 일부 구현예에서, 어플리케이션 서버(115A-115N) 또는 어플리케이션 배포 서버는 클라이언트 디바이스(120)로부터의 요청에 응답하여 어플리케이션(165A-165N)을 제공할 수 있다. 일부 구현예에서, 일부 어플리케이션(165A-165N)은 클라이언트 디바이스(120)에 이미 설치되었을 수 있다. 각 어플리케이션(165A-165N)은 네트워크(105)를 통해 어플리케이션 서버들(115A-115N) 중 하나와 통신할 수 있다. 각 어플리케이션(165A-165N)에 제공될 데이터는 각각의 어플리케이션 서버(115A-115N)에 의해 관리될 수 있다. 각 어플리케이션(165A-165N)은 어플리케이션 서버(115A-115N)에 의해 클라이언트 디바이스(120)에 제공될 수 있다. 각 어플리케이션(165A-165N)은 중앙화된 서버(어플리케이션 배포 서버)에 의해 클라이언트 디바이스(120)에 제공될 수 있다.
각 어플리케이션(165A-165N)은 적어도 하나의 링크(170A-170N)(예를 들어, 하이퍼링크)를 포함할 수 있다. 일부 실시예에서, 각 어플리케이션(165A-165N)은 정보 리소스(예를 들어, 웹페이지)들을 포함할 수 있다. 하나 이상의 정보 리소스들 중 적어도 하나는 링크(170A-170N)를 포함할 수 있다. 각 링크(170A-170N)는 동일한 어플리케이션(165A-165N) 내의 특정한 정보 리소스에 대한 참조 메커니즘일 수 있다. 각 링크(170A-170N)는 또한 특정 어플리케이션(예를 들어, 어플리케이션(165A-165N))에 대한 참조 메커니즘일 수 있다. 각 링크(170A-170N)는 프로토콜(예를 들어, HTTP) 및 호스트 이름 및 경로명(예를 들어, URL 또는 Uniform Resource Identifier)을 갖는 주소를 포함할 수 있다. 각 링크(170A-170N)의 주소는 다른 어플리케이션(165A-165N)을 참조할 수 있다. 일부 구현예에서, 각 링크(170A-170N)는 또한 링크 파라미터(예를 들어, 쿼리 스트링과 같은 URL 파라미터)를 포함할 수 있다. 링크 파라미터는 계정 파라미터를 포함할 수 있다. 계정 파라미터는 인증 크리덴셜들(185)을 다른 어플리케이션(165A-165N)에 전달하기 위해 어플리케이션(165A-165N)에 의해 사용될 수 있다. 계정 파라미터는 계정 크리덴셜(185)로부터 생성될 수 있으며, 다양한 유형일 수 있다. 생성되고 사용되는 계정 파라미터의 유형은 어플리케이션(165A-165N)에 의해 미리 설정되거나 파라미터 유형 정책에 따라 결정될 수 있다. 일부 구현예에서, 계정 파라미터는 생성될 수 있고 어플리케이션(165A-165N)과 연관된 어플리케이션 서버(115A-115N)에 의해 제공될 수 있다. 일부 구현예에서, 계정 파라미터는 생성될 수 있고, 인증 서버(110)에 의해 제공될 수 있다. 일부 구현예에서, 계정 파라미터는 파라미터 생성기(180A-180N)에 의해 클라이언트 디바이스(120)에서 생성될 수 있다.
일부 구현예에서, 계정 파라미터는 계정 크리덴셜들(185)의 난독화를 포함할 수 있다. 계정 크리덴셜(185)의 난독화는 인증 서버(110), 어플리케이션 서버(115A-115N) 또는 클라이언트 디바이스(120)의 파라미터 생성기(180)에 의해 생성될 수 있다. 계정 크리덴셜(185)의 난독화는 영숫자 값을 포함할 수 있다. 계정 크리덴셜(185)의 난독화는 인증 서버(110), 어플리케이션 서버(115A-115N)에 의해 링크(170A-170N)의 파라미터의 일부로서 제공될 수 있다. 계정 크리덴셜(185)의 난독화는 링크(170A-170N)와의 인터렉션시, 클라이언트 디바이스의 파라미터 생성기(180)에 의해 생성될 수 있다. 난독화는 암호화 해싱 함수와 같은 양방향 암호화 함수를 사용하여 생성될 수 있다. 양방향 암호화 함수는 계정 식별자, 계정 액세스 코드 및/또는 다른 암호화 파라미터들의 조합에 적용될 수 있다. 양방향 암호화 함수로 계정 크리덴셜(185)을 난독화함으로써, 계정 크리덴셜들(185)은 동일한 양방향 암호화 함수를 다시 적용함으로써 계정 파라미터로부터 나중에 복원될 수 있다.
일부 구현예에서, 계정 파라미터는 계정 크리덴셜들(185)의 핑거프린트를 포함할 수 있다. 계정 크리덴셜(185)의 핑거프린트는 인증 서버(110), 어플리케이션 서버(115A-115N) 또는 클라이언트 디바이스(120)의 파라미터 생성기(180)에 의해 생성될 수 있다. 계정 크리덴셜(185)의 핑거프린트는 영숫자 값을 포함할 수 있다. 계정 크리덴셜(185)의 핑거프린트는 인증 서버(110), 어플리케이션 서버(115A-115N)에 의해 링크(170A-170N)의 파라미터의 일부로서 제공될 수 있다. 계정 크리덴셜(185)의 핑거프린트는 링크(170A-170N)와의 인터렉션시, 클라이언트 디바이스의 파라미터 생성기(180)에 의해 생성될 수 있다. 핑거프린트는 핑거프린팅 알고리즘과 같은 단방향 암호화 함수를 사용하여 생성될 수 있다. 단방향 암호화 함수는 계정 식별자, 계정 액세스 코드 및/또는 다른 암호화 파라미터들의 조합에 적용될 수 있다. 일단 생성되면, 계정 크리덴셜(185)의 핑거프린트는 메모리(155), 어플리케이션 서버(115A-115N), 또는 인증 서버(110)에 저장될 수 있다. 단방향 암호화 함수로 계정 크리덴셜들(185)을 핑거프린팅함으로써, 원래의 계정 크리덴셜들(185)은 다른 어플리케이션 서버(115B-115N) 뿐만 아니라 다른 어플리케이션 서버들(115B-115N) 또는 네트워크(105)에 연결된 임의의 다른 디바이스로부터 감춰질 수 있다.
일부 구현예에서, 계정 파라미터는 계정 크리덴셜들(185)에 대응하는 토큰을 포함할 수 있다. 계정 크리덴셜(185)에 대응하는 토큰은 인증 서버(110), 어플리케이션 서버(115A-115N) 또는 클라이언트 디바이스(120)의 파라미터 생성기(180)에 의해 생성될 수 있다. 계정 크리덴셜(185)에 대응하는 토큰은 영숫자 값을 포함할 수 있다. 계정 크리덴셜(185)에 대응하는 토큰은 인증 서버(110), 어플리케이션 서버(115A-115N)에 의해 링크(170A-170N)의 파라미터의 일부로서 제공될 수 있다. 계정 크리덴셜(185)에 대응하는 토큰은 링크(170A-170N)와의 인터렉션시, 클라이언트 디바이스의 파라미터 생성기(180)에 의해 생성될 수 있다. 토큰은 계정 식별자, 계정 액세스 코드 및/또는 다른 암호화 파라미터들의 조합을 사용하여 생성될 수 있다. 일부 구현예에서, 그 후 토큰은 파라미터 생성기(180A-180N)에 의해 로컬 토큰 캐시(195)에 저장될 수 있다. 일부 구현예에서, 토큰은 인증 서버(110) 또는 어플리케이션 서버(115A-115N)에 의해 원격 토큰 캐시(125)에 저장될 수 있다. 계정 크리덴셜들(185)로부터 토큰을 생성함으로써, 원래의 계정 크리덴셜들(185)은 요청시 로컬 토큰 캐시(195) 또는 원격 토큰 캐시(125)로부터 검색될 수 있다.
링크(170A-170N)와의 인터렉션 이벤트(예컨대, 클릭, 호버-오버, 스크롤, 스크린터치 등)시, 파라미터 전송기(190)는 링크(170A-170N)의 계정 파라미터를 하나의 어플리케이션(165A-165N)으로부터 링크(170A-170N)에 의해 참조되는 어플리케이션(165A-165N)으로 전달할 수 있다. 일부 구현예에서, 파라미터 전송기(190)는 딥 링크 기법을 사용하여 링크(170A-170N)를 통해 계정 파라미터를 직접 전달할 수 있다. 파라미터 전송기(190)는 링크(170A-170N)를 파싱하여 링크(170A-170N)의 주소에 의해 참조되는 어플리케이션(165A-165N)을 식별할 수 있다. 그 후, 플랫폼 어플리케이션(160)은 링크(170A-170N)의 주소에 대응하는 어플리케이션(165A-165N)을 실행할 수 있다. 또한, 파라미터 전송기(190)는 링크(170A-170N)를 파싱하여 링크(170A-170N)의 링크 파라미터를 식별할 수 있고, 링크(170A-170N)의 링크 파라미터를 (계정 파라미터와 함께) 링크(170A-170N)에 의해 참조되는 어플리케이션(165A-165N)에 전달할 수 있다. 일부 구현예에서, 파라미터 전송기(190)는 활동 함수 호출(예를 들어, ANDROID Intent Function 호출)과 같은 함수 호출을 사용하여, 계정 파라미터를 하나의 어플리케이션(165A-165N)으로부터 링크(170A-170N)에 의해 참조되는 다른 어플리케이션(165A-165N)으로 전달할 수 있다. 일단 계정 파라미터가 링크(170A-170N)로부터 식별되면, 파라미터 전송기(190)는 계정 파라미터로 함수 호출을 호출하여 계정 파라미터를 링크(170A-170N)에 의해 참조되는 어플리케이션(165A-165N)으로 중계하거나 전달할 수 있다.
일부 구현예에서, 파라미터 전송기(190)는 연기된(deferred) 딥 링크 기법을 사용하여 링크(170A-170N)를 통해 계정 파라미터를 전달할 수 있다. 링크(170A-170N)는 클라이언트 디바이스(120) 상에 어플리케이션(165A-165N)을 다운로드하고 설치하기 위한 요청에 대응할 수 있다. 일부 구현예에서, 파라미터 전송기(190)는 링크(170A-170N)를 어플리케이션(165A-165N)을 다운로드하고 설치하기 위한 요청로서 식별할 수 있다. 파라미터 전송기(190)는 링크(170A-170N)의 계정 파라미터를 메모리(155)에 저장할 수 있다. 파라미터 전송기(190)는 어플리케이션(165A-165N)의 다운로드 및 설치의 진행을 지속적으로 모니터링할 수 있다. 일단 어플리케이션(165A-165N)이 다운로드를 완료하면, 플랫폼 어플리케이션(160)은 어플리케이션(165A-165N)의 실행을 개시할 수 있고, 파라미터 전송기(190)는 계정 파라미터를 설치된 어플리케이션(165A-165N)에 전달할 수 있다.
일부 구현예에서, 인터렉션 이벤트에 응답하여, 파라미터 생성기(180A-180N)는 전술한 기법을 사용하여 계정 파라미터를 생성할 수 있다. 파라미터 생성기(180A-180N)는 링크(170A-170N)가 계정 파라미터를 포함하는지 여부를 결정하기 위해 링크(170A-170N)를 파싱할 수 있다. 링크(170A-170N)가 계정 파라미터를 포함하지 않으면, 파라미터 생성기(180A-180N)는 전술한 기법을 사용하여 계정 파라미터를 생성할 수 있다. 링크(170A-170N)가 계정 파라미터를 포함하면, 파라미터 전송기(190)는 계정 파라미터를 식별할 수 있고, 계정 파라미터를 링크(170A-170N)에 의해 참조되는 어플리케이션(165A-165N)에 전달할 수 있다.
일단 인증 파라미터가 전달되면, 링크(170A-170N)에 의해 참조되는 어플리케이션(165A-165N)의 인증 인터페이스(175A-175N)는 인증 서버(110)의 서버-사이드 인증 인터페이스(135A-135N)로 인증을 개시할 수 있다. 서버-사이드 인증 인터페이스(135A-135N)는 차례로 클라이언트 디바이스(120)의 어플리케이션(165A-165N)을 대신하여 인증 서버(110)와의 인증을 계속할 수 있다. 일부 구현예에서, 링크(170A-170N)에 의해 참조되는 어플리케이션(165A-165N)은 인증 서버(110)의 인증기(130)로 직접적인 인증을 개시할 수 있다. 인증 인터페이스(175A-175N)는 이전에 로그인된 어플리케이션(165A-165N)으로부터 수신된 계정 파라미터의 파라미터 유형을 결정하기 위해 계정 파라미터를 파싱할 수 있다. 일부 구현예에서, 인증 인터페이스(175A-175N)는 다른 것들 중에서도, 계정 파라미터의 길이 및 데이터 유형(예컨대, 숫자, 영숫자 등)을 식별함으로써 파라미터 유형을 결정할 수 있고, 식별된 길이 및 데이터 유형을 파라미터 유형에 대해 특정된 길이 및 데이터 유형과 비교한다. 상기 기술된 바와 같이, 파라미터 유형은 다른 것들 중에서도, 계정 크리덴셜들(185)의 난독화, 핑거프린팅된 계정 크리덴셜들(185) 및 계정 크리덴셜들(185)에 대응하는 토큰일 수 있다.
식별된 파라미터 유형이 계정 크리덴셜들(185)의 난독화이면, 원래의 계정 크리덴셜들(185)은 원래 인증된 어플리케이션(165A-165N)으로부터 전달 된 계정 파라미터로부터 복원될 수 있다. 이제 도 2a를 참조하면, 계정 파라미터의 파라미터 유형이 난독화된 크리덴셜들(225A)인 경우, 계정 크리덴셜들(185)을 인증하기위한 환경(200A)이 도시된다. 경로들(210-240)은 네트워크(105)를 통한 통신 링크일 수 있다. 도 1의 맥락에서, 제1 어플리케이션 서버(115A)는 (경로(210)를 통해) 어플리케이션(165A)을 클라이언트 디바이스(120)에 제공할 수 있다. 제1 어플리케이션(115A) 또는 인증 서버(110)는 (경로(210) 또는 경로(215)를 통해) 제2 어플리케이션(165B)을 참조하는 링크(170A)를 제공할 수 있다. 일부 구현예에서, 클라이언트 디바이스(120)의 사용자에 의해 입력된 계정 크리덴셜들(185)은 클라이언트-사이드 인증 인터페이스(175A)에 의해 (경로(210)를 통해) 제1 어플리케이션 서버(115A)에 전달될 수 있다. 그 다음, 제1 서버-사이드 인증 인터페이스(135A)는 (경로(220)를 통해) 인증 서버(110)로 계정 크리덴셜(185)을 인증할 수 있다. 인증 서버(110)의 인증기(130)는 차례로 계정 크리덴셜들(185)의 인증을 검증할 수 있고, 어플리케이션 서버(115A)에 확인을 송신할 수 있다(경로(220)를 통해). 어플리케이션 서버(115A)의 제1 인증 인터페이스(135A)는 차례로 확인을 제1 어플리케이션(165A)에 송신할 수 있다(경로(210)를 통해). 일부 구현예에서, 클라이언트 디바이스(120)의 제1 어플리케이션(165A)은 계정 크리덴셜들(185)을 인증 서버(110)에 직접 송신할 수 있다(경로(215)를 통해). 인증 서버(110)의 인증기(130)는 차례로 계정 크리덴셜들(185)의 인증을 검증할 수 있고, 인증 확인을 반환할 수 있다(경로(215)를 통해).
제1 어플리케이션(165A)의 링크(170A) 상에 이벤트(205)가 있는 경우(예를 들어, 클릭, 호버 오버 등), 파라미터 전송기(190)는 URL 파라미터 또는 함수 호출을 통해 계정 크리덴셜들(185)로부터 생성된 난독화된 크리덴셜들(225A)을 제2 어플리케이션(165B)에 전달할 수 있다. 일부 구현예에서, 클라이언트-사이드 인증 인터페이스(175A-175N)는 양방향 암호화 알고리즘을 사용하여 난독화된 크리덴셜들(225A)로부터 원래의 계정 크리덴셜들(185)을 복원할 수 있다. 양방향 암호화 알고리즘은 계정 파라미터를 생성하는데 사용되는 알고리즘과 동일할 수 있다. 일단 복원되면, 클라이언트-사이드 인증 인터페이스(175B)는 제2 어플리케이션(165B)을 관리하는 제2 어플리케이션 서버(115B)에 계정 크리덴셜(185)을 송신할 수 있다(경로(235)를 통해). 제2 어플리케이션 서버(115B)의 서버-사이드 인증(135B)은 인증을 위해 인증 서버(110)에 복원된 계정 크리덴셜(185)을 송신할 수 있다(경로(240)를 통해).
제2 어플리케이션 서버(115B)에 의해 난독화된 크리덴셜들(225A)로부터 복원된 계정 크리덴셜들(185)을 수신하면, 인증 서버(110)는 인증 크리덴셜(185)을 계정 식별자에 대해 저장된 계정 크리덴셜과 비교하여 일치 여부를 결정할 수 있다. 일치는 복원된 계정 크리덴셜들(185)과 인증 서버(110)에 저장된 계정 크리덴셜 사이의 일대일 대응(예를 들어, 문자별)일 수 있다. 일치가 있는 경우, 인증 서버(110)의 인증기(130)는 제2 어플리케이션 서버(115B)의 서버-사이드 인증 인터페이스(135B)에 확인 메시지를 송신할 수 있다(경로(240)를 통해). 제2 어플리케이션 서버(115B)의 서버-사이드 인증 인터페이스(135B)는 차례로 확인을 제2 어플리케이션(165B)에 송신할 수 있다(경로(235)를 통해). 일부 구현예에서, 확인 메시지는 응답 패킷의 형태일 수 있다. 반면에 일치가 없는 경우, 인증 서버(110)의 인증기(130)는 제2 어플리케이션 서버(115B)의 서버-사이드 인증 인터페이스(135B)에 실패 표시를 송신할 수 있다(경로(240)를 통해). 일부 구현예에서, 실패 표시는 응답 패킷의 형태일 수 있다. 제2 어플리케이션 서버(115B)의 서버-사이드 인증 인터페이스(135B)는 차례로 실패 표시를 제2 어플리케이션(165B)에 송신할 수 있다(경로(235)를 통해).
일부 구현예에서, 클라이언트-사이드 인증 인터페이스(135B)는 인증 서버(110)에 복원된 계정 크리덴셜들(185)을 직접 송신할 수 있다(경로(240)를 통해). 제2 어플리케이션(165B)에 의해 난독화된 크리덴셜들(225A)로부터 복원된 계정 크리덴셜들(185)을 수신하면, 인증 서버(110)는 인증 크리덴셜들(185)을 계정 식별자에 대해 저장된 계정 크리덴셜과 비교하여 일치 여부를 결정할 수 있다. 일치가 있는 경우, 인증 서버(110)의 인증기(130)는 제2 어플리케이션(165B)의 서버-사이드 인증 인터페이스(135B)에 확인 메시지를 송신할 수 있다(경로(235)를 통해). 반면에 일치가 없는 경우, 인증 서버(110)의 인증기(130)는 제2 어플리케이션(165B)의 인증 인터페이스(175B)에 실패 표시를 송신할 수 있다(경로(235)를 통해).
일부 구현예에서, 클라이언트-사이드 인증 인터페이스(175A-175N)는 인증 서버(110)에 난독화된 크리덴셜들(225A)을 직접 전송할 수 있다(경로(230)를 통해). 인증기(130)는 차례로 제2 어플리케이션(165B)으로부터 수신된 난독화된 크리덴셜들(225A)로부터 원래 계정 크리덴셜들(185)을 복원할 수 있다. 난독화된 크리덴셜들(225A)로부터 계정 크리덴셜들(185)을 복원하면, 인증 서버(110)는 인증 크리덴셜들(185)을 계정 식별자에 대해 저장된 계정 크리덴셜과 비교하여 일치 여부를 결정할 수 있다. 일치가 있는 경우, 인증 서버(110)의 인증기(130)는 제2 어플리케이션(165B)의 클라이언트-사이드 인증 인터페이스(175B)에 확인 메시지를 송신할 수 있다(경로(230)를 통해). 반면에 일치가 없는 경우, 인증 서버(110)의 인증기(130)는 제2 어플리케이션(165B)의 클라이언트-사이드 인증 인터페이스(175B)에 실패 표시를 송신할 수 있다(경로(230)를 통해).
일부 구현예에서, 클라이언트-사이드 인증 인터페이스(175A-175N)는 제2 어플리케이션 서버(110)에 난독화된 크리덴셜들(225A)을 직접 전송할 수 있다(경로(235)를 통해). 제2 어플리케이션 서버(115B)의 서버-사이드 인증(135B)은 인증을 위해 인증 서버(110)에 복원된 계정 크리덴셜(185)을 송신할 수 있다(경로(240)를 통해). 제2 어플리케이션 서버(115B)로부터 난독화된 크리덴셜들(225A)을 수신하면, 인증 서버(110)는 난독화된 크리덴셜들(225A)로부터 계정 크리덴셜들(185)을 복원할 수 있다. 인증 서버(110)의 인증기(130)는 인증 크리덴셜(185)을 계정 식별자에 대해 저장된 계정 크리덴셜과 비교하여 일치 여부를 결정할 수 있다. 일치가 있는 경우, 인증 서버(110)의 인증기(130)는 제2 어플리케이션 서버(115B)의 서버-사이드 인증 인터페이스(135B)에 확인 메시지를 송신할 수 있다(경로(240)를 통해). 제2 어플리케이션 서버(115B)의 서버-사이드 인증 인터페이스(135B)는 차례로 확인을 제2 어플리케이션(165B)에 송신할 수 있다(경로(235)를 통해). 반면에 일치가 없는 경우, 인증 서버(110)의 인증기(130)는 제2 어플리케이션 서버(115B)의 서버-사이드 인증 인터페이스(135B)에 실패 표시를 송신할 수 있다(경로(240)를 통해). 제2 어플리케이션 서버(115B)의 서버-사이드 인증 인터페이스(135B)는 차례로 실패 표시를 제2 어플리케이션(165B)에 송신할 수 있다(경로(235)를 통해).
식별된 파라미터 유형이 계정 크리덴셜들(185)의 핑거프린트면, 전달된 계정 크리덴셜들(185)의 핑거프린트는 인증을 위해 이전 핑거프린트와 비교될 수 있다. 이제 도 2b를 참조하면, 핑거프린팅된 크리덴셜들(225B)을 사용하여 계정 크리덴셜들(185)을 인증하기 위한 환경(200B)이 도시된다. 경로들(210-240)은 네트워크(105)를 통한 통신 링크일 수 있다. 도 1의 맥락에서, 제1 어플리케이션 서버(115A)는 (경로(210)를 통해) 어플리케이션(165A)을 클라이언트 디바이스(120)에 제공할 수 있다. 제1 어플리케이션(115A) 또는 인증 서버(110)는 (경로(210) 또는 경로(215)를 통해) 제2 어플리케이션(165B)을 참조하는 링크(170A)를 제공할 수 있다. 일부 구현예에서, 클라이언트 디바이스(120)의 사용자에 의해 입력된 계정 크리덴셜들(185)은 클라이언트-사이드 인증 인터페이스(175A)에 의해 (경로(210)를 통해) 제1 어플리케이션 서버(115A)에 전달될 수 있다. 그 다음, 서버-사이드 인증 인터페이스(135A)는 (경로(220)를 통해) 인증 서버(110)로 계정 크리덴셜(185)을 인증할 수 있다. 인증 서버(110)의 인증기(130)는 차례로 계정 크리덴셜들(185)의 인증을 검증할 수 있고, 어플리케이션 서버(115A)에 확인을 송신할 수 있다(경로(220)를 통해). 어플리케이션 서버(115A)의 제1 인증 인터페이스(135A)는 차례로 확인을 제1 어플리케이션(165A)에 송신할 수 있다(경로(210)를 통해). 일부 구현예에서, 클라이언트 디바이스(120)의 제1 어플리케이션(165A)은 계정 크리덴셜들(185)을 인증 서버(110)에 직접 송신할 수 있다(경로(215)를 통해). 인증 서버(110)의 인증기(130)는 차례로 계정 크리덴셜들(185)의 인증을 검증할 수 있고, 인증 확인을 반환할 수 있다(경로(215)를 통해). 인증기(130)는 또한 인증 서버(110) 상에 핑거프린팅된 크리덴셜들(255B)을 저장할 수 있다. 일부 구현예에서, 핑거프린팅된 크리덴셜들(225B)은 어플리케이션 서버(115A 및 115B) 또는 어플리케이션(165A 및 165B)에 대한 클라이언트 디바이스(120)에 저장될 수 있다.
제1 어플리케이션(165A)의 링크(170A) 상에 이벤트(205)에 응답하여, 파라미터 전송기(190)는 URL 파라미터 또는 함수 호출을 통해 계정 크리덴셜들(185)로부터 생성된 핑거프린팅된 크리덴셜들(225B)을 제2 어플리케이션(165B)에 전달할 수 있다. 핑거프린팅된 크리덴셜(225B)은 단방향 암호화 알고리즘을 사용하여 생성될 수 있고, 인증 서버(110)에 저장될 수 있다. 클라이언트-사이드 인증 인터페이스(175B)는 제2 어플리케이션(165B)을 관리하는 제2 어플리케이션 서버(115B)에 핑거프린팅된 크리덴셜들(225B)을 송신할 수 있다(경로(235)를 통해). 제2 어플리케이션 서버(115B)로부터 핑거프린팅된 크리덴셜들(225B)를 수신하면, 인증 서버(110)는 핑거프린팅된 크리덴셜들(225B)을 이전에 저장된 핑거프린팅된 크리덴셜들과 비교하여 일치 여부를 결정할 수 있다. 일치가 있는 경우, 인증 서버(110)의 인증기(130)는 제2 어플리케이션 서버(115B)의 서버-사이드 인증 인터페이스(135B)에 확인 메시지를 송신할 수 있다(경로(240)를 통해). 제2 어플리케이션 서버(115B)의 서버-사이드 인증 인터페이스(135B)는 차례로 확인을 제2 어플리케이션(165B)에 송신할 수 있다(경로(235)를 통해). 일부 구현예에서, 확인 메시지는 응답 패킷의 형태일 수 있다. 반면에 일치가 없는 경우, 인증 서버(110)의 인증기(130)는 제2 어플리케이션 서버(115B)의 서버-사이드 인증 인터페이스(135B)에 실패 표시를 송신할 수 있다(경로(240)를 통해). 일부 구현예에서, 실패 표시는 응답 패킷의 형태일 수 있다. 제2 어플리케이션 서버(115B)의 서버-사이드 인증 인터페이스(135B)는 차례로 실패 표시를 제2 어플리케이션(165B)에 송신할 수 있다(경로(235)를 통해).
일부 구현예에서, 클라이언트-사이드 인증 인터페이스(175A-175N)는 인증 서버(110)에 핑거프린팅된 크리덴셜들(225B)을 직접 전송할 수 있다(경로(230)를 통해). 인증기(130)는 차례로 제2 어플리케이션(165B)으로부터 수신된 핑거프린팅 된 크리덴셜들(225B)을 송신할 수 있다. 핑거프린팅된 크리덴셜들(225B)를 수신하면, 인증 서버(110)는 핑거프린팅된 크리덴셜들(225B)을 이전에 저장된 핑거프린팅된 크리덴셜들과 비교하여 일치 여부를 결정할 수 있다. 일치가 있는 경우, 인증 서버(110)의 인증기(130)는 제2 어플리케이션(165B)의 인증 인터페이스(175B)에 확인 메시지를 송신할 수 있다(경로(235)를 통해). 일부 구현예에서, 확인 메시지는 응답 패킷의 형태일 수 있다. 반면에 일치가 없는 경우, 인증 서버(110)의 인증기(130)는 제2 어플리케이션(165B)의 인증 인터페이스(175B)에 실패 표시를 송신할 수 있다(경로(230)를 통해). 일부 구현예에서, 실패 표시는 응답 패킷의 형태일 수 있다.
식별된 파라미터 유형이 계정 크리덴셜들(185)에 대응하는 토큰이면, 원래의 계정 크리덴셜들(185)은 인증 프로세스를 완료하기 위해 상기 토큰을 사용하여 검색될 수 있다. 이제 도 2c를 참조하면, 크리덴셜 토큰(225C)을 사용하여 계정 크리덴셜들(185)을 인증하기 위한 환경(200C)이 도시된다. 경로들(210-265)은 네트워크(105)를 통한 통신 링크일 수 있다. 도 1의 맥락에서, 제1 어플리케이션 서버(115A)는 (경로(210)를 통해) 어플리케이션(165A)을 클라이언트 디바이스(120)에 제공할 수 있다. 제1 어플리케이션(115A) 또는 인증 서버(110)는 (경로(210) 또는 경로(215)를 통해) 제2 어플리케이션(165B)을 참조하는 링크(170A)를 제공할 수 있다. 일부 구현예에서, 클라이언트 디바이스(120)의 사용자에 의해 입력된 계정 크리덴셜들(185)은 클라이언트-사이드 인증 인터페이스(175A)에 의해 (경로(210)를 통해) 제1 어플리케이션 서버(115A)에 전달될 수 있다. 그 다음, 제1 서버-사이드 인증 인터페이스(135A)는 (경로(220)를 통해) 인증 서버(110)로 계정 크리덴셜(185)을 인증할 수 있다. 인증 서버(110)의 인증기(130)는 차례로 계정 크리덴셜들(185)의 인증을 검증할 수 있고, 어플리케이션 서버(115A)에 확인을 송신할 수 있다(경로(220)를 통해). 일부 구현예에서, 확인 메시지는 응답 패킷의 형태일 수 있다. 어플리케이션 서버(115A)의 제1 인증 인터페이스(135A)는 차례로 확인을 제1 어플리케이션(165A)에 송신할 수 있다(경로(210)를 통해). 일부 구현예에서, 클라이언트 디바이스(120)의 제1 어플리케이션(165A)은 계정 크리덴셜들(185)을 인증 서버(110)에 직접 송신할 수 있다(경로(215)를 통해). 인증 서버(110)의 인증기(130)는 차례로 계정 크리덴셜들(185)의 인증을 검증할 수 있고, 인증 확인을 반환할 수 있다(경로(215)를 통해).
일부 구현예에서, 인증 서버(110)의 인증기(130)는 계정 크리덴셜들(185)에 대한 크리덴셜 토큰(225C)을 생성할 수 있고, 토큰 캐시(125)에 대해 계정 크리덴셜들(185)을 저장할 수 있다(경로(265)를 통해). 일부 구현예에서, 서버-사이드 인증 인터페이스(135A)는 계정 크리덴셜들(185)에 대한 크리덴셜 토큰(225C)을 생성할 수 있고, 토큰 캐시(125)에 대해 계정 크리덴셜들(185)을 저장할 수 있다(경로(245)를 통해). 일부 구현예에서, 제1 어플리케이션(165A)의 클라이언트-사이드 인증 인터페이스(175A)는 계정 크리덴셜들(185)에 대한 크리덴셜 토큰(225C)을 생성할 수 있고, 토큰 캐시(125)에 대해 계정 크리덴셜들(185)을 저장할 수 있다(경로(250)를 통해). 크리덴셜 토큰(225C)은 제2 어플리케이션(165B)과 같은 다른 어플리케이션들(165B-165N)에 의한 추가 인증을 위해 계정 크리덴셜들(185)을 참조 또는 식별하는데 사용될 수 있다.
제1 어플리케이션(165A)의 링크(170A) 상에 이벤트(205)에 응답하여, 파라미터 전송기(190)는 URL 파라미터 또는 함수 호출을 통해 계정 크리덴셜들(185)로부터 생성된 크리덴셜 토큰(225C)을 제2 어플리케이션(165B)에 전달할 수 있다. 일단 제2 어플리케이션(165B)에 의해 수신되면, 클라이언트-사이드 인증 인터페이스(175B)는 제2 어플리케이션(165B)을 관리하는 제2 어플리케이션 서버(115B)에 크리덴셜 토큰(225C)을 송신할 수 있다(경로(235)를 통해). 제2 어플리케이션 서버(115B)의 서버-사이드 인증(135B)은 인증을 위해 인증 서버(110)에 크리덴셜 토큰(225C)을 송신할 수 있다(경로(240)를 통해). 제2 어플리케이션 서버(115B)로부터 크리덴셜 토큰(225C)을 수신하면, 인증 서버(110)는 토큰 캐시(125)로부터 계정 크리덴셜들(185)을 검색할 수 있다. 그 다음, 인증 서버(110)의 인증기(130)는 인증 크리덴셜(185)을 계정 식별자에 대해 저장된 계정 크리덴셜과 비교하여 일치 여부를 결정할 수 있다. 일치가 있는 경우, 인증 서버(110)의 인증기(130)는 제2 어플리케이션 서버(115B)의 서버-사이드 인증 인터페이스(135B)에 확인 메시지를 송신할 수 있다(경로(240)를 통해). 일부 구현예에서, 확인 메시지는 응답 패킷의 형태일 수 있다. 제2 어플리케이션 서버(115B)의 서버-사이드 인증 인터페이스(135B)는 차례로 확인을 제2 어플리케이션(165B)에 송신할 수 있다(경로(235)를 통해). 반면에 일치가 없는 경우, 인증 서버(110)의 인증기(130)는 제2 어플리케이션 서버(115B)의 서버-사이드 인증 인터페이스(135B)에 실패 표시를 송신할 수 있다(경로(240)를 통해). 제2 어플리케이션 서버(115B)의 서버-사이드 인증 인터페이스(135B)는 차례로 실패 표시를 제2 어플리케이션(165B)에 송신할 수 있다(경로(235)를 통해).
일부 구현예에서, 클라이언트-사이드 인증 인터페이스(175B)는 인증 서버(110)에 크리덴셜 토큰(185)을 송신할 수 있다(경로(240)를 통해). 제2 어플리케이션(165B)으로부터 크리덴셜 토큰(225C)을 수신하면, 인증 서버(110)는 토큰 캐시(125)로부터 계정 크리덴셜들(185)을 검색할 수 있다(경로(265)를 통해). 그 다음, 인증 서버(110)는 인증 크리덴셜(185)을 계정 식별자에 대해 저장된 계정 크리덴셜과 비교하여 일치 여부를 결정할 수 있다. 일치가 있는 경우, 인증 서버(110)의 인증기(130)는 제2 어플리케이션(165B)의 서버-사이드 인증 인터페이스(135B)에 확인 메시지를 송신할 수 있다(경로(235)를 통해). 일부 구현예에서, 확인 메시지는 응답 패킷의 형태일 수 있다. 반면에 일치가 없는 경우, 인증 서버(110)의 인증기(130)는 제2 어플리케이션(165B)의 인증 인터페이스(175B)에 실패 표시를 송신할 수 있다(경로(235)를 통해). 일부 구현예에서, 실패 표시는 응답 패킷의 형태일 수 있다.
일부 구현예에서, 클라이언트-사이드 인증 인터페이스(175A-175N)는 인증 서버(110)에 크리덴셜 토큰(225C)을 직접 전송할 수 있다(경로(230)를 통해). 인증기(130)는 제2 어플리케이션(165B)으로부터 수신된 크리덴셜 토큰(225C)을 사용하여 토큰 캐시(125)에 저장된 계정 크리덴셜들(185)을 검색할 수 있다(경로(265)를 통해). 계정 크리덴셜들(185)을 복원하면, 인증 서버(110)는 인증 크리덴셜들(185)을 계정 식별자에 대해 저장된 계정 크리덴셜과 비교하여 일치 여부를 결정할 수 있다. 일치가 있는 경우, 인증 서버(110)의 인증기(130)는 제2 어플리케이션(165B)의 클라이언트-사이드 인증 인터페이스(175B)에 확인 메시지를 송신할 수 있다(경로(230)를 통해). 일부 구현예에서, 확인 메시지는 응답 패킷의 형태일 수 있다. 반면에 일치가 없는 경우, 인증 서버(110)의 인증기(130)는 제2 어플리케이션(165B)의 클라이언트-사이드 인증 인터페이스(175B)에 실패 표시를 송신할 수 있다(경로(230)를 통해). 일부 구현예에서, 실패 표시는 응답 패킷의 형태일 수 있다.
일부 구현예에서, 클라이언트-사이드 인증 인터페이스(175A-175N)는 크리덴셜 토큰(225C)을 사용하여 원격 토큰 캐시(125)로부터 계정 크리덴셜들(225C)을 검색할 수 있다(경로(255)를 통해). 일부 구현예에서, 클라이언트-사이드 인증 인터페이스(175A-175N)는 크리덴셜 토큰(225C)을 사용하여 로컬 토큰 캐시(125)로부터 계정 크리덴셜들(225C)을 검색할 수 있다. 원격 토큰 캐시(125) 또는 로컬 토큰 캐시(195)로부터 복원된 계정 크리덴셜들(185)을 사용하여, 인증 인터페이스(175B)는 계정 크리덴셜들(185)을 인증 서버(110)에 송신할 수 있다(경로 235를 통해). 그 다음, 인증 서버(110)는 인증 크리덴셜(185)을 계정 식별자에 대해 저장된 계정 크리덴셜과 비교하여 일치 여부를 결정할 수 있다. 일치가 있는 경우, 인증 서버(110)의 인증기(130)는 제2 어플리케이션(165B)의 서버-사이드 인증 인터페이스(135B)에 확인 메시지를 송신할 수 있다(경로(235)를 통해). 일부 구현예에서, 확인 메시지는 응답 패킷의 형태일 수 있다. 반면에 일치가 없는 경우, 인증 서버(110)의 인증기(130)는 제2 어플리케이션(165B)의 인증 인터페이스(175B)에 실패 표시를 송신할 수 있다(경로(235)를 통해). 일부 구현예에서, 실패 표시는 응답 패킷의 형태일 수 있다.
일부 구현예에서, 원격 토큰 캐시(125) 또는 로컬 토큰 캐시(195)로부터 복원된 계정 크리덴셜들(185)을 사용하여, 제2 어플리케이션(165B)의 인증 인터페이스(175B)는 계정 크리덴셜들(185)을 제2 어플리케이션 서버(115B)에 송신할 수 있다(경로(235)를 통해). 제2 어플리케이션 서버(115B)의 서버-사이드 인증(135B)은 인증 서버(110)에 계정 크리덴셜들(185)을 송신할 수 있다(경로(240)를 통해). 그 다음, 인증 서버(110)는 인증 크리덴셜(185)을 계정 식별자에 대해 저장된 계정 크리덴셜과 비교하여 일치 여부를 결정할 수 있다. 일치가 있는 경우, 인증 서버(110)의 인증기(130)는 제2 어플리케이션 서버(165B)의 서버-사이드 인증 인터페이스(135B)에 확인 메시지를 송신할 수 있다(경로(230)를 통해). 제2 어플리케이션 서버(115B)의 서버-사이드 인증 인터페이스(135B)는 차례로 확인을 제2 어플리케이션(165B)에 송신할 수 있다(경로(235)를 통해). 일부 구현예에서, 확인 메시지는 응답 패킷의 형태일 수 있다. 반면에 일치가 없는 경우, 인증 서버(110)의 인증기(130)는 제2 어플리케이션 서버(115B)의 서버-사이드 인증 인터페이스(135B)에 실패 표시를 송신할 수 있다(경로(235)를 통해). 일부 구현예에서, 실패 표시는 응답 패킷의 형태일 수 있다. 제2 어플리케이션 서버(115B)의 서버-사이드 인증 인터페이스(135B)는 차례로 확인을 제2 어플리케이션(165B)에 송신할 수 있다(경로(230)를 통해).
도 1로 돌아가면, 인증 확인이 인증 서버(110)로부터 또는 어플리케이션 서버들(115A-115N) 중 임의의 것을 통해 링크(170A-170N)에 의해 참조되는 어플리케이션(165A-165N)에 의해 수신될 수 있다. 인증 확인은 이전에 로그인했던 어플리케이션(165A-165N)(예를 들어, 제1 어플리케이션(165A))으로부터의 계정 크리덴셜(185)에 특정한 계정 설정을 포함할 수 있다. 확인을 수신하면, 링크(170A-170N)에 의해 참조되는 어플리케이션(165A-165N)은 전체 또는 부분 로그인을 수행할 수 있다. 어플리케이션(165A-165N)에 의한 확인 메시지의 파싱 및 해석은 어플리케이션 프로그래밍 인터페이스를 사용하여 수행될 수 있다. 완전 로그인 하에서, 링크(170A-170N)에 의해 참조되는 어플리케이션(165A-165N)은 계정 크리덴셜들(185)의 계정 설정들을 자동으로 적용할 수 있다. 이러한 방식으로, 하나의 어플리케이션(165A-165N)으로부터 다른 어플리케이션(165A-165N)으로 계정 파라미터를 전달하는 것은 끊김없는 전환 및 인증을 가능하게 하여, 프라이버시 및 보안 문제를 해결할 수 있다. 부분 로그인 하에서, 링크(170A-170N)에 의해 참조되는 어플리케이션(165A-165N)은 계정 크리덴셜들이 자동으로 채워진 로그인 프롬프트를 열 수 있다. 로그인 프롬프트에 대한 긍정적 응답에 응답하여, 링크(170A- 170N)에 의해 참조되는 어플리케이션(165A-165N)은 어플리케이션(165A-165N)의 실행을 계속할 수 있다. 한편, 실패 표시가 수신되면, 링크(170A-170N)에 의해 참조되는 어플리케이션(165A-165N)은 계속 실행될 수 있다. 실행의 계속은 링크(170A-170N)에 의해 참조되는 어플리케이션(165A-165N)으로 인증하는데 실패했기 때문에, 계정 크리덴셜(185)에 특정한 계정 설정이 없을 수 있다. 어플리케이션(165A-165N)에 의한 실패 표시의 파싱 및 해석은 어플리케이션 프로그래밍 인터페이스를 사용하여 수행될 수 있다. 일부 구현예에서, 링크(170A-170N)에 의해 참조되는 어플리케이션(165A-165N)은 인증 실패를 표시하는 프롬프트를 디스플레이할 수 있다.
이제 도 3a 및 3b를 참조하면, 파라미터들을 통해 계정 인증 정보를 전달하는 방법(300)의 흐름도가 도시된다. 방법(300)과 관련하여 본 명세서에 기술된 기능은 도 1에 도시된 시스템(100), 도 2a-2c에 도시된 시스템들(200A-200C) 또는 도 5에 도시된 컴퓨팅 디바이스 또는 그것들의 임의의 조합에 의해 수행되거나 그렇지 않으면 실행될 수 있다. 일부 구현예에서, 방법(300)의 기능들은 클라이언트 디바이스(120), 인증 서버(110) 및 임의의 어플리케이션 서버(115A-115N) 사이에서 분할될 수 있다.
보다 상세하게는, 단계(302)에서, 클라이언트 디바이스상에서 실행되는 제1 어플리케이션(어플리케이션 A)은 제1 서버(서버 A)에 계정 크리덴셜을 전송할 수 있다. 단계(304)에서, 제1 서버는 클라이언트 디바이스로부터 계정 크리덴셜들을 수신할 수 있고, 계정 크리덴셜들을 인증할 수 있다. 단계(306)에서, 제1 서버는 계정 파라미터를 제1 어플리케이션에 대한 링크에 삽입할지 여부를 결정할 수 있다. 결정은 정책에 따르거나 어플리케이션(예: 제1 어플리케이션)에 특정화될 수 있다. 제1 서버가 계정 파라미터가 삽입될 것으로 결정하면, 단계(308)에서, 제1 서버는 어떤 유형의 파라미터인지 결정할 수 있다. 파라미터 유형이 난독화면, 단계(310)에서, 제1 서버는 계정 크리덴셜들에 양방향 암호화 알고리즘을 적용하여 난독화된 파라미터를 생성할 수 있다. 파라미터 유형이 핑거프린트면, 단계(312)에서, 제1 서버는 계정 크리덴셜들에 단방향 암호화 알고리즘을 적용하여 핑거프린팅된 파라미터를 생성할 수 있다. 단계(314)에서, 제1 서버는 핑거프린트를 저장할 수 있다. 파라미터 유형이 캐시면, 단계(316)에서, 제1 서버는 계정 크리덴셜들을 식별하는 크리덴셜 토큰을 생성할 수 있다. 단계(318)에서, 제1 서버는 원격 캐시 상에 크리덴셜 토큰을 저장할 수 있다. 단계(320)에서, 제1 서버는 계정 파라미터를 제1 어플리케이션에 대한 링크에 삽입할 수 있다. 단계(322)에서, 제1 서버는 제1 어플리케이션에 대한 제2 어플리케이션(어플리케이션 B)을 참조하는 링크를 클라이언트 디바이스에 전송할 수 있다.
단계(324)에서, 클라이언트 디바이스에서 실행되는 제1 어플리케이션은 제2 어플리케이션을 참조하는 링크를 수신할 수 있다. 단계(326)에서, 제1 어플리케이션은 링크 상의 이벤트를 모니터링할 수 있다. 링크 상에 이벤트가 있으면, 단계(328)에서, 제1 어플리케이션은 링크가 계정 파라미터를 포함하는지 여부를 결정할 수 있다. 링크가 링크를 포함하지 않으면, 단계(330)에서, 제1 어플리케이션은 어떤 파라미터 유형을 사용할지를 결정할 수 있다. 결정은 정책에 따르거나 어플리케이션(예: 제1 어플리케이션)에 특정화될 수 있다. 파라미터 유형이 난독화면, 단계(332)에서, 제1 어플리케이션은 계정 크리덴셜들에 양방향 암호화 알고리즘을 적용하여 난독화된 파라미터를 생성할 수 있다. 파라미터 유형이 핑거프린트면, 단계(334)에서, 제1 어플리케이션은 계정 크리덴셜들에 단방향 암호화 알고리즘을 적용하여 핑거프린팅된 파라미터를 생성할 수 있다. 단계(336)에서, 제1 어플리케이션은 핑거프린트를 저장할 수 있다. 파라미터 유형이 캐시면, 단계(338)에서, 제1 어플리케이션은 계정 크리덴셜들을 식별하는 크리덴셜 토큰을 생성할 수 있다. 단계(340)에서, 제1 어플리케이션은 로컬 캐시 상에 크리덴셜 토큰을 저장할 수 있다. 단계(342)에서, 제1 어플리케이션은 (URI 프로토콜 또는 함수 호출을 사용하여) 계정 파라미터를 제2 파라미터에 전달할 수 있다.
단계(344)에서, 제2 어플리케이션은 제1 어플리케이션으로부터 계정 파라미터를 수신할 수 있다. 단계(346)에서, 제2 어플리케이션은 어떤 유형의 파라미터가 사용되는지를 결정할 수 있다. 파라미터 유형이 난독화면, 단계(348)에서, 제2 어플리케이션은 양방향 암호화 알고리즘을 적용함으로써 계정 파라미터로부터 계정 크리덴셜들을 복원할 수 있다. 파라미터 유형이 캐시면, 단계(352)에서, 제2 어플리케이션은 계정 크리덴셜들에 대한 요청과 함께 토큰을 전송할 수 있다. 단계(354)에서, 캐시(로컬 또는 원격)는 계정 크리덴셜들에 대한 요청을 수신할 수 있다. 단계(356)에서, 캐시는 계정 크리덴셜들을 식별할 수 있다. 단계(358)에서, 캐시는 계정 크리덴셜들을 제2 어플리케이션에 전송할 수 있다. 단계(360)에서, 제2 어플리케이션은 캐시로부터 계정 크리덴셜들을 수신할 수 있다. 파라미터 유형이 난독화 또는 캐시인 경우, 단계(350)에서, 제2 어플리케이션은 인증을 위해 제2 서버(서버 B)에 계정 크리덴셜을 전송할 수 있다. 단계(362)에서, 제2 서버는 제2 어플리케이션으로부터 계정 크리덴셜들을 수신할 수 있다. 그 다음, 제2 서버는 단계(370)에서 계정 크리덴셜들을 인증하기 위해 진행할 수 있다.
파라미터 유형이 핑거프린트인 경우, 단계(354)에서, 제2 어플리케이션은 핑거프린팅된 크리덴셜들을 제2 서버에 전송할 수 있다. 단계(364)에서, 제2 서버는 제2 어플리케이션으로부터 핑거프린팅된 크리덴셜들을 수신할 수 있다. 단계(366)에서, 제2 서버는 제2 어플리케이션으로부터 수신된 핑거 크리덴셜들과 비교하기 위해 핑거프린트 스토리지에 액세스할 수 있다. 단계(368)에서, 제2 서버는 핑거프린팅된 크리덴셜들이 스토리지에 있는지 여부를 결정할 수 있다. 핑거프린팅된 크리덴셜들이 스토리지에 있으면, 제2 서버는 단계(370)에서 인증을 진행할 수 있다.
성공하면, 단계(372)에서, 제2 서버는 계정 설정들을 식별할 수 있다. 단계(374)에서, 제2 서버는 계정 설정과 함께 확인을 전송할 수 있다. 단계(378)에서, 제2 어플리케이션은 제2 서버로부터 인증 확인을 수신할 수 있다. 단계(380)에서, 제2 어플리케이션은 제1 어플리케이션으로 인증하는데 사용 된 계정 크리덴셜들과 연관된 계정 설정을 적용할 수 있다. 반면에, 성공하지 못하면, 단계(376)에서, 제2 서버는 인증 실패의 표시를 전송할 수 있다. 단계(382)에서, 제2 어플리케이션은 인증 실패 표시를 수신할 수 있다. 단계(384)에서, 제2 어플리케이션은 실행을 계속할 수 있다.
이제 도 4를 참조하면, 파라미터들을 통해 계정 인증 정보를 전달하는 방법(400)의 흐름도가 도시된다. 방법(400)과 관련하여 본 명세서에 기술된 기능은 도 1에 도시된 시스템(100), 도 2a-2c에 도시된 시스템들(200A-200C) 또는 도 5에 도시된 컴퓨팅 디바이스 또는 그것들의 임의의 조합에 의해 수행되거나 그렇지 않으면 실행될 수 있다. 일부 구현예에서, 방법(400)의 기능들은 클라이언트 디바이스(120), 인증 서버(110) 및 임의의 어플리케이션 서버(115A-115N) 사이에서 분할될 수 있다. 간략한 개요에서, 인증 서버는 클라이언트 디바이스에서 실행되는 제1 어플리케이션을 인증하는데 사용되는 계정 크리덴셜로부터 도출된 계정 파라미터를 링크에 삽입하기 위해 클라이언트 디바이스에 제공할 수 있다(동작(405)). 인증 서버는 상기 제1 어플리케이션으로부터 상기 제2 어플리케이션으로 상기 계정 파라미터를 전달하는 것에 후속하여, 상기 클라이언트 디바이스의 상기 제2 어플리케이션으로부터, 상기 제2 어플리케이션을 인증하기 위한 요청을 수신할 수 있다(동작(410)). 인증 서버는 상기 제1 어플리케이션에 제공되고 상기 링크를 통해 상기 제2 어플리케이션에 전달된 상기 계정 파라미터를 사용하여 상기 제2 어플리케이션에 대해 상기 클라이언트 디바이스를 인증할 수 있다(동작(415)). 인증 서버는 제2 어플리케이션에 대한 클라이언트 디바이스의 인증에 응답하여 클라이언트 디바이스의 제2 어플리케이션에 인증 표시를 전송할 수 있다(동작(420)).
인증 서버는 클라이언트 디바이스에서 실행되는 제1 어플리케이션을 인증하는데 사용되는 계정 크리덴셜로부터 도출된 계정 파라미터를 링크에 삽입하기 위해 클라이언트 디바이스에 제공할 수 있다(동작(405)). 링크는 클라이언트 디바이스에서 실행가능한 제2 어플리케이션을 참조하는 주소를 포함할 수 있다. 계정 파라미터는 링크 상의 인터렉션에 응답하여 제1 어플리케이션으로부터 제2 어플리케이션으로 전달될 수 있다. 일부 구현예들에서, 인증 서버는 상기 클라이언트 디바이스에서 실행되는 상기 제1 어플리케이션을 인증하는데 사용되는 상기 계정 크리덴셜에 기초하여 상기 계정 파라미터를 생성할 수 있다. 상기 계정 파라미터는 단방향 또는 양방향 암호화 알고리즘을 사용하여 상기 계정 크리덴셜로부터 도출된다. 계정 파라미터는 링크에 삽입되거나 포함될 수 있다. 일부 구현예들에서, 상기 계정 파라미터는 링크의 링크 파라미터 또는 클라이언트 디바이스에서 실행되는 플랫폼 어플리케이션에 의한 함수 호출을 통해 상기 링크 상의 인터렉션에 응답하여 상기 제1 어플리케이션으로부터 상기 제2 어플리케이션으로 전달될 수 있다.
인증 서버는 상기 제1 어플리케이션으로부터 상기 제2 어플리케이션으로 상기 계정 파라미터를 전달하는 것에 후속하여, 상기 클라이언트 디바이스의 상기 제2 어플리케이션으로부터, 상기 제2 어플리케이션을 인증하기 위한 요청을 수신할 수 있다(동작(410)). 인증 요청은 계정 파라미터를 포함할 수 있다. 일부 구현예들에서, 인증 서버는 상기 제2 어플리케이션과 연관된 어플리케이션 서버를 통해 상기 클라이언트 디바이스로부터 인증 요청을 수신할 수 있다. 일부 구현예에서, 인증 요청은 계정 크리덴셜들을 포함할 수 있다. 계정 크리덴셜들은 다른 여러가지 중에서도 계정 식별자, 계정 액세스 코드 및 기타 암호화 파라미터를 포함할 수 있다.
인증 서버는 상기 제1 어플리케이션에 제공되고 상기 링크를 통해 상기 제2 어플리케이션에 전달된 상기 계정 파라미터를 사용하여 상기 제2 어플리케이션에 대해 상기 클라이언트 디바이스를 인증할 수 있다(동작(415)). 일부 구현예에서, 인증 서버는 상기 인증 요청에 포함된 상기 계정 파라미터에 상기 양방향 암호화 알고리즘을 적용함으로써 상기 계정 크리덴셜을 복원할 수 있다. 일부 구현예들에서, 인증 서버는 양방향 암호화 알고리즘을 사용하여 복원된 계정 크리덴셜들이 원래의 계정 크리덴셜들과 일치하는지 결정함으로써 상기 제2 어플리케이션에 대해 상기 클라이언트 디바이스를 인증할 수 있다. 일부 구현예들에서, 인증 서버는 상기 요청에 포함된 상기 계정 파라미터가 단방향 암호화 알고리즘을 사용하여 별도로 도출된 계정 파라미터와 일치한다고 결정함으로써 상기 제2 어플리케이션에 대해 상기 클라이언트 디바이스를 인증할 수 있다. 일부 구현예들에서, 인증 서버는 상기 인증 요청에 포함된 상기 계정 파라미터가 캐시에 저장된 계정 파라미터와 일치한다고 결정함으로써 상기 제2 어플리케이션에 대해 상기 클라이언트 디바이스를 인증할 수 있다. 캐시는 인증 서버와 연관된 데이터베이스일 수 있다.
인증 서버는 제2 어플리케이션에 대한 클라이언트 디바이스의 인증에 응답하여 클라이언트 디바이스의 제2 어플리케이션에 인증 표시를 전송할 수 있다(동작(420)). 일부 구현예에서, 인증 표시는 제2 기기에 대한 클라이언트 디바이스의 인증이 성공인지 또는 실패인지 여부의 표시를 포함할 수 있다. 일부 구현예에서, 인증 표시는 제2 기기에 적용하기 위한 클라이언트 디바이스에 대한 계정 설정을 포함할 수 있다.
도 5는 일부 구현예에 따라 본 명세서에서 논의된 컴퓨터 시스템들(인증 서버(110) 및 그 컴포넌트들, 어플리케이션 서버(115A-115B) 및 그 컴포넌트들 및 클라이언트 디바이스(120) 및 그 컴포넌트들을 포함) 중 어느 하나를 구현하기 위해 채용될 수 있는 예시적 컴퓨터 시스템(500)의 일반적 아키텍처를 도시한다. 컴퓨터 시스템(500)은 디스플레이를 위해 네트워크(105)를 통해 정보를 제공하는데 사용될 수 있다. 도 5의 컴퓨터 시스템(500) 도 5의 컴퓨터 시스템(600)은 메모리(525)에 통신적으로 연결된 하나 이상의 프로세서들(520), 하나 이상의 통신 인터페이스(505), 및 하나 이상의 출력 디바이스들(510)(예를 들어, 하나 이상의 디스플레이 유닛들) 및 하나 이상의 입력 디바이스들(515)을 포함한다. 프로세서(520)는 인증 서버(110) 또는 인증 서버(110)의 다른 컴포넌트들에 포함될 수 있다. 프로세서(520)는 어플리케이션 서버(115A-115B) 또는 어플리케이션 서버(115A-115B)의 다른 컴포넌트들에 포함될 수 있다. 프로세서(520)는 클라이언트 디바이스(120) 또는 클라이언트 디바이스(120)의 다른 컴포넌트들에 포함될 수 있다.
도 5의 컴퓨터 시스템(500)에서, 메모리(525)는 임의의 컴퓨터 판독가능 저장 매체를 포함할 수 있고, 각각의 시스템들에 대해 본 명세서에서 기술된 다양한 기능들을 구현하기 위한 프로세서-실행가능 명령어들과 같은 컴퓨터 명령어들 뿐만 아니라 그와 연관된 임의의 데이터, 그에 의해 생성된 임의의 데이터 또는 통신 인터페이스(들) 또는 입력 디바이스(들)(있는 경우)을 통해 수신된 임의의 데이터를 저장할 수 있다. 다시 도 1의 시스템(110)을 참조하면, 인증 서버(110)는 하나 이상의 컨텐츠 유닛들의 인벤토리의 가용성, 하나 이상의 컨텐츠 유닛들의 예약 등과 관련된 정보를 저장하는 메모리(525)를 포함할 수 있다. 메모리(525)는 데이터베이스(150)를 포함할 수 있다. 도 5에 도시된 프로세서(들)(520)은 메모리(525)에 저장된 명령어들을 실행하는데 사용될 수 있고, 그렇게 함으로써, 명령어들의 실행에 따라 프로세싱되거나 생성된 다양한 정보를 메모리로부터 판독하거나 메모리에 기록할 수 있다.
도 5에 도시된 컴퓨터 시스템(500)의 프로세서(520)는 또한 명령어들의 실행에 따라 다양한 정보를 전송 또는 수신하도록 통신 인터페이스(들)(505)에 통신적으로 연결되거나 제어될 수 있다. 예를 들어, 통신 인터페이스(들)(505)는 유선 또는 무선 네트워크, 버스, 또는 기타 통신 수단에 연결될 수 있으며, 따라서 컴퓨터 시스템(500)이 다른 디바이스들(예를 들어, 다른 컴퓨터 시스템들)에 정보를 전송하거나 또는 그로부터 정보를 수신하게 할 수 있다. 도 1 또는 도 5의 시스템에서 명시적으로 도시되지 않았지만, 하나 이상의 통신 인터페이스는 시스템(500)의 컴포넌트들 간의 정보 흐름을 용이하게 한다. 일부 구현예에서, 통신 인터페이스(들)는 컴퓨터 시스템(500)의 적어도 일부 양태들에 대한 액세스 포털로서 웹사이트를 제공하도록(예를 들어, 다양한 하드웨어 컴포넌트들 또는 소프트웨어 컴포넌트들을 통해) 구성될 수 있다. 통신 인터페이스(505)의 예는 사용자가 인증 서버(110)와 통신할 수 있는 사용자 인터페이스(예를 들어, 웹페이지)를 포함한다.
도 5에 도시된 컴퓨터 시스템(500)의 출력 디바이스들(510)은 예를 들어, 명령어들의 실행과 관련하여 다양한 정보가 보여 지거나 인식될 수 있도록 제공될 수 있다. 입력 디바이스(들)(515)은 예를 들어, 사용자가 수동 조절을 하거나, 선택을 하거나, 데이터를 입력하거나 또는 명령어들의 실행 중에 프로세서와 다양한 방식으로 인터렉션할 수 있도록 제공될 수 있다. 본 명세서에서 논의된 다양한 시스템들에 이용될 수 있는 일반적인 컴퓨터 시스템 아키텍처에 관한 추가 정보가 본 명세서에서 더 제공된다.
본 발명의 구현예들과 본 명세서에 기술된 동작들은 본 발명에 개시된 구조들 및 그들의 구조적 균등물들 또는 그들 중 하나 이상의 조합들을 포함하는 디지털 전자회로 또는 컴퓨터 소프트웨어, 펌웨어 또는 하드웨어에서 구현될 수 있다. 본 명세서에 기술된 본 발명의 구현예들은 하나 이상의 컴퓨터 프로그램들 즉, 데이터 프로세싱 장치에 의해 실행 또는 데이터 프로세싱 장치의 동작을 제어하기 위한 컴퓨터 저장 매체에 인코딩된 컴퓨터 프로그램 명령어들의 하나 이상의 모듈들로서 구현될 수 있다. 프로그램 명령어들은 데이터 프로세싱 장치에 의해 실행하기 위한 적절한 수신기 장치에 전송하기 위한 정보를 인코딩하기 위해 생성된 인공적으로 생성된 전파된 신호 즉, 기계-생성 전기, 광학 또는 전자기적 신호에 인코딩될 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 저장 디바이스, 컴퓨터 판독가능 저장 기판, 랜덤 또는 직렬 엑세스 메모리 어레이 또는 디바이스 또는 그들 중 하나 이상의 조합이거나 그에 포함될 수 있다. 또한, 컴퓨텅 저장 매체는 전파된 신호가 아니지만, 컴퓨터 저장 매체는 인공적으로 생성된 전파된 신호에 인코딩된 컴퓨터 프로그램 명령어들의 소스 또는 목적지를 포함할 수 있다. 또한, 컴퓨터 저장 매체는 하나 이상의 별개의 물리적 컴포넌트들 또는 매체(예를 들면, 다수의 CD들, 디스크들, 또는 다른 저장 디바이스들)이거나 또는 그에 포함될 수 있다.
본 명세서에 개시된 구성들은 보다 전통적인 텔레비전 프로그래밍 소스들(예를 들어 케이블, 위성, 공중파 또는 기타 신호를 통해 수신됨)과 인터넷 연결을 통합하도록 구성된 프로세싱 모듈을 포함할 수 있는, 스마트 텔레비전 모듈(또는 연결된 텔레비전 모듈, 하이브리드 텔레비전 모듈 등)에서 구현될 수 있다. 스마트 텔레비전 모듈은 텔레비전 세트에 물리적으로 통합될 수 있거나 셋톱 박스, 블루레이 또는 다른 디지털 미디어 플레이어, 게임 콘솔, 호텔 텔레비전 시스템 및 다른 컴패니언 디바이스와 같은 별도의 디바이스를 포함할 수 있다. 스마트 텔레비전 모듈은 시청자가 웹, 로컬 케이블 TV 채널, 위성 TV 채널에서 또는 로컬 하드 드라이브에 저장된 비디오, 영화, 사진 및 기타 컨텐츠를 검색하고 찾을 수 있도록 구성될 수 있다. 셋톱 박스(STB) 또는 셋톱 유닛(STU)은 튜너를 포함하고 텔레비전 세트 및 외부 신호 소스에 연결될 수 있는 정보 기기 디바이스를 포함할 수있으며, 그 신호는 컨텐츠로 변환되어 텔레비전 스크린 또는 기타 디스플레이 디바이스에 디스플레이될 수 있다. 스마트 텔레비전 모듈은 웹브라우저 및 복수의 스트리밍 미디어 서비스들, 연결된 케이블 또는 위성 미디어 소스, 다른 웹 "채널”들 등과 같은 복수의 상이한 어플리케이션들에 대한 아이콘들을 포함하는 홈스크린 또는 최상위 레벨 스크린을 제공하도록 구성될 수 있다. 스마트 텔레비전 모듈은 또한 사용자에게 전자적 프로그래밍 가이드를 제공하도록 구성될 수 있다. 스마트 텔레비전 모듈에 대한 동반 어플리케이션은 모바일 컴퓨팅 디바이스에서 사용가능 프로그램에 관한 추가 정보를 사용자에게 제공하여 사용자가 스마트 텔레비전 모듈 등을 제어할 수 있게 동작가능할 수 있다. 일부 구현예에서, 상기 구성들은 랩톱 컴퓨터 또는 다른 개인용 컴퓨터, 스마트폰, 다른 모바일폰, 핸드헬드 컴퓨터, 태블릿 PC 또는 다른 컴퓨팅 디바이스에서 구현될 수 있다. 일부 구현예들에서, 본 명세서에 개시된 구성들은 (예를 들어, 다른 컴퓨팅 디바이스 또는 네트워크(105)와의) 인터넷 연결을 통합하도록 구성된 프로세싱 모듈을 포함할 수 있는 웨어러블 디바이스 또는 컴포넌트(예를 들어, 스마트 시계)에서 구현될 수 있다.
본 명세서에 기술된 동작들은 하나 이상의 컴퓨터 판독가능 저장 디바이스들에 저장된 데이터 또는 다른 소스들로부터 수신된 데이터에서 데이터 프로세싱 장치에 의해 수행되는 동작들로서 구현될 수 있다.
용어 “데이터 프로세싱 장치”, “데이터 프로세싱 시스템”, “사용자 디바이스” 또는 “컴퓨팅 디바이스”는 예시로서 프로그래머블 프로세서, 컴퓨터, 시스템 온 칩, 다수의 칩들 또는 앞서 언급된 것들의 조합들을 포함하는 데이터를 프로세싱하기 위한 모든 종류의 장치, 디바이스들 및 기계들을 포함한다. 상기 장치는 특수 목적 논리 회로, 예를 들어 FPGA(field programmable gate array) 또는 ASIC(application specific integrated circuit)을 포함할 수 있다. 또한, 장치는 하드웨어 이외에 문제의 컴퓨터 프로그램에 대한 실행 환경을 생성하는 코드, 예를 들어 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제, 크로스-플랫폼 런타임(cross-platform runtime) 실행 환경, 가상 머신 또는 그들 중 하나 이상의 조합을 구성하는 코드를 포함할 수 있다. 장치 및 실행 환경은 웹 서비스들, 분산 컴퓨팅 및 그리드 컴퓨팅 인프라와 같은 다양한 컴퓨팅 모델 인프라를 실현할 수 있다. 인증기(130) 및 인증 인터페이스(135A-135N)는 하나 이상의 데이터 프로세싱 장치, 컴퓨팅 디바이스 또는 프로세서를 포함하거나 공유할 수 있다.
컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 어플리케이션, 스크립트 또는 코드로도 알려져 있음)은 컴파일된 또는 인터프리트된 언어들, 선언적 또는 절차적 언어들을 포함하는 임의의 형태의 프로그래밍 언어로 작성될 수 있으며, 독립 실행형 프로그램으로서 또는 모듈, 컴포넌트, 서브루틴, 객체로서 또는 컴퓨팅 환경에서 사용하기에 적합한 기타 단위를 포함하는 임의의 형태로 배포될 수 있다. 컴퓨터 프로그램은 파일 시스템의 파일에 대응할 수 있지만, 반드시 그런 것은 아니다. 프로그램은 다른 프로그램들이나 데이터, 예를 들어, 마크업 언어 문서에 저장된 하나 이상의 스크립트들을 가지는 파일의 부분에, 문제되는 프로그램 전용 단일의 파일에 또는 다수의 조정된 파일들, 예를 들어, 하나 이상의 모듈들, 서브프로그램 또는 코드의 일부를 저장하는 파일들에 저장될 수 있다. 컴퓨터 프로그램은 하나의 컴퓨터 또는 하나의 사이트에 위치되어 있거나 다수의 사이트들에 걸쳐서 분산되어 있고 통신 네트워크에 의해 상호연결된 다수의 컴퓨터들에서 실행되도록 배포될 수 있다.
본 명세서에 기술된 프로세스들 및 논리 흐름들은 입력 데이터를 동작하고 출력을 생성함으로써 액션들을 수행하기 위해 하나 이상의 컴퓨터 프로그램들을 실행하는 하나 이상의 프로그래머블 프로세서들에 의해 수행될 수 있다. 프로세스들 및 논리 흐름들은 또한 FPGA 또는 ASIC와 같은 특수 목적 논리 회로에 의해 수행될 수 있고, 장치는 또한 특수 목적 논리 회로로서 구현될 수 있다.
컴퓨터 프로그램의 실행에 적절한 프로세서들은, 예시로서, 범용 및 전용 마이크로프로세서들과 임의의 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서들을 포함한다. 일반적으로, 프로세서는 읽기-전용 메모리 또는 랜덤 액세스 메모리 또는 둘 모두로부터 명령어들 및 데이터를 수신할 것이다. 컴퓨터의 필수 엘리먼트들은 명령어들에 따라 액션들을 수행하기 위한 프로세서 및 명령어들 및 데이터를 저장하기 위한 하나 이상의 메모리 디바이스들이다. 일반적으로, 컴퓨터는 데이터를 저장하기 위한 하나 이상의 대형 저장 디바이스들 예를 들면, 자기적, 자기-광학 디스크들 또는 광학적 디스크들 또한 포함하거나 또는 그로부터 데이터를 수신하거나 그에 데이터를 전송하기 위해 동작적으로 결합될 수 있다. 그러나, 컴퓨터는 상기 디바이스들을 반드시 가져야하는 것은 아니다. 추가로, 컴퓨터는 다른 디바이스, 예를 들어, 모바일 전화, 개인 휴대 정보 단말기(PDA), 모바일 오디오 또는 비디오 플레이어, 게임 콘솔, GPS 수신기 또는 휴대용 저장 디바이스 예를 들어, 범용 직렬 버스(USB) 플래시 드라이브에 내장될 수 있다. 컴퓨터 프로그램 명령어들 및 데이터를 저장하기에 적합한 디바이스들은 예를 들어, EPROM, EEPROM 및 플래시 메모리 디바이스들과 같은 반도체 메모리 디바이스들; 예를 들어, 내부 하드 디스크들 또는 이동식 디스크들과 같은 자기 디스크들; 및 CD-ROM 및 DVD-ROM 디스크들을 포함하는 모든 형태의 비휘발성 메모리, 매체 및 메모리 디바이스들을 포함한다. 프로세서 및 메모리는 특수 목적 논리 회로에 의해 보충되거나 그 안에 통합될 수 있다.
사용자와의 인터렉션을 제공하기 위해, 본 명세서에서 기술된 본 발명의 구현예들은 사용자에게 정보를 디스플레이하기 위해 예를 들어, CRT(cathode ray tube) 또는 LCD(liquid crystal display) 모니터와 같은 디스플레이 디바이스 및 사용자가 컴퓨터에 입력을 제공할 수 있는 키보드 및 포인팅 디바이스 예를 들어, 마우스 또는 트랙볼을 갖는 컴퓨터에서 구현될 수 있다. 다른 종류의 디바이스들이 사용자와의 인터렉션을 제공하기 위해 사용될 수 있다. 예를 들어, 사용자에게 제공되는 피드백은 시각 피드백, 청각 피드백 또는 촉각 피드백과 같은 임의의 형태의 감각적 피드백일 포함할 수 있고, 사용자로부터의 입력은 음향, 음성 또는 촉각 입력을 포함하는 임의의 형태로 수신될 수 있다. 추가로, 컴퓨터는 사용자에 의해 사용되는 디바이스에 문서를 송수신함으로써 예를 들어, 웹 브라우저로부터 수신된 요청에 응답하여, 사용자의 사용자 디바이스상의 웹 브라우저에 웹 페이지를 전송함으로써 사용자와 인터렉션할 수 있다.
본 명세서에서 기술된 발명의 구현예는 예를 들어 데이터 서버와 같은 백엔드 컴포넌트, 어플리케이션 서버와 같은 미들웨어 컴포넌트 또는 그래픽 사용자 인터페이스를 가지는 사용자 컴퓨터 또는 사용자가 본 명세서에 기술된 본 발명의 구현예와 인터렉션할 수 있는 웹 브라우저와 같은 프론트엔드 컴포넌트 또는 하나 이상의 상기 백엔드, 미들웨어 또는 프론트엔드 컴포넌트들의 임의의 조합을 포함하는 컴퓨팅 시스템에서 구현될 수 있다. 시스템의 컴포넌트들은 디지털 데이터 통신의 임의의 형태 또는 매체, 예를 들어 통신 네트워크에 의해 상호연결될 수 있다. 통신 네트워크들의 예는 근거리 통신망("LAN") 및 광역 통신망("WAN"), 인터-네트워크(예를 들어, 인터넷) 및 피어투피어 네트워크(예를 들어, 애드혹 피어투피어 네트워크)를 포함한다.
시스템(500) 또는 시스템(100)과 같은 컴퓨팅 시스템은 클라이언트 및 서버를 포함할 수 있다. 예를 들어, 인증 서버(110)는 적어도 하나의 데이터 센터 또는 서버 팜에 위치된 복수의 서버들 포함할 수 있다. 사용자와 서버는 일반적으로 서로 멀리 떨어져 있으며, 일반적으로 통신 네트워크를 통해 인터렉션한다. 사용자와 서버의 관계는 각각의 컴퓨터에서 실행되고 서로 사용자-서버 관계를 갖는 컴퓨터 프로그램에 의해 발생한다. 일부 구현예에서, 서버는(예를 들어, 사용자 디바이스와 인터렉션하는 사용자에게 데이터를 디스플레이하고 사용자 입력을 수신하기 위해) 사용자 디바이스에 데이터(예를 들어, HTML 페이지)를 전송한다. 사용자 디바이스에서 생성된 데이터(예를 들어, 사용자 인터렉션의 결과)는 서버에서 사용자 디바이스로부터 수신될 수 있다.
본 명세서는 많은 특정 구현 세부내용을 포함하지만, 이들은 본 발명의 범위 또는 청구될 수 있는 범위에 대한 제한으로서 해석되어서는 안되며, 오히려 본 명세서에 기술된 시스템 및 방법의 특정한 구현예에 특정한 구성들에 대한 설명으로 해석되어야 한다. 별개의 구현예의 맥락에서 본 명세서에서 기술되는 일정 구성들은 또한 단일 구현예에서 조합하여 구현될 수 있다. 반대로, 단일 구현예의 맥락에서 기술된 다양한 구성들은 또한 다수의 구현예에서 개별적으로 또는 임의의 적합한 서브 조합으로 구현될 수 있다. 게다가, 구성들은 일정 조합으로 동작하고 심지어 초기적으로 그렇게 청구되는 것으로서 상기에서 기술될 수 있지만, 청구된 조합으로부터의 하나 이상의 구성들은 일부 경우, 조합으로부터 제거될 수 있고, 청구된 조합은 서브 조합 또는 서브 조합의 변형으로 안내될 수 있다.
유사하게, 동작들이 특정한 순서로 도면에서 도시되었지만, 이는 상기 동작들이 도시된 특정한 순서로 또는 시계열적 순서로 수행되어야 함을 요구하는 것으로서 또는 모든 도시된 동작들이 수행되어야 하는 것으로 이해되어서는 안된다. 일부 경우에, 청구항들에서 기재된 액션들은 상이한 순서로 수행되고 여전히 원하는 결과들을 달성할 수 있다. 추가로, 첨부 도면들에 도시된 프로세스들은 원하는 결과들을 달성하기 위해 특정한 도시된 순서, 또는 시계열적 순서를 반드시 필요로 하지 않는다.
특정 환경에서, 멀티태스킹과 병렬 프로세싱은 이점이 있다. 게다가, 상기 기술된 구현예에서 다양한 시스템 컴포넌트들의 분리는 모든 구현예에서 그러한 분리가 필요한 것으로서 이해되어서는 안되며, 일반적으로 기술된 프로그램 컴포넌트들 및 시스템들은 단일의 소프트웨어 제품에 함께 통합되거나 다수의 소프트웨어 제품들에 패키징될 수 있다고 이해되어야 한다. 인증기(130) 및 인증 인터페이스(135A-135N)는 인증 서버(110)의 일부, 단일 모듈, 하나 이상의 프로세싱 모듈을 갖는 논리 디바이스, 하나 이상의 서버 또는 검색 엔진의 일부일 수 있다.
일부 예시적 구현 및 구현예들을 설명하였지만, 전술한 예는 예시적인 것이며 제한적인 것은 아니며 예시로서 제시되었다. 특히, 본 명세서에 제시된 많은 예들이 방법 동작들 또는 시스템 엘리먼트들의 특정 조합을 포함하지만, 그러한 동작들 및 엘리먼트들은 동일한 목적을 달성하기 위해 다른 방식으로 결합될 수 있다. 하나의 구현예와 관련하여 논의된 동작, 엘리먼트 및 구성들은 다른 구현 또는 구현예에서 유사한 역할로부터 배제되지 않는다.
본 명세서에서 사용된 문구 및 용어는 설명의 목적을 위한 것이며 제한적인 것으로 간주되어서는 안된다. "포함(including)" "포함(comprising)" "포함(having)" "포함(containing)" "포함(involving)" "포함(characterized by)" "포함(characterized in that)” 및 본 명세서에서 이들의 변형들은 열거된 아이템들, 그 균등물 및 추가 아이템들뿐만 아니라 배타적으로 열거된 아이템들로 구성되는 대안적 구현예들을 포함하는 것을 의미한다. 일 구현예에서, 본 명세서에 기술된 시스템 및 방법은 설명된 엘리먼트들, 동작들 또는 컴포넌트들 중 하나, 하나 이상의 조합 또는 전부로 구성된다.
단수형으로 본 명세서에서 언급된 시스템 및 방법의 구현 또는 엘리먼트에 관한 참조는 이들 엘리먼트들 복수형을 포함하는 구현예들을 포함할 수 있고, 복수형으로 본 명세서에서 언급된 임의의 구현예 또는 엘리먼트에 대한 임의의 참조는 단수형 엘리먼트를 포함하는 구현예들을 포함할 수 있다. 단수 또는 복수 형태의 참조는 현재 개시된 시스템 또는 방법, 그들의 컴포넌트들, 동작 또는 엘리먼트를 단수 또는 복수 구성으로 제한하려는 것이 아니다. 임의의 정보, 동작 또는 엘리먼트에 기초한 임의의 동작 또는 엘리먼트에 대한 참조는 해당 동작 또는 엘리먼트가 적어도 부분적으로 임의의 정보, 동작 또는 엘리먼트에 기초하는 구현예를 포함할 수 있다.
본 명세서에 개시된 임의의 구현예은 임의의 다른 구현예와 결합될 수 있으며, "구현", "일부 구현", "대안적 구현", "다양한 구현", "하나의 구현” 등은 반드시 상호 배타적이지 않고, 구현예과 관련하여 기술된 특정한 구성, 구조 또는 특성이 적어도 하나의 구현예에 포함될 수 있음을 나타내는 것이다. 본 명세서에 사용된 용어들은 반드시 모두 동일한 구현예을 지칭하는 것은 아니다. 임의의 구현예는 본 명세서에 개시된 양태들 및 구현예들과 일관된 방식으로 임의의 다른 구현예와 포괄적으로 또는 배타적으로 결합될 수 있다.
“또는"에 대한 참조는 "또는"을 사용하여 기술된 임의의 용어가 기술된 용어들 중 하나, 하나 이상 및 전부를 나타낼 수 있도록 포괄적인 것으로 해석될 수 있다.
도면, 상세한 설명 또는 청구범위의 기술적 구성에 참조 부호가 있는 경우, 상기 참조 부호는 도면, 상세한 설명 및 청구 범위의 명료성을 증가시키는 목적으로만으로 포함되었다. 따라서, 참조 부호들 또는 그것들의 부재는 임의의 청구항 엘리먼트들의 범위에 대해 어떠한 제한 효과도 가지지 않는다.
본 명세서에 기술된 시스템 및 방법은 그 특성을 벗어나지 않고 다른 특정 형태로 구체화될 수 있다. 본 명세서에서 제공된 예시들은 파라미터들을 통해 계정 인증 정보를 전달하고 그에 대한 대응값을 이용하는 것에 관한 것이지만, 본 명세서에 기술된 시스템 및 방법은 다른 환경에 적용되는 것을 포함할 수 있다. 전술한 구현예들은 기술된 시스템 및 방법을 제한하는 것이라기 보다는 예시적인 것이다. 따라서, 본 명세서에 기술된 시스템 및 방법의 범위는 상술한 설명보다는 첨부된 청구범위에 의해 표시되며, 청구범위의 의미 및 범위 내에서의 변경들도 그 안에 포함된다.

Claims (21)

  1. 파라미터들을 통해 계정 인증 정보를 전달하는 방법으로서,
    하나 이상의 프로세서를 갖는 인증 서버에 의해, 클라이언트 디바이스에서 실행되는 제1 어플리케이션을 인증하는데 사용되는 계정 크리덴셜(account credential)로부터 도출된 계정 파라미터를 링크에 삽입하기 위해 클라이언트 디바이스에 제공하는 단계, 상기 링크는 상기 클라이언트 디바이스에서 실행가능한 제2 어플리케이션을 참조하는 주소를 포함하며, 상기 계정 파라미터는 상기 링크 상의 인터렉션에 응답하여 상기 제1 어플리케이션으로부터 상기 제2 어플리케이션으로 전달되며;
    상기 인증 서버에 의해, 상기 제1 어플리케이션으로부터 상기 제2 어플리케이션으로 상기 계정 파라미터를 전달하는 것에 후속하여, 상기 클라이언트 디바이스의 상기 제2 어플리케이션으로부터, 상기 제2 어플리케이션을 인증하기 위한 요청을 수신하는 단계, 상기 요청은 상기 계정 파라미터를 포함하며;
    상기 인증 서버에 의해, 상기 제1 어플리케이션에 제공되고 상기 링크를 통해 상기 제2 어플리케이션에 전달된 상기 계정 파라미터를 사용하여 상기 제2 어플리케이션에 대해 상기 클라이언트 디바이스를 인증하는 단계;
    상기 인증 서버에 의해, 상기 제2 어플리케이션에 대해 상기 클라이언트 디바이스를 인증하는 것에 기초하여, 상기 제2 어플리케이션에 대한 상기 클라이언트 디바이스의 인증의 성공 또는 실패 중 하나를 식별하는 인증 표시를 전송하는 단계를 포함하는 것을 특징으로 하는 방법.
  2. 청구항 1에 있어서, 상기 인증 표시가 인증 성공을 식별하는 경우, 상기 방법은 상기 계정 파라미터를 사용하여 상기 제2 어플리케이션 상의 계정에 대한 전체 또는 부분 로그인을 수행하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  3. 청구항 2에 있어서, 상기 인증 표시가 인증 실패를 식별하는 경우, 상기 제2 어플리케이션은 상기 제2 어플리케이션의 계정에 대한 전체 또는 부분 로그인을 수행하기 위해 상기 계정 파라미터를 사용하지 않고 실행되는 것을 특징으로 하는 방법.
  4. 청구항 1 내지 3 중 어느 한 항에 있어서, 상기 계정 파라미터를 제공하는 단계는 양방향 암호화 알고리즘을 사용하여 상기 계정 크리덴셜로부터 도출 된 계정 파라미터를 제공하는 것을 포함하며; 그리고
    상기 제2 어플리케이션에 대해 상기 클라이언트 디바이스를 인증하는 단계는 상기 인증 요청에 포함된 상기 계정 파라미터에 상기 양방향 암호화 알고리즘을 적용함으로써 상기 계정 크리덴셜을 복원하는 것을 더 포함하는 것을 특징으로 하는 방법.
  5. 청구항 1 내지 3 중 어느 한 항에 있어서, 상기 계정 파라미터를 제공하는 단계는 단방향 암호화 알고리즘을 사용하여 상기 계정 크리덴셜로부터 도출 된 계정 파라미터를 제공하는 것을 포함하며; 그리고
    상기 제2 어플리케이션에 대해 상기 클라이언트 디바이스를 인증하는 단계는 상기 단방향 암호화 알고리즘을 사용하여 상기 계정 크리덴셜로부터 별도로 도출된 제2 계정 파라미터가 상기 인증 요청에 포함된 상기 계정 파라미터와 일치한다고 결정하는 것을 더 포함하는 것을 특징으로 하는 방법.
  6. 선행하는 청구항들 중 어느 한 항에 있어서, 상기 제2 어플리케이션에 대해 상기 클라이언트 디바이스를 인증하는 단계는 상기 인증 요청에 포함된 상기 계정 파라미터가 캐시에 저장된 계정 파라미터와 일치한다고 결정하는 것을 더 포함하는 것을 특징으로 하는 방법.
  7. 선행하는 청구항들 중 어느 한 항에 있어서, 상기 계정 파라미터를 제공하는 단계는 상기 링크 상의 인터렉션에 응답하여 상기 제1 어플리케이션으로부터 상기 제2 어플리케이션으로 전달된 상기 계정 파라미터를 상기 링크의 링크 파라미터 및 상기 클라이언트 디바이스에서 실행되는 플랫폼 어플리케이션에 의한 함수 호출 중 적어도 하나를 통해 제공하는 것을 포함하는 것을 특징으로 하는 방법.
  8. 선행하는 청구항들 중 어느 한 항에 있어서, 상기 인증하기 위한 요청을 수신하는 단계는 상기 제2 어플리케이션과 연관된 어플리케이션 서버를 통해 상기 클라이언트 디바이스의 상기 제2 어플리케이션으로부터 상기 인증하기 위한 요청을 수신하는 것을 포함하며; 그리고
    상기 인증 표시를 전송하는 단계는 상기 제2 어플리케이션과 연관된 상기 어플리케이션 서버를 통해 상기 클라이언트 디바이스의 상기 제2 어플리케이션에 인증 표시를 전송하는 것을 더 포함하는 것을 특징으로 하는 방법.
  9. 선행하는 청구항들 중 어느 한 항에 있어서, 상기 계정 파라미터를 제공하는 단계는 상기 링크에 포함된 상기 계정 파라미터를 제공하는 것을 더 포함하며, 상기 링크는 상기 제2 어플리케이션을 참조하는 상기 주소를 포함하며, 상기 링크 상의 인터렉션은 상기 클라이언트 디바이스로 하여금 상기 제2 어플리케이션을 설치하게 하고, 상기 제2 어플리케이션의 설치에 후속하여 상기 계정 파라미터를 상기 제2 어플리케이션에 전달하게 하는 것을 특징으로 하는 방법.
  10. 선행하는 청구항들 중 어느 한 항에 있어서, 상기 인증 서버에 의해, 상기 클라이언트 디바이스에서 실행되는 상기 제1 어플리케이션을 인증하는데 사용되는 상기 계정 크리덴셜에 기초하여 상기 계정 파라미터를 생성하는 단계를 더 포함하며; 그리고
    상기 계정 파라미터를 제공하는 단계는 상기 계정 파라미터를 생성하는 단계에 응답하여, 상기 계정 파라미터 및 상기 제2 어플리케이션을 참조하는 상기 주소를 포함하는 링크를 제공하는 것을 더 포함하는 것을 특징으로 하는 방법.
  11. 선행하는 청구항들 중 어느 한 항에 있어서, 상기 인증 표시를 전송하는 단계는 상기 인증 크리덴셜에 대응하는 상기 제2 어플리케이션에 대한 계정 설정을 포함하는 상기 인증 표시를 전송하는 것을 포함하며, 상기 계정 설정의 수신은 상기 클라이언트 디바이스로 하여금 상기 제2 어플리케이션에 대한 상기 계정 설정을 적용하게 하는 것을 특징으로 하는 방법.
  12. 파라미터들을 통해 계정 인증 정보를 전달하는 시스템으로서,
    하나 이상의 프로세서를 갖는 인증 서버에서 실행되는 인증기를 포함하며, 상기 인증기는:
    클라이언트 디바이스에서 실행되는 제1 어플리케이션을 인증하는데 사용되는 계정 크리덴셜(account credential)로부터 도출된 계정 파라미터를 링크에 삽입하기 위해 클라이언트 디바이스에 제공하고, 상기 링크는 상기 클라이언트 디바이스에서 실행가능한 제2 어플리케이션을 참조하는 주소를 포함하며, 상기 계정 파라미터는 상기 링크 상의 인터렉션에 응답하여 상기 제1 어플리케이션으로부터 상기 제2 어플리케이션으로 전달되며;
    상기 제1 어플리케이션으로부터 상기 제2 어플리케이션으로 상기 계정 파라미터를 전달하는 것에 후속하여, 상기 클라이언트 디바이스의 상기 제2 어플리케이션으로부터, 상기 제2 어플리케이션을 인증하기 위한 요청을 수신하고, 상기 요청은 상기 계정 파라미터를 포함하며;
    상기 제1 어플리케이션에 제공되고 상기 링크를 통해 상기 제2 어플리케이션에 전달된 상기 계정 파라미터를 사용하여 상기 제2 어플리케이션에 대해 상기 클라이언트 디바이스를 인증하고;
    상기 제2 어플리케이션에 대해 상기 클라이언트 디바이스를 인증하는 것에 기초하여, 상기 제2 어플리케이션에 대한 상기 클라이언트 디바이스의 인증의 성공 또는 실패 중 하나를 식별하는 인증 표시를 전송하도록 구성되는 것을 특징으로 하는 시스템.
  13. 청구항 12에 있어서, 상기 인증기는:
    양방향 암호화 알고리즘을 사용하여 상기 계정 크리덴셜에서 도출된 상기 계정 파라미터를 제공하고; 그리고
    상기 인증 요청에 포함된 상기 계정 파라미터에 상기 양방향 암호화 알고리즘을 적용함으로써 상기 계정 크리덴셜을 복원하여 상기 제2 어플리케이션에 대해 상기 클라이언트 디바이스를 인증하도록 더 구성되는 것을 특징으로 하는 시스템.
  14. 청구항 12에 있어서, 상기 인증기는:
    단방향 암호화 알고리즘을 사용하여 상기 계정 크리덴셜에서 도출된 상기 계정 파라미터를 제공하고; 그리고
    상기 단방향 암호화 알고리즘을 사용하여 상기 계정 크리덴셜로부터 별도로 도출된 제2 계정 파라미터가 상기 인증 요청에 포함된 상기 계정 파라미터와 일치한다고 결정함으로써 제2 어플리케이션에 대해 상기 클라이언트 디바이스를 인증하도록 더 구성되는 것을 특징으로 하는 시스템.
  15. 청구항 12 내지 14 중 어느 한 항에 있어서, 상기 인증기는 상기 인증 요청에 포함된 상기 계정 파라미터가 캐시에 저장된 계정 파라미터와 일치한다고 결정함으로써 상기 제2 어플리케이션에 대해 상기 클라이언트 디바이스를 인증하도록 더 구성되는 것을 특징으로 하는 시스템.
  16. 청구항 12 내지 15 중 어느 한 항에 있어서, 상기 인증기는 상기 링크 상의 인터렉션에 응답하여 상기 제1 어플리케이션으로부터 상기 제2 어플리케이션으로 전달된 상기 계정 파라미터를 상기 링크의 링크 파라미터 및 상기 클라이언트 디바이스에서 실행되는 플랫폼 어플리케이션에 의한 함수 호출 중 적어도 하나를 통해 제공하도록 더 구성되는 것을 특징으로 하는 시스템.
  17. 청구항 12 내지 16 중 어느 한 항에 있어서, 상기 인증기는:
    상기 제2 어플리케이션과 연관된 어플리케이션 서버를 통해 상기 클라이언트 디바이스의 상기 제2 어플리케이션으로부터 상기 인증 요청을 수신하고; 그리고
    상기 제2 어플리케이션과 연관된 상기 어플리케이션 서버를 통해 상기 클라이언트 디바이스의 상기 제2 어플리케이션에 인증 표시를 전송하도록 더 구성되는 것을 특징으로 하는 시스템.
  18. 청구항 12 내지 17 중 어느 한 항에 있어서, 상기 인증기는 상기 링크에 포함된 상기 계정 파라미터를 제공하도록 더 구성되며, 상기 링크는 상기 제2 어플리케이션을 참조하는 상기 주소를 포함하며, 상기 링크 상의 인터렉션은 상기 클라이언트 디바이스로 하여금 상기 제2 어플리케이션을 설치하게 하고, 상기 제2 어플리케이션의 설치에 후속하여 상기 계정 파라미터를 상기 제2 어플리케이션에 전달하게 하는 것을 특징으로 하는 시스템.
  19. 청구항 12 내지 16 중 어느 한 항에 있어서, 상기 인증기는:
    상기 클라이언트 디바이스에서 실행되는 상기 제1 어플리케이션을 인증하는데 사용되는 상기 계정 크리덴셜에 기초하여 상기 계정 파라미터를 생성하고; 그리고
    상기 계정 파라미터를 생성에 응답하여, 상기 계정 파라미터 및 상기 제2 어플리케이션을 참조하는 상기 주소를 포함하는 링크를 제공하도록 더 구성되는 것을 특징으로 하는 시스템.
  20. 청구항 12 내지 17 중 어느 한 항에 있어서, 상기 인증기는 상기 인증 크리덴셜에 대응하는 상기 제2 어플리케이션에 대한 계정 설정을 포함하는 상기 인증 표시를 전송하도록 더 구성되며, 상기 계정 설정의 수신은 상기 클라이언트 디바이스로 하여금 상기 제2 어플리케이션에 대한 상기 계정 설정을 적용하게 하는 것을 특징으로 하는 시스템.
  21. 실행시 하나 이상의 프로세서로 하여금 청구항 1 내지 19 중 어느 한 항에 따른 방법을 수행하게 하는 계정 인증 정보를 전달하기 위한 명령어들을 저장하는 비일시적 컴퓨터 판독가능 매체.
KR1020197023279A 2017-04-18 2017-12-15 파라미터들을 통한 인증 정보 전달 KR102278660B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201762486852P 2017-04-18 2017-04-18
US62/486,852 2017-04-18
PCT/US2017/066610 WO2018194724A1 (en) 2017-04-18 2017-12-15 Passing authentication information via parameters

Publications (2)

Publication Number Publication Date
KR20190101464A true KR20190101464A (ko) 2019-08-30
KR102278660B1 KR102278660B1 (ko) 2021-07-16

Family

ID=60943145

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197023279A KR102278660B1 (ko) 2017-04-18 2017-12-15 파라미터들을 통한 인증 정보 전달

Country Status (6)

Country Link
US (2) US11228579B2 (ko)
EP (1) EP3533205B1 (ko)
JP (1) JP6894518B2 (ko)
KR (1) KR102278660B1 (ko)
CN (1) CN110036615B (ko)
WO (1) WO2018194724A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102464011B1 (ko) * 2022-03-11 2022-11-04 농협은행(주) 자동 로그인 지원 서버 및 그 방법

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110601824B (zh) * 2019-08-26 2023-06-13 北京思源理想控股集团有限公司 信息的传输方法及装置
CN115225293B (zh) * 2021-04-16 2024-03-08 中国移动通信集团辽宁有限公司 鉴权方法、系统、装置、设备及计算机存储介质
US12021860B2 (en) * 2022-05-23 2024-06-25 Bank Of America Corporation Systems and methods for multi-stage, identity-based, digital authentication

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100653040B1 (ko) * 2005-09-27 2006-12-01 에스케이 텔레콤주식회사 생체정보를 이용하여 솔루션을 통합 인증하기 위한 시스템및 방법
KR20140110540A (ko) * 2013-03-08 2014-09-17 에스케이플래닛 주식회사 어플리케이션 간의 신뢰관계 획득 방법, 이를 위한 시스템 및 장치
EP3094064A1 (en) * 2015-05-14 2016-11-16 Fmr Llc Transferring an authenticated session between security contexts

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101651671A (zh) * 2008-08-14 2010-02-17 鸿富锦精密工业(深圳)有限公司 跨系统用户身份验证系统及方法
US8095972B1 (en) * 2008-10-06 2012-01-10 Southern Company Services, Inc. Secure authentication for web-based applications
CN101478396B (zh) * 2008-12-04 2011-06-15 黄希 一种基于私有密钥的低相关性的单向跨域身份验证方法及其应用
CN102006306B (zh) * 2010-12-08 2013-07-31 高新兴科技集团股份有限公司 一种web服务的安全认证方法
CN102315945A (zh) * 2011-10-20 2012-01-11 江苏三源教育实业有限公司 基于私有协议的统一身份认证方法
JP2013149238A (ja) 2011-12-22 2013-08-01 Canon Marketing Japan Inc 情報処理装置、情報処理方法、プログラム
CN102801713A (zh) * 2012-07-23 2012-11-28 中国联合网络通信集团有限公司 网站登录方法、系统和访问管理平台
US8769651B2 (en) * 2012-09-19 2014-07-01 Secureauth Corporation Mobile multifactor single-sign-on authentication
CN103905497B (zh) * 2012-12-27 2018-04-27 腾讯科技(深圳)有限公司 实现第三方应用业务网站登录的方法、装置及应用平台
US9027097B2 (en) * 2013-02-06 2015-05-05 Dropbox, Inc. Client application assisted automatic user log in
CN103634329B (zh) * 2013-12-20 2017-11-17 百度在线网络技术(北京)有限公司 跨站点的登录方法、系统及装置
CN104301316A (zh) * 2014-10-13 2015-01-21 中国电子科技集团公司第二十八研究所 一种单点登录系统及其实现方法
US10990965B2 (en) * 2014-12-23 2021-04-27 Visa International Service Association Single sign-on using a secure authentication system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100653040B1 (ko) * 2005-09-27 2006-12-01 에스케이 텔레콤주식회사 생체정보를 이용하여 솔루션을 통합 인증하기 위한 시스템및 방법
KR20140110540A (ko) * 2013-03-08 2014-09-17 에스케이플래닛 주식회사 어플리케이션 간의 신뢰관계 획득 방법, 이를 위한 시스템 및 장치
EP3094064A1 (en) * 2015-05-14 2016-11-16 Fmr Llc Transferring an authenticated session between security contexts

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102464011B1 (ko) * 2022-03-11 2022-11-04 농협은행(주) 자동 로그인 지원 서버 및 그 방법

Also Published As

Publication number Publication date
JP2020515941A (ja) 2020-05-28
JP6894518B2 (ja) 2021-06-30
EP3533205A1 (en) 2019-09-04
US20220141208A1 (en) 2022-05-05
EP3533205B1 (en) 2020-09-16
CN110036615A (zh) 2019-07-19
US20200244644A1 (en) 2020-07-30
CN110036615B (zh) 2021-09-24
US11228579B2 (en) 2022-01-18
KR102278660B1 (ko) 2021-07-16
WO2018194724A1 (en) 2018-10-25

Similar Documents

Publication Publication Date Title
US10785207B2 (en) Automatic login method and device between multiple websites
US20220141208A1 (en) Passing authentication information via parameters
US10225260B2 (en) Enhanced authentication security
KR102392718B1 (ko) 온라인 신원의 분산 검증을 위한 시스템 및 방법
US8621589B2 (en) Cross domain single sign on
EP2696557B1 (en) System and method for accessing third-party applications based on cloud platform
CN103020687B (zh) 二维码分享方法和系统
CN109768965B (zh) 一种服务器的登录方法、设备及存储介质
US11831680B2 (en) Electronic authentication infrastructure
CN101860540B (zh) 一种识别网站服务合法性的方法及装置
WO2020140407A1 (zh) 基于云安全的云桌面登陆方法、装置、设备和存储介质
CN102682009A (zh) 一种用户登录网页的方法及系统
US20200092101A1 (en) Information processing apparatus, computer program product, and resource providing method
KR20130009624A (ko) 네트워크 서비스 교환을 제공하는 데 사용하는 방법 및 시스템
CN111031037A (zh) 用于对象存储服务的鉴权方法、装置及电子设备
KR20210112359A (ko) 브라우저 쿠키 보안
KR102362108B1 (ko) 인증 시스템 및 방법
WO2013098925A1 (ja) 情報処理装置、情報処理システム、情報処理方法およびプログラム
CN112560003A (zh) 用户权限管理方法和装置
CN110945503A (zh) 用户认证服务提供方法、网页服务器及用户终端
AU2014101079A4 (en) Secure communication method

Legal Events

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