KR101841079B1 - 연합 인증 관리 서버 및 그 동작 방법 - Google Patents

연합 인증 관리 서버 및 그 동작 방법 Download PDF

Info

Publication number
KR101841079B1
KR101841079B1 KR1020170147777A KR20170147777A KR101841079B1 KR 101841079 B1 KR101841079 B1 KR 101841079B1 KR 1020170147777 A KR1020170147777 A KR 1020170147777A KR 20170147777 A KR20170147777 A KR 20170147777A KR 101841079 B1 KR101841079 B1 KR 101841079B1
Authority
KR
South Korea
Prior art keywords
providers
provider
service
list
priority
Prior art date
Application number
KR1020170147777A
Other languages
English (en)
Inventor
조진용
장희진
공정욱
Original Assignee
한국과학기술정보연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국과학기술정보연구원 filed Critical 한국과학기술정보연구원
Priority to KR1020170147777A priority Critical patent/KR101841079B1/ko
Application granted granted Critical
Publication of KR101841079B1 publication Critical patent/KR101841079B1/ko

Links

Images

Classifications

    • 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/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
    • H04L67/322
    • 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
    • H04L67/2804
    • 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/561Adding application-functional data or data for application control, e.g. adding metadata

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Library & Information Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

연합 인증 환경에서 복수의 ID 제공자에 대한 탐색 서비스 및 모니터링 서비스를 제공하는 서버가 제공된다. 본 발명의 일 실시예에 따른 연합 인증 관리 서버는, 복수의 ID 제공자에 대한 메타데이터를 관리하는 메타데이터 관리 모듈 및 상기 메타데이터를 이용하여 상기 복수의 ID 제공자에 대한 목록을 생성하고, 사용자 단말의 요청에 응답하여 상기 복수의 ID 제공자에 대한 목록을 제공하며, 사용자 단말의 타깃 ID 제공자에 대한 선택 입력에 응답하여 상기 타깃 ID 제공자에 대한 정보를 제공하는 탐색 서비스 모듈을 포함할 수 있다.

Description

