KR20120085760A - 모듈식 장치 인증 프레임워크 - Google Patents

모듈식 장치 인증 프레임워크 Download PDF

Info

Publication number
KR20120085760A
KR20120085760A KR1020127008060A KR20127008060A KR20120085760A KR 20120085760 A KR20120085760 A KR 20120085760A KR 1020127008060 A KR1020127008060 A KR 1020127008060A KR 20127008060 A KR20127008060 A KR 20127008060A KR 20120085760 A KR20120085760 A KR 20120085760A
Authority
KR
South Korea
Prior art keywords
service
access
authentication
request
device type
Prior art date
Application number
KR1020127008060A
Other languages
English (en)
Other versions
KR101737146B1 (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 KR20120085760A publication Critical patent/KR20120085760A/ko
Application granted granted Critical
Publication of KR101737146B1 publication Critical patent/KR101737146B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/33User authentication using certificates
    • 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/45Structures or tools for the administration of 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/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • H04L63/205Network architectures or network communication protocols for network security for managing network security; network security policies in general involving negotiation or determination of the one or more network security mechanisms to be used, e.g. by negotiation between the client and the server or between peers or by selection according to the capabilities of the entities involved
    • 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/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Power Engineering (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

시스템들, 방법들, 및 컴퓨터-판독가능 매체는 일 구현예에서 요청장치에 서비스로의 액세스를 제공하고, 서버는 서비스에 액세스하기 위한 요청을 수신하고, 요청은 서비스로의 액세스를 요청하는 장치의 장치 유형 식별자를 포함한다. 서버는 장치 유형 식별자를 요청에서 추출하고 요청장치에 대한 대응하는 장치 유형을 판정한다. 인증 모듈은 장치 유형 식별자에 기초하여 복수의 인증 모듈들로부터 선택되며, 선택된 인증 모듈은 요청 장치의 장치 유형에 대해 인증 기법을 이행한다. 서버는 서비스에 액세스하는 것이 요청장치가 하락되는지를 판정하기 위해 선택된 인증 모듈을 사용하여 요청을 인증하며, 적어도 요청장치가 서비스에 액세스할 권한이 있다는 판정에 기초하여 서비스로의 액세스를 제공한다.

Description

모듈식 장치 인증 프레임워크{MODULAR DEVICE AUTHENTICATION FRAMEWORK}
온라인 엔티티들은 다른 가능성들 중에서도, 개인용 컴퓨터들(PCs), PDA들(Portable digital assistants), 이동전화들, 포켓 PC들, 스마트폰들, 셋탑박스들, 디지털 비디오 레코더들(DVRs), 및 게임 콘솔들을 포함하는 다양한 서로 다른 클라이언트 장치들에 매우 다양한 서비스들을 제공한다. 이들 클라이언트 장치들은 자주 다양한 웹 서비스들, 이를테면 온라인 스토어들 또는 그외 오디오/비쥬얼 콘텐츠, 소프트웨어 프로그램들, 디지털 책들, 또는 그외 전자 콘텐츠의 제공자들에 액세스한다. 많은 경우들에 있어서, 한 특정한 웹 서비스에 대한 서로 다른 클라이언트 장치들에 의한 요청들은 웹 서비스가 요청을 이행하기 전에 인증되어야 한다.
서로 다른 클라이언트 장치들은 흔히 웹 서비스들에의 액세스를 제공하는 서로 다른 인증 메커니즘들을 지원한다. 예를 들면, 일부 장치 유형은 장치의 특정 브랜드에 고유한 전속 인증 메커니즘들을 사용할 수 있다. 이외 다른 장치 유형들은 SSL(Secure Sockets Layer)와 같은 보다 일반적인 애플리케이션의 인증 메커니즘들을 사용할 수 있다. 어떤 경우들에 있어서, 이 문제는 각 웹 서비스가 한 특정한 인증 메커니즘을 구현하게, 장치의 유형마다 별도의 웹 서비스들을 제공함으로써 해결된다. 그러나, 개별적 웹 서비스들이 이러한 식으로 제공될 때, 엔티티들은 한 특정한 장치 유형에 맞게 재단된 별도의 웹 서비스로서 각 인증 기법을 구현해야 하기 때문에, 여러 웹 서비스들 간에 상당한 중복되는 노력이 있을 수 있다. 또한, 벤더들은 URL들(Uniform Resource Locators)과 같은 각 웹 서비스마다 서로 다른 어드레스들을 사용할 수 있다. 이것은 다수의 장치 유형들을 가진 사용자들에게 어떤 혼란을 야기할 수 있다. 예를 들면, 사용자는 단일 벤더가 복수의 웹 사이트들 및 사용자의 장치들 각각에 대해 대응하는 URL들을 갖고 있음을 알 수 없다. 이에 따라, 사용자는 URL이 다른 장치로는 올바르게 작동할 수 있을지라도, 한 장치로 웹 서비스에 액세스하려고 할 때 틀린 URL을 사용할 수도 있다. 예를 들면 장치를 정확한 URL에 리다이렉트함으로써 기존 메커니즘들이 이 문제를 회피할 수 있을지라도, 이들 메커니즘들은 애드 호크이며 모든 장치 유형들에 의해 지원되지 않을 수도 있다. 그러므로, 시스템들 및 방법들은 통상의 장치 인증 메커니즘들의 이들 한계들을 극복하기 위해 필요하다.
본원의 일부에 포함되고 구성하는 동반된 도면들은 여러 개시된 실시예들을 도시한다.
도 1은 서비스로의 액세스를 제공하기 위한 시스템의 예를 도시한 것이다.
도 2는 서버의 구조의 예를 도시한 것이다.
도 3은 인증 모듈에 대한 구조의 예를 도시한 것이다.
도 4는 또 다른 인증 모듈에 대한 구조의 예를 도시한 것이다.
도 5는 서비스로의 액세스를 제공하기 위한 루틴의 예의 흐름도이다.
도 6은 요청하는 장치를 인증하기 위한 루틴의 예의 흐름도이다.
도 7은 요청하는 장치를 인증하기 위한 또 다른 루틴의 예의 흐름도이다.
다음 상세한 설명은 첨부한 도면들을 참조한다. 가능한 곳은 어디에서나 동일 또는 유사한 구성요소들을 지칭하기 위해서 동일 참조부호들이 도면들에서 및 다음 설명에서 사용된다. 몇몇 예시적 실시예들이 여기에 기술되지만, 수정, 개조 및 그외 구현이 가능하다. 예를 들면, 도면들에 도시된 성분들에 대체, 추가 또는 수정이 행해질 수 있고, 여기에 기술된 예시적 방법들은 개시된 방법들에 단계들을 개체, 재배열, 또는 추가함으로써 수정될 수 있다. 따라서, 다음 상세한 설명은 개시된 실시예들을 한정하는 것이 아니다. 대신, 적합한 범위는 첨부된 청구항들에 의해 정의된다.
개시된 실시예들은 웹 서비스와 같은 서비스로의 액세스를 제공함으로써 시스템들 및 방법들을 제공한다. 시스템들 및 방법들은 장치 유형들이 서로 다른 인증 기법들을 구현할 때라도, 다수의 서로 다른 장치 유형들이 단일 웹 서비스에 액세스하게 할 수 있다. 예를 들면, 웹 서비스를 제공하는 서버는 몇 개의 장치-유형에 특정한 인증 모듈들을 저장할 수 있다. 한 특정한 장치가 웹 서비스로의 액세스를 요청할 때, 서버는 요청으로부터 장치 유형 식별자를 추출할 수 있다. 이어서, 서버는 요청장치를 인증하기 위한 적합한 인증 모듈을 선택할 수 있다.
개시된 실시예에 따라서, 컴퓨터-구현 방법은 서비스로의 액세스를 제공한다. 방법에 따라, 인증 모듈들은 서비스로의 액세스를 요청하는 장치들을 인증하기 위해 저장된다. 장치들은 적어도 제 1 장치 유형을 갖는 제 1 복수의 장치들 및 제 2 장치 유형을 갖는 제 2 복수의 장치들을 포함한다. 인증 모듈들 중 제 1 모듈은 제 1 장치 유형에 특정한 인증 기법을 사용하여 제 1 복수의 장치들의 인증을 수행하게 구성된다. 인증 모듈들 중 제 2 모듈은 제 2 장치 유형에 특정한 인증 기법을 사용하여 제 2 복수의 장치들의 인증을 수행하게 구성된다. 서버는 서비스에 액세스하기 위한 요청을 수신하며, 요청은 서비스를 요청하는 장치의 장치 유형 식별자를 포함한다. 장치 유형 식별자는 요청으로부터 추출되고, 방법은 장치 유형 식별자가 제 1 장치 유형에 대응하는지 아니면 제 2 장치 유형에 대응하는지를 판정한다. 제 1 인증 모듈은 장치 유형 식별자가 제 1 장치 유형에 대응할 때 선택되고, 제 2 인증 모듈은 장치 유형 식별자가 제 2 장치 유형에 대응할 때 선택된다. 요청은 서비스에 액세스하는 것이 요청장치에 허용되는지 여부를 판정하기 위해 선택된 인증 모듈을 사용하여 인증되고, 그럼으로써 요청장치에 특정한 인증 기법을 사용하여 요청장치의 인증을 수행한다. 선택된 인증 모듈이 요청장치가 서비스에 액세스할 권한이 있는 것으로 판정한다면, 서비스로의 액세스가 제공된다. 선택된 인증 모듈이 요청장치가 서비스에 액세스할 권한이 없는 것으로 판정한다면, 서비스로의 액세스가 금지된다.
또 다른 개시된 실시예에 따라서, 컴퓨터-구현 방법은 서비스로의 액세스를 제공한다. 방법에 따라, 서비스에 액세스하는 요청이 수신되고, 요청은 서비스로의 액세스를 요청하는 장치의 장치 유형 식별자를 포함한다. 장치 유형 식별자는 요청으로부터 추출되고, 요청장치에 대한 대응하는 장치 유형이 판정된다. 인증 모듈은 장치 유형 식별자에 기초하여 복수의 인증 모듈들로부터 선택되고, 선택된 인증 모듈은 요청장치의 장치 유형에 대한 인증 기법을 구현한다. 요청은 서비스에 액세스하는 것이 요청장치에 허용되는지를 판정하기 위해, 선택된 인증 모듈을 사용하여 인증된다. 서비스로의 액세스는 적어도 요청장치가 서비스에 액세스할 권한이 있다는 판정에 기초하여 제공된다.
또 다른 개시된 실시예에 따라서, 서버는 서비스로의 액세스를 제공한다. 서버는 프로그램 명령들을 실행하기 위한 프로세서, 및 프로그램 명령들을 저장하는 컴퓨터-판독가능 매체를 포함한다. 프로그램 명령들은, 프로세서에 의해 실행되었을 때, 서비스에 액세스하는 요청을 수신하는 프로세스를 수행한다. 요청은 서비스로의 액세스를 요청하는 장치의 장치 유형 식별자를 포함한다. 프로그램 명령들은 요청으로부터 장치 유형 식별자를 추출하고 요청장치에 대한 대응하는 장치 유형을 판정한다. 프로그램 명령들은 장치 유형 식별자에 기초하여 복수의 인증 모듈들로부터 인증 모듈을 선택하고, 선택된 인증 모듈은 요청장치의 장치 유형에 대해 인증 기법을 이행한다. 프로그램 명령들은 서비스에 액세스하는 것이 요청장치에 허용되는지를 판정하기 위해 선택된 인증 모듈을 사용하여 요청을 인증하고, 적어도 요청장치가 서비스에 액세스할 권한이 있다는 판정에 기초하여 서비스로의 액세스를 제공한다.
도 1은 개시된 실시예들에 따라서, 서비스로의 액세스를 제공하기 위한 시스템(100)의 예이다. 시스템(100)은 하나 이상의 클라이언트 장치들이 서버 상에서 실행되는 서비스(예를 들면, 웹 서비스)에 액세스하는 기능을 제공할 수 있다. 시스템(100)에 도시된 바와 같이, 클라이언트들(110, 120, 130), 서버(140), 인증기관(150), 비신뢰 클라이언트 장치(170), 신뢰 파트너 서버(180), 및 기존 장치(190)가 네트워크(160)에 연결된다. 당업자는 특정 수의 성분들이 도 1에 도시되었을지라도, 임의의 수의 이들 성분이 제공될 수 있음을 알 것이다. 또한, 당업자는 시스템(100)의 하나 이상의 성분들에 의해 제공되는 기능들이 한 성분으로 결합되거나 복수의 성분들에 걸쳐 분산될 수 있음을 알 것이다. 예를 들면, 서버(140)는 몇 개의 백업 서버들뿐만 아니라 몇몇 주 서버들을 포함하는 서버 팜(farm)을 사용하여 구현될 수도 있다. 또한, 서버(140)는 여기에서 논의되는 여러 처리 단계들을 복수의 서버들에 걸쳐 분산시킴으로써 구현될 수 있다. 네트워크(160)는 클라이언트 장치들(110, 120, 130), 서버(140), 인증기관(150), 비신뢰 클라이언트 장치(170), 신뢰 파트너 서버(180), 및 기존 장치(190)와 같은 시스템(100) 내 다양한 성분들 간에 통신들을 제공한다. 네트워크(160)는 공유, 또는 공개, 또는 비밀 네트워크일 수 있고, 광역 또는 근거리를 포함할 수도 있고, 유선 및/또는 무선 통신 네트워크들의 임의의 적합한 조합을 통해 구현될 수도 있다. 또한, 네트워크(160)는 인트라넷 또는 인터넷을 포함할 수 있다.
서버(140)는 컴퓨터 프로그램에 의해 선택적으로 활성화 또는 재구성될 수 있는 하나 이상의 프로세서들(145)을 구비한 범용 컴퓨터(예를 들면, 개인용 컴퓨터, 네트워크 컴퓨터, 서버, 또는 메인프레임 컴퓨터)를 포함할 수 있다. 프로세서(145)는 메모리(146)로부터 처리 명령들을 읽고 명령들을 실행함으로써 개시된 실시예들과 일관된 단계들 또는 방법들을 수행할 수 있다. 특히, 웹 서비스(141) 및 웹 서비스(142)는 프로세서(145)에 의해 실행하기에 적합한, 메모리(146)에 저장된 명령들로서 구현될 수 있다. 메모리(146)는 소프트웨어뿐만 아니라 데이터를 저장하는 하나 이상의 메모리 또는 저장장치들일 수 있다. 또한, 메모리(146)는 예를 들면, RAM, ROM, 자기 저장장치, 또는 광학 저장장치 중 하나 이상을 포함할 수 있다. 또한, 메모리(146)는 프로세서(140)에 의해 실행되었을 때 아래에서 논의된 하나 이상의 단계들을 수행하는 프로그램 모듈들을 저장할 수 있다.
다른 실시예들에서, 서버(140)는 개시된 실시예들에 일관된 방법들을 수행하기 위해 특별하게 구성될 수 있다. 예를 들면, 여기에 개시된 처리 단계들 중 하나 이상은 필드-프로그래머블 게이트 어레이("FPGA"), 주문형 반도체("ASIC") 또는 적합한 칩셋에 구현될 수 있다. 여기에서 논의되는 암호화 및 해독 단계들은 이러한 하드웨어 장치들 상에 구현하기에 특히 적합할 수 있다. 서버(140)는 웹 서비스(141) 및 웹 서비스(142)와 같은 여러 서비스들에의 액세스를 제공할 수 있다. 또한, 서버(140)는 클라이언트 장치들(110, 120, 130), 및/또는 이러한 클라이언트 장치들을 운영하는 사용자들을 인증하기 위한 기능을 제공할 수 있다. 예를 들면, 네트워크(150)를 통해 오디오/비주얼 또는 소프트웨어 콘텐츠를 제공하는 엔티티는 웹 서비스들(141, 142)을 사용하여 이러한 콘텐츠를 제공할 수 있다.
클라이언트 장치들(110, 120, 130)은 서로 다른 통신 프로토콜들 또는 데이터 포맷들을 사용할 수 있기 때문에, 서버(140)는 개시된 바 전체를 참조로서 본원에 분명하게 포함시키는 2008년 6월 30일에 출원된 "Client-to-Service Compatibility Framework" 명칭의 미국특허출원번호 12/165,188에 상세히 논의된 장치 호환성 층(143)을 포함할 수 있다. 예를 들면, 장치 호환성 층(143)은 클라이언트 장치들(110, 120, 130)로부터 통신들을 웹 서비스들(141, 142)에 호환될 수 있는 형태로 전환할 수 있다. 또한, 서버(140)는 이하 상세히 논의되는 바와 같이, 웹 장치들(110, 120, 130)을 인증하기 위한 장치 인증 층(144)을 포함할 수 있다.
인증기관(150)은 컴퓨터 프로그램에 의해 선택적으로 활성화 또는 재구성될 수 있는 하나 이상의 프로세서들(도시되지 않음)을 구비한 범용 컴퓨터(예를 들면, 개인용 컴퓨터, 네트워크 컴퓨터, 서버, 또는 메인프레임 컴퓨터)를 포함할 수 있다. 또한, 인증기관(150)은 네트워크(160)를 통해 클라이언트 장치들(110, 120, 130)뿐만 아니라 서버(140)와 통신할 수 있다. 인증기관(150)은 서버(140)에 관련하여 위에 논의한 바와 유사한 방식으로, 서버 팜들, 분산기술들, 및 소프트웨어와 하드웨어와의 다양한 조합을 사용하여 구현될 수 있다. 인증기관(150)은 이하 상세히 논하는 바와 같이 디지털 인증서들과 함께 포함되는 디지털 서명들을 생성하기 위한 암호화기(151)를 포함할 수 있다.
클라이언트 장치들(110, 120, 130)은 서버(140) 및 인증기관(150)과 통신하기 위한 임의의 유형의 장치일 수 있다. 예를 들면, 클라이언트 장치들(110, 120, 130)은 개인용 컴퓨터들, 휴대 장치들(예를 들면, PDA들, 스마트폰과 같은 셀룰라 전화들, 등), 텔레비전들, 디지털 음악 플레이어들, 셋탑박스들, 디지털 비디오 레코더들(DVRs), 또는 게임 콘솔들, 또는 그외 임의의 적합한 계산 플랫폼 또는 네트워크(160)와 데이터를 교환할 수 있는 장치일 수 있다. 클라이언트 장치들(110, 120, 130)은 각각이 예를 들면, 하나 이상의 프로세서들 및 하나 이상의 메모리들(도시되지 않음)을 포함할 수 있다. 사용자들은 웹 브라우저와 같은 클라이언트 장치들(111, 121, 131) 상에 구현된 적합한 애플리케이션 로직에 의해 네트워크(160)를 통해 서버(140) 상에 웹 서비스들(141, 142)에 액세스할 수 있다. 예를 들면, 서버(140)는 클라이언트 장치들(111, 121, 131) 상에 애플리케이션 로직에 의해 처리되어 사용자에게 표시되는 문서(예를 들면, 웹 페이지)를 전송할 수 있다. 문서는 웹 서비스(141) 및 웹 서비스(142)와 같은 서버(140)에 의해 제공되는 하나 이상의 보안 서비스들에 사용자가 로그인하기 위한 선택들을 포함할 수 있다. 예를 들면, 사용자들은 사용자명(예를 들면, 이메일 어드레스) 및 패스워드와 같은 크레덴셜들을 공급함으로써 클라이언트 장치들(110, 120, 130)에서 사용하기 위한 디지털 콘텐츠에 액세스하기 위해 웹 서비스(141, 142)에 로그인할 수 있다.
비신뢰 클라이언트 장치(170)는 위에 논의된 바와 같이 클라이언트 장치들(110, 120, 130)과 유사할 수 있다. 그러나, 비신뢰 클라이언트 장치(170)는 서버(140) 상에서 사용될 수 있는 인증 메커니즘들을 지원하지 않는 장치 유형을 가질 수 있다. 신뢰 파트너 서버(180)는 위에 논의된 바와 같이, 서버(140)와 유사할 수 있다. 신뢰 파트너 서버(180)는 웹 서비스들(141, 142)과 유사할 수 있는 웹 서비스(181)에의 액세스를 제공할 수 있다. 비신뢰 클라이언트 장치(170)는 웹 서비스들(141, 142)에 액세스하기 위해 신뢰 파트너 서버(180)와 통신할 수 있다. 예를 들면, 비신뢰 클라이언트 장치(170)는 신뢰 파트너 서버(180)에 인증할 수 있고, 신뢰 파트너 서버(180)는 비신뢰 클라이언트 장치(170)에 보안 토큰을 제공할 수 있다. 그러면, 비신뢰 클라이언트 장치(170)는 보안 토큰을 사용하여 웹 서비스(141)에 액세스할 수 있다.
서버(140)는 웹 서비스들(141, 142)에 액세스하기 위해 클라이언트 장치들(110 ~ 130), 비신뢰 클라이언트 장치(170), 및 기존 장치(190)로부터 요청들을 수신할 수 있다. 이어서, 서버(140)는 각 요청을 인증하기 위해 적합한 인증 모듈을 선택할 수 있다. 선택된 인증 모듈은 요청을 발행하였던 장치에 종속될 수 있다. 이렇게 하여, 서버(140)는 선택된 인증 모듈들을 통해 장치-유형에 특정한 인증 기법들을 제공할 수 있다.
도 2는 개시된 실시예들에 따라서 서버(140)의 구조의 예를 도시한 것이다. 위에 논의된 바와 같이, 서버(140)는 클라이언트 장치들(110, 120, 130)로부터 통신들을 웹 서비스들(141, 142)에 호환되는 형태로 전환하기 위한 장치 호환성 층(143)을 포함할 수 있다. 또한, 서버(140)는 인증 모듈들(221 ~ 225)을 사용하여 클라이언트 장치들(110, 120, 130)을 인증하기 위한 장치 인증 층(144)을 포함할 수 있다. 또한, 서버(140)는 인증 필터(226) 및 모듈 선택기(227)를 포함할 수 있는데, 이들은 함께, 이하 상세히 논하는 바와 같이 클라이언트 장치들(110, 120, 130)로부터 요청들을 인증 모듈들(221 ~ 225) 중 적합한 모듈에 보내게 기능한다.
클라이언트 요청들이 인증 모듈들(221 ~ 225) 중 하나에 의해 인증된 후에, 요청들은 웹 서비스(141) 또는 웹 서비스(142)와 같은 적합한 서비스에 전달된다. 대안적으로, 요청들이 인증되지 않는다면, 적합한 인증 모듈은 요청을 서비스에 보내지 않을 수 있다. 웹 서비스(141)는 "디폴트" 또는 "표준" 웹 서비스일 수 있고, 인증 후 이에 대부분의 요청들이 보내진다. 웹 서비스(142)는 내장 인증 메커니즘을 가진 기존 웹 서비스일 수 있으며 기존 장치(190)와 같은 특정 기존 장치 유형에 특정할 수 있다. 이하 논의되는 바와 같이, 인증 모듈들(221 ~ 225)이 클라이언트 장치들(110, 120, 130)로부터 여러 요청들을 인증하기 때문에, 인증된 요청들은 적합한 웹 서비스에 전달된다. 도 2가 어떤 수 및 배열들의 성분들을 예시할지라도, 임의의 수 또는 배열의 인증 모듈들 또는 다른 성분들이 서버(140)에서 사용될 수 있다.
도 3은 개시된 실시예들에 따라서 인증 모듈(221)의 구조의 예시적 블록도를 도시한 것이다. 인증 모듈(221)은 다수의 서로 다른 장치 유형들에 의해 지원되는 인증 기법을 구현할 수 있다. 예를 들면, 다음 논의의 목적을 위해서, 클라이언트 장치들(110, 130)은 2개의 서로 다른 장치 유형들을 가진다. 클라이언트 장치들(110, 130) 둘 다는 SSL(Secure Sockets Layer), 즉 네트워크에 걸쳐 보안 통신들을 할 수 있게 하는 보안 프로토콜을 이행할 수 있다. 인증 모듈(221)은 클라이언트 장치들(110, 130)과 보안이 되게 통신하고 이들을 인증하기 위해 서버(140) 상에서 SSL을 이행할 수 있다. 일부 실시예들에서, 인증 모듈(221)은 SSL의 업그레이드된 버전인 TLS(Transport Layer Security) 프로토콜을 구현할 수도 있다.
SSL/TSL 처리를 구현하기 위해서, 인증 모듈(221)은 서버 인증서(301)를 저장할 수 있다. 서버 인증서(301)는 이하 상세히 논하는 바와 같이 하나 이상의 클라이언트 장치들에 서버(140)를 인증하기 위해 사용될 수 있다. 또한, 인증 모듈(221)은 하나 이상의 클라이언트 장치들과의 특정 SSL/TSL 세션 동안 통신들을 암호화하기 위한 세션 키(302)를 저장할 수 있다. 서버(140)는 디지털 서명들을 생성하기 위해 암호화기(303)를 사용할 수 있고, 서버(140)는 이하 상세히 논하는 바와 같이 디지털 서명들을 검증하기 위해 해독기(304)를 사용할 수 있다. 이들 SSL/TSL 세션들은 웹 서비스(141)로부터 전자 콘텐츠를 다운로드하기 위해 클라이언트 장치들에 의해 사용될 수 있다.
도 4는 개시된 실시예들에 따라서 인증 모듈(222)의 구조의 예시적 블록도를 도시한 것이다. 인증 모듈(222)은 특정 장치 제조업자에 연관된 하나 이상의 장치 유형들에 의해 지원되는 전속 인증 기법을 구현할 수 있다. 또한, 클라이언트 장치(120)는 전속 인증 기법을 사용하는 장치일 수 있다.
인증 모듈(222)은 인증장치(120)와 보안이 되게 통신하고 이를 인증하기 위해 서버(140) 상에 전속 인증 기법을 구현할 수 있다. 일부 실시예들에서, 인증 모듈(222)은 전속 인증 기법에 연관된 장치 제조업자에 의해 제공된다. 인증 모듈(222)은 클라이언트 장치(120)에도 저장되는 공유된 비밀(401)을 저장할 수 있다. 또한, 인증 모듈(222)은 서명 검증기(402)를 포함할 수 있고, 이것은 클라이언트 장치(120)에 의해 보내지는 웹 서비스들에 액세스하기 위해 요청들의 서명들을 검증하기 위해 사용된다. 인증 모듈들(223, 224, 225)은 여러 다른 인증 기법들을 구현할 수 있다. 예를 들면, 인증 모듈(223)은 단순히 인증없이 데이터가 통과되게 하는 "노-옵(no-op)" 모듈일 수 있다. 인증 모듈(223)은 웹 서비스(142)에 액세스하기 위한 것뿐만 아니라, 개발목적을 위해 사용될 수 있다. 요청을 인증함이 없이 요청이 인증 모듈(223)을 통과하게 하는 것은 웹 서비스(142)가 내부 인증 기법을 갖고 있기 때문에 보안을 위태롭게 하지 않는다.
인증 모듈(224)은 비신뢰 클라이언트 장치(170)가 웹 서비스(141)에 액세스할 수 있게 하는 "세션 인증" 기법을 구현할 수 있다. 이와 같이 하기 위해서, 비신뢰 클라이언트 장치(170)는 신뢰 파트너 서버(180)와 공조할 수 있다. 신뢰 파트너 서버(180)는 인증 모듈(221)을 사용하여 웹 서비스(141)에 액세스하여, 서버(140)로부터 보안 토큰을 획득할 수 있다. 서버(140)는 보안 토큰을 생성하기 위해 사용되는 비밀 암호화 키를 저장할 수 있다. 대안적으로, 신뢰 파트너 서버(180)는 암호화 키의 카피를 저장할 수도 있다. 이러한 실시예들에서, 신뢰 파트너 서버(180)는 보안 토큰을 생성할 수 있다. 어느 경우에서든, 보안 토큰은 비신뢰 클라이언트 장치(170)의 식별자와 같은 암호화된 데이터를 포함할 수 있다. 일단 신뢰 파트너 서버(180)가 보안 토큰을 생성하였거나 서버(140)로부터 보안 토큰을 얻었으면, 신뢰 파트너 서버(180)는 보안 토큰을 비신뢰 클라이언트 장치(170)에 제공할 수 있다. 비신뢰 클라이언트 장치(170)는 웹 서비스(141)에 대한 요청과 함께 토큰을 서버(140)에 보낼 수 있고, 인증 모듈(225)은 토큰을 유효화함으로써 요청을 인증할 수 있다. 예를 들면, 인증 모듈(225)은 암호화 키로 토큰을 해독하고, 비신뢰 클라이언트 장치(170)의 식별자를 검증함으로써 보안 토큰을 인증할 수 있다.
일부 실시예들에서, 보안 토큰은 비대칭 키 쌍으로부터 비밀키(private key)를 사용하여 서버(140) 또는 신뢰 파트너 서버(180)에 의해 생성된다. 이러한 실시예들에서, 보안 토큰이 진본인지 판정하기 위해서 보안 토큰을 해독하기 위해 대응하는 공개키가 사용된다. 인증 모듈(225)은 등록된 IP 어드레스들의 목록을 저장하는 IP 화이트 리스트 인증 기법을 구현할 수 있다. 인증 모듈(225)은 등록된 IP 어드레스들로부터 요청들만이 웹 서비스(141)를 통과하게 한다. 이렇게 하기 위해서, 인증 모듈(225)은 요청에 연관된 IP 어드레스를 판정하고, IP 어드레스를 허용가능한 IP 어드레스들의 화이트 리스트와 비교하고, 요청에 연관된 IP 어드레스가 화이트 리스트 상에 있다면 웹 서비스(141)에의 액세스를 제공한다.
인증 모듈(225)은 웹 서비스(141)에 액세스하기 위해 새로운 장치 유형들을 통합할 때 특히 유용할 수 있다. 예를 들면, 새로운 장치 유형은 궁극적으로는 인증 모듈(221)의 인증 기법이 지원되게 하려는 것이다. 그러나, 웹 서비스(141)에 액세스하기 위해 새로운 장치 유형을 개발 및 통합할 때, 인증 모듈(221)을 사용하는 것을 먼저 행하는 것이 더 효율적일 수 있다. 웹 서비스(141)를 요청할 수 있는 장치들을 제한시키기 위해 IP 화이트 리스트를 사용함으로써, 장치 통합은 더 신속하게 진행될 수 있다. 장치 통합 프로세스 동안, 새로운 장치 유형은 일단 코어 기능이 테스트되었으면 인증 모듈(221)을 사용하게 전환될 수 있다.
도 5는 개시된 실시예들에 따라서 서비스로의 액세스를 제공하기 위한 루틴(500)의 예의 흐름도이다. 루틴(500)은 메모리(146)에 저장된 프로그램 모듈들 중 하나 이상에 따라 프로세스들을 이행할 수 있다.
루틴(500)의 시작에서, 블록(501)에서, 서버(140)는 비신뢰 클라이언트 장치(170)뿐만 아니라, 클라이언트 장치들(110, 120, 130)을 인증하기 위해 인증 모듈들(221 ~ 225)을 저장할 수 있다. 위에 논의된 바와 같이, 클라이언트 장치들(110, 120, 130)은 서로 다른 인증 기법들을 사용하는 여러 장치 유형들에 대한 것일 수 있다. 일부 실시예들에서, 인증 모듈들(221 ~ 225)은 각각이 공통 인터페이스를 구현하는 하나 이상의 클래스들을 포함할 수 있다. 당업자들에게 이해되는 바와 같이, 인터페이스는 인터페이스를 구현하는 각 클래스가 지원해야 하는 한 세트의 방법들을 정의할 수 있다. 이에 따라, 인증 모듈들(221 ~ 225) 각각은 인터페이스에 의해 정의된 공통의 한 세트의 인증 방법들을 지원하는 한 클래스를 포함할 수 있다.
블록(502)에서, 서버(140)는 위에서 논한 특정한 인증 기법들을 구현하게 인증 모듈들(221 ~ 225)을 구성할 수 있다. 예를 들면, 관리자는 클라이언트 장치들(110, 130)에 의해 지원되는 SSL 프로토콜을 구현하게 애플리케이션 모듈(221)을 구성하기 위해서 서버(140)와 상호작용할 수 있다. 또한, 관리자는 클라이언트 장치(120)에 의해 지원되는 전유 프로토콜을 구현하게 애플리케이션 모듈(222)을 구성할 수도 있다. 마찬가지로, 관리자는 위에 논의된 노-옵, 화이트 리스트, 및 세션 인증 기법들을 구현하게 애플리케이션 모듈들(223, 224, 225)을 구성할 수도 있다.
서버(140) 상에 외부 애플리케이션 소프트웨어, 예를 들면, 웹 서비스들(141, 142), 장치 호환성 층(210), 인증 필터(226), 및 모듈 선택기(227)의 견지에서, 공통 인터페이스에 의해 정의된 방법들 중 하나 이상을 사용하는 인증 기법들이 수행될 수 있다. 따라서, 기반 인증 기법들의 상세는 인터페이스를 사용하여 추출될 수 있고, 외부 소프트웨어는 적합한 인증 모듈을 사용하여 공통 방법들을 수행할 수 있다.
다음에, 블록(503)에서, 서버(140)는 웹 서비스(141) 또는 웹 서비스(142)에 액세스하기 위한 요청을 수신할 수 있다. 위에 논의된 바와 같이, 웹 서비스(141)는 디폴트 웹 서비스일 수 있고, 웹 서비스(142)는 전형적으로 어떤 기존 장치 유형들에 의해 액세스된 웹 서비스일 수 있다. 이하 상세히 논하는 바와 같이, 서버(140)는 요청들이 웹 서비스들(141, 142)에 도달할 수 있게 하기 전에, 요청들을 인증하기 위해 요청들을 적합한 인증 모듈들에 보낼 수 있다.
다음에, 블록(504)에서, 인증 필터(226)는 어느 유형의 장치가 웹 서비스(141)를 요청하고 있는지를 판정하기 위해 요청으로부터 장치 유형 식별자를 추출할 수 있다. 일부 실시예들에서, 인증 필터(226)는 장치 유형 식별자에 대한 요청에서 요청 헤더 또는 파라미터 목록을 탐색하는 J2EE 필터이다. 일부 실시예들에서, 장치 유형을 판정하기 위해서, 이를테면 장치 일련번호 또는 MAC ID를 대응하는 장치 유형들을 저장한 테이블에 매핑시키는 것과 같은 다른 메커니즘들이 사용될 수도 있다. 블록(S505)에서, 장치 인증 필터(226)는 추출된 장치 유형 식별자를 모듈 선택기(227)에 제공할 수 있다. 모듈 선택기(227)는 추출된 장치 유형 식별자에 기초하여, 요청을 인증하기 위해 적합한 인증기 모듈(221 ~ 225)을 결정할 수 있다. 일부 실시예들에서, 모듈 선택기(227)는 각각이 인증 모듈들(221 ~ 225) 중 한 특정한 모듈에 매핑되는 장치 유형 식별자들의 테이블로 구성되는 자바 빈(java bean)이다.
다음에, 판단 블록(506)에서, 블록(505)에서 선택되었던 인증 모듈은 요청을 인증할지를 판정할 수 있다. 이하 상세히 논하는 바와 같이, 인증 모듈들(221 ~ 225)은 각각이 요청들을 인증하기 위한 서로 다른 인증 기법들을 구현할 수 있다. 그러나, 판단 블록(506)에서 어느 인증 모듈이 요청을 인증하는지에 관계없이, 선택된 인증 모듈에 의해 이행된 것들 외에 추가의 보안 기술들이 적용될 수 있다. 예를 들면, 클라이언트 장치들의 사용자들은 선택된 인증 모듈에 의해 요구되는 인증 외에, 사용자명 및 패스워드를 제공함으로써 인증될 수도 있다. 또한, 일부 실시예들에서, 복수의 인증 모듈들은 총괄적으로 어떤 요청들을 인증할 수 있다.
도 5에 도시된 바와 같이, 선택된 인증 모듈(들)이 요청을 인증한다면, 루틴(500)은 블록(507)으로 이동한다. 블록(507)에서, 서버(140)는 요청된 서비스, 예를 들면, 웹 서비스(141/142)에의 액세스를 제공한다. 따라서, 요청장치는 웹 서비스(141/142)로부터 가용한 전자 콘텐츠에 액세스할 수 있다. 그러나, 선택된 인증 모듈(들)이 요청을 인증하지 않는다면, 루틴(500)은 블록(508)으로 이동하고, 서버(140)는 요청된 웹 서비스(141/142)에 액세스하지 못하게 한다. 일부 실시예들에서, 요청장치는 인증하기 위한 무제한 회수의 시도들이 허용될 수 있다. 다른 실시예들에서, 요청장치로부터 후속 요청들은 어떤 회수의 시도들 후엔 차단될 수도 있다.
위에서 논의된 바와 같이, 루틴(500)의 블록(505)에서, 서버(140)는 장치로부터 수신된 요청을 인증하기 위해 인증 모듈을 선택할 수 있다. 요청을 보내는 장치의 장치 유형에 따라, 블록(505)에서, 서로 다른 인증 모듈들이 선택된다. 예를 들면, 인증 모듈들(221 ~ 225) 중 어느 하나가 선택될 수 있다. 다음 논의는 인증 모듈들(221 ~ 225) 중 하나를 선택하기 위한 처리를 개괄한 것이다.
인증 모듈(221)은 클라이언트 장치(110) 및 클라이언트 장치(130) 둘 다를 인증하기 위해 사용될 수 있다. 클라이언트 장치들(110, 130)은 둘 다가 인증 모듈(221)에 매핑되는 서로 다른 장치 유형들을 가질 수 있다. 클라이언트 장치(110) 또는 클라이언트 장치(130) 중 어느 하나가 웹 서비스(141)에 대한 요청을 보낼 때, 모듈 선택기(227)는 인증 모듈(221)을 선택한다. 그러면, 인증 모듈(221)은 도 6에 관련하여 이하 상세히 나타내는 바와 같이, SSL을 사용하여 요청을 인증할 수 있다. 클라이언트 장치들(110, 130)이 서로 다른 장치 유형 식별자들을 사용하는 서로 다른 유형들의 장치들일 수 있을지라도, 두 장치 유형들은 인증 모듈(221)에 매핑될 수 있다.
인증 모듈(222)은 클라이언트 장치(120)와 같은 장치 유형들을 인증하기 위해 사용될 수 있다. 따라서, 클라이언트 장치(120)에 대해 추출된 장치 유형 식별자에 기초하여, 모듈 선택기(227)는 인증 모듈(222)을 선택할 수 있다. 위에 논의된 바와 같이, 인증 모듈(222)은 클라이언트 장치(120)와 같은 어떤 장치 유형들의 제조업자에 의해 지원되는 전속 인증 기법을 구현한다. 인증 모듈(222)은 도 7에 관련하여 이하 상세히 논하는 바와 같이 전속 인증 기법을 사용하여 요청을 인증할 수 있다. 인증 모듈(223)은 기존 장치(190)와 같은 기존 장치 유형들을 인증하기 위해 사용될 수 있다. 논의된 바와 같이, 기존 장치(190)는 웹 서비스(142), 즉 내장 인증 기법을 가진 기존 웹 서비스를 사용한다. 기존 장치(190)로부터 요청들에서 추출된 장치 유형 식별자에 기초하여, 모듈 선택기(227)는 인증 모듈(223)을 선택할 수 있다. 논의된 바와 같이, 인증 모듈(223)은 요청들이 인증 모듈(223)을 통해 웹 서비스(142)에 직접 전달하는 것이 허용되기 때문에, 노-옵 인증 기법을 구현할 수 있다. 그러나, 보안은 웹 서비스(142)가 요청을 인증하기 위한 내장된 기존 인증 메커니즘들을 구현하기 때문에 유지될 수 있다. 일부 실시예들에서, 웹 서비스(142)를 위한 요청들은 웹 서비스(141)을 액세스하기 위해 요청들로부터 구별되는 URL에 액세스될 수 있다.
인증 모듈(224)은 비신뢰 클라이언트 장치(170)와 같은 장치들을 인증하기 위해 사용될 수 있다. 비신뢰 클라이언트 장치(170)는 모듈 선택기(227)에 의해 인식되지 않는 장치 유형 식별자를 사용할 수 있다. 장치 유형 식별자가 신뢰 장치로부터 온 것이 아닐 때, 모듈 선택기(227)는 신뢰 파트너 서버(180)를 통해 요청을 인증하기 위해 인증 모듈(224)을 선택할 수 있다. 이와 같이 하기 위해서, 비신뢰 클라이언트 장치(170)는 요청과 함께 신뢰 파트너 서버(180)의 식별자를 포함할 수 있다. 인증 모듈(224)은 보안 토큰을 생성하고, 보안 토큰을 신뢰 파트너 서버(180)에 송신할 수 있다. 대안적으로, 신뢰 파트너 서버(180)는 보안 토큰을 생성할 수 있다. 보안 토큰은 비신뢰 클라이언트 장치(170)의 식별자와 같은 데이터를 암호화 키로 암호화함으로써 생성될 수 있다.
비신뢰 클라이언트 장치(170)는 서버(140)에 직접 인증하기보다는 신뢰 파트너 서버(180)에 인증하기 위한 단계들을 취할 수 있다. 예를 들면, 비신뢰 클라이언트 장치(170)는 사용자명 및 패스워드를 사용하여 신뢰 파트너 서버(180)에 인증할 수 있다. 일단 신뢰 파트너 서버(180) 가 요청을 인증하였으면, 신뢰 파트너 서버(180)는 보안 토큰을 비신뢰 클라이언트 장치(170)에 송신할 수 있다.
비신뢰 클라이언트 장치(170)는 서버(140)와의 후속 통신들에서 보안 토큰을 포함함으로써 웹 서비스(141)에 액세스할 수 있다. 예를 들면, 인증 모듈(224)은 보안 토큰을 암호화 키로 해독함으로써 보안 토큰을 인증할 수 있다. 일부 실시예들에서, 보안 토큰은 기설정된 기간 후에 만기될 수 있다. 서버(140)는 만기된 토큰들을 사용한 웹 서비스(141)에의 액세스를 허용하지 않을 수 있다.
인증 모듈(225)은 IP 화이트 리스트 인증 기법을 구현할 수도 있다. 이 기술은 클라이언트 장치들에 의한 임의의 대응하는 지원없이 혹은 클라이언트 장치들에 대한 수정없이 쉽게 구현될 수 있기 때문에, 인증 모듈(225)은 사실상 웹 서비스(141 또는 142)에 대한 어떠한 요청에 대해서든 사용될 수 있다. 예를 들면, 인증 모듈(225)은 클라이언트 장치들(110, 130)로부터의 어떠한 요청이든 인증하기 위해 사용될 수 있다. 이러한 실시예들에서, 인증 모듈(225)은 요청을 보냈던 장치의 IP 어드레스를 체크할 수도 있다. IP 어드레스가 화이트 리스트 상에 있다면, 인증 모듈(225)은 후속 처리를 위해 인증 모듈(221)에 요청을 제공할 수도 있을 것이다. 인증 모듈(225)은 유사한 방식으로 인증 모듈들(222, 223, 224)에 관련하여 사용될 수 있다. 또한, 위에 논의된 바와 같이, 일부 실시예들에서, 인증 모듈(225)은 요청들의 독립형 인증을 위해 사용될 수 있다. 예를 들면, 인증 모듈(225)은 웹 서비스(141)가 새로운 장치 유형을 지원하기 위해 테스트되고 있을 때 장치 통합 국면 동안 사용될 수 있다.
일부 실시예들에서, 인증 모듈들(221 ~ 225) 중 하나 이상은 요청장치가 인증되지 않을지라도, 웹 서비스(141)에 제한된 액세스를 제공할 수 있다. 예를 들면, 웹 서비스(141)는 복수의 방법들을 제공할 수 있고, 이들 중 일부는 전자 콘텐츠에 액세스하기 위해 사용되며, 이외 다른 것들은 웹 서비스(141)의 여러 특징들을 열람하기 위해 사용된다. 이러한 실시예들에서, 인증 모듈들(221 ~ 225) 중 하나 이상은 요청장치가 웹 서비스(141)를 열람하기 위해 사용되는 방법들에 액세스하고 있을 때 웹 서비스(141)에의 액세스를 제공할 수 있으나, 전자 콘텐츠를 다운로드하기 위한 방법들에 요청장치가 액세스할 수 있게 하기 전에 인증을 요구할 수도 있다.
SSL/TSL 인증
위에서 논의된 바와 같이, 인증 모듈(221)은 웹 서비스(141)에 대한 요청들의 인증을 수행하기 위해 SSL 또는 TSL을 사용할 수 있다. 도 6은 루틴(500)의 블록(506)을 구현하기 위해 인증 모듈(221)에 의해 사용되는 예시적인 루틴(600)을 도시한 것이다. 다음 논의는 클라이언트 장치(110)가 웹 서비스(141)에의 액세스를 요청하고 있는 것으로 가정한다. 그러나, 이미 논의된 바와 같이, 클라이언트 장치들(110, 130) 둘 다는 SSL/TSL 인증을 지원할 수 있다. 이하 논의되는 바와 같이, 클라이언트 장치(110) 및 서버(140)는 루틴(600)을 사용하여 서로 인증하는 단계들을 수행할 수 있다.
블록(601)에서, 인증 모듈(221)은 클라이언트 장치(110)로부터 웹 서비스(141)에 대한 요청을 수신할 수 있다. 논의된 바와 같이, 요청은 웹 서비스(141)로부터 가용한 전자 콘텐츠와 같은 임의의 유형의 보안 데이터에 액세스하는 것일 수 있다. 또한, 논의된 바와 같이, 요청은 모듈 선택기(227)로부터 인증 모듈(221)에 전달될 수 있다. 다음에, 블록(602)에서, 서버(140) 상에 인증 모듈(221)은 저장된 서버 인증서(301)를 클라이언트 장치(110)에 보낼 수 있다. 서버 인증서(301)는 서버(140)에 대한 식별자, 인증기관(150)의 식별자, 및 서버(140)에 고유한 공개 암호화 키를 포함할 수 있다. 또한, 서버 인증서(301)는 인증기관(150)에 의해 발생된 디지털 서명을 포함할 수 있다.
블록(603)에서 클라이언트 장치(110)가 서버 인증서(301)를 수신한 후에, 클라이언트 장치(110)는 서버 인증서(301)를 사용하여 서버(140)를 인증한다. 예를 들면, 클라이언트 장치(110)는 먼저 서버 인증서(301)가 인증기관(150)에 의해 생성되었음을 확실히 하기 위해 디지털 서명을 검증할 수 있다. 이어서, 클라이언트 장치(110)는 서버 인증서(301)로부터 공개 암호화 키를 추출하고 공개 암호화 키를 사용하여 서버(140)로부터 통신들을 인증할 수 있다. 다음에, 블록(604)에서, 클라이언트 장치(110)는 클라이언트 인증서를 서버(140)에 보낼 수 있다. 클라이언트 인증서는 클라이언트 장치(110)의 식별자, 인증기관(150)의 식별자, 및 클라이언트 장치(110)에 고유한 공개키를 포함할 수 있다. 또한, 클라이언트 인증서는 암호화기(151)를 사용하여 인증기관(150)에 의해 생성되었던 디지털 서명을 포함한다. 예를 들면, 루틴(600)에 앞서, 인증기관(150)은 클라이언트 인증서를 생성하고, 인증서를 클라이언트 장치(110)에 송신하고 클라이언트 인증서를 클라이언트 장치(110) 상에 저장하였을 수도 있다.
다음에, 블록(605)에서, 서버(140)는 클라이언트 인증서를 사용하여 클라이언트 장치(110)를 인증한다. 예를 들면, 서버(140)는 먼저 서버 인증서(301)가 인증기관(150)에 의해 생성되었음을 확실히 하기 위해 클라이언트 인증서 상에 디지털 서명을 검증할 수 있다. 이어서, 서버(140)는 클라이언트 인증서로부터 공개 암호화 키를 추출하고 클라이언트 장치(110)로부터 통신들을 해독기(304)를 사용해 검증하기 위해 공개 암호화 키를 사용할 수 있다. 다음에, 루틴(600)은 블록(608)으로 이동한다. 블록(606)에서, 클라이언트 장치(110) 및 서버(140)는 이들 간에 통신들을 암호화하기 위해 사용되는 비밀키를 수동으로 설정할 수 있다. 이 비밀키는 도 3에서 세션 키(302)로서 도시되었다. 블록(609)에서, 클라이언트 장치(110)는 세션 키(302)에 의해 암호화된 통신들을 사용하여 웹 서비스(141)에 액세스할 수 있다. 일부 실시예들에서, 세션 키(302)는 대칭 암호화 키이며, 이것은 서버(140) 및 클라이언트 장치(110)에 의한 보다 효율적인 암호화 처리를 수행하게 한다.
일부 실시예들에서, 클라이언트 장치(110)는 서버(140)가 통신들에 첨부하는 디지털 서명들을 검증함으로써 블록(603)에서 서버(140)로부터 통신들을 인증할 수 있다. 이러한 실시예들에서, 서버(140)는 루틴(600) 전에 인증기관(150)에 의해 서버(140)에 제공되었던 고유 비밀 암호화 키로 암호화기(303)를 사용하여 디지털 서명들을 발생할 수 있다. 이 고유 비밀키는 서버(140)에 할당된 고유 공개키를 포함하는 비대칭 키 쌍으로부터의 한 키일 수 있다.
유사하게, 일부 실시예들에서, 서버(140)는 클라이언트 장치(110)가 통신들에 첨부하는 디지털 서명들을 검증함으로써 블록(605)에서 클라이언트 장치(110)로부터 통신들을 인증할 수 있다. 이러한 실시예들에서, 클라이언트 장치(110)는 루틴(600) 전에 인증기관(150)에 의해 클라이언트 장치(110)에 제공된 고유 비밀 암호화 키를 사용하여 디지털 서명들을 발생할 수 있다. 이 고유 비밀키는 클라이언트 장치(110)에 할당된 고유 공개키를 포함하는 비대칭 키 쌍으로부터의 한 키일 수 있다.
다른 실시예들에서, 인증 모듈(221)은 루틴(600)의 모든 블록들을 수행하지 않을 수도 있다. 예를 들면, 별도의 부하-균형 모듈(도시되지 않음)이 서버(140) 상에 제공될 수 있다. 부하-균형 모듈은 복수의 서버들에 걸쳐 작업부하들을 분산시키기 위한 것으로, SSL/TSL 처리를 구현할 수도 있다. 이러한 실시예들에서, 부하-균형 모듈은 루틴(600)을 구현하며, 클라이언트 인증서가 블록(605)에서 유효한 것으로 판정되었는지를 나타내는 결과를 인증 모듈(221)에 제공한다. 그러하다면, 인증 모듈(221)은 웹 서비스(141)에의 액세스를 허용한다. 그렇지 않다면, 인증 모듈(221)은 웹 서비스(141)에 액세스하지 못하게 한다.
전속 인증
위에 논의된 바와 같이, 클라이언트 장치(120)는 전속 인증 기법을 지원할 수 있고, 인증 모듈(222)은 서버(140) 상에 전속 인증 기법을 구현할 수 있다. 도 7은 이러한 인증 기법을 구현하기 위한 루틴(700)의 예의 흐름도이다. 루틴(700)은 메모리(146)에 저장된 프로그램 모듈들 중 하나 이상에 따라 프로세스들을 구현할 수 있다.
블록(701)에서, 공유된 비밀은 클라이언트 장치(120)에 저장될 수 있다. 일부 실시예들에서, 공유된 비밀(401)은 대칭 암호화 키이다. 대안적으로, 비대칭 키 쌍은 공유된 비밀(401)에 대해 사용될 수 있다. 공유된 비밀(401)이 비대칭 키 쌍인 실시예들에서, 클라이언트 장치(120)는 쌍으로부터 키들 중 하나를 저장할 수 있고, 인증 모듈(222)은 쌍으로부터 다른 키를 저장할 수 있다.
블록(702)에서, 공유된 비밀(401)은 공유된 비밀(401)로서 도 4에 도시된 인증 모듈(222)에 저장된다. 이것은 클라이언트 장치(120)의 제조업자와 웹 서비스(141)의 운영자 간에 어떤 공조를 요구할 수 있다. 예를 들면, 제조업자는 조작불가 메모리에 공유된 비밀을 클라이언트 장치(120)에 내장시키고, 보안 채널들을 통해 공유된 비밀(401)을 웹 서비스(141)의 운영자에게 제공할 수 있다.
블록(703)에서, 클라이언트 장치(120)는 웹 서비스(141)에 대한 요청을 준비할 수 있다. 요청은 웹 서비스(141)로부터 요청된 특정 전자 콘텐츠를 확인하는 데이터의 비-암호화된 블록일 수 있다. 또한, 요청은 정보를 인증 모듈(222)에 클라이언트 장치(120)를 확인시키는 정보를 포함할 수 있다.
다음에, 블록(704)에서, 클라이언트 장치(120)는 공유된 비밀(401)을 사용하여 웹 서비스(121)에 대한 요청을 서명할 수 있다. 예를 들면, 클라이언트 장치(120)는 요청 플러스 공유된 비밀(401)의 함수로서 해시를 계산할 수 있다. 클라이언트 장치(120)는 해시를 서명으로서 요청에 첨부할 수 있다. 일부 실시예들에서, 클라이언트 장치(120)는 서명된 요청을 암호화할 수도 있다. 블록(705)에서, 클라이언트 장치(120)는 서명된 요청을 서버(140)에 보낼 수 있다. 다음에, 블록(706)에서, 인증 모듈(222)은 서명 검증기(402)를 사용하여 요청에 대해 서명을 검증할 수 있다. 예를 들면, 서명 검증기(402)는 요청 플러스 공유된 비밀의 함수로서 해시를 계산하고 해시 값을 첨부된 서명과 비교할 수 있다. 값들이 일치한다면, 인증 모듈(222)은 요청이 온전한 것으로 간주하는데, 예를 들면, 어떠한 공격자가 요청을 조작하지 않았다. 블록(707)에서, 클라이언트 장치(120)는 요청에 대한 서명이 검증된다면 웹 서비스(141)에 액세스하는 것이 허용된다. 그렇지 않다면, 블록(708)에서, 웹 서비스(141)에 액세스는 금지된다.
당업자가 알게 되는 바와 같이, 블록들(501 ~ 508, 601 ~ 609, 701 ~ 708) 중 하나 이상은 선택적일 수 있고 어떤 실시예들에서 구현으로부터 생략될 수 있다. 또한, 일부 구현들에서, 블록들(501 ~ 508, 601 ~ 607, 701 ~ 708)은 재배열되고, 대체 단계들을 포함하고, 및/또는 추가의 단계들을 포함할 수 있다.
토큰들의 추가 사용
논의된 바와 같이, 인증 모듈(224)은 비신뢰 클라이언트 장치(170)와의 통신을 인증하기 위해 보안 토큰을 사용할 수 있다. 논의된 구현예에서, 신뢰 파트너 서버(180)는 비신뢰 클라이언트 장치(170)로 인증 처리를 수행할 수 있고, 신뢰 파트너 서버(180)는 보안 토큰을 비신뢰 클라이언트 장치(170)에 송신할 수 있다. 그러나, 보안 토큰 구현은 임의의 특정한 인증 모듈에 사용하는 것으로 한정되지 않는다. 그보다는, 보안 토큰들은 인증 모듈들(221 ~ 225) 중 어느 모듈 외에도 구현될 수 있다.
일부 실시예들에서, 보안 토큰은 대칭 암호화 키에 기초할 수 있다. 대칭키는 서버(140)와 특정 클라이언트 장치 간에 어떤 보안적으로 공유될 수 있다. 일부 실시예들에서, 클라이언트 장치들에 대칭키에 기초하여 토큰이 이주된다. 예를 들면, 클라이언트 장치(110)가 사용자에 분배하기 전에, MAC ID, 일련번호, 혹은 이들 둘의 조합의 해수 함수는 해시 함수에의 입력으로서 대칭키를 사용하여 계산될 수 있다. 일부 실시예들에서, 대칭키는 사용자가 클라이언트 장치(110)(예를 들면, 사용자가 온라인 스토어와 같은 판매자로부터 장치를 구입할 때)를 수신할 때 대응하는 토큰과 함께 생성될 수 있다. 다른 실시예들에서, 토큰은 비대칭 키 쌍을 사용하여 서버(140)에 의해 생성될 수 있다. 쌍으로부터 비밀키는 클라이언트 장치(110)가 보안 토큰을 제공하기 전에 보안 토큰을 암호화하기 위해 사용될 수 있다.
일단 클라이언트 장치(110)에 보안 토큰이 이주되면, 보안 토큰은 추가의 보안을 위해 사용될 수 있다. 예를 들면, 보안 토큰이 인증 모듈(221)에 관련하여 사용된다면, 사용자는 일단 SSL/TSL 세션이 서버(140)와 클라이언트 장치(110) 간에 설정되면 사용자명 및 패스워드를 사용하여 인증할 필요가 없다. 그보다는, 클라이언트 장치(110)는 보안 토큰을 서버(140)에 송신할 수 있다. 서버(140)는 대칭키를 사용하여, 혹은 대칭 암호화가 사용된다면, 키 쌍으로부터 공개키를 사용하여 토큰을 해독할 수 있다. 이 구현은 토큰이 사용자명 및 패스워드에 대한 대체로서 사용될 수 있기 때문에, 웹 서비스(141)에 액세스하기를 원할 때마다 사용자명 및 패스워드를 제출해야 하는 어떤 불편을 사용자에게서 덜어준다.
전술한 바는 예시 목적을 위해 제시되었다. 이것은 전부 다가 아니며 개시된 정밀한 형태들 또는 실시예들로 제한하는 것이 아니다. 수정들 및 개조들은 개시된 실시예들의 명세 및 실시의 고찰로부터 당업자들에게 명백할 것이다. 예를 들면, 기술된 구현들은 소프트웨어를 포함하나, 개시된 실시예들과 일관된 시스템들 및 방법들은 하드웨어와 소프트웨어와의 조합으로서 혹은 하드웨어만으로 구현될 수 있다. 하드웨어의 예들은 개인용 컴퓨터들, 서버들, 랩탑들, 메인프레임들, 마이크로-프로세서들 등을 포함한 계산 또는 처리 시스템들을 포함한다. 또한, 개시된 실시예들의 특징들이 메모리에 저장된 것으로서 기술되었을지라도, 당업자는 이들 면들이 다른 유형들의 컴퓨터-판독가능 매체, 이를테면 2차 저장 장치들, 예를 들면, 하드디스크들, 플로피 디스크들, 혹은 CD-ROM, 혹은 그이 다른 형태들의 RAM 또는 ROM, USB 매체, DVD, 혹은 그외 다른 광학 드라이브 매체 상에 저장될 수 있음을 알 것이다.
기술된 설명 및 개시된 방법들에 기초한 컴퓨터 프로그램들은 경험있는 개발자의 숙련도 내에 있다. 각종 프로그램들 또는 프로그램 모듈들은 당업자에게 공지된 기술들 중 어느 하나를 사용하여 생성될 수 있거나 기존 소프트웨어에 관련하여 설계될 수 있다. 예를 들면, 프로그램 섹션들 또는 프로그램 모듈들은 .Net Framework, .Net Compact Framework(및 Visual Basic, C, 등과 같은 관계된 언어들), Java, C++, HTML, HTML/AJAX 조합들, XML, 혹은 포함된 Java applet들을 사용한 HTML에 혹은 이들에 의해 설계될 수 있다. 이러한 소프트웨어 섹션들 또는 모듈들 중 하나 이상은 컴퓨터 시스템 혹은 기존의 이메일 또는 브라우저 소프트웨어에 통합될 수 있다.
제 1 항. 서비스로의 액세스를 제공하기 위한 컴퓨터-구현 방법에 있어서,
상기 서비스로의 액세스를 요청하는 장치들을 인증하기 위해 인증 모듈들을 저장하는 단계로서, 상기 장치들은 적어도 제 1 장치 유형을 갖는 제 1 복수의 장치들 및 제 2 장치 유형을 갖는 제 2 복수의 장치들을 포함하는 것인, 단계;
상기 제 1 장치 유형에 특정한 인증 기법을 사용하여 상기 제 1 복수의 장치들의 인증을 수행하게 상기 인증 모듈들 중 제 1 모듈을 구성하는 단계;
상기 제 2 장치 유형에 특정한 인증 기법을 사용하여 상기 제 2 복수의 장치들의 인증을 수행하게 상기 인증 모듈들 중 제 2 모듈을 구성하는 단계;
서버에 의해서, 상기 서비스에 액세스하기 위한 요청을 수신하는 단계로서, 상기 요청은 상기 서비스를 요청하는 장치의 장치 유형 식별자를 포함하는 것인, 단계;
상기 요청으로부터 상기 장치 유형 식별자를 추출하는 단계;
상기 장치 유형 식별자가 상기 제 1 장치 유형 또는 상기 제 2 장치 유형에 대응하는지를 판정하는 단계;
상기 장치 유형 식별자가 상기 제 1 장치 유형에 대응한다면 상기 제 1 인증 모듈을 선택하고, 상기 장치 유형 식별자가 상기 제 2 장치 유형에 대응한다면 상기 제 2 인증 모듈을 선택하는 단계;
상기 서비스에 액세스하는 것이 상기 요청장치에 허용되는지를 판정하기 위해 상기 요청을 상기 선택된 인증 모듈을 사용하여 인증하고, 그럼으로써 상기 요청장치에 특정한 상기 인증 기법을 사용하여 상기 요청장치의 인증을 수행하는 단계; 및
상기 요청장치가 상기 서비스에 액세스할 권한이 있는 것으로 상기 선택된 인증 모듈이 판정할 때 상기 서비스에 액세스를 제공하고, 상기 요청장치가 상기 서비스에 액세스할 권한이 없는 것으로 상기 선택된 인증 모듈이 판정할 때 상기 서비스에 액세스를 금지하는 단계를 포함하는, 방법.
제 2 항. 제 1 항에 있어서, 제 3 장치 유형에 대응하는 요청들을 자동으로 인증하게 상기 인증 모듈들 중 제 3 모듈을 구성하는 단계; 및
상기 제 3 장치 유형에 대응하는 상기 요청들을 상기 제 3 장치 유형을 인증하기 위한 내장된 인증 기법을 갖는 대안적 서비스에 보내는 단계를 더 포함하는, 방법.
제 3 항. 제 1 항에 있어서, 선택된 요청들에 연관된 IP 어드레스들을 판정하고, IP 어드레스들을 허용가능 IP 어드레스 목록과 비교하고, 선택된 요청들에 연관된 IP 어드레스가 허용가능 IP 어드레스 목록에 포함되어 있다면 서비스로의 액세스를 제공함으로써 선택된 요청들을 인증하게 인증 모듈들 중 제 3 모듈을 구성하는 단계를 더 포함하는, 방법.
제 4 항. 제 1 항에 있어서, 제 1 인증 모듈은 요청장치가 서비스에 액세스할 권한이 있는지 판정하기 위해 SSL(Secure Sockets Layer)을 사용하는, 방법.
제 5 항. 서비스로의 액세스를 제공하는 컴퓨터-구현 방법에 있어서, 서비스에 액세스하는 요청을 수신하는 단계로서, 상기 요청은 상기 서비스로의 액세스를 요청하는 장치의 장치 유형 식별자를 포함하는 것인, 단계;
상기 요청로부터 상기 장치 유형 식별자를 추출하는 단계;
상기 요청장치에 대한 대응하는 장치 유형을 판정하는 단계;
상기 장치 유형 식별자에 기초하여 복수의 인증 모듈들로부터 인증 모듈을 선택하는 단계로서, 상기 선택된 인증 모듈은 상기 요청장치의 상기 장치 유형에 대한 인증 기법을 구현하는 것인, 단계;
상기 서비스에 액세스하는 것이 상기 요청장치에 허락되었는지를 판정하기 위해 상기 요청을 상기 선택된 인증 모듈을 사용하여 인증하는 단계; 및
적어도 상기 요청장치가 상기 서비스에 액세스할 권한이 있다는 판정에 기초하여 상기 서비스로의 액세스를 제공하는 단계를 포함하는, 방법.
제 6 항. 제 5 항에 있어서, 상기 선택된 인증 모듈은 상기 요청장치가 상기 서비스에 액세스할 권한이 있는지를 판정하기 위해 비밀 데이터를 상기 요청장치와 공유하는, 방법.
제 7 항. 제 5 항에 있어서, 상기 선택된 인증 모듈은 복수의 방법들에의 액세스를 제공하며, 상기 방법들 중 일부는 비-인증된 장치들에 액세스될 수 있는, 방법.
제 8 항. 제 5 항에 있어서, 복수의 장치 유형들을 갖는 복수의 장치들은 상기 선택된 인증 모듈을 통해 상기 서비스에 액세스하는 것인, 방법.
제 9 항. 제 5 항에 있어서, 상기 인증 모듈들 중 적어도 두 모듈은 공통 URL을 사용하여 액세스되는 것인, 방법.
제 10 항. 제 5 항에 있어서, 신뢰 파트너 서버는 상기 요청장치에 토큰을 제공하며, 상기 방법은
상기 요청장치로부터 상기 토큰의 카피를 수신하는 단계; 및
상기 토큰의 카피가 진본이라는 판정에 기초하여 상기 서비스로의 액세스를 제공하는 단계를 더 포함하는, 방법.
제 11 항. 제 10 항에 있어서, 상기 토큰은 비밀/공개 키 쌍으로부터 공개키에 대응하는 비밀키로 암호화되고, 상기 방법은 상기 토큰이 진본인지 여부를 판정하기 위해 상기 대응하는 공개키로 상기 토큰을 해독하는 단계를 더 포함하는, 방법.
제 12 항. 제 10 항에 있어서, 상기 토큰은 상기 신뢰 파트너 서버가 상기 요청장치로부터 수신된 사용자명 및 패스워드 조합을 검증한 후에 상기 신뢰 파트너 서버에 의해 상기 요청장치에 제공되는 것인, 방법.
제 13 항. 제 5 항에 있어서, 상기 요청장치로부터 상기 요청을 수신하기 전에 토큰 을 상기 요청장치에 사전에 저장하는 단계; 및
상기 요청이 상기 사전에 저장된 토큰에 의해 동반된 것을 검증함으로써 상기 선택된 인증 모듈을 사용하여 상기 요청을 인증하는 단계를 더 포함하는, 방법.
제 14 항. 제 5 항에 있어서, 선택된 인증 모듈은 요청장치가 서비스에 액세스할 권한이 있는지 판정하기 위해 SSL(Secure Sockets Layer)을 사용하는, 방법.
제 15 항. 서비스로의 액세스를 제공하기 위한 서버로서, 상기 서버는
프로그램 명령들을 실행하기 위한 프로세서; 및
상기 프로그램 명령들을 저장하는 컴퓨터-판독가능 매체를 포함하며; 상기 프로그램 명령들은 상기 프로세서에 의해 실행되었을 때,
서비스에 액세스하기 위한 요청을 수신하는 것으로, 상기 요청은 상기 서비스로의 액세스를 요청하는 장치의 장치 유형 식별자를 포함하며,
상기 요청으로부터 상기 장치 유형 식별자를 추출하고,
상기 요청장치에 대한 대응하는 장치 유형을 판정하고,
상기 장치 유형 식별자에 기초하여 복수의 인증 모듈들로부터 인증 모듈을 선택하는 것으로, 상기 선택된 인증 모듈은 상기 요청장치의 상기 장치 유형에 대한 인증 기법 을 구현하며,
상기 서비스에 액세스하는 것이 상기 요청장치에 허락되는지를 판정하기 위해 상기 선택된 인증 모듈을 사용하여 상기 요청을 인증하고,
적어도 상기 요청장치가 상기 서비스에 액세스할 권한이 있다는 판정에 기초하여 상기 서비스로의 액세스를 제공하는 프로세스를 수행하는, 서버.
제 16 항. 제 15 항에 있어서, 선택된 인증 모듈 요청장치가 서비스에 액세스할 권한이 있는지 판정하기 위해 SSL(Secure Sockets Layer)을 사용하는, 서버.
제 17 항. 제 15 항에 있어서, 상기 선택된 인증 모듈은 상기 요청장치가 상기 서비스에 액세스할 권한이 있는지 판정하기 위해 비밀 데이터를 상기 요청장치와 공유하는, 서버.
제 18 항. 프로세서에 의해 실행된 방법을 수행하기 위해 프로그램 명령들을 저장하는 컴퓨터-판독가능 매체로서, 상기 방법은 서비스로의 액세스를 제공하며, 상기 프로세서에 의해 수행되는 단계들로서,
서비스에 액세스하는 요청을 수신하는 단계로서, 상기 요청은 상기 서비스로의 액세스를 요청하는 장치의 장치 유형 식별자를 포함하는 것인, 단계;
상기 요청로부터 상기 장치 유형 식별자를 추출하는 단계;
상기 요청장치에 대한 대응하는 장치 유형을 판정하는 단계;
상기 장치 유형 식별자에 기초하여 복수의 인증 모듈들로부터 인증 모듈을 선택하는 단계로서, 상기 선택된 인증 모듈은 상기 요청장치의 상기 장치 유형에 대한 인증 기법을 구현하는 것인, 단계;
상기 서비스에 액세스하는 것이 상기 요청장치에 허락되었는지를 판정하기 위해 상기 요청을 상기 선택된 인증 모듈을 사용하여 인증하는 단계; 및
적어도 상기 요청장치가 상기 서비스에 액세스할 권한이 있다는 판정에 기초하여 상기 서비스로의 액세스를 제공하는 단계를 포함하는, 컴퓨터-판독가능 매체.
제 19, 제 18 항에 있어서, 선택된 인증 모듈은 요청장치가 서비스에 액세스할 권한이 있는지 판정하기 위해 SSL(Secure Sockets Layer)을 사용하는, 컴퓨터-판독가능 매체.
제 20 항. 제 18 항에 있어서, 상기 선택된 인증 모듈은 상기 요청장치가 상기 서비스에 액세스할 권한이 있는지 판정하기 위해 비밀 데이터를 상기 요청장치와 공유하는, 컴퓨터-판독가능 매체.
또한, 예시적인 실시예들이 본원에 기술되었으나, 임의의 및 모든 실시예들의 범위는 본 개시된 바에 기초하여 당업자들이 알게 되는 바와 같이 등가요소들, 수정, 생략, 조합(예를 들면, 여러 실시예들에 걸쳐 있는 특징들의), 개조 및/또는 변경을 갖는다. 청구항들에서 한정은 청구항들에 채용된 언어에 기초하여 광범하게 해석되어야 하며 본 명세서에서 혹은 본원의 절차-이들의 예들은 비독점적인 것으로서 해석되지 않아야 한다- 동안에 기술된 예들로 제한되지 않는다. 또한, 개시된 루틴들의 블록들은 블록들을 재배열하고 및/또는 블록들을 삽입 또는 삭제하는 것을 포함한 이들에 의해 임의의 방식으로 수정될 수 있다. 그러므로, 명세 및 예들은 단지 예시로서 간주되게 한 것이며 진정한 범위 및 정신은 다음 청구항들 및 이들의 등가물들의 전체 범위에 의해 표시된다.

Claims (15)

  1. 서비스로의 액세스를 제공하기 위한 컴퓨터-구현 방법에 있어서,
    상기 서비스로의 액세스를 요청하는 장치들을 인증하기 위해 인증 모듈들을 저장하는 단계로서, 상기 장치들은 적어도 제 1 장치 유형을 갖는 제 1 복수의 장치들 및 제 2 장치 유형을 갖는 제 2 복수의 장치들을 포함하는 것인, 단계;
    상기 제 1 장치 유형에 특정한 인증 기법을 사용하여 상기 제 1 복수의 장치들의 인증을 수행하기 위하여 상기 인증 모듈들 중 제 1 모듈을 구성하는 단계;
    상기 제 2 장치 유형에 특정한 인증 기법을 사용하여 상기 제 2 복수의 장치들의 인증을 수행하기 위하여 상기 인증 모듈들 중 제 2 모듈을 구성하는 단계;
    서버에 의해서, 상기 서비스에 액세스하기 위한 요청을 수신하는 단계로서, 상기 요청은 상기 서비스를 요청하는 장치의 장치 유형 식별자를 포함하는 것인, 단계;
    상기 요청으로부터 상기 장치 유형 식별자를 추출하는 단계;
    상기 장치 유형 식별자가 상기 제 1 장치 유형 또는 상기 제 2 장치 유형에 대응하는지를 판정하는 단계;
    상기 장치 유형 식별자가 상기 제 1 장치 유형에 대응한다면 상기 제 1 인증 모듈을 선택하고, 상기 장치 유형 식별자가 상기 제 2 장치 유형에 대응한다면 상기 제 2 인증 모듈을 선택하는 단계;
    상기 서비스에 액세스하는 것이 상기 요청장치에 허용되는지를 판정하기 위해 상기 요청을 상기 선택된 인증 모듈을 사용하여 인증하고, 그럼으로써 상기 요청장치에 특정한 상기 인증 기법을 사용하여 상기 요청장치의 인증을 수행하는 단계; 및
    상기 요청장치가 상기 서비스에 액세스할 권한이 있는 것으로 상기 선택된 인증 모듈이 판정할 때 상기 서비스로의 액세스를 제공하고, 상기 요청장치가 상기 서비스에 액세스할 권한이 없는 것으로 상기 선택된 인증 모듈이 판정할 때 상기 서비스에 액세스를 금지하는 단계를 포함하는, 방법.
  2. 청구항 1에 있어서,
    제 3 장치 유형에 대응하는 요청들을 자동으로 인증하기 위하여 상기 인증 모듈들 중 제 3 모듈을 구성하는 단계; 및
    상기 제 3 장치 유형에 대응하는 상기 요청들을 상기 제 3 장치 유형을 인증하기 위한 내장 인증 기법을 갖는 대안적 서비스에 보내는 단계를 더 포함하는, 방법.
  3. 서비스로의 액세스를 제공하는 컴퓨터-구현 방법에 있어서,
    서비스에 액세스하는 요청을 수신하는 단계로서, 상기 요청은 상기 서비스로의 액세스를 요청하는 장치의 장치 유형 식별자를 포함하는 것인, 단계;
    상기 요청으로부터 상기 장치 유형 식별자를 추출하는 단계;
    상기 요청장치에 대한 대응하는 장치 유형을 판정하는 단계;
    상기 장치 유형 식별자에 기초하여 복수의 인증 모듈들로부터 인증 모듈을 선택하는 단계로서, 상기 선택된 인증 모듈은 상기 요청장치의 상기 장치 유형에 대한 인증 기법을 구현하는 것인, 단계;
    상기 서비스에 액세스하는 것이 상기 요청장치에 허락되었는지를 판정하기 위해 상기 요청을 상기 선택된 인증 모듈을 사용하여 인증하는 단계; 및
    적어도 상기 요청장치가 상기 서비스에 액세스할 권한이 있다는 판정에 기초하여 상기 서비스로의 액세스를 제공하는 단계를 포함하는, 방법.
  4. 청구항 3에 있어서,
    상기 선택된 인증 모듈은 상기 요청장치가 상기 서비스에 액세스할 권한이 있는지를 판정하기 위해 비밀 데이터를 상기 요청장치와 공유하는, 방법.
  5. 청구항 3에 있어서,
    상기 선택된 인증 모듈은 복수의 방법들로의 액세스를 제공하며, 상기 방법들 중 일부는 비-인증된 장치들에 액세스될 수 있는, 방법.
  6. 청구항 3에 있어서,
    복수의 장치 유형들을 갖는 복수의 장치들이 상기 선택된 인증 모듈을 통해 상기 서비스에 액세스하는 것인, 방법.
  7. 청구항 3에 있어서,
    상기 인증 모듈들 중 적어도 두 모듈은 공통 URL을 사용하여 액세스되는 것인, 방법.
  8. 청구항 3에 있어서,
    신뢰 파트너 서버는 상기 요청장치에 토큰을 제공하며,
    상기 방법은,
    상기 요청장치로부터 상기 토큰의 카피를 수신하는 단계; 및
    상기 토큰의 카피가 진본이라는 판정에 기초하여 상기 서비스로의 액세스를 제공하는 단계를 더 포함하는, 방법.
  9. 청구항 8에 있어서,
    상기 토큰은 비밀/공개 키 쌍으로부터 공개키에 대응하는 비밀키로 암호화되고,
    상기 방법은, 상기 토큰이 진본인지 여부를 판정하기 위해 상기 대응하는 공개키로 상기 토큰을 해독하는 단계를 더 포함하는, 방법.
  10. 청구항 8에 있어서,
    상기 토큰은 상기 신뢰 파트너 서버가 상기 요청장치로부터 수신된 사용자명 및 패스워드 조합을 검증한 후에 상기 신뢰 파트너 서버에 의해 상기 요청장치에 제공되는 것인, 방법.
  11. 청구항 3에 있어서,
    상기 요청장치로부터 상기 요청을 수신하기 전에 토큰을 상기 요청장치에 사전에 저장하는 단계; 및
    상기 요청이 상기 사전에 저장된 토큰에 의해 동반된 것을 검증함으로써 상기 선택된 인증 모듈을 사용하여 상기 요청을 인증하는 단계를 더 포함하는, 방법.
  12. 서비스로의 액세스를 제공하기 위한 서버로서,
    상기 서버는,
    프로그램 명령들을 실행하기 위한 프로세서; 및
    상기 프로그램 명령들을 저장하는 컴퓨터-판독가능 매체를 포함하며;
    상기 프로그램 명령들은 상기 프로세서에 의해 실행되었을 때,
    서비스에 액세스하기 위한 요청을 수신하는 것으로, 상기 요청은 상기 서비스로의 액세스를 요청하는 장치의 장치 유형 식별자를 포함하며,
    상기 요청으로부터 상기 장치 유형 식별자를 추출하고,
    상기 요청장치에 대한 대응하는 장치 유형을 판정하고,
    상기 장치 유형 식별자에 기초하여 복수의 인증 모듈들로부터 인증 모듈을 선택하는 것으로, 상기 선택된 인증 모듈은 상기 요청장치의 상기 장치 유형에 대한 인증 기법 을 구현하며,
    상기 서비스에 액세스하는 것이 상기 요청장치에 허락되는지를 판정하기 위해 상기 선택된 인증 모듈을 사용하여 상기 요청을 인증하고,
    적어도 상기 요청장치가 상기 서비스에 액세스할 권한이 있다는 판정에 기초하여 상기 서비스로의 액세스를 제공하는 프로세스를 수행하는, 서버.
  13. 청구항 12에 있어서,
    상기 선택된 인증 모듈은 상기 요청장치가 상기 서비스에 액세스할 권한이 있는지 판정하기 위해 비밀 데이터를 상기 요청장치와 공유하는, 서버.
  14. 프로세서에 의해 실행되는 방법을 수행하기 위해 프로그램 명령들을 저장하는 컴퓨터-판독가능 매체로서, 상기 방법은 서비스로의 액세스를 제공하며, 상기 프로세서에 의해 수행되는 단계들로서,
    서비스에 액세스하는 요청을 수신하는 단계로서, 상기 요청은 상기 서비스로의 액세스를 요청하는 장치의 장치 유형 식별자를 포함하는 것인, 단계;
    상기 요청으로부터 상기 장치 유형 식별자를 추출하는 단계;
    상기 요청장치에 대한 대응하는 장치 유형을 판정하는 단계;
    상기 장치 유형 식별자에 기초하여 복수의 인증 모듈들로부터 인증 모듈을 선택하는 단계로서, 상기 선택된 인증 모듈은 상기 요청장치의 상기 장치 유형에 대한 인증 기법을 구현하는 것인, 단계;
    상기 서비스에 액세스하는 것이 상기 요청장치에 허락되었는지를 판정하기 위해 상기 요청을 상기 선택된 인증 모듈을 사용하여 인증하는 단계; 및
    적어도 상기 요청장치가 상기 서비스에 액세스할 권한이 있다는 판정에 기초하여 상기 서비스로의 액세스를 제공하는 단계를 포함하는, 컴퓨터-판독가능 매체.
  15. 청구항 14에 있어서,
    상기 선택된 인증 모듈은 상기 요청장치가 상기 서비스에 액세스할 권한이 있는지 판정하기 위해 비밀 데이터를 상기 요청장치와 공유하는, 컴퓨터-판독가능 매체.
KR1020127008060A 2009-09-30 2010-09-29 모듈식 장치 인증 프레임워크 KR101737146B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US57041609A 2009-09-30 2009-09-30
US12/570,416 2009-09-30
PCT/US2010/050729 WO2011041419A1 (en) 2009-09-30 2010-09-29 Modular device authentication framework

Publications (2)

Publication Number Publication Date
KR20120085760A true KR20120085760A (ko) 2012-08-01
KR101737146B1 KR101737146B1 (ko) 2017-05-29

Family

ID=43826625

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020127008060A KR101737146B1 (ko) 2009-09-30 2010-09-29 모듈식 장치 인증 프레임워크

Country Status (8)

Country Link
US (1) US8813186B2 (ko)
EP (1) EP2483791B1 (ko)
JP (1) JP5792732B2 (ko)
KR (1) KR101737146B1 (ko)
CN (1) CN102597981B (ko)
CA (1) CA2774648C (ko)
ES (1) ES2660541T3 (ko)
WO (1) WO2011041419A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170017684A (ko) * 2015-07-10 2017-02-15 시아오미 아이엔씨. 단말기 테스트 방법, 장치, 프로그램 및 저장매체

Families Citing this family (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10171593B2 (en) * 2014-06-30 2019-01-01 Verizon Patent And Licensing Inc. Validating web services for compatibility with a client device by emulating the client device by populating a template associated with the web services
US8229755B2 (en) * 2008-04-30 2012-07-24 Felice David A System and method of networked wagering
US10476883B2 (en) 2012-03-02 2019-11-12 Inside Secure Signaling conditional access system switching and key derivation
US10691860B2 (en) 2009-02-24 2020-06-23 Rambus Inc. Secure logic locking and configuration with camouflaged programmable micro netlists
US9071616B2 (en) 2010-11-18 2015-06-30 Microsoft Technology Licensing, Llc Securing partner-enabled web service
US20120136934A1 (en) * 2010-11-30 2012-05-31 Sony Corporation Device, server, and method for sharing deep links over social network
US9769150B2 (en) * 2011-01-14 2017-09-19 Microsoft Technology Licensing, Llc Directory driven mailbox migrations
US9264237B2 (en) * 2011-06-15 2016-02-16 Microsoft Technology Licensing, Llc Verifying requests for access to a service provider using an authentication component
KR101983048B1 (ko) * 2011-12-21 2019-05-29 삼성전자주식회사 클라우드 기반의 디지털 저작권 관리 서비스를 제공하는 방법 및 장치와 그 시스템
US9384339B2 (en) * 2012-01-13 2016-07-05 Telecommunication Systems, Inc. Authenticating cloud computing enabling secure services
EP2820546B1 (en) * 2012-03-02 2019-07-31 INSIDE Secure Blackbox security provider programming system permitting multiple customer use and in field conditional access switching
EP2847927A4 (en) * 2012-03-29 2015-12-16 Intel Corp SECURE REPAIR OF DEVICES TO REQUIRE CLOUD SERVICES
US9613052B2 (en) * 2012-06-05 2017-04-04 International Business Machines Corporation Establishing trust within a cloud computing system
US8904510B2 (en) * 2012-07-17 2014-12-02 Microsoft Corporation Authenticating a user for testing purposes
US9363241B2 (en) 2012-10-31 2016-06-07 Intel Corporation Cryptographic enforcement based on mutual attestation for cloud services
JP6065623B2 (ja) * 2013-02-05 2017-01-25 カシオ計算機株式会社 情報管理装置、携帯端末装置及びプログラム
RU2583710C2 (ru) * 2013-07-23 2016-05-10 Закрытое акционерное общество "Лаборатория Касперского" Система и способ обеспечения конфиденциальности информации, используемой во время операций аутентификации и авторизации, при использовании доверенного устройства
EP3770783B1 (en) * 2013-11-26 2022-06-08 INTEL Corporation Techniques for extending communications chain of trust to client applications
US20150373011A1 (en) * 2014-06-19 2015-12-24 Oracle International Corporation Credential collection in an authentication server employing diverse authentication schemes
US9264419B1 (en) * 2014-06-26 2016-02-16 Amazon Technologies, Inc. Two factor authentication with authentication objects
US9961059B2 (en) * 2014-07-10 2018-05-01 Red Hat Israel, Ltd. Authenticator plugin interface
KR102468365B1 (ko) * 2014-11-14 2022-11-18 삼성전자 주식회사 기기 사용을 위한 기기 등록 방법 및 장치
WO2016104835A1 (ko) * 2014-12-24 2016-06-30 주식회사 파수닷컴 인증 프록시를 이용한 사용자 인증 장치 및 방법
US10739464B2 (en) * 2015-07-17 2020-08-11 Hughes Network Systems, Llc Satellite modem location tracking
KR102011311B1 (ko) * 2015-09-03 2019-08-16 엘에스산전 주식회사 전력 시스템 및 이의 데이터 전송 방법
CN107852603B (zh) * 2015-09-25 2021-07-23 Oppo广东移动通信有限公司 终端认证的方法及设备
CN105721489A (zh) * 2016-03-16 2016-06-29 四川长虹电器股份有限公司 基于数字证书对ip白名单中的ip认证方法与系统
CN107579948B (zh) * 2016-07-05 2022-05-10 华为技术有限公司 一种网络安全的管理系统、方法及装置
US9887975B1 (en) 2016-08-03 2018-02-06 KryptCo, Inc. Systems and methods for delegated cryptography
US10375077B1 (en) * 2016-08-12 2019-08-06 Symantec Corporation Systems and methods for mediating information requests
US9781073B1 (en) * 2016-10-19 2017-10-03 International Business Machines Corporation Redirecting invalid URL to comparable object with sufficient permissions
US10382436B2 (en) * 2016-11-22 2019-08-13 Daniel Chien Network security based on device identifiers and network addresses
EP3568950B1 (en) * 2017-01-13 2020-12-02 Visa International Service Association Techniques for secure blockchain management
US10733376B2 (en) * 2017-03-01 2020-08-04 Google Llc Delivering auto-play media content element from cross origin resources
US11079757B1 (en) * 2017-11-20 2021-08-03 Amazon Technologies, Inc. Unmanned aerial vehicles to survey locations and collect data about different signal sources
US10909250B2 (en) * 2018-05-02 2021-02-02 Amazon Technologies, Inc. Key management and hardware security integration
US11188622B2 (en) 2018-09-28 2021-11-30 Daniel Chien Systems and methods for computer security
US11431698B2 (en) 2018-10-31 2022-08-30 NBA Properties, Inc. Partner integration network
US10826912B2 (en) 2018-12-14 2020-11-03 Daniel Chien Timestamp-based authentication
US10848489B2 (en) 2018-12-14 2020-11-24 Daniel Chien Timestamp-based authentication with redirection
CN113519173B (zh) 2019-03-08 2024-05-24 瑞典爱立信有限公司 用于验证设备类别的无线设备和网络节点以及相应方法
US11457032B2 (en) * 2019-05-23 2022-09-27 Kyndryl, Inc. Managing data and data usage in IoT network
JP7238632B2 (ja) * 2019-06-26 2023-03-14 オムロン株式会社 制御システム、制御装置、および管理方法
US10728247B1 (en) * 2019-08-02 2020-07-28 Alibaba Group Holding Limited Selecting an authentication system for handling an authentication request
CN110460595B (zh) * 2019-08-02 2021-03-30 创新先进技术有限公司 一种鉴权与业务服务方法、装置以及设备
US11677754B2 (en) 2019-12-09 2023-06-13 Daniel Chien Access control systems and methods
US11509463B2 (en) 2020-05-31 2022-11-22 Daniel Chien Timestamp-based shared key generation
US11438145B2 (en) 2020-05-31 2022-09-06 Daniel Chien Shared key generation based on dual clocks
CN112217793B (zh) * 2020-09-07 2022-11-11 中国电力科学研究院有限公司 一种适用于电力物联网的跨体系信任管理系统
US20220231838A1 (en) * 2021-01-15 2022-07-21 Micron Technology, Inc. Server System to Control Memory Devices over Computer Networks
US11483148B2 (en) 2021-01-15 2022-10-25 Micron Technology, Inc. Batch transfer of control of memory devices over computer networks
KR102419311B1 (ko) * 2021-11-08 2022-07-11 부산대학교 산학협력단 신뢰실행 환경 및 블록체인 기반 프라이버시 강화 자기주권 신원증명 시스템 및 방법

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3050843B2 (ja) * 1997-02-28 2000-06-12 松下電器産業株式会社 デジタル著作物の著作権保護のための暗号技術利用プロトコルを複数から選択して使用する情報機器
US6061449A (en) * 1997-10-10 2000-05-09 General Instrument Corporation Secure processor with external memory using block chaining and block re-ordering
US6859879B2 (en) * 2000-05-26 2005-02-22 International Business Machine Corporation Method and system for secure pervasive access
US7496652B2 (en) * 2000-07-17 2009-02-24 Teleservices Solutions, Inc. Intelligent network providing network access services (INP-NAS)
US7185364B2 (en) * 2001-03-21 2007-02-27 Oracle International Corporation Access system interface
EP1417555A2 (en) * 2001-06-18 2004-05-12 Daon Holdings Limited An electronic data vault providing biometrically protected electronic signatures
US7243369B2 (en) * 2001-08-06 2007-07-10 Sun Microsystems, Inc. Uniform resource locator access management and control system and method
US20030033524A1 (en) * 2001-08-13 2003-02-13 Luu Tran Client aware authentication in a wireless portal system
JP3983035B2 (ja) * 2001-11-19 2007-09-26 富士通株式会社 ユーザ端末認証プログラム
US20040044776A1 (en) 2002-03-22 2004-03-04 International Business Machines Corporation Peer to peer file sharing system using common protocols
JP2003308297A (ja) * 2002-04-12 2003-10-31 Canon Inc 通信システム、通信方法、通信装置、及び制御プログラム
JP2004021686A (ja) * 2002-06-18 2004-01-22 Toshiba Corp 認証処理システム、認証処理装置、プログラム及び認証処理方法
US9621538B2 (en) 2002-07-10 2017-04-11 Hewlett-Packard Development Company, L.P. Secure resource access in a distributed environment
KR20060132547A (ko) * 2003-09-04 2006-12-21 마츠시타 덴끼 산교 가부시키가이샤 디지털 저작물 보호 시스템 및 디지털 저작물 보호 방법
JP4818596B2 (ja) * 2003-09-04 2011-11-16 パナソニック株式会社 デジタル著作物保護システム及びデジタル著作物保護方法
CN100437551C (zh) * 2003-10-28 2008-11-26 联想(新加坡)私人有限公司 使多个用户设备自动登录的方法和设备
US7565547B2 (en) * 2004-02-27 2009-07-21 Sesame Networks Inc. Trust inheritance in network authentication
US7356694B2 (en) * 2004-03-10 2008-04-08 American Express Travel Related Services Company, Inc. Security session authentication system and method
US8005476B2 (en) * 2004-04-16 2011-08-23 Broadcom Corporation Providing access dependent services via a broadband access gateway
JP2006031522A (ja) * 2004-07-20 2006-02-02 Dainippon Printing Co Ltd コンテンツ中継配信サーバ、コンテンツ中継配信コンピュータプログラム
JP2006065690A (ja) * 2004-08-27 2006-03-09 Ntt Docomo Inc デバイス認証装置、サービス制御装置、サービス要求装置、デバイス認証方法、サービス制御方法及びサービス要求方法
CN1642083A (zh) * 2004-09-23 2005-07-20 华为技术有限公司 网络侧选择鉴权方式的方法
WO2006084960A1 (fr) * 2005-02-10 2006-08-17 France Telecom Systeme de selection automatique d’authentification
US7900247B2 (en) * 2005-03-14 2011-03-01 Microsoft Corporation Trusted third party authentication for web services
KR100836212B1 (ko) * 2005-04-08 2008-06-09 한국전자통신연구원 툴팩 구조가 저장된 컴퓨터 판독 가능한 기록매체 및 콘텐츠 실행 디바이스
JP4913457B2 (ja) * 2006-03-24 2012-04-11 株式会社野村総合研究所 認証強度の異なるサーバに対応した連携型認証方法及びシステム
US20100217990A1 (en) * 2007-08-09 2010-08-26 Nippon Telegraph And Telephone Corp. Communication method, relay server device, program, and recording medium
JP5053179B2 (ja) * 2008-05-30 2012-10-17 株式会社日立製作所 検証サーバ、プログラム及び検証方法
US8645843B2 (en) * 2008-08-29 2014-02-04 International Business Machines Corporation Supporting role-based access control in component-based software systems
US8225110B2 (en) * 2009-01-09 2012-07-17 Telefonaktiebolaget Lm Ericsson (Publ) Cryptographic protection of usage restrictions in electronic devices
US8806572B2 (en) * 2009-05-30 2014-08-12 Cisco Technology, Inc. Authentication via monitoring
US9602864B2 (en) * 2009-06-08 2017-03-21 Time Warner Cable Enterprises Llc Media bridge apparatus and methods

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170017684A (ko) * 2015-07-10 2017-02-15 시아오미 아이엔씨. 단말기 테스트 방법, 장치, 프로그램 및 저장매체

Also Published As

Publication number Publication date
CA2774648C (en) 2017-07-25
JP5792732B2 (ja) 2015-10-14
EP2483791B1 (en) 2018-01-17
WO2011041419A1 (en) 2011-04-07
ES2660541T3 (es) 2018-03-22
JP2013506918A (ja) 2013-02-28
EP2483791A1 (en) 2012-08-08
US20130061291A1 (en) 2013-03-07
CN102597981B (zh) 2015-06-03
EP2483791A4 (en) 2016-11-09
CA2774648A1 (en) 2011-04-07
US8813186B2 (en) 2014-08-19
CN102597981A (zh) 2012-07-18
KR101737146B1 (ko) 2017-05-29

Similar Documents

Publication Publication Date Title
KR101737146B1 (ko) 모듈식 장치 인증 프레임워크
US8532620B2 (en) Trusted mobile device based security
JP5889988B2 (ja) Httpベースの認証
US8775810B1 (en) Self-validating authentication token
JP5009294B2 (ja) 分散シングルサインオンサービス
US7913084B2 (en) Policy driven, credential delegation for single sign on and secure access to network resources
US9749301B2 (en) Cryptographic web service
US8893242B2 (en) System and method for pool-based identity generation and use for service access
KR101817152B1 (ko) 신뢰된 권한 정보 제공 방법, 신뢰된 권한 정보를 포함하는 사용자 크리덴셜 발급 방법 및 사용자 크리덴셜 획득 방법
RU2685975C2 (ru) Обеспечение безопасности связи с расширенными мультимедийными платформами
US20100211772A1 (en) Collaborative Reconciliation of Application Trustworthiness
US7716481B2 (en) System and method for secure exchange of trust information
US20090210719A1 (en) Communication control method of determining whether communication is permitted/not permitted, and computer-readable recording medium recording communication control program
JP2008287359A (ja) 認証装置及びプログラム
JP4882255B2 (ja) 属性証明書管理装置および方法
JP5487659B2 (ja) 情報処理装置、情報処理方法およびプログラム
US10423776B1 (en) Systems and methods for password-based authentication
TWI849942B (zh) 多裝置多因子動態強加密認證方法
WO2017024588A1 (zh) 业务处理方法及装置
Tysowski OAuth standard for user authorization of cloud services
GB2622355A (en) Enclave architecture

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