KR100702421B1 - 웹 기반의 교차 도메인 단일 사용 승인의 인증 방법 및시스템 - Google Patents

웹 기반의 교차 도메인 단일 사용 승인의 인증 방법 및시스템 Download PDF

Info

Publication number
KR100702421B1
KR100702421B1 KR1020037006201A KR20037006201A KR100702421B1 KR 100702421 B1 KR100702421 B1 KR 100702421B1 KR 1020037006201 A KR1020037006201 A KR 1020037006201A KR 20037006201 A KR20037006201 A KR 20037006201A KR 100702421 B1 KR100702421 B1 KR 100702421B1
Authority
KR
South Korea
Prior art keywords
domain
user
server
authentication
delete delete
Prior art date
Application number
KR1020037006201A
Other languages
English (en)
Other versions
KR20030048118A (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 KR20030048118A publication Critical patent/KR20030048118A/ko
Application granted granted Critical
Publication of KR100702421B1 publication Critical patent/KR100702421B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0815Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/101Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities
    • G06F21/1012Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities to domains
    • 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/31User authentication
    • G06F21/41User authentication where a single sign-on provides access to a plurality of computers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • 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
    • H04L9/3234Cryptographic 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 involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
    • 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
    • H04L9/3271Cryptographic 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 using challenge-response
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2131Lost password, e.g. recovery of lost or forgotten passwords
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2137Time limited access, e.g. to a computer or data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2149Restricted operating environment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2151Time stamp
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/168Implementing security features at a particular protocol layer above the transport layer

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Information Transfer Between Computers (AREA)
  • Storage Device Security (AREA)
  • Preliminary Treatment Of Fibers (AREA)
  • Chemical Or Physical Treatment Of Fibers (AREA)
  • General Factory Administration (AREA)
  • Computer And Data Communications (AREA)
  • Aiming, Guidance, Guns With A Light Source, Armor, Camouflage, And Targets (AREA)

Abstract

교차 도메인 단일 사용 승인(cross-domain single-sign-on) 기능을 위한 방법, 시스템, 또는 컴퓨터 프로그램 제품이 제공된다. 본 방법에서는 이미 인증받은 사용자를 한 도메인에서 새로운 도메인에 소개하기 위해 "안내 인증 토큰"을 사용한다. 이 토큰은 HTTP 리디렉션을 사용하여 한 도메인에서 다른 도메인으로 전달된다. 이 토큰은 외부 사용자가 위조된 안내 토큰을 발생할 수 없도록 안전한 방식으로 2개의 도메인 사이에서만 공유되는 암호키로 암호화하여 보호된다. 안내 토큰은 불법 사용자가 토큰의 수명 동안 안내 토큰을 사용 또는 재사용할 수 없도록 그 토큰이 한정된 수명으로 기능하게 함으로써 추가적으로 보호된다. 사용자가 새로운 보안 도메인에 소개된 후에, 사용자의 자원 요청들 모두가 새로운 도메인에 의해 허가된다.

Description

웹 기반의 교차 도메인 단일 사용 승인의 인증 방법 및 시스템{METHOD AND SYSTEM FOR WEB-BASED CROSS-DOMAIN SINGLE-SIGN-ON AUTHENTICATION}
본 발명은 개선된 데이터 처리 시스템에 관한 것으로서, 구체적으로는 멀티컴퓨터 데이터 전송 방법 및 장치에 관한 것이다. 보다 구체적으로는, 본 발명은 컴퓨터간 인증(computer-to-computer authentication) 방법 및 장치를 제공한다.
정보 기술(IT) 시스템 및 인터넷은 현재의 세계 경제의 성장을 촉발시켰다. IT 시스템은 상당한 이점을 가지고 있는 반면에, 동시에 허가받지 않은 제3자로부터의 잠재적인 보안 위협에 직면해 있다. 사실, 현대의 IT 시스템에 있어서의 보안 결여가 글로벌 컴퓨터 네트워크의 무결성에 대한 위협으로서 부상하였다.
이 문제에 대처하기 위해, IT 시스템은 수많은 공지의 서비스, 즉 데이터 인증(data authentication), 데이터 기밀성(data conf아이덴티티entiality), 개체 인증(entity authentication), 허가(authorization) 등을 제공한다. 데이터 인증은 일반적으로 2가지 부가서비스, 데이터 무결성(data integrity) 및 데이터 발신자 인증(data origin authentication)으로 이루어진다. 데이터 무결성 서비스는 주어진 데이터의 수신자에 대해 그 데이터가 전송 동안에 변경되지 않았다는 것을 확신시켜 주기 위해 사용된다. 데이터 발신자 인증은 실제 송신자의 신원을 수신자에게 증명해준다. 데이터 기밀성은 전송 동안에 데이터가 공개되지 않도록 보호해준다. 개체 인증은 어떤 개체가 자신이 본인이라는 증거를 시스템에 제공한다.
허가란 인증받은 개체가 어떤 행동을 실행할 권리를 갖는지 여부를 결정하는 행위를 말한다. 따라서 허가와 인증은 중복 서비스(dual service)이다. 허가를 부여할 수 있기 위해서는, (예를 들면, 개체 인증에 의해) 그 개체가 누구인지를 결정할 필요가 있다. 허가는 일반적으로 2가지 개별적인 단계, 즉 특정 개체에 특권(허가 증명서)을 부여하는 단계와, 그 개체에 접근을 허여해야 하는지를 결정하기 위해 그 개체가 그 자원에 있는 접근 결정 규칙들과 함께 이들 특권을 사용하는 단계로 이루어져 있다.
사용자들이 여러가지 장소에 있는 자원들에 안전하게 접근할 수 있게 하는 것이 점차적으로 중요해지고 있다. 예를 들어, 어떤 회사의 직원은 집에 있는 동안 또는 고객의 댁내에 있는 동안 본사 및 지사의 문서나 다른 자원들에 접근할 필요가 있을 수 있다. 웹 기반 브라우저는 다중 사용에 대한 적합성으로 인해 이러한 시나리오에 있어서 최상의 도구가 되었다.
표준 HTTP(HyperText Transfer Protocol, 하이퍼텍스트 전송 프로토콜)을 통해 브라우저는 통상 웹 애플리케이션 서버, 즉 WAS라고 불리우는 임의의 HTTP 지원 서버에 접속하여 어떤 자원에 접근하는 데 사용될 수 있다. 대부분의 브라우저는 전송 계층 보안(Transport Layer Security; TLS) 프로토콜을 통해 보안을 제공한다. 이 프로토콜에 의해 브라우저 및 WAS 양자는 서로를 인증, 즉 서로에 대해 자신의 신원을 증명할 수 있으며, 또 이 프로토콜은 이들 양자간에 전송 중인 데이터 에 대한 데이터 보호, 즉 데이터 무결성 및 데이터 기밀성도 제공한다.
TLS/SSL 프로토콜에 의해 제공되는 가장 강력한 인증 형태로는 클라이언트측 및 서버측 인증 기관이 있다. 이러한 인증에서는 클라이언트, 즉 브라우저의 사용자와, 서버, 즉 WAS가 각각 비밀/공개 암호키 쌍 및 관련 증명서를 가지고 있어야만 한다. 공개 키 인증은 사용자의 신원과 공개 키 사이의 바인딩(binding)을 유지시켜주며, 이 공개키는 관련 비밀키에 의해서만 언로크(unlock)될 수 있고, 이들 프로토콜은 상호 인증을 제공하는 데 사용된다.
그렇지만, 클라이언트의 사용자가 인증 및 허가를 모두 받은 사용자에 의해서만 접근될 수 있는 서버 상의 URL에 접근하기를 원하는 경우, 허가를 결정하기 위한 어떤 프로세스가 있어야만 한다. SSL은 허가 또는 다른 보안 서비스를 웹 애플리케이션 서버에 제공하지 않는다. 따라서, 서버는 인증을 통해 사용자의 신원을 확신할 수는 있지만, 사용자의 특권, 즉 사용자가 WAS에 의해 서비스되는 자원에 대한 접근권을 가지고 있는지 여부에 대해서는 모른다.
허가 문제를 해결하기 위한 한가지 방법은 인증 정보를 쿠키에 넣어 전달하는 것이다. 공지된 바와 같이, 쿠키란 특정 사용자의 웹 브라우저에 대해 데이터를 커스터마이징(customize)하기 위해 서버에 의해 설정된 데이터 항목을 말한다. 이와 같이, 쿠키는 HTTP에 "상태"의 등급(a degree of state)을 제공하며, 그렇지 않은 경우 HTTP는 무상태 프로토콜(stateless protocol)이 된다. 클라이언트 머신의 사용자가 웹 서버를 방문할 때, 서버는 사용자의 브라우저에 쿠키를 반환할 수 있다. 쿠키가 HTTP 트랜잭션의 일부분으로서 설정되어 있는 경우, 이 쿠키는 쿠키 가 유효한 경로, 쿠키의 명칭 및 값, 그리고 쿠키의 유효 기간 등의 다른 선택적인 속성들을 포함할 수 있다. 기본적으로 브라우저는 쿠키 데이터를 자동적으로 저장하지만, 통상적으로는 사용자에게 이 자동 저장의 옵션을 제공하거나 이를 알리지 않는다. 사용자가 얼마 이후의 시점에 그 서버를 재방문할 때, 쿠키가 그 요청과 함께 보내지게 되며, 이에 따라 서버는 사용자의 신원을 알게 된다.
쿠키는 디스크 상에 저장되는 영속적 쿠키(persistent cookie)이거나 메모리에 저장되는 메모리 쿠키(memory cookie)일 수 있다. 영속적 쿠키는 클라이언트 브라우저가 닫힌 후에 "cookies.txt"와 같은 클라이언트 파일에 존재하며, 그 다음의 브라우저 세션 동안 이용가능하다. 메모리 쿠키는 브라우저가 종료할 때 사라진다. 그렇지만, 이 2가지 유형의 쿠키 모두는 위험할 수 있는 데, 그 이유는 이 2가지 유형의 쿠키 모두가 트로이 목마를 갖는 자바스크립트, 즉 악의적 코드를 숨기고 있는 호의적 코드와 같은 악의적 코드에 의해 도용될 수 있기 때문이다. 영속적 쿠키가 더 큰 위협이 되는 데 그 이유는 이 2가지 유형의 쿠키 모두가 도용에 취약하지만 영속적 쿠키는 쿠키 파일로부터 도용될 수 있기 때문이다.
따라서, 클라이언트의 브라우저에 설정된 통상의 쿠키들은 서버에 사용자를 확인시켜 주기 위해 사용될 수 있지만, 통상의 쿠키들은 취약성을 내포하고 있다. 어떤 종래 기술의 해결책에서는, 클라이언트 브라우저가 쿠키를 설정했던 서버에 보호된 자원에 대한 요청을 발행할 때, 인증 데이터가 그 쿠키에 넣어 전송되어진다. 그렇지만, 이러한 방법은 그 쿠키를 손에 넣은 공격자가 보호된 자원에 대한 사용자 접근 허가를 획득할 수도 있기 때문에 불안전할 수 있다. 다시 말하면, 쿠 키의 구현이 적절하지 못할 경우 그 소유의 증명이 신원의 증명과 동일시될 수 있다. 더욱 난처한 것은 어떤 쿠키 구현에서는 사용자가 시스템에 인증받는 데 필요한 사용자명 및 패스워드도 포함하고 있다. 이것은 이러한 정보가 도용된 경우에 악의적 사용자가 "정상적인" 수단을 사용하여 시스템에 인증받을 수 있고 그에 따라 위장(impersonation)되어 있는 사용자인 것으로 보일 수 있기 때문에 특히 위험하다. 그러면 악의적 사용자는 서버에 의해 설정된 그 자신의 쿠키를 가질 수 있다.
그 결과, 이들 종래 기술의 방식은 신원 쿠키(아이덴티티entity cookie)를 획득한 자가 단지 이를 주장하는 것만으로 보호된 자원에 접근할 수 있다는 점에서 공격의 재연에 아주 취약하다. HTTP 쿠키의 사용은 공격에 노출되어 있는 불안전한 메카니즘인 것으로 알려져 있다.
앞서 간략하게 기술한 바와 같이, 인증 및 허가는 여러가지 방식으로 달성될 수 있으며, 전술한 바와 같이 기업들은 허가받은 사용자(authorized user)에게 여러 장소로부터의 보호된 자원에 대한 안전한 접근을 사용하기 편리한 방식으로 제공하기를 원할 수 있다. 안전한 인증 메카니즘을 제공하는 것이 보호된 자원에 대한 불법적인 접근의 위험을 감소시키지만, 동일 인증 메카니즘은 보호된 자원과의 상호 작용에 대한 장벽이 될 수도 있다. 사용자는 일반적으로 한 애플리케이션과의 대화에서 다른 애플리케이션으로, 이들 애플리케이션을 지원하는 각각의 특정 시스템을 보호하는 인증 장벽에 상관 없이 건너뛸 수 있기를 원한다.
사용자들이 더욱 세련되어짐에 따라, 사용자들은 컴퓨터 시스템들이 그들의 행동을 조정하여 사용자의 부담이 경감되기를 원한다. 이러한 형태의 기대가 인증 프로세스에도 적용된다. 사용자는 일단 자기가 어떤 컴퓨터 시스템의 의해 인증받었다면 사용자에게는 거의 보이지 않는 각종의 컴퓨터 아키텍쳐 경계에 관계없이 그 인증이 사용자의 작업 세션 전체에 걸쳐, 또는 적어도 특정의 기간 동안은 유효할 것이라고 가정할지도 모른다. 기업들은 일반적으로 사용자 효율성이 직원 생산성에 관련되어있든 고객 만족에 관련되어 있든지간에, 사용자를 위로할 뿐만 아니라 사용자 효율성을 제고하기 위해 기업의 설치된 시스템들의 동작 특성에 이들 기대를 실현시키고자 노력한다.
애플리케이션에 대한 효율적인 접근의 문제는 인터넷의 발전과 함께 더욱 중요해졌다. 웹 기반 및 인터넷 기반의 애플리케이션은 이제 너무나 흔하기 때문에, 사람들이 새로운 제품 또는 서비스를 배울 때 그 제품 또는 서비스가 인터넷 기능을 그 제품 또는 서비스에 포함하고 있을 것으로 가정한다. 많은 애플리케이션이 통상의 브라우저를 통해 접근가능한 웹 기반의 사용자 인터페이스를 갖고 있는 현재의 컴퓨터 환경에서, 사용자는 더 많은 사용 편의성 및 한 웹 기반 애플리케이션에서 다른 애플리케이션으로의 이동에 대한 장벽이 낮거나 적을 것을 기대한다. 이와 관련하여, 사용자들은 한 인터넷 도메인 상의 애플리케이션과의 대화에서 다른 도메인 상의 다른 애플리케이션으로 건너뛰는 것을, 각각의 특정 도메인을 보호하는 인증 장벽에 관계 없이 행할 수 있기를 기대하고 있다.
대부분의 기업들은 인터넷 기반 시스템을 설치하고 있는 중이다. 중요한 독점적 기술을 포함하는 새로운 애플리케이션의 개발은 기업에 그렇게 해야 할 상당 히 절박한 사정이 있는 경우에만 행해진다. 다른 경우에, 많은 레거시 시스템들은 시스템 서비스가 전술한 브라우저 등을 통해 널리 이용가능하지만 안전하도록 공개 표준에 기능을 부가하여 갱신되어 왔다.
인터넷 또는 회사 인트라넷을 통해 보다 편리하게 갱신된 레거시 시스템들에 접근될 수 있지만, 어떤 시스템들을 변경하지 못하는 정당한 이유들이 있을 수 있다. 많은 기업들이 유지하고 있지만 신기술로 갱신하고 있지 않는 레거시 시스템을 보유하고 있다. 다른 레거시 시스템들은 변경되지 않고 다른 웹 기반 애플리케이션과의 대화에 사용해야만 하는 기능 인터페이스가 설치되어 있을 뿐이다.
새로 설치된 시스템 및 레거시 시스템 모두는 인터넷을 통한 사용자 접근을 제공할 수 있으며, 사용자 인증 프로세스는 여러가지 많은 방법으로 구현될 수 있다. 그렇지만, 많은 시스템들이 사용하기 쉬운 웹 기반 인터페이스를 통한 안전한 인증을 제공할지라도, 사용자는 여전히 한 세트의 도메인들간의 사용자 접근을 방해하는 다수의 인증 프로세스에 어쩔 수 없이 직면하고 있을 수 있다. 사용자를 주어진 시간 프레임에 다수의 인증 프로세스에 구속시키는 것은 사용자의 효율성에 상당히 영향을 줄 수 있다.
전술한 바와 같이, 쿠키는 클라이언트-서버 시스템 내에서 사용자 인증을 신속히 처리하기 위해 여러가지 방식으로 사용되어져 왔다. 쿠키가 인증 장벽의 최소화를 일반적으로 불안전한 방식으로 행할 수 있지만, 쿠키는 주어진 DNS(Domain Name System; 도메인 이름 시스템) 도메인 내에서만 유효할 뿐이다. 따라서, 사용자가 한 세트의 도메인들간을 이동할 때, 쿠키는 도메인들 간에 인증 정보를 전달 하는 데는 사용될 수 없다.
따라서, 분산된 시스템 전체에 걸친 사용자 인증이 각각의 보안 도메인에 대한 인증 장벽 없이 제공될 수 있는 방법 및 시스템을 가지고 있으면 유리할 것이다. 다시 말하면, 사용자가 한 보안 도메인에 인증을 받고 나서 다른 보안 도메인으로 이동할 때 그 제2 도메인에 재인증을 받을 필요가 없는 교차 도메인 단일 사용 승인(cross-domain, single-sign-on) 인증을 가지면 유리할 것이다. 공개 표준의 적법한 사용에만 전적으로 기초하는 방식으로 이들 공개 표준을 사용하면 특히 유리할 것이다.
본 발명은 교차 도메인 SSO(single-sign-on) 인증 기능을 위한 방법, 시스템, 장치 또는 컴퓨터 프로그램 제품에 관한 것이다. 본 방법에서는 이미 인증받은 사용자를 한 도메인에서 새로운 도메인으로 소개하기 위해 "안내 인증 토큰(introductory authentication token)"을 사용한다. 이 토큰은 HTTP 리디렉션(redirection)을 사용하여 한 도메인에서 다른 도메인으로 전달된다. 이 토큰은 이 2개의 도메인 사이에서만 안전한 방식으로 공유되는 암호키로 암호화하여 보호됨으로써 외부 사용자가 위조된 안내 토큰을 발생할 수 없도록 되어 있다. 안내 토큰은 부정 사용되는 경우에도 짧은 기간 동안만 유효하도록 이 안내 토큰을 한정된 수명으로 동작하게 하여 추가로 보호될 수 있게 되어 있으며, 따라서 불법적인 사용자는 안내 토큰의 수명 내에 그 토큰을 사용 또는 재사용할 수 없게 된다.
사용자가 새로운 도메인에 소개된 후에, 새로운 도메인은 소개한 도메인이 설명하는 사용자의 신원에 기초하여 사용자의 자원 요청들 모두를 허가한다. 다시 말하면, 소개한 도메인은 사용자를 새로운 도메인으로 소개할 때만 교차 도메인 기능에 참여하게 된다. 소개한 도메인이 인증 프로세스에 참여한 후에는, 모든 허가 프로세스에 대해 전적인 책임은 새로운 도메인이 지게 된다. 개개의 도메인 각각은 그 자신의 도메인 내에서 접근 제어 기능을 제공하는 것에 대한 책임을 진다.
도 1a는 본 발명을 각각 구현할 수 있는 데이터 처리 시스템들로 이루어진 전형적인 네트워크를 나타낸 도면이다.
도 1b는 본 발명이 구현될 수 있는 웹 기반 환경을 나타낸 도면이다.
도 1c는 클라이언트가 보호된 자원에 대한 접근을 시도할 때 사용될 수 있는 종래 기술의 프로세스를 나타낸 데이터 흐름도이다.
도 2는 본 발명의 양호한 실시예에 따라 구현되는 교차 도메인 SSO(single-sing-on) 프로세스를 나타낸 플로우차트이다.
도 3a는 한 세트의 교차 도메인(cross-domain) SSO(CD-SSO) 도메인들 내에서의 정보의 논리적 구성을 나타낸 도면이다.
도 3b는 CD-SSO 도메인 내의 보호된 자원이나 다른 자원에 대한 지시자(indicator)를 갖는 주요 부분(main portion)과 보호된 자원에 대한 지시자를 보여주는 경계 부분(border portion)을 보여주는 교차 도메인 단일 사용 승인 도메인으로부터 전형적인 웹 페이지를 나타낸 도면으로서, 보호된 자원으로부터의 접근은 CD-SSO 도메인에서 기동될 수 있지만 그 보호된 자원은 다른 CD-SSO 도메인에 있는 서버에 의해 저장 및 제어된다.
도 3c는 CD-SSO 도메인에 있는 보호된 자원들의 몇몇 URI가 북마크되어 저장되어 있는 전형적인 북마크 파일을 나타낸 것이다.
도 4a 및 도 4b는 본 발명의 양호한 실시예에 따라 사용자가 CD-SSO 도메인간을 이동할 때 관련된 몇몇 처리를 나타낸 데이터 흐름도이다.
본 발명의 신규한 것으로 생각되는 특성은 첨부된 청구항들에 기재되어 있다. 본 발명 자체, 추가의 목적 및 그 이점들은 첨부 도면을 참조하여 본 발명의 이하의 상세한 설명을 살펴 보면 잘 이해될 것이다.
이제부터 도면을 참조하면, 도 1a는 각각이 본 발명을 구현할 수 있는 데이터 처리 시스템들로 이루어진 전형적인 네트워크를 나타낸 것이다. 분산 데이터 처리 시스템(100)은 분산 데이터 처리 시스템(100) 내의 서로 연결된 여러가지 장치 및 컴퓨터들간의 통신 링크를 제공하는 데 사용될 수 있는 매체인 네트워크(101)를 포함한다. 네트워크(101)는 유선(wire) 또는 광 파이버 케이블과 같은 영속적 연결(permanent connection)이나 전화 또는 무선 통신을 통해 행해지는 일시적 연결(temporary connection)을 포함할 수 있다. 도시된 일례에서, 서버(102) 및 서버(103)는 저장 장치(104)와 함께 네트워크(101)에 연결되어 있다. 그 밖에, 클라이언트(105-107)도 네트워크(101)에 연결되어 있다. 클라이언트(105-107) 및 서버(102, 103)는 메인프레임, 퍼스널 컴퓨터, 개인 휴대 단말기(personal digital assistant; PDA) 등과 같은 각종의 컴퓨팅 장치로 표현될 수 있다. 분산 데이터 처리 시스템(100)은 부가의 서버, 클라이언트, 라우터, 다른 장치 및 등배간 아키텍쳐(peer-to-peer architecture)를 포함할 수 있으며, 이에 대한 도시는 생략하였다.
도시된 일례에서, 분산 데이터 처리 시스템(100)은 서로 통신하기 위해 LDAP, TCP/IP, HTTP 등과 같은 각종의 프로토콜을 사용하는 게이트웨이 및 네트워크의 전세계적인 집합체를 나타내는 네트워크(101)를 갖는 인터넷을 포함할 수 있다. 물론, 분산 데이터 처리 시스템(100)은 예를 들면 인트라넷, LAN(local area network), WAN(w아이덴티티e ared network)과 같은 다수의 여러가지 형태의 네트워크도 포함할 수 있다. 예를 들어, 서버(102)는 무선 통신 링크를 포함한 네트워크(110) 및 클라이언트(109)를 직접 지원한다. 네트워크 지원 전화(network-enabled phone; 111)는 무선 링크(112)를 통해 네트워크(110)에 연결되고, PDA(113)는 무선 링크(114)를 통해 네트워크(110)에 연결된다. 전화(111) 및 PDA(113)는 또한 소위 개인 영역 네트워크(personal area network) 또는 개인 임시 네트워크(personal ad-hoc network)를 생성하기 위해 블루투스™ 무선 기술과 같은 적당한 기술을 사용하여 무선 링크(115)를 통해 서로간에 직접 데이터를 전송할 수도 있다. 이와 마찬가지로, PDA(113)은 무선 통신 링크(116)를 통해 PDA(107)로 데이터를 전송할 수 있다.
본 발명은 각종의 하드웨어 플랫폼 및 소프트웨어 환경에서 구현될 수 있다. 도 1a는 이기종 컴퓨팅 환경의 일례를 든 것으로서 본 발명의 아키텍쳐를 한정하려 는 것은 아니다.
이제 도 1b를 참조하면, 본 발명이 구현될 수 있는 보다 구체적이면서 일반적인 웹 기반 환경을 나타낸 네트워크도가 도시되어 있다. 이러한 환경에서, 클라이언트(150)에서의 브라우저(152) 사용자는 DNS 도메인(156) 내의 웹 애플리케이션 서버(154) 또는 DNS 도메인(160) 내의 웹 애플리케이션 서버(158) 상의 보호된 자원에 접근하기를 원하고 있다. 보호된 자원이란 요청측 클라이언트 브라우저가 인증도 받고 허가도 받은 경우에만 접근 또는 검색되는 자원(애플리케이션, 객체, 문서, 페이지, 파일, 실행가능 코드, 또는 다른 계산 자원, 통신 유형 자원 등)을 말한다. 각각의 DNS 도메인은 관련 인증 서버(162)를 가질 수 있다. 일반적으로는, 사용자가 일단 인증 서버에 의해 인증받은 경우, 쿠키가 설정되어 브라우저 내의 쿠키 캐시에 저장될 수 있다. 요청측 클라이언트는 보호된 자원에 대한 인트라도메인 요청(intra-domain request) 또는 인터도메인 요청(inter-domain request)을 행할 수 있다. 인트라 도메인 요청이란 목표 자원이 인증을 수행하는 동일 서버 상에 위치하는 것을 의미한다. 인터도메인 요청이란 목표 자원이 동일 인터넷 도메인 내에 위치하지만 인증을 확립한 인증 서버가 아닌 다른 서버 상에 위치하는 것을 의미한다. 교차 도메인 요청(cross-domain request)이란 사용자가 현재 사용하고 있는 DNS 도메인의 외부에 있는 보호된 자원에 접근하기를 원하는 것을 의미한다.
전술한 바와 같이, 본 발명은 각종의 네트워크 및 하드웨어 플랫폼 내에서 사용될 수 있다. 보다 구체적으로는, 본 발명은 사용자가 다수의 제휴 도메인들 내에 있는 보호된 자원에 대한 접근을 시도할 때 인증을 위해 사용자가 질의를 받지 않도록 하는 방법론을 제공한다. 이것에 의해 교차 도메인 SSO 연합 또는 협정에 참여하는 도메인들간에 어느 정도의 자유로운 이동이 가능하게 된다. 예를 들면, 대규모 엑스트라넷(extranet)은 그 자신의 일단의 사용자 및 보호된 자원을 각각 갖는 다수의 도메인을 가질 수 있다. 그렇지만, 보호된 자원은 공통되는 전사적인 연관을 가질 수 있으며, 일단의 사용자들 간에 상당한 중복이 있을 수 있다. 사용자는 별개의 도메인에 들어갈 때 다수의 인증 질의를 통과할 필요가 없다는 점에서 얼마간 효율성 또는 생산성을 달성할 수 있다. 따라서, 본 발명은 웹 사이트들간의 자유로운 이동에 대한 장벽을 제거하고자 하는 것이다.
이제 도 1c를 참조하면, 클라이언트가 보호된 자원에 대한 접근을 시도할 때 사용될 수 있는 종래 기술의 프로세스를 설명하는 데이터 흐름도가 도시되어 있다. 도시한 바와 같이, 클라이언트 웍스테이션(170)에 있는 사용자는 이 클라이언트 웍스테이션 상에서 실행되는 사용자의 웹 브라우저를 통해, 컴퓨터 네트워크를 거쳐 서버(172) 상의 보호된 자원에 대한 접근을 시도한다. 전술한 바와 같이, 보호된 자원은 인증 및 허가를 받은 사용자에 의해서만 접근될 수 있는 URL(Uniform Resource Locator), 보다 일반적으로는 URI(Uniform Resource 아이덴티티entifier)에 의해 식별된다. 컴퓨터 네트워크는 도 1a 또는 도 1b에 도시한 바와 같이 인터넷, 인트라넷 또는 다른 네트워크일 수 있으며, 서버는 웹 애플리케이션 서버(WAS), 서버 애플리케이션, 서블릿 프로세스 등일 수 있다.
프로세스는 사용자가 도메인 "ibm.com" 내의 웹 페이지와 같은 보호된 자원 을 요청할 때 개시된다(단계 174). 웹 브라우저(또는 관련 애플리케이션 또는 애플릿)는 도메인 "ibm.com"을 호스팅하고 있는 웹 서버로 전송되는 HTTP 요청을 발생한다(단계 176). 서버는 그 클라이언트에 대한 활성 세션(active session)을 가지고 있지 않은 것으로 판정하고(단계 178), 따라서 서버는 클라이언트에 어떤 유형의 인증 질의(authentication challenge)를 전송함으로써(단계 180) 사용자에게 인증 프로세스를 수행하도록 요구한다. 인증 질의는 하이퍼텍스트 마크업 언어(HTML) 양식과 같은 여러가지 양식으로 되어 있을 수 있으며, 사용자는 사용자 식별자 및 관련 패스워드와 같은 필요 정보를 그 양식에 입력해야만 한다(단계 182).
HTML 양식 내의 인증 응답 정보는 서버로 포스팅(post)되고(단계 184), 이 때 서버는 이전에 제출된 등록 정보를 검색하여 이 제시된 인증 정보를 사용자의 저장된 정보와 매칭시킴으로써 사용자를 인증한다. 인증이 성공적이라고 가정할 때, 고유의 세션 식별자(세션 아이덴티티)를 갖는 SSL(Secure Socket Layer; 보안 소켓 계층) 세션이 인증된 사용자에게 할당됨으로써 사용자로부터의 후속하는 요청들은 또다른 인증 질의를 트리거하지 않게 된다(단계 186). 즉, 사용자는 이전에 인증받은 것으로 인식될 것이다.
도 1c가 전형적인 종래 기술의 프로세스를 나타내고 있지만, 유의할 점은 활성 세션을 갖는 사용자를 식별하기 위해 쿠키를 사용하는 것과 같은 다른 대안적인 세션 상태 관리 기술들이 이 시점에서 설명될 수 있으며, 이는 인증 증거를 제공하는 데 사용되는 동일 쿠키의 사용을 포함할 수 있다는 것이다.
그 다음에 서버는 요청된 웹 페이지를 검색하여 클라이언트에 HTTP 응답을 전송한다(단계 188). 그 때, 사용자는 브라우저 내에서 하이퍼텍스트 링크를 클릭함으로써 "ibm.com" 내의 다른 페이지를 요청할 수 있고(단계 190), 브라우저는 다른 HTTP 요청을 서버로 전송한다(단계 192). 그 때, 서버는 사용자가 활성 세션을 가지고 있는 것으로 인식하고(단계 194), 서버는 또다른 HTTP 응답에서 요청된 웹 페이지를 그 클라이언트에 다시 전송한다(단계 196).
이와 반대로, 본 발명에서는 어떤 사용자를 이미 인증한 제1 도메인은 그 사용자가 제2 도메인에 있는 보호된 자원에 대한 접근을 시도할 때 안내 인증 토큰(introductory authentication token)을 발생한다. 그 다음에, 안내 인증 토큰은 HTTP-리디렉션을 통해 제1 도메인으로부터 제2 도메인으로 전달된다. 제2 도메인은 이 안내 토큰을 사용자의 신원에 대한 증거로서 받아들일 수 있고, 그 다음에 제2 도메인은 제1 도메인에 의해 제시된 사용자 신원으로부터 도출되는 제2 도메인 내에서의 사용자의 신원에 따라, 제2 도메인 내의 특정 자원들에 대한 사용자의 접근을 허가할 수 있다. 본 발명의 이들 및 다른 특징들에 대해서 이하에서 더욱 상세히 설명하기로 한다.
이제 도 2를 참조하면, 본 발명의 양호한 실시예에 따라 구현되는 CD-SSO(cross-domain, single-sign-on) 프로세스를 나타낸 플로우차트가 도시되어 있다.
유의할 점은 도 2 내지 도 4b에서 클라이언트가 보호된 자원에 대한 요청을 수신하는 서버 상의 활성 세션을 가지고 있는지 여부를 결정하기 위해 각종의 세션 상태 관리 기술들을 사용할 수 있다는 것이다. 양호한 실시예에서, 세션 상태 관리자 요소(session state manager component)는 SSL 세션 아이덴티티를 추적하는 데 사용될 수 있으며, 이 경우 각 클라이언트는 CD-SSO 서버에 인증을 받을 때 각각의 CD-SSO 서버에 의해 고유의 SSL 세션 아이덴티티를 할당받는다. 다른 대안에서는, 세션의 지속 기간 동안 클라이언트에 쿠키를 설정하는 것과 같은 다른 세션 관리 방법들도 사용될 수 있다.
그렇지만, 여러가지 세션 관리 방법들은 서로 다른 이점 및 취약점들을 갖는다는 것은 잘 알려져 있다. 쿠키를 사용하지 않고 또 세션 아이덴티티의 사용하는 것만으로 세션 관리가 달성되는 경우, 클라이언트 세션의 종료는 전적으로 서버측에서 달성될 수 있다. 주어진 세션 관리 구현에서 쿠키가 사용되는 경우, 서버가 로그아웃 프로세스가 완벽하게 안전하도록 보장하려 한다면 그 세션을 위해 클라이언트에 설정된 임의의 쿠키들을 삭제하는 등의 쿠키 흔적(cookie trail)을 없애기 위해 추가의 단계를 수행해야만 한다. 본 발명이 인증을 위해 쿠키의 사용을 회피하기 때문에 본 발명은 쿠키리스(cookie-less) 세션 상태 관리와 결합할 수 있으며, 이에 따라 CD-SSO 도메인 그룹 내에서 기능하는 어떤 서버도 쿠키를 사용하지 않고 CD-SSO 기능을 실현할 수 있게 된다.
이 프로세스는 서버가 클라이언트로부터 보호된 자원에 대한 요청을 수신할 때(단계 202) 시작한다. 이 일례에서, 서버는 인증 프로세스 및 웹 애플리케이션 지원에 대한 책임을 질 수 있다.
그 다음에 서버는 자신이 그 클라이언트에 대한 활성 SSL 세션을 가지고 있 는지 여부를 결정한다(단계 204). 가지고 있는 경우, 서버는 자신의 캐시로부터 클라이언트의 증명서(credential)를 검색한다(단계 206). 보호된 자원에 대한 각 클라이언트의 요청에 앞서 그 클라이언트가 자신의 증명서에 적절한 접근 특권을 가지고 있는지 여부를 검사한다. 이 일례에서, 서버가 일단 클라이언트의 증명서를 검색하면, 그 클라이언트가 보호된 자원에 대한 행동을 요청할 적절한 특권을 가지고 있는 것으로 가정된다. 그 다음에 서버는 클라이언트 요청을 처리하고(단계 208), 응답을 발생하여 클라이언트에 반환한다(단계 210). 그 다음에 클라이언트는 부가의 요청을 전송한다.
단계 204에서 결정된 바와 같이, 서버가 그 클라이언트에 대한 활성 SSL 세션을 확립하고 있지 않은 경우, 서버는 클라이언트의 HTTP 요청이 양호하게는 URI에 첨부되어 있는 안내 인증 토큰을 포함하고 있는지 여부를 결정한다(단계 212). 이하에 보다 상세히 설명하는 바와 같이, 본 발명의 안내 인증 토큰에 의해 사용자는 본 발명에 따라 CD-SSO 기능을 제공하는 일군의 도메인들 사이를 이동할 수 있게 된다. HTTP 메시지가 안내 인증 토큰을 가지고 있지 않은 경우, 도 1c와 관련하여 기술한 바와 같이, 서버는 클라이언트에 있는 사용자에 대해 수동 인증 프로세스를 완료하도록 강요한다. 인증 프로세스가 성공적이었는지 여부에 관한 결정이 행해진다(단계 214).
인증 프로세스가 성공적인 경우, 서버는 사용자/클라이언트의 증명서를 작성하여 캐싱하고(단계 216), 그 동안 서버는 SSL 세션을 확립하여 클라이언트에 SSL 세션 아이덴티티를 할당한다. 그 때, 서버는 보호된 자원에 대한 클라이언트의 요청을 처리할 수 있고(단계 208) 그 다음에 발생된 응답을 클라이언트에 반환할 수 있다(단계 210). 사용자가 인증 프로세스를 성공적으로 완료하지 못한 경우, 서버는 사용자에 대해 어떤 유형의 에러 메시지를 발생할 수 있고(단계 218), 이 응답은 클라이언트에 반환된다(단계 210).
클라이언트로부터의 HTTP 요청이 본 발명에서는 양호하게는 HTTP 요청 내의 URI에 첨부되어 있는 안내 인증 토큰을 포함하고 있는 경우, 서버는 안내 인증 토큰을 해독하여(단계 220) 그 토큰으로부터 클라이언트를 운영하는 사용자의 사용자 아이덴티티, 사용자가 빠져 나오고 있는 도메인 및 타임스탬프 등의 여러가지 데이터 항목을 추출한다.
타임스탬프는 토큰이 유한 수명을 가지도록 선택적으로 포함될 수 있으며, 이에 따라 미지의 제3자를 부적절하게 인증할 위험을 감소시킨다. 타임스탬프가 유효한지 여부에 관한 결정을 행한다(단계 224). 타임스탬프의 유효성은 현재 시각과 타임스탬프를 비교하고 이 양자간의 시간차가 이러한 타임스탬프에 대한 최대 임계값을 나타내는 시스템 파라미터의 값보다 작은지 여부를 결정함으로써 확정될 수 있다. 타임스탬프가 허용할 수 없는 것인 경우, 플로우차트에서 단계(214)로의 피드백 분기로 나타낸 바와 같이, 서버는 클라이언트에 있는 사용자에 대해 수동 인증 프로세스를 성공적으로 완료하도록 요구할 수 있다. 타임스탬프가 허용가능한 것인 경우, 플로우차트에서 단계(216)로의 분기로 나타낸 바와 같이, 서버는 그 클라이언트에 대한 SSL 세션을 확립한다. 응답이 일단 다시 클라이언트로 전송되면, 보호된 자원에 대한 클라이언트의 요청의 처리는 완료된다.
이제 도 3a를 참조하면, 한 세트의 CD-SSO 도메인들 내의 정보의 논리적 구성을 나타낸 블록도가 도시되어 있다. CD-SSO 도메인 세트(300)는 CD-SSO 기능을 포함한 한 세트의 도메인을 나타낸다. 도메인 세트(300)를 갖는 각 도메인은 자신의 도메인 내에 보호된 자원 및 비보호된 자원을 가지고 있다. 자원이 "도메인 내에" 있는 경우, 그 자원은 특정 도메인의 도메인 이름 공간(domain name space) 내에 있다. 도메인 이름은 네트워크 연결의 주소로서, 도메인 이름 주소와 숫자로 된 IP 주소를 공지된 방식으로 연관시키는 도메인 이름 시스템(Domain Name System; DNS)에 따라 계층적 형식으로 그 주소의 소유 개체를 식별한다. 예를 들어, 이 경우에 주소 "http://www.domain.org/homepage.htm"에 있는 웹 페이지인 자원은 도메인 "domain.org" 내에 있다.
도메인(310, 320, 330, 340)은 자신의 도메인 내에 보호된 자원 또는 다른 유형의 자원들을 가지고 있으며, 이들 자원은 동 도면에 보호된 자원(312, 322, 332, 342)으로서 도시되어 있다. 공지된 방식에서는, 인증 및 허가받은 사용자들은 주어진 자원에 대한 요청을 그 주어진 자원을 저장 또는 포함하고 있는 주어진 도메인을 지원하는 서버에 전송함으로써 이들 자원에 접근할 수 있다. 각각의 자원은 클라이언트 컴퓨터 상의 브라우저 애플리케이션 내에 표시되는 웹 페이지 내에 하나 이상의 그래픽 사용자 인터페이스(GUI) 지시자에 의해 표현될 수 있으며, 사용자가 GUI 지시자를 선택하면, 브라우저는 그 자원에 대한 요청을 GUI 지시자와 관련된 도메인 주소에 의해 지정된 서버에 전송함으로써 그 자원을 획득하려고 시도한다.
본 발명에서, 도메인(310, 320, 330, 340)은 또한 주어진 도메인에 있는 것으로 알고 있지만 실제로는 CD-SSO 도메인 세트 내의 다른 도메인들로부터 서비스되는 어떤 다른 자원들에 대한 초기 접속성을 제공한다. 각 도메인은 하나 이상의 다른 도메인에 의해 제공되는 보호된 자원 또는 다른 유형의 자원의 부분집합을 "알고" 있으며, 각 도메인은 다른 도메인 또는 도메인들에 있는 자원들의 부분집합에 대한 접근을 처음으로 요청하기 위한 어떤 방법을 제공한다. 예를 들어, 도메인(310)은 접근 요청 메카니즘(314, 316, 318)을 통해 다른 CD-SSO 도메인 자원들에 대한 최초 접근을 제공하고, 도메인(320)은 접근 요청 메카니즘(324, 326, 328)을 통해 다른 CD-SSO 도메인 자원들에 대한 최초 접근을 제공하며, 도메인(330)은 접근 요청 메카니즘(334, 336, 338)을 통해 다른 CD-SSO 도메인 자원들에 대한 최초 접근을 제공하고, 도메인(340)은 접근 요청 메카니즘(344, 346, 348)을 통해 다른 CD-SSO 도메인 자원들에 대한 최초 접근을 제공한다.
이제 도 3b를 참조하면, CD-SSO 도메인 내의 보호된 자원 또는 다른 자원에 대한 지시자를 갖는 주요부와, 보호된 자원 또는 다른 자원에 대한 지시자를 보여주는 경계부 - 이 경계부의 자원은 CD-SSO 도메인에서 접근이 개시될 수 있지만 그 자원은 다른 CD-SSO 도메인에 있는 서버에 의해 저장 및 제어됨 - 을 보여주는 CD-SSO 도메인으로부터의 전형적인 웹 페이지가 도시되어 있다. 도 3b는 사용자가 각종의 도메인으로부터 자원을 용이하게 요청할 수 있게 해주는 GUI 지시자들을 도시한 것으로서, 이 경우 도메인들 내의 정보에 대한 접근은 도 3a에 도시된 바와 같이 논리적으로 구성되어 있다.
유의할 점은 본 발명이 보호된 자원에 대한 교차 도메인 접근(cross-domain access)의 제공에 관한 것이라는 것이다. 각 도메인이 하나 이상의 다른 도메인에 의해 제공되는 비보호된 자원의 부분집합을 알고 있을 수 있지만, 이 일례들에서 보호된 자원들에 대한 요청에 중점을 두고 있는 이유는 이러한 유형의 요청들이 본 발명의 CD-SSO 기능을 기동시키기 때문이다.
웹 페이지(350)는 브라우저 애플리케이션 윈도우 내에 표시될 수 있는 여러가지 GUI 아이콘 및 하이퍼텍스트 링크를 보여준다. 아이콘 및 하이퍼링크는 브라우저 애플리케이션의 사용자에 의해 공지된 방식으로 선택될 수 있다. 웹 페이지(350)의 주요부(352)는 사용자가 열람 및 접근 중에 있는 웹 사이트의 도메인 이름을 가리킨다. 하이퍼링크(354)는 사용자가 방문하기를 원할 수 있는 그 웹 사이트의 다른 부분을 가리킨다.
하이퍼링크(356)는 사용자가 방문하기를 원할 수 있는 다른 웹 사이트의 도메인 이름을 가리킨다. 하이퍼링크(356)는 웹 페이지(350)를 제공한 도메인을 포함하는 한 세트의 CD-SSO 도메인들을 형성하는 CD-SSO 도메인들과 관련되어 있다.
이 일례에서, 웹 페이지(350)는 도메인 "IBMEast.com"으로부터 서비스된 것이다. 사용자는 웹 페이지(350)에 의해 표현된 마크업 언어 파일 내에 포함되어 있는 하이퍼링크(356)와 관련되어 있는 실제의 주소를 보지 못한다. 그렇지만, 하이퍼링크 각각은 다른 도메인들에 대한 접근을 개시하는 "IBMEast.com"의 주소와 관련되어 있다. 예를 들어, 웹 페이지(350) 내의 하이퍼링크 "IBMWest.com"는 마크업 언어 파일 내의 "http://www.ibmeast.com/CD-SSO/ibmwest/west/login.html" 과 같은 관련 도메인 이름 주소를 가질 수 있다. 사용자가 "IBMWest.com" 하이퍼링크를 클릭하면, 그 요청은 처리를 위해 도메인 "IBMEest.com"으로 보내진다. "IBMEest.com"를 지원하는 서버는 요청된 URL을 다른 도메인에 있는 보호된 자원으로서 인식하고, 그 다음에 본 발명에 따라 적절한 CD-SSO 기능을 기동시킬 것이다.
웹 페이지(350)에 대한 접근을 요청한 사용자는 보호된 자원의 일례인 웹 페이지(350)를 수신하기 위한 인증 및 허가를 이미 받은 것으로 가정할 수 있다. 그 다음에 사용자는 하이퍼링크(356) 중 하나를 클릭함으로써 다른 CD-SSO 도메인으로 이동하는 옵션을 가지며, 이 때 본 발명의 CD-SSO 기능이 도 2, 도 4a 및 도 4b에 도시한 바와 같이 기동되고, 사용자는 새로운 도메인에서 사용 승인(sign-on)을 받을 필요 없이 선택된 하이퍼링크가 나타내는 요청된 자원을 수신하도록 허가될 수 있다.
이제 도 3c를 참조하면, 북마크(bookmark)되어 북마크 파일에 저장되어 있는 CD-SSO 도메인들에 있는 보호된 자원들의 몇몇 URI를 보여주는 전형적인 북마크 파일(bookmark file)을 나타낸 도면이다. 이 경우, 북마크 파일은 간단한 HTML 형식의 파일이다.
도 3c는 CD-SSO 도메인들 내의 자원들에 대한 지식을 공유함으로써 CD-SSO 도메인들이 연관지워지는 방식을 강조하기 위해 제공된 것이다. 주어진 CD-SSO 도메인에 있는 서버가 다른 CD-SSO 도메인들에 있는 자원들의 표시(예를 들면, 하이퍼링크)를 포함하는 웹 페이지 또는 다른 자원을 서비스할 때, 제공된 지시자는 클라이언트로부터 다시 주어진 CD-SSO 도메인을 지원하는 서버로의 요청을 발생할 것 이다.
도 3b에 도시한 일례를 따르면, 도 3c에 도시한 북마크 파일은 사용자가 도메인 "IBMEast.com"를 통해 브라우징하고 있을 때 생성된 것일 수 있다. 사용자가 관련된 웹 사이트로의 하이퍼링크를 열람하였을 때, 사용자는 "IBMEast.com" 웹 페이지로부터의 하이퍼링크에 의해 제공되는 CD-SSO 도메인들 각각을 북마크하기로 결정하였다. 따라서, 도메인 이름 주소들 각각은 "IBMEast.com" 도메인 내의 파일을 참조한다. 사용자가 북마크를 통해 다른 도메인들 중 하나에 대한 접근을 시도하면, 그 요청은 먼저 "IBMEast.com"으로 보내지고, 그 때 CD-SSO 기능이 기동될 것이다.
따라서, 사용자가 모든 CD-SSO 도메인들에서 로그 오프되어 무관한 도메인으로부터의 웹 페이지를 보고 있는 중에 "IBMWest.com"으로 이동하기 위해 도 3c에 도시한 북마크 파일로부터 북마크를 선택하면, 그 요청은 "IBMEast.com"으로 보내질 것이다.
이제 도 4a 및 도 4b를 참조하면, 본 발명의 양호한 실시예에 따라 사용자가 CD-SSO(cross-domain single-sign-on; 교차 도메인 단일 사용 승인) 도메인들 사이를 이동할 때 관여되는 몇몇 처리를 나타낸 데이터 흐름도가 도시되어 있다. 도 4a 및 도 4b는 도메인들간의 사용자 이동 중에 클라이언트와 서버들 간에 전송되는 데이터 및 동작들의 일부를 나타낸 것인 반면, 도 2는 일군의 CD-SSO 도메인들 중의 한 도메인 내에서 인증을 책임지고 있는 각 서버에 의해 수행되는 프로세스를 나타낸 플로우차트를 나타낸 것이다.
이제 도 4a를 참조하면, 클라이언트(402)에 있는 사용자는 서버(404)에 대해 이미 SSL 세션을 확립하였다. SSL 세션이 확립된 방식은 도 2에 도시한 방식과 유사하다. 그렇지만, 도 4a에서, SSL 세션의 활성화가 지연되는 이유는 그것을 도 4b에 도시할 것이기 때문이다. 이 일례에서, 사용자는 도메인 "IBMEast.com" 상의 보호된 자원을 브라우징하고 있었다. 유의할 점은 도메인 이름의 텍스트 문자열의 대소문자는 일반적으로 무시되고 있다는 것이다.
어느 시점에서, 사용자는 제1 CD-SSO 도메인 "IBMEast.com"에서 제2 CD-SSO 도메인 "IBMWest.com"으로 이동하기 위해 클라이언트(402)의 브라우저 내에 표시된 하이퍼텍스트 링크를 클릭한다(단계 406). 기술 분야에 공지되어 있는 바와 같이, 사용자는 도메인, 웹 페이지 장소 등을 브라우저 캐싱된 북마크를 활성화시키는 것 등과 같은 여러가지 방식으로 선택할 수 있다.
CD-SSO 도메인 그룹 내의 각 도메인은 그 자신의 허가 정책 또는 기업 인증 메카니즘을 유지하고 있다. 사용자가 주어진 도메인에 있는 보호된 자원에 접근하기 위해서는, 사용자는 사용자 아이덴티티, 사용자 계정 등을 확립하기 위해 그 도메인에 미리 등록되어 있어야만 한다. 다른 대안에서는, 사용자 아이덴티티는 그 도메인에 있는 사용자를 위해 시스템 관리자에 의해 발생된 것이다. 따라서, 안내 인증 토큰이 효용성을 가지기 위해서는, 사용자가 접근하기를 원하는 CD-SSO 그룹 내의 각 도메인에서 사용자 아이덴티티를 미리 확립해두어야만 한다는 것을 이해해야 한다.
그 밖에, CD-SSO 도메인들 간에 인증 정보를 전송하기 위해서는 예를 들면 "IBMWest.com"에 도달하기 위해 "IBMEast.com" 내의 리디렉트가능한 하이퍼링크에 액세스함으로써 사용자가 현재 인증받은 서버의 개입이 필요하다. 이것은 CD-SSO 도메인 그룹에 참여하고 있는 도메인을 지원하는 각 서버가 CD-SSO 그룹 내의 다른 도메인 모두를 알고 있고 또 그 자신의 웹 자원들로부터 이들 도메인으로의 링크를 유지하고 있어야만 한다는 것을 의미한다.
CD-SSO 도메인들 간의 전송을 개시하는 사용자 동작에 응답하여, 클라이언트(402)는 제1 CD-SSO 도메인으로부터 제2 CD-SSO 도메인으로의 전송을 트리거하는 HTTP 요청을 전송한다(단계 408). 서버(404)는 HTTP 요청 내의 요청된 URI를, 제2 CD-SSO 도메인을 지원하는 서버의 제어 하에 있는 보호된 자원에 대한 접근 요청으로서 인식한다. 그 다음에 서버(404)는 안내 인증 토큰을 발생하고(단계 410), 양호하게는 그 토큰을 리디렉션 URI에 첨부시켜 그 리디렉션 URI를 HTTP 리디렉트 메시지에 배치한 다음에, 그 HTTP 리디렉트를 클라이언트로 전송한다(단계 412).
HTTP 리디렉트는 기술 분야에 공지된 것이다. HTTP 리디렉트에 의해 서버는 다른 장소에 있는 자원을 로드하라는 명령어를 갖는 클라이언트 요청에 대해 응답할 수 있으며, 이에 따라 대부분의 브라우저는 리디렉트에 응답하여 새로운 자원을 자동적으로 요청하게 된다. 브라우저가 HTTP 리디렉트를 수신할 때, 브라우저는 HTTP 리디렉트에 제공된 리디렉트된 URI를 사용하여 새로운 HTTP 요청을 발행한다.
안내 인증 토큰의 형식은 시스템 구현에 따라 변화될 수 있다. 일반적으로, 토큰은 적어도 제1 CD-SSO 도메인에서의 사용자 아이덴티티의 어떤 표시를 포함하고 있어야만 한다. 토큰은 그 밖에도 제1 도메인에 대한 선택적인 도메인 식별자도 포함할 수 있으며, 그 경우 이러한 정보는 이제 토큰 내에 저장되어 있는 사용자 아이덴티티에 반영되어 있다. 도 2와 관련하여 전술한 바와 같이, 토큰은 또한 토큰의 수명을 한정하기 위한 선택적인 타임스탬프도 포함할 수 있다. 토큰은 이진 문자열로서, 부호화된 ASCII 문자열로서, 또는 어떤 다른 해석가능한 형식으로 포맷될 수 있다. 토큰은 암호화된 데이터(enveloped data)에 대한 PKCS(Public Key Cryptograpy Standard) 규격과 같은 여러가지 표준에 따라 선택적으로 포맷될 수 있다.
안내 인증 토큰 내의 정보는 그 정보가 부정 사용될 수 있는 위험을 제한하기 위해 그 정보를 은폐하도록 암호화된다. CD-SSO 그룹내의 서버들은 많은 종래 기술에 공지된 방법에 따라 암호키를 공유 또는 동기화할 수 있다. 예를 들어, 그 그룹 내의 서버들 각각은 다른 서버들 각각의 공개키의 복사본을 획득 또는 수신해둘 수 있다. 사용자가 빠져 나오고 있는 제1 도메인이 사용자가 옮겨가고 있는 목표 도메인을 알고 있기 때문에, 제1 도메인은 안내 인증 토큰 내에 들어 있는 정보를 암호화하기 위해 제2 도메인의 공개키를 사용할 수 있다. 제2 도메인은 이어서 그 토큰을 해독하기 위해 자신의 비밀키를 사용할 수 있다. 유의할 점은 토큰 그 자체가 암호화된 데이터 항목이거나 또는 토큰 내의 데이터 항목들이 암호화된 다음에 토큰 내에 배치되어 있다는 것이다.
클라이언트(402)는 안내 인증 토큰을 갖는 HTTP 리디렉트를 수신하고, 그에 응답하여 클라이언트에 있는 브라우저는 리디렉션 URI에 지정되어 있는 제2 도메인에 대한 새로운 HTTP 요청을 발생한다(단계 414). 안내 인증 토큰이 양호하게는 리디렉션 URI의 일부분에 첨부되어 있기 때문에, 브라우저는 안내 인증 토큰을 포 함한 전체 URI를 지정된 목적지로 전송한다.
리디렉션 URI의 형식의 일례로서, HTTP 리디렉트는 이하의 것, 즉
"http://www.ibmwest.com/987324C0...F16916AE9684"
를 포함할 수 있으며, 여기서 "987324C0...F16916AE9684"는 암호화된 안내 인증 토큰에 대한 ASCII 암호화된 16진수 문자열의 일부분이다. 토큰을 URI에 첨부함으로써, 브라우저는 그 토큰을 HTTP 리디렉트로부터 새로운 HTTP 요청으로 복사할 때 자신이 그 토큰을 처리하고 있다는 것을 알지 못한다. 일반적으로, 안내 인증 토큰은 이하의 형태, 즉
{사용자 아이덴티티; 소개한/이동할 도메인 ; 타임스탬프}
를 취할 수 있다. 도 4a에서, 사용자 아이덴티티는 "userX@ibmeast.com"으로서 확장될 수 있으며, 이 때 사용자 아이덴티티 및 제1 도메인 식별자는 공지된 방식으로 결합되어 있다. 다른 메타데이터가 토큰의 특성에 대한 표시를 제공하기 위해 토큰과 관련될 수 있다. 예를 들어, 리디렉트된 URI는 다음과 같이, 즉
"http://www.ibmwest.com/IAT:987324C0...F16916AE9684"
로서 표현될 수 있고, 여기서 문자열 "IAT"는 "안내 인증 토큰(introductory authentication token)"을 나타내며, 따라서 수신측 서버는 HTTP 요청이 관련 토큰을 갖는다는 것을 신속하게 확인할 수 있게 된다.
클라이언트(402)는 제2 또는 옮겨간 도메인에 있는 서버(418)로 새로운 HTTP 요청을 전송한다(단계 416). 그 때, 사용자는 제1 도메인을 영속적으로 또는 일시적으로 떠나버릴 수 있다. 시스템 구현에 따라서는, 사용자는 제2 도메인에 있는 보호된 자원들에 대한 접근 이후에 제1 도메인에 있는 보호된 자원들에 대한 접근을 할 수 있다. 그렇지만, 서버(404)에서의 사용자의 SSL 세션은 몇 분 이내에 종료할 수 있다. 유의할 점은 CD-SSO 도메인 그룹 내의 한 도메인이 하나 이상의 상기 도메인들에서의 세션으로부터 사용자를 로그아웃시키는 방식이 본 발명의 동작에 영향을 주지 않고 시스템 구현에 따라 변화될 수 있다는 것이다.
이제 도 4b를 참조하면, 클라이언트(402)가 서버(418)와 SSL 세션을 확립하는 프로세스가 도시되어 있다. 클라이언트(402)는 최소한 리디렉트된 URI에 지정되어 있는 제2 또는 옮겨간 도메인에 대한 인증 서버로서 동작하는 서버(418)에 새로운 HTTP 요청을 전송한다(단계 416).
이 일례에서, 서버(418)는 클라이언트(402)에 대한 SSL 세션을 아직 확립하지 않았다고 결정한다(단계 420). 그렇지만, 서버(418)는 대부분은 URI를 파싱함으로써 HTTP 요청에서 안내 인증 토큰을 찾아내고, 그 때 서버(418)는 그 토큰을 해독한다(단계 422). 그 다음에 사용자 아이덴티티 및 소개한 도메인이 토큰 내의 해독된 정보로부터 검색된다(단계 424).
전술한 바와 같이, 각 도메인은 그 도메인 자체의 정책에 따라 사용자를 허가하는 책임을 지고 있으며, 사용자는 CD-SSO 도메인 그룹 내의 각 도메인 내에서 사용자 아이덴티티를 갖는 데, 사용자 아이덴티티는 서로 다른 도메인에서 다를 수 있다. 따라서, 서버(418)(또는 관련 서버)는 전송 받은 사용자 아이덴티티를 제2 도메인 내에서 알고 있는 아이덴티티로 선택적으로 매핑한다(단계 426). 매핑 기능(428)은 각종의 공지된 매핑 기술을 포함할 수 있다. 그 밖에, 서버(418)는 소개한 서버(404)와의 비즈니스 관계의 현재 상태를 평가하도록 선택할 수 있다. 서버(418, 404)가 교차 도메인 단일 사용 승인 관계에 참여하고 있는 것으로 알려져 있더라도, 서버(418)는 소개한 도메인의 아이덴티티에 기초하여 안내 인증 토큰을 존중하지 않거나, 또는 서용자로부터 부가의 인증 형식을 요구하도록 선택할 수도 있다. 이것은 CD-SSO 관계에 참여하고 있는 중에 서버(418)에 부가의 보호 레벨을 제공한다.
그 다음에 서버(418)는 사용자에 대한 증명서를 작성하여 캐싱하고, 클라이언트(402)에 대한 SSL 세션을 확립하며(단계 430), 그 후에 서버(418)는 원래 요청된 보호된 자원을 포함한 HTTP 응답을 발생하여 이를 다시 클라이언트(402)로 전송한다(단계 432).
그 때, 사용자는 다른 하이퍼텍스트 링크를 클릭함으로써 그 브라우저 내의 도메인 "IBMWest.com" 내의 다른 페이지를 요청할 수 있으며(단계 434), 브라우저는 다른 HTTP 요청을 서버로 전송한다(단계 436). 이에 응답하여, 서버는 사용자가 활성 세션을 갖는 것으로 인식하고(단계 438), 서버는 요청된 웹 페이지(또는 다른 유형의 보호된 자원 또는 정보)를 다른 HTTP 응답에서 클라이언트에 다시 전송한다(단계 440).
본 발명의 이점은 이상에 제공된 발명의 상세한 설명에서 볼 때 명백하다. 본 발명에서, 사용자를 이미 인증한 제1 도메인은 사용자가 제2 도메인에 있는 보호된 자원에 대한 접근을 시도할 때 안내 인증 토큰을 발생한다. 그 다음에 안내 인증 토큰은 HTTP 리디렉션을 통해 제1 도메인으로부터 제2 도메인으로 전달된다. 제2 도메인은 이 안내 토큰을 사용자의 아이덴티티에 대한 증거로서 받아들일 수 있고, 제2 도메인은 제2 도메인 내에서의 사용자 아이덴티티에 따라 제2 도메인 내의 특정 자원들에 대한 사용자의 접근을 허가한다. 본 발명에서는 사용자가 제2 도메인 내의 보호된 자원에 대한 접근을 시도할 때 인증을 위해 사용자에게 질의를 하지 않는다. 이것에 의해 교차 도메인 단일 사용 승인 연합 또는 협정에 참여하는 도메인들 간에 어느 정도의 자유로운 이동이 가능하게 된다. 사용자는 웹 사이트들 간의 자유로운 이동에 대한 장벽이 될 수 있는 다수의 인증 질의를 통과할 필요가 없다는 점에서 얼마간의 효율성 또는 생산성을 달성한다.
그 밖에, 사용자가 도메인들 간을 이동할 때 사용자의 잠재된 혼동을 덜어준다. 어떤 기업들은 지리적 이유만으로 다수의 도메인을 유지하고 있으며, 여기서 한 도메인은 일단의 직원 또는 소비자들에게 더 가깝게 유지되고 있으며, 확장성 이유인 경우는 단일 서버 또는 한 세트의 서버에 대한 부하가 다수의 도메인들 간에 그 부하를 분산시킴으로써 경감되게 된다. 이들 구조적 아티팩트(architectural artifact)는 가능하면 사용자에게 투명해야 하며, 본 발명에서는 사용자가 다수의 도메인에 대한 접근을 위해 단일 사용 승인을 사용할 수 있을 때 다수의 인증 장벽들을 통과하는 동작을 수행할 필요가 없다.
본 발명은 또한 공개 표준의 합법적 사용에 전적으로 기초하고 있는 이들 공개 표준 방법도 포함하고 있다. 안내 인증 토큰은 교차 도메인 단일 사용 승인을 허용하는 도메인들 간에 독점적 메시지 형식을 사용하지 않고 HTTP 리디렉트로 전달된다.
중요한 것은 본 발명이 완벽하게 기능하는 데이터 처리 시스템과 관련하여 기술되어 있지만, 당업자라면 본 발명의 프로세스들이 배포를 행하는 데 실제로 사용되는 신호 전달 매체의 특정 유형에 관계없이 컴퓨터 판독 가능 매체에 명령어의 형태 및 각종의 다른 형태로 배포될 수 있다는 것을 잘 알고 있다는 점에 유의해야 한다는 것이다. 컴퓨터 판독 가능 매체의 일례로는 EEPROM, ROM, 테이프, 종이, 플로피 디스크, 하드 디스크 드라이브, RAM 및 CD-ROM 등의 매체와, 디지털 및 아날로그 통신 링크와 같은 전송 유형 매체가 포함된다.
본 발명의 기재는 설명의 목적상 제시된 것으로서 그 전부를 기재한 것도 아니며 또한 개시된 실시예들에 한정시키려는 것도 아님을 알아야 한다. 당업자에게는 많은 변경 및 변형들도 자명한 것일 것이다. 실시예들은 본 발명의 원리 및 그의 실제 응용 분야를 설명하여 당업자가 본 발명을 이해할 수 있도록 하기 위해 선택된 것으로서 다른 상정된 용도에 적합할 수 있는 여러가지 변경을 갖는 각종의 실시예들을 구현할 수 있다.

Claims (30)

  1. 분산 데이터 처리 시스템 내에서 사용자를 인증하는 방법에 있어서,
    도메인 그룹(300)의 일원인 제1 도메인(340)을 지원하는 제1 서버(404)에서, 보호 자원(312)에 대한 요청을 사용자를 대신하여 클라이언트(402)로부터 수신하는 단계(408)로서, 상기 사용자는 상기 제1 서버(404)에 대하여 미리 인증되었고, 상기 제1 도메인(340)에 사용자 아이덴티티로 미리 등록된, 상기 수신 단계(408)와,
    상기 요청된 보호 자원(312)이 도메인 그룹(300)의 일원인 제2 도메인(310) 내에 있는지 여부를 결정하는 단계와,
    상기 요청된 보호 자원(312)이 상기 제2 도메인(310) 내에 있다는 결정에 응답하여, 사용자 아이덴티티 정보를 포함하는 안내 인증 토큰(introductory authentication token)을 상기 제1 서버(404)에서 생성하는 단계(410)와,
    상기 안내 인증 토큰을 암호화하는 단계(410)와,
    리디렉트(redirect) 응답 내에 상기 암호화된 안내 인증 토큰을 삽입하는 단계(412)와,
    상기 리디렉트 응답 내에 상기 제2 도메인에 대한 리디렉트 URI를 삽입하는 단계(412)와,
    상기 리디렉트 응답을 상기 클라이언트(402)에게 전송하는 단계(412)를 포함하는 사용자 인증 방법.
  2. 제1항에 있어서,
    상기 안내 인증 토큰 내에 타임스탬프를 삽입하는 단계(410)를 더 포함하는 사용자 인증 방법.
  3. 제1항에 있어서,
    상기 안내 인증 토큰 내에 상기 제1 도메인(340)에 대한 식별자를 삽입하는 단계(410)를 더 포함하는 사용자 인증 방법.
  4. 제1항에 있어서, 상기 암호화된 안내 인증 토큰은 인코딩된 ASCII 스트링으로서 포맷되는 것인 사용자 인증 방법.
  5. 제1항에 있어서,
    상기 리디렉트 응답을 수신하는 단계(412)와,
    상기 보호 자원(312)에 대한 제2 요청을 생성하는 단계(414)와,
    상기 제2 요청을 상기 리디렉트 응답에 의해 식별된 상기 제2 도메인(310)으로 전송하는 단계를 더 포함하는 사용자 인증 방법.
  6. 제1항에 있어서,
    상기 제2 도메인(310)을 지원하는 제2 서버(418)에서, 상기 암호화된 안내 인증 토큰을 포함하는 상기 보호 자원(312)에 대한 요청을 수신하는 단계(416, 202)와,
    해독된 안내 인증 토큰을 생성하기 위하여, 상기 제2 서버(418)에서 상기 보호 자원에 대한 요청으로부터 상기 암호화된 안내 인증 토큰을 해독하는 단계(422, 220)와,
    상기 해독된 안내 인증 토큰으로부터 상기 사용자에 대한 사용자 아이덴티티 정보를 검색하는 단계(424, 222)를 더 포함하는 사용자 인증 방법.
  7. 제6항에 있어서,
    상기 검색된 사용자 아이덴티티 정보에 기초하여 상기 제2 도메인(310)에서 상기 사용자를 인증하는 단계(430, 216)를 더 포함하는 사용자 인증 방법.
  8. 제6항에 있어서,
    상기 검색된 사용자 아이덴티티 정보에 기초하여 상기 제2 도메인(310) 내의 상기 보호 자원(312)에 대한 접근을 제공하는 단계(208)를 더 포함하는 사용자 인증 방법.
  9. 청구항 9은(는) 설정등록료 납부시 포기되었습니다.
    제6항에 있어서,
    상기 검색된 사용자 아이덴티티 정보를 상기 제2 도메인(310)에서의 사용자 아이덴티티에 매핑하는 단계(426)로서, 상기 사용자는 상기 제2 도메인(310)에 사용자 아이덴티티로 미리 등록된, 상기 매핑 단계를 더 포함하는 사용자 인증 방법.
  10. 청구항 10은(는) 설정등록료 납부시 포기되었습니다.
    제9항에 있어서,
    상기 제2 도메인(310)에서의 상기 사용자 아이덴티티에 기초하여 상기 제2 도메인(310)에서 상기 사용자를 인증하는 단계(430, 216)를 더 포함하는 사용자 인증 방법.
  11. 청구항 11은(는) 설정등록료 납부시 포기되었습니다.
    제9항에 있어서,
    상기 제2 도메인(310)에서의 상기 사용자 아이덴티티에 기초하여 상기 제2 도메인(310) 내의 상기 보호 자원(312)에 대한 접근을 제공하는 단계(208)를 더 포함하는 사용자 인증 방법.
  12. 제1항 내지 제11항 중 어느 한 항에 따른 방법의 각 단계를 실행하는 각각의 수단들을 포함하는 인증 장치.
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 제1항 내지 제11항 중 어느 한 항에 따른 방법의 각 단계를 수행하는 명령어들을 포함하는 컴퓨터 프로그램이 기록된 컴퓨터로 판독가능한 기록 매체.
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
KR1020037006201A 2000-11-09 2001-10-25 웹 기반의 교차 도메인 단일 사용 승인의 인증 방법 및시스템 KR100702421B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US71092600A 2000-11-09 2000-11-09
US09/710,926 2000-11-09
PCT/EP2001/012361 WO2002039237A2 (en) 2000-11-09 2001-10-25 Method and system for web-based cross-domain single-sign-on authentication

Publications (2)

Publication Number Publication Date
KR20030048118A KR20030048118A (ko) 2003-06-18
KR100702421B1 true KR100702421B1 (ko) 2007-04-04

Family

ID=24856086

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020037006201A KR100702421B1 (ko) 2000-11-09 2001-10-25 웹 기반의 교차 도메인 단일 사용 승인의 인증 방법 및시스템

Country Status (7)

Country Link
EP (1) EP1368722B1 (ko)
KR (1) KR100702421B1 (ko)
AT (1) ATE370458T1 (ko)
AU (1) AU2002212345A1 (ko)
DE (1) DE60130037T2 (ko)
TW (1) TW528957B (ko)
WO (1) WO2002039237A2 (ko)

Families Citing this family (70)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030135734A1 (en) * 2002-01-14 2003-07-17 Fagan Robert H. Secure mutual authentication system
NO318842B1 (no) * 2002-03-18 2005-05-09 Telenor Asa Autentisering og tilgangskontroll
US20040002878A1 (en) * 2002-06-28 2004-01-01 International Business Machines Corporation Method and system for user-determined authentication in a federated environment
US7770212B2 (en) * 2002-08-15 2010-08-03 Activcard System and method for privilege delegation and control
WO2004017592A1 (en) * 2002-08-19 2004-02-26 Research In Motion Limited System and method for secure control of resources of wireless mobile communication device
JP4509930B2 (ja) 2002-10-17 2010-07-21 ヴォウダフォン・グループ・ピーエルシー トランザクションの容易化および認証
US8561161B2 (en) * 2002-12-31 2013-10-15 International Business Machines Corporation Method and system for authentication in a heterogeneous federated environment
US20040128542A1 (en) * 2002-12-31 2004-07-01 International Business Machines Corporation Method and system for native authentication protocols in a heterogeneous federated environment
US7536714B2 (en) * 2003-07-11 2009-05-19 Computer Associates Think, Inc. System and method for synchronizing login processes
US7395424B2 (en) * 2003-07-17 2008-07-01 International Business Machines Corporation Method and system for stepping up to certificate-based authentication without breaking an existing SSL session
CN1830190A (zh) * 2003-07-29 2006-09-06 汤姆森特许公司 使用重定向控制对网络的接入
GB2406925B (en) 2003-10-09 2007-01-03 Vodafone Plc Facilitating and authenticating transactions
CN101032142B (zh) * 2003-12-29 2011-05-18 艾利森电话股份有限公司 通过接入网单一登录访问服务网络的装置和方法
DE10361840A1 (de) * 2003-12-30 2005-08-04 Net&Works Netzwerke Und Service Gmbh Verfahren zum Single sign-On an webbasierten Anwendungen über ein gemeinsames Auswahlmenü
CN1939060B (zh) 2004-02-10 2010-09-29 汤姆逊许可公司 一种用于促进视频信息的流式传输的方法和设备
KR100661737B1 (ko) * 2004-08-05 2006-12-27 주식회사 네비웨이 이동통신 단말기를 이용한 도청 및 몰래 카메라 탐지장치
US7469291B2 (en) 2004-09-22 2008-12-23 Research In Motion Limited Apparatus and method for integrating authentication protocols in the establishment of connections between computing devices
ATE533273T1 (de) * 2004-09-22 2011-11-15 Research In Motion Ltd Vorrichtung und verfahren zum integrieren authentisierungsprotokolle in den aufbau von verbindungen zwischen rechnergeräten
KR20060063348A (ko) * 2004-12-07 2006-06-12 한국전자통신연구원 인터넷에서 인증 assertion을 이용한 접속시간제어 방법
US8756328B2 (en) * 2005-01-19 2014-06-17 Qualcomm Connected Experiences, Inc. Caller-callee association of a plurality of networked devices with direct dial through thin client
US8351419B2 (en) 2005-01-19 2013-01-08 Qualcomm Iskoot, Inc. Local access to a mobile network
US8856359B2 (en) 2005-06-29 2014-10-07 Qualcomm Connected Experiences, Inc. Caller-callee association of a plurality of networked devices
US7631346B2 (en) 2005-04-01 2009-12-08 International Business Machines Corporation Method and system for a runtime user account creation operation within a single-sign-on process in a federated computing environment
EP1891821A2 (en) * 2005-06-15 2008-02-27 TELEFONAKTIEBOLAGET LM ERICSSON (publ) Method and apparatus for providing a telecommunications service
US8245270B2 (en) 2005-09-01 2012-08-14 Microsoft Corporation Resource based dynamic security authorization
WO2007047798A1 (en) * 2005-10-21 2007-04-26 Sensis Corporation Method and apparatus for providing secure access control for protected information
KR100759800B1 (ko) * 2005-12-01 2007-09-20 한국전자통신연구원 이종 연방 환경에서 메시지 전송 방법 및 장치와 이를이용한 서비스 제공 방법 및 장치
FI20065288A (fi) 2006-05-03 2007-11-04 Emillion Oy Autentikointi
US8799639B2 (en) * 2006-07-25 2014-08-05 Intuit Inc. Method and apparatus for converting authentication-tokens to facilitate interactions between applications
US8458775B2 (en) 2006-08-11 2013-06-04 Microsoft Corporation Multiuser web service sign-in client side components
JP2008052371A (ja) 2006-08-22 2008-03-06 Fujitsu Ltd アウトバンド認証を伴うネットワークシステム
GB0621684D0 (en) 2006-10-31 2006-12-06 British Telecomm Secure access
US8391848B2 (en) 2007-06-07 2013-03-05 Qualcomm Iskoot, Inc. Telecommunication call support for mobile devices with presence features
US10019570B2 (en) 2007-06-14 2018-07-10 Microsoft Technology Licensing, Llc Protection and communication abstractions for web browsers
US9379895B2 (en) 2008-07-24 2016-06-28 Zscaler, Inc. HTTP authentication and authorization management
US8656462B2 (en) * 2008-07-24 2014-02-18 Zscaler, Inc. HTTP authentication and authorization management
US8495719B2 (en) 2008-10-02 2013-07-23 International Business Machines Corporation Cross-domain access prevention
KR101039975B1 (ko) * 2009-02-18 2011-06-09 성균관대학교산학협력단 교차도메인 상에서의 정보전송 추적 방법 및 이를 위한 통신 시스템
KR101044125B1 (ko) * 2009-02-27 2011-06-24 주식회사 케이티 인터페이스 서버의 사용자 단말 인증 방법과 그 인터페이스 서버 및 사용자 단말
KR101094577B1 (ko) 2009-02-27 2011-12-19 주식회사 케이티 인터페이스 서버의 사용자 단말 인증 방법과 그 인터페이스 서버 및 사용자 단말
CN101572888B (zh) * 2009-06-18 2012-03-28 浙江大学 移动终端中多服务引擎交叉验证方法
CN101695164A (zh) * 2009-09-28 2010-04-14 华为技术有限公司 一种控制资源访问的校验方法、装置和系统
EP2339492A1 (en) 2009-12-10 2011-06-29 Schneider Electric Buildings AB Authentication in a building control system
DE102010052324A1 (de) * 2010-11-25 2012-05-31 Ps4B-Professional Solutions For Business Gmbh Verfahren und Vorrichtung zur Verhinderung eines unberechtigte Erspähens von Zugangsdaten
CN102546570B (zh) * 2010-12-31 2014-12-24 国际商业机器公司 用于单点登录的处理方法和系统
US9838351B2 (en) 2011-02-04 2017-12-05 NextPlane, Inc. Method and system for federation of proxy-based and proxy-free communications systems
US9077726B2 (en) 2011-03-31 2015-07-07 NextPlane, Inc. Hub based clearing house for interoperability of distinct unified communication systems
US9716619B2 (en) 2011-03-31 2017-07-25 NextPlane, Inc. System and method of processing media traffic for a hub-based system federating disparate unified communications systems
US9203799B2 (en) 2011-03-31 2015-12-01 NextPlane, Inc. Method and system for advanced alias domain routing
DE102011111698A1 (de) * 2011-08-24 2013-02-28 Fujitsu Technology Solutions Intellectual Property Gmbh Verfahren zum Log-in an einem Computersystem sowie Computerprogramm zum Ablauf auf einem Computersystem
US8898765B2 (en) 2012-02-15 2014-11-25 Oracle International Corporation Signing off from multiple domains accessible using single sign-on
CN103546432B (zh) * 2012-07-12 2015-12-16 腾讯科技(深圳)有限公司 实现跨域跳转的方法和系统以及浏览器、域名服务器
US9053304B2 (en) * 2012-07-13 2015-06-09 Securekey Technologies Inc. Methods and systems for using derived credentials to authenticate a device across multiple platforms
CN103581120B (zh) * 2012-07-24 2018-04-20 阿里巴巴集团控股有限公司 一种识别用户风险的方法和装置
US8769651B2 (en) 2012-09-19 2014-07-01 Secureauth Corporation Mobile multifactor single-sign-on authentication
EP2717539B1 (en) * 2012-10-02 2015-04-01 BlackBerry Limited Method and system for hypertext transfer protocol digest authentication
US9705840B2 (en) * 2013-06-03 2017-07-11 NextPlane, Inc. Automation platform for hub-based system federating disparate unified communications systems
US9819636B2 (en) 2013-06-10 2017-11-14 NextPlane, Inc. User directory system for a hub-based system federating disparate unified communications systems
CN103634316A (zh) * 2013-11-26 2014-03-12 乐视网信息技术(北京)股份有限公司 一种账号登录方法及电子设备
US10129243B2 (en) * 2013-12-27 2018-11-13 Avaya Inc. Controlling access to traversal using relays around network address translation (TURN) servers using trusted single-use credentials
US9660974B2 (en) 2014-02-18 2017-05-23 Secureauth Corporation Fingerprint based authentication for single sign on
US9386006B1 (en) * 2015-03-02 2016-07-05 Citrix Systems, Inc. Authentication mechanism for domain redirection of a representational state transfer (REST)-compliant client
US9485244B2 (en) * 2015-03-02 2016-11-01 Citrix Systems, Inc. Executing an operation over file repositories located in different authentication domains using a representational state transfer (REST)-compliant client
CN107196892B (zh) 2016-03-15 2020-03-06 阿里巴巴集团控股有限公司 一种网站登录方法和装置
CN111783067B (zh) * 2016-05-09 2023-09-08 创新先进技术有限公司 多网站间的自动登录方法及装置
CN108989276B (zh) * 2018-03-27 2021-09-28 深圳市小赢信息技术有限责任公司 一种系统间安全伪登陆方法
US11159511B1 (en) 2019-01-10 2021-10-26 Microstrategy Incorporated Authentication protocol management
US11323431B2 (en) 2019-01-31 2022-05-03 Citrix Systems, Inc. Secure sign-on using personal authentication tag
CN112688773A (zh) * 2019-10-17 2021-04-20 浙江大搜车软件技术有限公司 一种令牌的生成和校验方法及装置
CN112333198B (zh) * 2020-11-17 2023-09-05 中国银联股份有限公司 安全跨域登录方法、系统及服务器

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0940960A1 (en) * 1998-03-02 1999-09-08 Hewlett-Packard Company Authentication between servers

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
없음

Also Published As

Publication number Publication date
EP1368722A2 (en) 2003-12-10
AU2002212345A1 (en) 2002-05-21
TW528957B (en) 2003-04-21
WO2002039237A2 (en) 2002-05-16
EP1368722B1 (en) 2007-08-15
DE60130037T2 (de) 2008-05-08
DE60130037D1 (de) 2007-09-27
WO2002039237A3 (en) 2003-10-09
ATE370458T1 (de) 2007-09-15
KR20030048118A (ko) 2003-06-18

Similar Documents

Publication Publication Date Title
KR100702421B1 (ko) 웹 기반의 교차 도메인 단일 사용 승인의 인증 방법 및시스템
KR100800339B1 (ko) 제휴 환경에서 사용자에 의해 결정된 인증 및 단일 사인온을 위한 방법 및 시스템
US7478434B1 (en) Authentication and authorization protocol for secure web-based access to a protected resource
US9407629B2 (en) Method for assembling authorization certificate chains
US8200834B2 (en) Method and system for secure server-based session management using single-use HTTP cookies
Lodderstedt et al. OAuth 2.0 threat model and security considerations
US6993596B2 (en) System and method for user enrollment in an e-community
KR101475983B1 (ko) 통합 인증을 위한 시스템, 방법 및 프로그램 제품
US20030065956A1 (en) Challenge-response data communication protocol
US20050198501A1 (en) System and method of providing credentials in a network
US9172707B2 (en) Reducing cross-site scripting attacks by segregating HTTP resources by subdomain
JPH10269184A (ja) ネットワークシステムのセキュリティ管理方法
US20100031317A1 (en) Secure access
Bazaz et al. A review on single sign on enabling technologies and protocols
KR100651713B1 (ko) 인증정책에 기반한 선택적 인증 시스템 이에 적합한사용자 인증 방법
Popov et al. Token Binding over HTTP
Chadwick Threat modelling for active directory
Popov et al. RFC 8473: Token Binding over HTTP
Nazir et al. Security measures needed for exposing Restful services through OAuth 2
Straub et al. A multipurpose delegation proxy for WWW credentials
Lin et al. Single Sign-On for Unified Communications
Stevan The Kerberos Authentication Service

Legal Events

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