KR20150130545A - 능동적으로 연합된 모바일 인증 - Google Patents

능동적으로 연합된 모바일 인증 Download PDF

Info

Publication number
KR20150130545A
KR20150130545A KR1020157029479A KR20157029479A KR20150130545A KR 20150130545 A KR20150130545 A KR 20150130545A KR 1020157029479 A KR1020157029479 A KR 1020157029479A KR 20157029479 A KR20157029479 A KR 20157029479A KR 20150130545 A KR20150130545 A KR 20150130545A
Authority
KR
South Korea
Prior art keywords
service
token
user
enterprise
request
Prior art date
Application number
KR1020157029479A
Other languages
English (en)
Other versions
KR102205941B1 (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 KR20150130545A publication Critical patent/KR20150130545A/ko
Application granted granted Critical
Publication of KR102205941B1 publication Critical patent/KR102205941B1/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/0869Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
    • 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/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • 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
    • 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/28
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/082Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying multi-factor authentication
    • 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/0884Network architectures or network communication protocols for network security for authentication of entities by delegation of authentication, e.g. a proxy authenticates an entity to be authenticated on behalf of this entity vis-à-vis an authentication entity
    • 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/50Network services
    • H04L67/56Provisioning of proxy services

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)
  • Telephonic Communication Services (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

신뢰할 수 있는 웹 서비스 호출을 하기 위해, 클라이언트 애플리케이션은 서비스 요청들이 서비스 중계기(service relay)를 통과할 수 있게 하는 토큰들을 획득하기 위해 일련의 메시지들을 송신한다. 사용자는 사용자의 자격 증명들을 제공하는 것에 의해 제1 보안 토큰을 획득한다. 제2 토큰이 제1 토큰을 유효성 검사하는 신뢰 브로커(trust broker)로부터 획득된다. 양 토큰이 이어서 서비스 요청과 함께 서비스 중계기로 송신된다. 서비스 중계기는 제2 토큰을 유효성 검사하고 이어서 제1 토큰 및 서비스 요청을 커넥터 서비스(connector service)로 전달한다. 커넥터 서비스는 제1 토큰을 유효성 검사하고 서비스 요청을 목표 백 엔드 서비스(target back end service)로 전달한다. 커넥터 서비스는 백 엔드 서비스와 통신할 때 사용자로서 역할한다. 서비스 응답들이 커넥터 서비스 및 서비스 중계기를 통해 다시 사용자에게 라우팅된다.

Description

능동적으로 연합된 모바일 인증{ACTIVELY FEDERATED MOBILE AUTHENTICATION}
많은 기업들은 ERP(enterprise resource planning, 전사적 자원 관리) 및 CRM(customer relationship management, 고객 관계 관리) 애플리케이션들과 같은 백 오피스 서비스(back office service)들을 직원들에게 제공한다. 이 애플리케이션들은 전형적으로 자격 증명과, 재무 데이터, 연락처 정보 및 인사 파일(personnel file)과 같은 회사 비밀 정보(proprietary company information)를 사용하고 저장한다. 기업들은 이 애플리케이션들 및 연관된 정보에의 액세스를 인가된 사용자들로만 제한한다.
사용자들이 현장에 있을 때, 기업은 엔터프라이즈 네트워크(enterprise network)를 통해 백 오피스 서비스들에 액세스하는 사용자들을 인증할 수 있다. 그렇지만, 사용자들이 사내에 있지 않을(off-premises) 때, 사용자들을 인증하고 안전한 방식으로 서비스들을 제공하는 것이 더 어렵게 된다. 보안을 유지하기 위해, 스마트폰 또는 태블릿과 같은 모바일 클라이언트를 통해 백 오피스 서비스들에 액세스할 필요가 있는 사용자들은 서비스들에 의해 노출되는 동작들을 수행하도록 허용되기 전에 인가된 것으로 인증되어야만 한다.
예를 들어, 많은 회사들은 직원들이 업무 목적으로 지불한 경비를 직원들에게 지급하기 위해 경비 보고 시스템을 사용하고 직원들의 근무 시간을 포착하기 위해 근무 시간 보고 시스템(time reporting system)을 사용한다. 직원들의 어려움들 중 하나는, 특히 경비가 발생될 때 직원이 자신의 컴퓨터로부터 멀리 있는 경우, 업무 목적으로 지불한 다양한 경비들 및 회사 업무로 일한 근무 시간들을 추적하는 것이다. 종래의 시스템들에서, 직원들은, 경비 및 시간을 추적하기 위해, 종이 영수증들을 모아두는 것 및 일한 근무 시간들을 일지에 기록하는 것과 같은 어떤 다른 프로세스를 사용할 필요가 있었다. 그 경비들이 그 뒤에 경비 보고서에 추가되었고, 시간 항목들이 출근부(time card)에 정리되었다.
이 발명의 내용은 이하에서 발명을 실시하기 위한 구체적인 내용에 추가로 기술되는 일련의 개념들을 간략화된 형태로 소개하기 위해 제공된다. 이 발명의 내용은 청구된 발명 요지의 주요 특징들 또는 필수적인 특징들을 나타내기 위한 것이 아니며, 청구된 발명 요지의 범주를 제한하기 위해 사용되기 위한 것도 아니다.
신뢰할 수 있는 웹 서비스 호출을 하기 위해, 클라이언트 애플리케이션은 서비스 요청들이 서비스 중계기(service relay)를 통과할 수 있게 하는 보안 토큰들을 획득하기 위해 일련의 메시지들을 송신한다. 사용자는 사용자의 자격 증명들을 제공하는 것에 의해 제1 토큰을 획득한다. 제2 토큰이 제1 토큰을 유효성 검사하는 신뢰 브로커(trust broker)로부터 획득된다. 양 토큰이 이어서 서비스 요청과 함께 서비스 중계기로 송신된다. 서비스 중계기는 제2 토큰을 유효성 검사하고 이어서 제1 토큰 및 서비스 요청을 커넥터 서비스(connector service)로 전달한다. 커넥터 서비스는 제1 토큰을 유효성 검사하고 서비스 요청을 목표 백 엔드 서비스(target back end service)로 전달한다. 커넥터 서비스는 백 엔드 서비스와 통신할 때 사용자로서 역할한다. 서비스 응답들이 커넥터 서비스 및 서비스 중계기를 통해 다시 사용자에게 라우팅된다.
예를 들어, 하나의 실시예에서, 본 발명은 직원들이 출장 중이거나 자신의 컴퓨터로부터 멀리 떨어져 있을 때 지불된 경비들 및 일한 근무 시간을 포착하는 문제를 해결하는 데 도움을 준다. 휴대폰 애플리케이션은 경비 보고를 위해 주요 경비 정보 및 연관된 영수증들을 포착한다. 직원 근무 시간 항목들도 포착될 수 있다. 경비(예컨대, 영수증들) 및 근무 시간 정보가 휴대폰 데이터 연결을 통해 회사의 경비 및 근무 시간 보고 시스템들로 송신된다. 이것은 직원이 출장 중이거나 사무실 밖에 있는 동안 종이 영수증들, 현금으로 지불한 금액, 또는 사무실로부터 멀리 떨어져서 일한 근무 시간을 추적할 필요 없이 그 정보를 쉽게 포착하는 데 도움을 준다.
본 발명의 실시예의 상기 장점 및 특징과 기타 장점 및 특징을 더 명백히 하기 위해, 첨부 도면을 참조하여 본 발명의 실시예에 대한 보다 상세한 설명이 행해질 것이다. 이들 도면이 본 발명의 단지 전형적인 실시예를 나타낸 것이며 따라서 본 발명의 범위를 제한하는 것으로 간주되어서는 안된다는 것을 잘 알 것이다. 본 발명이 첨부 도면들을 사용하여 더 구체적이고 상세하게 기술되고 설명될 것이다.
도 1은 모바일 디바이스가 데이터를 백 오피스 서비스로 송신하고 그로부터 수신할 수 있게 하는 구성요소들을 나타낸 도면.
도 2는 하나의 실시예에서 모바일 디바이스가 백 오피스 서비스와 통신할 수 있게 하기 위한 시스템에서의 메시지들의 흐름을 나타낸 도면.
도 3은 온라인 인가 서비스(online authorization service)로부터의 토큰이 서비스 요청을 유효성 검사하는 데 사용될 수 있는 예시적인 시스템을 나타낸 도면.
도 4는 모바일 디바이스가 ID 제공자(identity provider)와 직접 접촉할 필요가 없는 대안의 메시지 흐름을 나타낸 도면.
도 5는 웹 서비스 호출들이 서비스 중계기를 거쳐 엔터프라이즈 서비스(enterprise service)에 액세스하게 하기 위해 모바일 디바이스가 자격 증명들을 획득하는 방법 또는 프로세스를 나타낸 플로우차트.
도 6은 엔터프라이즈 네트워크 내의 커넥터 서비스에서 서비스 요청들을 처리하는 방법을 나타낸 플로우차트.
도 7은 본 발명의 실시예들이 구현될 수 있는 컴퓨팅 및 네트워킹 환경의 일례를 나타낸 도면.
본 발명의 실시예들은 웹 서비스 호출과 결합되어 있는 사용자의 ID 정보(identity information)가 모바일 디바이스 상의 클라이언트 소프트웨어 애플리케이션과 같은 서비스 클라이언트(service client)로부터 서비스 중계기(service relay)를 거쳐 백 오피스 시스템(back office system)으로 흐를 수 있게 한다.
도 1은 스마트폰 또는 태블릿과 같은 모바일 디바이스(101)가 ERP 또는 CRM 시스템과 같은 백 오피스 서비스(back office service)(102)로 데이터를 송신하고 그로부터 데이터를 수신할 수 있게 하는 시스템의 구성요소들을 나타낸 것이다. 백 오피스 서비스(102)는 방화벽(104)에 의해 보호되는 엔터프라이즈 네트워크(103)의 일부일 수 있다. 백 오피스 서비스(102)와 직접 통신하는 대신에, 모바일 디바이스(101)는 전세계적으로 이용 가능한 서비스 중계기(105)를 통해 서비스 요청들을 송신한다. 서비스 중계기(105)를 사용하는 것에 의해, 엔터프라이즈 네트워크(103) 또는 백 엔드 서비스(back end service)(102) 상에 공개 종단점(public endpoint)을 제공할 필요가 없게 된다. 서비스 중계기(105)는 방화벽(104)을 거쳐 통신하고 요구된 보안 토큰을 갖지 않는 인가되지 않은 트래픽(unauthorized traffic)을 필터링 제거한다.
ID 제공자 및 보안 토큰 서비스(identity provider and security token service)(106)는 인증을 연합(federate)시키고 자격 증명들을 제공하여 모바일 디바이스(101)를 인증하기 위해 사용된다. ID 제공자(106) 및 백 오피스 서비스(102)는 신뢰 관계(trust relationship)(111)를 가진다. 신뢰 관계는 2 개의 엔터티들이 특정의 메시지가 어느 한쪽 엔터티로부터 발신되었다는 것을 암호적으로 검증(cryptographically verify)할 수 있게 한다. 신뢰 관계는 수신된 메시지의 내용이 변조되지 않았다는 것을 수신측 엔터티에게 확인시켜 주기 위해 대칭 또는 비대칭 키를 사용한다. ID 제공자(106)는 서비스 중계기(105)를 통해 모바일 디바이스(101)에 의해 송신되는 서비스 요청들을 인증하기 위해 사용되는 클레임(claim)을 갖는 토큰을 모바일 디바이스(101)에게 제공할 수 있다. 그렇지만, 서비스 중계기(105) 자체는 모바일 디바이스(101) 또는 ID 제공자(106)와 아무런 관계를 갖지 않고 이들을 알고 있지 않으며, 따라서 서비스 중계기(105)는 추가적인 인증 없이는 모바일 디바이스(101)로부터의 서비스 요청들 및 토큰들을 결코 전달하지 않을 것이다.
서비스 중계기(105)는 온라인 인가 서비스(online authorization service)(107)와 신뢰 관계(112)를 가진다. 서비스 중계기(105) 및 온라인 인가 서비스(107)는, 예를 들어, 클라우드 서비스 환경(110)의 구성요소일 수 있다. 온라인 인가 서비스(107)는 서비스 중계기(105)에 대해 모바일 디바이스(101)를 인증할 토큰들을 발행하도록 구성되어 있다. 온라인 인가 서비스(107)가 또한 ID 제공자(106)와 신뢰 관계(113)를 가지는 경우, ID 제공자(106)로부터의 토큰은 백 오피스 서비스(102) 및 온라인 인증 서비스(107) 둘 다에 대해 모바일 디바이스(101)를 인증할 것이다.
서비스 중계기(105)는 모바일 디바이스(101)로부터 요청(108a)을 수신하고, 온라인 인가 서비스(107)로부터의 토큰을 사용하여 모바일 디바이스(101)의 ID를 검증한다. 백 오피스 서비스(102)에 부가의 보호 및 유연성 계층을 제공하기 위해, 서비스 중계기(105)는 백 오피스 서비스(102)와 직접 통신하지 않는다. 그 대신에, 인증된 서비스 요청(108b)이 엔터프라이즈 네트워크(103) 내의 커넥터 서비스(connector service)(109)로 송신된다. 커넥터 서비스(109)는 이어서 요청(108c)을 백 오피스 서비스(102)로 포워딩(forward)한다.
모바일 디바이스(101)는 디바이스에 의해 사용되는 운영 체제 및/또는 브라우저에 대해 적절히 적응되어 있는 클라이언트 애플리케이션을 실행할 수 있다. 본 명세서에 예시된 예들에서, 모바일 디바이스(101)에 의해 취해지는 동작들은 클라이언트 애플리케이션에 의해 또는 그의 제어 하에서 수행된다. 클라이언트 애플리케이션은 보안 토큰 서비스들로부터 적절한 토큰들을 획득하기 위해 ID 제공자(106) 및 온라인 인가 서비스(107)와 통신하도록 구성되어 있다. 클라이언트 애플리케이션은 또한 서비스 요청들/응답들 및 토큰들을 교환하기 위해 서비스 중계기(105)와 통신한다. 모바일 디바이스(101)는 Microsoft Windows®, iOS, 또는 Android 운영 체제를 실행하는 스마트폰 또는 태블릿과 같은 모바일 디바이스일 수 있다. 클라이언트 애플리케이션이 모바일 디바이스 상에 있을 필요는 없다. 다른 실시예들에서, 클라이언트 애플리케이션은 백 오피스 서비스(102)에 서비스 요청을 할 수 있는, Microsoft.NET 소프트웨어 애플리케이션, 서비스, 웹 사이트, 또는 엔터프라이즈 네트워크(103)의 내부 또는 외부에 있는 임의의 고정 지점(fixed point) 또는 이동 지점(mobile point)일 수 있다.
도 2는 하나의 실시예에서 모바일 디바이스(101)가 백 오피스 서비스(102)와 통신할 수 있게 하기 위한 시스템에서의 메시지들의 흐름을 나타낸 것이다. 모바일 디바이스(101)는 먼저 RST(request for security token, 보안 토큰 요청) 메시지(201)를 ID 제공자(106)로 송신한다. 요청(201)은 사용자 이름 및 비밀 번호와 같은 사용자의 자격 증명들을 포함한다. 모바일 디바이스(101) 및 ID 제공자(106)는 WS-Trust와 같은 웹 서비스 보안 프로토콜을 사용할 수 있다. 메시지(201)에 포함되어 있는 사용자의 크리덴셜(credential)들은 백 오피스 서비스(102)에 대해 사용자를 인증하기 위해 ID 제공자(106)에 의해 사용된다. ID 제공자(106)는, 예를 들어, SAML(security assertion markup language) 토큰일 수 있는 토큰 A를 갖는 메시지(202)로 답신한다.
토큰 A는 백 오피스 서비스(102)에 대해 모바일 디바이스(101)를 인증할 것이지만; 모바일 디바이스(101)는 또한 서비스 중계기(105)에 대해서도 인증되어야만 한다. 모바일 디바이스(101)는 요청(203)에서 SAML 토큰 A를 신뢰 브로커(trust broker)로서 동작하는 온라인 인가 서비스(107)로 송신한다. 온라인 인가 서비스(107)와 ID 제공자(106)가 신뢰 관계(113)를 갖기 때문에, 온라인 인가 서비스(107)는 토큰 A를 검증, 유효성 검사 및 접수하고 새로운 토큰 B를 답신(204)에서 반환할 수 있다. 토큰 B는, 예를 들어, SWT(simple web token, 단순 웹 토큰)일 수 있다.
모바일 디바이스(101)는 이어서 서비스 요청(205)과 토큰들 A 및 B를 서비스 중계기(105)로 송신한다. 서비스 요청은 백 오피스 서비스(102)에 의해 지원되는 임의의 동작일 수 있다. 토큰 B는 중계를 행할 수 있게 하는 권한을 서비스 중계기(105)에 제공한다. 서비스 중계기(105)는 이어서 서비스 요청(206)과 토큰 A를 커넥터 서비스(109)로 송신하고, 커넥터 서비스(109)는 토큰 A를 유효성 검사하고 토큰 A로 사용자를 승인한다. 커넥터 서비스(109)는 이어서 서비스 요청(207)을 처리를 위해 백 오피스 서비스(102)로 송신한다. 커넥터 서비스는 서비스 요청을 유효성 검사하고 사용자를 식별하며, 이어서 백 엔드 서비스(102)에 대해 사용자로서 역할하는(즉, 사용자인 체하는) 변환 서비스(translation service)로서 기능할 수 있다. 이러한 방식으로, 백 엔드 서비스(102)는 인증에 대해 걱정할 필요가 없고 클라이언트 또는 서비스 요청의 실제 발신지 또는 소스를 알 필요가 없으며, 각종의 상이한 클라이언트 플랫폼들 또는 구현들로부터의 요청들을 처리할 수 있다. 필연적 결과로서, 클라이언트는 백 엔드 서비스(102) 또는 서비스 요청의 실제 목적지를 알 필요가 없다. 이러한 방식으로, 백 오피스 서비스(102)는, 다른 실시예들에서, 실제로는 몇 개의 상이하고 어쩌면 관련 없는 엔터프라이즈 시스템들일 수 있다.
백 오피스 서비스(102)는 서비스 응답(208)을 커넥터 서비스(109)로 송신하고, 커넥터 서비스(109)는 응답(209)을 서비스 중계기(105)로 포워딩한다. 모바일 디바이스(101)는 이어서 서비스 중계기로부터 서비스 응답(210)을 수신한다.
모바일 디바이스(101) 상의 클라이언트 애플리케이션은 백 오피스 서비스(102)에 적절한 서비스 요청들을 생성하도록 구성되어 있다. 백 오피스 서비스(102)가 전사적 자원 관리, 고객 관계 관리, 또는, 예를 들어, 근무 시간 포착, 경비 포착, 프로젝트 관리, 자원 관리, 또는 승인 애플리케이션, 또는 웹 서비스들(예를 들어, SOAP 또는 RESTful 서비스들일 수 있음)을 노출시키는 다른 백 엔드 시스템을 비롯한 다른 엔터프라이즈 또는 백 엔드 서비스를 포함할 수 있다는 것을 잘 알 것이다. 다른 실시예에서, 백 오피스 서비스(102)는 임의의 이러한 서비스들을 가지는 상이한 시스템들의 집합체일 수 있다. 일군의 시스템들이 협력하여 선택된 서비스를 커넥터 서비스(109)를 통해 사용자들에게 제공할 수 있다. 대안적으로, 복수의 시스템들이 상이한 서비스들을 커넥터 서비스(109)를 통해 사용자들에게 제공할 수 있다.
예를 들어, 클라우드 서비스 환경(110)은 Microsoft Windows Azure™ 서비스일 수 있고, 여기서 Windows Azure™ 서비스 버스(Service Bus)는 서비스 중계기(105)로서 기능하고, Windows Azure™ 액세스 제어 서비스(Access Control Service)는 온라인 인가 서비스(107)로서 기능한다. 다른 실시예들에서, 클라우드 서비스 환경(110)은, 예를 들어, 아마존 웹 서비스(Amazon Web Services) 또는 서비스 중계기 및 서비스 중계기와 호환되고 ID 제공자와 신뢰를 설정하고 있는 임의의 보안 토큰 서비스를 가지는 임의의 다른 분산 컴퓨팅 서비스일 수 있다. 온라인 인가 서비스(107)가 WRAP 프로토콜을 통해 SWT 토큰을 발행하는 것으로 기술되어 있지만, 온라인 인가 서비스가 임의의 보안 프로토콜을 사용하여 임의의 보안 토큰을 발행할 수 있다는 것을 잘 알 것이다.
예시적인 실시예에서, ID 제공자(106)는 액티브 디렉토리 연합 서비스(Active Directory Federation Services) 또는 임의의 다른 ID 제공자 및 보안 토큰 서비스를 갖는 Microsoft의 액티브 디렉토리(Active Directory)일 수 있다. ID 제공자(106)가 WS-Security 및 WS-Trust 프로토콜을 통해 SAML 토큰을 발행하는 것으로 앞서 기술되어 있지만, ID 제공자가 임의의 보안 프로토콜을 통해 임의의 보안 토큰을 발행할 수 있다는 것을 잘 알 것이다.
서비스 중계기(105)는 중간 계층 서비스 종단점(middle tier service endpoint)을 호스팅하며, 이는 웹 서비스 종단점을 호스팅하고 ID 제공자로부터의 토큰을 처리할 수 있는 임의의 중계 서비스일 수 있다. 하나의 실시예에서, 웹 서비스들은 SSL을 통해 HTTP 프로토콜을 이용하지만, 서비스 메시지들이 임의의 전송 프로토콜 및 연관된 전송 레벨 보안(Net.TCP 등)을 사용할 수 있다는 것을 잘 알 것이다.
SOAP 기반 서비스에서, 보안 토큰들은 SOAP 헤더 또는 HTTP 헤더에 위치될 수 있다. REST 기반 서비스에서, 서비스 중계기에 대해 인가하기 위한 보안 토큰은 서비스 중계기(105)에 의해 요구되고 이해되는 HTTP 헤더에 위치될 수 있고, 다른 토큰은 메시지 본문(message body) 또는 HTTP 헤더에 위치될 수 있다.
커넥터 서비스(109)가 모바일 디바이스(101)로부터의 서비스 요청을 유효성 검사하기 위해 토큰 A를 사용하는 것으로 예시되어 있지만, 온라인 인가 서비스(107)로부터의 토큰 B를 비롯한 임의의 토큰이 서비스 요청을 유효성 검사하기 위해 사용될 수 있다는 것을 잘 알 것이다. 그에 따라, (도 3에 예시된) 다른 실시예에서, 커넥터 서비스(109)가 온라인 인가 서비스(107)와 신뢰 관계(300)를 가지는 경우, 토큰 B만(즉, 토큰 A는 없음)이 메시지(206)에서 서비스 요청과 함께 전달될 수 있을 것이다. 이 시나리오에서, 커넥터 서비스(109)는 서비스 요청을 유효성 검사하기 위해 토큰 B 내의 클레임을 사용할 것이다.
도 3은 Windows Azure™ 액세스 제어 서비스와 같은 온라인 인가 서비스(107)로부터의 토큰이 서비스 요청을 유효성 검사하는 데 사용될 수 있는 예시적인 시스템을 나타낸 것이다. 커넥터 서비스(109)와 온라인 인가 서비스(107) 사이에 신뢰 관계(300)가 설정된다. 모바일 디바이스(101)가 백 오피스 서비스(102)와 통신할 필요가 있을 때, 모바일 디바이스(101)는, 예를 들어, 모바일 디바이스(101)에 대한 사용자 이름 및 비밀 번호 또는 다른 자격 증명들을 포함할 수 있는 보안 토큰 요청(request for security token) 메시지(301)를 ID 제공자(106)로 송신한다. ID 제공자(106)는 SAML 토큰과 같은 토큰 A를 갖는 메시지(302)로 답신한다.
모바일 디바이스(101)는 이어서 요청(303)에서 SAML 토큰 A를 온라인 인가 서비스(107)로 송신한다. 온라인 인가 서비스(107)와 ID 제공자(106)가 신뢰 관계를 갖기 때문에, 온라인 인가 서비스(107)는 토큰 A를 검증, 유효성 검사 및 접수하고, 예를 들어, SWT 토큰일 수 있는 새로운 토큰 B를 답신(304)에서 반환할 수 있다. 토큰 B가 이제 모바일 디바이스(101)를 백 오피스 서비스(102)에 대해 인증하는 데 사용될 수 있기 때문에, 토큰 A가 더 이상 필요하지 않다. 그에 부가하여, 토큰 B가 모바일 디바이스(101)를 서비스 중계기(105)에 대해 인증하는 데 사용될 수 있다.
모바일 디바이스(101)는 메시지(305)에서 서비스 요청 및 토큰 B를 서비스 중계기(105)로 송신한다. 서비스 요청은 백 오피스 서비스(102)에 의해 지원되는 임의의 동작일 수 있다. 토큰 B는 중계를 행할 수 있게 허용하는 승인을 서비스 중계기(105)에 제공한다. 서비스 중계기(105)는 이어서 메시지(306)에서 서비스 요청 및 토큰 B를 커넥터 서비스(109)로 송신한다. 커넥터 서비스(109)는 토큰 B를 유효성 검사하고 토큰 B로 사용자를 승인한다. 커넥터 서비스(109)는 이어서 서비스 요청(307)을 처리를 위해 백 오피스 서비스(102)로 송신한다.
백 오피스 서비스(102)는 서비스 응답(308)을 커넥터 서비스(109)로 송신하고, 커넥터 서비스(109)는 응답(309)을 서비스 중계기(105)로 포워딩한다. 모바일 디바이스(101)는 이어서 서비스 중계기로부터 서비스 응답(310)을 수신한다.
하나의 실시예에서, 본 발명은 능동 연합 패턴(active federation pattern)을 사용하여 기존의 기술들을 인증 해결책으로 결합시킨다. 다른 실시예들에서, 수동 연합(passive federation)이 사용될 수 있다. 도 4는 모바일 디바이스가 ID 제공자(106)와 직접 접촉할 필요가 없는 대안의 메시지 흐름을 나타낸 것이다. 그 대신에, 보안 토큰을 요청하는 제1 메시지(401)가 모바일 디바이스(101)로부터 온라인 인가 서비스(107)로 간다. 그에 응답하여, 온라인 인가 서비스(107)는 메시지(402)에서 서비스(107)와 신뢰 관계를 가지는 ID 제공자(IdP)들의 목록을 송신한다. 모바일 디바이스(101)는 그가 인식하고 모바일 디바이스(101)의 자격 증명들을 접수할 ID 제공자들[ID 제공자(106) 등] 중 하나 이상을 선택한다(403). ID 제공자는, 예를 들어, 임의의 WS-Trust, OpenID, 또는 다른 ID 제공자일 수 있다. 모바일 디바이스(101)는 메시지(403)에서 어느 ID 제공자[예컨대, 보안 토큰 서비스(106)]를 사용할지를 온라인 인증 서비스(107)에 지시한다. 모바일 디바이스(101)는 메시지(401) 또는 메시지(403)에서 또는 다른 메시지에서 사용자 크리덴셜들을 제공할 수 있다.
다른 실시예들에서, 모바일 클라이언트(101) 또는 온라인 인가 서비스(107)가 자격 증명들을 보는 일 없이 클라이언트가 그의 자격 증명들을 안전하게 입력할 수 있도록, 온라인 인가 서비스(107)는 모바일 클라이언트(101)에 대한 리디렉션 메시지(redirect message)를 ID 제공자(106) 상에서 호스팅되는 웹 페이지로 송신할 수 있다.
온라인 인가 서비스(107)는 메시지(404)에서 사용자 크리덴셜들을 ID 제공자(106)로 송신하고, 백 오피스 서비스(102)에서 유효성 확인하기 위한 SAML 또는 다른 토큰을 요청한다. ID 제공자(106)는 사용자 크리덴셜들을 유효성 검사하고 이어서 메시지(405)에서 SAML 토큰 A를 송신한다. 온라인 인증 서비스(107)는 토큰 A를 유효성 검사하고, 이어서 메시지(406)에서 토큰 A와 함께 모바일 디바이스(101)로 송신되는 SWT 토큰 B를 생성한다. 다른 실시예들에서, 토큰 B만이 메시지(406)에서 송신되고 추가의 인증을 위해 사용된다.
모바일 디바이스(101)는 이어서 메시지(407)에서 서비스 요청과 토큰들 A 및 B를 서비스 중계기(105)로 송신한다. 서비스 요청은 백 오피스 서비스(102)에 의해 지원되는 임의의 동작일 수 있다. 토큰 B는 중계를 행할 수 있게 하는 권한을 서비스 중계기(105)에 제공한다. 서비스 중계기(105)는 이어서 메시지(408)에서 서비스 요청과 토큰 A를 커넥터 서비스(109)로 송신하고, 커넥터 서비스(109)는 토큰 A로 사용자를 유효성 검사한다. 커넥터 서비스(109)는 이어서 메시지(409)에서 서비스 요청을 처리를 위해 백 오피스 서비스(102)로 송신한다. 백 오피스 서비스(102)는 서비스 응답(410)을 커넥터 서비스(109)로 송신하고, 커넥터 서비스(109)는 응답(411)을 서비스 중계기(105)로 포워딩한다. 모바일 디바이스(101)는 이어서 서비스 중계기로부터 서비스 응답(412)을 수신한다.
도 5는 신뢰할 수 있는 웹 서비스 호출들이 서비스 중계기를 거쳐 엔터프라이즈 서비스 또는 백 오피스 서비스에 액세스하게 하기 위해 모바일 디바이스가 ID 토큰(identity token)들을 획득하는 방법 또는 프로세스를 나타낸 플로우차트이다. 단계(501)에서, 모바일 디바이스는 제1 토큰을 획득하기 위해 사용자 크리덴셜들을 ID 제공자에 제공한다. ID 제공자는 엔터프라이즈 서비스와 설정된 신뢰 관계를 가진다. 토큰은 엔터프라이즈 서비스에 수신되는 서비스 요청들에 대한 인증을 제공한다. 단계(502)에서, 모바일 디바이스는 ID 제공자로부터 제1 토큰을 수신한다. 제1 토큰은 사용자를 일의적으로 식별해주는 사용자의 ID(예컨대, 사용자의 사용자 이름)에 관한 정보(즉, 클레임들)를 포함한다. 단계(503)에서, 모바일 디바이스(101)는 제1 토큰을 신뢰 브로커에 제공한다. 신뢰 브로커는 서비스 중계기 및 ID 제공자와 설정된 신뢰 관계를 가진다.
단계(504)에서, 모바일 디바이스는 제1 토큰과 교환으로 신뢰 브로커로부터 제2 토큰을 수신한다. 제2 토큰은 서비스 중계기에 대한 인증을 제공한다. 단계(505)에서, 모바일 디바이스는 제1 토큰 및 제2 토큰과 함께 서비스 요청을 서비스 중계기로 송신한다.
엔터프라이즈 서비스는 서비스 요청들을 처리하는 백 오피스 서비스 또는 서비스 요청들을 유효성 검사하고 서비스 요청들을 백 오피스 서비스로 전달하는 커넥터 서비스일 수 있다. 제1 토큰은 커넥터 서비스가 사용자인 것처럼 커넥터 서비스가 백 오피스 서비스에 대해 웹 서비스 호출들을 할 수 있게 하는 클레임 내의 사용자의 ID의 표현(예컨대, 사용자 이름 또는 다른 고유 식별자)을 포함한다. 제1 토큰은 SAML 토큰일 수 있고, 제2 토큰은 SWT 토큰일 수 있다.
도 6은 엔터프라이즈 네트워크 내의 커넥터 서비스에서 서비스 요청들을 처리하는 방법을 나타낸 플로우차트이다. 단계(601)에서, 커넥터 서비스는 서비스 중계기로부터 서비스 요청 및 토큰을 수신한다. 서비스 요청은 엔터프라이즈 네트워크 내의 백 오피스 서비스로 보내진다. 토큰은 서비스 요청을 송신한 사용자에 대응하는 사용자 크리덴셜들을 포함한다. 단계(602)에서, 커넥터 서비스는 토큰을 유효성 검사하고 사용자의 ID를 나타내는 클레임들을 추출한다.
단계(603)에서, 커넥터 서비스는 클레임들을 사용하여 사용자를 대신하여 백 오피스 서비스와 통신한다. 단계(604)에서, 커넥터 서비스는 서비스 요청을 백 오피스 서비스로 송신한다. 단계(605)에서, 커넥터 서비스는 서비스 요청에 대한 응답을 수신한다. 단계(606)에서, 커넥터 서비스는 응답을 서비스 중계기로 송신한다.
도 5에 예시된 프로세스의 단계들(501 내지 504) 및 도 6에 예시된 프로세스의 단계들(601 내지 606)이 동시에 및/또는 순차적으로 실행될 수 있다는 것을 잘 알 것이다. 각각의 단계가 임의의 순서로 수행될 수 있고 한 번 또는 반복하여 수행될 수 있다는 것을 추가로 잘 알 것이다.
도 7은 도 1 내지 도 6의 예들이 구현될 수 있는 적당한 컴퓨팅 및 네트워킹 환경(700)의 일례를 나타낸 것이다. 컴퓨팅 시스템 환경(700)은 모바일 디바이스(101)에 대한 또는 서비스들(102, 105, 106, 107 또는 109)을 운영하는 서버 또는 컴퓨터에 대한 적당한 컴퓨팅 환경의 하나의 예에 불과하다. 도 7은 본 발명의 용도 또는 기능의 범주에 관한 어떤 제한을 암시하려고 의도되어 있지 않다. 본 발명은 많은 다른 범용 또는 특수 목적 컴퓨팅 시스템 환경들 또는 구성들에서 사용 가능하다. 본 발명에서 사용하기에 적합할 수 있는 공지의 컴퓨팅 시스템들, 환경들 및/또는 구성들의 예는 개인용 컴퓨터, 서버 컴퓨터, 핸드헬드 또는 랩톱 디바이스, 태블릿 디바이스, 멀티프로세서 시스템, 마이크로프로세서 기반 시스템, 셋톱 박스, 프로그램 가능 가전 제품, 네트워크 PC, 미니컴퓨터, 메인프레임 컴퓨터, 상기 시스템들 또는 디바이스들 중 임의의 것을 포함하는 분산 컴퓨팅 환경 등을 포함하지만, 이들로 제한되지 않는다.
본 발명이 일반적으로 컴퓨터에 의해 실행되는 프로그램 모듈들 등의 컴퓨터 실행 가능 명령어들과 관련하여 기술될 수 있다. 일반적으로, 프로그램 모듈들은 특정의 작업들을 수행하거나 특정의 추상 데이터 유형들을 구현하는 루틴들, 프로그램들, 객체들, 구성요소들, 데이터 구조들 등을 포함한다. 본 발명은 또한 작업들이 통신 네트워크를 통해 연결되어 있는 원격 처리 디바이스들에 의해 수행되는 분산 컴퓨팅 환경들에서도 실시될 수 있다. 분산 컴퓨팅 환경에서는, 프로그램 모듈들이 메모리 저장 디바이스들을 비롯한 로컬 및/또는 원격 컴퓨터 저장 매체에 위치될 수 있다.
도 7을 참조하면, 본 발명의 다양한 양태들을 구현하는 예시적인 시스템은 컴퓨터(700) 형태의 범용 컴퓨팅 디바이스를 포함할 수 있다. 구성요소들은 처리 유닛(701), 시스템 메모리와 같은 데이터 저장소(702), 및 데이터 저장소(702)를 비롯한 다양한 시스템 구성요소들을 처리 유닛(701)에 연결시키는 시스템 버스(703)와 같은, 다양한 하드웨어 구성요소들을 포함할 수 있지만, 이들로 제한되지 않는다. 시스템 버스(703)는 메모리 버스 또는 메모리 제어기, 주변 기기 버스, 및 각종의 버스 아키텍처들 중 임의의 것을 사용하는 로컬 버스를 비롯한 몇가지 유형의 버스 구조들 중 임의의 것일 수 있다. 제한이 아닌 예로서, 이러한 아키텍처들은 ISA(Industry Standard Architecture) 버스, MCA(Micro Channel Architecture) 버스, EISA(Enhanced ISA) 버스, VESA(Video Electronics Standards Association) 로컬 버스, 및 메자닌(Mezzanine) 버스라고도 알려진 PCI(Peripheral Component Interconnect) 버스를 포함한다.
컴퓨터(700)는 전형적으로 각종의 컴퓨터 판독 가능 매체(704)를 포함한다. 컴퓨터 판독 가능 매체(704)는 컴퓨터(700)에 의해 액세스될 수 있는 임의의 이용가능한 매체일 수 있고, 휘발성 및 비휘발성 매체, 이동식 및 비이동식 매체 둘 다를 포함하지만, 전파 신호(propagated signal)들을 포함하지 않는다. 제한이 아닌 예로서, 컴퓨터 판독 가능 매체(704)는 컴퓨터 저장 매체 및 통신 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독 가능 명령어들, 데이터 구조들, 프로그램 모듈들 또는 다른 데이터와 같은 정보를 저장하기 위해 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성, 이동식 및 비이동식 매체를 포함한다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 다른 메모리 기술, CD-ROM, DVD(digital versatile disk) 또는 다른 광 디스크 저장소, 자기 카세트, 자기 테이프, 자기 디스크 저장소 또는 다른 자기 저장 디바이스, 또는 원하는 정보를 저장하는 데 사용될 수 있고 컴퓨터(700)에 의해 액세스될 수 있는 임의의 다른 매체를 포함하지만, 이들로 제한되지 않는다. 통신 매체는 전형적으로 컴퓨터 판독 가능 명령어들, 데이터 구조들, 프로그램 모듈들 또는 다른 데이터를 반송파 또는 다른 전송 메커니즘과 같은 피변조 데이터 신호(modulated data signal)에 구현하고 임의의 정보 전달 매체를 포함한다. "피변조 데이터 신호"라는 용어는 신호의 특성들 중 하나 이상이 정보를 그 신호에 인코딩하는 방식으로 설정되거나 변경된 신호를 의미한다. 제한이 아닌 예로서, 통신 매체는 유선 네트워크 또는 직접 유선 연결(direct-wired connection)과 같은 유선 매체와, 음향, RF, 적외선 및 다른 무선 매체와 같은 무선 매체를 포함한다. 상기한 것들 중 임의의 것의 조합들도 역시 컴퓨터 판독 가능 매체의 범주 내에 포함될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터 저장 매체 상에 저장된 소프트웨어와 같은 컴퓨터 프로그램 제품으로서 구현될 수 있다.
데이터 저장소 또는 시스템 메모리(702)는 ROM(read only memory) 및 RAM(random access memory)과 같은 휘발성 및/또는 비휘발성 메모리 형태의 컴퓨터 저장 매체를 포함한다. 시작(start-up) 중과 같은 때에 컴퓨터(700) 내의 요소들 간에 정보를 전송하는 데 도움을 주는 기본 루틴들이 들어 있는 기본 입출력 시스템(basic input/output system)(BIOS)은 전형적으로 ROM에 저장되어 있다. RAM에는 전형적으로 처리 유닛(701)에 의해 즉각 액세스될 수 있고 그리고/또는 현재 처리되고 있는 데이터 및/또는 프로그램 모듈들이 들어 있다. 제한이 아닌 예로서, 데이터 저장소(702)는 운영 체제, 애플리케이션 프로그램들, 다른 프로그램 모듈들 및 프로그램 데이터를 보유한다.
데이터 저장소(702)는 다른 이동식/비이동식, 휘발성/비휘발성 컴퓨터 저장 매체도 포함할 수 있다. 단지 예로서, 데이터 저장소(702)는 비이동식 비휘발성 자기 매체로부터 판독하거나 그에 기입하는 하드 디스크 드라이브, 이동식 비휘발성 자기 디스크로부터 판독하거나 그에 기입하는 자기 디스크 드라이브, 및 CD-ROM 또는 다른 광 매체와 같은 이동식 비휘발성 광 디스크로부터 판독하거나 그에 기입하는 광 디스크 드라이브일 수 있다. 예시적인 운영 환경에서 사용될 수 있는 다른 이동식/비이동식, 휘발성/비휘발성 컴퓨터 저장 매체는 자기 테이프 카세트, 플래시 메모리 카드, DVD(digital versatile disk), 디지털 비디오 테이프, 고상 RAM(solid state RAM), 고상 ROM(solid state ROM) 등을 포함하지만, 이들로 제한되지 않는다. 이상에서 기술되고 도 7에 예시되어 있는 드라이브들 및 이들과 연관된 컴퓨터 저장 매체는 컴퓨터(700)에 대한 컴퓨터 판독 가능 명령어들, 데이터 구조들, 프로그램 모듈들 및 다른 데이터의 저장을 제공한다.
사용자는 사용자 인터페이스(705) 또는 태블릿, 전자 디지타이저(electronic digitizer), 마이크, 키보드 및/또는 포인팅 디바이스(흔히 마우스, 트랙볼 또는 터치 패드라고 지칭됨)와 같은 다른 입력 디바이스들을 통해 명령들 및 정보를 입력할 수 있다. 다른 입력 디바이스들은 조이스틱, 게임 패드, 위성 안테나, 스캐너 등을 포함할 수 있다. 그에 부가하여, 음성 입력, 손 또는 손가락을 사용하는 제스처 입력, 또는 다른 NUI도 마이크, 카메라, 태블릿, 터치 패드, 장갑(glove), 또는 다른 센서와 같은 적절한 입력 디바이스들과 함께 사용될 수 있다. 이 입력 디바이스들 및 다른 입력 디바이스들은 종종 시스템 버스(703)에 결합된 사용자 입력 인터페이스(705)를 통해 처리 유닛(701)에 연결되지만, 병렬 포트, 게임 포트 또는 USB(universal serial bus)와 같은 다른 인터페이스 및 버스 구조들에 의해 연결될 수 있다. 모니터(706) 또는 다른 유형의 디스플레이 디바이스도 비디오 인터페이스와 같은 인터페이스를 통해 시스템 버스(703)에 연결되어 있다. 모니터(706)는 또한 터치 스크린 패널 등과 일체로 되어 있을 수 있다. 유의할 점은, 태블릿형 개인용 컴퓨터(tablet-type personal computer)에서와 같이, 모니터 및/또는 터치 스크린 패널이 컴퓨팅 디바이스(700)가 포함되어 있는 하우징에 물리적으로 결합될 수 있다는 것이다. 그에 부가하여, 컴퓨팅 디바이스(700)와 같은 컴퓨터들이 출력 주변 기기 인터페이스 등을 통해 연결될 수 있는 스피커 및 프린터와 같은 다른 주변 기기 출력 디바이스도 포함할 수 있다.
컴퓨터(700)는 원격 컴퓨터와 같은 하나 이상의 원격 컴퓨터들과의 논리적 연결(707)을 사용하여 네트워크화된 또는 클라우드 컴퓨팅 환경에서 동작할 수 있다. 원격 컴퓨터는 개인용 컴퓨터, 서버, 라우터, 네트워크 PC, 피어 디바이스(peer device) 또는 다른 통상의 네트워크 노드일 수 있고, 전형적으로 컴퓨터(700)와 관련하여 앞서 기술된 요소들 중 다수 또는 전부를 포함한다. 도 7에 도시된 논리적 연결들은 하나 이상의 LAN(local area network)들 및 하나 이상의 WAN(wide area network)들을 포함하지만, 다른 네트워크들도 포함할 수 있다. 이러한 네트워킹 환경들은 사무실, 전사적 컴퓨터 네트워크, 인트라넷 및 인터넷에서 흔한 것이다.
네트워크화된 또는 클라우드 컴퓨팅 환경에서 사용될 때, 컴퓨터(700)는 네트워크 인터페이스 또는 어댑터(707)를 통해 공개 또는 개인 네트워크에 연결될 수 있다. 일부 실시예들에서, 네트워크를 통해 통신을 설정하는 모뎀 또는 다른 수단이 제공된다. 내장형 또는 외장형일 수 있는 모뎀은 네트워크 인터페이스(707) 또는 다른 적절한 메커니즘을 통해 시스템 버스(703)에 연결될 수 있다. 인터페이스 및 안테나 등을 포함하는 무선 네트워킹 구성요소는 액세스 포인트 또는 피어 컴퓨터와 같은 적당한 디바이스를 통해 네트워크에 결합될 수 있다. 네트워크화된 환경에서, 컴퓨터(700) 또는 그의 일부분들과 관련하여 도시된 프로그램 모듈들은 원격 메모리 저장 디바이스에 저장될 수 있다. 도시된 네트워크 연결들이 예시적인 것이고 컴퓨터들 간에 통신 링크를 설정하는 다른 수단이 사용될 수 있다는 것을 잘 알 것이다.
발명 요지가 구조적 특징들 및/또는 방법적 동작들과 관련하여 기술되어 있지만, 첨부된 청구범위에 한정되어 있는 발명 요지가 앞서 기술된 구체적인 특징들 또는 동작들로 꼭 제한될 필요는 없다는 것을 잘 알 것이다. 오히려, 이상에서 기술한 특정의 특징들 및 동작들은 청구항들을 구현하는 예시적인 형태들로서 개시되어 있다.

Claims (10)

  1. 엔터프라이즈 서비스(enterprise service)에 대한 웹 서비스 호출들을 행하는 방법에 있어서,
    제1 보안 토큰을 획득하기 위해 사용자 크리덴셜(credential)들을 ID(identity) 제공자 ― 상기 ID 제공자는 상기 엔터프라이즈 서비스와 설정된 신뢰 관계(trust relationship)를 가지며, 상기 토큰은 상기 엔터프라이즈 서비스에 수신되는 서비스 요청들에 대한 인증을 제공함 ― 에 제공하는 단계;
    상기 제1 토큰을 신뢰 브로커(trust broker) ― 상기 신뢰 브로커는 서비스 중계기(service relay) 및 상기 ID 제공자와 설정된 신뢰 관계를 가짐 ― 에 제공하는 단계;
    상기 제1 토큰과 교환으로 상기 신뢰 브로커로부터 제2 토큰 ― 상기 제2 토큰은 서비스 중계기에 대한 인증을 제공함 ― 을 수신하는 단계; 및
    상기 제1 토큰 및 상기 제2 토큰과 함께 서비스 요청을 상기 서비스 중계기로 송신하는 단계
    를 포함하는, 엔터프라이즈 서비스에 대한 웹 서비스 호출들을 행하는 방법.
  2. 제1항에 있어서,
    상기 엔터프라이즈 서비스는 상기 서비스 요청들을 처리하는 백 오피스 서비스(back office service)인 것인, 엔터프라이즈 서비스에 대한 웹 서비스 호출들을 행하는 방법.
  3. 제1항에 있어서,
    상기 엔터프라이즈 서비스는 서비스 요청들을 유효성 검사하고(validate) 상기 서비스 요청들을 백 오피스 서비스로 전달하는 커넥터 서비스(connector service)인 것인, 엔터프라이즈 서비스에 대한 웹 서비스 호출들을 행하는 방법.
  4. 제3항에 있어서,
    상기 제1 토큰은 상기 커넥터 서비스가 상기 사용자인 것처럼 상기 커넥터 서비스가 상기 백 오피스 서비스에 대해 웹 서비스 호출들을 행할 수 있도록 허용하는 사용자 신원확인(identification) 정보를 포함하는 것인, 엔터프라이즈 서비스에 대한 웹 서비스 호출들을 행하는 방법.
  5. 컴퓨터 시스템에 있어서,
    하나 이상의 프로세서들;
    시스템 메모리; 및
    상기 하나 이상의 프로세서들에 의해 실행될 때, 상기 프로세서들로 하여금 엔터프라이즈 네트워크 내의 커넥터 서비스에서 서비스 요청들을 처리하기 위한 방법을 수행하게 하는 컴퓨터 실행 가능 명령어들을 저장하고 있는 하나 이상의 컴퓨터 판독 가능 저장 매체
    를 포함하며, 상기 프로세서는
    서비스 중계기로부터 서비스 요청 및 토큰 ― 상기 서비스 요청은 상기 엔터프라이즈 네트워크 내의 백 엔드 서비스(back end service)로 보내지고, 상기 토큰은 상기 서비스 요청을 송신한 사용자에 대응하는 사용자 ID(identity) 정보를 포함함 ― 을 수신하고;
    상기 토큰을 유효성 검사하며, 상기 사용자 ID 정보를 추출하고;
    상기 사용자를 대신하여 상기 백 엔드 서비스와 통신하기 위해 상기 사용자 ID 정보를 사용하고;
    상기 서비스 요청을 상기 백 엔드 서비스로 송신하고;
    상기 서비스 요청에 대한 응답을 수신하며;
    상기 응답을 상기 서비스 중계기로 송신하도록
    동작하는 것인, 컴퓨터 시스템.
  6. 제5항에 있어서,
    상기 백 엔드 서비스는 단일의 서비스를 협력하여 제공하는 일군의 상이한 시스템들인 것인, 컴퓨터 시스템.
  7. 제5항에 있어서,
    상기 백 엔드 서비스는 복수의 상이한 서비스들을 제공하는 일군의 상이한 시스템들인 것인, 컴퓨터 시스템.
  8. 제5항에 있어서,
    상기 토큰은 상기 엔터프라이즈 네트워크와 신뢰 관계를 가지는 ID 제공자에 의해 모바일 디바이스에 발행된 것인, 컴퓨터 시스템.
  9. 제5항에 있어서,
    상기 백 엔드 서비스는 전사적 자원 관리 애플리케이션(enterprise resource planning application)이고, 상기 서비스 요청은 원격 디바이스 상에서 상기 사용자에 의해 개시되는 금융 거래(financial transaction)에 대응하는 것인, 컴퓨터 시스템.
  10. 제5항에 있어서,
    상기 백 엔드 서비스는 전사적 자원 관리 애플리케이션이고, 상기 서비스 요청은 원격 디바이스 상에서 상기 사용자에 의해 일지에 기록되는 근무 시간 항목(time entry)에 대응하는 것인, 컴퓨터 시스템.
KR1020157029479A 2013-03-15 2014-03-14 능동적으로 연합된 모바일 인증 KR102205941B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201361786375P 2013-03-15 2013-03-15
US61/786,375 2013-03-15
US13/893,029 US9294454B2 (en) 2013-03-15 2013-05-13 Actively federated mobile authentication
US13/893,029 2013-05-13
PCT/US2014/026926 WO2014143640A1 (en) 2013-03-15 2014-03-14 Actively federated mobile authentication

Publications (2)

Publication Number Publication Date
KR20150130545A true KR20150130545A (ko) 2015-11-23
KR102205941B1 KR102205941B1 (ko) 2021-01-20

Family

ID=51535057

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157029479A KR102205941B1 (ko) 2013-03-15 2014-03-14 능동적으로 연합된 모바일 인증

Country Status (5)

Country Link
US (3) US9294454B2 (ko)
EP (1) EP2974208B1 (ko)
KR (1) KR102205941B1 (ko)
CN (1) CN105229987B (ko)
WO (1) WO2014143640A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022075995A1 (en) * 2020-10-09 2022-04-14 Visa International Service Association Token failsafe system and method

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6716829B2 (en) 2000-07-27 2004-04-06 Pharmacia Corporation Aldosterone antagonist and cyclooxygenase-2 inhibitor combination therapy to prevent or treat inflammation-related cardiovascular disorders
US8745718B1 (en) * 2012-08-20 2014-06-03 Jericho Systems Corporation Delivery of authentication information to a RESTful service using token validation scheme
US9294454B2 (en) 2013-03-15 2016-03-22 Microsoft Technology Licensing, Llc Actively federated mobile authentication
WO2014193896A2 (en) * 2013-05-28 2014-12-04 Raytheon Company Message content ajudication based on security token
US10243945B1 (en) * 2013-10-28 2019-03-26 Amazon Technologies, Inc. Managed identity federation
US10547599B1 (en) * 2015-02-19 2020-01-28 Amazon Technologies, Inc. Multi-factor authentication for managed directories
CN105719137A (zh) * 2016-01-18 2016-06-29 连连银通电子支付有限公司 一种电子账户的认证系统及其认证方法
WO2017130292A1 (ja) * 2016-01-26 2017-08-03 株式会社ソラコム サーバ、モバイル端末及びプログラム
US11068578B2 (en) * 2016-06-03 2021-07-20 Visa International Service Association Subtoken management system for connected devices
US10382441B2 (en) * 2016-10-13 2019-08-13 Honeywell International Inc. Cross security layer secure communication
CN108471395B (zh) * 2017-02-23 2019-12-17 华为技术有限公司 实现认证/授权的方法、装置、云计算系统及计算机系统
US10873583B2 (en) * 2017-09-20 2020-12-22 Microsoft Technology Licensing, Llc Extensible framework for authentication
US11316689B2 (en) * 2017-09-29 2022-04-26 Oracle International Corporation Trusted token relay infrastructure
US11997077B2 (en) 2017-11-10 2024-05-28 Microsoft Technology Licensing, Llc Identity experience framework
US10609082B2 (en) 2017-11-10 2020-03-31 Microsoft Technology Licensing, Llc Identity experience framework
US10999272B2 (en) * 2018-03-30 2021-05-04 Lendingclub Corporation Authenticating and authorizing users with JWT and tokenization
US10326802B1 (en) * 2018-12-04 2019-06-18 Xage Security, Inc. Centrally managing data for orchestrating and managing user accounts and access control and security policies remotely across multiple devices
US11356458B2 (en) * 2019-03-15 2022-06-07 Mastercard International Incorporated Systems, methods, and computer program products for dual layer federated identity based access control
US20200364354A1 (en) * 2019-05-17 2020-11-19 Microsoft Technology Licensing, Llc Mitigation of ransomware in integrated, isolated applications
US11689924B2 (en) * 2021-04-02 2023-06-27 Vmware, Inc. System and method for establishing trust between multiple management entities with different authentication mechanisms

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110307948A1 (en) * 2010-06-15 2011-12-15 Microsoft Corporation Extending a customer relationship management eventing framework to a cloud computing environment in a secure manner
US20120216268A1 (en) * 2011-02-17 2012-08-23 Ebay Inc. Identity assertion framework

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030112931A1 (en) * 2001-12-19 2003-06-19 Wendell Brown Facilitating navigation of an interactive voice response (IVR) menu to establish a telephone connection
US7269732B2 (en) * 2003-06-05 2007-09-11 Sap Aktiengesellschaft Securing access to an application service based on a proximity token
US7607008B2 (en) * 2004-04-01 2009-10-20 Microsoft Corporation Authentication broker service
US20050273502A1 (en) * 2004-05-21 2005-12-08 Patrick Paul B Service oriented architecture with message processing stages
US20060021018A1 (en) * 2004-07-21 2006-01-26 International Business Machines Corporation Method and system for enabling trust infrastructure support for federated user lifecycle management
US7721328B2 (en) * 2004-10-01 2010-05-18 Salesforce.Com Inc. Application identity design
US8014433B2 (en) * 2005-03-16 2011-09-06 Apollo Instruments Laser apparatuses with large-number multi-reflection pump systems
US7483438B2 (en) * 2005-04-14 2009-01-27 Alcatel Lucent Systems and methods for managing network services between private networks
US20110179477A1 (en) * 2005-12-09 2011-07-21 Harris Corporation System including property-based weighted trust score application tokens for access control and related methods
US20080021866A1 (en) * 2006-07-20 2008-01-24 Heather M Hinton Method and system for implementing a floating identity provider model across data centers
US7657639B2 (en) * 2006-07-21 2010-02-02 International Business Machines Corporation Method and system for identity provider migration using federated single-sign-on operation
US8275985B1 (en) * 2006-08-07 2012-09-25 Oracle America, Inc. Infrastructure to secure federated web services
CN101127757B (zh) * 2006-08-18 2011-02-09 国际商业机器公司 控制Web服务策略的方法和装置
US8327428B2 (en) * 2006-11-30 2012-12-04 Microsoft Corporation Authenticating linked accounts
EP1993255B1 (en) 2007-05-18 2009-04-15 Sap Ag Method and system for protecting a message from an XML attack when being exchanged in a distributed and decentralized network system
KR101467174B1 (ko) * 2007-08-16 2014-12-01 삼성전자주식회사 통신 수행 방법 및 그 장치와, 통신 수행 제어 방법 및 그장치
US20090064107A1 (en) * 2007-08-29 2009-03-05 International Business Machines Corporation Token Transformation Profiles and Identity Service Mediation Node for Dynamic Identity Token
CN101534192B (zh) * 2008-03-14 2012-01-11 西门子公司 一种提供跨域令牌的系统和方法
US8402508B2 (en) 2008-04-02 2013-03-19 Microsoft Corporation Delegated authentication for web services
US9735964B2 (en) * 2008-06-19 2017-08-15 Microsoft Technology Licensing, Llc Federated realm discovery
US8671274B2 (en) * 2008-10-28 2014-03-11 Dell Products L.P. Delivery of multiple third-party services to networked devices
CN101552784A (zh) * 2009-04-30 2009-10-07 浙江大学 一种Web服务链的联合身份认证方法
US8290998B2 (en) * 2009-05-20 2012-10-16 Sap Ag Systems and methods for generating cloud computing landscapes
US20110030794A1 (en) * 2009-08-10 2011-02-10 Edward Teng Apparatus And Method For Depositing A CIGS Layer
US8321909B2 (en) * 2009-12-22 2012-11-27 International Business Machines Corporation Identity mediation in enterprise service bus
US8918842B2 (en) * 2010-02-19 2014-12-23 Accenture Global Services Limited Utility grid command filter system
US8997196B2 (en) * 2010-06-14 2015-03-31 Microsoft Corporation Flexible end-point compliance and strong authentication for distributed hybrid enterprises
US8914544B2 (en) * 2010-06-23 2014-12-16 Smartek21, Llc Computer-implemented system and method for transparently interfacing with legacy line of business applications
CN201774078U (zh) * 2010-07-21 2011-03-23 富士康(昆山)电脑接插件有限公司 电子卡连接器
US8607054B2 (en) * 2010-10-15 2013-12-10 Microsoft Corporation Remote access to hosted virtual machines by enterprise users
US8832271B2 (en) * 2010-12-03 2014-09-09 International Business Machines Corporation Identity provider instance discovery
JP2012146197A (ja) * 2011-01-13 2012-08-02 Konica Minolta Business Technologies Inc 印刷支援装置及び印刷システム並びに印刷支援プログラム
US9009070B2 (en) 2011-04-06 2015-04-14 Microsoft Technology Licensing, Llc Mobile expense capture and reporting
EP2805470B1 (en) * 2012-01-20 2018-09-12 Interdigital Patent Holdings, Inc. Identity management with local functionality
US9369456B2 (en) * 2012-09-21 2016-06-14 Intuit Inc. Single sign-on in multi-tenant environments
US20140280494A1 (en) * 2013-03-14 2014-09-18 Microsoft Corporation Relay Service for Different Web Service Architectures
US9294454B2 (en) 2013-03-15 2016-03-22 Microsoft Technology Licensing, Llc Actively federated mobile authentication

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110307948A1 (en) * 2010-06-15 2011-12-15 Microsoft Corporation Extending a customer relationship management eventing framework to a cloud computing environment in a secure manner
US20120216268A1 (en) * 2011-02-17 2012-08-23 Ebay Inc. Identity assertion framework

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022075995A1 (en) * 2020-10-09 2022-04-14 Visa International Service Association Token failsafe system and method

Also Published As

Publication number Publication date
US9294454B2 (en) 2016-03-22
WO2014143640A1 (en) 2014-09-18
KR102205941B1 (ko) 2021-01-20
US20160164869A1 (en) 2016-06-09
EP2974208A1 (en) 2016-01-20
US20180219862A1 (en) 2018-08-02
CN105229987B (zh) 2019-09-27
US20140282989A1 (en) 2014-09-18
EP2974208B1 (en) 2020-10-14
US9825948B2 (en) 2017-11-21
CN105229987A (zh) 2016-01-06
US10382434B2 (en) 2019-08-13

Similar Documents

Publication Publication Date Title
US10382434B2 (en) Actively federated mobile authentication
EP2972862B1 (en) Relay service for different web service architectures
US9258292B2 (en) Adapting federated web identity protocols
CA2736582C (en) Authorization of server operations
US7562222B2 (en) System and method for authenticating entities to users
US9825917B2 (en) System and method of dynamic issuance of privacy preserving credentials
US11368433B1 (en) Private network request forwarding
US10841293B2 (en) Gateway device for authentication and authorization of applications and/or servers for data transfer between applications and/or servers
US11165768B2 (en) Technique for connecting to a service
CN102739664A (zh) 提高网络身份认证安全性的方法和装置
CN109861973A (zh) 信息传输方法、装置、电子设备及计算机可读介质
CN111949335A (zh) 用于共享金融数据的方法和设备
JP6847949B2 (ja) データシグナリングを制御するためのネットワークアーキテクチャ
KR100468566B1 (ko) Http 프록시를 이용한 tcp/ip 서비스의 통합인증방법
JP2020173507A (ja) 認証仲介装置及び認証仲介プログラム
CN109684818A (zh) 一种防止机主登录密码泄露的跨终端式的服务器登录方法
Agrawal et al. A conceptual approach to information security in financial account aggregation
CN116962023A (zh) 请求处理方法、金融网关及服务器
TR2021022034A2 (tr) SMS LİNK ve QR CODE ÜZERİNDEN KULLANICI DOĞRULAMASI GERÇEKLEŞTİREN BİR SİSTEM

Legal Events

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