KR101951973B1 - 자원 액세스 허가 기법 - Google Patents

자원 액세스 허가 기법 Download PDF

Info

Publication number
KR101951973B1
KR101951973B1 KR1020147006550A KR20147006550A KR101951973B1 KR 101951973 B1 KR101951973 B1 KR 101951973B1 KR 1020147006550 A KR1020147006550 A KR 1020147006550A KR 20147006550 A KR20147006550 A KR 20147006550A KR 101951973 B1 KR101951973 B1 KR 101951973B1
Authority
KR
South Korea
Prior art keywords
application
user
access
authentication
identifier
Prior art date
Application number
KR1020147006550A
Other languages
English (en)
Other versions
KR20140068964A (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 KR20140068964A publication Critical patent/KR20140068964A/ko
Application granted granted Critical
Publication of KR101951973B1 publication Critical patent/KR101951973B1/ko

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • 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/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Transfer Between Computers (AREA)
  • Storage Device Security (AREA)

Abstract

자원 액세스 허가에 관한 기술이 설명된다. 하나 이상의 구현예에서, 애플리케이션 식별자가 애플리케이션에 의한 사용자 자원에 대한 액세스를 제어하는데 이용된다. 허가 서비스로부터 수신한 애플리케이션 식별자와 애플리케이션이 동작 중인 컴퓨팅 장치로부터 획득한 애플리케이션에 대한 시스템 애플리케이션 식별자를 비교하여, 애플리케이션이 사용자 자원에 액세스할 수 있도록 할지를 결정한다.

Description

자원 액세스 허가 기법{RESOURCE ACCESS AUTHORIZATION}
최근 컴퓨터 사용자는 미디어 서비스, 웹 애플리케이션, 소셜 미디어 애플리케이션 등과 같은 다양한 종류의 애플리케이션에 액세스한다. 많은 애플리케이션은 사용자의 신원을 확인하고, 사용자 정보에 액세스할 수 있도록 온라인 인증(authentication) 및/또는 허가(authorization) 서비스와 같은 몇 가지의 확인(identification) 기술을 사용한다. 이러한 기술을 사용함에 있어서 가장 큰 문제점은 사용자의 신원이 보호되면서도 애플리케이션이 사용자의 정보에 액세스할 수 있도록 허가하는 것이다.
요약
이 요약은 상세한 설명에서 보다 자세히 설명하게 될 개념의 일부를 선택하여 간략한 형태로 소개하기 위한 것이다. 이 요약은 청구되는 대상의 중요한 특징 또는 본질적인 특징을 정의하기 위한 것이 아니며, 청구되는 대상의 범위를 결정하는데 도움이 되는 것을 목적으로 하지 않는다.
자원 액세스 인증 기술이 설명된다. 하나 이상의 구현예에서, 애플리케이션은 애플리케이션 식별자를 이용하여 사용자 자원에 대한 액세스를 제어한다. 허가 서비스로부터 수신한 애플리케이션 식별자와 애플리케이션이 동작 중인 컴퓨팅 장치로부터 획득한 애플리케이션에 대한 시스템 애플리케이션 식별자를 비교하여, 애플리케이션이 사용자 자원에 액세스하는 것을 허용할지를 결정한다.
하나 이상의 구현예에서, 애플리케이션이 사용자 자원에 액세스하는 것이 허용되는지에 대한 결정을 구하는 요청에 대한 응답으로, 허가 엔티티로부터 애플리케이션에 대한 애플리케이션 식별자를 포함하는 응답을 수신한다. 애플리케이션 식별자가 애플리케이션이 동작 중인 컴퓨터 장치로부터 획득한 애플리케이션에 대한 시스템 애플리케이션 식별자에 대응하면, 애플리케이션은 사용자 자원에 액세스하는 것이 허용된다.
하나 이상이 구현예에서, 이 기술은 컴퓨팅 장치에서 동작 중인 애플리케이션이 인증 유지 모드를 통해 사용자 자원에 액세스하는 것를 요청하고 있음을 검출한다. 허가 서비스로부터 수신한 애플리케이션 식별자가 컴퓨팅 장치로부터 획득한 시스템 애플리케이션 식별자와 대응하는지를 판단한다. 애플리케이션 식별자가 시스템 애플리케이션 식별자에 대응하면, 애플리케이션은 허가 서비스로부터 수신한 인증 데이터를 통해 사용자 자원에 액세스하는 것이 허용된다.
발명의 상세한 설명은 첨부하는 도면을 참고하여 기술된다. 도면에 있어서, 참조 번호의 가장 왼쪽 숫자는 당해 참조 번호가 처음 나타난 도면을 표시한다. 상세한 설명 및 도면 중 다른 상황에서 동일한 참조 번호가 사용되는 경우에는 유사 또는 동일한 구성 요소를 가리킬 수 있다.
도 1은 본 명세서에서 설명되는 기술을 채용할 수 있는 구현예에서 환경을 도시한다.
도 2는 본 명세서에서 설명되는 기술을 채용할 수 있는 구현예에서 허가 환경을 도시한다.
도 3은 사용자가 애플리케이션이 사용자 자원에 액세스하는 것을 허가할 수 있는 구현예에 있어서의 과정을 도시한다.
도 4는 인증 유지 모드가 자원 액세스에 사용되는 구현예에 있어서 과정을 도시한다.
도 5는 애플리케이션이 허가 처리에 참가하는 것이 허용되는 구현예에 있어서 과정을 도시한다.
도 6은 국소 허가 정보가 애플리케이션이 사용자 자원에 액세스하는 것을 허가되는지를 결정하는데 이용되는 구현예에 있어서 과정을 도시한다.
도 7은 도 1, 2 및 8을 참조하여 설명된 컴퓨팅 장치를 포함하는 예시적 시스템을 도시한다.
도 8은 본 명세서에서 설명되는 기술의 실시예를 구현하기 위해 도 1, 2 및 7을 참조하여 설명된 임의의 형태의 휴대용 및/또는 컴퓨터 장치로서 구현될 수 있는 예시적 장치의 다양한 구성 요소를 도시한다.
개요
자원 액세스 허가 기술이 설명된다. 하나 이상의 구현예에 있어서, 이 기술은 사용자 이름 및/또는 패스워드와 같은 사용자의 개인 정보를 허가되지 않은 엔티티로부터 보호하면서도, 애플리케이션이 사용자 자원에 액세스하는 것을 허가하는데 이용할 수 있다. 예를 들어, 사용자 자원에 액세스를 요구하고 있는 애플리케이션과, 사용자의 신원을 확인하고 사용자 자원에 액세스하도록 할 수 있는 허가 엔티티 사이에서 중개자의 역할을 하는 액세스 브로커가 이용될 수 있다. 사용자 자원은, 예를 들어 사용자 콘텐츠 (예를 들어, 이미지, 오디오, 비디오 등), 사용자 데이터 (예를 들어, 파일), 애플리케이션 및/또는 서비스 등에 대한 사용자 프로파일 등을 포함한다.
구현예에서, 액세스 브로커는 애플리케이션이 허가 엔티티에 의해 허가되도록 하여 애플리케이션이 사용자 자원에 액세스할 수 있도록 한다. 예를 들어, 애플리케이션이 액세스 브로커에게 요청할 수 있고, 액세스 브로커는 허가 엔티티와 통신하여 허가 엔티티와 관련된 사용자 인터페이스가 제공되도록 한다. 사용자는 사용자 인터페이스에게 사용자 이름 및 암호와 같은 인증 정보를 제공할 수 있다. 사용자 이름 및 암호가 허가 엔티티가 알고 있는 사용자 프로파일에 대응하면, 허가 엔티티는 액세스 브로커에게 허가 정보를 반환한다. 구현예에서, 허가 프롬프트가 사용자에게 제공되고, 사용자는 애플리케이션이 사용자 자원에 액세스하는 것을 허가할 수 있다. 액세스 브로커는 애플리케이션이 허가 정보를 통해 사용자 자원에 액세스하도록 할 수 있다.
다른 실시예에서, 인증 유지 모드가 사용되어 복수의 별개의 처리 중에도 사용자에게 각 처리에 있어서 인증 정보를 제공하도록 요구하지 않고도 애플리케이션이 사용자 자원에 액세스할 수 있도록 할 수 있다. 예를 들어, 사용자가 애플리케이션이 사용자 자원에 액세스할 수 있도록 하는 허가 서비스에 인증 정보를 제공할 때, 애플리케이션 및/또는 사용자는 인증 유지 모드를 요청할 수 있다. 인증 정보는 다른 정보와 함께, 애플리케이션에 대한 일시 저장된 인증 상태의 일부로서 (예를 들어, 액세스 브로커에 의해) 일시 저장될 수 있다.
후속하는 처리 중, 애플리케이션이 사용자 자원에 대해 액세스를 요구하면, 액세스 브로커는 허가 서비스에게 일시 저장된 인증 상태와 함께 해당 요청을 전송한다. 허가 서비스는 사용자가 해당 애플리케이션이 사용자 자원에 액세스하는 것이 이전에 허가했다는 일시 저장된 인증 상태에 근거하여 확인하고, 액세스 토큰과 애플리케이션에 대한 애플리케이션 식별자를 액세스 브러커에 반환한다. 구현예에서, 허가 서비스는 액세스 브로커에게 허가의 표시를 반환하기 전에 (예를 들어, 허가 프롬프트를 통하여) 사용자 허가를 요청할 수 있다.
액세스 브로커는 허가 서비스로부터 수신한 식별자가 애플리케이션이 동작 중인 컴퓨팅 장치가 제공하는 애플리케이션에 대한 시스템 레벨의 식별자에 대응하는지를 확인한다. 해당 식별자가 대응하는 경우, 액세스 브로커는 애플리케이션에게 액세스 토큰을 제공한다. 애플리케이션은 사용자 자원에 액세스하기 위해 액세스 토큰을 사용할 수 있다. 해당 식별자가 대응하지 않는 경우, 애플리케이션은 자원에 액세스가 거부되고/되거나 사용자가 인증 정보를 제공하도록 하여 애플리케이션이 사용자 자원에 액세스하도록 허락할 수 있다.
본 명세서에서 사용된 것과 같이, “허가(authorization)”라는 용어는 일반적으로 애플리케이션 및 다른 엔티티가 자원에 액세스하도록 하는 기술을 의미하고, 특정 프로토콜, 과정, 규약 또는 표준에 제한되지 않는다. 따라서, 이 용어는 본 명세서에서 기술되는 실시예의 정신 및 범위 내에서 모든 적절한 기술을 포함하는 것으로 넓게 해석된다.
이후 설명되는 내용에서는, 먼저 본 명세서에서 설명된 자원 액세스 허가 기술을 채용할 수 있는 예시된 환경이 설명된다. 다음으로, 자원 액세스 허가 기술과 관련된 예시적 과정이 설명되는데, 이는 상기 예시된 환경에서뿐만 아니라 다른 환경에서도 채용될 수 있다. 따라서, 예시적 환경은 예시적 과정을 수행하는데 제한되지 않는다. 마찬가지로, 예시적 과정은 예시적 환경에서의 구현예에 제한되지 않는다. 마지막으로 하나 이상의 실시예에 따라 본 명세서에서 설명된 기술을 채용할 수 있는 예시적 시스템 및 장치가 설명된다.
예시적 환경
도 1은 자원 액세스 허가 관련 기술을 채용하여 동작하는 구현예에서의 환경(100)을 도시한다. 환경(100)은 하나 이상의 프로세서(104), 하나 이상의 컴퓨터 판독 가능 저장 매체(106) 및 컴퓨터 판독 가능 저장 매체(106)에 상주하고 프로세서(104)에 의해 동작 가능한 하나 이상의 애플리케이션(108)을 포함하는 컴퓨팅 장치(102)를 포함한다. 컴퓨팅 장치(102)는 데스크 탑 컴퓨터, 포터블 컴퓨터, PDA, 휴대 전화, 태블릿 컴퓨터 등과 같은 휴대용 컴퓨터와 같은 임의의 적절한 컴퓨팅 장치로 구현될 수 있으나, 이는 예시적이며 이에 제한되지 않는다. 컴퓨팅 장치(102)의 다른 다양한 예 중 하나는 아래의 도 7 및 8에 도시되어 있다.
도 1의 컴퓨팅 장치(102)는, 예를 들어 웹 브라우저와 같은 브라우저(110)를 포함하는 것으로 도시되어 있으며, 이는 네트워크(112)를 통해 네비게이트하도록 구성된 기능을 의미한다. 네트워크(112)가 인터넷으로서 설명되고 있지만, 네트워크는 다양한 구성을 갖는 것으로 고려할 수 있다. 예를 들어, 네트워크(112)는 광역 네트워크(WAN), 로컬 네트워크(LAN), 무선 네트워크, 공중 전화 네트워크, 인트라넷 등을 포함할 수 있다. 또한, 단일 네트워크(112)로 도시되어 있지만, 네트워크(112)는 복수의 네트워크를 포함하도록 구성될 수 있다.
브라우저(110)는, 하나 이상의 웹 자원(114)으로부터 획득 가능한 콘텐츠와 상호작용할 뿐만 아니라, 예를 들어, 다운로드 및 업로드를 수행하는 것과 같이 하나 이상의 웹 자원(114)과 데이터를 통신하기 위해 네트워크(112)를 통하여 네비게이트하도록 구성될 수 있다. 웹 리소스(114)는 네트워크(112)를 통하여 액세스할 수 있는 콘텐츠를 제공하도록 구성된 임의의 적절한 컴퓨팅 자원을 포함할 수 있다. 이러한 콘텐츠의 예로는 웹 페이지, 텍스트 콘텐츠, 비디오, 오디오 등이 있다.
하나 이상의 애플리케이션(108)은, 예를 들어, 직접 및/또는 브라우저(110)를 통해 네트워크(112)에 액세스하도록 구성될 수 있다. 예를 들어, 하나 이상의 애플리케이션(108)은 하나 이상의 웹 자원(114)에 액세스하여 콘텐츠를 검색 및/또는 업로드 할 수 있도록 구성될 수 있다. 따라서, 애플리케이션(108)은 직접 또는 간접 네트워크(112) 액세스와 관련될 수 있는 다양한 기능에 맞도록 구성될 수 있다. 예를 들어, 애플리케이션(108)은 환경 설정 및 애플리케이션(108)이 국소적으로 영향을 미칠 수 있을 뿐만 아니라 다른 컴퓨팅 장치에서 동작되고 있는 애플리케이션과 동기화되는 다른 데이터를 포함할 수 있다. 이러한 방법으로, 이러한 설정은 장치들과 공유될 수 있다. 다양한 다른 경우도 고려될 수 있다. 따라서, 컴퓨팅 장치(102)는 다양한 다른 소스로부터 다양한 방법으로 콘텐츠와 상호 작용할 수 있다.
운영 시스템(116)은 컴퓨팅 장치(102)의 일부로서, 컴퓨팅 장치(102)의 자원을 관리하고 컴퓨팅 장치(102)의 기능에 액세스를 제공하는 기능을 나타낸다. 구현예에서, 운영 시스템(116)은 본 명세서에서 설명된 기술을 구현하는데 사용될 수 있는 애플리케이션(108)에 대한 확인 정보를 보유한다. 예를 들어, 애플리케이션(108) 중 하나가 컴퓨팅 장치(102)에서 인스톨 및/또는 시동되면, 컴퓨팅 장치는 해당 애플리케이션에 대한 시스템 애플리케이션 식별자를 기록할 수 있다. 시스템 애플리케이션 식별자는 보호되는 데이터베이스, 운영 시스템(116)용 커널 등과 같이 애플리케이션(108)이 액세스 및/또는 변경할 수 없는 컴퓨팅 장치(102)의 영역에 저장될 수 있다. 부가적으로 또는 이와는 달리, 시스템 애플리케이션 식별자는 애플리케이션이 이 식별자를 수정하지 못하도록 디지털 방식으로 암호화될 수 있다.
설명된 예에서, 컴퓨팅 장치(102)는 애플리케이션(108)을 위한 허가 및 인증 처리를 중재하는 컴퓨팅 장치(102)의 기능을 의미하는 액세스 브로커 모듈(118)을 포함하여 도시된다. 액세스 브로커 모듈(118)은 허가 처리와 관련하여 엔티티 간의 허가 및 인증 정보의 다양한 형태를 통신하도록 구성된다. 구현예에서, 액세스 브로커 모듈은 브라우저 기능을 통해 정보를 통신하도록 구성되어 있고, 따라서, 브라우저(110)와 결합하고/하거나 브라우저(110)로서 구현될 수 있다.
이러한 허가 처리에 대해 더 자세히 설명하면, 환경(100)은 사용자 프로파일을 추적하고 액세스브로커 모듈(118)과 상호 작용하여 애플리케이션(108) 및/또는 다른 엔티티가 사용자 자원에 액세스하는 것이 허가되는지를 결정하는 기능을 의미한다. 예를 들어, 허가 서비스(120)는 복수의 사용자 및 복수의 다른 장치가 허가 및/또는 인증 처리를 수행하여 액세스할 수 있는 웹 기반의 허가 서비스로서 구현될 수 있다. 구현예에서, 허가 서비스(120)는 애플리케이션(108)과 같은 다양한 애플리케이션에 대한 애플리케이션 식별자를 보유할 수 있다. 예를 들어, 애플리케이션(108) 중 특정의 하나에 관하여 설명된 시스템 애플리케이션 식별자는, 예를 들어, 허가 서비스에 애플리케이션을 등록하는 절차의 일부로서 허가 서비스(120)와 통신할 수 있다. 허가 서비스(120)는 본 명세서에서 설명되는 자원 액세스 동작의 일부로서 사용되는 애플리케이션 식별자를 저장할 수 있다.
이러한 실시예에 더하여, 환경(100)은 사용자 자원(122)을 포함하며, 이는 컴퓨팅 장치(102)의 사용자와 관련된 자원을 의미한다. 사용자 자원(122)은 예를 들어, 사용자 콘텐츠(예를 들어, 이미지, 오디오, 비디오 등), 사용자 데이터(예를 들어, 파일), 애플리케이션 및/또는 서비스에 대한 사용자 프로파일 등을 포함한다.
허가 서비스(120)와 사용자 자원(122)이 별개의 엔티티로 설명되어 있으나, 일부 구현예에서 사용자 자원(122)은 허가 서비스(120)에 의해 관리 및/또는 유지될 수 있다. 예를 들어, 허가 서비스(120)는 소셜 네트워킹 서비스, 사진 공유 서비스, 웹 로그(블로그) 서비스 등과 같이 사용자 자원(122)을 관리하는 콘텐츠 서비스의 유형과 관련될 수 있다. 일부 구현예에서, 허가 서비스(120)는 사용자를 콘텐츠 서비스뿐만 아니라 콘텐츠 서비스와 상호 작용하는 다른 서비스(예를 들어, 애플리케이션(108))에 대해 사용자를 인증하도록 구현될 수 있다.
구현예에서, 액세스 브로커 모듈(118)이 애플리케이션(108) 중 하나가 사용자 자원(122)에 액세스하는 것이 허가될 것을 결정하면, 액세스 브로커 모듈(118)은 액세스 토큰 또는 다른 허가 메커니즘을 애플리케이션에 제공한다. 애플리케이션은 액세스 토큰 또는 다른 허가 메커니즘을 이용하여 사용자 자원(122)에 액세스 할 수 있다. 따라서, 액세스 토큰 또는 다른 허가 메커니즘은 애플리케이션(108) 및/또는 다른 엔티티가 사용자 자원(122)에 액세스할 수 있도록 하는데 채용될 수 있다.
일반적으로, 본 명세서에서 설명된 모든 기능은 소프트웨어, 펌웨어, 하드웨어 (예를 들어, 고정된 논리 회로), 또는 이들 구현예의 결합을 이용하여 구현될 수 있다. 본 명세서에서 사용되는 “모듈”, “기능” 및 “논리”와 같은 용어는 일반적으로 소프트웨어, 펌웨어, 하드웨어 또는 이들의 결합을 의미한다. 소프트웨어로 구현하는 경우, 모듈, 기능 또는 논리는 프로세서(예를 들어, CPU 또는 CPU 들)에서 동작하는 경우 특정 업무를 수행하는 프로그램 코드를 의미한다. 프로그램 코드는 하나 이상의 컴퓨터 판독 가능 기억 장치에 저장될 수 있다. 이하에서 설명되는 기술은, 다양한 프로세서를 포함하는 다양한 상업적 컴퓨팅 플랫폼에서 구현될 수 있는 기술을 의미하는 플랫폼 독립적인 특징이 있다.
예를 들어, 컴퓨팅 장치(102)는 예를 들어, 프로세서, 기능 블록 등과 같은 컴퓨팅 장치(102)의 하드웨어가 동작을 수행하도록 하는 엔티티(예를 들어, 소프트웨어)를 포함할 수 있다. 예를 들어, 컴퓨팅 장치(102)는 컴퓨팅 장치, 더욱 자세하게는 컴퓨팅 장치(102)의 하드웨어가 동작을 수행하도록 하는 지시를 보유하도록 구성된 컴퓨터 판독 가능 매체를 포함할 수 있다. 따라서, 지시는 하드웨어가 동작을 수행하도록 구성되고, 이러한 방식으로 하드웨어를 변경하여 다양한 기능을 수행한다. 지시는 컴퓨터 판독 가능 매체에 의해 다양한 다른 구성을 통해 컴퓨팅 장치(102)에 제공될 수 있다.
컴퓨터 판독 가능 매체의 이러한 구성 중 하나는 신호 보유 매체로서, 예를 들어 네트워크를 통하여 컴퓨팅 장치의 하드웨어에 (예를 들어, 반송파로서) 지시를 전달하도록 구성된다. 컴퓨터 판독 가능 매체는 컴퓨터 판독 가능 저장 매체로서 구성될 수 있으며, 이것은 신호 보유 매체는 아니다. 컴퓨터 판독 가능 저장 매체는, 예를 들어, 랜덤 액세스 메모리(RAM), 읽기 전용 메모리(ROM), 광학 디스크, 플래시 메모리, 하드 디스크 메모리, 및 자성, 광학 및 지시 및 다른 데이터를 저장하는 다른 기술을 이용할 수 있는 다른 메모리 장치를 포함한다.
도 2는 하나 이상의 실시예, 일반적으로 200에 따른 허가 환경의 예를 도시한다. 컴퓨팅 장치(102)의 일부로서 포함될 수 있는 디스플레이 스크린(202)이 허가 환경(200)의 일부로서 포함된다. 구현예에서, 디스플레이 스크린(202)은, 예를 들어, 터치 입력 또는 스타일러스 입력과 같은 물리적 입력을 수신하도록 구성되거나 구성되지 않을 수 있다. 예를 들어, 애플리케이션(108)과 같은 애플리케이션과 관련된 애플리케이션 사용자 인터페이스(204)가 디스플레이 스크린(202)에 제공된다.
사용자가 애플리케이션이 사용자 자원에 액세스하는 것을 허가하도록 하기 위해, 허가 사용자 인터페이스(206)가 제공된다. 구현예에서, 허가 사용자 인터페이스(206)는, 예를 들어, 시작되는 애플리케이션(108)에 응답하여 자동으로 표시될 수 있다. 예를 들어, 사용자가 애플리케이션(108)을 시작하면, 액세스 브로커 모듈(118)은 브라우저(110) 및/또는 허가 서비스(120)와 통신하여 허가 사용자 인터페이스(206)가 표시되도록 할 수 있다. 예를 들어, 허가 서비스(120)는, 예를 들어, 웹 페이지와 같은 웹 브라우저(110)에게 허가 사용자 인터페이스(206)를 제공할 수 있다. 이와 달리 또는 부가적으로, 사용자는 로그인 버튼 또는 애플리케이션 사용자 인터페이스(204)와 관련된 다른 컨트롤(도시 안됨)을 선택하여 허가 사용자 인터페이스(206)가 시작하도록 할 수 있다.
구현예에서, 허가 사용자 인터페이스(206)는 애플리케이션 사용자 인터페이스(204)에 대해 모드적일 수 있다. 예를 들어, 애플리케이션 사용자 인터페이스(204)는, 예를 들어, 허가 인터페이스에 대한 사용자의 입력에 응답하여, 허가 사용자 인터페이스(206)가 해제될 때까지 입력을 수신할 수 없고/없거나 닫혀있을 수 있다.
사용자 이름 필드(208)와 암호 필드(210)가 허가 사용자 인터페이스(206)의 일부로서 도시된다. 사용자 이름 필드(208)는 사용자로부터 사용자 이름 및/또는 다른 확인 표시(예를 들어, 사용자 이메일)를 수신하도록 구성된다. 또한, 암호 필드(210)는 사용자로부터 암호를 수신하도록 구성된다. 구현예에서, 사용자 이름 및 암호는 예를 들어, 허가 서비스(120)에 미리 등록되어 있는 사용자 프로파일과 같이, 사용자에 대한 사용자 프로파일과 관련되어 있다. 따라서, 사용자 이름 및 암호를 허가 사용자 인터페이스(206)에 제공함으로써, 사용자를 특정 사용자 프로파일 및/또는 사용자 프로파일과 관련된 사용자 자원에 액세스하도록 인증할 수 있다.
선택되는 경우 허가 사용자 인터페이스(206)에 로그인 정보를 제출하는 로그인 컨트롤(212)이 허가 사용자 인터페이스(206)의 일부로서 도시된다. 예를 들어, 로그인 컨트롤(212)을 선택하면, 사용자 이름 필드(208)에 제공되는 사용자 이름과 암호 필드(210)에 제공되는 암호는 허가 서비스(120)에 제출될 수 있다.
허가 사용자 인터페이스(206)는, 선택되는 경우, 허가 처리가 취소 및/또는 허가 사용자 인터페이스가 닫히도록 할 수 있는 취소 컨트롤(214)을 포함한다.
인증 유지 모드를 활성화도록 선택 가능한 로그인 유지 옵션(216)이 허가 사용자 인터페이스(206)의 일부로서 더 포함된다. 구현예에서, 인증 유지 모드는 (예를 들어, 로그인 유지 옵션(216)을 통해) 사용자 및/또는 애플리케이션(108) 및/또는 액세스 브로커 모듈(118)과 같은 다른 엔티티에 의해 활성화될 수 있다. 인증 유지 모드와 관련한 상세한 내용은 보다 자세하게 전술 및 후술된 바와 같다.
지금까지는 본 명세서에서 설명하는 기술이 동작할 수 있는 예시적 환경에 대해서 설명하였고, 이하에서는 하나 이상의 실시예에 따라서 몇몇의 예시적 과정을 설명한다.
예시적 과정
이하에서는 본 명세서에서 설명된 시스템 및 장치를 이용하여 구현될 수 있는 자원 액세스 허가 기술에 대하여 설명한다. 각 과정은 하드웨어, 펌웨어, 소프트웨어, 또는 이들의 결합으로 구현될 수 있다. 이들 과정은, 하나 이상의 장치에 의해 수행되는 동작을 나타내는 블록의 집합으로 도시되며, 각 블록들로 표시되는 각 동작의 수행 순서에 반드시 제한되는 것은 아니다. 또한, 특정 과정과 관련하여 도시된 동작은 하나 이상의 실시예에 따라 다른 과정의 동작과 결합 및/또는 교환될 수 있다. 후술하는 내용은 도 1 및 2의 환경 100 및/또는 200을 참조하여 이루어질 것이다.
도 3은 사용자가 애플리케이션이 사용자 자원에 액세스하는 것을 허가할 수 있는 구현예에 있어서 과정(300)을 도시한다. 단계(302)에서 애플리케이션이 사용자 자원에 액세스하도록 허락하는 요청을 검출한다. 예를 들어, 액세스 브로커 모듈(118)은 애플리케이션(108)으로부터 사용자 자원(122)에 대한 액세스 요청을 수신할 수 있다. 이와 달리, 또는 부가적으로, 애플리케이션이 사용자 자원에 대한 액세스 요청을 개시하기 전에 애플리케이션이 아닌 다른 엔티티로부터 요청을 수신할 수 있다. 예를 들어, 엔티티는 애플리케이션의 사용자 자원에 대한 액세스 허락을 사전에 얻을 수 있다. 구현예에서, 컴퓨팅 장치(102)의 일부 및/또는 브라우저(110)는 로그온 정보, 인증 및/또는 허가 쿠키, 사용자 이름, 암호 등과 같은 사용자 확인 정보를 저장할 수 있다. 이러한 확인 정보에 애플리케이션(108)이 부정하게 액세스하는 것을 방지하기 위해, 액세스 브로커 모듈(118)은 예를 들어, 애플리케이션으로부터 요청을 수신하면, 애플리케이션(108)에 액세스할 수 있는 컴퓨팅 장치(102)의 일부에서 확인 정보를 제거할 수 있다.
단계(304)에서 애플리케이션 식별자를 포함하는 허가 요청을 허가 엔티티에게 전송한다. 예를 들어, 액세스 브로커 모듈(118)은 브라우저(110)와 통신하여 허가 요청이 브라우저로부터 허가 서비스(120)로 전달되도록 할 수 있다. 구현예에서, 허가 요청은 애플리케이션 식별자와 정보를 애플리케이션으로 반환하는데 사용될 수 있는 재전송 주소(예를 들어, 유니폼 리소스 식별자(URI))를 포함하는, 허가 서비스(120)에 대한 유니폼 자원 로케이터(URL)를 포함할 수 있다. 이와 같은 URL의 한 예로는 https ://www.authozationservice.com/requestAccess.html?applicationID=X&redirectAddress=http://redirect.com이 있다.
구현예에서, 허가 서비스(120)는 허가 요청을 수신하고, 허가 사용자 인터페이스(206)가 브라우저(110)를 통해 제공되도록 한다. 그러면, 사용자는 허가 사용자 인터페이스(206)에, 예를 들어 사용자 이름 및 암호와 같은 인증 정보를 제공할 수 있다. 부가적으로 또는 이와는 달리, 사용자는, 예를 들어 허가 사용자 인터페이스(206)를 통해 애플리케이션이 사용자 자원에 액세스하는 것에 동의할 수 있다.
단계(306)에서 허가 엔티티로부터, 사용자 허가를 나타내고, 애플리케이션 식별자를 포함하는 응답을 수신한다. 예를 들어, 허가 사용자 인터페이스(206)에 제공된 인증 정보는 허가 서비스(120)에 제출되고, 인증 정보가 허가 서비스가 알고 있는 사용자 프로파일에 대응하는지를 판단한다. 허가 서비스(120)는 허가 요청에 대한 응답을 액세스 브로커 모듈(118)에 보낸다. 구현예에서, 이 응답은 애플리케이션 식별자를 포함하고, 사용자 자원에 대한 액세스에 이용될 수 있는 액세스 토큰과 같은 부가적 정보를 포함할 수 있다.
단계(308)에서 인증 유지 모드가 선택되는 경우에는, 애플리케이션에 대한 인증 상태를 일시 저장한다. 예를 들어, 사용자는, 사용자 개인 정보를 제공하는 것의 일부로서, 예를 들어 허가 사용자 인터페이스(206)를 통해 인증 유지 모드를 선택할 수 있다. 인증 유지 상태가 선택되면, 인증 상태는, 예를 들어, 액세스 브로커 모듈(118)에 의해 일시 저장된다. 일시 저장된 인증 상태는 사용자가 다른 인증을 수행하지 않고도 이후 사용자 자원에 대한 액세스 요청 동안에도 애플리케이션이 사용자 자원에 대해 액세스할 수 있도록 하는 인증 및 다른 정보를 포함할 수 있다. 인증 유지 모드에 대한 다른 측면에 대해서는 후술한다. 인증 유지 모드가 선택되지 않으면, 인증 상태는 이후의 사용에 대해 일시 저장되지 않고/않거나 사용자는 후속하는 자원 액세스 요청의 일부로서 인증이 요청될 수 있다.
단계(310)에서는 허가 엔티티로부터 수신한 애플리케이션 식별자를 컴퓨팅 장치가 보유하는 시스템 애플리케이션 식별자와 비교한다. 예를 들어, 시스템 애플리케이션 식별자는 다른 애플리케이션 및/또는 컴퓨팅 장치의 자원과 당해 애플리케이션을 구별하는 고유의 식별자일 수 있다. 또한, 시스템 애플리케이션 식별자에 관한 설명은 상기한 바와 같다.
허가 엔티티로부터 수신한 애플리케이션 식별자가 시스템 애플리케이션 식별자에 대응하면 (“대응함”), 단계(312)에서는 사용자 자원에 대해 액세스할 수 있도록 하는 토큰을 애플리케이션에 제공한다. 구현예에서, 액세스 브로커 모듈(118)은 허가 서비스(120)로부터 토큰을 수신하고, 토큰을 애플리케이션(108)에 전송할 수 있다. 애플리케이션(108)은 토큰을 사용하여 사용자 자원에 액세스할 수 있다. 허가 엔티티로부터 수신한 애플리케이션 식별자가 시스템 애플리케이션 식별자에 대응하지 않으면 (“대응하지 않음”), 단계(314)에서는 애플리케이션이 토큰에 액세스하는 것이 거부된다. 따라서, 사용자 자원에 대한 액세스가 토큰이 있는 애플리케이션에 제한될 수 있으므로, 애플리케이션은 사용자 자원에 액세스할 수 없다.
도 4는 인증 유지 모드가 사용자 자원 액세스에 이용되는 구현예에서의 과정(400)을 도시한다. 하나 이상의 실시예에 따르면, 과정(400)은 상기 도 3에서 설명된 것에 후속하는 자원 액세스 요청의 일부로서 수행될 수 있다.
단계(402)에서 컴퓨팅 장치에서 동작 중인 애플리케이션이 인증 유지 모드를 통해 사용자 자원에 대한 액세스를 요청하고 있는지를 검출한다. 인증 유지 모드를 개시하는 예시적인 방법은 전술한 바와 같다. 단계(404)에서 애플리케이션 식별자를 포함하는 허가 요청이 허가 엔티티에 전송된다. 예를 들어, 액세스 브로커 모듈(118)은 애플리케이션으로부터 허가 요청을 수신하고, 전술한 일시 저장된 인증 상태 정보를 허가 서비스(120)에 전송할 수 있다.
구현예에서, 허가 요청은 인증 유지 모드가 사용되고 있음을 나타내는 커스텀 유니폼 리소스 식별자(URI) 구성을 포함할 수 있다. 예를 들어, 허가 서비스(120)로 네비게이트하는데 사용되는 URL(이것의 한 예는 전술된 바와 같다)은 커스텀 URI 구성에 첨부될 수 있다. 커스텀 URI 구성은 애플리케이션 식별자와 인증 유지 모드에 대한 특정의 지시자, 예를 들어, “persisted://application_id”를 포함할 수 있다. 구현예에서, 액세스 브로커 모듈(118)은 애플리케이션에 대해서 인증 유지 구성이 구현될 수 있도록 애플리케이션이 커스텀 URI 구성을 이용하도록 할 수 있다.
단계(406)에서 허가 엔티티로부터 애플리케이션 식별자와 액세스 토큰을 포함하는 허가 확인을 수신한다. 구현예에서, 허가 확인은, 예를 들어 허가 엔티티가 제공하는 허가 프롬프트를 통하여 사용자 자원에 액세스하는 애플리케이션에 대해 사용자가 제공하는 허가에 적어도 일부 근거하여 수신될 수 있다. 허가 엔티티는 (예를 들어, 허가 요청으로부터의 애플리케이션 식별자에 근거하여) 허가 요청이 사용자 자원에 액세스가 허가된 애플리케이션으로부터 요청된 것인지를 구분한다. 예를 들어, 이 애플리케이션은 사용자가 허가 엔티티와 상호 작용에 의해 사용자 자원에 대해 액세스가 이전에 허가되었을 수 있다. 이러한 구현예에 더하여, 허가 엔티티는 허가 요청의 일부로서 제공된 커스텀 URI를 커스텀 URI에 첨부되어 있는 액세스 토큰과 함께 액세스 브로커 모듈(118)에 반환할 수 있다.
단계(408)에서 애플리케이션 식별자와, 컴퓨팅 장치가 보유하고 있는 애플리케이션에 대한 시스템 애플리케이션 식별자를 비교한다. 애플리케이션 식별자의 대응에 관한 자세한 설명은 전술한 바 있다. 허가 엔티티로부터 수신한 애플리케이션 식별자가 시스템 애플리케이션 식별자와 대응하면(“대응함”), 단계(410)에서 애플리케이션이 사용자 자원에 액세스할 수 있도록 하는 토큰을 제공한다. 예를 들어, 액세스 브로커 모듈(118)이 허가 서비스(120)로부터 인증 토큰을 수신할 수 있고, 인증 토큰을 애플리케이션(108)에 제공할 수 있다. 애플리케이션(108)은 인증 토큰을 사용하여 사용자 자원(122)에 액세스할 수 있다.
허가 엔티티로부터 수신한 애플리케이션 식별자가 시스템 애플리케이션 식별자와 대응하지 않으면(“대응하지 않음”), 단계(412)에서 애플리케이션이 토큰에 액세스하는 것이 거부된다.
따라서, 구현예에서, 인증 유지 모드는 애플리케이션이 사용자 자원에 대해 액세스하는 것이 허가되는지에 대해 사용자 인증 처리 및/또는 예를 들어 허가 서비스와 사용자의 상호 작용과 독립적으로 결정할 수 있다.
도 5는 애플리케이션이 허가 처리에 참가할 수 있는지를 결정하는 구현예에 있어서의 과정(500)을 도시한다. 단계(502)에서 애플리케이션으로부터 사용자 자원 액세스 요청의 일부로서 애플리케이션 식별자를 수신한다. 단계(504)에서 애플리케이션 식별자와 컴퓨팅 장치가 보유하고 있는 애플리케이션에 대한 시스템 애플리케이션 식별자를 비교한다. 애플리케이션 식별자의 대응과 관련한 자세한 사항은 전술한 바와 같다. 구현예에서, 액세스 브로커 모듈(118)은 애플리케이션으로부터 애플리케이션 식별자를 수신하고, 애플리케이션에 대한 시스템 애플리케이션 식별자에 대해 운영 시스템(116)에 문의할 수 있다. 이후, 액세스 브로커 모듈(118)은 애플리케이션 식별자를 시스템 애플리케이션 식별자와 비교하여 이들이 대응하는지를 판단할 수 있다.
애플리케이션으로부터 수신한 애플리케이션 식별자가 시스템 애플리케이션 식별자에 대응하지 않으면(“대응하지 않음”), 단계(506)에서 애플리케이션이 허가 처리로 진행하는 것이 거부된다. 애플리케이션으로부터 수신한 애플리케이션 식별자가 시스템 애플리케이션 식별자에 대응하면(“대응함”), 단계(508)에서 허가 처리가 진행된다. 예시적인 허가 처리는 도 3, 4 및 6을 참조하여 본 명세서의 다른 부분에서 설명한다.
도 6은 애플리케이션이 사용자 자원에 액세스할 수 있는지를 판단하는데 로컬 허가 정보가 사용되는 구현예에서의 과정(600)에 대해 도시한다. 단계(602)에서 허가 엔티티로부터 애플리케이션 식별자 및 허가 엔티티 식별자를 포함하는 애플리케이션 허가 정보를 수신한다. 예를 들어, 확인 정보는, 사용자가 허가 서비스를 통하여 인증하고, 애플리케이션이 사용자 자원(122)에 액세스할 것을 허락하면, 허가 서비스(120)로부터 수신될 수 있다. 사용자 인증 및 사용자 허락을 제공하는 예시적인 방법에 대해서는 전술한 바와 같다. 구현예에서, 다른 객체(예를 들어, 액세스 브로커 모듈(118))는 허가 엔티티 식별자를 통하여 허가 정보를 수신하는 허가 엔티티를 확인할 수 있다.
단계(604)에서 허가 정보를 국소적으로 저장한다. 구현예에서, 허가 정보는 액세스 브로커 모듈(118) 및/또는 액세스 브로커 모듈이 액세스할 수 있는 곳에 저장될 수 있다. 단계(606)에서 애플리케이션으로부터 허가 엔티티 식별자를 포함하는 사용자 자원 액세스 요청을 수신한다. 예를 들어, 액세스 브로커 모듈(118)은 애플리케이션(108)으로부터 요청을 수신할 수 있다.
단계(608)에서 애플리케이션으로부터 수신한 허가 엔티티 식별자에 부분적으로 근거하여 허가 정보를 검색하고, 허가 정보로부터의 애플리케이션 식별자와 애플리케이션에 대한 시스템 애플리케이션 식별자를 비교한다. 애플리케이션 식별자와 시스템 애플리케이션 식별자를 비교하는 예시적인 방법은 전술한 바와 같다. 단계(610)에서 애플리케이션 식별자가 시스템 애플리케이션 식별자에 대응하는지를 판단한다.
애플리케이션 식별자가 시스템 애플리케이션 식별자에 대응하면(“대응함”), 단계(612)에서 사용자 자원에 액세스할 수 있도록 하는 토큰을 애플리케이션에 제공한다. 애플리케이션 식별자가 시스템 애플리케이션 식별자에 대응하지 않으면(“대응하지 않음”), 단계(614)에서 애플리케이션이 토큰에 액세스하는 것을 거부한다.
구현예에서, 과정(600)은 애플리케이션이 사용자 자원에 액세스할 수 있는지에 대한 허가가 애플리케이션의 런타임 중 허가 서비스와 통신하지 않고도 결정될 수 있는 예시적인 기술로 설명하였다. 예를 들어, 사용자는 허가 서비스와 통신하여 애플리케이션이 사용자 자원에 액세스하는 것을 허가할 수 있다. 이후, 사용자 허가 처리로부터의 정보는, 예를 들어, 단계(602 및 604)에서 전술한 것과 같이, 후속하는 작업을 위해 저장될 수 있다. 사용자 자원 액세스를 위한 애플리케이션의 후속 요청에 대해, 액세스 브로커 모듈(118)은 국소적으로 저장된 허가 정보를 사용하여, 허가 서비스와 통신하지 않고도, 애플리케이션이 사용자 자원에 액세스하는 것을 허락할지 여부를 결정할 수 있다.
적어도 일부의 실시예에서, 애플리케이션은 인증 유지 모드를 유지할 수 있는데, 이는 전술한 인증 유지 모드와는 하나 이상의 관점에서 상이하다. 예를 들어, 애플리케이션은 전술한 방법으로 수신한 토큰과 같이, 애플리케이션이 사용자 자원에 액세스할 수 있도록 하는 토큰을 보유할 수 있다. 토큰은, 예를 들어, 사용자 자원 액세스에 관한 애플리케이션의 서로 다른 복수의 요청에 대응하여 복수의 다른 자원 액세스 처리 중에도 사용자 자원에 액세스할 수 있도록 한다. 애플리케이션이 토큰을 사용하여 사용자 자원에 액세스하고자 할 때, 애플리케이션은 토큰의 기한이 만료되어 사용자 자원에 액세스할 수 있도록 하는데 더 이상 유효하지 않은지를 확인할 수 있다. 토큰이 만료되었다면, 애플리케이션은 전술한 기술을 이용하여, 예를 들어, 액세스 브로커 모듈(118) 및/또는 허가 서비스(120)로부터 새롭고 유효한 토큰을 획득할 수 있다. 따라서, 구현예에서, 인증 유지 모드는 애플리케이션이 복수의 자원 액세스 처리 중에도, 예를 들어 액세스 브로커 모듈(118) 및/또는 허가 서비스(120)를 통하여, 애플리케이션이 액세스 요청을 하지 않고도, 애플리케이션이 사용자 자원에 액세스할 수 있도록 할 수 있다.
예시적인 시스템 및 장치
도 7은 도 1 및 2를 참조하여 설명된 컴퓨팅 장치(102)를 포함하는 예시적인 시스템(700)을 도시한다. 예시적인 시스템(700)은 개인 컴퓨터(PC), 텔레비전 장치, 및/또는 휴대용 장치에서, 애플리케이션을 구동할 때 원활한 사용자 경험에 있어서 유비쿼터스 환경을 가능하게 한다. 애플리케이션의 사용, 비디오 게임, 비디오 시청 도중 하나의 장치에서 다음 장치로의 변경시, 일반 사용자 경험에 있어서 이 세 가지 환경에서 서비스 및 애플리케이션은 실질적으로 유사하게 동작한다.
예시적인 시스템(700)에서, 복수의 장치는 중앙 컴퓨팅 장치를 통해 서로 접속되어 있다. 중앙 컴퓨팅 장치는 복수의 장치에 대해서는 국소적이거나, 복수의 장치로부터 원격되어 있을 수 있다. 하나 이상의 실시예에서, 중앙 컴퓨팅 장치는 네트워크, 인터넷 또는 다른 데이터 통신 링크를 통해 복수의 장치와 연결된 하나 이상의 서버 컴퓨터의 클라우드 일 수 있다. 하나 이상의 실시예에서, 이 상호 접속 구조는 복수의 장치 사이에서 기능이 전달되게 함으로써, 복수 장치의 사용자에게 공통적이고 원활한 경험을 제공한다. 각 복수의 장치는 서로 다른 물리적 특성 및 성능을 가질 수 있으며, 중앙 컴퓨팅 장치는 각 장치에 특유한 경험 및 모든 장치에 대해 공통인 경험을 장치에 전달하기 위해 플랫폼을 사용한다. 일 실시예에서, 목적 장치의 클래스가 만들어지고, 경험은 장치의 제네릭 클래스(generic class)에 맞도록 조정된다. 장치의 클래스는 장치의 물리적 특성, 사용 유형 또는 다른 공통된 특성에 따라 정의될 수 있다.
다양한 구현예에서, 컴퓨팅 장치(102)는 컴퓨터(702), 모바일(704), 텔레비전(706) 사용과 같이 다양한 서로 다른 구성을 갖는 것으로 고려될 수 있다. 이들 각각의 구성은 일반적으로 다른 구성 및 성능을 가질 수 있는 장치를 포함하며, 따라서, 컴퓨팅 장치(102)는 하나 이상의 다른 장치의 클래스에 따라 구성될 수 있다. 예를 들어, 컴퓨팅 장치(102)는 개인 컴퓨터, 데스크 탑 컴퓨터, 멀티 스크린 컴퓨터, 랩톱 컴퓨터, 노트북 등을 포함하는 컴퓨터(702) 클래스 장치로서 구현될 수 있다.
또한, 컴퓨팅 장치(102)는 모바일 폰, 휴대용 음악 플레이어, 휴대용 게임기, 태블릿 컴퓨터, 멀티 스크린 컴퓨터 등을 포함하는 모바일(704) 클래스 장치로서 구현될 수 있다. 컴퓨팅 장치(102)는 통상적인 시청 환경에서 일반적으로 대형 스크린을 포함하거나 연결된 장치를 포함하는 텔레비전(706) 클래스의 장치로서 구현될 수 있다. 이들 장치는 텔레비전, 셋톱 박스, 게임 콘솔 등을 포함한다. 본 명세서에서 설명된 기술은 컴퓨팅 장치(102)의 이러한 다양한 구성에 의해 뒷받침될 수 있으며, 본 명세서에서 설명된 기술의 특정 예에 한정되지 않는다.
클라우드(708)는 콘텐츠 서비스(712)를 위한 플랫폼을 포함하고/하거나 이를 의미한다. 플랫폼(710)은 하드웨어(예를 들어, 서버)의 하위 기능 및 클라우드(708)의 소프트웨어 자원을 의미한다. 콘텐츠 서비스(712)는 애플리케이션 및/또는 컴퓨팅 장치(102)와 원격되어 있는 서버에서 컴퓨터 프로세싱이 동작하는 동안 이용될 수 있는 데이터를 포함할 수 있다. 콘텐츠 서비스(712)는 인터넷 및/또는 셀룰러 또는 와이 파이 네트워크와 같은 가입자 네트워크를 통하여 서비스로서 제공될 수 있다.
플랫폼(710)은 컴퓨팅 장치(102)를 다른 컴퓨팅 장치와 접속하는 자원 및 기능을 추상화할 수 있다. 플랫폼(710)은 자원의 정도를 추상화하고, 플랫폼(710)을 통해 구현되는 콘텐츠 서비스(712)에 대한 각 요구에 대해 자원의 대응 레벨을 제공한다. 따라서, 상호 접속된 장치의 실시예에서, 본 명세서에서 설명된 기능은 시스템(700)을 통해 나누어 구현될 수 있다. 예를 들어, 기능은 컴퓨팅 장치(102) 상에서 일부 구현될 수 있을 뿐만 아니라 애플리케이션(108), 브라우저(110) 및 액세스 브로커 모듈(118)을 포함하는 것으로 도시된 클라우드(708) 기능을 의미하는 플랫폼(710)을 통해서 구현될 수 있다.
도 8은 본 명세서에서 설명된 기술의 실시예를 구현하기 위해 도 1 및 7을 참조하여 설명된 임의 유형의 컴퓨팅 장치로서 구현될 수 있는 예시적 장치(800)의 다양한 구성 요소를 도시한다. 장치(800)는 장치 데이터(804, 예를 들어, 수신 데이터, 수신되고 있는 데이터, 방송용 데이터, 데이터의 데이터 패킷 등)의 유선 및/또는 무선 통신을 할 수 있도록 하는 통신 장치(802)를 포함한다. 장치 데이터(804) 또는 다른 장치 콘텐츠는 장치의 구성 설정, 장치에 저장된 미디어 콘텐츠, 및/또는 장치의 사용자와 관련된 정보를 포함할 수 있다. 장치(800)에 저장된 미디어 콘텐츠는 임의 유형의 오디오, 비디오 및/또는 이미지 데이터를 포함할 수 있다. 장치(800)는 임의 유형의 데이터, 미디어 콘텐츠 및/또는 사용자 선택 입력, 메시지, 음악, 텔레비전 미디어 콘텐츠, 기록된 비디오 콘텐츠, 및 임의의 콘텐츠 및/또는 데이터 소스로부터 수신된 임의의 다른 유형의 오디오, 비디오 및/또는 이미지 데이터 입력이 이를 통해 수신 가능한 하나 이상의 데이터 입력(806)을 포함한다.
장치(800)는, 또한 하나 이상의 직렬 및/또는 병렬 인터페이스, 무선 인터페이스, 임의 유형의 네트워크 인터페이스, 모뎀, 및 임의의 다른 유형의 통신 인터페이스로서 구현될 수 있는 통신 인터페이스(808)를 포함한다. 통신 인터페이스(808)는 장치(800)와, 기타 전자, 컴퓨팅 및 통신 장치가 이 장치(800)와 데이터 통신하는 통신 네트워크 사이에 접속 및/또는 통신 링크를 제공한다.
장치(800)는 다양한 컴퓨터 수행 가능한 지시를 수행하여 장치(800)의 동작을 제어하고 본 명세서에서 설명된 기술의 실시예를 구현하는 하나 이상의 프로세서(810, 예를 들어, 임의의 마이크로 프로세서, 컨트롤러 등)를 포함한다. 이와 달리 또는 부가적으로, 장치(800)는 일반적으로 812로 표시된 처리 및 제어 회로와 관련하여 구현되는 하드웨어, 펌웨어, 또는 고정 논리 회로 중 어느 하나 또는 결합으로 구현될 수 있다. 도시되어 있지는 않지만, 장치(800)는 장치 내의 다양한 구성 요소를 접속하는 시스템 버스 또는 데이터 전송 시스템을 포함할 수 있다. 시스템 버스는 메모리 버스 또는 메모리 컨트롤러, 주변 장치 버스, 범용 직렬 버스 및/또는 다양한 버스 구조를 이용하는 프로세서 또는 로컬 버스와 같은 다른 버스 구조 중 하나 또는 이들의 조합을 포함할 수 있다.
장치(800)는, 예를 들어 랜덤 액세스 메모리(RAM), 비휘발성 메모리(예를 들어, 하나 이상의 읽기 전용 메모리(ROM), 플래시 메모리, EPROM, EEPROM 등) 및 디스크 저장 장치를 포함하는 하나 이상의 메모리 구성과 같은 컴퓨터 판독 가능 매체(814)를 더 포함한다. 디스크 저장 장치는 하드 디스크 드라이브, 기록 가능 및/또는 재기록 가능 컴팩트 디스크(CD), 임의 유형의 디지털 다기능 디스크(DVD) 등과 같은 자성 또는 광학 저장 장치로서 구현될 수 있다. 장치(800)는 또한 대량 저장 매체 장치(816)를 포함할 수 있다.
컴퓨터 판독 가능 매체(814)는 데이터 저장 메커니즘을 제공하여 장치 데이터(804), 다양한 장치 애플리케이션(818) 및 임의의 다른 유형의 정보 및/또는 장치(800)의 동작에 관련되는 데이터를 저장하는 데이터 저장 메커니즘을 제공한다. 예를 들어, 운영 시스템(820)은 컴퓨터 판독 가능 매체(814)에 의해 컴퓨터 애플리케이션으로서 보유되고, 프로세서(810) 상에서 수행된다. 장치 애플리케이션(818)은 장치 관리자(예를 들어, 제어 애플리케이션, 소프트웨어 애플리케이션, 신호 처리, 및 제어 모듈, 특정 장치에 한정된 코드, 특정 장치에 대한 하드웨어 추상화 계층 등)를 포함할 수 있다. 장치 애플리케이션(818)은 또한 본 명세서에서 설명된 기술의 실시예를 구현하는 임의의 시스템 구성 또는 모듈을 포함한다.
이 예에서, 장치 애플리케이션(818)은 소프트웨어 모듈 및/또는 컴퓨터 애플리케이션으로 도시된 인터페이스 애플리케이션(822)과 입력/출력 모듈(824)을 포함한다. 입력/출력 모듈(824)은 터치 스크린, 트랙 패드, 카메라, 마이크 등과 같은 입력을 포착하도록 구성된 장치에 인터페이스를 제공하는데 이용되는 소프트웨어를 의미한다. 이와 달리 또는 부가적으로, 인터페이스 애플리케이션(822)과 입력/출력 모듈(824)은 하드웨어, 소프트웨어, 펌웨어 또는 이들의 결합으로서 구현될 수 있다. 또한, 입력/출력 모듈(824)은 시각 및 청각 입력을 각각 포착하는 별개의 장치와 같은 복수의 입력 장치를 제공하도록 구성될 수 있다.
또한, 장치(800)는 오디오 데이터를 오디오 시스템(828)에 제공 및/또는 비디오 데이터를 디스플레이 시스템(830)에 제공하는 오디오 및/또는 비디오 입력-출력 시스템(826)을 포함한다. 오디오 시스템(828) 및/또는 디스플레이 시스템(830)은 처리, 표시, 및/또는 오디오, 비디오 및 이미지 데이터를 다른 방식으로 제공하는 임의의 장치를 포함할 수 있다. 비디오 신호와 오디오 신호는 장치(800)로부터 오디오 장치 및/또는 표시 장치에 RF(무선) 링크, S-비디오 링크, 복합 비디오 링크, 컴포넌트 비디오 링크, DVI(디지털 비디오 인터페이스), 아날로그 오디오 접속 또는 다른 유사한 통신 링크를 통하여 전달될 수 있다. 일 실시예에서, 오디오 시스템(828) 및/또는 디스플레이 시스템(830)은 장치(800)에 대하여 외부 구성으로서 구현된다. 이와는 달리, 오디오 시스템(828) 및/또는 디스플레이 시스템(830)은 예시적 장치(800)의 내부 구성으로서 구현된다.
결론
자원 액세스 허가를 위한 기술을 설명하였다. 비록 실시예가 구조적인 특징 및/또는 방법론적인 수법에 따라 한정적인 언어로 설명되었지만, 첨부되는 청구범위에서 정의된 실시예는, 설명된 특정한 특징이나 수법에 반드시 제한되는 것은 아니다. 오히려, 이러한 특정한 특징이나 수법은 청구되는 실시예의 구현을 예시적인 형태로서 개시하고 있다.

Claims (20)

  1. 시스템으로서,
    하나 이상의 프로세서와,
    상기 하나 이상의 프로세서에 의해 실행가능한 컴퓨터 실행가능 명령어를 저장한 하나 이상의 컴퓨터 판독가능한 저장 매체를 포함하되,
    상기 컴퓨터 실행가능 명령어는
    애플리케이션으로부터 사용자 자원에 대한 액세스 요청을 수신하는 것 - 상기 요청에는 인증 유지 모드를 확인하며 상기 애플리케이션에 대한 애플리케이션 식별자를 포함하는 커스텀 URI(uniform resource identifier) 구성을 포함하는 URI가 첨부되어 있음 - 과,
    상기 요청 수신에 응답하여, 상기 애플리케이션에 대한 애플리케이션 식별자를 포함하는 허가(authorization) 요청을 허가 엔티티에게 전송하는 것과,
    상기 허가 엔티티로부터 상기 애플리케이션이 상기 사용자 자원에 액세스하도록 허용됨을 나타내는 응답을 수신하는 것 - 상기 응답은 상기 애플리케이션에 대한 애플리케이션 식별자를 포함함 - 과,
    사용자가 상기 애플리케이션에 대한 인증 유지 모드를 선택했는지 여부를 확인하는 것과,
    상기 인증 유지 모드가 선택되었음을 나타내는 표시가 수신되면 상기 애플리케이션에 대한 인증 상태를 일시 저장하는 것과,
    상기 애플리케이션 식별자가 상기 애플리케이션이 실행되고 있는 컴퓨팅 장치의 저장부에서 획득된 시스템 애플리케이션 식별자와 대응하면, 상기 사용자 자원에 대한 액세스를 가능하게 하는 토큰을 상기 애플리케이션에게 제공하는 것 - 상기 컴퓨팅 장치의 저장부는 상기 애플리케이션에게는 액세스가능하지 않음 -
    을 포함하는 동작을 수행하는
    시스템.
  2. 제 1 항에 있어서,
    상기 사용자 자원은 사용자 콘텐츠, 사용자 데이터, 및 사용자 프로파일 정보 중 하나 이상을 포함하는
    시스템.
  3. 제 1 항에 있어서,
    상기 허가 요청은, 상기 애플리케이션을 확인하고, 상기 애플리케이션 식별자를 반환하는데 사용되도록 상기 허가 엔티티로 전송되는 재전송 URI를 포함하는
    시스템.
  4. 제 1 항에 있어서,
    상기 허가 요청은, 상기 허가 엔티티를 통한 사용자 인증과는 독립적으로, 상기 애플리케이션이 상기 사용자 자원에 액세스하는 것이 허가되도록 하는 인증 유지 모드에서 발생하는
    시스템.
  5. 제 1 항에 있어서,
    상기 허가 엔티티는 상기 컴퓨팅 장치와 원격으로 구현되는 서비스를 포함하는
    시스템.
  6. 제 1 항에 있어서,
    상기 동작은 상기 애플리케이션이 변경할 수 없도록 상기 시스템 애플리케이션 식별자를 암호화함으로써 상기 시스템 애플리케이션 식별자를 획득하는 것을 더 포함하는
    시스템.
  7. 제 1 항에 있어서,
    상기 토큰은 상기 사용자 자원에 대한 하나 이상의 후속하는 액세스 요청의 일부로서 상기 사용자 자원 액세스에 사용될 수 있는
    시스템.
  8. 제 7 항에 있어서,
    상기 동작은 상기 토큰의 기한이 만료되었다는 표시에 응답하여 새로운 토큰을 요청하는 것을 더 포함하는
    시스템.
  9. 컴퓨팅 장치에 의해 실행될 경우에 상기 컴퓨팅 장치로 하여금 동작을 수행하게 하는 명령어가 저장되어 있는 하나 이상의 컴퓨터 판독 가능 저장 장치로서,
    상기 동작은
    애플리케이션에 대하여, 상기 애플리케이션이 사용자 자원에 액세스할 수 있도록 하는데 사용될 수 있는 일시 저장된 인증 상태를 유지하는 것과,
    상기 애플리케이션으로부터 상기 애플리케이션이 상기 사용자 자원에 액세스하도록 허용하라는 요청을 수신하는 것과,
    상기 애플리케이션이 상기 사용자 자원에 액세스하도록 허용하라는 상기 애플리케이션으로부터의 요청을 검출한 것에 응답하여, 상기 애플리케이션에 액세스할 수 있는 상기 컴퓨팅 장치의 일부로부터 사용자 확인 정보를 제거하는 것 - 상기 제거는 상기 애플리케이션이 상기 사용자 자원에 액세스하도록 허용할지 여부를 결정하기 전에 수행됨 - 과,
    상기 애플리케이션이 상기 사용자 자원에 액세스하도록 허용하라는 요청에 응답하여, 상기 일시 저장된 인증 상태의 하나 이상의 부분을 허가 서비스에게 전송하는 것과,
    상기 허가 서비스로부터 애플리케이션 식별자를 수신하는 것과,
    상기 허가 서비스로부터 수신한 상기 애플리케이션 식별자와 상기 애플리케이션에 액세스할 수 없는 상기 컴퓨팅 장치의 저장부로부터 획득한 상기 애플리케이션에 대한 시스템 애플리케이션 식별자를 비교함으로써, 상기 사용자 자원에 액세스할 수 있도록 하는 토큰을 상기 애플리케이션에 제공할지 여부를 판단하는 것을 포함하는
    하나 이상의 컴퓨터 판독 가능 저장 장치.
  10. 제 9 항에 있어서,
    상기 토큰은 인증 토큰과 사용자 식별 쿠키 중 하나 이상을 포함하는
    하나 이상의 컴퓨터 판독 가능 저장 장치.
  11. 제 9 항에 있어서,
    상기 애플리케이션 식별자는, 상기 애플리케이션이 상기 사용자 자원에 액세스하도록 허락되었음을 나타내는 상기 허가 서비스를 통한 사용자 인증에 응답하여, 상기 허가 서비스로부터 수신되는
    하나 이상의 컴퓨터 판독 가능 저장 장치.
  12. 제 9 항에 있어서,
    상기 비교는 상기 애플리케이션에 대한 애플리케이션 런타임 중에, 상기 허가 서비스와 상호 작용 없이 일어나는
    하나 이상의 컴퓨터 판독 가능 저장 장치.
  13. 제 9 항에 있어서,
    상기 애플리케이션에 액세스할 수 없는 상기 컴퓨팅 장치의 부분은 상기 컴퓨팅 장치의 운영 시스템 커널을 포함하는
    하나 이상의 컴퓨터 판독 가능 저장 장치.
  14. 제 9 항에 있어서,
    상기 동작은 상기 애플리케이션 식별자가 상기 시스템 애플리케이션 식별자와 대응하지 않으면 상기 애플리케이션이 상기 토큰에 액세스하지 못하게 하는 것을 포함하는
    하나 이상의 컴퓨터 판독 가능 저장 장치.
  15. 제 9 항에 있어서,
    상기 동작은
    상기 애플리케이션으로부터의 요청에 응답하여, 상기 허가 서비스와 관련되고, 사용자로부터 사용자 인증 정보를 수신하도록 구성되어 있는 허가 사용자 인터페이스가 제공되도록 하는 것과,
    상기 허가 사용자 인터페이스를 통하여, 상기 허가 서비스를 통한 상기 사용자 인증에 근거하여, 상기 허가 서비스로부터 상기 애플리케이션 식별자를 수신하는 것을 포함하는
    하나 이상의 컴퓨터 판독 가능 저장 장치.
  16. 컴퓨터로 구현되는 방법으로서,
    컴퓨팅 장치에서 실행 중인 애플리케이션으로부터 사용자 자원에 대한 액세스 요청을 수신하는 단계 - 상기 요청에는 인증 유지 모드를 확인하는 커스텀 URI(uniform resource identifier) 구성을 포함하는 URI가 첨부되어 있음 - 와,
    상기 애플리케이션이, 상기 요청을 통해 수신된 URI가 상기 인증 유지 모드를 확인하는 것을 파악하여, 상기 인증 유지 모드를 통해 상기 사용자 자원에 대한 액세스를 요청하고 있음을 검출하는 단계와,
    상기 검출에 응답하여 상기 애플리케이션에 액세스할 수 있는 상기 컴퓨팅 장치의 일부로부터 사용자 확인 정보를 제거하는 단계와,
    상기 애플리케이션이 상기 사용자 자원에 액세스하도록 허락되었는지 여부를 확인하기 위한 허가 요청을 허가 서비스에게 전달하는 단계와,
    상기 허가 서비스로부터 상기 애플리케이션이 상기 사용자 자원에 액세스하도록 허락되었는지 여부를 나타내는 응답을 수신하는 단계 - 상기 응답은 상기 애플리케이션에 대한 애플리케이션 식별자를 포함함 - 와,
    상기 허가 서비스로부터 수신된 상기 애플리케이션 식별자가 상기 애플리케이션에 액세스할 수 없는 상기 컴퓨팅 장치의 저장부에서 획득된 시스템 애플리케이션 식별자에 대응하는지 여부를 판단하는 단계와,
    상기 애플리케이션 식별자가 상기 시스템 애플리케이션 식별자에 대응하는 경우에, 상기 애플리케이션이 상기 사용자 자원에 액세스할 수 있도록 하는 토큰을 상기 애플리케이션에게 제공하는 단계를 포함하는
    컴퓨터로 구현되는 방법.
  17. 제 16 항에 있어서,
    상기 인증 유지 모드는, 상기 허가 서비스를 통한 사용자 인증과는 독립적으로 복수의 허가 트랜잭션 동안 상기 애플리케이션이 상기 사용자 자원에 액세스하도록 허용되는지 여부에 대한 결정이 이루어질 수 있게 하는
    컴퓨터로 구현되는 방법.
  18. 제 16 항에 있어서,
    상기 요청은, 상기 허가 서비스에 의해 상기 애플리케이션 식별자를 반환하는데 사용되도록 상기 애플리케이션을 확인하는 재전송 URI를 더 포함하는
    컴퓨터로 구현되는 방법.
  19. 제 16 항에 있어서,
    상기 허가 서비스는 상기 사용자 자원에 대한 액세스를 관리하는 콘텐츠 서비스의 일부로서 포함되는
    컴퓨터로 구현되는 방법.
  20. 제 16 항에 있어서,
    상기 URI는 상기 인증 유지 모드의 사용자 선택의 표시를 수신한 것에 응답하여 상기 인증 유지 모드에 대한 식별자로 구성되는
    컴퓨터로 구현되는 방법.
KR1020147006550A 2011-09-12 2012-09-10 자원 액세스 허가 기법 KR101951973B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/230,460 US9183361B2 (en) 2011-09-12 2011-09-12 Resource access authorization
US13/230,460 2011-09-12
PCT/US2012/054387 WO2013039813A1 (en) 2011-09-12 2012-09-10 Resource access authorization

Publications (2)

Publication Number Publication Date
KR20140068964A KR20140068964A (ko) 2014-06-09
KR101951973B1 true KR101951973B1 (ko) 2019-02-25

Family

ID=47831097

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147006550A KR101951973B1 (ko) 2011-09-12 2012-09-10 자원 액세스 허가 기법

Country Status (6)

Country Link
US (1) US9183361B2 (ko)
EP (1) EP2756444B1 (ko)
JP (1) JP5992524B2 (ko)
KR (1) KR101951973B1 (ko)
CN (1) CN102984199B (ko)
WO (1) WO2013039813A1 (ko)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9635028B2 (en) * 2011-08-31 2017-04-25 Facebook, Inc. Proxy authentication
US9183361B2 (en) * 2011-09-12 2015-11-10 Microsoft Technology Licensing, Llc Resource access authorization
US9407626B2 (en) * 2011-09-29 2016-08-02 Red Hat, Inc. Security token management service hosting in application server
US9787655B2 (en) * 2011-12-09 2017-10-10 Airwatch Llc Controlling access to resources on a network
US9438598B2 (en) * 2013-02-15 2016-09-06 Verizon Patent And Licensing Inc. Securely updating information identifying services accessible via keys
US20140282032A1 (en) * 2013-03-15 2014-09-18 Microsoft Corporation Dynamically configuring user experiences with action uniform resource identifiers
CN103220289A (zh) * 2013-04-15 2013-07-24 北京京东尚科信息技术有限公司 基于web应用的资源验证系统和方法
JP6198477B2 (ja) * 2013-06-21 2017-09-20 キヤノン株式会社 権限移譲システム、認可サーバーシステム、制御方法、およびプログラム
US20150026078A1 (en) * 2013-07-18 2015-01-22 Google Inc. Generating and providing an authorization indication in relation to a media content item
US9160731B2 (en) * 2013-09-06 2015-10-13 International Business Machines Corporation Establishing a trust relationship between two product systems
US9106642B1 (en) * 2013-09-11 2015-08-11 Amazon Technologies, Inc. Synchronizing authentication sessions between applications
KR102165820B1 (ko) * 2013-12-23 2020-10-14 한국전자통신연구원 사물간 웹 네트워크를 통한 자원 접근 제어 방법
WO2015168305A1 (en) * 2014-04-29 2015-11-05 Twitter, Inc. Inter-application delegated authentication
US9894162B2 (en) * 2014-06-05 2018-02-13 Dropbox, Inc. Communication protocols for an online content management system
JP6428011B2 (ja) * 2014-07-16 2018-11-28 富士ゼロックス株式会社 セキュリティ管理装置及びプログラム
US20160080293A1 (en) * 2014-09-12 2016-03-17 Microsoft Corporation Accounts Control
KR102337990B1 (ko) * 2014-09-18 2021-12-13 삼성전자주식회사 권한 설정 토큰을 이용하는 전자 장치
CN106576329B (zh) * 2014-09-26 2021-03-30 英特尔公司 基于情境的资源访问调解
US9762676B2 (en) * 2014-09-26 2017-09-12 Intel Corporation Hardware resource access systems and techniques
CN111030996B (zh) 2014-10-24 2021-10-15 华为技术有限公司 一种访问资源的方法及装置
US9697349B2 (en) 2014-10-26 2017-07-04 Microsoft Technology Licensing, Llc Access blocking for data loss prevention in collaborative environments
KR102297476B1 (ko) * 2014-12-05 2021-09-02 삼성전자주식회사 응용 프로그램의 자원을 보호하는 방법 및 장치
EP3206357A1 (de) * 2016-02-09 2017-08-16 Secunet Security Networks Aktiengesellschaft Einsatz eines nicht lokalen kryptographie-verfahrens nach authentifizierung
KR101718454B1 (ko) * 2016-04-18 2017-03-21 (주)케이사인 캐시를 이용한 사용자 접근 제어 시스템 및 방법
CN107666505B (zh) * 2016-07-29 2020-09-15 京东方科技集团股份有限公司 对资源接入进行控制的方法和装置
US20180091490A1 (en) * 2016-09-23 2018-03-29 Apple Inc. Authentication framework for a client of a remote database
US10524003B2 (en) * 2016-10-24 2019-12-31 Rovi Guides, Inc. Systems and methods for controlling access to media assets using two-factor authentication
CN110678892A (zh) * 2017-06-20 2020-01-10 北京嘀嘀无限科技发展有限公司 用于与线上到线下服务相关的数据处理的系统和方法
GB2565270B (en) 2017-07-03 2022-08-31 Arm Ip Ltd Secure server and compute nodes
CN107454086B (zh) * 2017-08-11 2019-11-08 杭州邦睿科技有限公司 一种验证网关的自动化处理方法
US11075925B2 (en) * 2018-01-31 2021-07-27 EMC IP Holding Company LLC System and method to enable component inventory and compliance in the platform
CN109040088B (zh) * 2018-08-16 2022-02-25 腾讯科技(深圳)有限公司 认证信息传输方法、密钥管理客户端及计算机设备
EP3641259A1 (de) * 2018-10-15 2020-04-22 Siemens Aktiengesellschaft Vorrichtung und verfahren zur prüfung von eigenschaften von ressourcen
US11599422B2 (en) 2018-10-16 2023-03-07 EMC IP Holding Company LLC System and method for device independent backup in distributed system
US11582229B2 (en) 2019-06-01 2023-02-14 Apple Inc. Systems and methods of application single sign on
US11783022B2 (en) 2020-06-01 2023-10-10 Apple Inc. Systems and methods of account verification upgrade
US11425125B2 (en) 2020-06-24 2022-08-23 Google Llc Shared resource identification
US11562052B2 (en) * 2020-08-31 2023-01-24 Procore Technologies, Inc. Computing system and method for verification of access permissions
CN112511569B (zh) * 2021-02-07 2021-05-11 杭州筋斗腾云科技有限公司 网络资源访问请求的处理方法、系统及计算机设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006024205A (ja) 2004-06-23 2006-01-26 Microsoft Corp アプリケーションにセキュリティを提供するシステムおよび方法
US20070186112A1 (en) 2005-01-28 2007-08-09 Microsoft Corporation Controlling execution of computer applications
US20080046983A1 (en) 2006-08-11 2008-02-21 Microsoft Corporation Multiuser Web Service Sign-In Client Side Components

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5889952A (en) 1996-08-14 1999-03-30 Microsoft Corporation Access check system utilizing cached access permissions
US5805803A (en) * 1997-05-13 1998-09-08 Digital Equipment Corporation Secure web tunnel
US6275944B1 (en) 1998-04-30 2001-08-14 International Business Machines Corporation Method and system for single sign on using configuration directives with respect to target types
US6205480B1 (en) 1998-08-19 2001-03-20 Computer Associates Think, Inc. System and method for web server user authentication
US7150038B1 (en) 2000-04-06 2006-12-12 Oracle International Corp. Facilitating single sign-on by using authenticated code to access a password store
US7464162B2 (en) 2000-07-10 2008-12-09 Oracle International Corporation Systems and methods for testing whether access to a resource is authorized based on access information
TW561754B (en) 2001-02-23 2003-11-11 Koninkl Philips Electronics Nv Authentication method and data transmission system
US7305701B2 (en) 2001-04-30 2007-12-04 Microsoft Corporation Methods and arrangements for controlling access to resources based on authentication method
US7174383B1 (en) 2001-08-31 2007-02-06 Oracle International Corp. Method and apparatus to facilitate single sign-on services in a hosting environment
US7610390B2 (en) 2001-12-04 2009-10-27 Sun Microsystems, Inc. Distributed network identity
WO2005008456A2 (en) 2003-07-07 2005-01-27 Progress Software Corporation Multi-platform single sign-on database driver
US20050015490A1 (en) * 2003-07-16 2005-01-20 Saare John E. System and method for single-sign-on access to a resource via a portal server
JP4617763B2 (ja) 2003-09-03 2011-01-26 ソニー株式会社 機器認証システム、機器認証サーバ、端末機器、機器認証方法、および機器認証プログラム
US7191288B2 (en) 2004-02-24 2007-03-13 Sun Microsystems, Inc. Method and apparatus for providing an application on a smart card
CA2574883C (en) 2004-06-25 2013-12-17 Accenture Global Services Gmbh Single sign-on with common access card
JP2008506139A (ja) 2004-07-09 2008-02-28 松下電器産業株式会社 ユーザ認証及びサービス承認を管理し、シングル・サイン・オンを実現して、複数のネットワーク・インタフェースにアクセスするためのシステム及び方法
US7779034B2 (en) 2005-10-07 2010-08-17 Citrix Systems, Inc. Method and system for accessing a remote file in a directory structure associated with an application program executing locally
US7761911B2 (en) 2005-11-21 2010-07-20 Oracle International Corporation Method and apparatus for facilitating single sign-on
US8006289B2 (en) 2005-12-16 2011-08-23 International Business Machines Corporation Method and system for extending authentication methods
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
JP5205380B2 (ja) 2006-08-22 2013-06-05 インターデイジタル テクノロジー コーポレーション アプリケーションおよびインターネットベースのサービスに対する信頼されるシングル・サインオン・アクセスを提供するための方法および装置
US20080222148A1 (en) 2007-03-09 2008-09-11 Ghost Inc. Lexicographical ordering of real numbers
US8990911B2 (en) 2008-03-30 2015-03-24 Emc Corporation System and method for single sign-on to resources across a network
US8141140B2 (en) 2008-05-23 2012-03-20 Hsbc Technologies Inc. Methods and systems for single sign on with dynamic authentication levels
US8225390B2 (en) * 2008-06-27 2012-07-17 Microsoft Corporation Licensing protected content to application sets
WO2010051342A1 (en) 2008-11-03 2010-05-06 Veritrix, Inc. User authentication for social networks
WO2010082095A2 (en) * 2009-01-13 2010-07-22 Human Interface Security Ltd Secure handling of identification tokens
US8838976B2 (en) 2009-02-10 2014-09-16 Uniloc Luxembourg S.A. Web content access using a client device identifier
US20100211772A1 (en) 2009-02-16 2010-08-19 Bjorn Johansson Collaborative Reconciliation of Application Trustworthiness
US8505084B2 (en) 2009-04-06 2013-08-06 Microsoft Corporation Data access programming model for occasionally connected applications
US8312272B1 (en) * 2009-06-26 2012-11-13 Symantec Corporation Secure authentication token management
US9490984B2 (en) 2009-09-14 2016-11-08 Interdigital Patent Holdings, Inc. Method and apparatus for trusted authentication and logon
US9262392B2 (en) 2009-09-29 2016-02-16 Paypal, Inc. User information population
US8898759B2 (en) * 2010-08-24 2014-11-25 Verizon Patent And Licensing Inc. Application registration, authorization, and verification
US8644800B2 (en) * 2011-02-15 2014-02-04 Blackberry Limited System and method for identity management for mobile devices
US20120227098A1 (en) 2011-03-03 2012-09-06 Microsoft Corporation Sharing user id between operating system and application
US9418216B2 (en) 2011-07-21 2016-08-16 Microsoft Technology Licensing, Llc Cloud service authentication
US9183361B2 (en) * 2011-09-12 2015-11-10 Microsoft Technology Licensing, Llc Resource access authorization

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006024205A (ja) 2004-06-23 2006-01-26 Microsoft Corp アプリケーションにセキュリティを提供するシステムおよび方法
US20070186112A1 (en) 2005-01-28 2007-08-09 Microsoft Corporation Controlling execution of computer applications
US20080046983A1 (en) 2006-08-11 2008-02-21 Microsoft Corporation Multiuser Web Service Sign-In Client Side Components

Also Published As

Publication number Publication date
CN102984199B (zh) 2016-04-20
EP2756444A1 (en) 2014-07-23
EP2756444B1 (en) 2020-08-26
US20130067568A1 (en) 2013-03-14
JP2014526744A (ja) 2014-10-06
JP5992524B2 (ja) 2016-09-14
EP2756444A4 (en) 2015-04-22
CN102984199A (zh) 2013-03-20
KR20140068964A (ko) 2014-06-09
US9183361B2 (en) 2015-11-10
WO2013039813A1 (en) 2013-03-21

Similar Documents

Publication Publication Date Title
KR101951973B1 (ko) 자원 액세스 허가 기법
US11297051B2 (en) Authenticated session management across multiple electronic devices using a virtual session manager
US11921839B2 (en) Multiple device credential sharing
US10666643B2 (en) End user initiated access server authenticity check
JP6895431B2 (ja) アクセス管理のためのパスワードレス認証
US9979720B2 (en) Passwordless strong authentication using trusted devices
KR101929598B1 (ko) 운영체제 및 애플리케이션 사이에서 사용자 id의 공유 기법
JP6033990B2 (ja) 単一のフレキシブルかつプラガブルOAuthサーバを備える複数のリソースサーバ、OAuth保護したREST式OAuth許諾管理サービス、およびモバイルアプリケーションシングルサインオンするOAuthサービス
US10491685B2 (en) Session transfer between resources
US20180176203A1 (en) Techniques for providing authentication information to external and embedded web browsers
US20120174212A1 (en) Connected account provider for multiple personal computers
EP2310977B1 (en) An apparatus for managing user authentication
KR20190091562A (ko) 공유되는 아이템 계정 선택 기법
JP2021043856A (ja) 情報処理装置、情報処理システム、情報処理方法及びプログラム

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant