KR20060043510A - 인증서 로밍 방법 및 시스템 - Google Patents

인증서 로밍 방법 및 시스템 Download PDF

Info

Publication number
KR20060043510A
KR20060043510A KR1020050019076A KR20050019076A KR20060043510A KR 20060043510 A KR20060043510 A KR 20060043510A KR 1020050019076 A KR1020050019076 A KR 1020050019076A KR 20050019076 A KR20050019076 A KR 20050019076A KR 20060043510 A KR20060043510 A KR 20060043510A
Authority
KR
South Korea
Prior art keywords
certificates
remote
local
certificate
cache
Prior art date
Application number
KR1020050019076A
Other languages
English (en)
Other versions
KR101143053B1 (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 KR20060043510A publication Critical patent/KR20060043510A/ko
Application granted granted Critical
Publication of KR101143053B1 publication Critical patent/KR101143053B1/ko

Links

Images

Classifications

    • EFIXED CONSTRUCTIONS
    • E03WATER SUPPLY; SEWERAGE
    • E03CDOMESTIC PLUMBING INSTALLATIONS FOR FRESH WATER OR WASTE WATER; SINKS
    • E03C1/00Domestic plumbing installations for fresh water or waste water; Sinks
    • E03C1/02Plumbing installations for fresh water
    • 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/08Network architectures or network communication protocols for network security for authentication of entities
    • EFIXED CONSTRUCTIONS
    • E03WATER SUPPLY; SEWERAGE
    • E03CDOMESTIC PLUMBING INSTALLATIONS FOR FRESH WATER OR WASTE WATER; SINKS
    • E03C2201/00Details, devices or methods not otherwise provided for
    • E03C2201/50Constructional features of escutcheons for domestic plumbing installations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/121Timestamp

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Hydrology & Water Resources (AREA)
  • Public Health (AREA)
  • Water Supply & Treatment (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Telephonic Communication Services (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

본 명세서에서 복수의 상이한 컴퓨팅 디바이스들 간의 인증서 로밍(credential roaming)을 인에이블하는 구현들이 기재되고 청구된다.
일 시스템 예가, 예를 들어, 클라이언트 로그온과 같은, 이벤트 통지를 수신하기 위한 이벤트 핸들러를 포함할 수 있다. 이벤트 핸들러는 이벤트 통지의 수신에 응답하여 관리 서비스를 호출할 수 있다. 관리 서비스는, 예를 들어, 액티브 디렉토리(Active Directory)와 같은, 원격 디렉토리 서비스와 사용자의 인증서들을 동기화하기 위해 동기화 모듈을 포함할 수 있어서, 사용자의 인증서들은 다수의 상이한 컴퓨팅 디바이스들 중의 임의의 것으로부터 이용가능하다.
인증서 로밍, 동기화 모듈, 상태 파일

Description

인증서 로밍 방법 및 시스템{CREDENTIAL ROAMING}
도 1은 인증서 로밍을 구현할 수 있는 컴퓨터 통신망의 예의 개략도.
도 2는 인증서 로밍을 구현하는 모듈들의 예의 기능적 블록도.
도 3은 인증서 로밍을 구현하는 모듈들의 예의 다른 기능적 블록도.
도 4a는 상태 파일의 예를 도시.
도 4b는 상태 파일 내의 상태 엔트리의 예를 도시.
도 5는 승자(winner) 중재 매트릭스들(arbitration matrices)의 예를 도시하고, 도 5a는 완화된 매트릭스(lenient matrix)이고, 도 5b는 엄격한 매트릭스(strict matrix).
도 6은 인증서 로밍을 구현하는 동작들의 예를 도시하는 흐름도.
도 7은 인증서 로밍을 구현하기 위해 사용될 수 있는 컴퓨팅 디바이스의 예의 개략도.
<주요 도면 부호 설명>
200 통지 서비스
210 이벤트 핸들러
220 이벤트
230 작업
240 자동-등록 서비스
250 관리 서비스
260 디스패쳐
270 큐
본원은 발명의 명칭이 "디지탈 신원 관리(Digital Identity Management)"인 2003년 2월 13일에 데이비드 비. 크로스 등에 의해 출원된, 공동 소유의, 계류중인 미국 특허 출원 번호 10/365,878과 관련이 있다.
기재된 내용은 전자 컴퓨팅에 관한 것이고, 더 구체적으로 전자 컴퓨팅 시스템에서 인증서 로밍 시스템 및 방법에 관한 것이다.
통신망을 통한 통신을 위한 데이타(예를 들어, 이메일 메시지 또는 파일)를 보안하기 위해 다양한 유형들의 암호화 스킴들이 널리 사용된다. 예를 들어, 대칭적 암호화에서, 데이타를 암호화하는 사용자와 그 데이타를 해독하는 사용자 모두는 동일 암호화 키의 복사본들이 필요하다. 또한 공개 키 암호화로서 알려진, 비대칭적 암호화는 키 쌍들(예를 들어, 공개 키와 개인 키)을 사용한다. 비대칭적 암호화에서, 공개 키들은 공유될 수 있지만, 개인 키들은 그렇지 않다.
암호화 키들은, 예를 들어, 사용자 프로파일 또는 사용자 세팅, 인증서 등을 위한 기타 저장소의 일부로서, 컴퓨터 시스템에 저장될 수 있다. 암호화 키는 비승인된 사용자들이 암호화 스킴을 해독할 수 있는 확률을 감소시키기 위해 시간이 지남에 따라 수정될 수 있거나 대체될 수 있다. 어째든, 사용자가 인증된 후에(즉, 로그온 중에) 사용자에게 암호화 키들로의 액세스가 제공되고, 사용자 프로파일은 컴퓨터 시스템에 로드된다.
그러나, 사용자는 한 개 이상의 컴퓨터(예를 들어, 개인용 컴퓨터 및 한 개 이상의 모바일 디바이스들)에서 암호화 키들에 액세스를 할 필요가 있을 것이다. 사용자가 한 컴퓨터에서 다른 컴퓨터로(예를 들어, 디스켓이나 다른 분리형 저장 매체를 사용함) 암호화 키들을 전송할 수 있지만, 이것은 귀찮고 시간소비적이다. 스마트카드들이 사용될 수 있지만, 이것들은 비싸다. 다른 경우에, 사용자 프로파일은 통신망 서버에 저장되어 사용자가 통신망에 접속할 때마다 다양한 컴퓨터 시스템들로부터 액세스가 될 수 있다. 그러나, 사용자 프로파일은 매우 클 수 있고(수 메가바이트), 통신망 서버로부터의 사용자 프로파일의 다운로딩은 로그온 프로세스를 느리게 할 수 있다. 추가로, 사용자는 로그온할 수 없을 수 있고, 로컬적으로 저장된 사용자 프로파일이 없는 컴퓨터를 사용할 수 있다(통신망이 이용가능하지 않을 때).
본 명세서에서, 예를 들어, 복수의 상이한 컴퓨팅 디바이스들 간에, 인증서 로밍을 인에이블하기 위한 구현들이 기재되고 청구된다. 시스템의 일 예는, 예를 들어, 운영 시스템으로부터 인터랙션 또는 통신망 로그온과 같은 이벤트 통지를 수 신하는 이벤트 핸들러를 포함할 수 있다. 이벤트 핸들러는 이벤트 통지의 수신에 응답하여 관리 서비스를 호출할 수 있다. 관리 서비스는 원격 캐쉬 또는 디렉토리 서비스와 사용자의 인증서들(예를 들어, 암호화 인증서들)을 동기화하기 위한 동기화 모듈을 포함할 수 있다. 따라서, 사용자의 인증서들은 다수의 상이한 컴퓨팅 디바이스들 중의 임의의 것으로부터 이용가능하다.
일부 실시예들에서, 제조품들은 컴퓨터 프로그램 제품들로서 제공된다. 컴퓨터 프로그램 제품의 일 구현은 컴퓨터 시스템에 의해 판독가능한 컴퓨터 프로그램 저장 매체를 제공하고, 인증서 로밍을 위해 컴퓨터 프로그램을 인코딩한다. 컴퓨터 프로그램 제품의 다른 구현은 컴퓨팅 시스템에 의해 반송파에 구현된 컴퓨터 데이타 신호에 제공될 수 있고, 인증서 로밍을 위해 컴퓨터 프로그램을 인코딩한다.
컴퓨터 프로그램 제품은 컴퓨터 시스템상에서 컴퓨터 프로세스를 실행하는 컴퓨터 프로그램을 인코드하여 이벤트 통지의 수신에 응답하여 로컬 인증서들과 원격 인증서들을 열거하고, 로컬 인증서들과 원격 인증서들을 동기화한다.
다른 실시예에서, 일 방법이 제공된다. 방법의 일 예는 이벤트 통지의 수신에 응답하여 로컬 인증서들과 원격 인증서들을 열거하고, 로컬 인증서들과 원격 인증서들을 동기화하는 것을 포함한다.
다른 실시예에서, 일 시스템이 제공된다. 시스템의 일 예는 이벤트 통지들을 수신하는 이벤트 핸들러를 포함한다. 동기화 모듈은 동작적으로 이벤트 핸들러와 연관된다. 동기화 모듈은 이벤트 핸들러가 이벤트 통지를 수신할 때 로컬 및 원격 인증서들이 서로 상이하면 로컬 인증서들과 원격 인증서들을 동기화한다.
간략하게, 인증서 로밍은 임의의 수(n)의 컴퓨팅 디바이스들에서 로컬 인증서들(암호화 키, 증명서, 토큰 등)을 동기화하기 위해 구현될 수 있다. 설명 목적으로, 사용자는 그의 랩톱 또는 데스크톱 컴퓨터에서 인증서들을 변경, 수정, 추가, 및/또는 삭제할 수 있다. 사용자가 랩톱이나 데스크톱을 로그아웃할 때, 관리 서비스는 원격 캐쉬(remote cache)와 로컬 인증서들을 동기화시킨다. 원격 캐쉬는, 예를 들어, Microsoft WINDOWS
Figure 112005012250403-PAT00001
운영 환경에서 이용가능한 액티브 디렉토리(Active Directory)와 같은, 원격 디렉토리 서비스로서 구현될 수 있다. 다른 경우에, 관리 서비스는 다른 이벤트들에 응답하여 동기화시킬 수 있다. 예를 들어, 실시간 동기화는 추가되고, 삭제되고, 및/또는 수정되는 한 개 이상의 인증서들에 응답하여 발생할 수 있다.
나중에, 사용자는 이메일 메시지들을 검색하기 위해 그의 개인 정보 단말기(PDA) 또는 모바일 폰을 사용할 수 있다. 사용자가 모바일 디바이스에 로그온할 때, 사용자의 인증서들은 원격 디렉토리 서비스와 동기화되어서, 예를 들어, 이메일 메시지들을 송신/수신하는 암호화 인증서들과 같은, 인증서들의 현재의 완전한 세트(complete set)를 사용자가 이용할 수 있다.
구현 예들에서, 관리 서비스는 자동 호출될 수 있고(즉, 시스템 이벤트에 응답하여), 아무런 확인 액션도 사용자에게 요구되지 않는다. 더욱이, 사용자 프로파일은, 예를 들어, 사용자의 데스크톱이나 랩톱 컴퓨터에, 로컬로 저장될 수 있는 한편, 여전히 다수의 상이한 컴퓨팅 디바이스들 중의 임의의 것에서 인증서들의 현재의 완전한 세트를 사용자가 액세스하도록 한다. 구현들의 예는 또한 오래된 또는 사용되지 않은 인증서들이 이들 인증서들이 더 이상 필요하지 않을 때 사용자 시스템에서 삭제되는 것을 확실하게 할 것이다(즉, 삭제를 검출하고 전파하거나, 인증서들에 대한 시간 스탬프를 검사하여).
<시스템의 예>
도 1은 인증서 로밍이 구현될 수 있는 통신망 컴퓨팅 시스템(100)의 예의 개략도이다. 통신망 컴퓨터 시스템(100)은, 구내 통신망(LAN) 및/또는 광역 통신망(WAN)과 같은, 한 개 이상의 통신망(110)을 포함할 수 있다. 한 개 이상의 호스트들(120)과 한 개 이상의 클라이언트들(130a 내지 130c)은 통신망(들)(110)을 통해 통신적으로 결합될 수 있다.
호스트(120)와 클라이언트들(130a 내지 130c)(이하에 일반적으로 클라이언트(130)로서 참조됨)은, 예를 들어, 이써넷 연결과 같은, 통신 접속을 통해 통신망에 접속될 수 있다. 통신망된 컴퓨팅 시스템(100)과 같은 통신망에 포함될 수 있는 디바이스들의 수에 이론적 제한은 없지만, 디바이스들의 수는 통신망에 구현된 접속성(connectivity)에 의해 1차적으로 제한된다.
"호스트"와 "클라이언트"라는 용어들은 모두 다양한 컴퓨팅 서비스들을 수행하기 위해 사용되는 하드웨어와 소프트웨어(전체 컴퓨터 시스템)를 언급한다. 예를 들어, 호스트는 서버 응용 프로그램들에 전용되거나 또한 다른 응용 프로그램들을 실행하는 서버 컴퓨터로서 구현될 수 있다. 클라이언트는, 몇 개의 예만을 들 자면, 자립형(stand-alone) 데스크톱이나 랩톱 개인용 컴퓨터(PC). 워크스테이션, 개인 정보 단말기(PDA), 또는 넓고 다양한 전자 기기들 중의 임의의 것으로서 구현될 수 있다.
인증서(140a 내지 140c)(이하에, 일반적으로 인증서들(140)로서 언급됨)은 한 개 이상의 클라이언트들(130)에서 제공될 수 있다. 인증서들은, 몇 가지 예만을 들자면, 컨텐츠에 디지탈 서명을 하거나 시스템을 인증하기 위해, 통신망(110)을 통해 보안적 통신을 위한 데이타의 대칭적 및/또는 비대칭적 암호화/암호해독을 위해 제공될 수 있다. 임의의 수의 인증서들(140)은 로컬 캐쉬(135a 내지 135c)에 저장될 수 있다(이하에, 일반적으로 로컬 캐쉬(135)로서 언급됨). 로컬 캐쉬(135)는, 사용자 프로파일이나 다른 저장소(예를 들어, 사용자 세팅과 인증서들을 위해)를 포함할 수 있지만 다른 구현들이 또한 고려된다.
인증서들(140)은, 몇 개의 인증서들의 예만을 들자면, 대칭적 암호화 키, 비대칭적 암호화 키 쌍, X.509 증명서, XrML 면허증, 토큰, 및 인증(authentication)/승인(authorization) 인증서와 같은 넓고 다양한 상이한 유형들의 인증서들 중의 임의의 것을 포함할 수 있슴을 주목한다. 물론, 인증서들(140)은 이들 예에 제한되지 않고, 현재 공지되거나 나중에 개발되는 다른 유형들의 인증서들을 포함할 수 있다.
인증서들(140)은, 예를 들어, 상이한 유형들의 데이타를 암호화/암호해독하기 위해 로컬 캐쉬(135)에 추가될 수 있다. 추가로, 인증서들(140)은, 예를 들어, 비승인 사용자들이 암호화 스킴을 암호해독할 수 있는 확률을 감소시키기 위해, 수 정되거나 대체될 수 있다. 더 이상 사용되지 않는 인증서들은 삭제될 수 있다. 한 개 이상의 인증서들(140)이 클라이언트들(예를 들어, (130a)) 중의 임의의 한 개에서 추가되고, 수정되고, 대체되고, 또는 삭제된다면, 이 변경은 한 개 이상의 다른 클라이언트들(예를 들어, (130b, 130c))에 전파될 수 있어서, 아래 더 상세히 기재되는 바와 같이, 임의의 수(n)의 상이한 클라이언트들에서 암호화 인증서들의 현재의 완전한 세트를 사용자가 이용할 수 있다.
일 구현에서, 로컬 인증서들(140)은, 예를 들어, 한 개 이상의 호스트들(120)의 원격 캐쉬(125)에 또는 작업그룹 환경에서 다른 클라이언트(130)의 공유된 캐쉬에 제공된 원격 인증서들(150)과 동기화될 수 있다. 따라서, 사용자가 다른 클라언트들(130)에 로그온할 때, 인증서들의 현재의 완전한 세트가 사용자에게 이용가능하다.
원격 캐쉬(125)는, 분산 경량 디렉토리 액세스 프로토콜(LDAP) 또는 X.500 디렉토리 서비스와 같은, 디렉토리 서비스로서 구현될 수 있다. 디렉토리 서비스는 모노리식(monolithic)일 수 있거나, 그것은 복수-마스터(multi-master) 구현이나 마스터-슬레이브(master-slave) 구현으로서 분산될 수 있다. 원격 캐쉬(125)는 보호되거나 암호화된 상태에 저장될 수 있어서 원격 인증서들(150)은 비승인 사용자들에 의해 손상되거나, 도난당하거나, 이용되기 위해 노출되지 않는다.
디렉토리 서비스의 예는 Microsoft WINDOWS
Figure 112005012250403-PAT00002
운영 체제와 함께 사용할 수 있는 액티브 디렉토리이다. 액티브 디렉토리는 포괄적 디렉토리 서비스들을 제공하기 위해 분산 컴퓨팅 환경들에 배치될 수 있는 디렉토리 서비스이다. 액티브 디 렉토리는 기업이 필요한 디렉토리의 수를 분리하고, 이동하고, 중앙에서 관리하고, 감소시키기 위한 통합 포인트로서의 역할을 한다. 액티브 디렉토리는 또한 통신망 보안을 위해 중앙 권한자(central authority)로서 역할을 한다.
그러나, 원격 캐쉬(125)는 임의의 적절한 방식으로 구현될 수 있고 본 명세서에서 제공된 예들에 제한되지 않음을 주목한다.
도 2는, 예를 들어, 통지 서비스를 사용하여, 인증서 로밍을 구현하기 위한 모듈들의 예의 기능적 블록도이다. 통지 서비스(200)는 컴퓨터 판독가능 저장 장치나 메모리에 저장되는 컴퓨터 판독가능 프로그램 코드(예를 들어, 소프트웨어 및/또는 펌웨어)에 구현될 수 있고, 한 개 이상의 클라이언트들에서(예를 들어, 도 1에서 클라이언트(130a 내지 130c)) 프로세서(또는 프로세싱 유닛)에 의해 실행될 수 있다. 통지 서비스(200)는 다양한 시스템 이벤트들의 통지를 수신하고, 관리 서비스(250)를 호출하여 사용자를 위해 로컬과 원격 인증서들을 동기화한다. 따라서, 동기화는 자동적이고 사용자에게 명백할 수 있다.
도 2를 참조하면, 통지 서비스(200)는 이벤트 핸들러(210)를 포함할 수 있다. 이벤트 핸들러(210)는 이벤트(220a 내지 220c)(이하에, 일반적으로 이벤트들(220)로서 언급됨)의 통지를 수신한다. 이벤트들(220)은, 몇 개의 이벤트들의 예만을 들자면, 스타트업(startup), 셔트다운(shutup), 로그온, 로그오프, 잠금, 잠금해제를 포함한다. 다른 이벤트들은 또한 세션 이벤트들(예를 들어, 정책(policy) 업데이트, 프로세스의 실행, 통신망 접속)과 타이머 이벤트들(예를 들어, 8시간마다, 한달에 한 번)을 포함할 수 있지만, 이에 제한되지는 않는다. 선택적으로, 이벤트는 또한, 예를 들어, 인증서 동기화를 요구하는 사용자에 의해, 수동으로 트리거링될 수도 있다.
이벤트 핸들러(210)는 적어도 부분적으로 이벤트들(220)에 기초하여 한 개 이상의 작업들(230)을 생성할 수 있다. 작업(230)은 다른 서비스들로의 콜들을 포함할 수 있다. 예를 들어, 작업(230)은 자동-등록 서비스(240)를 콜할 수 있다. 자동-등록은 인증서 등으로 사용자 프로파일을 작성하기 위해 사용될 수 있거나 시스템에 새로운 사용자(예를 들어, 게스트(guest))가 있을 때 통신망 보안을 손상시키지 않고 제한된 기능성과 기본 자원들로의 액세스를 제공하기 위해 호출될 수 있는 서비스이다. 자동 등록은, 예를 들어, 컴퓨팅 환경을 위한 시스템 정책들에 기초하여, 사용자를 위한 인증서들을 요구/갱신하여 사용자를 자동 "등록"한다. 작업(230)은 또한, 아래 더 상세히 기재되는 바와 같이, 관리 서비스(250)를 콜하여 원격 캐쉬(예를 들어, 도 1의 원격 캐쉬(125))와 암호화 인증서들을 동기화할 수 있다.
작업들(230)은 디스패쳐(dispatcher)(2560)에 전달될 수 있다. 작업 디스패쳐(260)는 큐로부터 작업들(230)을 삭제할 수 있고, 직렬화된 방식으로 작업들(230)을 프로세스할 수 있다. 작업 디스패쳐(260)는 작업을 프로세싱하기 위해 어느 프로그램 코드(또는 모듈들)를 로드할지 및 언제 그 프로그램 코드를 로드할지를 결정한다. 작업 디스패쳐(260)는 또한 더 이상 사용되지 않는 프로그램 코드를 언로드(unload)할 수 있다.
통지 서비스(200)는 또한 지능적으로 작업들(230)을 관리하는 로직을 포함해 서 불필요한 자원 소비를 감소시킬 수 있다. 일 구현 예에서, 작업 디스패쳐(260)는 작업(230)을 프로세싱하는 프로그램 코드(또는 모듈들)가 이미 로드되었는지를 판정한다. 추가로, 작업 큐(270)가 비어 있으면(즉, 계류중의 작업들(230)이 없슴), 작업 디스패쳐(260)는 로드된 프로그램 코드(또는 모듈들)를 해제(release)한다.
다른 구현 예에서, 이벤트 핸들러(210)는 큐(270)에서 자동-등록 서비스(240)를 호출하는 작업들(230) 이전에 관리 서비스(250)를 호출하는 작업들(230)을 순서화할 것이다. 이벤트들(220)이 작업들(230)을 트리거링하여 자동-등록 서비스(240)와 관리 서비스(250)를 모두 호출할 때, 자동-등록 서비스(240)를 호출하는 작업들(230)은 관리 서비스가 동기화 시에 사용자를 위해 인증서들을 제공할 수 있으면 큐(270)로부터 삭제될 수 있다.
다른 구현 예에서, 댐핑 로직(damping logic)은 관리 서비스(250)로의 반복되는 콜을 감소시키기 위해 구현될 수 있다(즉, 이벤트(220)가 다른 이벤트들을 트리거링할 때). 예를 들어, 디스패쳐(260)는 작업 큐(270)를 검사하고, 중복적이거나 아니면 불필요한 임의의 작업들(230)을 버릴 수 있다.
계속하기 전에, 통지 서비스(200)는 도 2에 도시된 모듈들의 예에 제한되지 않음을 주목해야 한다. 예를 들어, 기능들은 분리된 모듈들에 구현될 필요는 없다. 다른 구현 예들에서, 추가 기능 콤포넌트들이 또한 포함될 수 있다. 구현에 상관없이, 통지 서비스는 관리 서비스(250)를 호출하여 로컬과 원격 인증서들을 동기화할 수 있다.
도 3은, 예를 들어, 관리 서비스를 사용하여, 인증서 로밍을 구현하는 모듈들의 예의 기능 블록도이다. 관리 서비스(300)는 통지 서비스(310)(즉, 도 2를 참조하여 위에 더 상세히 기재된 통지 서비스)와 동작적으로 연관될 수 있다. 통지 서비스(310)는 이벤트 통지의 수신에 응답하여 관리 서비스(300)를 호출할 수 있다. 관리 서비스(300)는 로컬 인증서들과 원격 인증서들을 평가하고 비교하고, 이들이 상이하면, 로컬과 원격 인증서들을 동기화시켜서 임의의 수(n)의 상이한 클라이언트들을 사용할 때 인증서들의 현재의 완전한 세트를 사용자가 이용할 수 있도록 한다.
관리 서비스(300)는 컴퓨터 판독가능 저장 장치나 메모리에 저장되는 컴퓨터 판독가능 프로그램 코드(즉, 소프트웨어 및/또는 펌웨어)로 구현될 수 있고, 한 개 이상의 클라이언트들(즉, 도 1의 클라이언트(130a 내지 130c))의 프로세서(또는, 프로세싱 유닛)에 의해 실행가능할 것이다. 관리 서비스(300)는 동기화 모듈(320)을 포함하여 인증서들을 평가하고, 충돌(들)을 해결하고, 로컬과 원격 캐쉬들의 인증서들을 업데이트할 수 있다.
동기화 모듈(320)은 로컬 저장 관리자(330) 및 원격 저장 관리자(340)와 동작적으로 연관될 수 있다. 로컬 저장 관리자(330)는 로컬 인증서들(355)을 위한 한 개 이상의 로컬 캐쉬(350)와 동작적으로 연관될 수 있다. 추가로, 로컬 저장 관리자(330)는 로컬에서 로컬 암호화 인증서들(355)을 로드/저장하기 위해 프로시져들을 추상화할 수 있다. 원격 저장 관리자(340)는 한 개 이상의 서버 컴퓨터들이나 호스트들(370)을 통해 제공된 원격 캐쉬(360)(예를 들어, 디렉토리 서비스)와 동작적으로 연관될 수 있다. 원격 저장 관리자(340)는 또한, 예를 들어, 동기화 시에, 원격 디렉토리 서비스(360)를 통해 한 개 이상의 원격 인증서들(365)을 액세스하기 위해 호스트(370)와 보안적으로 바인드될 수 있다.
계속하기 전에, 인증서들은, 예를 들어, 원격 디렉토리 서비스를 통해, 호스트에 제공되는 것에만 제한되지 않음을 주목한다. 다른 구현 예에서, 원격 캐쉬는, 예를 들어, 작업그룹에서, 다른 클라이언트에서 공유된 캐쉬일 수 있다. 따라서, 한 개 이상의 작업그룹들의 클라이언트들은 작업그룹의 클라이언트들 간에 공유된 인증서들을 동기화할 수 있다.
저장 관리자(330, 340)는 동기화 모듈(320)이 인증서들(355, 365)(즉, 로밍 인증서들의 리스트로서)을 평가하기 위해 열거할 수 있다. 저장 관리자들(330, 340)은 또한 동기화 모듈(320)에게, 예를 들어, 인증서들(355, 365)의 콜렉션들이 변경된 최종 시간과 같은, 정보를 제공하여 동기화 모듈(320)은 임의의 충돌(들)을 해결할 수 있다.
동기화 모듈(320)은 로컬 암호화 인증서들(355)과 원격 암호화 인증서들(365)을 동기화시키기 위해 로컬 저장 관리자(330) 및 원격 저장 관리자(340)와 연결하여 동작할 수 있다. 다수의 호출들에서, 로컬 또는 원격 암호화 인증서들에 아무런 변경이 없을 수 있다. 다른 호출들 중에, 로컬 인증서들(355)에만이나 또는 원격 인증서들(365)에만 변경이 될 수 있다. 그러나, 또한 로컬 인증서들(355) 및 원격 인증서들(365) 모두에 변경이 될 필요가 있는 상황들이 있을 수 있다. 따라서, 동기화 모듈은 이들 시나리오들을 각각 핸들링하기 위해 구현될 수 있다.
로컬 및 원격 암호화 인증서들의 평가는, 특히 수백 개 또는 수천 개의 암호화 인증서들이 있으면 시간 소비적 프로세스일 수 있다. 따라서, 동기화 모듈(320)은 우선 암호화 인증서들을 배열들로 정렬하고, 정렬된 배열들의 선형 비교를 할 수 있다. 물론, 다른 구현들은 또한, 예를 들어, 변경이 있는지를 판정하기 위한 해쉬와 시간 스탬프의 사용이 고려될 수 있지만, 이에 제한되지는 않는다.
비교 중에, 동기화 모듈(320)은 로컬 및 원격 인증서들(355, 365)을 동기화하기 위해 해결될 필요가 있는 충돌(들)에 직면할 수 있다. 예를 들어, 로컬 인증서(설명 목적으로 "구 신임장"으로서 언급됨)는 그것이 더 이상 필요하지 않으므로 로컬 캐쉬(350)로부터 수정되거나 삭제될 수 있다. 그러나, 동기화 모듈(320)이 로컬과 원격 인증서들(355, 365)을 비교할 때, 원격 인증서들은 여전히 구 인증서들을 포함할 수 있다. 동기화 모듈(3200은 그런 충돌을 해결하여, 구 인증서가 원격 캐쉬(360)로부터 수정되거나 삭제되고, 로컬 캐쉬(350)에 재기록되지 않도록 한다.
구현 예에서, 수정되거나 삭제된 인증서들은 "태그"되거나 그렇지 않으면 원격 캐쉬에서 식별된다. 따라서, 수정이나 삭제 동작은 복수의 클라이언트들에서 지속적일 수 있다. 예를 들어, 구 인증서가 제1 클라이언트로부터 삭제되면, 동기화 모듈(320)은 원격 캐쉬에서 구 인증서가 삭제된 것으로 식별한다. 구 인증서의 복사본을 또한 갖는 제2 클라이언트가 원격 캐쉬와 동기화할 때, 구 인증서는 제2 클라이언트로부터 삭제되고, 원격 캐쉬에 재기록되지 않는다. 다른 예에서, 구 인 증서가 제1 클라이언트에서 수정되면, 동기화 모듈(320)은 원격 캐쉬에서 구 인증서가 수정된 것으로서 식별한다. 구 인증서의 복사본을 또한 갖는 제2 클라이언트가 원격 캐쉬와 동기화할 때, 구 인증서는 제2 클라이언트에서 수정되고, 원격 캐쉬에서 그것의 원래 조건으로 되돌아가지 않는다.
구현의 일 예에서, 동기화 모듈(320)은 충돌 해결을 위해 한 개 이상의 상태 파일들(395)을 유지한다. 상태 파일은 사용자당 지속되는 데이타 구조(예를 들어, 컴퓨터 파일, 데이타베이스, 메모리 표, 로그 등)이고, 로컬 인증서들(350)의 상태를 저장하기 위해 사용될 수 있다. 상태 파일은, 예를 들어, 관리 서비스(300)와 동작적으로 연관된 캐쉬(390)에와 같이, 로컬에 저장될 수 있다. 일 구현 예에서, 다른 구현들이 또한 고려되지만, 모든 필드들은 이진의 자연적 바이트-순서로 저장될 수 있다.
도 4a는 상태 파일(400)의 예(예를 들어, 데이타 구조)를 도시한다. 상태 파일(400)은 파일 버젼(410)과 플래그(420)를 포함할 수 있다. 플래그(420)는, 예를 들어, 인증서가 통신망에서 사용자-보호되어 있는지 또는 교환될 수 있는지를 지시하기 위해, 사용될 수 있다. 다른 경우에, 플래그(420)(또는 다른 플래그)는 엄격한 또는 완화된 매트릭스가 충돌들을 해결하기 위해 사용되어야 하는지를 지시하기 위해 사용될 수 있다.
상태 파일(400)은 또한 한 개 이상의 인증서 상태들(430 내지 432)을 포함할 수 있다. 예를 들어, 상태 파일(400)은 다음 상태들을 포함할 수 있다: 최종으로 동기화 모듈이 호출된 때(TS), 최종으로 로컬 저장이 변경된 때(TL), 최종으로 원격 캐쉬가 변경된 때(TR). 상태 파일은 또한 인증서 상태 엔트리들(440)을 포함할 수 있다.
도 4b는 상태 엔트리(450)(예를 들어, 데이타 구조)의 예를 도시한다. 상태 엔트리(450)는 각각의 인증서에 대해 로컬 상태들의 리스트를 포함할 수 있다. 로컬 상태들은 인증서 ID(460), 플래그(470), 시간 스탬프(480), 및 해쉬(490)를 포함할 수 있다.
계속하기 전에, 시간-스탬프는 클럭-기반(즉, 물리적 또는 시스템) 시간에 제한되지 않음을 주목한다. 예를 들어, 시간 스탬프는 업데이트될 때마다 변경되는 업데이트 시퀀스 수와 같은 카운터들을 포함할 수 있다. 실제로, 클럭-기반 시간 스탬프는 로컬 캐쉬를 위해 사용될 수 있고, 업데이트 시퀀스 수-기반 시간 스탬프는 원격 캐쉬를 위해 사용될 수 있다.
도 4의 구현에서, 인증서 ID(460)는 암호화 인증서 파일의 "압축된" 경로이다. 다른 구현들이 또한 고려되지만, 인증서 ID(460)는 단일-바이트 ASCII 스트링으로 표현될 수 있다. 추가로, 임의의 적절한 플래그들(470)은 정의될 수 있고, 온(즉, 1)이나 오프(즉, 0)로 세트될 수 있다. 예를 들어, 플래그는 암호화 인증서가 로밍되는지(동기화될 수 있슴) 또는 고정되는지(동기화되어서는 안됨)를 지시할 수 있다.
도 4의 상태 파일(400)과 같은 상태 파일들을 사용한 충돌 해결을 위해 구현 될 수 있는 동작들은 아래 더 상세히 기재된다. 충돌 해결은 중재 매트릭스(arbitration matrix)들에 의해 설명될 수 있다.
도 5a와 도 5b는 중재 매트릭스들의 예를 도시하고, 매트릭스(500)는 완화되고, 매트릭스(550)는 엄격하다. 매트릭스들(500, 550)에서, 엑스포트(export)할 수 있는 인증서들은 문자 "E"로 표시되고, 보호된(또는 엑스포트할 수 없는) 인증서들은 문자 "P"로 표시되고, "/E"와 "/P"는 반대들을 표시한다. 양쪽 증명서들의 시간 스탬프는 어느 증명서가 가장 최근 것인지를 판정하기 위해 사용된다. 가장 최근의 증명서는 로컬 및 원격 캐쉬를 겹쳐쓰기 위해 사용된다. 다른 증명서는 삭제된다.
위에서 논의된 구현들의 예는 설명 목적으로 제공됨을 주목한다. 여전히 다른 구현들이 또한 고려된다.
<동작의 예>
암호화 인증서 로밍을 구현하는 방법들의 예가 본 명세서에 기재된다. 본 명세서에 기재된 방법들은 한 개 이상의 컴퓨터 판독가능 매체에 로직 명령어들로서 구현될 수 있다. 프로세서에서 실행될 때, 로직 명령어들은 일반 목적 컴퓨팅 디바이스가 설명된 방법들을 구현하는 특수 목적 머신으로서 프로그램되도록 한다. 다음의 동작들의 예에서, 도면들에서 도시된 콤포넌트들과 접속들은 암호화 인증서 로밍을 구현하기 위해 사용될 수 있다.
도 6은 암호화 인증서 로밍을 위해 구현될 수 있는 동작들의 예를 도시하는 흐름도이다. 동작(610)에서, 클라이언트는 이벤트 통지를 수신할 수 있다. 이벤 트 통지들은, 예를 들어, 세션 이벤트, 로그온 이벤트, 로그아웃 이벤트, 잠금 이벤트, 잠금해제 이벤트, 타이머 이벤트, 정책 응용 프로그램 이벤트, 및/또는 인증서 업데이트 이벤트를 포함할 수 있다. 동작(620)에서, 로컬 인증서들이 열거될 수 있고, 동작(630)에서, 원격 인증서들이 열거될 수 있다.
동작(640)에서, 로컬 인증서들과 원격 인증서들은 충돌이 있는지를 판정하기 위해 비교될 수 있다. 충돌이 없으면, 동작들은 화살표(650)에 의해 도시된 바와 같이 동작(610)으로 리턴한다. 다른 경우에서, 열거된 로컬 인증서들 중의 임의의 하나 이상이 열거된 원격 인증서들과 상이하면 충돌이 존재할 수 있다. 설명 목적으로, 열거된 로컬 인증서들은 인증서가 로컬 인증서 캐쉬 및/또는 원격 인증서 캐쉬로부터 추가되거나, 수정되거나, 삭제되면 열거된 원격 인증서들과 상이할 수 있다.
충돌이 존재하면, 충돌은, 예를 들어, 어느 인증서들이 로컬 및 원격 인증서 캐쉬들에 추가/삭제될 필요가 있는지를 결정하여, 동작(600)에서 해결된다. 구현 예에서, 로컬 및 원격 인증서들과 연관된 시간 스탬프에 기초하여 충돌은 해결될 수 있다. 동작(670)에서, 로컬 및/또는 원격 인증서들은 동기화되어, 예를 들어, 로컬 및 원격 인증서 캐쉬들 모두는 암호화 인증서들의 완전하고 업데이트된 세트를 포함한다.
설명 목적으로, 동작(660)(충돌 해결) 및 동작(670)(동기화)은 다음과 같이 구현될 수 있다:
인증서 로밍이 처음에 클라이언트를 위해 인에이블되었을 때, 클라이언트는 원격 캐쉬와 동일한 인증서들을 이미 갖고 있을 수 있다(즉, 수동 키 또는 PKCS#12 블럽 임포트(blob import)를 통해). 그러나, 인증서 저장 및 링커 세부사항은 어떻게 인증서가 임포트되는 방법에 따라 상이할 수 있다. 이 초기 충돌은 다음과 같이 해결될 수 있다.
원격 인증서들이 이미 다운로드되어 있으면, 마스터 키들(즉, 개인 키들을 액세스하기 위한)은 이들 동작들이 수행되기 전에 동기화되어 마스터 키들이 필요한 개인 키들을 이용할 수 있도록 한다.
그 다음, 관리 서비스는, 예를 들어, 속성의 메타-데이타를 통해, 원격 캐쉬의 생성 시간을 검색하여, 그것을 TC에 할당할 수 있다. 충돌하는 증명서들에 대한 시간 스탬프들 중의 하나 또는 둘 다가 TC보다 새로운 것이면, 증명서들 중의 적어도 한 개는 인증서 로밍의 배치 후에 수정되고, 가장 최신 캐쉬가 사용된다.
그렇지 않으면, 로컬 및 원격 캐쉬들 모두는 인증서 로밍의 배치 전에 생성될 수 있다. 양쪽 증명서들을 위한 정보 플래그들은 인증서가 사용자-보호되었는지 또는 엑스포트할 수 있는지를 결정하기 위해 검색된다. 정책 플래그는 또한 검색될 수 있고, 완화된 매트리스(예를 들어, 도 5의 매트릭스(500)) 또는 엄격한 매트릭스(예를 들어, 도 5의 매트릭스(550))가 충돌을 해결하기 위해 사용되어야 하는지가 결정될 수 있다.
인증서 로밍을 위한 알고리즘의 구현 예는 아래와 같이 기재된다. 이 구현에 따르면, TL은 전체 로컬 캐쉬가 변경된 가장 최근 시간을 나타낸다. TL은 로컬 머신의 시스템 시간에 기초하고, 로컬 캐쉬의 업데이트 시간과 비교될 수 있어서, 타이머 스큐(skew)가 없다. TR은 최종 동기화 시에 전체 원격 캐쉬의 업데이트 시퀀스 수(Update Sequence Number;USN)가 변경이 되는 가장 최근 시간을 나타낸다. TR은 원격 캐쉬로부터 USN을 사용할 수 있고, 타이머 스큐가 없도록 원격 캐쉬 USN과 비교될 수 있다.
첫번째로, 현재 최종 변경 시간은 로컬 캐쉬로부터 읽혀지고, USN은 원격 캐쉬로부터 읽혀진다. 그 다음, TL과 TR은 상태 파일 헤더로부터 읽혀진다. TL은 로컬 캐쉬로부터 바로 읽혀진 최종 변경 시간과 비교되고, TR은 원격 캐쉬로부터 읽혀진 USN과 비교된다. 그들이 모두 동일하면, 아무런 변경이 있을 필요가 없다. 그렇지 않으면, 알고리즘은, 초기에는 비어 있는, 로컬 변경 리스트 CL과 원격 변경 리스트 CR을 생성할 수 있다.
로컬 캐쉬가 변경된 최종 시간이 TL보다 나중이면, 로컬 캐쉬 인증서들 모두는 읽혀지고, 상태 파일의 대응하는 엔트리와 비교된다. 인증서들 중의 임의의 것이 다르면, CL에 엔트리가 생성되어, 그 인증서 또는 상태 파일 엔트리에 인증서가 업데이트된 가장 최근 시간 및 제안된 액션(예를 들어, 원격/로컬 캐쉬에 추가하고, 대응하는 원격/로컬 캐쉬 인증서를 수정하고, 대응하는 원격/로컬 캐쉬 신임장를 삭제하고, 상태 파일 엔트리를 업데이트하는 등)을 기록한다. 해쉬 값이 변경되거나, 플래그 값이 변경되거나(예를 들어, 삭제됨(DELETE), 기록불가(UNWRITABLE), 판독불가(UNREADABLE)), 또는 로컬 캐쉬가 상태 파일에 기록이 되지 않은 인증서를 갖거나 상태 파일이 로컬 캐쉬에 기록되지 않은 엔트리를 가지면 인증서들은 상이하다고 고려될 수 있다.
원격 캐쉬의 최종 USN이 TR과 다르면, 모든 원격 캐쉬 인증서들은 판독되고, 앞서 기재된 바와 같이 동일 동작들이 수행된다. 변경 리스트 CR가 또한 업데이트될 수 있다.
그 다음, CL과 CR 모두는 두 개의 리스트들 모두에서 동일 인증서에 액션들이 수행되는지를 판정하기 위해 평가될 수 있다. 두 개의 리스트들 모두의 동일 인증서에 액션들이 수행되면, 이들 액션들은 임의의 충돌이 있는지를 판정하기 위해 평가될 수 있다. 예를 들어, CL이 "원격으로 수정"하기 위한 인증서 A에 대한 엔트리를 포함하고, 한편 CR은 "로컬에서 수정"하기 위한 동일 인증서에 대한 엔트리를 포함하면 충돌이 있을 수 있다. 충돌은 로컬 및 원격 인증서들 모두의 최종 변경 시간에 기초하여 해결될 수 있다. 즉, 더 이른 변경 시간을 갖는 엔트리는 리스트로부터 삭제될 것이다.
충돌이 있어서 해결된 후, 로컬 및 원격 캐쉬는 CL와 CR의 합집합에 기초하여 업데이트된다. 몇 번의 재시도 후에도 업데이트하기를 실패한 각각의 엔트리에 대해 플래그가 세트된다.
그 다음, 상태 파일은 업데이트될 수 있다. 예를 들어, 과도하게 긴 시간 동안 세트된 삭제됨 플래그들은 식별되어 삭제될 것이다. 상태 파일 헤더 및 엔트리들은 또한 결과적 CL과 CR 엔트리들에 기초하여 업데이트될 것이다. 상태 파일이 몇 번의 재시도 후에도 업데이트하기를 실패하면, 오류의 상태 파일이 예측 불허의 결과들을 발생시킬 수 있으므로 인증서 로밍은 디세이블될 수 있다.
상술된 엔트리들은 해쉬 값들로서 평가될 수 있슴을 주목한다. 해쉬 값들은, 예를 들어, 인증서들이 불필요한 캐쉬들에서 복제되지 않도록 보안을 제공하고, 성능을 좋게한다(해쉬 비교들은 통상적으로 빠름). 그러나, 해쉬 사용은 단지 예일 뿐임을 주목한다. 예를 들어, 상태 파일이 전체 인증서를 저장하면, 그것은 해쉬 대신에 이진이나 정확한(exact) 비교를 위해 사용될 수 있다.
상태 파일에서 유지되는 최종 동기화 시간 TS는, 원격 캐쉬에서가 아닌, 상태 파일에 존재하는 로컬 캐쉬 엔트리를 핸들링하는 방법을 결정하기 위해 사용될 수 있다. TS로부터 현재 시간까지의 경과 시간이 임계 시간보다 작으면, 원격 캐쉬는 이 엔트리를 추가한다. 그렇지 않으면, 엔트리는 로컬 캐쉬로부터 삭제될 수 있다.
인증서들의 동기화에서의 오류 조건들은 또한 부분적으로 업데이트되거나 오류있는 인증서들의 결과를 가져올 수 있다. 따라서, 실패가, 예를 들어, 원격 캐쉬에, 전파되지 않도록 오류 핸들링이 제공될 것이다.
임의의 구현 예에서, "쓰기 상태"는 쓰기 동작의 완료 상태를 지시하기 위해 리턴된다. 그 값들은 다음과 같을 것이다: 인증서가 (1) 변경 안되거나, (2) 부분 적으로 변경되거나, (3) 성공적으로 변경되는 것을 각각 지시하는 무변경(NONE), 부분적완료(PARTIAL), 완료(DONE). 저장 동작이 부분적완료 쓰기 상태의 결과가 되면, 상태 파일 엔트리는 기록불가(UNWRITABLE)로서 표시된다. 삭제 동작이 무변경이나 부분적완료 쓰기 상태의 결과가 되면, 상태 파일 엔트리는 기록불가로서 표시된다. 임의의 산발적인 쓰기 또는 삭제 실패들에 대해, 쓰기 또는 삭제 동작들은 중지될 것이고, 상태 파일 엔트리는 인증서에 대한 모든 시도들이 실패할 때 표시될 것이다.
동기화는 그것이 기록불가로 표시되면 로컬 변경을 무시하고, 동기화는 그것이 기록불가로 표시되면 로컬 인증서를 삭제하려는 시도를 할 것이다. 그것이 기록불가로서 표시될 때 인증서가 성공적으로 겹쳐쓸 수 있거나, 상태 파일이 그것을 기록불가로서 표시할 때 그것이 사라지면, 기록불가 플래그는 상태 파일 엔트리로부터 지워질 것이다.
상태 파일이 업데이트하기를 실패하면(예를 들어, 잠재적으로 오류가 있는 상태 파일을 지시함), 인증서 로밍은 실패한 클라이언트 또는 특정 사용자에 대해 디세이블될 것이다. 문제가 나중에 고쳐지면, 그것은 수동적으로 다시 인에이블될 것이다. 시스템은 또한 자동 회복 단계들을 수행하여 다음 호출 간격(invocation interval)에서 원격 저장소로부터 공지된 정확한 데이타를 다운로드하여 임의의 오류의 데이타를 오버라이드(override)할 수 있다.
로컬 캐쉬 읽기 실패도 또한 핸들링될 수 있다. 읽기 실패들은 업데이트 실패들보다 더 완화되게 핸들링될 수 있어서, 로밍 인증서의 읽기 실패는 다른 인증 서들의 로밍에 영향을 주지 않는다.
일 구현 예에서, 읽기 실패를 갖는 인증서는 겟 올(GET ALL) 동작에 의해 리턴되는 로밍 인증서 세트에서 나타나 동기화는 그것을 삭제로서 다루지 않도록 한다. 로컬 캐쉬 읽기는 임의의 실패가 발생할 때 지연과 함께 재시도될 수 있다. 다수의 재시도 후에도 실패가 여전히 존재하면, 그럼에도 불구하고 로밍 인증서에 판독불가 플래그 비트가 세트되어 생성된다. 비공식적인 경고, 및/또는 오류 이벤트들은 문제 해결/유지관리를 용이하게 하기 위해 추적되거나 기록(log)될 수 있다.
본 명세서에서 도시되고 기재된 동작들은 단순히 인증서 로밍의 구현의 예를 설명한다. 동작들은 임의의 특정 순서에 제한되지 않음을 주목한다. 도 6에서, 예를 들어, 동작(620)은 동작(630) 전에, 후에, 또는 동시에 발생할 수 있다. 다른 예에서, 동작들(620 내지 670)은 개별 암호화 인증서들, 상이한 유형들의 암호화 인증서들, 또는 기타 암호화 인증서들의 그룹들(세트들)에 대해 반복적일 것이다. 여전히 다른 동작들은 또한 인증서 로밍을 인에이블하기 위해 구현될 수 있다.
<컴퓨팅 디바이스의 예>
도 7은 인증서 로밍을 구현하기 위해 사용될 수 있는 컴퓨팅 디바이스(700)의 예의 개략도이다. 컴퓨팅 디바이스(700)는 한 개 이상의 프로세서들이나 프로세싱 유닛들(732), 시스템 메모리(734), 및 프로세서(732)로 시스템 메모리(734)를 포함하는 다양한 시스템 콤포넌트들을 결합하는 버스(736)를 포함한다. 버스(736) 는 메모리 버스나 메모리 제어기, 주변기기 버스, 가속화 그래픽 포트, 및 다양한 버스 구조들 중의 임의의 것을 사용하는 프로세서나 로컬 버스를 포함하는, 몇 개의 유형들의 버스 구조들 중의 임의의 하나 이상의 것들을 나타낸다. 시스템 메모리(734)는 읽기용 메모리(ROM)(738)와 랜덤 액세스 메모리(RAM)(740)를 포함한다. 스타트업 동안 같은 때, 컴퓨팅 디바이스(700) 내의 소자들 간에 정보 전송을 돕는 기본 루틴들을 포함하는, 기본 입/출력 시스템(BIOS)(742)은 ROM(738)에 저장된다.
컴퓨팅 디바이스(700)는 하드 디스크(도시 안됨)로 읽고 쓰는 하드 디스크 드라이브(744)를 더 포함하고, 분리형 자기 디스크(748)로 읽고 쓰는 자기 디스크 드라이브(746) 및, CD-ROM이나 기타 광 매체들과 같은, 분리형 광 디스크(752)에 읽고 쓰는 광 디스크 드라이브(750)를 포함할 수 있다. 하드 디스크 드라이브(744), 자기 디스크 드라이브(746), 및 광 디스크 드라이브(750)는 적합한 인터페이스들(754a, 754b, 및 754c)에 의해 버스(736)에 접속된다. 드라이브들과 그들의 연관된 컴퓨터 판독가능 매체들은 컴퓨팅 디바이스(700)에 대한 컴퓨터 판독가능 명령어, 데이타 구조, 프로그램 모듈, 및 기타 데이타의 비휘발성 저장을 제공한다. 본 명세서에 기재된 환경의 예가 하드 디스크, 분리형 자기 디스크(748), 및 분리형 광 디스크(752)를 채택하지만, 자기 카세트, 플래쉬 메모리 카드, 디지탈 다용도 디스크, 랜덤 액세스 메모리(RAM), 읽기용 메모리(ROM) 등의 기타 유형들의 컴퓨터 판독가능 매체들이 또한 운영 환경의 예에서 사용될 수 있다.
다수의 프로그램 모듈들은 운영 시스템(758), 한 개 이상의 응용 프로그램들(760), 기타 프로그램 모듈들(762), 및 프로그램 데이타(764)를 포함하는 하드 디스크(744), 자기 디스크(748), 광 디스크(752), ROM(738), 또는 RAM(740)에 저장될 수 있다. 사용자는 키보드(766)와 포인팅 디바이스(768)와 같은 입력 디바이스들을 통해 컴퓨팅 디바이스(700)로 커맨드와 정보를 입력할 수 있다. 기타 입력 디바이스들(도시 안됨)은 마이크로폰, 조이스틱, 게임 패드, 위성 접시, 스캐너 등을 포함할 수 있다. 이들 및 다른 입력 디바이스들은 버스(736)에 결합된 인터페이스(756)를 통해 프로세싱 유닛(732)으로 접속된다. 모니터(772)나 다른 유형의 디스플레이 디바이스는 또한, 비디오 어댑터(774)와 같은, 인터페이스를 통해 버스(736)로 접속된다.
일반적으로, 컴퓨팅 디바이스(700)의 데이타 프로세서들은 상이한 시간에 컴퓨터의 다양한 컴퓨터 판독가능 저장 매체에 저장된 명령어들에 의해 프로그램된다. 프로그램들과 운영 시스템들은, 예를 들어, 플로피 디스크, CD-ROM, 또는 전자적으로 배포될 수 있고, 컴퓨터의 제2 메모리에 설치되거나 로드된다. 실행에서, 프로그램들은 컴퓨터의 제1 전자 메모리에 적어도 부분적으로 로드될 수 있다.
컴퓨팅 디바이스(700)는 통신망 환경에서 원격 컴퓨터(776)와 같은, 한 개 이상의 원격 컴퓨터들에 논리 접속을 사용하여 동작할 수 있다. 원격 컴퓨터(776)는 개인용 컴퓨터, 서버, 라우터, 통신망 PC, 피어 디바이스, 또는 기타 일반 통신망 노드일 수 있고, 통상적으로, 상술된 컴퓨팅 디바이스(700)에 관련된 다수의 또는 전체 소자들을 포함한다. 도 7에 도시된 논리 접속들은 LAN(780) 및 WAN(782) 를 포함한다.
LAN 통신망 환경에서 사용될 때, 컴퓨팅 디바이스(700)는 통신망 인터페이스나 어댑터(784)를 통해 로컬 통신망(780)에 접속된다. WAN 통신망 환경에서 사용될 때, 컴퓨팅 디바이스(700)는 통상적으로, 인터넷과 같은, 광역 통신망(782)을 통해 통신을 확립하는 모뎀(786)이나 기타 수단을 포함한다. 내장이나 외장일 수 있는 모뎀(786)은 직렬 포트 인터페이스(756)를 통해 버스(736)로 접속된다. 통신망 환경에서, 통신망 디바이스(700), 또는 그 일부, 와 관련하여 도시된 프로그램 모듈들은 원격 메모리 저장 디바이스에 저장될 수 있다. 도시된 통신망 접속은 예일 뿐이고, 컴퓨터들 간에 통신 링크를 확립시키는 다른 수단이 사용될 수 있슴을 이해할 것이다.
호스트들은 통신망에 접속을 인에이블시키는 호스트 어댑터 하드웨어 및 소프트웨어를 포함할 수 있다. 통신망으로의 접속은 대역폭 요구사항에 따라 광학 접속 또는 종래 전도성 케이블을 통해서 일 것이다. 호스트 어댑터는 컴퓨팅 디바이스(700)의 플러그-인 카드로서 구현될 수 있다. 호스트들은 하드웨어와 소프트웨어가 지원하는 만큼의 수의 통신망과의 접속을 제공하기 위해 임의의 수의 호스트 어댑터들을 구현할 수 있다.
당업자들에게는, 본 명세서에 개시된 명세서를 고려함으로써 본 명세서에서 명백히 기재된 특정 구현들에 추가하여, 다른 양태들 및 구현들도 명백해질 것이다. 다음의 청구 범위의 실제 범위 및 취지로, 명세서와 설명된 구현들은 예로써만 고려됨이 의도된다.
본 명세서에서, 예를 들어, 복수의 상이한 컴퓨팅 디바이스들 간에, 인증서 로밍을 인에이블하기 위한 구현들이 기재된다. 시스템의 일 예는 통신망 로그온과 같은 이벤트 통지를 수신하는 이벤트 핸들러를 포함할 수 있고, 이벤트 핸들러는 이벤트 통지의 수신에 응답하여 관리 서비스를 호출할 수 있다. 관리 서비스는 원격 캐쉬 또는 디렉토리 서비스와 사용자의 인증서들(예를 들어, 암호화 인증서들)을 동기화하기 위해 동기화 모듈을 포함할 수 있다. 따라서, 사용자의 인증서들은 다수의 상이한 컴퓨팅 디바이스들 중의 임의의 것으로부터 이용가능하다.

Claims (44)

  1. 이벤트 통지의 수신에 응답하여 로컬 인증서들 및 원격 인증서들을 열거하는 단계; 및
    상기 로컬 인증서들 및 원격 인증서들을 동기화시키는 단계
    를 포함하는 방법.
  2. 제1항에 있어서, 상기 로컬 인증서들과 상기 원격 인증서들을 동기화시키는 단계는 상기 로컬 인증서들과 연관된 적어도 한 개의 시간 스탬프 및 상기 원격 인증서들과 연관된 적어도 한 개의 시간 스탬프에 기초하는 방법.
  3. 제1항에 있어서, 상기 로컬 인증서들과 상기 원격 인증서들을 동기화시키는 단계는 해쉬 값들의 비교에 기초하는 방법.
  4. 제1항에 있어서, 상기 동기화 단계는 오류를 핸들링하는 단계를 포함하는 방법.
  5. 제1항에 있어서, 상기 동기화 단계는 원격 인증서 캐쉬에 상기 로컬 인증서들 중의 적어도 한 개를 기록하는 단계를 포함하는 방법.
  6. 제1항에 있어서, 상기 동기화 단계는 로컬 인증서 캐쉬에 상기 원격 인증서들 중의 적어도 하나를 기록하는 단계를 포함하는 방법.
  7. 제1항에 있어서, 상기 동기화 단계는 로컬 인증서 캐쉬로부터 상기 로컬 인증서들의 적어도 하나를 삭제하는 단계를 포함하는 방법.
  8. 제1항에 있어서, 상기 동기화 단계는 원격 인증서 캐쉬로부터 상기 원격 인증서들 중의 적어도 하나를 삭제하는 단계를 포함하는 방법.
  9. 제1항에 있어서, 상기 동기화 단계는 상기 원격 인증서들 중의 적어도 한 개에 기초하여 로컬 인증서 캐쉬에서 상기 로컬 인증서들 중의 적어도 하나를 수정하는 단계를 포함하는 방법.
  10. 제1항에 있어서, 상기 동기화 단계는 상기 로컬 인증서들 중의 적어도 하나에 기초하여 원격 인증서 캐쉬에서 상기 원격 인증서들 중의 적어도 하나를 수정하는 단계를 포함하는 방법.
  11. 제1항에 있어서, 로컬 인증서들의 리스트를 업데이트하는 단계를 더 포함하는 방법.
  12. 제1항에 있어서, 원격 인증서들의 리스트를 업데이트하는 단계를 더 포함하는 방법.
  13. 제1항에 있어서, 동적으로 상기 원격 인증서들의 상태를 결정하는 단계를 더 포함하는 방법.
  14. 제1항에 있어서, 상기 원격 인증서들에 대한 상태 파일을 유지하는 단계를 더 포함하는 방법.
  15. 제1항에 있어서, 상기 로컬 인증서들에 대한 상태 파일을 유지하는 단계를 더 포함하는 방법.
  16. 제1항에 있어서, 상기 로컬 인증서들과 상기 원격 인증서들 간의 상태 충돌을 해결하는 단계를 더 포함하는 방법.
  17. 컴퓨터 시스템 상에서 컴퓨터 프로세스를 실행하기 위한 컴퓨터 프로그램을 인코딩하는 컴퓨터 프로그램 제품으로서, 상기 컴퓨터 프로세스는,
    이벤트 통지의 수신에 응답하여 로컬 인증서들과 원격 인증서들을 열거하는 단계; 및
    상기 로컬 인증서들과 원격 인증서들을 동기화시키는 단계
    를 포함하는 컴퓨터 프로그램 제품.
  18. 제17항에 있어서, 상기 컴퓨터 프로세스는 상기 로컬 인증서들과 연관된 적어도 한 개의 시간 스탬프 및 상기 원격 인증서들과 연관된 적어도 한 개의 시간 스탬프에 기초하여 상기 로컬 인증서들과 상기 원격 인증서들을 동기화시키는 단계를 더 포함하는 컴퓨터 프로그램 제품.
  19. 제17항에 있어서, 상기 컴퓨터 프로세스는 해쉬 값들의 비교에 기초하여 상기 로컬 인증서들과 상기 원격 인증서들을 동기화시키는 단계를 더 포함하는 컴퓨터 프로그램 제품.
  20. 제17항에 있어서, 상기 컴퓨터 프로세스는 원격 인증서 캐쉬에 상기 로컬 인증서들 중의 적어도 하나를 기록하는 단계를 더 포함하는 컴퓨터 프로그램 제품.
  21. 제17항에 있어서, 상기 컴퓨터 프로세스는 로컬 인증서 캐쉬에 상기 원격 인증서들 중의 적어도 하나를 기록하는 단계를 더 포함하는 컴퓨터 프로그램 제품.
  22. 제17항에 있어서, 상기 컴퓨터 프로세스는 로컬 인증서 캐쉬로부터 상기 로컬 인증서들 중의 적어도 하나를 제거하는 단계를 더 포함하는 컴퓨터 프로그램 제품.
  23. 제17항에 있어서, 상기 컴퓨터 프로세스는 원격 인증서 캐쉬로부터 상기 원격 인증서들 중의 적어도 하나를 제거하는 단계를 더 포함하는 컴퓨터 프로그램 제품.
  24. 제17항에 있어서, 상기 컴퓨터 프로세스는 로컬 인증서 캐쉬에서 상기 로컬 인증서들 중의 적어도 하나를 수정하는 단계를 더 포함하는 컴퓨터 프로그램 제품.
  25. 제17항에 있어서, 상기 컴퓨터 프로세스는 원격 인증서 캐쉬에서 상기 원격인증서들 중의 적어도 하나를 수정하는 단계를 더 포함하는 컴퓨터 프로그램 제품.
  26. 제17항에 있어서, 상기 컴퓨터 프로세스는 로컬 인증서들의 리스트를 업데이트하는 단계를 더 포함하는 컴퓨터 프로그램 제품.
  27. 제17항에 있어서, 상기 컴퓨터 프로세스는 원격 인증서들의 리스트를 업데이트하는 단계를 더 포함하는 컴퓨터 프로그램 제품.
  28. 제17항에 있어서, 상기 컴퓨터 프로세스는 상기 원격 인증서들의 상태를 유지하는 단계를 더 포함하는 컴퓨터 프로그램 제품.
  29. 제17항에 있어서, 상기 컴퓨터 프로세스는 동적으로 상기 원격 인증서들의 상태를 결정하는 단계를 더 포함하는 컴퓨터 프로그램 제품.
  30. 제17항에 있어서, 상기 컴퓨터 프로세스는 상기 로컬 인증서들의 상태를 유지하는 단계를 더 포함하는 컴퓨터 프로그램 제품.
  31. 제17항에 있어서, 상기 컴퓨터 프로세스는 오류를 핸들링하는 단계를 더 포함하는 컴퓨터 프로그램 제품.
  32. 제17항에 있어서, 상기 컴퓨터 프로세스는 상기 로컬 인증서들과 상기 원격 인증서들 간의 상태 충돌을 해결하는 단계를 더 포함하는 컴퓨터 프로그램 제품.
  33. 이벤트 통지들을 수신하는 이벤트 핸들러; 및
    로컬 및 원격 신임장들이 서로 상이하면, 상기 이벤트 핸들러가 이벤트 통지를 수신할 때 상기 로컬 신임장들과 원격 신임장들을 동기화시키기 위해 상기 이벤트 핸들러와 동작적으로 연관된 동기화 모듈
    을 포함하는 시스템.
  34. 제33항에 있어서, 상기 이벤트 통지는, 세션 이벤트, 로그온 이벤트, 로그아웃 이벤트, 잠금 이벤트, 잠금해제 이벤트, 타이머 이벤트, 정책(policy) 적용 프 로그램 이벤트, 및 인증서 업데이트 이벤트, 중의 적어도 하나인 시스템.
  35. 제33항에 있어서, 상기 인증서들은, 암호화 인증서, 토큰, 비대칭적 키 쌍, 대칭적 키, 디지탈 증명서, XrML 면허증, 인증(authentication) 인증서, 승인(authorization) 인증서, 중의 적어도 하나를 포함하는 시스템.
  36. 제33항에 있어서, 상기 동기화 모듈에 대해 상기 로컬 인증서들을 열거하는 로컬 저장소 관리자를 더 포함하는 시스템.
  37. 제33항에 있어서, 상기 동기화 모듈에 대해 상기 원격 인증서들을 열거하는 원격 저장소 관리자를 더 포함하는 시스템.
  38. 제33항에 있어서, 상기 로컬 인증서들은 로컬 캐쉬에 저장되는 시스템.
  39. 제33항에 있어서, 상기 로컬 인증서들은 임의의 수(n)의 클라이언트들에서 제공되는 로컬 캐쉬에 저장되는 시스템.
  40. 제33항에 있어서, 상기 로컬 인증서들은 마스터 키를 사용하여 암호화되는 시스템.
  41. 제33항에 있어서, 상기 원격 인증서들은 원격 캐쉬에 저장되는 시스템.
  42. 제33항에 있어서, 상기 로컬 인증서들은 임의의 수(n)의 호스트들에서 제공되는 원격 캐쉬에 저장되는 시스템.
  43. 제33항에 있어서, 상기 원격 인증서들은 원격 디렉토리 서비스에 의해 유지되는 시스템.
  44. 제33항에 있어서, 상기 원격 인증서들은 암호화되는 시스템.
KR1020050019076A 2004-04-09 2005-03-08 인증서 로밍 방법 및 시스템 KR101143053B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/821,603 2004-04-09
US10/821,603 US7984488B2 (en) 2004-04-09 2004-04-09 Credential roaming in electronic computing systems

Publications (2)

Publication Number Publication Date
KR20060043510A true KR20060043510A (ko) 2006-05-15
KR101143053B1 KR101143053B1 (ko) 2012-05-11

Family

ID=34912736

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050019076A KR101143053B1 (ko) 2004-04-09 2005-03-08 인증서 로밍 방법 및 시스템

Country Status (10)

Country Link
US (1) US7984488B2 (ko)
EP (1) EP1585286B1 (ko)
JP (1) JP2005303993A (ko)
KR (1) KR101143053B1 (ko)
CN (1) CN1681240B (ko)
AU (1) AU2005200561B8 (ko)
BR (1) BRPI0501004A (ko)
CA (1) CA2499932C (ko)
MX (1) MXPA05002659A (ko)
RU (1) RU2408069C2 (ko)

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040068523A1 (en) * 2002-10-07 2004-04-08 Keith Robert Olan Method and system for full asynchronous master-to-master file synchronization
US9729321B2 (en) * 2015-04-29 2017-08-08 Citrix Systems, Inc. Autonomous private key recovery
ATE428235T1 (de) 2004-04-30 2009-04-15 Research In Motion Ltd System und verfahren zum erhalten des zertifikatstatus von subschlusseln
US8015596B2 (en) * 2004-06-28 2011-09-06 International Business Machines Corporation Shared credential store
US7506164B2 (en) * 2004-08-09 2009-03-17 Research In Motion Limited Automated key management system and method
US8284942B2 (en) * 2004-08-24 2012-10-09 Microsoft Corporation Persisting private/public key pairs in password-encrypted files for transportation to local cryptographic store
US7643818B2 (en) 2004-11-22 2010-01-05 Seven Networks, Inc. E-mail messaging to/from a mobile terminal
US20070168562A1 (en) * 2005-12-14 2007-07-19 Kimbrell Jacob W Participant-selective event synchronization for portable electronic devices
US20070143596A1 (en) * 2005-12-15 2007-06-21 International Business Machines Corporation Untrusted certificate store for secure e-mail
KR100791291B1 (ko) * 2006-02-10 2008-01-04 삼성전자주식회사 디바이스에서 drm 컨텐츠를 로밍하여 사용하는 방법 및장치
KR100703805B1 (ko) * 2006-02-15 2007-04-09 삼성전자주식회사 원격 도메인의 디바이스에서 drm 컨텐츠를 로밍하여사용하는 방법 및 장치
US8321523B1 (en) * 2006-04-24 2012-11-27 Centrify Corporation Method and apparatus for dynamically and incrementally modifying NIS maps
US20070255958A1 (en) * 2006-05-01 2007-11-01 Microsoft Corporation Claim transformations for trust relationships
US7841000B2 (en) 2006-10-16 2010-11-23 Lenovo (Singapore) Pte. Ltd. Authentication password storage method and generation method, user authentication method, and computer
US7882550B2 (en) * 2006-12-29 2011-02-01 International Business Machines Corporation Customized untrusted certificate replication
US20080168545A1 (en) * 2007-01-09 2008-07-10 Tadanobu Inoue Method for Performing Domain Logons to a Secure Computer Network
US8108918B2 (en) * 2007-02-27 2012-01-31 Red Hat, Inc. Zero knowledge attribute storage and retrieval
KR101467174B1 (ko) * 2007-08-16 2014-12-01 삼성전자주식회사 통신 수행 방법 및 그 장치와, 통신 수행 제어 방법 및 그장치
US20090183255A1 (en) * 2007-12-21 2009-07-16 Kiester W Scott Server services on client for disconnected authentication
US8166072B2 (en) 2009-04-17 2012-04-24 International Business Machines Corporation System and method for normalizing and merging credential stores
KR20120055772A (ko) * 2010-11-23 2012-06-01 한국전자통신연구원 서비스 에이전트 제공 시스템 및 방법
US20120158415A1 (en) * 2010-12-17 2012-06-21 Flexera Software Inc. method and system for license server synchronization
US9106645B1 (en) * 2011-01-26 2015-08-11 Symantec Corporation Automatic reset for time-based credentials on a mobile device
US8918853B2 (en) * 2011-06-29 2014-12-23 Sharp Laboratories Of America, Inc. Method and system for automatic recovery from lost security token on embedded device
US8989380B1 (en) * 2011-08-08 2015-03-24 Sprint Spectrum L.P. Controlling communication of a wireless communication device
US10798057B2 (en) * 2013-02-12 2020-10-06 Centrify Corporation Method and apparatus for providing secure internal directory service for hosted services
US9438598B2 (en) 2013-02-15 2016-09-06 Verizon Patent And Licensing Inc. Securely updating information identifying services accessible via keys
US9154482B2 (en) * 2013-02-15 2015-10-06 Verizon Patent And Licensing Inc. Secure access credential updating
US9712508B2 (en) * 2013-03-13 2017-07-18 Intel Corporation One-touch device personalization
KR101764838B1 (ko) 2013-10-25 2017-08-03 주식회사 엘지화학 적은 수의 절연소자를 사용하여 2차 보호 신호 및 진단 신호를 전송할 수 있는 배터리 관리 시스템
US20150150013A1 (en) * 2013-11-25 2015-05-28 International Business Machines Corporation Reducing job credentials management load
RU2654810C2 (ru) 2014-05-26 2018-05-22 Закрытое акционерное общество "Лаборатория Касперского" Система и способ блокирования использования приложений на мобильном устройстве
US9319430B2 (en) * 2014-06-17 2016-04-19 International Business Machines Corporation Managing software deployment
CN104125335B (zh) * 2014-06-24 2017-08-25 小米科技有限责任公司 权限管理方法、装置及系统
US9787685B2 (en) 2014-06-24 2017-10-10 Xiaomi Inc. Methods, devices and systems for managing authority
US9454773B2 (en) 2014-08-12 2016-09-27 Danal Inc. Aggregator system having a platform for engaging mobile device users
US10154082B2 (en) 2014-08-12 2018-12-11 Danal Inc. Providing customer information obtained from a carrier system to a client device
US9461983B2 (en) * 2014-08-12 2016-10-04 Danal Inc. Multi-dimensional framework for defining criteria that indicate when authentication should be revoked
EP3191949B1 (en) * 2014-09-08 2020-06-10 BlackBerry Limited Shared lock state
US9754100B1 (en) * 2014-12-22 2017-09-05 Amazon Technologies, Inc. Credential synchronization management
EP3329649B1 (en) 2015-07-31 2019-06-12 BlackBerry Limited Managing access to resources
CN105303120B (zh) 2015-09-18 2020-01-10 小米科技有限责任公司 短信读取方法及装置
CN105307137B (zh) 2015-09-18 2019-05-07 小米科技有限责任公司 短信读取方法及装置
CN105260673A (zh) 2015-09-18 2016-01-20 小米科技有限责任公司 短信读取方法及装置
DE102015014168A1 (de) 2015-11-03 2017-05-04 Secardeo Gmbh Verfahren zur Verteilung privater Schlüssel von Benutzern auf Mobilgeräte
WO2018175980A1 (en) * 2017-03-24 2018-09-27 Comet Enterprises, Inc. A credential management system for distributed authentication, and related systems and methods
US11443028B2 (en) * 2018-09-27 2022-09-13 Apple Inc. Digital credential revocation
US11611618B2 (en) 2020-12-31 2023-03-21 Nutanix, Inc. Orchestrating allocation of shared resources in a datacenter
US11734044B2 (en) * 2020-12-31 2023-08-22 Nutanix, Inc. Configuring virtualization system images for a computing cluster

Family Cites Families (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04271465A (ja) 1991-02-27 1992-09-28 Canon Inc 文書判定方式
JPH04271462A (ja) 1991-02-27 1992-09-28 Canon Inc 文書処理装置及び方法
JPH05324544A (ja) * 1992-05-15 1993-12-07 Hitachi Ltd バス制御方法
US5341426A (en) * 1992-12-15 1994-08-23 Motorola, Inc. Cryptographic key management apparatus and method
US5689706A (en) * 1993-06-18 1997-11-18 Lucent Technologies Inc. Distributed systems with replicated files
ATE152539T1 (de) 1994-02-08 1997-05-15 Belle Gate Invest Bv Datenauswechselsystem mit tragbaren datenverarbeitungseinheiten
IL111151A (en) 1994-10-03 1998-09-24 News Datacom Ltd Secure access systems
ES2171568T3 (es) 1994-09-09 2002-09-16 Titan Corp Sistema de acceso condicional.
US5838903A (en) * 1995-11-13 1998-11-17 International Business Machines Corporation Configurable password integrity servers for use in a shared resource environment
US5887065A (en) * 1996-03-22 1999-03-23 Activcard System and method for user authentication having clock synchronization
US5774545A (en) * 1996-03-28 1998-06-30 Lucent Technologies Inc. Method and apparatus for enhancing security in and discouraging theft of VLSI and ULSI devices
US5916307A (en) * 1996-06-05 1999-06-29 New Era Of Networks, Inc. Method and structure for balanced queue communication between nodes in a distributed computing application
US6151643A (en) * 1996-06-07 2000-11-21 Networks Associates, Inc. Automatic updating of diverse software products on multiple client computer systems by downloading scanning application to client computer and generating software list on client computer
US5892828A (en) * 1996-10-23 1999-04-06 Novell, Inc. User presence verification with single password across applications
UA74766C2 (en) 1997-03-21 2006-02-15 Canal Plus Sa Television service system and facilities for accessing the system
US7631188B2 (en) * 1997-05-16 2009-12-08 Tvworks, Llc Hierarchical open security information delegation and acquisition
US6144959A (en) * 1997-08-18 2000-11-07 Novell, Inc. System and method for managing user accounts in a communication network
US6014669A (en) * 1997-10-01 2000-01-11 Sun Microsystems, Inc. Highly-available distributed cluster configuration database
US6978017B2 (en) * 1997-10-14 2005-12-20 Entrust Limited Method and system for providing updated encryption key pairs and digital signature key pairs in a public key system
US6490680B1 (en) 1997-12-04 2002-12-03 Tecsec Incorporated Access control and authorization system
JP3217032B2 (ja) 1998-06-25 2001-10-09 インターナショナル・ビジネス・マシーンズ・コーポレーション パスワード認証装置およびその方法
US6351468B1 (en) * 1998-07-02 2002-02-26 Gte Service Corporation Communications protocol in a wireless personal area network
US6732277B1 (en) * 1998-10-08 2004-05-04 Entrust Technologies Ltd. Method and apparatus for dynamically accessing security credentials and related information
US6460051B1 (en) * 1998-10-28 2002-10-01 Starfish Software, Inc. System and methods for synchronizing datasets in a communication environment having high-latency or other adverse characteristics
US6510522B1 (en) * 1998-11-20 2003-01-21 Compaq Information Technologies Group, L.P. Apparatus and method for providing access security to a device coupled upon a two-wire bidirectional bus
US6349338B1 (en) 1999-03-02 2002-02-19 International Business Machines Corporation Trust negotiation in a client/server data processing network using automatic incremental credential disclosure
US6529949B1 (en) 2000-02-07 2003-03-04 Interactual Technologies, Inc. System, method and article of manufacture for remote unlocking of local content located on a client device
JP2000305831A (ja) * 1999-04-22 2000-11-02 Tadamitsu Ryu 分散環境におけるファイル管理の方法、システム。
US6560655B1 (en) * 1999-06-22 2003-05-06 Microsoft Corporation Synchronization manager for standardized synchronization of separate programs
US6490666B1 (en) * 1999-08-20 2002-12-03 Microsoft Corporation Buffering data in a hierarchical data storage environment
JP3945088B2 (ja) 1999-10-07 2007-07-18 カシオ計算機株式会社 データ検索システム、携帯端末装置、及び記録媒体
CA2397740C (en) 2000-01-14 2015-06-30 Catavault Method and system for secure registration, storage, management and linkage of personal authentication credentials data over a network
US7010683B2 (en) * 2000-01-14 2006-03-07 Howlett-Packard Development Company, L.P. Public key validation service
US6993653B1 (en) * 2000-02-22 2006-01-31 International Business Machines Corporation Identity vectoring via chained mapping records
WO2001092993A2 (en) * 2000-06-02 2001-12-06 Vigilant Systems, Inc. System and method for licensing management
US7124203B2 (en) 2000-07-10 2006-10-17 Oracle International Corporation Selective cache flushing in identity and access management systems
US6986039B1 (en) * 2000-07-11 2006-01-10 International Business Machines Corporation Technique for synchronizing security credentials using a trusted authenticating domain
US7363325B2 (en) * 2000-08-10 2008-04-22 Nec Laboratories America, Inc. Synchronizable transactional database method and system
JP4552294B2 (ja) * 2000-08-31 2010-09-29 ソニー株式会社 コンテンツ配信システム、コンテンツ配信方法、および情報処理装置、並びにプログラム提供媒体
CA2324732C (en) 2000-10-30 2004-06-22 Ibm Canada Limited-Ibm Canada Limitee Web-based application for inbound message synchronization
US20020087883A1 (en) * 2000-11-06 2002-07-04 Curt Wohlgemuth Anti-piracy system for remotely served computer applications
US6918113B2 (en) * 2000-11-06 2005-07-12 Endeavors Technology, Inc. Client installation and execution system for streamed applications
US7290133B1 (en) * 2000-11-17 2007-10-30 Entrust Limited Method and apparatus improving efficiency of end-user certificate validation
US7660902B2 (en) * 2000-11-20 2010-02-09 Rsa Security, Inc. Dynamic file access control and management
GB2372412A (en) * 2001-02-20 2002-08-21 Hewlett Packard Co Digital credential monitoring
CN1206595C (zh) 2001-02-28 2005-06-15 黎明网络有限公司 电子商务信息安全处理系统及其方法
US7325064B2 (en) * 2001-07-17 2008-01-29 International Business Machines Corporation Distributed locking protocol with asynchronous token prefetch and relinquish
US7222359B2 (en) * 2001-07-27 2007-05-22 Check Point Software Technologies, Inc. System methodology for automatic local network discovery and firewall reconfiguration for mobile computing devices
US20030163686A1 (en) * 2001-08-06 2003-08-28 Ward Jean Renard System and method for ad hoc management of credentials, trust relationships and trust history in computing environments
US7328344B2 (en) 2001-09-28 2008-02-05 Imagitas, Inc. Authority-neutral certification for multiple-authority PKI environments
US20030084171A1 (en) * 2001-10-29 2003-05-01 Sun Microsystems, Inc., A Delaware Corporation User access control to distributed resources on a data communications network
US20030105957A1 (en) * 2001-12-05 2003-06-05 International Business Machines Corporation Kernel-based security implementation
US7175078B2 (en) * 2002-03-13 2007-02-13 Msystems Ltd. Personal portable storage medium
US20040123138A1 (en) * 2002-12-18 2004-06-24 Eric Le Saint Uniform security token authentication, authorization and accounting framework
US7251732B2 (en) * 2003-06-18 2007-07-31 Microsoft Corporation Password synchronization in a sign-on management system
US8131739B2 (en) * 2003-08-21 2012-03-06 Microsoft Corporation Systems and methods for interfacing application programs with an item-based storage platform
US7647256B2 (en) * 2004-01-29 2010-01-12 Novell, Inc. Techniques for establishing and managing a distributed credential store

Also Published As

Publication number Publication date
JP2005303993A (ja) 2005-10-27
CA2499932C (en) 2014-01-14
CA2499932A1 (en) 2005-10-09
MXPA05002659A (es) 2005-10-12
CN1681240A (zh) 2005-10-12
EP1585286B1 (en) 2017-01-18
RU2005105756A (ru) 2006-08-10
KR101143053B1 (ko) 2012-05-11
EP1585286A3 (en) 2006-07-19
CN1681240B (zh) 2012-03-14
US20050257072A1 (en) 2005-11-17
BRPI0501004A (pt) 2005-11-16
EP1585286A2 (en) 2005-10-12
AU2005200561A1 (en) 2005-10-27
US7984488B2 (en) 2011-07-19
AU2005200561B8 (en) 2010-12-16
AU2005200561B2 (en) 2010-08-26
RU2408069C2 (ru) 2010-12-27

Similar Documents

Publication Publication Date Title
KR101143053B1 (ko) 인증서 로밍 방법 및 시스템
US10445517B1 (en) Protecting data in insecure cloud storage
US10706039B2 (en) Data coherency between trusted DBMS and untrusted DBMS
US9892276B2 (en) Verifiable data destruction in a database
US8261068B1 (en) Systems and methods for selective encryption of operating system metadata for host-based encryption of data at rest on a logical unit
US8416954B1 (en) Systems and methods for accessing storage or network based replicas of encrypted volumes with no additional key management
TW202036419A (zh) 區塊鏈網路中的資料隔離
US8935560B2 (en) System and method of file locking in a network file system federated namespace
US11016949B2 (en) Database system
US20100088528A1 (en) Method and apparatus for tamper-proof wirte-once-read-many computer storage
US20070079126A1 (en) System and method for performing a trust-preserving migration of data objects from a source to a target
JP2005535947A (ja) 異なるタイプのバックエンド・データ・ストアにアクセスするためのシステムおよび方法
CN113498589B (zh) 托管机密管理传输系统和方法
Fowler SQL server forenisc analysis
CN115758447A (zh) 信息安全业务处理及集群生成方法、电子设备和存储介质
KR20010089012A (ko) 인터넷 금고 서비스 시스템 및 그 방법
US20230052663A1 (en) Internal key management for a storage subsystem encrypting data in the cloud
US20240004712A1 (en) Fencing off cluster services based on shared storage access keys
WO2023112272A1 (ja) 管理方法、情報処理装置および管理プログラム
US20230053394A1 (en) Object-Level Encryption
Mustafa et al. Oracle Database Application Security
Carter Encryption
WO2024030240A1 (en) Utilization of detached pointers with microshard data fragmentation
Kurmi et al. Integrity Verification from single to Multi-Cloud Storage using CPDP with HMAC Function
SOWRI et al. Client-End Deduplication on Encrypted Data with Public Auditing in Cloud Storage

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: 20170330

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180328

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190328

Year of fee payment: 8