연합 인증 관리 서버 및 그 동작 방법 {server for managing federated authentication and method thereof}
본 발명은 연합 인증 관리 서버 및 그 동작 방법에 관한 것이다. 보다 자세하게는, 복수의 ID 제공자 및 복수의 서비스 제공자가 존재하는 연합 인증 환경에서, 복수의 ID 제공자에 대한 탐색 서비스와 연합 인증 서비스 이용 현황에 대한 모니터링 서비스를 제공하는 연합 인증 관리 서버 및 그 서버의 동작 방법에 관한 것이다.
연합 인증(Federated authentication)은 신뢰 관계(circle of trust)가 형성된 다수의 도메인들 사이에서 통합 인증(single sign-on; SSO)을 실현하기 위한 기술적, 정책적 체계이다. 예를 들어, 도 1에 도시된 바와 같이, 연합 인증 환경에서 ID 연합체(1, federation)는 복수의 도메인(1-1, 1-3, 1-2)으로 구성되고, 도메인(1-1)에 속한 사용자는 도메인(1-1)에 위치한 ID 제공자의 인증을 통해 다른 도메인(1-1)에 위치한 서비스 제공자의 서비스를 이용할 수 있다.
각 도메인(1-1, 1-3, 1-2)은 일반적으로 개별 학교, 개별 기업 또는 개별 연구 기관과 대응된다. 두 연구기관 간에 신뢰 관계가 구축되면 한 기관에 소속된 연구자가 다른 기관에서 제공하는 웹 기반 응용 서비스를 이용할 수 있게 되기 때문에, 기술 선도, 연구 자원 공유, 클라우드 서비스 활용 등의 목적으로 연합 인증이 이용되고 있다.
연합 인증 환경에서, 사용자의 인증은 도 2에 도시된 과정에 따라 수행된다. 특히, 과정(①)에서, 서비스 제공자가 공급하는 웹 기반 응용서비스를 이용하기 위해서, 사용자는 인증 정보를 저장하고 있는 자신의 ID 제공자(e.g. 소속 기관)을 선택한다. 또한, 사용자는 선택된 ID 제공자(10)를 통해 과정(③, ④)에 따라 사용자 인증을 받게 된다. 이때, 탐색 서비스는 사용자가 소속 기관을 선택할 수 있도록 ID 제공자의 목록(70)을 사용자 단말에 제공하고, 선택된 ID 제공자(10)의 정보를 서비스 제공자(30)에게 제공하는 역할을 한다.
현재, 다수의 ID 연합체들은 WayF(Where are you From), Java WayF 등의 탐색 서비스 모듈을 이용하여 탐색 서비스를 제공하고 있다. 하지만, 지금까지 제안된 탐색 서비스 모듈은 사용자에게 ID 제공자에 대한 검색 인터페이스만을 제공하고 있기 때문에, 다수의 ID 제공자 중에서 타깃 ID 제공자를 선택하기 위해, 사용자는 ID 제공자의 명칭(e.g. 소속 기관 명칭)을 검색 인터페이스를 통해 직접 입력하여야 한다. 이에 따라, 연합 인증 서비스를 이용하는 사용자의 이용 편의성이 떨어지는 문제가 야기된다.
또한, 지금까지 제안된 연합 인증 시스템은 서비스 이용 상태에 대한 실시간 모니터링, 이용 현황에 대한 통계 정보 제공 등의 서비스를 제공하지 않는다. 이에 따라, 연합 인증 시스템의 관리자 측면에서, 관리의 편의성이 떨어지고, 연합 인증 서비스 이용에 대한 유의미한 통계 정보가 제공되지 못하고 있다.
따라서, 보다 사용자 편의적인 탐색 서비스를 제공하고, 연합 인증 서비스의 이용 현황을 효과적으로 모니터링 할 수 있는 방법이 제시되어야 한다.
한국등록특허 제0960104호 (2009.04.21 공개)
본 발명이 해결하고자 하는 기술적 과제는, 다수의 ID 제공자 및 다수의 서비스 제공자가 존재하는 연합 인증 환경에서, 사용자 편의적인 탐색 서비스를 제공하는 연합 인증 관리 서버 및 그 서버의 동작 방법을 제공하는 것이다.
본 발명이 해결하고자 하는 다른 기술적 과제는, 다수의 ID 제공자 및 다수의 서비스 제공자가 존재하는 연합 인증 환경에서, 연합 인증 서비스의 이용 현황 정보를 제공하는 연합 인증 관리 서버 및 그 서버의 동작 방법을 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명의 기술분야에서의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상기 기술적 과제를 해결하기 위한, 본 발명의 일 실시예에 따른 연합 인증 관리 서버는, 복수의 ID 제공자(identity provider) 및 복수의 서비스 제공자(service provider)를 포함하는 연합 인증(federated authentication) 환경에서 연합 인증 관리 서비스를 제공하는 서버에 있어서, 상기 복수의 ID 제공자에 대한 메타데이터를 관리하는 메타데이터 관리 모듈 및 상기 메타데이터를 이용하여 상기 복수의 ID 제공자에 대한 목록을 생성하고, 사용자 단말의 요청에 응답하여 상기 복수의 ID 제공자에 대한 목록을 제공하며, 사용자 단말의 타깃 ID 제공자에 대한 선택 입력에 응답하여 상기 타깃 ID 제공자에 대한 정보를 제공하는 탐색 서비스 모듈을 포함할 수 있다.
일 실시예에서, 상기 탐색 서비스 모듈은, 상기 메타데이터를 이용하여, 상기 복수의 ID 제공자 각각의 우선순위를 결정하는 우선순위 결정부 및 상기 결정된 우선순위에 기초하여, 상기 목록을 생성하고 제공하는 목록 제공부를 포함하되, 상기 목록에서 상기 복수의 ID 제공자의 배열 순서는 상기 우선순위에 기초하여 결정될 수 있다.
일 실시예에서, 상기 연합 인증 관리 서버는, 탐색 서비스 모듈에 의해 송수신되는 메시지를 모니터링하고, 상기 모니터링의 결과를 이용하여 상기 복수의 ID 제공자에 의해 제공되는 연합 인증 서비스의 이용 현황 정보를 생성하는 모니터링 모듈을 더 포함할 수 있다.
일 실시예에서, 상기 메타데이터는 상기 복수의 ID 제공자 각각의 제1 위치 정보를 포함하고, 상기 우선순위 결정부는, 상기 제1 위치 정보와 상기 사용자 단말의 제2 위치 정보를 이용하여, 상기 사용자 단말과 상기 복수의 ID 제공자 각각과의 거리 값을 연산하고, 상기 연산된 거리 값에 기초하여 상기 우선순위를 결정할 수 있다.
일 실시예에서, 상기 메타데이터는 상기 복수의 ID 제공자 각각의 제1 명칭을 포함하고, 상기 탐색 서비스 모듈은, 상기 사용자 단말로부터 최근접 지점에 위치한 ID 제공자의 제2 명칭을 획득하는 정보 획득부를 더 포함하되, 상기 우선순위 결정부는, 상기 제1 명칭과 상기 제2 명칭 간의 텍스트 유사도에 기초하여, 상기 우선순위를 결정할 수 있다.
일 실시예에서, 상기 메타데이터는 상기 복수의 ID 제공자 각각의 제1 위치 정보 및 제1 명칭을 포함하고, 상기 탐색 서비스 모듈은, 상기 사용자 단말의 위치 정보와 상기 사용자 단말로부터 최근접 지점에 위치한 ID 제공자의 제2 명칭을 획득하는 정보 획득부를 더 포함하되, 상기 우선순위 결정부는, 상기 제1 위치 정보와 상기 사용자 단말의 제2 위치 정보를 이용하여, 상기 사용자 단말과 상기 복수의 ID 제공자 각각과의 거리 값을 연산하고, 상기 연산된 거리 값에 기초하여 상기 복수의 ID 제공자 각각에 대한 제1 스코어를 산출하며, 상기 제1 명칭과 상기 제2 명칭 간의 텍스트 유사도에 기초하여 상기 복수의 ID 제공자 각각에 대한 제2 스코어를 산출하고, 상기 제1 스코어 및 상기 제2 스코어에 기초하여, 상기 우선순위를 결정할 수 있다.
상술한 기술적 과제를 해결하기 위한 본 발명의 다른 실시예에 따른 연합 인증 관리 서비스 제공 방법은, 복수의 ID 제공자(identity provider) 및 복수의 서비스 제공자(service provider)를 포함하는 연합 인증(federated authentication) 환경에서 연합 인증 관리 서버에 의해 제공되는 방법에 있어서, 사용자 단말로부터 상기 복수의 ID 제공자에 대한 목록을 요청 받는 단계, 상기 요청에 응답하여, 상기 복수의 ID 제공자 각각의 우선순위를 결정하는 단계, 상기 결정된 우선순위에 기초하여, 상기 복수의 ID 제공자에 대한 배열 순서를 결정하는 단계 및 상기 결정된 배열 순서에 기초하여 생성된 목록을 상기 사용자 단말로 제공하는 단계를 포함할 수 있다.
상술한 기술적 과제를 해결하기 위한 본 발명의 다른 실시예에 따른 컴퓨터 프로그램은, 컴퓨팅 장치와 결합되어, 본 발명의 실시예에 따른 연합 인증 관리 서비스 제공 방법을 실행시키기 위하여, 컴퓨터로 판독가능한 기록매체에 저장될 수 있다.
도 1은 연합 인증의 개념을 설명하기 위한 도면이다.
도 2는 연합 인증 환경에서 사용자에 대한 인증이 수행되는 과정을 나타내는 도면이다.
도 3은 본 발명의 일 실시예에 따른 연합 인증 시스템의 구성도이다.
도 4 및 도 5는 본 발명의 몇몇 실시예에서 참조될 수 있는 연합 인증 시스템의 구조를 설명하기 위한 도면이다.
도 6은 본 발명의 일 실시예에 따른 연합 인증 관리 서버를 나타내는 블록도이다.
도 7 및 도 8은 본 발명의 몇몇 실시예에서 참조될 수 있는 이용 현황 정보의 예시도이다.
도 9 및 도 10은 탐색 서비스가 제공되는 과정을 설명하기 위한 도면이다.
도 11은 연합 인증 관리 서버의 일 구성 요소인 탐색 서비스 모듈을 나타내는 블록도이다.
도 12는 본 발명의 몇몇 실시예에서 참조될 수 있는 재구성 된 연합 메타데이터의 예시도이다.
도 13 및 도 14는 본 발명의 실시예에 따른 복수의 ID 제공자에 대한 우선순위를 결정 방법을 설명하기 위한 예시도이다.
도 15는 본 발명의 몇몇 실시예에서 참조될 수 있는 탐색 서비스 인터페이스의 예시도이다.
도 16은 본 발명의 다른 실시예에 따른 연합 인증 관리 서버의 하드웨어 구성도이다.
도 17 및 도 18은 본 발명의 일 실시예에 따른 ID 제공자에 대한 탐색 서비스 제공 방법을 설명하기 위한 흐름도이다.
도 19는 본 발명의 일 실시예에 따른 연합 인증 서비스에 대한 모니터링 방법을 나타내는 흐름도이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.
명세서에서 사용되는 "포함한다 (comprises)" 및/또는 "포함하는 (comprising)"은 언급된 구성 요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성 요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.
본 명세서에 대한 설명에 앞서, 본 명세서에서 사용되는 몇몇 용어들에 대하여 명확하게 하기로 한다.
본 명세서에서, 연합 인증(federated authentication)이란, 신뢰 관계(circle of trust)가 형성된 다수의 도메인들 사이에서 통합 인증(single sign-on; SSO)을 제공하는 인증 기술 또는 인증 체계를 의미한다.
본 명세서에서, ID 제공자(identity provider)란, 다수의 서비스 제공자에 대하여 인증 서비스를 제공하는 연합 인증 시스템의 구성 요소이다. ID 제공자는 동일한 신뢰 도메인 내의 복수의 서비스 제공자 또는 동일 연합체 내의 다른 신뢰 도메인에 속한 복수의 서비스 제공자에 대하여 인증 서비스를 제공할 수 있다. ID 제공자는 예를 들어 각 기관의 웹사이트 상에서 로그인 기능을 제공하는 소프트웨어 모듈 또는 상기 소프트웨어 모듈이 탑재된 서버 등의 형태로 구현될 수 있다. 따라서, 본 명세서에서 ID 제공자의 동작은 상기 서버 등의 장치가 수행하는 동작을 의미할 수 있다. 단, ID 제공자는 사용자의 인증 정보를 관리하고 있는 소속 기관, 소속 학교, 소속 기업 등을 가리키는 의미로 이용될 수도 있다. 예를 들어, ID 제공자의 명칭은 소속 기관의 명칭을 가리킨다.
본 명세서에서, 서비스 제공자(service provider)란, 사용자에게 소정의 서비스를 제공하는 연합 인증 시스템의 구성 요소이다. 서비스 제공자는 ID 제공자에 의해 인증된 사용자에 대하여 서비스를 제공한다. 서비스 제공자는 예를 들어 기관의 웹 사이트를 통해 이용할 수 있는 논문 검색 서비스, 외부의 교육 서비스 등이 될 수 있고, 상기 서비스는 서비스 제공자 측 서버를 통해 제공될 수 있다. 따라서, 본 명세서에서 서비스 제공자의 동작은 서비스 제공자 측의 서버가 수행하는 동작을 의미할 수 있다.
이하, 본 발명의 몇몇 실시예들에 대하여 첨부된 도면에 따라 상세하게 설명한다.
도 3은 본 발명의 일 실시예에 따른 연합 인증 시스템의 구성도이다.
도 3을 참조하면, 연합 인증 시스템은 복수의 ID 제공자(10) 및 복수의 서비스 제공자(30)가 존재하는 환경에서 연합 인증 서비스를 제공하는 시스템이다.
상기 연합 인증 시스템은 연합 인증 관리 서버(100), 복수의 ID 제공자(10) 및 복수의 서비스 제공자(30)를 포함하도록 구성될 수 있다. 단, 이는 본 발명의 목적을 달성하기 위한 바람직한 실시예일 뿐이며, 필요에 따라 일부 구성 요소가 추가되거나 삭제될 수 있음은 물론이다. 또한, 도 3에 도시된 연합 인증 시스템의 각각의 구성 요소들은 기능적으로 구분되는 기능 요소들을 나타낸 것으로서, 적어도 하나의 구성 요소가 실제 물리적 환경에서는 서로 통합되는 형태로 구현될 수도 있음에 유의한다. 예를 들어, ID 제공자(10), 서비스 제공자(30) 및 연합 인증 관리 서버(100) 중 적어도 둘 이상의 구성 요소는 하나의 물리적 컴퓨팅 장치 내의 서로 다른 로직(logic)으로 구현될 수도 있다.
상기 연합 인증 시스템에서, 연합 인증 관리 서버(100)는 연합 메타데이터 관리, ID 제공자에 대한 탐색 서비스 제공 및 서비스 이용 현황에 대한 모니터링 등의 관리 기능을 수행하는 컴퓨팅 장치이다. 여기서, 상기 컴퓨팅 장치는, 노트북, 데스크톱(desktop), 랩탑(laptop) 등이 될 수 있으나, 이에 국한되는 것은 아니며 컴퓨팅 기능 및 통신 기능이 구비된 모든 종류의 장치를 포함할 수 있다. 다만, 도 3에 도시된 바와 같이, 중앙 집중형 서버로 동작하는 경우라면, 연합 인증 관리 서버(100)는 고성능의 서버 컴퓨팅 장치로 구현되는 것이 바람직할 수 있다. 연합 인증 관리 서버(100)의 구성 및 동작에 대한 자세한 설명은 도 6 이하의 도면을 참조하여 상세하게 설명하도록 한다.
상기 연합 인증 시스템에서, ID 제공자(10)는 다수의 서비스 제공자에 대하여 인증 서비스를 제공하는 연합 인증 시스템의 구성 요소이다. ID 제공자는 동일한 신뢰 도메인 내의 복수의 서비스 제공자 또는 동일 연합체 내의 다른 신뢰 도메인에 속한 복수의 서비스 제공자에 대하여 인증 서비스를 제공할 수 있다.
상기 연합 인증 시스템에서, 서비스 제공자(10)는 사용자에게 소정의 서비스를 제공하는 연합 인증 시스템의 구성 요소이다. 서비스 제공자는 ID 제공자에 의해 인증된 사용자 및 해당 서비스의 이용 권한을 소지한 인가된 사용자에 대하여 서비스를 제공한다.
상기 연합 인증 시스템에서, 사용자 단말(50)은 서비스 제공자(30)의 서비스를 이용하기 위해 사용자가 이용하는 단말이다. 예를 들어, 사용자는 웹 브라우저를 통해 서비스 제공자(30)의 웹 페이지에 접속하고, ID 제공자(10)를 통해 인증을 받은 뒤, 상기 서비스를 이용할 수 있다.
상기 연합 인증 시스템을 구성하는 복수의 ID 제공자(10), 복수의 서비스 제공자(30) 및 연합 인증 관리 서버(100)는 다양한 토폴로지(topology)로 구성될 수 있다.
제1 실시예에서, 복수의 ID 제공자(10)와 복수의 서비스 제공자(30) 및 연합 인증 관리 서버(100)는 도 4에 도시된 바와 같이 풀 메시(full mesh) 토폴로지로 구성될 수 있다. 상기 제1 실시예에 따르면, 연합 인증 관리 서버(100)는 ID 제공자(10)와 서비스 제공자(30) 간의 인증 과정에 개입하지 않는다. 즉, 연합 인증 관리 서버(100)는 탐색 서비스만을 제공할 뿐, ID 제공자(10)와 서비스 제공자(30) 간의 메시지 전달(e.g. SAMML 메시지)에 관여하지 않기 때문에, 구조적으로 이용 현황의 모니터링이 쉽지 않다. 따라서, 연합 인증 관리 서버(100)는 탐색 서비스 제공 과정에서 송수신되는 HTTP 메시지를 이용하여 서비스 이용 현황에 대한 모니터링을 수행한다. 이에 대한 설명은 이후 도 6, 도 10 및 도 19를 참조하여 후술하도록 한다.
제2 실시예에서, 복수의 ID 제공자(10)와 복수의 서비스 제공자(30) 및 연합 인증 관리 서버(100)는 도 5에 도시된 바와 같이 허브 앤 스포크(hub and spoke) 토폴로지로 구성될 수 있다. 상기 제2 실시예에 따르면, 연합 인증 관리 서버(100)는 ID 제공자(10)와 서비스 제공자(30) 간의 송수신되는 모든 메시지의 모니터링이 가능하기 때문에, 용이하게 이용 현황에 대한 모니터링 기능을 제공할 수 있다.
이하에서는, 복수의 ID 제공자(10)와 복수의 서비스 제공자(30) 및 연합 인증 관리 서버(100)가 풀 메시 토폴로지로 구성되었음을 가정하여 본 발명의 몇몇 실시예들에 대한 설명을 이어가도록 한다. 단, 본 발명의 범위가 상기 풀 메시 토폴로지에 국한되는 것은 아니다.
도 3에 도시된 연합 인증 시스템의 각 구성 요소는 네트워크를 통해 통신할 수 있다. 상기 네트워크는 근거리 통신망(Local Area Network; LAN), 광역 통신망(Wide Area Network; WAN), 이동 통신망(mobile radio communication network), Wibro(Wireless Broadband Internet) 등과 같은 모든 종류의 유/무선 네트워크로 구현될 수 있다.
지금까지 도 3 내지 도 5를 참조하여 본 발명의 일 실시예에 따른 연합 인증 시스템에 대하여 설명하였다. 다음으로, 본 발명의 실시예에 따른 연합 인증 관리 서버(100)의 구성 및 동작에 대하여 도 6 내지 도 15를 참조하여 설명하도록 한다.
도 6은 본 발명의 일 실시예에 따른 연합 인증 관리 서버(100)를 나타내는 블록도이다.
도 6을 참조하면, 연합 인증 관리 서버(100)는 메타데이터 관리 모듈(110), 연합 메타데이터 저장소(130), 탐색 서비스 모듈(150) 및 모니터링 모듈(170)을 포함하도록 구성될 수 있다. 다만, 도 6에는 본 발명의 실시예와 관련 있는 구성요소들만이 도시되어 있다. 따라서, 본 발명이 속한 기술분야의 통상의 기술자라면 도 6에 도시된 구성요소들 외에 다른 범용적인 구성 요소들이 더 포함될 수 있음을 알 수 있다. 또한, 도 6에 도시된 연합 인증 관리 서버(100)의 각각의 구성 요소들은 기능적으로 구분되는 기능 요소들을 나타낸 것으로서, 적어도 하나의 구성 요소가 실제 물리적 환경에서는 서로 통합되는 형태로 구현될 수도 있음에 유의한다.
각 구성 요소를 살펴보면, 메타데이터 관리 모듈(100)은 ID 연합체 참여하는 ID 제공자(10) 및 서비스 제공자(30)에 대한 개별 메타데이터(3)를 취합하여 연합 메타데이터를 생성하고 관리한다. 구체적으로, ID 제공자(10) 및 서비스 제공자(30)가 자신들의 개별 메타데이터(3)를 메타데이터 관리 모듈(100)에 등록하면, 메타데이터 관리 모듈(100)은 개별 메타 데이터(3)를 취합하여, 연합 메타데이터를 생성한다. 또한, 메타데이터 관리 모듈(100)은 상기 연합 메타데이터를 연합 메타데이터 저장소(130)에 보관한다.
상기 연합 메타데이터는 개별 개체(e.g. ID 제공자, 서비스 제공자)들의 식별자, 위치 정보(e.g. 위도, 경도), 명칭(e.g. ID 제공자의 기관 명칭) 등을 포함할 수 있다. 이외에도, 상기 연합 메타데이터는 연합 인증 서비스 제공에 이용되는 다양한 정보를 포함할 수 있다. 상기 연합 메타데이터에 대한 자세한 내용은 한국등록특허 제10-1736157호를 참조하도록 하며, 상기 특허의 개시 내용은 본 명세서에 참조로 포함될 수 있다.
메타데이터 관리 모듈(100)은 생성된 연합 메타데이터를 서명하고, 주기 또는 비주기적으로 ID 연합체에 참여하는 개별 개체들에게 상기 연합 메타데이터를 배포한다. 또는, 개별 개체들이 주기 또는 비주기적으로 메타데이터 관리 모듈(100)을 통해 연합 메타데이터를 다운로드 하여 갱신할 수 있다. 상기 연합 메타데이터를 통해 ID 연합체에 참여하는 개체들 간에 신뢰 관계가 구축된다. 이에 대한 보다 자세한 설명 또한 한국등록특허 제10-1736157호를 참조하도록 하고, 본 발명의 논지를 흐리지 않기 위해 더 이상의 설명은 생략하도록 한다.
탐색 서비스 모듈(150)은 사용자 단말(50), 서비스 제공자(30) 등에게 복수의 ID 제공자(10)에 대한 탐색 서비스(discovery service)를 제공한다. 보다 구체적으로, 탐색 서비스 모듈(150)은 사용자 단말(50)로 복수의 ID 제공자(10)에 대한 목록을 제공하고, 타깃 ID 제공자에 대한 선택 입력을 수신하며, 상기 선택 입력에 응답하여 타깃 ID 제공자과 사용자 단말(50)을 연결해 준다. 탐색 서비스 모듈(150)의 구성 및 동작에 대한 자세한 설명은 도 9 내지 도 15를 참조하여 후술하도록 한다.
모니터링 모듈(170)은 탐색 서비스 모듈(150)에 의해 송수신되는 메시지를 모니터링하고, 상기 모니터링의 결과를 이용하여 복수의 ID 제공자에 의해 제공되는 연합 인증 서비스의 이용 현황 정보를 제공한다. 이때, 상기 메시지는 HTTP 메시지(e.g. HTTP GET 메시지, HTTP REDIRECT 메시지)를 의미하는 것일 수 있다. 또한, 상기 이용 현황 정보는 예를 들어 ID 제공자 및 서비스 제공자 개체 수의 변동 추이 정보, 서비스 제공자 별 ID 제공자의 이용 통계 정보, ID 제공자 별 서비스 제공자의 이용 통계 정보, 기간 별 이용자 수의 변동 추이 정보 등을 포함할 수 있으나, 본 발명의 범위가 상기 예시들에 국한되는 것은 아니다.
구체적으로, 모니터링 모듈(170)은 HTTP GET 메시지와 HTTP REDIRECT 메시지의 파라미터로 전달되는 개체들(e.g. 사용자에 의해 선택된 타깃 ID 제공자, 사용자가 서비스를 요청한 타깃 서비스 제공자)의 식별자 또는 타깃 ID 제공자의 선택에 따라 획득되는 상기 타깃 ID 제공자의 식별 정보를 실시간으로 모니터링하고, 상기 개체들의 식별자를 분석하여 이용 현황을 통계 정보를 제공한다. HTTP GET 및 HTTP REDIRECT 메시지의 파라미터로 개체 식별자가 전달되는 것에 대한 자세한 설명은 도 10을 참조하여 후술하도록 한다.
이용 현황에 대한 통계 정보의 예는 도 7 및 도 8에 도시되어 있다. 도 7은 개체 식별자 분석을 통해 도출한 ID 제공자 별 서비스 제공자의 이용 통계 정보를 도시하고 있고, 도 8은 기간 별 이용자 수의 변동 추이 정보를 도시하고 있다.
지금까지, 도 6 내지 도 8을 참조하여, 연합 인증 관리 서버(100)의 구성 요소에 대하여 간략하게 설명하였다. 이하에서는, 도 9 내지 도 15를 참조하여, 탐색 서비스 모듈(150)을 통해 탐색 서비스가 제공되는 구체적인 과정 및 탐색 서비스 모듈(150)의 구성 및 동작에 대하여 상세하게 설명하도록 한다.
먼저, 연합 인증이 수행되는 동안 탐색 서비스가 제공되는 과정에 대하여 도 9 및 도 10을 참조하여 상세하게 설명하도록 한다. 도 9 및 도 10에서, ID 제공자(10)가 해당 사용자의 인증을 담당하는 타깃 ID 제공자인 것으로 가정하였다.
도 9는 탐색 서비스 모듈(150)을 통해 연합 인증이 수행되는 과정에 대하여 도시하고 있다.
도 9를 참조하면, 과정(①)에서, 사용자 단말(50)이 서비스 제공자(30)에게 서비스를 요청한다. 예를 들어, 사용자가 사용자 단말(50)에 탑재된 웹 브라우저를 통해 서비스 제공자(30)의 웹 페이지에 액세스함으로써, 서비스 요청이 수행될 수 있다.
과정(②)에서, 상기 요청에 응답하여, 서비스 제공자(30)는 사용자 인증을 위해 탐색 서비스 모듈(150)로 탐색 서비스 제공을 요청하고, 탐색 서비스 모듈(150)은 복수의 ID 제공자에 대한 목록을 사용자 단말(50)로 제공한다(②). 예를 들어, 과정(②)에서 HTTP 리다이렉션(redirection)을 통해 탐색 서비스가 제공되는 웹 페이지로 웹 브라우저의 화면이 전환되고, 전환된 웹 페이지에서 복수의 ID 제공자에 대한 목록이 제공될 수 있다.
과정(③)에서, 사용자는 연합 인증을 수행할 타깃 ID 제공자를 목록에서 선택하고, 탐색 서비스 모듈(150)은 타깃 ID 제공자(10)의 선택 입력을 수신한다.
과정(④)에서, 상기 선택 입력에 응답하여, 탐색 서비스 모듈(150)은 선택된 타깃 ID 제공자(10)의 식별자(e.g. 개체 ID)를 서비스 제공자(30)에게 제공한다. 예를 들어, 탐색 서비스 모듈(150)은 HTTP 메시지의 파라미터를 통해 타깃 ID 제공자(10)의 식별자를 서비스 제공자(30)에게 제공할 수 있다.
과정(⑤, ⑥)에서, 타깃 ID 제공자(10)와 사용자 간에 ID/패스워드, 인증서 등을 통한 인증 과정(e.g. 로그인)이 수행된다. 예를 들어, 과정(⑤)에서, 서비스 제공자(30)는 타깃 ID 제공자(10)의 식별자를 이용하여 연합 메타데이터에서 타깃 ID 제공자(10)의 웹 페이지 주소를 획득하고, 상기 웹 페이지 주소를 이용하여 타깃 ID 제공자(10)의 웹 페이지로 HTTP 리다이렉션이 수행되도록 할 수 있다.
과정(⑦)에서, 인증이 성공되면, 타깃 ID 제공자(10)는 서비스 제공자(30)로 사용자의 인증 정보와 속성 정보(e.g. 권한 정보)를 전달한다. 그러면, 서비스 제공자(30)는 상기 사용자의 속성 정보를 기초로 인가 과정(e.g. 해당 사용자가 서비스 이용 권한이 있는지 여부를 검증)을 수행하고, 인가된 경우, 사용자에게 서비스를 제공한다. 이때, 타깃 ID 제공자(10)는 예를 들어 HTTP 리다이렉션을 통해 사용자 단말(50)의 웹 브라우저 화면이 다시 서비스 제공자(30)의 웹 페이지로 전환되도록 할 수 있다.
다음으로, 도 10을 참조하여, HTTP 메시지 기반으로 웹 브라우저를 통해 연합 인증 과정이 수행되는 예에 대하여 설명하도록 한다.
도 10을 참조하면, 단계(S10)에서, 사용자 단말(50)이 서비스 제공자(30)에게 서비스를 요청한다. 구체적으로, 사용자가 웹 브라우저에 서비스 제공자(30)의 웹 페이지(e.g. https :// sp .provider)에 액세스함으로써 서비스가 요청된다. 이때, 서비스 제공자(30)의 웹 페이지를 제공 받기 위해, HTTP GET 메시지가 사용자 단말(50)에서 서비스 제공자(30)로 전달된다.
단계(S20)에서, 서비스 제공자(30)는 탐색 서비스가 제공되도록 웹 브라우저의 화면을 탐색 서비스 제공 화면으로 전환시킨다. 이를 위해, 서비스 제공자(30)는 탐색 서비스 모듈(150)의 주소(e.g. https://ds.provider)가 포함된 HTTP REDIRECT 메시지를 웹 브라우저로 전송한다. 이때, HTTP REDIRECT 메시지의 파라미터를 통해 서비스 제공자(30)의 식별자(e.g. sp_entityid)와 복귀 주소(https://sp.provider/resource)가 함께 전달된다.
단계(S30)에서, HTTP REDIRECT 메시지의 수신에 응답하여, 웹 브라우저는 탐색 서비스 모듈(150)이 제공하는 웹 페이지에 액세스 한다. 구체적으로, 상기 HTTP REDIRECT 메시지에 포함된 리다이렉트 주소를 이용하여, 탐색 서비스에 대한 웹 페이지에 액세스 한다. 이때, 탐색 서비스에 대한 웹 페이지를 웹 브라우저에 표시하기 위해, HTTP GET 메시지가 웹 브라우저에서 탐색 서비스 모듈(150)로 전달된다. 또한, 상기 HTTP GET 메시지의 파라미터를 통해 서비스 제공자(30)의 식별자(e.g. sp_entityid)와 복귀 주소(https :// sp .provider/resource)가 전달된다. 파라미터로 전달되는 서비스 제공자(30)의 식별자(e.g. sp_entityid)는 전술한 바와 같이 모니터링 모듈(170)에 의해 이용될 수 있다.
단계(S40)에서, 탐색 서비스 모듈(150)은 복수의 ID 제공자에 대한 목록을 제공하고, 사용자는 타깃 ID 제공자(10)에 대한 선택 입력을 제공한다. 상기 선택 입력에 따라 획득되는 타깃 ID 제공자(10)의 식별 정보는 전술한 바와 같이 모니터링 모듈(170)에 의해 이용될 수 있다.
단계(S50)에서, 타깃 ID 제공자(10)의 선택 입력에 응답하여, 탐색 서비스 모듈(150)은 상기 복귀 주소(https :// sp .provider/resource)로 다시 화면이 전환되도록 HTTP REDIRECT 메시지를 웹 브라우저로 전송한다. 이때, 상기 HTTP REDIRECT 메시지의 파라미터를 통해 타깃 ID 제공자(10)의 식별자(e.g. idp_entityid)가 전달된다. 파라미터로 전달되는 타깃 ID 제공자(10)의 식별자(e.g. idp_entityid)는 전술한 바와 같이 모니터링 모듈(170)에 의해 이용될 수 있다.
단계(S60)에서, 상기 HTTP REDIRECT 메시지의 수신에 응답하여, 웹 브라우저는 서비스 제공자(30)의 웹 페이지에 액세스한다. 이때, 전술한 바와 유사하게, HTTP GET 메시지가 이용되며, 상기 HTTP GET 메시지의 파라미터를 통해 타깃 ID 제공자(10)의 식별자가 전달된다.
단계(S70)에서, 서비스 제공자(30)는 타깃 ID 제공자(10)의 식별자를 이용하여 연합 메타데이터로부터 타깃 ID 제공자(10)의 웹 페이지 주소를 얻어오고, 사용자 단말(50)로 HTTP REDIRECT 메시지를 전송한다. 상기 HTTP REDIRECT 메시지를 통해, 사용자 단말(50)은 타깃 ID 제공자(10)의 웹 페이지에 액세스하고, 인증 과정이 수행된다.
지금까지, 도 9 및 도 10을 참조하여, 탐색 서비스 모듈(150)을 통해 연합 인증이 수행되는 과정에 대하여 상세하게 설명하였다. 이하에서는, 탐색 서비스 모듈(150)의 세부 구성 및 동작에 대하여 도 11 내지 도 15를 참조하여 더욱 상세하게 설명하도록 한다.
도 11은 탐색 서비스 모듈(150)의 세부 구성을 나타내는 블록도이다.
도 11을 참조하면, 탐색 서비스 모듈(150)은 정보 획득부(151), 우선순위 결정부(153) 및 목록 제공부(155)를 포함하도록 구성될 수 있다. 다만, 도 11에는 본 발명의 실시예와 관련 있는 구성요소들만이 도시되어 있다. 따라서, 본 발명이 속한 기술분야의 통상의 기술자라면 도 11에 도시된 구성요소들 외에 다른 범용적인 구성 요소들이 더 포함될 수 있음을 알 수 있다.
각 구성 요소를 살펴보면, 정보 획득부(151)는 ID 제공자의 우선순위 결정에 이용되는 각종 정보를 획득한다. 구체적으로, 정보 획득부(151)는 메타데이터 관리 모듈(100)로부터 제공받은 연합 메타데이터로부터 복수의 ID 제공자 각각의 정보를 추출할 수 있다.
실시예에 따라, 정보 획득부(151)는 연합 메타데이터에 대한 재구성(reconstruction), 리포맷팅(reformatting) 등의 전처리 과정을 수행하고, 리포맷팅 된 데이터로부터 복수의 ID 제공자 각각에 대한 정보를 추출할 수 있다. 리포맷팅 된 연합 메타데이터의 예는 도 12에 도시되어 있다. 도 12을 참조하면, ID 제공자의 명칭(Name), 위치 정보(GeolocationHint) 등이 ID 제공자의 식별자(entityID) 기준으로 재구성된 것을 확인할 수 있다.
몇몇 실시예에서, 정보 획득부(151)는 연합 메타데이터로부터 복수의 ID 제공자 각각의 명칭, 위치 정보를 추출하여 우선순위 결정부(153)로 제공할 수 있다.
몇몇 실시예에서, 정보 획득부(151)는 탐색 서비스 모듈(150)에 액세스 한 사용자 단말의 IP 정보를 획득하고, 상기 IP 정보를 이용하여 사용자 단말의 위치 정보 및 사용자 단말로부터 최근접 지점에 위치한 ID 제공자의 명칭을 획득할 수 있다. 또한, 획득된 정보는 우선 순위 결정부(153)로 제공될 수 있다. 상기 IP 정보로부터 위치 정보 및 ID 제공자의 명칭(e.g. 최근접 지점에 위한 기관의 명칭)을 획득하기 소정의 위치정보 데이터베이스(e.g. https ://www.db-ip.com/)가 이용될 수 있다.
몇몇 실시예에서, 정보 획득부(151)는 해당 사용자 단말의 ID 제공자 선택 이력 정보를 획득하여 우선순위 결정부(153) 및/또는 목록 제공부(155)로 제공할 수 있다. 예를 들어, 사용자 단말 별로 ID 제공자 선택 이력이 소정의 데이터베이스에 관리되고, 정보 획득부(151)는 상기 데이터베이스로부터 해당 사용자 단말의 선택 이력 정보를 획득하여 제공할 수 있다. 또한, 정보 획득부(151)는 상기 ID 제공자 선택 이력 정보를 이용하여 각 ID 제공자 별로 선택 빈도 및 선택 일시를 추출하고, 추출된 정보를 우선순위 결정부(153) 및/또는 목록 제공부(155)로 제공할 수 있다.
몇몇 실시예에서, 정보 획득부(151)는 서비스 제공자의 액세스 제어 목록(access control list)을 획득할 수 있다. 예를 들어, 정보 획득부(151)는 상기 액세스 제어 목록을 서비스 제공자로부터 수신하거나, 연합 메타데이터로부터 상기 액세스 제어 목록을 추출할 수 있다. 물론, 상기 액세스 제어 목록이 사용자에 의해 입력될 수도 있다.
우선순위 결정부(153)는 정보 획득부(151)에 의해 제공된 정보를 기초로 복수의 ID 제공자 각각에 대한 우선순위를 결정한다. 상기 결정된 우선순위는 ID 제공자 목록에서 각 ID 제공자의 배열 위치 및/또는 배열 순서를 결정하기 위해, 목록 제공부(155)에 의해 이용된다.
제1 실시예에서, 우선순위 결정부(153)는 사용자 단말과 ID 제공자 간의 거리 값에 기초하여 각 ID 제공자에 대한 우선순위를 결정할 수 있다. 상기 거리 값은, 상기 거리 값은 정보 획득부(151)에 의해 제공되는 사용자 단말의 제1 위치 정보와 각 ID 제공자의 제2 위치 정보에 기초하여 연산된다. 예를 들어, 상기 우선 순위는 하기 수학식 1에 따라 결정될 수 있다. 하기의 수학식 1에서, la, lb는 각각 사용자 단말(a)의 제1 위치 정보와 ID 제공자(b)의 제2 위치 정보를 가리키고, d(la, lb)는 거리 값을 가리킨다.
Figure 112017110644424-pat00001
제1 예시에서, 상기 거리 값은 상기 제1 위치 정보 및 상기 제2 위치 정보에 기초한 유클리드 거리(euclidean distance)에 기초하여 연산될 수 있다.
제2 예시에서, 상기 제1 위치 정보 및 상기 제2 위치 정보는 위도 및 경도 정보를 포함하고, 상기 거리 값은 하버사인 포뮬러(haversine formula)에 기초하여 연산될 수 있다. 상기 제2 예시에 따르면, 지구가 구형인 점을 고려하여 보다 정확한 거리 값이 산출될 수 있다. 다만, 상기 열거된 예시들은 본 발명의 일부 실시예를 설명하기 위한 것인 뿐, 본 발명의 범위가 상기 예시들에 한정되는 것은 아니다.
상기 제1 실시예에 따르면, 상대적으로 가까운 곳에 위치한 ID 제공자에 더 높은 우선순위가 부여되고, 가까운 곳에 위치한 ID 제공자가 목록의 상단에 배열되게 된다. 이는, 연합 인증 환경에서 서비스 제공자의 서비스를 이용하는 사용자는 일반적으로 소속 기관(즉, 자신의 인증을 담당하는 ID 제공자)에 위치한 단말을 이용하여 각종 서비스를 이용한다는 사전 지식(prior knowledge)를 이용한 것으로 이해될 수 있다. 상기 제1 실시예에 따르면, 사용자는 타깃 ID 제공자에 대한 검색을 수행할 필요 없이 곧바로 타깃 ID 제공자의 선택이 가능하므로, 사용자 편의성이 크게 향상될 수 있다.
제2 실시예에서, 우선순위 결정부(153)는 사용자 단말로부터 최근접 지점에 위치한 ID 제공자의 제1 명칭과 각 ID 제공자의 제2 명칭 간의 텍스트 유사도에 기초하여 각 ID 제공자의 우선순위를 결정할 수 있다.
제1 예시에서, 상기 텍스트 유사도는 코사인 유사도(cosine similarity)에 기초하여 산출될 수 있다. 상기 코사인 유사도는 당해 기술 분야에서 이미 널리 알려진 유사도 측정 방법인 바, 이에 대한 설명은 생략하도록 한다.
제2 예시에서, 상기 텍스트 유사도는 레벤슈타인 거리(levenshtein distance)에 기초하여 산출될 수 있다. 상기 레벤슈타인 거리는 당해 기술 분야에서 이미 널리 알려진 문자열 유사도 측정 방법인 바, 이에 대한 설명은 생략하도록 한다. 다만, 상기 열거된 예시들은 본 발명의 일부 실시예를 설명하기 위한 것인 뿐, 본 발명의 범위가 상기 예시들에 한정되는 것은 아니다.
상기 제2 실시예는, 위치 정보 데이터베이스를 통해 획득된 사용자 단말의 위치 정보가 부정확한 경우에 유용하게 활용될 수 있다.
제3 실시예에서, 우선순위 결정부(153)는 상기 제1 실시예 및 상기 제2 실시예의 조합을 통해 각 ID 제공자의 우선순위를 결정할 수 있다. 구체적으로, 우선순위 결정부(153)는 상기 제1 실시예에 따라 각 ID 제공자 별로 제1 스코어를 산출하고, 상기 제2 실시예에 따라 각 ID 제공자 별로 제2 스코어를 산출하며, 상기 제1 스코어 및 상기 제2 스코어에 기초하여 각 ID 제공자의 우선순위를 결정할 수 있다.
상기 제3 실시예에서, 우선순위 결정부(153)는 하기의 수학식 2와 같이 소정의 가중치 합(weighted sum) 또는 가중 평균(weighted average) 기법을 통해 각 ID 제공자의 우선순위를 결정할 수 있다. 하기 수학식 2에서, P(a, b)는 사용자 단말(a)에 대한 ID 제공자(b)의 우선순위를 가리키고, d'(la, lb)는 상기 제1 실시예에 따라 산출되는 제1 스코어를 가리키고, s(ta, tb)는 상기 제2 실시예에 따라 산출되는 텍스트 유사도 기반의 제2 스코어를 가리킨다. 또한, α는 가중치를 가리킨다.
Figure 112017110644424-pat00002
상기 수학식 2에서, 상기 가중치는 실시예에 따라 적절하게 부여될 수 있다. 다만, 위치 정보 데이터베이스에 기록된 ID 제공자의 명칭이 부정확한 경우, 위치 정보가 부정확한 경우에 비해 더욱 큰 오차가 발생할 수 있는 바, 상기 제1 스코어에 부여되는 가중치에 더 높은 가중치가 부여되는 것이 바람직할 수 있다.
상기 제3 실시예에 따르면, 물리적 거리와 명칭 간의 텍스트 유사도를 모두 고려하여 각 ID 제공자 별로 우선순위가 결정된다. 이에 따라, 위치 정보 데이터베이스의 위치 정보 또는 명칭이 일부 부정확하더라도 상호 보완을 통해 보다 정확하게 우선순위가 결정될 수 있다. 상기 제3 실시예에 따라 우선순위를 결정하는 예는 이후 도 12 내지 도 15를 참조하여 부연 설명하도록 한다.
제4 실시예에서, 우선순위 결정부(153)는 해당 사용자 단말의 선택 이력 정보에 기초하여 각 ID 제공자에 대한 우선순위를 결정할 수 있다.
제1 예시에서, 우선순위 결정부(153)는 각 ID 제공자에 대한 선택 빈도를 기초로 상기 선택 빈도가 높은 ID 제공자에 더 높은 우선순위를 부여할 수 있다.
제2 예시에서, 우선순위 결정부(153)는 해당 ID 제공자의 선택 일시를 더 고려하여 우선순위를 결정할 수 있다. 구체적으로, 우선순위 결정부(153)는 선택 빈도가 높고 선택 일시가 최근일수록 더 높은 우선순위를 부여할 수 있다.
제5 실시예에서, 상기 제1 실시예 내지 상기 제4 실시예의 조합에 의해, 각 ID 제공자 별 우선순위가 결정될 수 있다. 예를 들어, 우선순위 결정부(153)는 상기 제3 실시예 및 상기 제4 실시예의 조합을 통해 각 ID 제공자 별 우선순위를 결정할 수 있다. 이와 같은 경우, 우선순위 결정부(153)는 ID 제공자 각각에 대한 선택 빈도를 기초로 ID 제공자 각각에 대한 제3 스코어를 산출하고, 상기 제3 실시예에 의해 산출된 제1 스코어 및 제2 스코어에 더 기초하여, 각 ID 제공자에 대한 우선순위를 결정할 수 있다.
목록 제공부(153)는 우선순위 결정부(153)에 의해 결정된 각 ID 제공자 별 우선순위에 기초하여 ID 제공자에 대한 목록을 생성하고, 생성된 목록을 제공한다.
구체적으로, 목록 제공부(153)는 우선순위가 높은 ID 제공자를 목록의 상단에 배열하는 방식으로 ID 제공자에 대한 목록을 생성할 수 있다. 이에 따라, 사용자는 별도의 검색 없이 곧바로 ID 제공자에 대한 선택이 가능하므로, 사용자의 편의성이 극대화될 수 있다.
본 발명의 실시예에 따르면, 목록 제공부(153)는 상기 생성된 ID 제공자 목록 외에 해당 사용자 단말에 의해 이전에 선택된 ID 제공자 목록을 별도로 제공할 수 있다. 예를 들어, 도 15에 도시된 바와 같이, 목록 제공부(153)는 ID 제공자에 대한 목록(165)과 함께 이전 선택 목록(163)을 제공할 수 있다. 물론, 별도의 검색 인터페이스(161)도 제공될 수 있다.
한편, 본 발명의 실시예에 따르면, 목록 제공부(153)는 서비스 제공자와 신뢰 관계에 있지 않은 제1 ID 제공자 또는 서비스 제공자에 의해 액세스가 차단된 제2 ID 제공자에 대한 액세스 제어를 수행할 수 있다. 상기 제1 및 제2 ID 제공자의 존재는 정보 획득부(151)에 의해 제공되는 액세스 제어 목록에 의해 식별될 수 있다. 구체적으로, 목록 제공부(153)는 상기 액세스 제어 목록에 기초하여 상기 제1 및 상기 제2 ID 제공자를 제외하고 나머지 ID 제공자만을 이용하여 목록을 생성함으로써, 상기 제1 및 상기 제2 ID 제공자에 대한 액세스 제어를 수행할 수 있다. 목록에 나타나지 않는 ID 제공자는 사용자에 의해 선택될 수 없기 때문이다.
도 6 및 도 11에 도시된 연합 인증 관리 서버(100)의 각 구성 요소는 소프트웨어(Software) 또는, FPGA(Field Programmable Gate Array)나 ASIC(Application-Specific Integrated Circuit)과 같은 하드웨어(Hardware)를 의미할 수 있다. 그렇지만, 상기 구성 요소들은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니며, 어드레싱(Addressing)할 수 있는 저장 매체에 있도록 구성될 수도 있고, 하나 또는 그 이상의 프로세서들을 실행시키도록 구성될 수도 있다. 상기 구성 요소들 안에서 제공되는 기능은 더 세분화된 구성 요소에 의하여 구현될 수 있으며, 복수의 구성 요소들을 합하여 특정한 기능을 수행하는 하나의 구성 요소로 구현될 수도 있다.
이하에서는, 보다 이해의 편의를 제공하기 위해, 도 13 내지 도 15를 참조하여, 탐색 서비스 모듈(150)이 ID 제공자에 대한 우선순위를 결정하고 이를 기초로 ID 제공자 목록을 생성하는 구체적인 예에 대하여 살펴보도록 한다.
도 13은 ID 연합체에 참여하고 있는 ID 제공자의 예를 도시하고 있다. 도 13에서, 기관명(Organization name)은 연합 메타데이터에 기록된 ID 제공자의 명칭을 나타내며, 도시(City)는 ID 제공자의 소재지로써 연합 메타데이터에 포함된 위도 및 경도 정보를 이용하여 파악된 것이다. 본 예에서, 각 ID 제공자들은 지리적으로 분산되어 있으며, 탐색서비스에 접근하는 사용자 단말의 위치는 ID 제공자(A)와 ID 제공자(H)의 위치인 것으로 가정하였다.
도 14는 ID 제공자(A)를 기준으로 우선순위(P)를 결정한 제1 케이스와 ID 제공자(H)를 기준으로 우선순위(P)를 결정한 제2 케이스의 결과를 도시하고 있다. 구체적으로, 도 14는 ID 제공자(A) 및 ID 제공자(H) 각각에 위치한 사용자 단말이 탐색 서비스 모듈(150)에 액세스 한 경우, 사용자 단말과 각 ID 제공자(A 내지 G) 간의 거리 값에 기초한 제1 스코어(d'), 명칭 간의 텍스트 유사도(s) 및 우선순위(P)를 산출한 결과를 도시하고 있다.
도 14를 참조하면, 상기 제1 케이스의 경우, ID 제공자(A, G, B, E, D, C, F)의 순서로 우선순위가 낮아지는 것을 확인할 수 있다. 이에 따라, ID 제공자(A)를 목록의 상단에 배열하여 제공하게 되면, 사용자가 자신의 인증 정보를 저장하고 있는 ID 제공자(A)를 별도의 검색 없이 쉽게 선택할 수 있게 된다. 참고로, ID 제공자(A)의 텍스트 유사도가 "1"이 아닌 이유는 위치정보 데이터베이스에 저장된 ID 제공자의 명칭이 부정확했기 때문이다.
한편, 제2 케이스의 경우, 위치정보 데이터베이스에 ID 제공자(H)의 명칭이 존재하지 않는다고 가정하였다. 따라서, ID 제공자(H)를 기준으로 산출된 텍스트 유사도(s)는 모두 ?0"으로 산출되었다. 또한, 이에 따라, 거리 값에 기초한 제1 스코어(d')에 의해 ID 제공자(G, E, C, B, A, D, F)의 순서로 우선순위가 결정되었다.
도 15는 본 발명의 몇몇 실시예에서 참조될 수 있는 탐색 서비스 제공 화면(160)을 도시하고 있다. 특히, 도 15는 ID 제공자의 목록(165)이 상기 제2 케이스에 기초하여 생성된 것을 예시하고 있다.
도 15를 참조하면, 탐색 서비스 제공 화면(160)은 소정의 검색 인터페이스(161), 이전 선택 목록(163) 및 ID 제공자의 목록(165)을 포함할 수 있다. 특히, ID 제공자의 목록(165)을 살펴보면, 상기 제2 케이스에 따라, ID 제공자(G)가 최상단에 배열된 것을 확인할 수 있다. 이에 따라, 사용자는 검색 인터페이스(161)를 이용할 필요 없이 곧바로 타깃 ID 제공자(G)를 선택할 수 있으므로, 사용자의 편의성이 극대화 될 수 있다. 설사, 우선순위가 부정확하게 계산된 경우라 하더라도, 사용자는 이전 선택 이력(163)에 포함된 ID 제공자를 통해 검색 인터페이스(161) 이용 없이 타깃 ID 제공자를 선택할 수 있다.
지금까지, 도 11 내지 도 15를 참조하여, 탐색 서비스 모듈(150)의 세부 구성 및 동작에 대하여 상세하게 설명하였다. 상술한 바에 따르면, 탐색 서비스 모듈(150)은 사용자 단말과 ID 제공자 간의 다양한 요소에 기초하여 우선순위를 결정하고, 우선순위에 따라 ID 제공자의 배열 순서를 결정할 수 있다. 이에 따라, 사용자는 다수의 ID 제공자가 존재하는 환경에서도 별도의 검색 없이 자신의 ID 제공자 선택이 가능하므로, 사용자의 편의성이 크게 향상될 수 있다.
도 16은 본 발명의 실시예에 따른 연합 인증 관리 서버(100)의 하드웨어 구성도이다.
도 16을 참조하면, 연합 인증 관리 서버(100)는 하나 이상의 프로세서(101), 버스(105), 네트워크 인터페이스(107), 프로세서(101)에 의하여 수행되는 컴퓨터 프로그램을 로드(load)하는 메모리(103)와, 연합 인증 관리 소프트웨어(109a)를 저장하는 스토리지(109)를 포함할 수 있다. 다만, 도 16에는 본 발명의 실시예와 관련 있는 구성요소들만이 도시되어 있다. 따라서, 본 발명이 속한 기술분야의 통상의 기술자라면 도 16에 도시된 구성요소들 외에 다른 범용적인 구성 요소들이 더 포함될 수 있음을 알 수 있다.
프로세서(101)는 연합 인증 관리 서버(100)의 각 구성의 전반적인 동작을 제어한다. 프로세서(101)는 CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 또는 본 발명의 기술 분야에 잘 알려진 임의의 형태의 프로세서를 포함하여 구성될 수 있다. 또한, 프로세서(101)는 본 발명의 실시예들에 따른 방법을 실행하기 위한 적어도 하나의 애플리케이션 또는 프로그램에 대한 연산을 수행할 수 있다. 연합 인증 관리 서버(100)는 하나 이상의 프로세서를 구비할 수 있다.
메모리(103)는 각종 데이터, 명령 및/또는 정보를 저장한다. 메모리(103)는 본 발명의 실시예들에 따른 연합 인증 관리 방법을 실행하기 위하여 스토리지(109)로부터 하나 이상의 프로그램(109a)을 로드할 수 있다. 도 16에서 메모리(103)의 예시로 RAM이 도시되었다.
버스(105)는 연합 인증 관리 서버(100)의 구성 요소 간 통신 기능을 제공한다. 버스(105)는 주소 버스(Address Bus), 데이터 버스(Data Bus) 및 제어 버스(Control Bus) 등 다양한 형태의 버스로 구현될 수 있다.
네트워크 인터페이스(107)는 연합 인증 관리 서버(100)의 유무선 인터넷 통신을 지원한다. 또한, 네트워크 인터페이스(107)는 인터넷 통신 외의 다양한 통신 방식을 지원할 수도 있다. 이를 위해, 네트워크 인터페이스(107)는 본 발명의 기술 분야에 잘 알려진 통신 모듈을 포함하여 구성될 수 있다.
스토리지(109)는 상기 하나 이상의 프로그램(109a)을 비임시적으로 저장할 수 있다. 도 16에서 상기 하나 이상의 프로그램(109a)의 예시로 연합 인증 관리 소프트웨어(109a)가 도시되었다.
스토리지(109)는 ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크, 착탈형 디스크, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체를 포함하여 구성될 수 있다.
연합 인증 관리 소프트웨어(109a)는 메모리(103)에 로드되어, 프로세스(101)로 하여금 후술할 본 발명의 실시예에 따른 연합 인증 관리 방법을 실행하도록 하는 오퍼레이션(operation)을 포함할 수 있다. 또는, 연합 인증 관리 소프트웨어(109a)는 프로세스(101)로 하여금 전술한 연합 인증 서비스 관리 서버(100)의 동작을 실행하도록 하는 오퍼레이션을 포함할 수 있다. 상기 오퍼레이션은 기능을 기준으로 묶인 일련의 명령어들로서 컴퓨터 프로그램의 구성 요소이자 프로세서에 의해 실행되는 것을 가리킨다.
예를 들어, 연합 인증 관리 소프트웨어(109a)는 사용자 단말의 요청에 대한 응답으로, 상기 복수의 ID 제공자에 대한 목록을 제공하는 오퍼레이션, 사용자 단말로부터 타깃 ID 제공자에 대한 선택 입력을 받는 오퍼레이션; 상기 선택 입력에 응답하여, 상기 타깃 ID 제공자에 대한 정보를 제공하는 오퍼레이션을 포함하되, 상기 목록을 제공하는 오퍼레이션은, 상기 복수의 ID 제공자 각각의 우선순위를 결정하는 오퍼레이션, 상기 결정된 우선순위에 기초하여, 상기 복수의 ID 제공자에 대한 배열 순서를 결정하는 오퍼레이션 및 상기 결정된 배열 순서에 기초하여, 상기 목록을 생성하여 제공하는 오퍼레이션을 포함할 수 있다.
지금까지, 도 6 내지 도 16을 참조하여 본 발명의 실시예에 따른 연합 인증 관리 서버(100)의 구성 및 동작에 대하여 설명하였다. 다음으로, 도 17 내지 도 19를 참조하여 본 발명의 실시예에 따른 연합 인증 관리 서비스 제공 방법에 대하여 상세하게 설명한다.
이하, 본 발명의 실시예에 따른 연합 인증 관리 서비스 제공 방법의 각 단계는, 컴퓨팅 장치에 의해 수행될 수 있다. 예를 들어, 상기 컴퓨팅 장치는 연합 인증 관리 서버(100)일 수 있다. 다만, 설명의 편의를 위해, 상기 연합 인증 관리 방법에 포함되는 각 단계의 동작 주체는 그 기재가 생략될 수도 있다. 또한, 연합 인증 관리 서비스 제공 방법의 각 단계는 프로세서에 의해 실행되는 컴퓨터 프로그램의 각 오퍼레이션으로 구현될 수 있다.
상기 연합 인증 관리 서비스 제공 방법은 크게 ID 제공자에 대한 탐색 서비스 제공 방법과 연합 인증 서비스에 대한 모니터링 방법으로 구성될 수 있다. 먼저, 도 17 및 도 18을 참조하여 상기 탐색 서비스 제공 방법에 대하여 설명하고, 도 19를 참조하여 상기 모니터링 방법에 대하여 설명하도록 한다.
도 17은 본 발명의 일 실시예에 따른 ID 제공자에 대한 탐색 서비스 제공 방법을 나타내는 흐름도이다. 단, 이는 본 발명의 목적을 달성하기 위한 바람직한 실시예일 뿐이며, 필요에 따라 일부 단계가 추가되거나 삭제될 수 있음은 물론이다.
도 17을 참조하면, 단계(S100)에서, 연합 인증 관리 서버(100)는 연합 메타데이터로부터 복수의 ID 제공자 각각에 대한 정보를 추출한다. 이에 대한 설명은 정보 획득부(151)에 대한 설명을 참조하도록 한다.
단계(S120)에서, 연합 인증 관리 서버(100)는 사용자 단말로부터 ID 제공자에 대한 목록 요청을 수신한다. 상기 목록 요청은 예를 들어 도 10에 도시된 단계(S30)에 대응되는 것으로 이해될 수 있다.
단계(S140)에서, 연합 인증 관리 서버(100)는 상기 목록 요청에 응답하여, ID 제공자의 우선순위를 결정한다. 전술한 바와 같이, 상기 우선순위는 ID 제공자의 배열 순서를 결정하기 위한 것으로, 탐색 서비스를 이용하는 사용자의 편의성을 극대화하기 위한 목적으로 계산하는 것이다.
전술한 바와 같이, 상기 우선순위는 사용자 단말과 ID 제공자 간의 거리, 사용자 단말로부터 최근접 지점에 위치한 ID 제공자의 제1 명칭과 다른 ID 제공자의 제2 명칭 간의 텍스트 유사도 및 사용자 단말의 이전 선택 이력 중 적어도 하나의 요소에 기초하여 결정될 수 있다. 이에 대한 자세한 설명은, 우선순위 결정부(153)에 대한 설명 부분을 참조하도록 한다.
단계(S160)에서, 연합 인증 관리 서버(100)는 결정된 우선순위에 기초하여 ID 제공자의 배열 순서를 결정한다. 예를 들어, 우선순위가 높은 ID 제공자가 목록의 상단에 위치하도록 배열 순서가 결정될 수 있다.
단계(S180)에서, 연합 인증 관리 서버(100)는 결정된 배열 순서에 따라 ID 제공자의 목록을 생성하고, 생성된 목록을 사용자 단말로 제공한다.
상기 목록을 제공받은 이후, 사용자 단말은 해당 사용자의 인증을 수행할 타깃 ID 제공자에 대한 선택 입력을 송신한다. 그러면, 연합 인증 관리 서버(100)는 상기 선택 입력에 응답하여 상기 타깃 ID 제공자에 대한 정보(e.g. 식별자)를 서비스 제공자로 제공하게 된다.
상술한 방법에 따르면, 사용자에 대한 인증을 수행할 타깃 ID 제공자는 목록의 상단에 위치할 확률이 매우 높다. 이에 따라, 다수의 ID 제공자가 존재하는 연합 인증 환경에서, 별도의 검색 등을 수행하지 않고, 용이하게 타깃 ID 제공자에 대한 선택이 가능한 바, 탐색 서비스를 이용하는 사용자의 편의성이 극대화될 수 있다.
한편, 본 발명의 실시예에 따르면, 전술한 탐색 서비스를 통해 서비스 제공자에 대해 ID 제공자의 액세스가 제어될 수 있다.
구체적으로, 도 18에 도시된 바와 같이, 서비스 제공자가 액세스를 허용하지 않는 ID 제공자가 식별되면(S181, S182), 연합 인증 관리 서버(100)는 식별된 ID 제공자를 제외하고 나머지 ID 제공자만을 기초로 목록을 생성함으로써 접근 제어 기능을 제공할 수 있다.
지금까지, 도 17 및 도 18을 참조하여, 본 발명의 실시예에 따른 ID 제공자에 대한 탐색 서비스 제공 방법에 대하여 설명하였다. 이하에서는, 도 19를 참조하여, 본 발명의 실시예에 따른 연합 인증 서비스에 대한 모니터링 방법에 대하여 설명하도록 한다.
도 19는 본 발명의 일 실시예에 따른 연합 인증 서비스에 대한 모니터링 방법을 나타내는 흐름도이다.
도 19를 참조하면, 단계(S200)에서, 연합 인증 관리 서버(100)는 HTTP 메시지의 파라미터로 전달되는 개체 식별 정보 및/또는 사용자 단말로부터 수신된 타깃 ID 제공자에 대한 선택 정보를 모니터링한다. 상기 개체 식별 정보는 예를 들어 ID 제공자의 식별 정보 및/또는 서비스 제공자의 식별 정보를 포함할 수 있다. 보다 자세하게는, 연합 인증 관리 서버(100)는 사용자 단말로부터 선택 입력이 수신된 타깃 ID 제공자에 대한 제1 식별 정보와 사용자 단말이 서비스 요청한 타깃 서비스 제공자의 제2 식별 정보를 모니터링하고, 상기 제1 식별 정보 및 상기 제2 식별 정보를 이용하여 연합 인증 서비스에 대한 이용 현황 정보를 생성할 수 있다. HTTP 메시지의 파라미터를 통해 식별 정보가 전달되는 과정은 도 10를 참조하여 전술한 바, 더 이상의 설명은 생략하도록 한다.
단계(S220)에서, 연합 인증 관리 서버(100)는 모니터링 된 개체 식별 정보를 분석하여 이용 현황 정보를 생성한다. 상기 이용 현황 정보는 예를 들어 ID 제공자 및 서비스 제공자 개체 수의 변동 추이 정보, 서비스 제공자 별 ID 제공자의 이용 통계 정보, ID 제공자 별 서비스 제공자의 이용 통계 정보, 기간 별 이용자 수의 변동 추이 정보 등을 포함할 수 있으나, 본 발명의 범위가 상기 예시들에 국한되는 것은 아니다. 상기 이용 현황 정보의 예는 도 7 및 도 8을 더 참조하도록 한다.
지금까지, 도 19를 참조하여, 본 발명의 실시예에 따른 연합 인증 서비스에 대한 모니터링 방법에 대하여 설명하였다. 상술한 방법에 따르면, 도 4에 도시된 바와 같이 풀 메시 구조로 시스템이 구성되더라도, 연합 인증 서비스의 이용 현황에 대한 실시간 모니터링 기능이 제공될 수 있다. 이에 따라, 연합 인증 서비스 관리의 편의성이 증대될 수 있으며, 유의미한 통계 정보가 제공되는 효과가 있다.
지금까지, 도 3 내지 도 19를 참조하여 본 발명의 몇몇 실시예들에 대하여 설명하였다. 또한, 상기 몇몇 실시예들에 따른 효과를 언급하였다. 다만, 본 발명의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
지금까지 도 3 내지 도 19를 참조하여 설명된 본 발명의 개념은 컴퓨터가 읽을 수 있는 매체 상에 컴퓨터가 읽을 수 있는 코드로 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체는, 예를 들어 이동형 기록 매체(CD, DVD, 블루레이 디스크, USB 저장 장치, 이동식 하드 디스크)이거나, 고정식 기록 매체(ROM, RAM, 컴퓨터 구비 형 하드 디스크)일 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체에 기록된 상기 컴퓨터 프로그램은 인터넷 등의 네트워크를 통하여 다른 컴퓨팅 장치에 전송되어 상기 다른 컴퓨팅 장치에 설치될 수 있고, 이로써 상기 다른 컴퓨팅 장치에서 사용될 수 있다.
도면에서 동작들이 특정한 순서로 도시되어 있지만, 반드시 동작들이 도시된 특정한 순서로 또는 순차적 순서로 실행되어야만 하거나 또는 모든 도시 된 동작들이 실행되어야만 원하는 결과를 얻을 수 있는 것으로 이해되어서는 안 된다. 특정 상황에서는, 멀티태스킹 및 병렬 처리가 유리할 수도 있다. 더욱이, 위에 설명한 실시예들에서 다양한 구성들의 분리는 그러한 분리가 반드시 필요한 것으로 이해되어서는 안 되고, 설명된 프로그램 컴포넌트들 및 시스템들은 일반적으로 단일 소프트웨어 제품으로 함께 통합되거나 다수의 소프트웨어 제품으로 패키지 될 수 있음을 이해하여야 한다.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다.

Claims (21)

  1. 복수의 ID 제공자(identity provider) 및 복수의 서비스 제공자(service provider)를 포함하는 연합 인증(federated authentication) 환경에서 연합 인증 관리 서비스를 제공하는 서버에 있어서,
    상기 복수의 ID 제공자 각각의 제1 위치 정보를 포함하는 메타데이터를 관리하는 메타데이터 관리 모듈; 및
    상기 메타데이터를 이용하여 상기 복수의 ID 제공자에 대한 목록을 생성하고, 사용자 단말의 요청에 응답하여 상기 복수의 ID 제공자에 대한 목록을 제공하며, 사용자 단말의 타깃 ID 제공자에 대한 선택 입력에 응답하여 상기 타깃 ID 제공자에 대한 정보를 제공하는 탐색 서비스 모듈을 포함하되,
    상기 탐색 서비스 모듈은,
    상기 제1 위치 정보와 상기 사용자 단말의 제2 위치 정보를 이용하여, 상기 사용자 단말과 상기 복수의 ID 제공자 각각과의 거리 값을 연산하고, 상기 연산된 거리 값에 기초하여 상기 복수의 ID 제공자 각각의 우선순위를 결정하는 우선순위 결정부; 및
    상기 결정된 우선순위에 기초하여, 상기 목록을 생성하고 제공하는 목록 제공부를 포함하고,
    상기 목록에서 상기 복수의 ID 제공자의 배열 순서는 상기 우선순위에 기초하여 결정되는 것을 특징으로 하는,
    연합 인증 관리 서버.
  2. 삭제
  3. 삭제
  4. 제1 항에 있어서,
    상기 제1 위치 정보 및 상기 제2 위치 정보는 위도 및 경도 정보를 포함하고,
    상기 거리 값은 하버사인 포뮬러(Haversine formula)에 기초하여 연산되는 것을 특징으로 하는,
    연합 인증 관리 서버.
  5. 제1 항에 있어서,
    상기 탐색 서비스 모듈은,
    상기 사용자 단말의 IP 정보를 획득하고, 상기 IP 정보를 이용하여 상기 사용자 단말의 위치 정보를 획득하는 정보 획득부를 더 포함하는 것을 특징으로 하는,
    연합 인증 관리 서버.
  6. 복수의 ID 제공자(identity provider) 및 복수의 서비스 제공자(service provider)를 포함하는 연합 인증(federated authentication) 환경에서 연합 인증 관리 서비스를 제공하는 서버에 있어서,
    상기 복수의 ID 제공자 각각의 제1 명칭을 포함하는 메타데이터를 관리하는 메타데이터 관리 모듈; 및
    상기 메타데이터를 이용하여 상기 복수의 ID 제공자에 대한 목록을 생성하고, 사용자 단말의 요청에 응답하여 상기 복수의 ID 제공자에 대한 목록을 제공하며, 사용자 단말의 타깃 ID 제공자에 대한 선택 입력에 응답하여 상기 타깃 ID 제공자에 대한 정보를 제공하는 탐색 서비스 모듈을 포함하되,
    상기 탐색 서비스 모듈은,
    상기 사용자 단말로부터 최근접 지점에 위치한 ID 제공자의 제2 명칭을 획득하는 정보 획득부;
    상기 제1 명칭과 상기 제2 명칭 간의 텍스트 유사도에 기초하여, 상기 복수의 ID 제공자 각각의 우선순위를 결정하는 우선순위 결정부; 및
    상기 결정된 우선순위에 기초하여, 상기 목록을 생성하고 제공하는 목록 제공부를 포함하고,
    상기 목록에서 상기 복수의 ID 제공자의 배열 순서는 상기 우선순위에 기초하여 결정되는 것을 특징으로 하는,
    연합 인증 관리 서버.
  7. 제6 항에 있어서,
    상기 텍스트 유사도는,
    코사인 유사도(cosine similarity)에 기초하여 산출되는 것을 특징으로 하는,
    연합 인증 관리 서버.
  8. 제1 항에 있어서,
    상기 메타데이터는 상기 복수의 ID 제공자 각각의 제1 명칭을 포함하고,
    상기 탐색 서비스 모듈은,
    상기 사용자 단말로부터 최근접 지점에 위치한 ID 제공자의 제2 명칭을 획득하는 정보 획득부를 더 포함하되,
    상기 우선순위 결정부는,
    상기 연산된 거리 값에 기초하여 상기 복수의 ID 제공자 각각에 대한 제1 스코어를 산출하고,
    상기 제1 명칭과 상기 제2 명칭 간의 텍스트 유사도에 기초하여 상기 복수의 ID 제공자 각각에 대한 제2 스코어를 산출하며,
    상기 제1 스코어 및 상기 제2 스코어에 기초하여, 상기 우선순위를 결정하는 것을 특징으로 하는,
    연합 인증 관리 서버.
  9. 제8 항에 있어서,
    상기 우선순위 결정부는,
    상기 제1 스코어 및 상기 제2 스코어의 가중치 합(weighted sum)에 기초하여 상기 우선순위를 결정하되,
    상기 제1 스코어에 상기 제2 스코어보다 더 높은 가중치가 부여되는 것을 특징으로 하는,
    연합 인증 관리 서버.
  10. 제8 항에 있어서,
    상기 정보 획득부는,
    상기 사용자 단말에 대한 ID 제공자 선택 이력 정보를 더 획득하고, 상기 ID 제공자 선택 이력 정보를 이용하여 상기 복수의 ID 제공자 각각에 대한 선택 빈도를 결정하되,
    상기 우선순위 결정부는,
    상기 복수의 ID 제공자 각각에 대한 선택 빈도를 기초로, 상기 복수의 ID 제공자 각각에 대한 제3 스코어를 산출하고,
    상기 제1 스코어 내지 상기 제3 스코어에 기초하여, 상기 우선순위를 결정하는 것을 특징으로 하는,
    연합 인증 관리 서버.
  11. 제1 항에 있어서,
    상기 탐색 서비스 모듈은,
    상기 사용자 단말에 대한 ID 제공자 선택 이력 정보를 획득하는 정보 획득부를 더 포함하되,
    상기 목록 제공부는,
    ID 제공자 선택 이력 정보를 이용하여, 지정된 시간 동안 상기 사용자 단말의 의해 선택된 ID 제공자에 대한 이전 선택 목록을 함께 제공하는 것을 특징으로 하는,
    연합 인증 관리 서버.
  12. 제1 항에 있어서,
    상기 탐색 서비스 모듈은,
    상기 사용자 단말이 서비스를 요청한 타깃 서비스 제공자의 액세스 제어 목록(access control list)을 획득하는 정보 획득부를 더 포함하되,
    상기 액세스 제어 목록은,
    상기 복수의 ID 제공자 중에서 상기 타깃 서비스 제공자에 액세스가 허용되지 않는 제1 ID 제공자에 대한 정보를 포함하고,
    상기 목록 제공부는,
    상기 액세스 제어 목록을 이용하여, 상기 제1 ID 제공자가 제외된 목록을 제공하는 것을 특징으로 하는,
    연합 인증 관리 서버.
  13. 제1 항에 있어서,
    상기 연합 인증 관리 서버는,
    탐색 서비스 모듈에 의해 송수신되는 메시지를 모니터링하고, 상기 모니터링의 결과를 이용하여 상기 복수의 ID 제공자에 의해 제공되는 연합 인증 서비스의 이용 현황 정보를 생성하는 모니터링 모듈을 더 포함하는 것을 특징으로 하는,
    연합 인증 관리 서버.
  14. 제13 항에 있어서,
    상기 메시지는 HTTP 메시지이되,
    상기 모니터링 모듈은,
    상기 선택 입력에 따라 획득되는 타깃 ID 제공자의 제1 식별 정보와 HTTP 메시지의 파라미터로 전달되는 서비스 제공자의 제2 식별 정보를 이용하여, 상기 연합 인증 서비스의 이용 현황 정보를 생성하는 것을 특징으로 하는,
    연합 인증 관리 서버.
  15. 복수의 ID 제공자(identity provider) 및 복수의 서비스 제공자(service provider)를 포함하는 연합 인증(federated authentication) 환경에서 연합 인증 관리 서버에 의해 제공되는 방법에 있어서,
    사용자 단말로부터 상기 복수의 ID 제공자에 대한 목록을 요청 받는 단계;
    상기 요청에 응답하여, 상기 복수의 ID 제공자 각각의 우선순위를 결정하는 단계;
    상기 결정된 우선순위에 기초하여, 상기 복수의 ID 제공자에 대한 배열 순서를 결정하는 단계; 및
    상기 결정된 배열 순서에 기초하여 생성된 목록을 상기 사용자 단말로 제공하는 단계를 포함하되,
    상기 우선순위를 결정하는 단계는,
    상기 복수의 ID 제공자 각각에 대한 제1 위치 정보와 상기 사용자 단말의 제2 위치 정보를 이용하여, 상기 사용자 단말과 상기 복수의 ID 제공자 각각과의 거리 값을 연산하는 단계; 및
    상기 연산된 거리 값에 기초하여 상기 우선순위를 결정하는 단계를 포함하는 것을 특징으로 하는,
    연합 인증 관리 서비스 제공 방법.
  16. 삭제
  17. 복수의 ID 제공자(identity provider) 및 복수의 서비스 제공자(service provider)를 포함하는 연합 인증(federated authentication) 환경에서 연합 인증 관리 서버에 의해 제공되는 방법에 있어서,
    사용자 단말로부터 상기 복수의 ID 제공자에 대한 목록을 요청 받는 단계;
    상기 요청에 응답하여, 상기 복수의 ID 제공자 각각의 우선순위를 결정하는 단계;
    상기 결정된 우선순위에 기초하여, 상기 복수의 ID 제공자에 대한 배열 순서를 결정하는 단계; 및
    상기 결정된 배열 순서에 기초하여 생성된 목록을 상기 사용자 단말로 제공하는 단계를 포함하되,
    상기 우선순위를 결정하는 단계는,
    상기 사용자 단말로부터 최근접 지점에 위치한 ID 제공자의 제1 명칭을 획득하는 단계;
    상기 제1 명칭과 상기 복수의 ID 제공자 각각의 제2 명칭 간의 텍스트 유사도를 산출하는 단계; 및
    상기 산출된 텍스트 유사도에 기초하여, 상기 우선순위를 결정하는 단계를 포함하는 것을 특징으로 하는,
    연합 인증 관리 서비스 제공 방법.
  18. 제15 항에 있어서,
    상기 연산된 거리 값에 기초하여 상기 우선순위를 결정하는 단계는,
    상기 연산된 거리 값에 기초하여, 상기 복수의 ID 제공자 각각에 대한 제1 스코어를 산출하는 단계;
    상기 사용자 단말로부터 최근접 지점에 위치한 ID 제공자의 제1 명칭을 획득하는 단계;
    상기 제1 명칭과 상기 복수의 ID 제공자 각각의 제2 명칭 간의 텍스트 유사도에 기초하여 상기 복수의 ID 제공자 각각에 대한 제2 스코어를 산출하는 단계; 및
    상기 제1 스코어 및 상기 제2 스코어에 기초하여, 상기 우선순위를 결정하는 단계를 포함하는 것을 특징으로 하는,
    연합 인증 관리 서비스 제공 방법.
  19. 제15 항에 있어서,
    상기 사용자 단말이 서비스를 요청한 타깃 서비스 제공자의 액세스 제어 목록(access control list)을 획득하되, 상기 액세스 제어 목록은 상기 복수의 ID 제공자 중에서 상기 타깃 서비스 제공자에 액세스가 허용되지 않는 제1 ID 제공자에 대한 정보를 포함하는 것인, 단계를 더 포함하되,
    상기 생성된 목록을 상기 사용자 단말로 제공하는 단계는,
    상기 액세스 제어 목록을 이용하여, 상기 제1 ID 제공자를 제외하고 나머지 ID 제공자에 대한 목록을 생성하여 제공하는 단계를 포함하는 것을 특징으로 하는,
    연합 인증 관리 서비스 제공 방법.
  20. 제15 항에 있어서,
    상기 목록에 포함된 복수의 ID 제공자 중 타깃 ID 제공자에 대한 선택 입력의 수신을 모니터링 하는 제1 단계;
    송수신되는 메시지를 모니터링 하는 제2 단계;
    상기 제1 단계의 모니터링 결과로 획득되는 타깃 ID 제공자에 대한 제1 식별 정보와 상기 제2 단계의 모니터링 결과로 획득되는 서비스 제공자에 대한 제2 식별 정보를 이용하여, 상기 복수의 ID 제공자에 의해 제공되는 연합 인증 서비스의 이용 현황 정보를 생성하는 단계를 더 포함하되,
    상기 메시지는 HTTP 메시지이고,
    상기 제2 식별 정보는 상기 HTTP 메시지의 파라미터로 전달되는 것을 특징으로 하는,
    연합 인증 관리 서비스 제공 방법.
  21. 컴퓨팅 장치와 결합되어,
    제15 항 및 제17 항 중 어느 하나의 항에 기재된 방법을 실행시키기 위하여, 컴퓨터로 판독가능한 기록매체에 저장된,
    컴퓨터 프로그램.
KR1020170147777A 2017-11-08 2017-11-08 연합 인증 관리 서버 및 그 동작 방법 KR101841079B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170147777A KR101841079B1 (ko) 2017-11-08 2017-11-08 연합 인증 관리 서버 및 그 동작 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170147777A KR101841079B1 (ko) 2017-11-08 2017-11-08 연합 인증 관리 서버 및 그 동작 방법

Publications (1)

Publication Number Publication Date
KR101841079B1 true KR101841079B1 (ko) 2018-03-23

Family

ID=61911960

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170147777A KR101841079B1 (ko) 2017-11-08 2017-11-08 연합 인증 관리 서버 및 그 동작 방법

Country Status (1)

Country Link
KR (1) KR101841079B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112948803A (zh) * 2021-02-27 2021-06-11 平安科技(深圳)有限公司 应用程序的登录方法、系统、设备和存储介质
KR20240043556A (ko) 2022-09-27 2024-04-03 주식회사 제나 사용자 인증정보를 제공하는 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101736157B1 (ko) * 2016-10-18 2017-05-17 한국과학기술정보연구원 연합 인증 방법 및 장치

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101736157B1 (ko) * 2016-10-18 2017-05-17 한국과학기술정보연구원 연합 인증 방법 및 장치

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112948803A (zh) * 2021-02-27 2021-06-11 平安科技(深圳)有限公司 应用程序的登录方法、系统、设备和存储介质
CN112948803B (zh) * 2021-02-27 2023-10-27 平安科技(深圳)有限公司 应用程序的登录方法、系统、设备和存储介质
KR20240043556A (ko) 2022-09-27 2024-04-03 주식회사 제나 사용자 인증정보를 제공하는 방법

Similar Documents

Publication Publication Date Title
US10768988B2 (en) Real-time partitioned processing streaming
US20200136921A1 (en) Methods, system, articles of manufacture, and apparatus to manage telemetry data in an edge environment
US9129105B2 (en) Privileged account manager, managed account perspectives
US10361916B2 (en) Cloud system order and configuration using customized templates
JP6594978B2 (ja) データベース内を検索する方法および装置
US10581970B2 (en) Providing information on published configuration patterns of storage resources to client systems in a network computing environment
US9459897B2 (en) System and method for providing data analysis service in cloud environment
US8683050B2 (en) Directing service requests to providers
US10409551B1 (en) Voice-driven monitoring of resources in a service provider network
US11003487B2 (en) Dynamic time-based sequencing
KR101785219B1 (ko) 사물 인터넷 환경에서의 그룹 사용자를 위한 그룹 구성 정보 기반 서비스 추천 방법
US20160218922A1 (en) Requesting storage performance models for a configuration pattern of storage resources to deploy at a client computing environment
US20170076323A1 (en) Matching devices with entities using real-time data and batch-processed data
US10885009B1 (en) Generating aggregate views for data indices
US20200202277A1 (en) Enhanced dynamic monitoring of on-demand key performance indicators
KR101841079B1 (ko) 연합 인증 관리 서버 및 그 동작 방법
US20160218919A1 (en) Publishing configuration patterns for storage resources and storage performance models from client systems to share with client systems in a network computing environment
Guay Paz et al. Introduction to azure cosmos db
US20190255719A1 (en) Access to an electronic asset using content augmentation
JP2018101201A (ja) 施策導入効果予測装置、施策導入効果予測プログラム及び施策導入効果予測方法
CN113569179A (zh) 基于统一网站的子系统访问方法和装置
Brock et al. Grids vs. clouds
Mehta et al. A two level broker system for infrastructure as a service cloud
WO2018121164A1 (zh) 一种用于创建服务号的方法、设备及系统
US20220122141A1 (en) Train any buddy real-time online matching service

Legal Events

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