KR20050046633A - 네트워크를 통한 안전하고 동적인 신원정보 배포 - Google Patents

네트워크를 통한 안전하고 동적인 신원정보 배포 Download PDF

Info

Publication number
KR20050046633A
KR20050046633A KR1020040092601A KR20040092601A KR20050046633A KR 20050046633 A KR20050046633 A KR 20050046633A KR 1020040092601 A KR1020040092601 A KR 1020040092601A KR 20040092601 A KR20040092601 A KR 20040092601A KR 20050046633 A KR20050046633 A KR 20050046633A
Authority
KR
South Korea
Prior art keywords
logon
identity information
network
request
information
Prior art date
Application number
KR1020040092601A
Other languages
English (en)
Other versions
KR101122896B1 (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 KR20050046633A publication Critical patent/KR20050046633A/ko
Application granted granted Critical
Publication of KR101122896B1 publication Critical patent/KR101122896B1/ko

Links

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/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/126Applying verification of the received information the source of the received data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Storage Device Security (AREA)

Abstract

네트워크를 통해 머신로의 안전하고 동적인 신원정보 배포를 가능케하는 시스템 및 방법이 제공된다. 여러 실시예에서, 로깅 또는 액세스가 요구되는 컴퓨터는 로그온 전에 네트워크를 통해 요청자에게 자동으로 로그온 신원정보를 배포한다. 미리 존재하는 트러스트에 기초하여, 컴퓨터는 로그온 신원정보를 자체 생성하여 요청자에게 자체 배포하고, 따라서 로그온 신원정보는 요청자 장치 상에 저장되지 않는다.

Description

네트워크를 통한 안전하고 동적인 신원정보 배포{SECURE DYNAMIC CREDENTIAL DISTRIBUTION OVER A NETWORK}
본 발명은 컴퓨팅 시스템에서 네트워크를 통해 제1 컴퓨팅 장치에서 제2 컴퓨팅 장치로의 신원정보(들)(credential(s))의 안전하고 동적인 배포에 관한 것이다. 특히, 본 발명은, 제2 장치에서 신원정보를 노출시키거나 저장하지 않고, 예컨대 제2 장치에 의한 자동 로그인(login)을 위해, 제1 장치에서 제2 장치로의 로그인 신원정보를 동적으로 안전하게 배포하는 방식에 관한 것이다.
제2 장치의 식별 및/또는 제2 장치에 대한 액세스 레벨 및 사용권한의 판정을 위해, 제1 컴퓨팅 장치가 제2 컴퓨팅 장치로부터 (또는 그 반대로) 사용자 아이디 및 패스워드와 같은 신원정보(들)을 수신하는 것이 바람직한데, 여기에는 여러가지 이유가 있다.
예컨대, 호스트 컴퓨터는 클라이언트 장치가 액세스를 요청하고자 하는 콘텐츠를 가지고 있을 수 있다. 이것은 상당히 일반적인 시나리오이며, 도 1a에 도시된 바와 같이, 다른 여러 컴퓨팅 장치로부터 요청될 수 있는 콘텐츠의 유형 및 컴퓨팅 장치의 분야는, 미디어 장치 및 미디어 유형의 관점에서 매우 다양하다. 단지 예시적인 목적으로, 도 1a는 음악(MP3, WMV 등), 스트리밍 오디오/비디오, 사진(JPEGS, GIF 등), 영화 파일(MOV, MPEG 등), 광고, 방송 미디어(라디오, TV, 케이블 등), 그래픽 데이터 등과 같은 여러 종류의 미디어가 있다는 것을 도시한 것이다. 도 1a는 또한, 몇몇 용도와 방법으로 미디어를 제공하는 각종 장치가 있다는 것을 도시한 것으로, 그러한 여러 장치로는 텔레비전, 라디오, 튜너, DVD 플레이어, VCR, 디지털 데이터 저장 및/또는 렌더링 장치, MP3 플레이어, 스마트 디스플레이 장치, 랩톱, 게임기계, 원격제어장치, 셀 폰, PDA, 디지털 픽처 프레임 등을 포함하는데, 이것에 제한되지는 않는다. 그러므로, 그러한 시스템 내에서 임의의 2개의 장치들 간에 트러스트(Trust)를 설정하는 것은, 장치들의 네트워크된 트러스트 집단(networked trust enclave)이 되는 콘텐츠 호스팅 장치의 콘텐츠 또는 자원을 여러가지 컴퓨팅 장치들 사이에서 안전하게 공유할 수 있게 하기 위해서, 중요한 문제가 된다.
그러므로, 제2 컴퓨팅 장치에게 제1 컴퓨팅 장치의 자원(들)로의 액세스를 제공하기 위해서는, 예컨대 보안 및/또는 사적기밀(privacy)을 위해서, 종종, 제1 컴퓨팅 장치가 제2 컴퓨팅 장치에 관한 어떤 "신뢰(Trust)"할 만한 것을 갖게 하는 것이 바람직하다. 액세스를 제공하는 한가지 일반적인 방식은, 호스팅 장치에 의해 수신되는 때, 문의 자물쇠에 대한 키로서 작용하는 신원정보를 요청 장치로부터 수신함으로써, 트러스트를 설정하는 것이다. 그러한 신원정보(들)은, 예컨대 피어 투 피어(peer to peer) 클라이언트를 포함하는 네트워크 아키텍처, 분산 컴퓨팅 시스템, 어플리케이션 처리가 주로 중앙 서버 상에서 발생하지만 분산될 수는 없는 신(thin)-클라이언트 아키텍처 뿐만 아니라, 기타 네트워크 환경 등과 같은 임의의 컴퓨팅 환경 내의 2개의 컴퓨팅 장치들 사이에서, 후술하는 바와 같이, 교환될 수 있다는 것을 알 수 있다.
도 1b는 서버(S)와 클라이언트(C)가 유선 또는 무선의 임의의 네트워크 연결 (NC, Network Connection)을 통해 통신하는 예시적인 네트워크 환경에서, 제1 컴퓨팅 장치(예컨대, 서버(S))와 제2 컴퓨팅 장치(예컨대, 클라이언트(C)) 사이의 전형적인 종래의 로그온(logon)을 도시한 것이다. 다양한 이유로 2개의 장치 사이에서 인증 교환이 일어날 수 있다. 가장 일반적인 시나리오로서, 클라이언트(C)는 어플리케이션, 콘텐츠, 서비스 등과 같은 서버(S)의 임의의 자원(들)을 액세스하고자 하거나, 또는 서버(S)와의 세션을 시작하고자 한다. 그러나, 그 어플리케이션, 콘텐츠, 서비스 등으로의 액세스를 허용하기 전에, 서버(S)는 클라이언트(C)가 서버(S)의 어플리케이션, 서비스, 콘텐츠 등으로의 액세스를 허가받을 수 있는 어떤 증명을 요구할 것이다. 이것은 클라이언트(C)로부터 사용자 아이디 및 패스워드와 같은 신원정보의 수신을 포함할 수 있다.
오늘날, 이러한 시나리오의 경우, 컴퓨터(S)의 외부 객체가 네트워크(NC)를 통해 컴퓨터(S)에 로그인하려고 시도하면, 외부 객체는 클라이언트(C) 및 서버(S)에게 알려진 표준 메커니즘을 사용하여 인증을 위한 신원정보를 제공한다. 신원정보 로그인 컴포넌트는 신원정보를 클라이언트(C)로부터 서버(S)에게 전달하고, 서버(S)상의 인증 컴포넌트는 클라이언트(C)의 신원정보에 의해 나타나는 사용권한에 따라 그 자원으로의 액세스를 허용한다. 일반적으로, 로그인 하기를 원하는 것은 물리적 사용자이고, 신원정보는 보통 사용자 자신에 의해 기억된다. 사용자는, 예컨대 키보드와 같은 입력 장치를 통해 로그인시에 신원정보를 엔터함으로써, 외부 메커니즘을 통해 컴퓨팅 장치(C)에 신원정보를 수동으로 입력한다. 그외 다른 종래의 시스템에서, 사용자는 한번 신원정보를 타이핑해 넣으면, 그 시간 이후부터, 신원정보(예컨대, 도 1b의 "creds")는 클라이언트(C)상에 캐시되거나, 그렇지 않다면, 저장될 수 있다. 여하튼, 클라이언트(C)로의 신원정보의 초기 전송은 네트워크(NC)의 "대역외(out-of-band)"에서 발생한다.
그러나, 외부 객체가 자동화 방식으로 로그인하고자 하는 머신이면(즉, 물리적 사용자가 아니면), 머신은 어렵지 않게 어딘가에서 신원정보를 얻어야 하는데, 이것 또한, 일반적으로 클라이언트(C)로 신원정보를 입력하는 대역외 메커니즘을 통해 네트워크의 "대역외"로 전송된다. 전술된 바와 같이, 이것의 주요 이유는 장치들 간에 트러스트를 설정하기 위한 것이다. 서버(S) 및 서버(S)만이 인식하는 어떤 외부의 대역외 소스로부터의 비밀정보(Secret)를 클라이언트(C)가 알게 되면, 클라이언트(C)는 장치들간의 통신교환을 위한 네트워크(NC)의 신뢰된 사용자인 것으로 추정될 수 있다.
그러나, 트러스트(Trust)가 이미 2개의 장치들 간에 설정된 경우에, 전술된 종래의 로그인 시스템의 보안을 문제시하는 데는 적어도 2가지 이유가 있다:(1) 사전공격(dictionary attack)에 대한 취약성 및 (2) 클라이언트 머신상에 저장된 신원정보의 발견 우려.
사전 공격의 우려와 관련하여, 부당한 외부 객체는 신원정보를 엔터하기 위해 가능한 모든 입력 조합 및 순열을 반복적으로 맹목적으로 강제로 시도할 것이고, 결국에는, 시간이 초과되어, 스트롱 넘버의 법칙(law of strong numbers)으로 인해, 랜덤하게 신원정보를 추측할 것이다. 사전 공격을 방어하기 위해, 신원정보는 순환, 즉 자주 변경될 수 있다. 그러나, 신원정보가 너무 자주 순환되면, 사용자는 신원정보를 기억하기 곤란할 것이다. 한편, 신원정보가 충분히 자주 순환되지 않으면, 사전 공격의 우려가 줄어들지 않는다.
두 번째 사항은, 신원정보가 그러한 시스템 내의 클라이언트(C)상에 소정 기간동안 저장되거나 캐시되어 있는 경향이 있어서, 서버(S)의 자원을 위험에 노출시킨다는 것이다. 부당한 해커가 클라이언트(C)상에 존재하는 신원정보를 노출시키는 방법을 결정한다면, 서버(S)의 자원은 노출되게 된다. 해커가 그 신원정보를 다른 사용자 및 장치들과 공유라면 문제는 복잡해진다. 이러한 위험은 신원정보가 순환되든 되지않든, 그리고 로그인을 위한 신원정보를 입력할 책임이 있는 것이 실제 사용자이든 머신이든지 여전히 남아있게 된다. 서버(S)의 관점에서, 이것은 그 자원에 대한 보안 위험이 더 이상 그 저장장치의 허용범위에 국한되지 않기 때문에 문제가 되는 것이다.
그러나, 트러스트가 장치들 간에 이미 설정된 경우에는, 신원정보의 빈번한 순환을 가능하게 하면서, 클라이언트 머신상에 신원정보를 저장하지 않는 방식으로, 자동 로그인을 위한 로그인 바로 전에 클라이언트에게 동적으로 신원정보를 나눠주는 방식이 있어야 된다.
그러므로, 로그인이 실제로 행해지기 바로 전에, 로깅(logging) 또는 액세스가 요구되는 컴퓨터에 의해, 로그온 신원정보가 네트워크를 통해 자동으로 나누어질 수 있는 방식을 갖는 것이 요구된다. 사전공격을 받을 우려가 없게 하는 방식, 또는 신원정보를 알아내기 위해 클라이언트(C)의 저장장치의 로컬 스누핑(local snooping)을 당하지 않는 방식으로, 2개의 컴퓨팅 장치들 사이에서 그들 신원정보에 기초하여 인증 교환이 잇따라 일어나는 방식을 갖는 것이 요구된다. 더 나아가, 후속적인 로그인 교환이 행해지는 동일한 네트워크를 통해, 제1 장치가 제2 장치로 신원정보를 안전하게 선언하거나 배포하는 통상적이고 단순한 메커니즘 또는 프레임워크(framework)를 갖는 것이 요구된다.
본 분야의 전술된 단점을 고려하여, 본 발명은 네트워크를 통한 안전하고 동적인 신원정보 배포를 제공하는 시스템 및 방법을 제공한다. 다양한 실시예에 있어서, 본 발명은 로그인이 발생하기 전에 로깅 또는 액세스가 요구되는 컴퓨터에 의해, 네트워크를 통해 자동적으로 요청자에게 로그온 신원정보를 배포하는 시스템 및 방법을 제공한다. 예시적인 실시예에서, 미리 존재하는 트러스트에 기초하여, 컴퓨터는 로그온 신원정보를 자체-생성하여 요청자에게 자체-배포하고, 따라서 로그온 신원정보는 요청자에 의해 저장되지 않는다.
본 발명의 그 밖의 다른 장점 및 특징은 후술한다.
이하, 본 발명에 따른 안전하고 동적인 신원정보 배포를 제공하는 시스템 및 방법을 첨부 도면을 참조하여 더욱 설명한다.
개요
제2 컴퓨팅 장치에 의한 디지털 콘텐츠에 대한 요청은, 제1 컴퓨팅 장치에서 동적으로 생성되, 안전하게 배포되는 신원정보를 제2 컴퓨팅 장치가 자동으로 수신하고자 하는 때의 한 예이다. 디지털 콘텐츠에 대한 그러한 요청은 웹 서비스 및 이동 웹 서비스의 출현으로 계속 빠르게 증가할 것이다. 이미, 광범위한 네트워크된 장치의 에코시스템(ecosystem)은, 집안 곳곳에서 여러가지 장치들(예컨대, 전자식 가정용 원격 미디어 장치, 스마트 디스플레이, 엑스박스(xBox), 포켓 PC, 휴대용 DVD 장치 등)상에 엔터테인먼트 체험들(예컨대, TV, 음악, 비디오, 사진, DVD 등)을 전송하는 분야에 도입되어 있다. 그러나, 그러한 콘텐츠가 요청 컴퓨팅 장치에 전달될 수 있기 전에, 특히 요청 장치를 검증하기 위해 요청 장치와 콘텐츠를 가진 장치 사이에서 신원정보 교환이 발생한다. 전술한 바와 같이, 종래의 로그인 기술과 관련하여 어떤 위험이 있다. 본 발명은, 장치들 사이에 트러스트가 이미 설정되어 있는 경우에 이러한 위험이 방지될 수 있다는 것을 알고 있다. 따라서, 본 발명은 요청 장치에 의한 로그인이 네트워크를 통해 발생하기 바로 전에 단순한 방식으로 신원정보(들)을 네트워크를 통해 요청 장치에 자동으로 배포하는 일반적인 프레임워크를 제공한다.
일실시예의 네트워크 환경
당업자는, 본 발명이 컴퓨터 네트워크의 일부로서 전개될 수 있는 소정의 컴퓨터 또는 그외 다른 클라이언트나 서버 장치와 연계하여 구현되거나, 또는 분산 컴퓨팅 환경에서 구현될 수 있다는 것을 알 수 있다. 이와 관련하여, 본 발명은 소정 수의 메모리 또는 저장 유닛, 및 소정 수의 저장 유닛 또는 볼륨을 통해 발생하는 소정 수의 어플리케이션 및 프로세스를 갖는 임의의 컴퓨터 시스템 또는 환경에 관한 것으로, 이러한 임의의 수의 어플리케이션 및 프로세스는 본 발명에 따른 신원정보의 안전하고 동적인 배포와 관련하여 사용될 수 있다. 본 발명은 원격 또는 로컬 저장장치를 갖는 네트워크 환경 또는 분산 컴퓨팅 환경에 전개되는 서버 컴퓨터 및 클라이언트 컴퓨터를 가진 환경에 적용할 수 있다. 본 발명은 또한 프로그래밍 언어 기능, 번역 및 실행 능력을 갖고 있으며, 원격 또는 로컬 서비스와 관련하여 정보를 생성 및 송수신하는 독립형 컴퓨팅 장치에 적용될 수 있다. 디지털 미디어용의 네트워크 소스가 점점 더 증가함에 따라, 본 발명은 특히 네트워크 또는 분산 컴퓨팅 환경에서 운영되는 컴퓨팅 장치들에 적합하므로, 본 발명에 따라 신원정보를 안전하고 동적으로 배포하는 기술은 이들 환경에서 더욱 효과적으로 적용될 수 있다.
분산 컴퓨팅은 컴퓨팅 장치와 시스템과의 사이의 교환에 의해 컴퓨터 자원 및 서비스의 공유를 제공한다. 이들 자원 및 서비스는 파일을 위한 디스크 저장장치, 캐시 저장장치 및 정보의 교환을 포함한다. 분산 컴퓨팅은 네트워크 접속성의 이점을 취하여, 전체 기업에 유리하도록 클라이언트들이 그들의 집합된 힘과 저장용량을 극대화할 수 있게 한다. 이와 관련하여, 각종 장치들이 본 발명에 따라 달성될 수 있는 바와 같이, 로그인 바로 전의 신원정보의 동적인 요청 및 전달과 관련될 수 있는 어플리케이션, 객체 또는 자원을 가질 수 있다.
도 2a는 예시적인 네트워크 또는 분산 컴퓨팅 환경의 개략도를 제공한다. 분산 컴퓨팅 환경은 컴퓨팅 객체(10a, 10b 등) 및 컴퓨팅 객체 또는 장치들(110a, 110b, 110c 등)를 포함한다. 이들 객체는 프로그램, 방법, 데이터 저장부, 프로그램가능한 로직 등을 포함할 수 있다. 객체는 PDA, 오디오/비디오 장치, MP3 플레이어, TV, 퍼스널 컴퓨터 등과 같은 동일하거나 상이한 장치들의 부분들을 구성할 수 있다. 각각의 객체는 통신 네트워크(14)를 통해 다른 객체와 통신할 수 있다. 이 네트워크는 도 2a의 시스템에 서비스를 제공하는 기타 컴퓨팅 객체 및 컴퓨팅 장치를 그 자체에 포함할 수 있고, 그 자체가 다수의 상호접속된 네트워크를 나타낼 수 있다. 본 발명의 한 실시형태에 따르면, 각각의 객체(10a, 10b 등, 또는 110a, 110b, 110c 등)는 본 발명에 따른 프로세스를 요청하거나 사용하기 위해, API와 같은 인터페이스, 또는 그외 다른 객체, 소프트웨어, 펌웨어 및/또는 하드웨어를 사용할 수 있는 어플리케이션을 포함할 수 있다.
또한, 110c와 같은 객체는 다른 컴퓨팅 장치(10a, 10b 등, 또는 110a, 110b 등) 상에서 호스팅될 수 있다는 것을 알 수 있다. 그러므로, 도시된 물리적 환경에서는 접속된 장치를 컴퓨터로서 나타내고 있지만, 그러한 도시는 단지 예시적인 것일 뿐이고, 물리적 환경은 대체실시예로서, PDA, TV, MP3 플레이어 등과 같은 디지털 장치, 인터페이스, COM 객체와 같은 소프트웨어 객체, 또는 미디어 체험과 관련하여 이용될 수 있는 임의의 장치를 포함하는 것으로 도시되거나 설명될 수 있다.
분산 컴퓨팅 환경을 지원하는 각종 시스템, 컴포넌트 및 네트워크 구성이 있다. 예컨대, 컴퓨팅 시스템들은 유선 또는 무선 시스템에 의해, 로컬 네트워크 또는 널리 분산된 네트워크에 의해 함께 연결될 수 있다. 현재, 다수의 네트워크는 널리 분산된 컴퓨팅을 위한 인프라구조를 제공하고 다수의 상이한 네트워크들을 망라하는 인터넷에 연결된다. 어떠한 인프라구조라도 본 발명에 따른 신원정보(들)의 안전하고 동적인 배포에 부수하여 발생되는 예시적인 통신에 이용될 수 있다.
가정용 네트워킹 환경에는, 전력선, 데이터(무선 또는 유선), 음성(예컨대, 전화) 및 엔터테인먼트 매체와 같이, 각각 유일한 프로토콜을 지원할 수 있는 적어도 4 종류의 네트워크 전송 매체가 있다. 조명 스위치 및 전기제품과 같은 대부분의 가정용 제어장치는 연결을 위해 전력선을 사용할 수 있다. 데이터 서비스는 광대역(예컨대, DSL 또는 케이블 모뎀)으로서 가정으로 들어갈 수 있고, 무선(예컨대, HomeRF 또는 802.11B) 또는 유선(예컨대, Home PNA, Cat 5, 이더넷, 심지어 전력선) 접속을 사용하여 댁내로 액세스할 수 있다. 음성 트래픽은 유선(Cat 3) 또는 무선(예컨대, 셀 폰)으로서 댁내로 들어갈 수 있고, Cat 3 배선을 사용하여 댁내로 분산될 수 있다. 엔터테인먼트 매체 또는 기타 그래픽 데이터는 위성 또는 케이블을 통해 가정으로 들어갈 수 있고, 전형적으로 동축 케이블을 사용하여 집에서 분산된다. IEEE 1394 및 DVI는 미디어 장치들의 클러스터들을 위한 디지털 연결이다. 이러한 모든 네트워크 환경, 및 프로토콜 표준으로서 출현할 수 있는 그외 다른 것들은 인터넷를 통해 외부 세계에 접속될 수 있는 인트라넷과 같은 네트워크를 형성하기 위해 상호접속될 수 있다. 즉, 각종 다른 종류의 소스들이 데이터의 저장 및 전송을 위해 존재하고, 따라서, 더 나아가, 컴퓨팅 장치들은 본 발명에 따라 신원정보를 안전하게 동적으로 배포하는 프로세스를 요청하거나 사용하는 프로그램 객체에서 발생되기 쉽게 액세스되거나, 이용되는 데이터와 같은 데이터를 공유하는 방식을 필요로 할 것이다.
인터넷은 통상적으로, 컴퓨터 네트워크 분야에 공지된 TCP/IP 에 맞는 프로토콜들을 이용하는 네트워크 및 게이트웨이의 집합을 일컫는 것이다. TCP/IP는 "Transmission Control Protocol/Internet Protocol"의 약어이다. 인터넷은 사용자들이 네트워크(들)을 통해 상호작용하고 정보를 공유할 수 있게 하는 네트워킹 프로토콜을 실행하는 컴퓨터에 의해 상호접속된 지리적으로 분산된 원격 컴퓨터 네트워크의 시스템으로서 설명될 수 있다. 이렇듯 널리 확산된 정보 공유로 인해, 인터넷과 같은 원격 네트워크는 개발자들이 본질적으로 제한없이 특정 동작 또는 서비스를 수행행하는 소프트웨어 어플리케이션을 설계할 수 있는 오픈 시스템으로 상당히 여러모로 발전되었다.
그러므로, 네트워크 인프라구조는 클라이언트/서버, 피어 투 피어, 하이브리드 아키텍처와 같은 네트워크 형태들의 호스트를 가능케 한다. "클라이언트"는 관련되지 않은 또 다른 클래스 또는 그룹의 서비스를 이용하는 한 클래스 또는 그룹의 구성원이다. 그러므로, 컴퓨팅에서, 하나의 클라이언트는 다른 프로그램에 의해 제공되는 서비스를 요청하는 하나의 프로세스, 즉 말하자면 한 세트의 명령어 또는 태스크이다. 클라이언트 프로세스는 다른 프로그램 또는 서비스 자체에 관한 어떠한 동작 세부사항이라도 "알" 필요없이 요청한 서비스를 이용한다. 클라이언트/서버 아키텍처, 특히 네트워크 시스템에 있어서, 클라이언트는 보통, 다른 컴퓨터, 예컨대 서버에 의해 제공된 공유된 네트워크 자원을 액세스하는 컴퓨터이다. 상황에 따라 어떠한 컴퓨터라도, 클라이언트, 서버, 또는 그 양자로 간주될 수 있지만, 도 2a의 예에서, 컴퓨터(110a, 110b 등)는 클라이언트로 간주될 수 있고, 컴퓨터(10a, 10b 등)는 서버로 간주될 수 있으며, 여기서 서버(10a, 10b 등)는 다음에 클라이언트 컴퓨터(110a, 110b 등) 내에 복제되는 데이터를 유지한다. 예컨대, 컴퓨터(110a)는 MCE(Media Center Edition) 호스트 PC일 수 있고, 컴퓨팅 장치(10a, 10b 등)는 원격 매체 소모 장치일 수 있다. 이러한 컴퓨팅 장치들 중의 어떠한 것이라도, 본 발명에 따라 신원정보를 안전하게 동적으로 배포하는 기술을 나타낼 수 있는 프로세싱 데이터, 또는 요청 서비스 또는 태스크일 수 있다.
서버는 일반적으로, 인터넷과 같은 원격 또는 로컬 네트워크를 통해 액세스할 수 있는 원격 컴퓨터 시스템이다. 클라이언트 프로세스는 제1 컴퓨터 시스템에서 동작될 수 있고, 서버 프로세스는 제2 컴퓨터 시스템에서 동작될 수 있으며, 이들은 통신 매체를 통해 서로 통신하므로, 분산된 기능을 제공하고, 다수의 클라이언트들이 서버의 정보 수집 능력의 장점을 이용할 수 있게 한다. 본 발명의 기술에 따라 이용된 임의의 소프트웨어 객체는 다수의 컴퓨팅 장치 또는 객체들 전반에 분산될 수 있다.
클라이언트(들) 및 서버(들)은 프로토콜 계층(들)에 의해 제공된 기능을 이용하여 서로 통신한다. 예컨대, HTTP(Hyper Text Transfer Protocol)는 WWW(World Wide Web) 또는 "웹"과 함께 사용되는 통상적인 프로토콜이다. 예컨대, RDP(Remote Desktop Protocol)는 원격 컴퓨팅에 이용된 공통 프로토콜이다. 일반적으로, IP(Internet Protocol) 어드레스와 같은 컴퓨터 네트워크 어드레스, 또는 URL(Universal Resource Locator)과 같은 다른 레퍼런스는, 서로에 대하여 서버 또는 클라이언트 컴퓨터를 식별하기 위해 사용될 수 있다. 네트워크 어드레스는 URL 어드레스로 칭해질 수 있다. 통신은 통신 매체를 통해 제공될 수 있는데, 예컨대 클라이언트(들) 및 서버(들)은 대용량 통신을 위한 TCP/IP 접속(들)을 통해 서로 연결될 수 있다.
그러므로, 도 2a는 본 발명이 이용될 수 있는 일실시예의 네트워크 또는 분산 환경을 도시한 것으로, 서버는 네트워크/버스를 통해 클라이언트 컴퓨터와 통신한다. 더욱 상세하게, 다수의 서버(10a, 10b 등)는 본 발명에 따라, LAN, WAN, 인트라넷, 인터넷 등일 수 있는 통신 네트워크/버스(14)를 통해, 포터블 컴퓨터, 핸드헬드 컴퓨터, 신 클라이언트(thin client), 네트워크화 전기제품, 또는 VCR, TV, 오븐, 조명, 히터 등의 기타 장치와 같은 다수의 클라이언트 또는 원격 컴퓨팅 장치(110a, 110b, 110c, 110d, 110e 등)들과 상호연결된다. 그러므로, 생각컨대, 본 발명은 저장장치, 사용자 인터페이스, 렌더링 등과 관련하여 유일한 매체 능력을 갖는 임의의 컴퓨팅 장치에 적용할 수 있다.
통신 네트워크/버스(14)가 인터넷인 네트워크 환경에서, 예컨대, 서버(10a, 10b 등)는 클라이언트(110a, 110b, 110c, 110d, 110e 등)가 HTTP와 같은 다수의 공지된 프로토콜 중의 임의의 프로토콜을 통해 통신하는 웹 서버일 수 있다. 서버(10a, 10b 등)는 또한 분산 컴퓨팅 환경의 특성일 수 있는 바와 같이, 클라이언트(110a, 110b, 110c, 110d, 110e 등)로서 작용할 수도 있다.
통신은 적절하게 유선 또는 무선일 수 있다. 클라이언트 장치(110a, 110b, 110c, 110d, 110e 등)는 통신 네트워크/버스(14)를 통해 통신할 수도 있고 또는 통신하지 않을 수도 있으며, 그와 연관된 독립적인 통신을 가질 수도 있다. 예컨대, TV 또는 VCR의 경우에, 그 제어에 관해 네트워크된 형태일 수도 있고 아닐 수도 있다. 각각의 클라이언트 컴퓨터(110a, 110b, 110c, 110d, 110e 등) 및 서버 컴퓨터(10a, 10b 등)는 다양한 어플리케이션 프로그램 모듈 또는 객체(135)가 갖추어 질수 있고, 파일 또는 데이터 스트림이 저장되거나 또는 파일 또는 데이터 스트림의 부분(들)이 다운로드, 전송 또는 이동되는 다양한 유형의 저장 소자 또는 객체로 접속되거나 액세스될 수 있다. 어떤 하나 이상의 컴퓨터(10a, 10b, 110a, 110b 등)들이 본 발명에 따라 프로세스된 데이터를 저장하는 데이터베이스 또는 메모리(20)와 같은 데이터베이스(20) 또는 다른 저장 소자의 유지 및 갱신을 맏을 수 있다. 그러므로, 본 발명은 컴퓨터 네트워크/버스(14)와 상호작용하고 액세스할 수 있는 클라이언트 컴퓨터(110a, 110b 등), 및 클라이언트 컴퓨터(110a, 110b 등) 및 이와 유사한 다른 장치들과 상호작용할 수 있는 서버 컴퓨터(10a, 10b 등), 및 데이터베이스(20)를 갖는 컴퓨터 네트워크 환경에서 이용될 수 있다.
일실시예의 컴퓨팅 장치
도 2b 및 다음 설명은 본 발명이 구현될 수 있을지와 관련하여, 적절한 컴퓨팅 환경에 대한 간략한 일반적인 설명을 제공하고자 하는 것이다. 그러나, 생각컨대, 핸드헬드, 포터블 및 기타 컴퓨팅 장치들, 및 모든 종류의 컴퓨팅 객체들은 본 발명과 관련하여, 즉 자원이 요청되거나 매체가 컴퓨팅 환경에서 경험될 수 있는 어디에나 사용될 수 있다. 범용 컴퓨터가 이하에서 일실시예의 호스트로서 설명되지만, 이것은 일례일 뿐이며, 본 발명은 네트워크/버스 상호운용성 및 상호작용을 갖고 있는 신 클라이언트로 구현될 수 있다. 그러므로, 본 발명은 매우 작거나 또는 최소의 클라이언트 자원들이 결합된, 네트워크되고 호스트된(networked and hosted) 서비스의 환경, 예컨대 클라이언트 장치가, 하나의 전기제품 내에 배치된 하나의 객체와 같이, 네트워크/버스에 대한 인터페이스로서만 작용하는 네트워크 환경에서 구현될 수 있다. 본질적으로, 데이터가 저장되거나 또는 데이터가 검색되거나 다른 컴퓨터로 전송될 수 있는 임의의 장소는 본 발명에 따른 신원정보의 안전하고 동적인 배포의 동작에 바람직하거나 적합한 환경이다.
요구되지는 않지만, 본 발명은 장치 또는 객체의 서비스 개발자에 의한 사용을 위해 운영체제를 통해 구현될 수 있고, 및/또는 본 발명에 따른 신원정보의 전달 또는 수신과 관련하여 동작하는 응용 소프트웨어 내에 포함될 수 있다. 소프트웨어는 클라이언트 워크스테이션, 서버 또는 기타 장치와 같은 하나 이상의 컴퓨터에 의해 실행되는, 프로그램 모듈과 같은 컴퓨터 실행가능 명령어들의 일반적인 문맥으로 기술될 수 있다. 일반적으로, 프로그램 모듈은 특정 태스크를 실행하거나 특정 추상 데이터형을 실현하는 루틴, 프로그램, 객체, 컴포넌트, 데이터 구조 등을 포함한다. 전형적으로, 프로그램 모듈의 기능은 여러가지 실시예에서 원하는 대로 결합되거나 분산될 수 있다. 또한, 당업자라면, 본 발명이 기타 컴퓨터 시스템 구성 및 프로토콜로 실시될 수 있다는 것을 이해할 수 있을 것이다. 본 발명과 함께 사용하기 위해 적합하게 될 수 있는 기타의 공지된 컴퓨팅 시스템, 환경 및/또는 구성들은, 퍼스널 컴퓨터, 현금 자동 입출금기(ATM), 서버 컴퓨터, 핸드-헬드 또는 랩탑 장치, 멀티-프로세서 시스템, 마이크로프로세서 기반의 시스템, 프로그램 가능 소비자 전자제품, 네트워크 PC, 전기제품, 조명, 환경 제어 장치, 미니컴퓨터, 메인프레임 컴퓨터 등을 포함하는데, 이것에 제한되지는 않는다. 본 발명은 또한 통신 네트워크/버스 또는 기타 데이터 전송 매체를 통해 링크되는 원격 프로세싱 장치에 의해 태스크가 실행되는 분산 컴퓨팅 환경에서 실시될 수 있다. 분산 컴퓨팅 환경에서, 프로그램 모듈은 메모리 저장 장치를 포함하는 로컬 및 원격 컴퓨터 저장 매체 내에 위치될 수 있고, 클라이언트 노드는 반대로 서버 노드로서 작동할 수 있다.
도 2b는 본 발명이 구현될 수 있는 적절한 컴퓨팅 시스템 환경(100)의 일례를 도시한 것으로, 상기에서 명백하기는 하지만, 컴퓨팅 시스템 환경(100)은 단지 적절한 컴퓨팅 환경의 일 예이며, 본 발명의 사용 또는 기능의 범위에 제한을 가하도록 의도된 것은 아니다. 컴퓨팅 환경(100)은 일실시예의 동작 환경(100)에 도시된 컴포넌트들 중의 임의의 하나 또는 조합에 관하여 임의의 종속성 또는 요구사항을 갖는 것으로 해석되어서는 안된다.
도 2b를 참조하면, 본 발명을 구현하기 위한 예시적인 시스템은 컴퓨터(110) 형태의 범용 컴퓨팅 장치를 포함한다. 컴퓨터(110)의 컴포넌트들로는, 프로세싱 유닛(120), 시스템 메모리(130), 및 시스템 메모리를 포함하는 다양한 시스템 컴포넌트를 프로세싱 유닛(120)에 연결시키는 시스템 버스(121)가 포함될 수 있지만, 이에 제한되는 것은 아니다. 시스템 버스(121)는 다양한 버스 아키텍처 중의 임의의 것을 사용하는 로컬 버스, 주변 버스, 및 메모리 버스 또는 메모리 제어기를 포함하는 몇가지 유형의 버스 구조 중의 임의의 것일 수 있다. 예로서, 이러한 아키텍처는 산업 표준 아키텍처(ISA) 버스, 마이크로 채널 아키텍처(MCA) 버스, 인핸스드 ISA(Enhanced ISA; EISA) 버스, 비디오 전자기기 표준협회(VESA) 로컬 버스, 및 (메자닌(Mezzanine) 버스로도 알려진) 주변 컴포넌트 상호접속(PCI) 버스를 포함하지만, 이에 제한되는 것은 아니다.
컴퓨터(110)는 통상적으로 다양한 컴퓨터 판독가능 매체를 포함한다. 컴퓨터 판독가능 매체는 컴퓨터(110)에 의해 액세스될 수 있는 임의의 이용가능한 매체일 수 있으며, 휘발성 및 비휘발성 매체, 소거가능 및 비소거가능 매체를 둘다 포함한다. 예로서, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 포함할 수 있지만, 이에 제한되는 것은 아니다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성, 소거가능 및 비소거가능 매체를 모두 포함한다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래쉬 메모리 또는 기타 메모리 기술, CD-ROM, DVD(digital versatile disk) 또는 기타 광학 디스크 저장장치, 자기 카세트, 자기 테이프, 자기 디스크 저장장치 또는 기타 자기 저장장치, 또는 컴퓨터(110)에 의해 액세스될 수 있고 원하는 정보를 저장하는 데 사용될 수 있는 임의의 기타 매체를 포함할 수 있지만, 이에 제한되지 않는다. 통신 매체는 통상적으로 반송파 또는 기타 전송 메커니즘 등의 변조된 데이터 신호에 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터를 구현하며, 임의의 정보 전달 매체를 포함한다. "변조된 데이터 신호"라는 용어는 신호 내에 정보를 인코딩하는 방식으로 설정되거나 변환된 특성을 하나 또는 그 이상을 갖는 신호를 의미한다. 예로서, 통신 매체는 유선 네트워크 또는 직접 유선 접속 등의 유선 매체와, 음향, RF, 적외선 및 기타 무선 매체 등의 무선 매체를 포함하지만, 이에 제한되지 않는다. 전술한 것들 중의의 임의의 조합은 또한 컴퓨터 판독가능 매체의 범위 내에 포함되어야 한다.
시스템 메모리(130)는 ROM(131) 및 RAM(132) 등의 휘발성 및/또는 비휘발성 메모리 형태의 컴퓨터 저장 매체를 포함한다. 시동중과 같은 때에 컴퓨터(110) 내의 구성요소들간에 정보를 전송하는 것을 돕는 기본 루틴을 포함하는 기본 입출력 시스템(133; BIOS)은 일반적으로 ROM(131)에 저장된다. RAM(132)은 일반적으로 프로세싱 유닛(120)에 즉시 액세스될 수 있고/있거나 프로세싱 유닛(120)에 의해 현재 작동되는 프로그램 및/또는 데이터 모듈을 포함한다. 예로서, 이에 제한되지는 않지만, 도 2b는 운영체제(134), 어플리케이션 프로그램(135), 기타 프로그램 모듈(136) 및 프로그램 데이터(137)를 도시하고 있다.
컴퓨터(110)는 또한 다른 소거가능/비소거가능, 휘발성/비휘발성 컴퓨터 저장 매체를 포함할 수 있다. 단지 예로서, 도 2b에는 비소거가능 비휘발성 자기 매체로부터 판독하거나 그 자기 매체에 기록하는 하드 디스크 드라이브(141), 소거가능 비휘발성 자기 디스크(152)로부터 판독하거나 그 자기 디스크에 기록하는 자기 디스크 드라이브(151), 및 CD-ROM 또는 기타 광학 매체 등의 소거가능 비휘발성 광학 디스크(156)로부터 판독하거나 그 광학 디스크에 기록하는 광학 디스크 드라이브(155)가 도시되어 있다. 예시적인 동작 환경에서 사용될 수 있는 다른 소거가능/비소거가능, 휘발성/비휘발성 컴퓨터 저장 매체는 자기 테이프 카세트, 플래쉬 메모리 카드, DVD, 디지털 비디오 테이프, 고체 RAM, 고체 ROM 등을 포함하지만 이에 제한되지 않는다. 하드 디스크 드라이브(141)는 일반적으로 인터페이스(140)와 같은 비소거가능 메모리 인터페이스를 통해 시스템 버스(121)에 연결되고, 자기 디스크 드라이브(151) 및 광학 디스크 드라이브(155)는 일반적으로 인터페이스(150)와 같은 소거가능 메모리 인터페이스에 의해 시스템 버스(121)에 연결된다.
전술한 바와 같은, 도 2b에 도시된 드라이브 및 그 관련 컴퓨터 저장 매체는 컴퓨터(110)를 위한 컴퓨터 판독가능 명령, 데이터 구조, 프로그램 모듈 및 기타 데이터의 저장을 제공한다. 도 2b에서, 예컨대, 하드 디스크 드라이브(141)는 운영체제(144), 어플리케이션 프로그램(145), 기타 프로그램 모듈(146) 및 프로그램 데이터(147)를 저장하는 것으로 도시된다. 이들 컴포넌트는 운영체제(134), 어플리케이션 프로그램(135), 기타 프로그램 모듈(136) 및 프로그램 데이터(137)와 동일할 수도 있고 다를 수도 있다. 운영체제(144), 어플리케이션 프로그램(145), 기타 프로그램 모듈(146) 및 프로그램 데이터(147)는 최소한 다른 복사본(different copies)임을 나타내도록 다른 번호를 부여하였다. 사용자는 마우스, 트랙볼 또는 터치 패드라 불리우는 포인팅 장치(161) 및 키보드(162)와 같은 입력 장치를 통해 컴퓨터(110) 내로 명령 및 정보를 입력할 수 있다. (도시되지 않은) 기타 입력 장치는 마이크로폰, 조이스틱, 게임 패드, 위성 안테나, 스캐너 등을 포함할 수 있다. 이들 입력 장치 및 기타의 입력 장치들은 시스템 버스(121)에 연결된 사용자 입력 인터페이스(160)를 통해 종종 프로세싱 유닛(120)에 접속되지만, 병렬 포트, 게임 포트 또는 유니버설 시리얼 포트(USB) 와 같은 기타 인터페이스 및 버스 구조에 의해 접속될 수 있다. 노스브리지(Northbridge)와 같은 그래픽 인터페이스(182)가 또한 시스템 버스(121)에 접속될 수 있다. 노스브리지는 CPU 또는 호스트 프로세싱 유닛(120)과 통신하여, 가속화 그래픽 포트(AGP) 통신을 맏는 칩세트이다. 하나 이상의 그래픽 프로세싱 유닛(GPU)(184)는 그래픽 인터페이스(182)와 통신할 수 있다. 이와 관련하여, GPU(184)는 일반적으로 레지스터 저장장치와 같은 온칩 메모리 저장장치를 포함하고, GPU(184)는 비디오 메모리(186)와 통신하는데, 본 발명의 응용 변수가 영향을 줄 수 있다. 그러나, GPU(184)는 코프로세서의 한 예일 뿐이고, 따라서 여러가지 코프로세싱 장치는 컴퓨터(110) 내에 포함될 수 있으며, 픽셀 및 정점 셰이더(vertex shader)와 같은 여러가지 절차적 셰이더를 포함할 수 있다. 모니터(191) 또는 다른 유형의 디스플레이 장치는 또한 비디오 인터페이스(190) 등의 인터페이스를 통해 시스템 버스(121)에 접속되어, 비디오 메모리(186)와 반대로 통신할 수 있다. 모니터 외에도, 컴퓨터는 또한 출력 주변 인터페이스(195)를 통해 접속될 수 있는 스피커(197) 및 프린터(196) 등의 기타 주변 출력 장치를 포함할 수 있다.
컴퓨터(110)는 원격 컴퓨터(180)와 같은 하나 이상의 원격 컴퓨터로의 논리적 접속을 이용한 네트워크 또는 분산 환경에서 동작할 수 있다. 원격 컴퓨터(180)는 퍼스널 컴퓨터, 서버, 라우터, 네트워크 PC, 피어 장치 또는 기타 공통 네트워크 노드일 수 있으며, 비록 도 2b에는 메모리 저장 장치(181)만이 도시되어 있지만, 컴퓨터(110)에 관하여 전술한 구성요소 중 다수 또는 모든 구성요소를 일반적으로 포함할 수 있다. 도 2b에 도시된 논리적 접속은 근거리 통신망(LAN; 171) 및 원거리 통신망(WAN; 173)을 포함하지만, 그 외의 네트워크/버스를 포함할 수도 있다. 이러한 네트워크 환경은 가정, 사무실, 기업 전반의 컴퓨터 네트워크, 인트라넷, 및 인터넷에서 일반적인 것이다.
LAN 네트워크 환경에서 사용되는 경우, 컴퓨터(110)는 네트워크 인터페이스 또는 어댑터(170)를 통해 LAN(171)에 접속된다. WAN 네트워크 환경에서 사용되는 경우, 컴퓨터(110)는 일반적으로 인터넷 등의 WAN(173)을 통해 통신을 구축하기 위한 모뎀(172) 또는 기타 수단을 포함한다. 내장형 또는 외장형일 수 있는 모뎀(172)은 사용자 입력 인터페이스(160) 또는 기타 적절한 메커니즘을 통해 시스템 버스(121)에 접속될 수 있다. 네트워크 환경에서, 컴퓨터(110)에 관하여 도시된 프로그램 모듈 또는 그 일부분은 원격 메모리 저장 장치에 저장될 수 있다. 예로서, 이에 제한되지 않지만, 도 2b는 메모리 장치(181)에 상주하는 원격 어플리케이션 프로그램(185)을 도시한다. 도시된 네트워크 접속은 예시적인 것이며, 컴퓨터들간의 통신 링크를 구축하는 그 외의 수단이 사용될 수 있다는 것을 알 수 있을 것이다.
일실시예의 장치
도 2c 및 다음 설명은 본 발명의 신원정보의 안전하고 동적인 배포의 사용과 관련하여 콘텐츠로의 액세스를 요청하거나 호스팅할 수 있는 장치에 적합한 컴퓨팅 환경의 간략한 일반적인 설명을 제공하고자 하는 것이다. 그러나, 핸드헬드, 포터블 및 기타 컴퓨팅 장치들, 및 모든 종류의 컴퓨팅 객체들은 본 발명과 관련하여, 즉 장치가 장치에 대한 매체 경험의 전달을 호스트하거나 요청하고 싶어할 수 있는 어디에나 사용될 수 있는 것으로 이해되어야 한다. 매체 능력면에서의 이러한 장치들의 차이는 요청 컴퓨팅 장치의 신원정보를 이해함으로써 원격 매체 체험을 상이한 원격 장치에 맞도록 하는데, 본 발명의 장점을 활용하도록 한다.
요구되지는 않았지만, 본 발명은 장치 또는 객체의 서비스 개발자에 의한 사용을 위해 운영체제를 통해 부분적으로 구현될 수 있고/있거나, 본 발명의 컴포넌트(들)과 관련하여 동작하는 응용 소프트웨어 내에 포함될 수 있다. 소프트웨어는 클라이언트 워크스테이션, 서버 또는 기타 장치와 같은 하나 이상의 컴퓨터에 의해 실행되는 프로그램 모듈 등의 컴퓨터 실행가능 명령어들의 일반적인 문맥으로 기술될 수 있다. 당업자라면, 본 발명이 기타 컴퓨터 시스템 구성 및 프로토콜로 실시될 수 있다는 것을 이해할 수 있을 것이다.
도 2c는 이와 같이 본 발명이 구현될 수 있는 적절한 컴퓨팅 시스템 환경(100a)의 예를 도시한 것으로, 상기에서 명백하기는 하지만, 컴퓨팅 시스템 환경(100 및 100a)은 단지 본 발명에 따른 신원정보의 배포에 적절한 컴퓨팅 환경의 2가지 예에 불과하며, 본 발명의 사용 또는 기능의 범위에 제한을 가하도록 의도된 것은 아니다. 컴퓨팅 환경(100 또는 100a)은 예시적인 동작 환경(100 또는 100a)에 도시된 컴포넌트들 중의 임의의 하나 또는 조합에 관하여 임의의 종속성 또는 요구사항을 갖는 것으로 해석되어서는 안된다.
도 2c를 참조하면, 본 발명을 구현하기 위한 제2 실시예의 장치는 컴퓨터(110a) 형태의 범용 컴퓨팅 장치를 포함한다. 컴퓨터(110a)의 컴포넌트들로는, 프로세싱 유닛(120a), 시스템 메모리(130a), 및 시스템 메모리를 포함하는 다양한 시스템 컴포넌트를 프로세싱 유닛(120a)에 연결시키는 시스템 버스(121a)가 포함될 수 있지만, 이에 제한되는 것은 아니다. 시스템 버스(121a)는 다양한 버스 아키텍처 중의 임의의 것을 사용하는 로컬 버스, 주변 버스, 및 메모리 버스 또는 메모리 제어기를 포함하는 몇가지 유형의 버스 구조 중의 임의의 것일 수 있다.
컴퓨터(110a)는 통상적으로 다양한 컴퓨터 판독가능 매체를 포함한다. 전술된 바와 같이, 컴퓨터 판독가능 매체는 컴퓨터(110a)에 의해 액세스될 수 있는 임의의 이용가능한 매체일 수 있다. 시스템 메모리(130a)는 ROM 및/또는 RAM과 같은 휘발성 및/또는 비휘발성 메모리 형태의 컴퓨터 저장 매체를 포함할 수 있다. 시동중과 같은 때에 컴퓨터(110a) 내의 구성요소들간에 정보를 전송하는 것을 돕는 기본 루틴을 포함하는 기본 입출력 시스템(BIOS)은 메모리(130a) 내에 저장될 수 있다. 메모리(130a)는 일반적으로 프로세싱 유닛(120a)에 즉시 액세스될 수 있고, 및/또는 프로세싱 유닛(120a)에 의해 현재 작동되는 프로그램 모듈 및/또는 데이터를 또한 포함한다. 예로서, 이에 제한도지는 않지만, 메모리(130a)는 또한 운영체제, 어플리케이션 프로그램, 기타 프로그램 모듈 및 프로그램 데이터를 포함할 수 있다.
컴퓨터(110a)는 또한, 인터페이스와 같은 비소거가능 메모리 인터페이스를 통해 시스템 버스(121a)에 접속될 수 있는 다른 소거가능/비소거가능, 휘발성/비휘발성 컴퓨터 저장 매체를 포함할 수 있고, 자기 디스크 드라이브 또는 광학 디스크 드라이브는 일반적으로 인터페이스와 같은 소거가능 메모리 인터페이스에 의해 시스템 버스(121a)에 접속된다.
사용자는 여러가지 입력 장치를 통해 컴퓨터(110a) 내로 명령 및 정보를 입력할 수 있다. 그래픽 서브시스템이 또한 시스템 버스(121a)에 접속될 수 있다. 모니터 또는 다른 유형의 디스플레이 장치는 또한 비디오 메모리와 교대로 통신할 수 있는 출력 인터페이스(150a)와 같은 인터페이스를 통해 시스템 버스(121a)에 접속된다. 모니터 외에도, 컴퓨터는 또한 출력 인터페이스(150a)를 통해 접속될 수 있는 스피커 및 프린터와 같은 기타 주변 출력 장치를 포함할 수 있다.
컴퓨터(110a)는 원격 컴퓨터(170a)와 같은 하나 이상의 다른 원격 컴퓨터로의 논리적 접속을 이용한 네트워크 또는 분산 환경에서 동작할 수 있으며, 이로 인해 장치(110a)와 상이한 매체 능력을 반대로 가질 수 있다. 원격 컴퓨터(170a)는 퍼스널 컴퓨터, 서버, 라우터, 네트워크 PC, 피어 장치 또는 기타 공통 네트워크 노드, 또는 임의의 다른 원격 매체 소모 또는 전송 장치일 수 있으며, 컴퓨터(110a)에 관하여 전술한 구성요소 중 다수 또는 모든 구성요소를 포함할 수 있다. 도 2c에 도시된 논리적 접속은 근거리 통신망(LAN) 또는 원거리 통신망(WAN)과 같은 네트워크(171a)를 포함하지만, 그 외의 네트워크/버스를 포함할 수도 있다. 이러한 네트워크 환경은 가정, 사무실, 기업 전반의 컴퓨터 네트워크, 인트라넷 및 인터넷에서 일반적인 것이다.
따라서, 전술된 범용 컴퓨터는 단지 예일 뿐이며, 본 발명은 네트워크/버스 상호운용성 및 상호작용을 갖는 임의의 클라이언트로 구현될 수 있다. 그러므로, 본 발명은 매우 작거나 또는 적어도의 클라이언트 자원들이 관련되는, 네트워크되고 호스팅되는 서비스의 환경, 예컨대 클라이언트 장치가, 하나의 전기제품 내에 배치된 하나의 객체와 같은 네트워크/버스에 대한 인터페이스로서만 작용하는 네트워크 환경에서 구현될 수 있다. 본질적으로, 데이터가 저장되거나 또는 데이터가 검색되거나 다른 컴퓨터로 전송될 수 있는 임의의 장소는 본 발명에 따른 기술의 동작에 바람직하거나 적합한 환경이다.
일실시예의 분산 컴퓨팅 프레임워크 또는 아키텍처
다양한 분산형 컴퓨팅 프레임워크는 퍼스널 컴퓨팅 및 인터넷을 중심으로 개발되어 왔으며 개발 중에 있다. 개인 사용자나 비즈니스 사용자를 막론하고, 컴퓨팅 활동을 점점 웹 브라우저 지향적 또는 네트워크 지향적으로 만드는 어플리케이션 및 컴퓨팅 장치를 위해, 끊임없이 상호동작이 가능하고 웹 사용가능한 인터페이스가 제공된다.
예컨대, MICROSOFT?瑛? 관리 코드 플랫폼(managed code platform), 즉 .NET은 서버, 웹-기반 데이터 저장장치와 같은 빌딩-블록 서비스, 및 다운로드 가능한 디바이스 소프트웨어를 포함한다. 일반적으로 말하면, .NET 플랫폼은 (1) 전체 범위의 컴퓨팅 장치들이 작업을 함께 수행하도록 하며, 사용자 정보가 그들 모두에게 자동으로 갱신되고 동기화되도록 할 수 있는 능력, (2) HTML보다 XML을 더 많이 사용함으로써 가능해진 웹 페이지에 대한 증가된 상호작용 능력(interactive capability), (3) 예컨대, Office.NET과 같은 소프트웨어 또는 이메일 등의 다양한 어플리케이션의 관리를 위해 중앙 시작점으로부터 사용자에게 제품 및 서비스의 개별화된 액세스 및 전달을 제공하는 특징이 있는 온라인 서비스, (4) 사용자들과 장치들 사이의 정보의 동기화뿐만 아니라 정보에 대한 액세스의 효율성과 용이성을 증가시키는 집중된 데이터 저장장치, (5) 이메일, 팩스 및 전화와 같은 다양한 통신 매체를 통합할 수 있는 능력, (6) 개발자에 대하여, 재사용가능 모듈을 생성하여 생산성을 증가시키고 프로그래밍 에러의 수를 감소시키는 능력, 및 (7) 다수의 기타 크로스-플랫폼 및 언어 통합 특징을 제공한다.
본 명세서의 몇몇 예시된 실시예는 컴퓨팅 장치 상에 상주하는 소프트웨어와 관련하여 설명되지만, 본 발명의 하나 이상의 부분은, 본 발명의 방법이 .NET 코드와 같은 관리 코드에 의해 가능해진 모든 언어 및 서비스에 포함될 수 있거나, 지원될 수 있거나, 이를 통해 액세스될 수 있도록, 운영체제, 어플리케이션 프로그래밍 인터페이스(API), 또는 "미들 맨(middle man)" 객체, 제어 객체, 하드웨어, 펌웨어, 중간 언어 명령어 또는 객체 등을 통해 구현될 수 있을 뿐 아니라, 기타 분산현 컴퓨팅 프레임워크에서 구현될 수도 있다.
자동 로그온 이전의 신원정보의 동적이고 안전한 배포
전술된 바와 같이, 본 발명은 호스트 컴퓨터의 콘텐츠, 자원 및/또는 서비스를 액세스하기 위해 로그인이 발생하기 전에, 예컨대 요청자 장치와 호스트 컴퓨터 사이에서 세션을 시작하기 전에, 로깅 또는 액세스가 요구되는 호스트 컴퓨터에 의해 자동으로 네트워크를 통해 요청자 장치에게 로그온 신원정보를 배포하는 시스템 및 방법을 제공한다.
그러므로, 본 발명은 호스트 머신이 안전한 방식으로 클라이언트 신원정보에 관한 제어를 할 수 있게 한다. 바람직하게는, 호스트는 클라이언트에게 순환에 참여하도록 요구하지 않고 보안을 향상시키도록 신원정보를 빈번하게 순환시킬 수 있다. 또한, 본 발명에 있어서, 클라이언트는 소정의 상당한 기간동안 신원정보를 보유할 필요가 없고, 신원정보를 보유하는 것과 연관된 보안 및 저장 메커니즘을 포함할 필요도 없다.
도 3a는 본 발명의 바람직한 실시예를 도시한 것으로, 본 발명에 따른 로그온 바로 전의 신원정보의 안전하고 동적인 배포를 일반적으로 나타낸 것이다. 단계 A에 나타낸 바와 같이, 호스트 장치와 같은 제1 장치(C1)는 장치들 간의 이전의 교환으로 인해, 즉 단계 A에서 장치들 간에 트러스트가 설정됨으로써, 예컨대 클라이언트 장치인 제2 장치로부터의 통신을 신뢰한다. 트러스트를 설정하는 한가지 예시적인 방식은 양쪽 장치에서 공유되도록 사용자와 연관된 생체인식(biometric) 정보를 입력하는 것이다. 트러스트를 설정하는 다른 예시적인 방식은 공유된 비밀정보를 설정하기 위해 장치들 중의 한 장치 내로 그외 다른 장치에서 수신되는 트러스트 코드를 사용자가 입력하는 것을 포함한다. 마찬가지로, 사용자는 검증 프로세스에 따라 장치들 간에 트러스트를 설정하기 위해 동일한 하드웨어 컴포넌트, 예컨대 메모리 스틱 또는 USB 메모리 장치를 양쪽 장치들 내로 삽입하거나 입력할 수 있다. 트러스트를 설정하는 다른 예시적인 방식은 제2 장치 C2와 제1 장치 C1 사이의 "셋업" 프로세스를 포함할 수 있는데, 이 프로세스는 (i) 제2 장치 C2에 의해 소유된 공개키가 제1 장치 C1 내에 저장될 수 있게 하고, (ii) 그것에 의해, 제1 장치 C1는 제2 장치 C2로부터 얻은 공개키가, 제1 장치 C1에 의해 나누어진 로그온 신원정보를 가로채려고 하는 "불량" 장치로부터 온 것이 아니고, 제2 장치 C2로부터 확실하게 온 것이라는 것을 보증한다. 이러한 신뢰되는 공개키 교환은 당업자에게 공지된 여러가지 상이한 방식으로 발생할 수 있다. 예컨대, "Trusted Network Transfer of Content Using Off Network Input Code"라는 발명의 명칭을 가진, 공동 양도된 계류중인 미국 특허 출원 제XX/YYY,ZZZ호('ZZZ 출원)는 단순한 사용자 입력식 코드를 사용하여 네트워크 내의 한 컴퓨팅 장치에서 제2 컴퓨팅 장치로 공개키와 같은 콘텐츠를 전송하는 시스템 및 방법을 제공함으로써, 장치들 간에 신뢰되는 통신을 설정한다는 것을 기술하고 있다. 여러 실시예에서, 'ZZZ 출원은 네트워크 콘텐츠 교환의 대역외로 입력된 단순한 코드를 사용하여 네트워크 내의 한 컴퓨팅 장치에서 다른 장치로 암호화 키 정보와 같은 콘텐츠의 신뢰되는 송수신을 가능케하는 시스템을 교시하고 있다.
제1 장치(C1) 및 제2 장치(C2)가 트러스트를 설정한 후의 어느 때에, 단계 B에서, 제2 장치(C2)는 인증 교환에 관련된 제1 장치(C1)의 자원에 대한 요청을 한다. 본 발명에 따르면, 제1 장치(C1)은 신뢰되는 제2 장치(C2)로부터의 공개키를 갖기 때문에, 단계 C에 나타낸 바와 같이, 제1 장치(C1)는 로그온 신원정보를 자동으로 생성하고, 단계 D에서 네트워크 상에서 신원정보의 안전한 배포를 위하여, 이들 신원정보를 그 공개키를 사용하여 암호화한다.
신원정보를 수신하면, 단계 E에서 제2 장치(C2)는 신원정보를 대응하는 공개키로 복호화하고, 신원정보를 저장하지 않고, 또한 단계 E에서, 로그온 객체는 로그온 요청을 위한 관련 인증 프로토콜에 따라 신원정보를 래핑(wrapping)하고 적절하게(예컨대, 공유된 공개키를 통해) 재암호화하여 제1 장치(C1)에 대한 로그온 요청을 자동으로 생성한다. 로그온 요청은 제2 장치(C2)상에 저장되지 않고 단계 F에서 제2 장치(C2)로부터 제1 장치(C1)로 전송된다. 한 실시예에서, 추가적인 보호를 위해, 로그온 객체는 그 동작과 관련하여 보호된 메모리 공간의 이점을 취한다. 단계 G에서, 로그온은 성공되고, 단계 B에서의 요청에 따른 개인 통신은 설정된 액세스 레벨 및 사용권한에 따라 제1 장치(C1)와 제2 장치(C2) 사이에서 시작할 수 있다.
본 발명에 따르면, 제1 장치(C1)로부터의 (로그온 신원정보과 관련하여 보내진 소정의 다른 정보와 함께) 암호화된 신원정보는 제2 장치(C2)만이 그것들을 복호화할 수 있기 때문에, 제1 장치(C1)상에 비보호식으로 저장되거나 또는 네트워크 상에서 자유롭게 배포될 수 있다. 따라서, 그 후, 제2 장치(C2)가 제1 장치(C1)로 로그온하고자 할 때마다, 제2 장치(C2)는 로그온하기를 원한다는 것을 나타내는 네트워크 메시지를 보내면, 제1 장치(C1)는 암호화된 신원정보로 응답한다. 제2 장치(C2)는 공개키를 사용하여 신원정보를 복호화한 다음에 바로, 이 신원정보를 사용하여 제1 장치(C1)로 다시 로그온한다. 바람직하게는, 신원정보는 나중에 소정의 시기에 제1 장치(C1)에 의해 재생성된 다음, 제2 장치(C2)로부터의 공개키로 재암호화될 수 있다. 그러므로, 다음에 제2 장치(C2)가 로그인하려고 시도할 때, 제2 장치(C2)는 새로운 신원정보를 동적으로 획득하여 로그인하기 위해 사용한다.
도 3b는 제1 컴퓨팅 장치(C1)와 제2 컴퓨팅 장치(C2) 사이의 통신이 전술된 프로세스를 구현하는 예시적인 시스템을 도시한 것이다. 단계 300에서, 제1 장치(C1)는, 예컨대 'ZZZ 출원의 방법을 통해, 제2 장치(C2)의 신뢰도를 설정하는 방식으로, 제2 장치(C2)로부터 공개키를 수신한다. 단계 310에서, 트러스트 설정 후의 어느 때에, (제2 장치(C2)로부터의 요청과 같은) 소정의 이벤트(들)에 응답하여, 제1 장치(C1)는 단계 310에서 로그온 신원정보를 동적으로 생성하고, 단계 320에서 제2 장치(C2)의 공개키로 신원정보를 암호화한다. 단계 330에서, 암호화된 신원정보는 네트워크 상에서 제2 장치(C2)로 보내진다. 제2 장치(C2)는 단계 340에서 신원정보를 복호화하고, 단계 350에서 신원정보를 재암호화하고 소거하는 반면, 또한 적절한 로그온 프로토콜에 따라 로그온 요청을 발행한다. 제1 장치는 단계 370에서 신원정보를 복호화하고, 단계 380에서 신원정보의 유효성을 판정함으로써 로그온 요청을 처리한다. 신원정보가 유효하면, 단계 390에서 안전한 로그온이 성공된다. 유효하지 못하면, 단계 385에서 로그온이 실패된다.
도 4a 및 도 4b는 클라이언트 장치가 호스트 장치와 세션을 시작하고자 하는 경우에, 본 발명에 따라 네트워크를 통해 안전하게 동적으로 신원정보를 배포하는 실시예에 연관하여, 실행된 프로세스 및 수행될 수 있는 프로토콜을 나타내는 예시적이고 비제한적인 흐름도를 도시한 것이다. 따라서, 호스트와 클라이언트 사이에 트러스트가 설정되어 있다면, 본 발명은 세션을 설정하는 시나리오에 적용될 수 있다.
간략한 정의를 위해, 세션은 사용자 계정이 그 계정과 연관된 신원정보를 사용하여 한 머신에로 로그인될 때 운영체제에서 작성된 환경이다. 사용자가 로그인하면, 세션이 작성되고; 사용자가 로그아웃하면, 세션은 종료된다. 일단 로그인했으면, 세션은 사용자 계정이 수동으로 로그오프되거나 OS에 의해 로그오프 당할 때까지 사용자 계정에 대해 존재한다. 일실시예에서, 제2 장치에 의해 신뢰받는 제1 장치가 한 세트의 신원정보로 제2 장치에 로그온하고자 하는 시나리오의 경우, 본 발명은 세션을 시작할 때 사용하기 위한 한 세트의 신원정보를 동적으로 생성하여 제1 장치에 안전하게 배포하는 시스템 및 방법을 제공하는데, 신원정보는 요청자 장치 상에 저장되거나 달리 노출되지 않는다.
도 4a 및 도 4b의 부분은, 점선 타원 및 대응하는 유사한 참조번호을 이용한 도 3a의 블록도의 비제한적인 구현으로 볼 수 있다(예컨대, 도 3a의 단계 B에 대한 참조는 도 4a 내지 4b에서 참조 BB가 되고, 도 3a의 단계 D에 대한 참조는 도 4a 내지 4b에서 참조 DD 등으로 된다). 그러므로, 단계 B의 요청은 영역 BB에 대응하고, 여기에서 RDPInitRQ는 클라이언트에 의해 호출되어(도 4a), 호스트와 세션을 시작한다(도 4b). 도 4b에서, 단계 C는 호스트 장치에 의한 로그온 신원정보의 동적 생성, 및 암호화를 위한 클라이언트 공개키의 대응하는 사용에 관련된 통신 및 프로세스를 나타내는 영역 CC에 대응한다. 단계 D는 일반적으로 영역 DD에 표시되는데, 여기에서 로그온 요청은 클라이언트 공개키의 암호화로 인해 안전한 방법으로 호스트에서 클라이언트에게 전송되고(도 4b), 클라이언트에 의해 수신된다(도 4a의 영역 DD). 도 4a의 영역 EE에 표시된 바와 같이, 신원정보를 수신하여 복호화한 바로 후에, 호스트 장치와의 세션을 설정하는 것과 관련하여, 클라이언트는 영역 FF와 연관된 프로세스를 통해 복호화된 신원정보로 호스트에 자동으로 로그온하고, 일반적으로 영역 GG의 프로세스에 의해 표시된 바와 같이, 신원정보로의 자동 로그온이 성공될 때 액티브 세션이 시작된다.
그러나, 도 4a 및 도 4b는 프로세싱, 인터페이스 및 프로토콜 관점에서 장치들 사이에 발생할 수 있는 예시적인 통신의 한 구현예를 도시한 것일 뿐이고, 본 발명은 그 밖의 다른 여러가지 프로세스, 프로토콜, 인터페이스 등으로 구현될 수 있다. 예컨대, 우리는, 다수의 알고리즘이 무한 수의 수학적 형태 및 형식을 취할 수 있으며, 소프트웨어 관점에서의 중요한 고려사항은 알고리즘이 소정의 명시적 또는 암시적 형태로 원하는 기능을 실행하는지의 여부라는 것을 알 수 있다. 게다가, 데이터 구조는 또한 다수의 형식을 취할 수 있으므로, 예컨대, 유형, 이름, 클래스 등은 여러가지 방식으로 정의될 수 있다. 아래의 표 I은 예컨대, 도 4a 및 도 4b에 관련된 변수 선택의 몇가지 예시적인 구현예를 나타낸 것이고, 하지만 이러한 구현 상세는, 본 설명과 일치되게, 본 발명을 제한하고자 하는 것은 아니다.
로그온 신원정보과 함께 사용하기 위한 예시적인 변수
DvcPubKey 256 바이트 정수 널(NULL) 장치의 공개키
LogonKey 128 비트 대칭키 DvcPubKey로 암호화된 대칭 "세션" 키; LogonCreds 암호화에 사용
LogonCreds 바(Var) 길이 비트 필드 DvcUsrAcct를 위한 LogonKey로 암호화된 NT 사용자 계정 신원정보
그러므로, 도 4a 및 도 4b는, 본 발명의 예시적이고 비제한적인 구현예를 도시한 것이고, 본 발명은 첨부된 청구범위와 관련하여 정의되어야 한다는 것은 명백하다.
본 발명을 구현하는 여러가지 방식이 있는데, 예컨대, 본 발명에 따른 신원정보의 동적인 안전한 배포를 어플리케이션 및 서비스가 사용할 수 있게 하는, 적절한 API, 툴키트(tool kit), 드라이버 코드, 운영체제, 제어, 독립된 또는 다운로드가능한 소프트웨어 객체 등이 있다. 본 발명은 본 발명의 메커니즘을 통해 신원정보를 생성, 프로세스, 수신 또는 송신하는 소프트웨어 또는 하드웨어뿐만 아니라, API(또는 기타 소프트웨어 객체)의 관점에서 본 발명의 사용을 고려할 수 있다. 그러므로, 여기에 설명된 여러가지 구현예는 소프트웨어뿐만 아니라, 전체적으로 하드웨어, 부분적으로 하드웨어 및 부분적으로 소프트웨어로 된 형태를 가질 수 있다.
전술된 바와 같이, 본 발명의 바람직한 실시예들이 여러가지 컴퓨팅 장치 및 네트워크 아키텍처와 관련하여 설명되었지만, 로그인 바로 전에 신원정보를 자동적으로 안전하게 배포하기에 바람직한 소정의 컴퓨팅 장치 또는 시스템에 하위 개념이 적용될 수 있다. 예컨대, 본 발명의 알고리즘 및 하드웨어 구현은 장치 상의 분리된 객체로서, 다른 객체의 일부분으로서, 재사용가능한 제어로서, 서버로부터 다운로드가능한 객체로서, 장치 또는 객체와 네트워크 사이의 "미들 맨(middle man)"으로서, 분산 객체로서, 하드웨어로서, 메모리 내에서, 전술된 것의 임의의 조합 등으로 제공된 컴퓨팅 장치의 운영체제에 적용될 수 있다. 예시적인 프로그래밍 언어, 이름 및 예들이 여러가지 선택사항을 대표하여 여기에서 선택되었지만, 이들 언어, 이름 및 예들은 제한적인 의도로 사용된 것은 아니다. 당업자라면 본 발명의 여러 실시예에 의해 달성된 것과 동일하거나, 유사하거나, 대등한 기능을 달성하는 객체 코드 및 명명법을 제공하는 여러가지 방식이 있다는 것을 알 수 있을 것이다.
전술된 바와 같이, 여기에 설명된 여러가지 기술은 하드웨어 또는 소프트웨어, 또는 적절한 경우에 이 둘의 조합과 관련하여 구현될 수 있다. 그러므로, 본 발명의 방법 및 장치, 또는 소정의 실시형태 또는 그 일부는 플로피 디스켓, CD-ROM, 하드 드라이브, 또는 소정의 다른 기계 판독가능 저장 매체와 같은 유형의 매체 내에 구현된 프로그램 코드(즉, 명령어)의 형태를 취할 수 있는데, 프로그램 코드가 컴퓨터와 같은 머신에 로드되어 머신에 의해 실행될 때, 그 머신은 본 발명을 실시하는 장치가 된다. 프로그램가능한 컴퓨터 상에서의 프로그램 코드 실행의 경우에, 컴퓨팅 장치는 일반적으로, 프로세서, 프로세서에 의해 판독가능한 저장 매체(휘발성 및 비휘발성 메모리 및/또는 저장 소자를 포함), 적어도 하나의 입력 장치 및 적어도 하나의 출력 장치를 포함한다. 예컨대, 데이터 프로세싱 API, 재사용가능한 제어 등을 사용하여 본 발명의 신원정보 배포 메커니즘(들)을 구현하거나 이용할 수 있는, 하나 이상의 프로그램은 컴퓨터 시스템과 통신하기 위해 하이 레벨 절차 또는 객체 지향 프로그래밍 언어로 구현되는 것이 바람직하다. 그러나, 프로그램(들)은 원한다면 어셈블리어 또는 기계어로 구현될 수 있다. 어떤 경우든, 언어는 컴파일형 또는 인터프리트형(interpreted) 언어일 수 있고, 하드웨어 구현물과 결합될 수 있다.
본 발명의 방법 및 장치는 또한 전선이나 케이블선, 또는 광섬유와 같은 소정의 송신 매체를 통하거나, 또는 소정의 다른 형태의 송신을 통해 송신되는 프로그램 코드 형태로 구현된 통신을 통해 실시될 수 있는데, 프로그램 코드가 EPROM, 게이트 어레이, 프로그램가능 로직 장치(PLD), 클라이언트 컴퓨터 등과 같은 머신에 수신되어 로드(load)되고, 그 머신에 의해 실행될 때, 그 머신은 본 발명을 실시하는 장치가 된다. 범용 프로세서 상에서 실현될 때, 프로그램 코드는 프로세서와 결합하여, 본 발명의 기능을 불러내는 동작을 하는 유일한 장치를 제공한다. 부수적으로, 본 발명과 관련하여 사용된 소정의 저장 기술은 항상 하드웨어와 소프트웨어의 조합으로 이루어질 수 있다.
본 발명은 여러 도면들의 바람직한 실시예와 관련하여 설명되었지만, 기타 유사한 실시예들이 사용되거나, 또는 본 발명을 벗어나지 않고 본 발명과 동일한 기능을 실행하도록 전술된 실시예에 변경 및 추가가 행해질 수 있다는 것을 이해하기 바란다. 예컨대, 본 발명의 예시적인 네트워크 환경은 피어 투 피어 또는 분산 네트워크 환경과 같은 네트워크 환경과 관련하여 설명되었지만, 본 분야에 숙련된 기술자라면, 본 발명은 그것에 제한되지 않고, 여기에 설명된 방법은 유선이든 무선이든, 게이밍 콘솔, 핸드헬드 컴퓨터, 포터블 컴퓨터 등과 같은 소정의 컴퓨팅 장치 또는 환경에 적용할 수 있고, 통신 네트워크를 통해 접속되어 그 네트워크를 통해 상호작용하는 소정 수의 그러한 컴퓨팅 장치에 적용될 수 있다는 것을 알 수 있을 것이다. 더우기, 특히 무선 네트워크 장치의 수가 계속 증가함에 따라, 핸드헬드 장치 운영체제 및 기타 어플리케이션 특정 운영체제를 포함하는 여러가지 컴퓨터 플랫폼이 고려될 수 있다는 점이 강조되어야 된다.
바람직한 실시예는 특정 프로토콜 및 통신과 관련하여 본 발명을 이용하는 것에 관해 설명되었지만, 본 발명은 그것에 제한되지 않고, 오히려 소정의 프로토콜은 본 발명에 따른 신원정보의 동적인 안전한 배포를 제공하도록 구현될 수 있다. 또한, 본 발명은 다수의 프로세싱 칩 또는 장치 내에 또는 그러한 칩 또는 장치를 통해 구현될 수 있고, 이와 유사하게 다수의 장치를 통해 저장이 실행될 수 있다. 그러므로, 본 발명은 소정의 단일의 실시예에 한정되지 않아야 되고, 첨부된 청구범위에 따른 범위 내에서 구성되어야 된다.
도 1a는 매체 체험의 제공과 관련하여 얼마나 다양한 미디어 유형들 및 미디어 장치들이 있는지를 도시한 도면.
도 1b는 한 컴퓨팅 장치가 다른 컴퓨팅 장치의 자원으로 액세스하기 위해 다른 컴퓨팅 장치로 로그인하는 예시적인 종래의 컴퓨팅 환경을 도시한 도면.
도 2a는 본 발명이 구현될 수 있는 여러가지 컴퓨팅 장치들을 갖는 일실시예의 네트워크 환경을 도시한 블록도.
도 2b는 본 발명이 구현될 수 있는 일실시예의 비제한적인 서버 컴퓨팅 장치를 도시한 블록도.
도 2c는 본 발명이 구현될 수 있는, 데이터 송수신시의 제2 실시예의 비제한적인 컴퓨팅 장치를 도시한 블록도.
도 3a 및 3b는 본 발명의 시스템 및 방법의 여러가지 실시예에 따라, 제1 컴퓨팅 장치에서 제2 컴퓨팅 장치로의 신원정보의 동적이고 안전한 배포를 도시한 도면.
도 4a 및 4b는 클라이언트 장치가 호스트 장치와 세션을 시작하고자 하는 경우에, 본 발명에 따른 네트워크를 통해 안전하고 동적적인 신원정보 배포의 일실시예와 관련하여, 실행된 프로세스 및 수행될 수 있는 프로토콜을 나타내는 일실시예의 비제한적인 흐름도를 도시한 도면.
<도면의 주요부분에 대한 부호의 설명>
10a, 10b : 컴퓨팅 객체
14 : 통신 네트워크/버스
20 : 데이터베이스
100, 100a : 컴퓨팅 환경
110a, 110b, 110c, 110d : 컴퓨팅 장치 또는 객체
120, 120a : 프로세싱 유닛
120, 121a : 시스템 버스
130, 130a : 시스템 메모리
160a : 네트워크 인터페이스
170a : 원격 컴퓨터

Claims (51)

  1. 네트워크를 통해 제2 장치에서 제1 장치로의 로그온 신원정보들(credentials)을 자동으로 배포하는 방법에 있어서,
    비밀정보(secret)가 확실하게 상기 제1 장치로부터의 것이라는 것을 검증하는 적어도 하나의 트러스트 메커니즘에 따라 상기 제1 장치로부터 상기 비밀정보를 수신하는 단계;
    상기 제2 장치의 적어도 한 자원으로의 액세스 요청을 상기 네트워크를 통해 상기 제1 장치로부터 수신하는 단계; 및
    상기 요청에 응답하여, 상기 제2 장치로의 로그온과 관련하여 사용하기 위한 적어도 하나의 로그온 신원정보를 상기 제2 장치에 의해 생성하는 단계, 및 상기 제2 장치로 자동으로 로그온할 때 사용하기 위해 상기 적어도 하나의 로그온 신원정보를 상기 네트워크를 통해 상기 제1 장치에 송신하는 단계
    를 포함하는 것을 특징으로 하는 방법.
  2. 제1항에 있어서,
    상기 비밀정보는 상기 제1 장치의 공개키인 것을 특징으로 하는 방법.
  3. 제1항에 있어서,
    상기 적어도 하나의 로그온 신원정보를 순환시키기 위해 주기적으로 상기 생성 단계 및 상기 송신 단계를 실행하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  4. 제1항에 있어서,
    상기 생성 단계는, 상기 비밀정보에 기초하여 상기 적어도 하나의 로그온 신원정보를 암호화하는 단계를 포함하는 것을 특징으로 하는 방법.
  5. 제1항에 있어서,
    상기 제1 장치에 송신된 상기 적어도 하나의 로그온 신원정보에 기초하여 상기 제1 장치로부터 로그온 요청을 수신하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  6. 제5항에 있어서,
    상기 적어도 하나의 로그온 신원정보를 검증하는 단계, 및 상기 로그온 요청에 기초하여 상기 제1 장치를 상기 제2 장치로 로그온하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  7. 제6항에 있어서,
    성공한 로그인의 긍정응답(Acknowledgement)을 제1 장치에 송신하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  8. 제1항에 있어서,
    상기 적어도 하나의 트러스트 메커니즘은, 생체인식(biometric) 사용자 입력, 트러스트 코드 및 하드웨어 컴포넌트 중의 적어도 하나에 기초하는 것을 특징으로 하는 방법.
  9. 제1항의 방법을 실행하는 컴퓨터 실행가능 명령어들을 포함하는 것을 특징으로 하는 컴퓨터 판독가능 매체.
  10. 제1항의 방법을 실행하는 컴퓨터 실행가능 명령어들을 싣고 있는 것을 특징으로 하는 변조된 데이터 신호.
  11. 제1항의 방법을 실행하는 수단을 포함하는 것을 특징으로 하는 컴퓨팅 장치.
  12. 네트워크를 통해 요청자에게 배포하기 위해 자체의 로그온 신원정보들을 생성하는 머신에 있어서,
    상기 요청자로부터 상기 머신의 적어도 한 자원으로의 액세스 요청을 처리하기 위한, 안전하고 동적인 로그온 신원정보 컴포넌트를 포함하고,
    상기 머신의 적어도 한 자원으로의 액세스 요청에 응답하여, 비밀정보가 확실하게 요청자로부터의 것이라는 것을 검증하는, 적어도 하나의 트러스트 메커니즘에 따라, 상기 요청자로부터 수신된 상기 비밀정보에 기초해서, 상기 안전하고 동적인 로그온 신원정보 컴포넌트가 상기 머신으로의 로그온과 연계하여 사용하기 위한 적어도 하나의 로그온 신원정보를 생성하고, 상기 머신으로 자동으로 로그온할 때 사용하기 위해 상기 네트워크를 통해 상기 요청자에게 상기 적어도 하나의 로그온 신원정보를 송신하는 것을 특징으로 하는 머신.
  13. 제12항에 있어서,
    상기 비밀정보는 상기 요청자의 공개키인 것을 특징으로 하는 머신.
  14. 제12항에 있어서,
    상기 안전하고 동적인 로그온 신원정보 컴포넌트는, 상기 적어도 하나의 로그온 신원정보를 순환시키기 위해 주기적으로 새로운 적어도 하나의 로그온 신원정보를 생성하고 송신하는 것을 특징으로 하는 머신.
  15. 제12항에 있어서,
    상기 안전하고 동적인 로그온 신원정보 컴포넌트는, 상기 네트워크를 통해 상기 요청자에게 상기 적어도 하나의 로그온 신원정보를 송신하기 전에 상기 비밀정보에 기초하여 상기 적어도 하나의 로그온 신원정보를 암호화하는 것을 특징으로 하는 머신.
  16. 제12항에 있어서,
    상기 제1 장치에 송신된 상기 적어도 하나의 로그온 신원정보에 기초하여 상기 요청자로부터 로그온 요청을 수신하고 처리하는 제2 컴포넌트를 더 포함하는 것을 특징으로 하는 머신.
  17. 제16항에 있어서,
    상기 제2 컴포넌트는 상기 적어도 하나의 로그온 신원정보를 검증하고, 상기 로그온 요청에 기초하여 상기 요청자를 상기 머신에 로그온하는 것을 특징으로 하는 머신.
  18. 제17항에 있어서,
    상기 제2 컴포넌트는 성공한 로그인의 긍정응답을 상기 요청자에게 보내는 것을 특징으로 하는 머신.
  19. 제12항에 있어서,
    상기 적어도 하나의 트러스트 메커니즘은, 생체인식 사용자 입력, 트러스트 코드 및 하드웨어 컴포넌트 중의 적어도 하나에 기초하는 것을 특징으로 하는 머신.
  20. 네트워크를 통해 제2 장치로 로그온 하기 위해 제1 장치에 의해 제2 장치로부터 로그온 신원정보를 자동으로 획득하는 방법에 있어서,
    비밀정보가 확실하게 상기 제1 장치로부터의 것이라는 것을 검증하는 적어도 하나의 트러스트 메커니즘에 따라 상기 비밀정보를 상기 제2 장치에 전송하는 단계;
    상기 네트워크를 통해 상기 제1 장치에 의해 상기 제2 장치의 적어도 한 자원으로의 액세스를 요청하는 단계; 및
    상기 요청에 응답하여, 상기 제2 장치로의 로그온과 관련하여 사용하기 위한 상기 적어도 하나의 로그온 신원정보를 상기 제2 장치로부터 수신하는 단계; 및
    상기 적어도 하나의 로그온 신원정보를 상기 제1 장치 상에 저장하지 않고, 상기 적어도 하나의 로그온 신원정보에 기초하여 상기 제2 장치에 로그온 요청을 송신하는 단계
    를 포함하는 것을 특징으로 하는 방법.
  21. 제20항에 있어서,
    상기 비밀정보는 상기 제1 장치의 공개키인 것을 특징으로 하는 방법.
  22. 제20항에 있어서,
    상기 적어도 하나의 로그온 신원정보를 순환시키기 위해, 주기적으로 새로운 적어도 하나의 로그온 신원정보를 수신하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  23. 제20항에 있어서,
    상기 수신 단계는 상기 비밀정보에 기초하여 상기 적어도 하나의 로그온 신원정보를 복호화하는 단계를 포함하는 것을 특징으로 하는 방법.
  24. 제23항에 있어서,
    상기 수신 단계는 공개키에 유일하게 대응하는 사설키에 기초하여 상기 적어도 하나의 로그온 신원정보를 복호화하는 단계를 포함하는 것을 특징으로 하는 방법.
  25. 제20항에 있어서,
    상기 로그온 요청을 송신하는 것에 응답하여, 성공한 로그인의 긍정응답을 수신하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  26. 제20항에 있어서,
    상기 적어도 하나의 트러스트 메커니즘은, 생체인식 사용자 입력, 트러스트 코드 및 하드웨어 컴포넌트 중의 적어도 하나에 기초하는 것을 특징으로 하는 방법.
  27. 제20항의 방법을 실행하는 컴퓨터 실행가능 명령어들을 포함하는 것을 특징으로 하는 컴퓨터 판독가능 매체.
  28. 제20항의 방법을 실행하는 컴퓨터 실행가능 명령어들을 싣고 있는 것을 특징으로 하는 변조된 데이터 신호.
  29. 제20항의 방법을 실행하는 수단을 포함하는 것을 특징으로 하는 컴퓨팅 장치.
  30. 네트워크를 통해 호스트 장치로 로그온하기 위해 호스트 장치로부터 로그온 신원정보를 자동으로 획득하는 클라이언트 장치에 있어서,
    비밀정보가 확실하게 상기 클라이언트 장치로부터의 것이라는 것을 검증하는 적어도 하나의 트러스트 메커니즘에 따라 상기 비밀정보를 상기 호스트 장치에 송신하는 제1 컴포넌트;
    상기 네트워크를 통해 상기 호스트 장치의 적어도 한 자원으로의 액세스를 요청하는 제2 컴포넌트; 및
    상기 제2 컴포넌트에 의한 요청에 응답하여, 상기 호스트 장치로의 로그온과 관련하여 사용하기 위한 적어도 하나의 로그온 신원정보를 상기 호스트 장치로부터 수신하고, 상기 적어도 하나의 로그온 신원정보를 상기 클라이언트 장치상에 저장하지 않고, 상기 적어도 하나의 로그온 신원정보에 기초하여 상기 호스트 장치에 로그온 요청을 자동으로 송신하는 제3 컴포넌트
    를 포함하는 것을 특징으로 하는 클라이언트 장치.
  31. 제30항에 있어서,
    상기 비밀정보는 상기 클라이언트 장치의 공개키인 것을 특징으로 하는 클라이언트 장치.
  32. 제30항에 있어서,
    상기 제3 컴포넌트는 상기 적어도 하나의 로그온 신원정보를 순환시키기 위해 주기적으로 새로운 적어도 하나의 로그온 신원정보를 수신하는 것을 특징으로 하는 클라이언트 장치.
  33. 제30항에 있어서,
    상기 제3 컴포넌트는 상기 비밀정보에 기초하여 적어도 하나의 로그온 신원정보를 복호화하는 것을 특징으로 하는 클라이언트 장치.
  34. 제33항에 있어서,
    상기 제3 컴포넌트는 공개키에 유일하게 대응하는 사설키에 기초하여 상기 적어도 하나의 로그온 신원정보를 복호화하는 것을 특징으로 하는 클라이언트 장치.
  35. 제30항에 있어서,
    상기 제3 컴포넌트는 상기 로그온 요청에 응답하여 성공한 로그인의 긍정응답을 더 수신하는 것을 특징으로 하는 클라이언트 장치.
  36. 제30항에 있어서,
    상기 적어도 하나의 트러스트 메커니즘은, 생체인식 사용자 입력, 트러스트 코드 및 하드웨어 컴포넌트 중의 적어도 하나에 기초하는 것을 특징으로 하는 클라이언트 장치.
  37. 네트워크를 통해 제2 장치에서 제1 장치로의 로그온 신원정보들을 자동으로 배포하는 컴퓨터 실행가능 명령어들을 갖고있는 컴퓨터 실행가능 모듈을 포함하는 컴퓨터 판독가능 매체에 있어서,
    상기 모듈은,
    비밀정보가 확실하게 상기 제1 장치로부터의 것이라는 것을 검증하는 적어도 하나의 트러스트 메커니즘에 따라 상기 제1 장치로부터 상기 비밀정보를 얻는 수단;
    상기 제2 장치의 적어도 한 자원으로의 액세스 요청을 상기 네트워크를 통해 상기 제1 장치로부터 수신하는 수단;
    상기 수신 수단에 의해 수신되는 요청에 응답하여, 적어도 하나의 로그온 신원정보를 상기 제2 장치에 의해 생성하는 수단 - 상기 적어도 하나의 로그온 신원정보는 상기 제2 장치로 로그온하기 위한 것임- ; 및
    상기 제2 장치로 자동으로 로그온할 때 사용하기 위해 상기 적어도 하나의 로그온 신원정보를 상기 네트워크를 통해 상기 제1 장치에 송신하는 수단
    을 포함하는 것을 특징으로 하는 컴퓨터 판독가능 매체.
  38. 제37항에 있어서,
    상기 비밀정보는 상기 제1 장치의 공개키인 것을 특징으로 하는 컴퓨터 판독가능 매체.
  39. 제37항에 있어서,
    상기 생성 수단 및 상기 송신 수단은 상기 적어도 하나의 로그온 신원정보를 순환시키기 위해 주기적으로 실행하는 것을 특징으로 하는 컴퓨터 판독가능 매체.
  40. 제37항에 있어서,
    상기 생성 수단은 상기 비밀정보에 기초하여 상기 적어도 하나의 로그온 신원정보를 암호화하는 수단을 포함하는 것을 특징으로 하는 컴퓨터 판독가능 매체.
  41. 제37항에 있어서,
    상기 송신 수단에 의해 상기 제1 장치에 송신된, 상기 적어도 하나의 로그온 신원정보에 기초하여, 상기 제1 장치로부터 로그온 요청을 수신하는 수단을 더 포함하는 것을 특징으로 하는 컴퓨터 판독가능 매체.
  42. 제41항에 있어서,
    상기 적어도 하나의 로그온 신원정보를 검증하는 수단, 및 상기 로그온 요청에 기초하여 상기 제1 장치를 상기 제2 장치로 로그온하는 수단을 더 포함하는 것을 특징으로 하는 컴퓨터 판독가능 매체.
  43. 제42항에 있어서,
    성공한 로그인의 긍정응답을 상기 제1 장치에 송신하는 수단을 더 포함하는 것을 특징으로 하는 컴퓨터 판독가능 매체.
  44. 제37항에 있어서,
    상기 적어도 하나의 트러스트 메커니즘은, 생체인식 사용자 입력, 트러스트 코드 및 하드웨어 컴포넌트 중의 적어도 하나에 기초하는 것을 특징으로 하는 컴퓨터 판독가능 매체.
  45. 네트워크를 통해 제2 장치로 로그온하기 위해 제1 장치에 의해 제2 장치로부터 로그온 신원정보를 자동으로 획득하는 컴퓨터 실행가능 명령어들을 포함하는 컴퓨터 실행가능 모듈을 구비하는 컴퓨터 판독가능 매체에 있어서,
    상기 모듈은,
    비밀정보가 확실하게 상기 제1 장치로부터의 것이라는 것을 검증하는 적어도 하나의 트러스트 메커니즘에 따라 상기 비밀정보를 상기 제2 장치에 전송하는 수단;
    네트워크를 통해 상기 제2 장치의 적어도 한 자원으로의 액세스를 요청하는 수단; 및
    상기 요청 수단에 의해 이루어진 액세스 요청에 응답하여, 상기 제2 장치로의 로그온과 관련하여 사용하기 위한 적어도 하나의 로그온 신원정보를 상기 제2 장치로부터 수신하는 수단; 및
    상기 적어도 하나의 로그온 신원정보를 상기 제1 장치 상에 저장하지 않고, 상기 적어도 하나의 로그온 신원정보에 기초하여 상기 제2 장치에 로그온 요청을 송신하는 수단
    을 포함하는 것을 특징으로 하는 컴퓨터 판독가능 매체.
  46. 제45항에 있어서,
    상기 비밀정보는 상기 제1 장치의 공개키인 것을 특징으로 하는 컴퓨터 판독가능 매체.
  47. 제45항에 있어서,
    상기 수신 수단은 상기 적어도 하나의 로그온 신원정보를 순환시키기 위해 새로운 적어도 하나의 로그온 신원정보를 주기적으로 수신하는 것을 특징으로 하는 컴퓨터 판독가능 매체.
  48. 제45항에 있어서,
    상기 수신 수단은, 상기 비밀정보에 기초하여 상기 적어도 하나의 로그온 신원정보를 복호화하는 수단을 포함하는 것을 특징으로 하는 컴퓨터 판독가능 매체.
  49. 제48항에 있어서,
    상기 수신 수단은 공개키에 유일하게 대응하는 사설키에 기초하여 상기 적어도 하나의 로그온 신원정보를 복호화하는 수단을 포함하는 것을 특징으로 하는 컴퓨터 판독가능 매체.
  50. 제45항에 있어서,
    상기 송신 수단에 의해 송신된 로그온 요청에 응답하여, 성공한 로그인의 긍정응답을 수신하는 수단을 더 포함하는 것을 특징으로 하는 컴퓨터 판독가능 매체.
  51. 제45항에 있어서,
    상기 적어도 하나의 트러스트 메커니즘은, 생체인식 사용자 입력, 트러스트 코드 및 하드웨어 컴포넌트 중의 적어도 하나에 기초하는 것을 특징으로 하는 컴퓨터 판독가능 매체.
KR1020040092601A 2003-11-14 2004-11-12 네트워크를 통한 안전하고 동적인 신원정보 배포 KR101122896B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US52020903P 2003-11-14 2003-11-14
US60/520,209 2003-11-14
US10/888,190 2004-07-09
US10/888,190 US7546373B2 (en) 2003-11-14 2004-07-09 Secure dynamic credential distribution over a network

Publications (2)

Publication Number Publication Date
KR20050046633A true KR20050046633A (ko) 2005-05-18
KR101122896B1 KR101122896B1 (ko) 2012-03-20

Family

ID=34437365

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040092601A KR101122896B1 (ko) 2003-11-14 2004-11-12 네트워크를 통한 안전하고 동적인 신원정보 배포

Country Status (5)

Country Link
US (1) US7546373B2 (ko)
EP (1) EP1531596B1 (ko)
JP (2) JP4917748B2 (ko)
KR (1) KR101122896B1 (ko)
CN (1) CN1627679B (ko)

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9357031B2 (en) 2004-06-03 2016-05-31 Microsoft Technology Licensing, Llc Applications as a service
US8812613B2 (en) 2004-06-03 2014-08-19 Maxsp Corporation Virtual application manager
US8146142B2 (en) * 2004-09-03 2012-03-27 Intel Corporation Device introduction and access control framework
EP1637957A1 (en) * 2004-09-21 2006-03-22 Deutsche Thomson-Brandt Gmbh Method and apparatus for accessing protected data
US8589323B2 (en) 2005-03-04 2013-11-19 Maxsp Corporation Computer hardware and software diagnostic and report system incorporating an expert system and agents
US8234238B2 (en) 2005-03-04 2012-07-31 Maxsp Corporation Computer hardware and software diagnostic and report system
US7350074B2 (en) * 2005-04-20 2008-03-25 Microsoft Corporation Peer-to-peer authentication and authorization
DE602006001570D1 (de) * 2006-01-10 2008-08-07 Alcatel Lucent Verfahren und Zugangsserver, um einen Benutzer eine zentrale Anmeldungsprozedur bereitzustellen
US7926092B2 (en) * 2006-04-28 2011-04-12 Canon Kabushiki Kaisha Facilitating the delivery of security credentials to a network device
US8811396B2 (en) 2006-05-24 2014-08-19 Maxsp Corporation System for and method of securing a network utilizing credentials
US8898319B2 (en) 2006-05-24 2014-11-25 Maxsp Corporation Applications and services as a bundle
US9317506B2 (en) 2006-09-22 2016-04-19 Microsoft Technology Licensing, Llc Accelerated data transfer using common prior data segments
US7840514B2 (en) 2006-09-22 2010-11-23 Maxsp Corporation Secure virtual private network utilizing a diagnostics policy and diagnostics engine to establish a secure network connection
US8424077B2 (en) * 2006-12-18 2013-04-16 Irdeto Canada Corporation Simplified management of authentication credentials for unattended applications
US8423821B1 (en) 2006-12-21 2013-04-16 Maxsp Corporation Virtual recovery server
US7844686B1 (en) 2006-12-21 2010-11-30 Maxsp Corporation Warm standby appliance
US20080201420A1 (en) * 2007-02-20 2008-08-21 William Wong Digital media frame with peer to peer networking
US8667285B2 (en) * 2007-05-31 2014-03-04 Vasco Data Security, Inc. Remote authentication and transaction signatures
JP4490463B2 (ja) * 2007-08-23 2010-06-23 キヤノン株式会社 情報処理システム、情報処理装置、および情報処理方法
US8353052B2 (en) * 2007-09-03 2013-01-08 Sony Mobile Communications Ab Providing services to a guest device in a personal network
US8307239B1 (en) 2007-10-26 2012-11-06 Maxsp Corporation Disaster recovery appliance
US8645515B2 (en) 2007-10-26 2014-02-04 Maxsp Corporation Environment manager
US8175418B1 (en) 2007-10-26 2012-05-08 Maxsp Corporation Method of and system for enhanced data storage
US20090171970A1 (en) * 2007-12-31 2009-07-02 Keefe Robert A System and Method for Delivering Utility Usage Information and Other Content to a Digital Photo Frame
JP5052367B2 (ja) * 2008-02-20 2012-10-17 株式会社リコー 画像処理装置、認証パッケージインストール方法、認証パッケージインストールプログラム、及び記録媒体
TWM345280U (en) * 2008-05-21 2008-11-21 Huveur Technologies Inc Data accessing device with wireless networking application service
CN101534309B (zh) 2009-04-14 2013-03-13 华为技术有限公司 节点注册方法、路由更新方法、通讯***以及相关设备
US8281381B2 (en) * 2009-08-03 2012-10-02 Novell, Inc. Techniques for environment single sign on
US8844004B2 (en) * 2010-10-29 2014-09-23 Sap Ag Automatic user credentials for remote support
US8544069B1 (en) * 2011-04-29 2013-09-24 Intuit Inc. Methods systems and articles of manufacture for implementing user access to remote resources
US9875607B2 (en) 2011-07-13 2018-01-23 Igt Methods and apparatus for providing secure logon to a gaming machine using a mobile device
US9519803B2 (en) * 2012-11-30 2016-12-13 Intel Corporation Secure environment for graphics processing units
US9084021B2 (en) * 2012-12-12 2015-07-14 Jan-Christoph Bieselt Call-in participation for a live video broadcast
WO2014142848A1 (en) 2013-03-13 2014-09-18 Intel Corporation Device-to-device communication for resource sharing
WO2014176727A1 (en) 2013-04-28 2014-11-06 Hewlett-Packard Development Company, L.P. Resource access
CN105337735B (zh) 2014-05-26 2019-06-07 阿里巴巴集团控股有限公司 数字证书处理及校验的方法和装置
US9860064B2 (en) * 2016-03-07 2018-01-02 Citrix Systems, Inc. Encrypted password transport across untrusted cloud network
US10080248B2 (en) 2016-06-27 2018-09-18 International Business Machines Corporation System, method and apparatus for sensor virtualization in mobile devices
US9906956B1 (en) 2016-12-15 2018-02-27 Google Inc. Using power-line networks to facilitate network access
CN106897906B (zh) * 2017-02-28 2021-02-12 北京众享比特科技有限公司 激励式内容分发方法及***
WO2019019185A1 (zh) * 2017-07-28 2019-01-31 华为技术有限公司 网络接入应用鉴权信息的更新方法、终端及服务器
DE102019108049A1 (de) * 2019-03-28 2020-10-01 Pilz Gmbh & Co. Kg Zugriffssteuerungssystem zur Steuerung eines Zugriffs eines Nutzers auf eine oder mehrere Betriebsfunktionen einer technischen Anlage
US11921872B2 (en) * 2020-12-16 2024-03-05 International Business Machines Corporation Access control for a data object including data with different access requirements
CN114844671A (zh) * 2022-03-21 2022-08-02 云控智行科技有限公司 数据接入方法、装置及设备

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5604803A (en) * 1994-06-03 1997-02-18 Sun Microsystems, Inc. Method and apparatus for secure remote authentication in a public network
JPH11168461A (ja) * 1997-12-04 1999-06-22 Nippon Conlux Co Ltd 情報通信方法および装置
AU4119399A (en) 1997-12-29 1999-07-19 Mordhai Barkan Method for safe communications
US6240512B1 (en) * 1998-04-30 2001-05-29 International Business Machines Corporation Single sign-on (SSO) mechanism having master key synchronization
US7451484B1 (en) * 1999-05-27 2008-11-11 International Business Machines Corporation Method for enabling a program written in untrusted code to interact with a security subsystem of a hosting operating system
JP4518217B2 (ja) * 1999-09-30 2010-08-04 ソニー株式会社 通信装置、通信システム及び通信方法
US20020186249A1 (en) * 1999-10-28 2002-12-12 Qi Lu Method and system of facilitating automatic login to a web site using an internet browser
JP2001175754A (ja) * 1999-12-16 2001-06-29 Js Corporation:Kk 学生募集業務支援システム
US7010683B2 (en) * 2000-01-14 2006-03-07 Howlett-Packard Development Company, L.P. Public key validation service
US6971016B1 (en) * 2000-05-31 2005-11-29 International Business Machines Corporation Authenticated access to storage area network
KR20030014224A (ko) * 2000-10-11 2003-02-15 트러스트카피 프라이빗 리미티드 안전한 및 인증된 문서의 원격 인쇄
US7020645B2 (en) * 2001-04-19 2006-03-28 Eoriginal, Inc. Systems and methods for state-less authentication
US7085840B2 (en) * 2001-10-29 2006-08-01 Sun Microsystems, Inc. Enhanced quality of identification in a data communications network
WO2007062672A1 (en) * 2005-11-30 2007-06-07 Telecom Italia S.P.A. Method and system for automated and secure provisioning of service access credentials for on-line services to users of mobile communication terminals

Also Published As

Publication number Publication date
EP1531596B1 (en) 2014-03-26
US7546373B2 (en) 2009-06-09
JP4965747B2 (ja) 2012-07-04
US20050108546A1 (en) 2005-05-19
KR101122896B1 (ko) 2012-03-20
JP2012079342A (ja) 2012-04-19
CN1627679B (zh) 2010-04-28
CN1627679A (zh) 2005-06-15
JP2005149505A (ja) 2005-06-09
EP1531596A3 (en) 2007-02-28
EP1531596A2 (en) 2005-05-18
JP4917748B2 (ja) 2012-04-18

Similar Documents

Publication Publication Date Title
KR101122896B1 (ko) 네트워크를 통한 안전하고 동적인 신원정보 배포
RU2297037C2 (ru) Управление защищенной линией связи в динамических сетях
JP5139423B2 (ja) ネットワーク資源に対するシングルサインオン及び安全なアクセスのためのポリシ駆動の証明情報委譲
KR101130415B1 (ko) 비밀 데이터의 노출 없이 통신 네트워크를 통해 패스워드 보호된 비밀 데이터를 복구하는 방법 및 시스템
US8086847B2 (en) Computer program product and computer system for peer-to-peer communications
US8473612B2 (en) Trusted network transfer of content using off network input code
KR101076911B1 (ko) 애플리케이션에 보안을 제공하기 위한 시스템 및 방법
US8266688B2 (en) Systems and methods for enhancing security by selectively opening a listening port when an incoming connection is expected
US7757275B2 (en) One time password integration with Kerberos
US20210176220A1 (en) System and method to secure the transmission of files to a valid client
MXPA04004143A (es) Substitucion dinamica de datos usb para la codificacion/descodificacion sobre la marcha.
US8788825B1 (en) Method and apparatus for key management for various device-server configurations
US11611541B2 (en) Secure method to replicate on-premise secrets in a cloud environment
Regateiro et al. SPDC: Secure Proxied Database Connectivity.
US11943349B2 (en) Authentication through secure sharing of digital secrets previously established between devices
JP2009277069A (ja) 通信システム及び第1通信装置

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
FPAY Annual fee payment

Payment date: 20150121

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160127

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170201

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180201

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190129

Year of fee payment: 8