KR100218623B1 - 네트워크 시스템 서버, 패스워드 동기 제공 방법, 컴퓨터 프로그램 제품 및 패스워드 구성 체크 수행 방법 - Google Patents

네트워크 시스템 서버, 패스워드 동기 제공 방법, 컴퓨터 프로그램 제품 및 패스워드 구성 체크 수행 방법 Download PDF

Info

Publication number
KR100218623B1
KR100218623B1 KR1019960042935A KR19960042935A KR100218623B1 KR 100218623 B1 KR100218623 B1 KR 100218623B1 KR 1019960042935 A KR1019960042935 A KR 1019960042935A KR 19960042935 A KR19960042935 A KR 19960042935A KR 100218623 B1 KR100218623 B1 KR 100218623B1
Authority
KR
South Korea
Prior art keywords
password
data storage
server
storage medium
customers
Prior art date
Application number
KR1019960042935A
Other languages
English (en)
Other versions
KR970029155A (ko
Inventor
조지 로버트 3세 블래크레이
이반 매슈 밀만
웨인 듀브 시글러
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
Priority claimed from US08/557,754 external-priority patent/US5862323A/en
Priority claimed from US08/557,755 external-priority patent/US5832211A/en
Priority claimed from US08/556,724 external-priority patent/US5838903A/en
Application filed by 포만 제프리 엘, 인터내셔널 비지네스 머신즈 코포레이션 filed Critical 포만 제프리 엘
Publication of KR970029155A publication Critical patent/KR970029155A/ko
Application granted granted Critical
Publication of KR100218623B1 publication Critical patent/KR100218623B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • G06F21/46Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Storage Device Security (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 메인 데이타 저장 매체와 다수의 제2데이타 저장 매체 사이에 패스워드 동기를 제공하는 네트워크 시스템 서버를 제공한다. 네트워크 시스템 서버는 보안 서버(security server), 다수의 고객, 패스워드 동기 서버 및 패스워드 저장 매체를 더 포함하여, 패스워드 전송 동기를 다수의 고객들중 하나와 연관된 사용자로부터 각각의 제2데이타 저장 매체에 제공하여, 사용자가 다수의 제2데이타 저장 매체들간에 하나의 고유의 패스워드를 보유할 수 있도록 한다.
보안 서버는 메인 데이타 저장 매체에 접속되고 ; 다수의 고객은 메인 데이타 저장 매체를 액세스하기 위해 보안 서버에 접속되고, 제각기 고유의 변경 가능한 패스워드를 보유하고 ; 패스워드 동기 서버는 보안 서버 및 다수의 제2데이타 저장 매체에 접속되고, 패스워드 동기 서버에 접속되고, 패스워드를 저장한다.
제2데이타 저장 매체들 중 하나는 패스워드 동기 서버를 통해 패스워드를 검색하여, 각각의 고객이 다수의 제2데이타 저장 매체간에 하나의 고유 패스워드를 보유할 수 있도록 한다.
패스워드 전송 및 검색은 제각기 제2데이타 저장 매체의 현재의 패스워드 상태와 관계없는 다수의 제2데이타 저장 매체상에 제공되고 적어도 하나의 제2데이타 저장 매체에 의해 동작된다.
또한, 네트워크 시스템 서버는 다수의 고객들간에 패스워드 무결성을 제공하여, 각각의 고객이 네트워크 서버 시스템과 일치하는 구성의 패스워드를 보유할 수 있도록 한다.
각각의 패스워드 세기 서버는 패스워드 구성 체크에 대해 유일하게 프로그램 가능하다.

Description

네트워크 시스템 서버, 패스워드 동기 제공 방법, 컴퓨터 프로그램 제품 및 패스워드 구성 체크 수행 방법
본 발명은 데이타 처리 시스템에 관한 것으로, 특히 패스워드 동기(password synchronization) 를 이용하여 데이타 처리 시스템간의 자원을 공유하는 것에 관한 것이다.
더욱 특히, 본 발명은 고객/서버 시스템(client/cervert system)내에서 각각의 사용자에 대한 다수의 로컬 자원(apurality of local resources)과 일반 저장 매체간에 패스워드 동기를 제공하는 것에 관한 것이다.
특히, 본 발명은 패스워드 동기를 이용하여 데이타 처리 시스템간의 패스워드를 유지 보수하는 것에 관한 것으로, 더욱 특히, 본 발명은 고객/서버 시스템 내에서 일반 저장 매체와 다수의 사용자간에 패스워드 동기 및 무결성(integrity)을 제공하는 것에 관한 것이다.
컴퓨터 네트워크는 본 기술 분야에 잘 알려져 있으며, 그 크기 및 복잡도가 계속 증가되고 있다. 이러한 증가는 네트워크에 접속되거나 네트워크를 다른 네트워크와 접속하는 다수의 컴퓨터로 인해 더욱 촉진된다. 이것은 컴퓨터가 서로 효율적으로 수행하고, 화일, 어플리케이션( applications), 프린터 및 특수 컴퓨터와 같은 공유 자원을 단순화시키기 위해 수행된다.
불행하게도, 다수의 네트워크들은 제조업체가 다른 컴퓨터를 포함하며, 이것은 컴퓨터가 서로 효율적으로 수행하는 태스크를 복잡하게 만든다.
멀티-벤더(multi-vendor) 네트워크내의 컴퓨터들은 함께 동작하기가 어려운데, 그 이유는 이들 컴퓨터가 공통 데이타 포맷 또는 공통 보안 메카니즘을 사용할 수 없기 때문이다. 또한, 공통 네트워크 명명 방안(common network naming scheme)이 부족하게 되면, 컴퓨터가 정보를 공유하는 범위가 제한된다.
다수의 상기 문제점들을 해결하기 위해, 개방 시스템 기초(Open System Foundations : OSF)그룹이 구성되었으며, 이는 네트워크형 컴퓨터의 그룹을 단일 코히어런트 컴퓨터 엔진(single, cohernet computing engine)으로 변환하는 분산 컴퓨터 환경(Distributed Computing Environment : DCE)을 개발한 것이다.
DCE는 서로 다른 유형의 컴퓨터간의 차이를 마스크(mask)하며, 이로 인해 사용자는 저장 장치, CPU 및 메모리와 같은 광범위한 자원을 사용함으로써 네트워크의 잠재적인 파워(latent power)로 태핑할 수 있는 분산어플리케이션을 개발 및 실행할 수 있다.
이들 분산 어플리케이션의 일부는 동시에 실행할 수 있기 때문에, 이들은 데이타를 순차적으로 수행해야 하는 단일 프로세서 어플리케이션보다 훨씬 강력할 수 있다.
불행하게도, 분산 컴퓨터 환경들은 다수의 사용자들 사이에 공유되어지는 데이타를 어떻게 보호해야하는지와 같은 문제점을 갖고 있다.
따라서, 각각의 컴퓨터 사이에서 동기화되어야 하는 경우에는 상이한 데이타 포맷 및 화일명 기법을 갖는 컴퓨터는 다른 컴퓨터와 함께 동작할 수 있도록 허용되어야 한다.
DCE는 이러한 다수의 문제점들을 해결하고, 이들 벡싱 문제(vexing issues)에 대한 해결 방안을 제공한다.
DCE는 산업기술 분야에 잘 알려져 있으며, 도1에 하나의 예로서 도시되어 있다.
도1은 DCE 파일 서비스(3)에 대해 제공하는 DCE 어플리케이션 프로그래밍 인터페이스(1)의 블럭도이다.
DCE는 각종 유형의 호스트간의 차이를 마스크하는 소프트웨어 계층이다.
도시된 바와 같이, DCE는 호스트 운영체제(5) 및 네트워크 트랜스포트(7)에 대한 네트워크 서비스 상부에 위치한다.
DCE 분산 서비스는 보안(9), 디렉토리(11), 시간(13) 및 원격 프로시듀어 호출(remote procedure call : RPC)(15) 및 스레드 서비스(thread services)(17)를 포함한다.
RPC (15)는 스레드(17)는 DCE가 설치되어지는 모든 시스템상에서 사용 가능한 기본 DCE 서비스이다.
또한, 도1은 DCE 파일 서비스가 분산을 위해 언더라잉(underlying) DCE 서비스를 사용하는 어플리케이션과 얼마나 유사한지를 보여주고 있다.
또한, DCE 디렉토리 서비스는 셀 디렉토리 서비스(cell directory service : CDS)(19) 및 전역 디렉토리 서비스(global directory service : GDS)(21)으로 구성되며, 이 프로그램은 디렉토리 서비스(XDS)어플리케이션 프로그래밍 인터페이스(application programming interface : API)를 호출함으로써 사용한다.
전형적으로, 각각의 사용자가 로컬 호스트상으로 로깅(logging)하기 위해서는 먼저 비밀 패스워드를 사용해서 주체(identity)를 식별해야 한다.
사용자 신원을 증명하는 것과 같이, 로컬 호스트는 사용자 및 로컬 호스트에게 알려진 패스워드만을 사용한다.
사용자가 로컬 호스트상으로 로깅하면, 통상적으로 호스트 자원은 각각의 파일과 연관된 허가(permissions)또는 특권(privileges)에 의해 보호된다. 허가는 사용자가 이 화일을 판독, 기록 또는 실행할 수 있는지의 여부를 정의한다.
호스트만으로 모든 패스워드 및 허가 기능을 관리할 수 있도록 하기 위해, 단일 로컬 호스트상의 사용자 수는 전형적으로 매우 적다.
한편, 분산 컴퓨터 환경은 이러한 환경에서 수백 또는 수천의 호컬 호스트상에 화일을 액세스하는 사용자를 수천명까지 지원할 수 있다.
이러한 환경에서는 모든 DCE 사용자의 보안 정보를 모든 호스트상에 유지시키기가 불가능하므로, DCE는 중앙집중형 데이타베이스로부터 보안 정보를 서비스한다.
데몬(daemons) 및 라이브러리의 분산 세트와 함께 이 데이타베이스는 DCE 보안 서비스를 구성한다.
서버가 보안을 강요하는 경우, 각각의 고객은 사용자의 주체 및 액세스 권리(access rights)를 제공해야 한다.
이들은 먼저 RPC 호출 때 제공되고, 때때로 높은 보안을 유지해야 하는 환경에서 모든 RPC 호출 때 마다 제공된다.
디렉토리, 파일, 프린터 등과 같이 모든 DCE 자원에 대한 액세스는 서버에 의해 제어되어지기 때문에, 인증(authentication) 및 권한부여(authorization)에 관한 서버의 요구에서는 포괄적인 네트워크 보안이 요구된다. 이것은 사용자 어플리케이션 서버뿐만 아니라 CDS와 같은 CDE서버에도 적용된다. 서버는 자원에 대한 액세스를 허가하기 전에 고객의 인증 및 권한을 검사한다.
전형적으로, 보안 서비스 기능은 어플리케이션으로 설계된다. 이것은 보안 서버로부터 인증 정보(authentication information)를 요구하여 이 정보를 다른 서버에게 제공하기 위해 고객이 로컬 보안 루틴을 호출하는 것을 의미한다. 또한, 서버는 인정 정보를 검중하여 권한을 부여하기 위해 보안 루틴을 호출한다. 인증은 사용자의 주체를 입증하는 것을 말한다. 권한은 사용자의 주체를 기초하여 액세스를 제어하는 것을 말한다. 패스워드는 주체의 신원을 확인하여 권한을 획득하는데 사용된다. DCE에서, 등록부(registry)로서 또한 알려진 비밀 서비스는 단일 보안소스로서 수행하고, 사용자 및 그룹에 대한 정보를 관리한다. 이로인해, 사용자를 정의하고 관리하기 위해 컴퍼니에게 단일 장소가 제공된다. 이러한 방안에 대한 한가지 문제점은 패스워드 전송이다. 대부분의 등록부는 사용자 패스워드 암호화된 버전(encrypted version) 만을 저장한다. 그렇지만, 종종, 특히 상이한 벤더(vendors) 로부터 상이한 등록부가 사용되는 시스템에서, 각 등록부의 암호 메카니즘은 다른 등록부의 암호 메카니즘과는 상이하다. 따라서, DCE 메인 등록부의 벤더에 의해 제조된 다른 등록부는 DCE 등록부에 의해 암호화된 패스워드를 사용하지 못한다.
따라서, DCE 등록부로부터 원문 패스워드(plain-text password)를 이 DCE 등록부와 동기화하는 등록부에 안전하게 전송하여, 다른 등록부들이 패스워드를 자신의 포맷으로 암호화할 수 있도록 하는 것이 바람직하다. 이것은 이들 패스워드가 모든 보안등록부에 걸쳐 존재하도록 하기 위해 사용자가 전형적으로 보안 등록부에 대한 패스워드를 다수로 갖지 못하게 하고, 이들 패스워드가 각각의 등록부에 매뉴얼적으로 갱신되도록 하는 요구를 차단한다.
또한, DCE 등록부는 패스워드를 DCE 등록부로부터의 사용자 및 패스워드와 함께 존재하길 원하는 새로운 비-DCE 또는 이질 등록부(foreign registry)에 상주하는 방안을 제공하지 못한다.
이것은 DCE가 전형적으로 암호화된 패스워드만을 저장하고 새로운 등록부가 원문 패스워드를 획득할 수 없으므로, 주어진 사용자 패스워드에 대한 갱신이 발생될 때가지 데이타베이스가 존하도록 하는 것이 필요하다.
따라서, 주어진 사용자의 패스워드에 대한 갱신이 발생될 때까지 패스워드를 새로운 등록부에 전송할 수 없는 종래의 문제점을 해결하는 시스템이 제공되는 것이 바람직하다.
본 발명의 주목적은 이질 등록부가 메인 등록부내에서 보안 서버에 의해 보유된 등록부와 로컬 패스워드 동기를 유지하도록 허용하는 패스워드 동기 기능을 제공하는데 있다.
이러한 기능은 소정 갯수의 이질 등록부가 이들 시스템의 어카운트가 정의될 때마다 자동적으로 해당 시스템 어카운트에 대한 패스워드를 수신하고, 패스워드를 변경하고, 요구시 이들 어카운트에 대한 패스워드를 획득할 수 있도록 한다.
이질 등록부는 패스워드 갱신을 수신하여 이질 등록부가 패스워드 동기를 보유할 수 있도록 하기 위해 시스템서비스를 사용해야 한다.
메인 등록부는 패스워드 변경이 지정된 이질 등록부에 전송하는데 적합한 정보 제어에 대해 중앙 저장 매체로서 수행한다.
본 발명의 하나의 실시예는 메인 등록부, 전역 등록부 또는 메인 데이타 저장 매체와, 다수의 이질 등록부, 제2 등록부 또는 제2데이타 저장 매체간에 패스워드 동기를 제공하는 네트워크 시스템 서버에 관한 것이다.
또한, 네트워크 시스템 서버는 보안 서버, 다수의 고객, 패스워드 동기 서버(password synchronization server) 및 패스워드 저장 매체를 포함하여, 다수의 고객들중 하나와 연관된 사용자로부터 제2데이타 저장 매체 각각에 패스워드 전송 동기를 제공하여 사용자가 다수의 제2데이타 저장매체간에 하나의 고유 패스워드(a single, unique password)를 보유할 수 있도록 한다.
보안 서버는 메인 데이타 저장 매체와 접속된다.
다수의 고객은 메인 데이타 저장 매체를 액세스하기 위해 보안 서버와 접속되고, 제각기 고유의 변경 가능한 패스워드를 보유한다.
패스워드 동기 서버는 보안 서버 및 다수의 제2데이타 저장 매체에 접속된다.
패스워드 저장 매체는 패스워드 동기 서버에 접속되고 패스워드를 저장한다.
전형적으로, 메인 데이타 저장 매체는 분산 컴퓨터 환경 내에서 관련 영구 데이타베이스 또는 장기 메모리(long term memory) 저장 매체를 갖는 메인 등록부이고, 다수의 제2데이타 저장 매체 각각은 관련 제2 영구 데이타베이스 도는 장기 메모리 저장매체를 갖는 이질등록부 서버이다.
제2데이타 저장 매체들중 임의의 하나는 패스워드 동기 서버를 통해 패스워드를 검색해서, 각각의 고객이 다수의 제2데이타 저장 매체간에 하나의 고유 패스워드를 보유할 수 있도록 한다.
패스워드 전송은 제2데이타 저장 매체의 현재 패스워드 상태와는 관계없이 다수의 제2데이타 저장 매체상으로 제공된다.
패스워드 검색은 로컬 데이타 저장 매체의 현재의 패스워드 상태와는 관계없이 다수의 제2데이타 저장 매체중 적어도 하나에 의해 동작된다.
또한, 메인 데이타 저장 매체는 사용자 패스워드를 포함하는 다수의 각각의 고객에 대한 정보 어카운트, 다수의 각각의 제2데이타 저장 매체를 다수의 각각의 고객과 바인딩하는 패스워드 동기 서버에 대한 정보 어카운트 및 각각의 제2데이타 저장 매체에 대한 정보 어카운트를 보유한다.
보안 서버는 클리어-텍스트 패스워드(clear-text password)를 패스워드 동기 서버에 제공하여, 이 패스워드가 다수의 제2데이타 저장 매체에 전송되도록 한다.
또한, 보안 서버는 클리어-텍스트 패스워드를 암호화하여 이 패스워드가 정보 어카운트에 저장되도록 하는 수단을 포함한다.
패스워드 동기 서버에 접속하는 임시 메모리 및 재시도 데이타 저장 매체의 재시도 큐가 또한 제공된다.
임시 메모리 및 재시도 데이타 저장 매체는 임시 이질 등록부(temporary)또는 패스워드 동기 서버의 동작이 실패(outage)한 경우 패스워드 동기 서버가 전송 재시도 및 검색 재시도를 수행할 수 있도록 제각기 전송 재시도 및 검색 재시도를 지원하는 정보를 포함한다.
본 발명은 다수의 고객에 대한 패스워드 구성 체크(password composition checking)를 제공하는 네트워크 시스템 서버를 개시한다.
네트워크 시스템 서버는 메인 데이타 저장 매체와, 메인 데이타 저장 매체 및 다수의 고객에 접속되는 보안 서버와, 보안 서버에 접속되는 패스워드 동기 서버와, 제각기 패스워드 동기 서버에 접속되고 다수의 고객간에 패스워드 무결성을 제공하는 다수의 패스워드 세기 서버를 포함해서, 각각의 고객이 네트워크 서버 시스템과 일치하는 구성의 패스워드를 보유할 수 있도록 한다.
각각의 패스워드 세기 서버는 패스워드 구성 체크를 수행하는 것에 대해서만 유일하게 프로그램 가능하다.
본 발명의 상기 목적 및 다른 목적, 특징 및 장점들은 이하의 상세한 설명을 참조하면 명백하게 이해될 것이다.
본 발명의 신규한 특징들은 첨부된 특허 청구범위에 정의되어 있다.
그러나, 본 발명의 목적과, 다른 목적, 장점들 및 바람직한 사용 방식은 이하의 상세한 실시예의 설명을 바람직한 첨부된 도면과 함께 참조하면 명백하게 이해될 것이다.
제1도는 종래 기술의 DCE 보안 서버의 블럭도.
제2도는 본 발명에 따른 분산 데이타 처리 시스템을 도시한 도면.
제3도는 제2도의 분산처리 시스템에서 사용하는 DCE 동기 및 보안 시스템의 예를 도시한 도면.
제4도는 패스워드 동기 검색 함수를 도시한 도면.
제5도는 패스워드 동기 전송 함수를 도시한 도면.
제6도는 사용자의 특정 요구에 따라 고객에게 맞춰질 수 있는 패스워드 세기 서버를 지원하기 위해 패스워드 동기를 확장하는 단계를 도시한 도면.
제7도는 보안 서버로부터의 사용자 패스워드 프로세싱의 흐름도.
제8도는 패스워드 동기 서버 전송 큐 스레드를 도시한 도면.
제9도는 본 발명에 따른 패스워드 동기 서버 재시도 큐 스레드의 흐름도.
* 도면의 주요부분에 대한 부호의 설명
102 : DCE 등록부 104 : DCE 보안 서버
106 : 패스워드 동기 서버 108 : 이질등록부
110 : 패스워드 세기 서버 112 : 패스워드 저장 매체
도2를 참조하면, 본 발명의 방법 및 시스템을 구현하는데 사용되는 분산 데이타 처리 시스템(8) 또는 분산 컴퓨터 환경 (DCE) 시스템이 도시되어 있다.
도시된 바와 같이, 분산 데이타 처리 시스템(8)은 LAN(Local Area Networks)(10, 32)과 같은 다수의 로컬 자원 네트워크를 포함하며, 이들 각각은 다수의 개별 컴퓨터(12, 30)을 제각기 포함한다.
물론, 본 기술 분야에 통상의 지식을 가진 자라면, 호스트 프로세서와 접속되는 다수의 지능 워크스테이션(a plurality of Intellingent Work Station : IWS)은 각각의 네트워크에 대해 사용될 수도 있음을 이해할 것이다.
데이타 처리 시스템에서와 같이, 각각의 개별 컴퓨터는 저장 장치(14)및/또는 프린터/출력 장치(16)에 접속될 수 있다.
하나 이상의 저장 장치(14)는 본 발명의 방법에 따라 각종 데이타 객체 또는 문서(documents)를 저장하는데 사용되며, 이들 객체 또는 문서는 본 발명의 방법 및 시스템에 따라 분산 데이타 처리 시스템(8)의 사용자에 의해 주기적으로 액세스 및 프로세싱 될 수 있다.
종래 기술에서 잘 알려진 방식으로, 각각의 데이타 처리 프로세듀어 또는 문서는 지원 관리자(Resource Manager) 또는 라이브러리 서비스(Library service)와 연관되는 저장 장치(14)에 저장될 수 있으며, 이 장치(14)는 이와 연관된 모든 자원 객체를 보유 및 갱신한다.
도2를 참조하며, 분산 데이타 처리 시스템(8)은 메인 프레임 컴퓨터(18)와 같은 다수의 메인 프레임 컴퓨터를 또한 포함할 수 있으며, 이 컴퓨터는 통신 링크(22)에 의해 LAN과 바람직하게 접속될 수 있다.
또한, 메인 프레임 컴퓨터(18)는 LAN(10)에 대해 원격 저장 매체로서 수행하는 저장 장치(20)와 접속될 수 있다.
제2 LAN(32)은 통신 제어기(26) 및 게이트웨이 서버(28)에 대한 통신 링크(34)를 거쳐 LAN(10)과 접속될 수 있다.
게이트 웨이 서버(28)는 LAN(32)을 LAN(10)과 링크하는 개별 컴퓨터 또는 지능 워크스테이션(IWS)이 바람직하다.
LAN(32) 및 LAN(10)에 관해 전술한 바와 같이, 다수의 데이타 처리 프로시듀어 또는 문서는 저장 장치(20)내에 저장되고, 메인프레임 컴퓨터(18)에 의해 제어되고, 데이타 처리 프로세듀어 및 문서용 자원 관리자 또는 라이브러리 서비스와 같이 저장된다.
물론 본 기술 분야에 통상의 지식을 가진 자라면, 메인 프레임 컴퓨터(18)는 LAN(10)과 지리적으로 매추 먼거리에 위치될 수 있고, 이와 유사하게 LAN(10)도 LAN(32)과 실질적으로 떨어져 위치될 수 있다.
즉, LAN(32)은 캘리포니아에 위치되고, LAN(10)은 텍사스에 위치되고, 메인 프레임 컴퓨터(18)는 뉴욕에 위치될 수 있다.
전술한 설명을 참조하면 이해하듯이, 분산 데이타 처리 네트워크(8) 일부내의 사용자는 데이타 처리 네트워크(8)의 다른 부분에 저장될 데이타 객체 또는 문서를 액세스할 수 있도록 하는 것이 바람직하다.
데이타 처리 네트워크(8)내에 저장된 문서가 순서적으로 유지되도록 하기 위해, 한가지 방안의 액세스 제어 프로그램을 구현하는 것이 종종 바람직할 수 있다.
일반적으로, 이것은 각각의 사용자가 자원 관리자 또는 라이브러리 서비스내의 문서에 대해 충족할 수 있는 권리 수준과 더불어, 각각의 개별 데이타 객체 또는 문서를 액세스하도록 허가된 이들 사용자를 리스트 함으로써 달성된다.
이러한 방식으로, 데이타 처리 프로시듀어 및 문서는 분산 데이타 처리 시스템(8)내에 등록된 사용자에 의해 액세스되고, 다른 사용자가 액세스하는 것을 방지하기 위해 주기적으로 락(lock)될 수 있다.
전형적으로, 이것은 액세스를 제어하고 보안을 위해 변경을 수행하는 시스템 관리자이다.
개방 시스템 기초(OSF) 분산 컴퓨터 환경 (DCE) 1.1은 비-DCE등록부가 이들 등록부에 대해 고유한 속성을 DCE 등록부내에 저장하도록 하는 확장 등록부 속성(Extended Regigtry Attributes : ERA)이라 일컬어지는 설비를 제공한다.
이것은 등록부가 DCE 등록부의 여부에 관계없이, DCE 등록부 서비스가 엔터프라이즈의 모든 사용자와 연관된 보안 정보에 대한 중앙집중형 저장 매체로서 사용될 수 있도록 한다.
이하 제공되는 실시예는 DCE 시스템으로서 동작하는 시스템으로서 기술될 것이지만, 본 기술 분야에 통상의 지식을 가진 자라면, 본 발명은 DCE 장치로만 한정되지 않고 이질 등록부 서버 또는 원격 등록부 서버를 수용하는 메인 또는 전역 시스템을 사용하는 모든 분산 LAN에도 적용될 수 있음을 이해하여야 한다.
따라서, DCE는 적절하게 채택된 정의(definition)로 사용될 것이지만, 이러한 정의는 본 발명에서 메인 시스템 서버에 접속된 다수의 비-공통 원격 서버가 구비된 확장 LAN 또는 WAN을 의미하는 것까지 확장되어, 하나 또는 다수의 사용자가 특정 로컬 호스트 서버로부터 비-공통 원격 서버에 걸쳐 패스워드 동기를 보유할 수 있도록 한다.
도2의 DCE 시스템은 패스워드 세기 검사 서버(password strength checking server)를 설치하기 위해 엔터프라이즈용 메카니즘을 포함한다.
DCE 등록부가 사용자 어카운트 생성(user account creation)을 포함하는 패스워드를 갱신하기 위한 요구를 수신할 때마다, 등록부는 패스워드 검사가 이네이블되는지를 검출하기 위해 체크한다.
패스워드 검사가 이네이블되면, 등록부는 사용자 이름 및 제안된 새로운 패스워드를 포함하는 레코드를 패스워드 세기 서버에 제공한다.
그러면, DCE의 RPC중 하나를 사용함으로써 네트워크 상에서는 데이타가 암호화되는 방식으로 제공되지만, 원문 패스워드는 패스워드 세기 서버에 의해 암호 해독될 수 있다.
전형적으로, 패스워드 세기 서버는 패스워드를 쉽게 추정할 수 없도록 고객에 의해 결정된 규칙을 배경으로 하여 패스워드를 체크한다.
이러한 규칙은 본 기술 분야에 잘 알려져 있으며, 이를 구현하는 기술 분야의 숙련된 자에게 위임된다.
그후, 패스워드 세기 서버는 등록부 서비스에 대해 다시 응답하여, 패스워드 변경이 허용가능한지의 여부를 나타낸다.
도2의 분산 처리 시스템에서 사용하는 DCE 동기 및 보안 시스템의 일예는 도3에 도시되어 있다.
원문 패스워드를 DCE와 동기화되고자 하는 다른 보안 등록부에 제공할 경우, 원문-패스워드를 이들 등록부에 확실하게 전달하는 신규한 패스워드 동기 서버가 제공된다.
적절한 DCE 등록부 및 신규한 패스워드 동기 서버를 갖는 DCE 시스템의 모델은 도3에 도시되어 있다.
도3에서, DCE 등록부(102)는 DCE 보안 서버(104)와 접속되고, 이 보안 서버(104)는 패스워드 동기 서버(106) 및 각종 이질 등록부 서버 X-Z(108)와 접속된다.
전형적으로, 각각의 이질 등록부 서버(108)는 로컬 서버와, 로컬 서버에 대한 로컬 패스워드와 같은 로컬 정보를 보유하는데 사용되는 제2데이타 저장 매체를 포함한다.
또한, 패스워드 동기 서버(106)는 각종 로컬 패스워드 세기 서버 X-Z(110) 뿐만 아니라 패스워드 저장 매체(112)와 접속되며, 패스워드 저장 매체(112)는 사용자 이름 및 이와 연관된 패스워드를 포함한다.
또한, DCE 보안 서버(104)는 각각의 고객 W-Y(114)과 접속된다.
DCE 등록부(102)는 각각의 고객 W-Y에 대한 어카운드를 가지며, 이 모델에서 고객 Y만을 도시하고 있지만, DCE 등록부내의 모든 고객에 대한 어카운트를 갖는다.
패스워드 관리 바인딩(password management binding)(, 이질 등록부, 원문 패스워드 및 패스워드 세기와 같은 각종 ERA는 각각의 고객 Y과 연관된다.
상기 패스워드 관리 바인딩은 보안 서버가 이 고객에 대한 패스워드 동기 서버 또는 패스워드 세기 서버를 위치 지정하게 하고 ; 이질 등록부는 이 고객에 대한 패스워드 전달 신호를 수신하도록 부여된 이질 등록부를 열거(enumerate)하고 ; 원문 패스워드는 이질 등록부가 패스워드 동기 서버로부터의 원문 패스워드를 위치지정 및 요구할 수 있도록 하고, 패스워드 세기는 이 고객에 대한 패스워드 세기 서버를 식별한다.
더욱이, 각각의 이질 등록부(108)에 대한 어카운트는 DCE 등록부(102)내에 또한 저장된다.
도3의 예에서는 이질 등록부 Z에 대한 어카운트만 도시되어 있지만, DCE 등록부(102)내에는 모든 이질 등록부 X-Z 또는 특정 고객이 원하는 소정 갯수의 등록부의 어카운트가 제공될 수도 있다.
각각의 이질 등록부에 대한 어카운트는 이질 등록부 패스워드 전송 바인딩을 포함하며, 이 바인딩은 패스워드 동기 서버가 패스워드 전송을 위한 이질 등록부를 위치 지정할 수 있도록 한다.
DCE 등록부(102)내에는 각각의 패스워드 세기 서버(110)에 대한 어카운트도 또한 제공된다.
한편, 도3에는 패스워드 세기 서버(110)가 단지 하나로만 도시되어 있지만, 패스워드 세기 서버 X-Z에 대한 어카운트가 포함될 수 있다.
이러한 각각의 어카운트는 제2 패스워드 관리 바인딩 ERA를 포함하며, 이 ERA는 주어진 고객에 대한 패스워드 세기 서버를 위치지정하기 위해 패스워드 동기 서버에 의해 사용된다.
마지막으로, DCE 등록부는 패스워드 동기 서버(106)에 대한 어카운트 및 3개의 ERA를 포함한다.
이들 3개의 ERA는 패스워드 전송 이네이블, 패스워드 전송 재시도 인터벌 및 이질 등록부를 포함한다.
이들 ERA 각각은 이하 더욱 상세하게 설명될 것이다.
DCE 등록부와 이질 등록부간의 패스워드 동기는 다음과 같이 2개의 요건을 충족시키는 방안이 요구된다.
1) 제1요건은 DCE 등록부가 사용자 정의에 의해 구축(populate)된후, 요구시, 패스워드가 변경될 때 이를 대기하지 않고, 네크워크내에서 구성된 이질 등록부가 선택된 사용자에 대한 패스워드를 획득할 수 있도록 하는 방안을 제공하는 것이다.
이러한 요건이 충족되면, 이질 등록부는 로컬 등록부내의 초기 사용자/패스워드 정의를 발생할 수 있다.
이러한 기능은 본 명세서에서 패스워드 동기풀(password synchronization pull) 함수로 칭한다.
2) 제2요건은 이들 패스워드가 DCE 등록부에서 변경될 경우, 이질 등록부가 선택된 사용자에 대한 패스워드 변경을 자동적으로 수신하는 방안을 제공하는 것이다.
이러한 기능은 본 명세서에서 패스워드 동기 푸쉬(password synchronization push) 함수로 칭한다.
도4에는 DCE 등록부로부터의 사용자 및 패스워드를 이용하여 자신의 데이타베이스를 구축하길 원하는 이질 등록부를 서비스하는 오퍼레이션 세트, 즉, 패스워드 동기 풀 함수가 도시되어 있다.
이러한 함수를 갖지 않으면, DCE 등록부 자체는 암호화된 패스워드만을 저장하기 때문에, 주어진 사용자 패스워드에 대한 갱신이 발생되어 이러한 갱신이 도5에 도시된 패스워드 동기 푸쉬 함수를 통해 새로운 등록부에 전달될 때까지, 새로운 등록부는 데이타 패스워드가 구축되도록 요구되는 원문 패스워드를 획득할 수 없다.
도4의 흐름도는 이러한 문제점의 해결 방안을 도시한 것으로, 이는 검색 오퍼레이션에서 사용되는 엘리먼트에 관해 도시된 도3A의 패스워드 동기 서버를 변경해서, 사용자 이름 및 원문 패스워드를 확실하게 저장하고 이들 검색에 대한 요구에 응답하도록 하는 방안이다.
이 함수의 요건은 제각기 영향을 받는 사용자에 대한 새로운 데이타 항목이 DCE 등록부내에 존재하도록 요구된다.
이러한 데이타 항목은 Plain-text_PASSWORD로 명명되며, DCE에서 조회 트리거(query trigger)로 칭하는 DCE 확장 등록부 속성이다.
차후에 사용자에 대한 패스워드를 반환하는 패스워드 동기 서버를 조회하는 경우, 이질 등록부는 이 ERA 결과를 판독한다.
DCE는 패스워드 정보를 사용자의 어카운트와 연관시키기 위해 ERA를 사용하지만, 사용자의 패스워드를 사용자의 어카운트와 연관시키는 임의의 메카니즘 또는 보안 서버도 또한 사용될 수 있음에 유의하여야 한다.
예를 들어, 보안 서버는 필드를 가질 수 있거나 혹은 이와 연관된 포인터를 사용할 수 있다.
도4에 도시된 동작 설명은 다음과 같다.
블럭(410)에서 패스워드 갱신 요구는 DCE 보안 서버(104)로 제공된다.
이 경우, 고객 W은 고객 W의 어카운트에 대한 어카운트 생성 또는 패스워드 변경을 요구한다.
블럭(412)에서, 요구시, DCE 보안 서버(104)는 고객 Y의 어카운트와 연관된 패스워드 관리 바인딩 ERA내에 포함된 요구된 라우팅 정보를 검색하고, 검색된 정보를 패스워드 동기 서버(106)에 위치 지정한다.
그후, 블럭(414)에서 보안 서버(104)는 클리어 텍스트 패스워드 및 고객 Y 주체를 패스워드 동기 서버(106)에 제공한다.
그후, 블럭(416)에서, 패스워드 동기 서버(106)는 이 정보를 암호화해서 패스워드 저장 매체(112)에 저장한다.
그후, 블럭(418)에서, 패스워드 동기 서버(106)는 완료메시지를 보안 서버(104)에 반환한다.
블럭(420)에서 보안 서버(104)는 패스워드를 암호화하고, 이 암호화된 패스워드를 DCE 등록부(102)내의 고객 W 어카운트에 저장한다.
그후, 블럭(422)에서, 보안 서버는 성공 메시지를 고객 W에게 반환한다.
상기 단계를 완료한 후, 블럭(424)에 도시된 바와 같이, 이질 등록부 Z(108)는 고객 W의 어카운트와 연관된 원문 패스워드 ERA 값을 검색하기 위해, 보안 서버를 요구하여 고객 W의 패스워드의 복사를 요구할 수 있다.
블럭(426)에서, 보안 서버는 고객 W의 어카운트로부터 원문 패스워드 ERA의 값을 검색한다.
그후, 블럭(428)에서, 보안 서버는 검색된 원문 패스워드 ERA의 값을 이질 등록부에 반환한다.
블럭(430)에서, 이질 등록부 Z는 이질 등록부 Z의 이질 등록부 패스워드 전송 바인딩 ERA의 값을 반환하기 위해 보안 서버를 요구한다.
블럭(432)에서, 보안 서버는 이진 등록부 패스워드 전송 바인딩 ERA의 값을 검색하고, 블럭(434)에서 검색된 ERA의 값을 이질 등록부 Z에 반환한다.
그후, 블럭(436)에서 이질 등록부 Z는 블럭(428)에서 반환된 값을 라우팅 정보로서 사용하여 패스워드 동기 서버(106)를 위치지정하고, 블럭(434)에서 반환된 값을 사용하여 와이어상에 존재하면서 고객 W의 패스워드를 보호하는데 사용되거나 혹은 차후 단계에서 발생될 패스워드 동기 서버와 이질 등록부 Z 사이에 전송될 암호화 유형을 지정한다.
또한, 블럭(438)에서 이질 등록부 Z는 패스워드 동기 서버(106)로부터 고객 W의 패스워드를 요구한다.
블럭(440)에서, 패스워드 동기 서버(106)는 보안 서버(104)를 요구하여, 고객 W의 이질 등록부 ERA의 값을 반환한다.
블럭(442)에서 보안 서버(104)는 DCE 등록부(102)로부터의 값을 검색하고, 블럭(444)에서 그 검색된 값을 패스워드 동기 서버에 반환한다.
블럭(446)에서, 패스워드 동기 서버(104)는 블럭(444)으로부터 반환된 값의 내용을 검사해서, 이질 등록부 Z인 요구자가 이들 값중 하나와 동일한지의 여부를 판정한다.
이것은 액세스 제어 검사(access control check)이다.
상기 판정된 값이 동일하지 않으면, 블럭(450)에서 패스워드 동기 서버는 에러 메시지를 이질 등록부 Z에 반환한다.
그렇지 않고 판정된 값이 동일하면, 블럭(448)에서 패스워드 동기 서버는 패스워드 저장 매체로부터 고객 W의 패스워드를 검색하고, 검색된 패스워드를 암호 해독한다.
그후, 블럭(452)에서 패스워드 동기 서버는 고객 W의 패스워드를 이질 등록부 Z에 반환한다.
도5에는 선택된 사용자(어카운트)에 대한 패스워드 변경을 이 데이타를 필요로하는 하나 이상의 이질 등록부에 자동적으로 제공하는 오퍼레이션의 세트인 패스워드 동기 푸쉬 함수가 도시되어 있다.
이러한 함수를 갖지 않고, 해당 어카운트에 대한 패스워드가 변경된 경우, DCE 등록부에 정의된 어카운트에 대한 패스워드 값과 이질 등록부에 정의된 값이 서로 다를 수 있다.
도5에 도시된 오퍼레이션의 설명은 이하 기술되며, 이것은 도3을 기술한 도 3B의 서버로 또한 나타낼 수 있는데, 다만 이들 엘리먼트는 동기 푸쉬 오퍼레이션에서만 사용된다.
블럭(510)에서, 고객 Y는 고객 Y의 어카운트에 대한 어카운트 생성 또는 패스워드 변경을 요구한다.
블럭(512)에서, 보안 서버는 고객 Y의 어카운트와 연관된 패스워드 관리 바인딩 ERA내에 포함된 라우팅 정보를 검색하고, 검색된 정보를 사용해서 패스워드 동기 서버를 위치 지정하다.
그후, 블럭(514)에서, 보안 서버는 클리어-텍스트 패스워드 및 고객 Y의 주체를 패스워드 동기 서버에 전송한다.
그후, 블럭(516)에서 패스워드 동기 서버는 DCE 보안 서버에게 고객 Y어카운트로부터 고객 Y에 대한 이질 등록부 ERA 뿐만 아니라 패스워드 동기 서버 및 이질 등록부 Z의 어카운트에 대한 모든 ERA가 구비된 ERA 정보를 제공하도록 요구한다.
블럭(518)에서, 보안 서버는 DCE 등록부(102)의 요구된 ERA 정보를 검색한다.
블럭(520)에서, 보안 서버는 ERA 정보를 패스워드 정보 서버에 반환하고, 이어서 블럭(522)에서 고객 Y의 이질 등록부 ERA 내용이 패스워드 동기 서버의 이질 등록부 ERA내에 또한 포함된 것으로 인정(validate)한다.
이것은 액세스 제어특성을 갖는데, 그 이유는 고객 Y에 대한 패스워드 갱신을 수신하는데 어떤 이질 등록부가 자격이 있는지를 결정하기 위해 부여받지 않은 이질 등록부에게 전송될 고객 Y의 패스워드가 변경되지 못하게 하기 때문이다.
이것은 표준 OSF DCE 장치의 사용을 통해 이러한 결정을 구현하도록 부여된 시스템 관리자만이 패스워드 동기 서버 어카운트와 연관된 이질 등록부 ERA의 내용을 정의하는데 허용되는 경우에 유효한 액세스 제어 검사이다.
블럭(524)에서, 패스워드 동기 서버는 고객 Y의 이질 등록부 ERA의 내용을 사용해서, DCE 등록부(102)의 적절한 DCE 등록부 어카운트로부터 이질 등록부 패스워드 전송 바인딩 ERA를 요구한다.
예를 들어, 이것은 이질 등록부 Z의 어카운트로부터 검색된다.
블럭(526)에서 패스워드 동기 서버는 이질 등록부의 패스워드 전송 바인딩 ERA의 내용을 사용해서 이질 등록부/서버 Z를 위치 지정한다.
각각의 서버 X-Z에 대한 이질 등록부의 위치지정이 완료되면, 블럭(528)에서 패스워드 동기 서버는 완료 메시지를 보안 서버(104)에 반환한다.
블럭(530)에서, 보안 서버(104)는 패스워드를 암호화하고, 이를 고객 Y의 어카운트에 저장한다.
그후, 블럭(532)에서 보안 서버는완료 메시지를 고객 Y에게 반환한다.
블럭(534)에서, 패스워드 전송 이네이블 ERA이 이네이블된 것으로 가리키면, 블럭(536)에서 패스워드 동기 서버는 패스워드를 이질 등록부/서버 Z에 전송한다.
그렇지 않으면, 시스템은 복귀한다.
그후, 블럭(538)에서 네트워크의 고장(down) 여부에 따라 이질 등록부 Z는 동기 완료 상태, 실패 상태(failure status) 또는 실패 신호(fails)를 반환한다.
만일 신호가 완료상태이면, 시스템은 복귀한다 ; 그렇지 않으면, 시스템은 블럭(540)으로 진행한다.
블럭(540)에서, 패스워드 동기 서버가 응답을 대기하여 실패 상태 또는 타임 아웃을 수신하면, 패스워드 동기 서버는 패스워드 전송 재시도 인터벌 ERA로 정의된 시간 구간(time interval)이 종료된 후에 차후 재시도에 대한 시도를 다시 큐잉(re-queue)한 다음 복귀한다.
본래 OSF DCE는 다수의 패스워드 세기 서버를 지원하기 위해 제공된다.
DCE 등록부가 주어진 사용자에 대한 패스워드를 정의하거나 혹은 변경하는 요구를 수신하는 경우, DCE 등록부는 요구중인 사용자와 연관된 패스워드 관리 바인딩 ERA를 사용하여 패스워드 세기 서버를 위치지정하고, 사용자 주체 및 원문 패스워드를 이 패스워드 세기 서버에 전송하고, 이 서버로부터 긍정 또는 부정 메시지를 대기한다.
이 패스워드 세기 서버가 DCE를 지원하는 임의의 플랫폼상의 여러 벤더에 의해 구현될 때, 패스워드 동기 함수 설계에서는 DCE 보안 서버에 대한 임의의 변경을 필요로 하지 않는다.
본 발명은 이들 벤더가 보안 서버 구현에 대한 변경을 임의적으로 수행하지 못하도록 하므로, 따라서 본 발명은 보안 서버와 존재할 것으로 여겨지는 패스워드 세기 서버 사이에서 인터페이스 동작을 유지해야 한다.
패스워드 동기 서버 설계에서는 이러한 인터페이스를 이용하여, 패스워드 세기 서버의 위치에서 자체적으로 대체되지만 패스워드 세기 서버가 존재하는 것으로 여기는 보안 서버의 믿음이 교란되지 않도록 한다.
이것은 원문 패스워드를 휙득하여 패스워드 동기 서버가 획득된 원문 패스워드를 이질 등록부에 전송할 수 있도록 하는 효율적인 방안이지만, 패스워드 변경을 전송하고 패스워드 세기 체크를 이행하고자 하는 경우 동일 어카운트에 대해서 문제가 야기될 수 있다.
이러한 문제가 야기되는 원인은 고유의 OSF 보안 서버에 의해 인식될 주어진 어카운트에 대해 단지 하나의 패스워드 관리 바인딩 ERA만이 존재하기 때문이다(전술한 바와 같이, 본 발명은 보안 서버 동작을 변경하지 못한다).
따라서, 이러한 하나의 인터페이스는 패스워드 동기 및 패스워드 세기 체크의 기능을 모두 지원해야 한다.
제각기 자신의 구성 규칙(composition rules)의 고객-맞춤 세트(customer-tailored set)가 구비된 다중 패스워드 세기 서버에 대한 지원을 유지하는 것이 필요치 않으면, 이러한 제한은 문제를 크게 일으키지 않는다.
이 경우, 패스워드 동기 서버(106)는 자신의 프로세싱 단계내에서 전송 및 세기 체크를 모두 수행할 수 있다.
이러한 경우가 아니면, 다른 방안이 선택되어야 한다.
따라서, 고객-맞춤 패스워드 세기 서버를 지원하기 위해, 패스워드 세기 서버(110)는 패스워드 동기 서버(106)와 인터페이스 하는데 추가된다.
패스워드 세기 서버(110)가 추가되면, 패스워드 동기 서버는 DCE등록부(102)로부터 수신된 패스위드 변경 요구를 패스위드 세기서버(110)에 라우팅할 수 있다.
그러면, 패스워드 동기 서버는 패스워드 유효 또는 무효를 나타내는 패스워드 세기 서버의 응답을 수신하고, 그 수신된 응답을 DCE 등록부(102)에 반환한다.
또한, 2개의 새로운 데이타 항목이 요구된다.
첫 번째 데이타 항목은 DCE 등록부의 각각의 사용자 레코드에 대한 패스워드 세기 서버의 이름을 포함하기 위해 생성되어지는 패스워드 세기 ERA이며, 이 패스워드 세기 서버는 주어진 사용자에 대한 패스워드의 구성을 체크한다.
또한, DCE 등록부내의 각각의 패스워드 세기 서버 레코드에 대한 새로운 데이타 항목인 제2 패스워드 관리 바인딩 ERA가 요구된다.
제2데이타 항목은 패스워드 동기 서버가 주어진 사용자에 대한 패스워드 세기 서버를 위치 지정하도록 하는 정보를 포함한다.
이질 등록부간에 패스워드 동기를 제공하면서 패스워드 세기 서버를 실행하기 위해, 시스템은 도6에 도시된 단계들을 수행한다.
도6은 사용자의 특정 요구에 따른 고객-맞춤일 수 있는 패스워드 세기 서버를 지원하기 위해 패스워드 동기를 확장하는 단계를 도시한 것이다.
또한, 도3C는 세기 체크 동안 사용된 엘리먼트에 대한 도3의 상대도이다.
패스워드 세기 서버 지원의 고유의 OSF 구현에서와 같이, 다른 사용자가 다른 패스워드 세기 서버를 사용할 수 있도록 구성될 수 있지만, 단지 하나의 패스워드 세기 서버만이 주어진 사용자와 연관될 수도 있다.
블럭(610)에서, 고객 W(114)은 고객 W의 어카운트에 대한 어카운트 생성 또는 패스워드 변경을 요구하는데, 이것은 도5의 블럭(510)의 단계와 유사하다.
그후, 블럭(612)에서 보안 서버(104)는 고객 Y의 어카운트와 연관된 패스워드 관리 바인딩 ERA내에 포함된 라우팅 정보를 검색하고, 검색된 정보를 사용하여 패스워드 동기 서버(106)를 위치 지정하는데, 이것은 도5의 블럭(512)의 단계와 유사하다.
블럭(614)에서 보안 서버는 클리어 텍스트 패스워드 및 고객 Y의 주체를 패스워드 동기 서버(106)에 전송한다.
블럭(616)에서 패스워드 동기 서버는 보안 서버에게 고객 Y의 어카운트와 연관된 패스워드 세기 ERA의 값을 반환하도록 요구하고, 이 값을 이용해서 패스워드 세기 서버 X(110)에 대한 어카운트를 식별한다.
그후, 블럭(618)에서 패스워드 동기 서버는 보안 서버에게 이 어카운트와 연관된 제2 패스워드 관리 바인딩 ERA의 값을 반환하도록 요구한다.
블럭(620)에서 보안 서버(104)는 요구된 ERA의 값을 검색하고, 블럭(622)에서 검색된 값을 패스워드 동기 서버에 반환한다.
블럭(624)에서 패스워드 동기 서버는 제2 패스워드 관리 바인딩 정보를 라우팅 정보로서 사용해서 패스워드 세기 서버 X(110)를 위치지정하고, 이 패스워드 세기 서버 X(110)에게 세기 체크를 수행하도록 요구한다.
블럭(626)에서, 패스워드 세기 서버 X(110)는 세기 체크를 수행하고, 이어서 완료 신호 또는 에러 신호를 패스워드 동기 서버에 반환한다.
그후, 블럭(628)에서 패스워드 동기 서버는 블럭(626)의 완료 또는 에러 메시지를 보안 서버(104)에 반환한다.
만일 에러 메시지를 수신하면, 블럭(632)에서 보안 서버는 에러 메시지를 고객 W(114)에게 반환한다.
만일 완료 메시지를 수신하면, 블럭(630)에서 보안 서버는 패스워드를 암호화하고, 암호화된 패스워드를 고객 W의 어카운트에 저장한 다음 완료 신호를 고객에게 반환한다.
[패스워드 동기 서버 요건]
패스워드 동기 기능은 이하의 요구 사항을 충족한다.
먼저, 동기는 DCE 사용자에 의해 변경되는 패스워드가 이러한 변경을 수신하도록 구성된 임의의 다른 이질 등록부에 원문 패스워드로서 전송될 수 있도록 한다.
이질 등록부와 통신하는 것이 차단되면, 전송은 재시도에 대해 보충된 결과와 함께 즉시 수행된다.
재시도 전송은 관리자 제어 가능한 간격(administrator-controllable interval)에 종속된다.
이러한 오퍼레이션은 패스워드 동기 푸쉬로 일컬어진다.
둘째, 패스워드 동기 서버는 DCE 등록부 코드로 변경하지 않고 패스워드를 동기시켜, 임의의 벤더의 DCE 1.1 보안 서버가 패스워드 동기 기능을 지원하는데 사용될 수 있도록 한다.
셋째, 패스워드 동기 서버는 OSF DCE 1.1에 의해 제공되는 패스워드 구성 서버(pwd_strength)에 대한 지원을 보유하고, 패스워드 세기 체크가 사용자의 패스워드가 동기되는 것과는 관계없이 일어날 수 있도록 한다.
넷째, 패스워드 동기 서버는 이질 등록부 요구시, 이질 등록부에 의한 원문 패스워드 검색을 지원한다.
이러한 오퍼레이션은 패스워드 동기 풀로 일컬어진다.
다섯째, 패스워드 동기 서버는 고객 및 서버 액세스에 의해 어플리케이션 데이타 암호 함수로 제공되는 제한범위 내에서 원문 패스워드 파라미터를 확실하게 전송한다.
여섯째, 패스워드 동기 서버는 실패 허용한계(fault-tolerance)를 제공한다.
패스워드 공기 서버가 다운(down)되는 경우, 이것은 패스워드가 이질 등록부에 대한 해당 DCE 어카운트 내에서 갱신되지 못하도록 하며, 따라서 동기 이탈 조건(out-of-sync condition)이 배제된다.
비어 있는 인-메모리 전송 큐(in-memory propagation queues)를 갖기 전에 패스워드 동기 서버가 다운되는 경우를 포함하기 위해, 상기 큐의 디스크-미러가 사용된다.
패스워드가 변경되는 동안 이질 등록부가 다운되면, 패스워드 동기 서버는 이질 등록부가 라인상으로 다시 복귀될 때 전송을 개시할 수 있도록 요구된 상태 정보를 보유한다.
일곱번째, 고장 허용한계(전술한 여섯번째 특징)가 제공되는 경우, 패스워드 동기 서버는 디스크 저장 장치로부터 원문 패스워드를 복원한다.
모든 원문 패스워드 정보를 디스크 저장 장치에 대한 암호문 형태(ciphertext format)로 암호화하여 이들 원문 패스워드가 디스크에 상주하는 동안, 패스워드 동기 서버는 이들 패스워드를 보호한다.
전술한 요건들은 앞서 설명한 바와 같이 DCE 환경에서 수행되어지지만, 이들 요건들은 비-DCE 서버 환경에서 구현될 경우 실질적으로 수정, 변경 또는 제거될 수도 있다.
비-DCE의 경우, 이들 요건들은 다음과 같이 요구되어지지만, 본 기술 분야에 숙련된 자라면, 사용자의 요구에 따라 시스템의 요건에 맞추기 위해 필요한 경우 이들 조건을 제거할 수도 있다.
예를 들어, 패스워드를 암호화하는 것이 바람직하지만, 전체 시스템이 해커 또는 다른 불순한 자로부터 보호될 수 있는 경우에는 암호화가 구현되지 않아도 된다.
패스워드 동기 서버는 AIX 혹은 OS/2 플랫폼 또는, 예를 들어 UNIX-형 혹은 MVS 플랫폼과 같이 DCE를 구현하는 임의의 다른 유형의 운영체제 플랫폼으로 구현될 수 있다.
또한, 이러한 시스템은 단일 DCE 머신상에서 구성될 수도 있다.
패스워드를 동기하는 경우 이에 관계하는 몇몇 노드 사이에 원문 패스워드의 오버 더 와이어 암호화(over the wire encryption) 프로텍션 부재도 수용된다.
예를 들어, 두 노드간의 프로텍션 결함은 다음과 같은 조건에서 발생될 수 있다.
관계하는 노드는 DCE 데이타 암호화 표준(Data Encryption Standard : DES) 데이타 프라이버시(privacy)를 지원하지 못하는 비호환 DCE 노드이다 ;
관계하는 노드는 데이타 프라이버시를 지원하지 못하는 DCE 이질 등록부로서, 이 노드는 데이타 프라이버시를 지원하지 못하는 적어도 하나의 다른 DCE 이질 등록부를 포함하는 셀 환경에서 풀(pull) 오퍼레이션을 시도한다.
즉, 모든 비호환 DCE 이질 등록부들중 소정의 이질 등록부가 패스워드 풀을 수행할 때 이러한 프로텍션을 사용하는 경우, 모든 비호환 DCE 이질 등록부는 데이타 프라이버시를 지원할 수 있어야 한다.
그 이유는 호환가능한 DCE 이질 등록부가 DES 데이타 프라이버시에 대한 액세스가 존재하지 않을 경우 오버 더 와이어 암호화를 제공하기 위해 상업용 데이타 마스킹 함수(Commercial Data Masking Facility : CDMF)로 일컬어지는 다른 데이타 프라이버시 암호화 알고리즘에 대한 액세스를 갖기 때문인데, 상업용 데이타 마스킹 함수는 패스워드 동기 함수에 의해 사용될 수 있다.
패스워드 세기 지원시 표준 OSF를 구현할 경우, 다음과 같은 조건인 경우에는 원문 패스워드에 대한 전역 와이어 암호화 프로텍션이 존재하지 않음에 유의하여야 한다.
a) 서버 또는 패스워드 세기 서버가 (정상 구성 체크시 발생하는) 데이타 프라이버시를 지원할 수 없는 경우.
b) 고객 또는 패스워드 세기 서버가 (고객이 패스워드 세기 서버가 발생한 패스워드를 요구할 때 발생하는) 데이타 프라이버시를 지원할 수 없는 경우.
패스워드 동기 서버를 포함하는 셀에서 잠재적으로 함께 존재하는 고객이 제공한 모든 세기 서버들은 OSF DCE 샘플 코드에서 이루어지는 검사를 제공해야 하는데, 호출자가 dce-rgy 또는 pwsync인 경우 API를 수용하기 위해, 세기 체크 API는 호출자가 dce-rgy 프린서플(principal)이 아닌 경우에 기각된다.(패스워드 세기 서버에 대한 고객으로서 수행하는 경우, 이들은 보안 서버 및 패스워드 동기 서버에 의해 사용되는 프린서플이다.)
발생 패스워드 요구시, 세기 서버는 이러한 요구가 패스워드 동기 서버를 거쳐 세기 서버에 실질적으로 중계될 때마다 실제 고객 주체를 파악할 필요는 없다.
프린서플은 패스워드 동기를 구해 구성되지만 패스워드 세기 체크를 위해 구성되지 않는 경우, 패스워드 구성(모든 공백, 적어도 하나의 비-영숫자, 최소 길이)에 대한 등록부 정책 체크의 최소 세트는 실행되지 않는다.
패스워드 동기 서버에 의해 지원 구성된 모든 이질 등록부는 동일한 DCE 셀내에 상주해야 한다.
모든 이질 등록부는 패스워드 동기 서버를 교란하는 임의의 침입자의 침입을 차단하기 위해 임의의 패스워드 푸쉬 RPC를 개시하는 고객 주체가 패스워드 동기 서버의 것(프린서플 pwsync)임을 검사해야 한다.
패스워드 동기 서버는 복제될 수 없다.
[OSP DCE 1.1 패스워드 세기 체크의 개관]
패스워드 동기를 구현하는데 패스워드 세기 체크 아키텍처가 어떻게 레버리지(leverage)되는지를 이해시키기 위한 근거를 제공하기 위해 OSF DCE 1.1의 패스워드 세기 체크 메카니즘의 개관이 제공된다.
DCE 보안 서버는 한정된 수의 패스워드 구성 규칙을 제공한다.
이것은 최소 길이와, 패스워드가 적어도 하나의 비-영숫자를 포함해야 하는지와, 패스워드의 값이 실제로 전체 공간을 구성할 수 있는지의 여부를 포함한다.
패스워드 변경 요구가 수신될 때마다 DCE 1.1은 보안 서버가 패스워드 세기 체크 서버에 호출함으로써 패스워드 구성 체크의 성능을 확장한다.
또한, 이 서버는 패스워드 발생기로서 수행하고, 소정의 바람직한 패스워드 구성 규칙을 시행하는 고객에 의해 변경될 수 있다.
세기 서버가 사용자를 위해 존재하는 경우에는 보안 서버의 체크가 실행되지 않는다 ;
그러나, 디폴트( OSF가 제공하는)세기 서버의 동작은 동일한 체크를 수행하는 것이다.
이러한 특정 체크의 실행을 무시하기 위해 세기 서버는 기록될 수 있다.
이러한 새로운 기능을 지원하기 위해, 2개의 새로운 ERA는 DCE 1.1의 패스워드 관리를 위해 정의된 것이다 ;
0 PWD_MGMT_BINDING : 이 ERA는 정규 사용자 프린서플에 부속(attach)하고, 사용자의 패스워드를 변경할 때마다 secd에 의해 호출될 세기 서버를 정의한다.
또한, 이 ERA는 변경 패스워드 프로그램 고객에 의해 사용되고, 발생된 패스워드를 획득하기 위해 호출할 서버를 정의한다.
이 ERA는 다음과 같은 정보를 포함하는 바인딩 인코딩 형태를 갖는다 ;
+ 세기 서버의 서비스 프린서플 이름
+ 서버가 바인딩을 제공하거나 혹은 스트링 바인딩을 대신 포함하는 CDS 이름 공간 엔트리
+ 서버와 통신하는데 사용될 RPC 인증 레벨.
dcecp 규약(convention)을 사용하여 이것이 어떻게 디스플레이 하는지의 예는 다음과 같다 ;
{pwd_mgmt_binding {{dce pwd_strength pktprivacy secret mame}/. :/subsys/dce/pwd_mgmt/pwd_strength}}
패스워드 체크 및 패스워드 발생은 항상 동일한 서버에서 일어나므로, 이 서버의 위치를 정의하는데 단지 하나의 ERA만이 요구된다.
0 PWD_VAL_TYPE : 이 ERA는 정규 사용자 프린서플에 부속된다.
이것은 다음과 같이 4개의 값 중 하나를 취할 수 있다 ;
+ NON(0) : ERA값이 0이거나 ERA가 사용자 프린서플을 위해 존재하지 않으면, 이것은 secd 자체에 의해 시행된 최소 디폴트 규칙의 경우를 제외하고는 세기 체크가 수행될 수 없음을 의미한다.
+ USER_SELECT(1) : 이것은 secd가 어카운트 패스워드를 생성하거나 혹은 변경하도록 하는 요구를 수신할 때마다 패스워드 세기 체크가 PWD_MGMT_BINDING로 명명된 서버에 의해 수행됨을 의미한다.
+ USER_CAN_SELECT(2) : 이것은 새로운 패스워드에 대해 신호(prompt)하는 임의의 고객 프로그램이 PWD_MGMT_BINDING으로 명명된 세기 서버로부터 획득된 발생된 패스워드를 먼저 디스플레이 해야함을 의미한다.
사용자는 패스워드 선택으로서 이러한 유형 또는 그 밖에 대해 자유롭다.
어카운트 패스워드를 변경하기 위한 요구를 수신하면, secd는 항상 세기 서버 체크를 호출한다.
사용자가 발생된 패스워드의 유형을 분류하면, 세기 서버 알고리즘은 새로운 패스워드를 사용자가 이 패스워드를 조합하는 것과 같이 취급하고, 이를 잠재적으로 기각한다.
OSF DCE는 발생된 패스워드가 사용자에 의해 타입(type)될 때 다음의 경우의 동작과 일치하는 이러한 변칙 동작을 고정시켜야 한다.
+ GENERATION_REQUIRED(3) : 이것은 새로운 패스워드에 대해 신호하는 임의의 고객 프로그램이 PWD_MGMT_BINDING로 명명된 세기 서버로부터 획득 발생된 패스워드를 먼저 디스플레이 해야 한다.
사용자는 이러한 패스워드를 확인신호(confirmation)로서 제공하도록 요구된다.
이어서, secd는 세기 서버 체크를 호출하는데, 이는 패스워드를 보유하는 캐쉬내에서 패스워드가 발생된 패스워드로서 고객에게 최근에 제공된 것을 세기 서버가 검출하는 경우에만 계속적으로 수행된다.
발생된 패스워드는 사용자 조합 값으로 제공하는 임의의 다른 구성 규칙에 종속되지 않는다.
이러한 필요성에 의해, 원문 패스워드는 세기 서버에 입력 또는 출력 파라미터로서 제공된다.
rsec_pwd_str_chk는 원문을 입력으로서 제공한다.
rsec_pwd_mgmt_gen_pwd는 원문을 출력으로서 반환한다.
패스워드상의 프로텍션의 범위의 제어는 PWD_MGMT_BINDING ERA의 인증 부분의 파라미터들중 하나로서 지정된 프로텍션 레벨의 보안 서버를 사용함으로써 달성된다.
표준 OSF DCE 구현시, 이러한 레벨은 패킷 프라이버시(packet privacy) 또는 패킷 무결성(packet integrity)으로만 세트될 수 있다.
패스워드 동기 구현의 부분은 cdmf로 일컬어지는 IBM DCE 플랫폼에 의해서만 지원되는 다른 프로텍션 레벨을 수용하기 위해 OSF의 DCE dcecp 프로그램 및 이에 대응하는 기본 API의 변경이다.
DES 이출 면허(export license)를 획득하는데 사용할 수 없는 것들도 포함하는 데이타 프라이버시의 cdmf의 유형은 이질 컨트리에 자유롭게 제공할 수 있기 때문에, 패스워드 세기 및 패스워드 동기 기능에 대한 IBM DCE 지원은 다른 구현이 그렇게 수행할 수 없는 몇몇 경우에 와이어상의 패스워드를 보호한다는 점에서, 다른 벤더의 구현보다 잠재적인 장점을 제공한다.
[패스워드 동기의 개관]
이제부터 본 발명에 따른 패스워드 동기의 구현이 제공된다.
시스템은 패스워드 세기 체크에 대한 콜아웃(callouts)을 수신하는 서버를 패스워드(푸쉬)를 이질 등록부에 대신 전송하는 서버에 추가하거나 혹은 이 서버로 대체한다.
실제로 푸쉬를 수행하기 전에, 이 서버는 패스워드 구성 체크를 위해 실제 세기 서버와 교신한다.
또한, 이러한 새로운 패스워드 동기 서버는 특정 사용자에 대한 이질 등록부로부터 원문 패스워드(풀)를 검색하기 위한 요구에 참여한다.
새로운 현존 ERA 정의가 추가되거나 혹은 변경되어야 한다.
먼저 다음 2가지 정의는 현존 정의로써, 이들이 시스템 동작에 어떻게 영향을 끼치는지에 관해 설명한다.
이어서 새로운 ERA가 제공된다.
도3은 이들 ERA 및 이와 연관된 프린서플을 보여주고 있다.
0 PWD_MGMT_BINDING : 이것은 전술한 것과 유사하다.
패스워드 동기가 사용자에 대해 관계하는 것을 제외하고는, 사용자 프린서플에 부속될 때, ERA내의 정보는 'pwysnc'를 가리키고, 실제 세기 서버는 아니다.
세기 체크와 관계되지만 동기가 아닌 사용자는 세기 서버를 직접 가리키기 위해 ERA 세트를 갖는다.
이러한 ERA의 예는 'pwsync' 프린서플에 또한 적용된다.
이것은 어카운트 관리 수단에 의해 판독될 수 있는 전형적인 템플레이트(template)로서 수행한다.
즉, 이 수단은 새로운 사용자가 패스워드 동기에 참여하는데 필요한 정보를 프롬프트하지 않는다 :
데이타는 'pwsync'프린서플에 저장된 바와 같이 이 ERA의 값으로부터 판독될 수 있다.
0 PWD_VAL_TYPE : 이것은 전술한 것과 동일한 의미를 갖는다.
'pwsync'가 PWD_MGMT_BINDING에 의해 지정된 서버이면, 'pwsync'는 PWD_VAL_TYPE era를 다시 판독할 수 없다.
또한, 이것은 요구시 실제 세기 서버에 순차적으로 제공하기 위해, 세기 체크 RPC의 결과로서 서버에 제공되는 값에 따름에 유의하여야 한다.
임의의 패스워드 동기가 사용자 프린서플에 대해 발생하면, PWD_VAL_TYPE는 1이상으로 세트되어야 한다.
PWD_VAL_TYPE는 서비스 프린서플에 대해 존재하지 않거나 혹은 0의 값을 갖는다.
이것은 PWD_MGMT_BINDING의 템플레이트의 값이 존재하는 'pwsync' 서비스 프린서플에 대해 특히 중요하다.
0 FOREIGN_REGISTRY_PW_PROP_BINDING : 이 ERA는 이질 등록부에 대한 프린서플 객체와 연관된다.
푸쉬시 패스워드를 이질 등록부에 전송할 경우 이 ERA는 패스워드 동기 서버에 의해 사용하기 위한 바인딩 및 인증 정보를 포함한다.
0 FOREIGN_REGISTRY : 이 멀티값 ERA는 정규 사용자의 프린서플 객체와 연관된다.
이 ERA는 이질 등록부의 DCE 서버 프린서플 이름을 나타내는 하나 이상의 문자열을 포함한다.
따라서, 이 ERA는 사용자의 패스워드의 변경이 전달되어지는 등록부를 가리킨다.
또한, 이 ERA는 패스워드 동기 서비스에 의한 풀 오퍼레이션에서 액세스 제어 메카니즘으로서 사용된다.
이것은 풀링 프로그램의 DCE 주체가 FOREIGN_REGISTRY ERA에서 검출된 엔트리들중 하나임을 확인함으로서 달성되는데, 이 FOREIGN_REGISTRY ERA는 요구가 이루어지는 사용자 프린서플에 부속된다.
쉽게 알 수 있는 바와 같이, FOREIGN_REGISTRY의 값은 패스워드 전송 동안 키(key)로서 수행하며, 이로 인해 DCE 소프트웨어는 FOREIGN_REGISTRY_PW_PROP_BINDING era에 저장된 바와 같은 바인딩 정보를 조회하기 위해 적절한 서비스 프린서플을 지정한다.
또한, 이러한 다중값 ERA는 pwsync 프린서플에 저장되지만, 이 ERA의 의미는 정규 프린서플에 부속될 경우와는 다르다.
이러한 ERA는 설치 된 모든 이질 등록부의 값을 포함한다.
모든 이질 등록부의 이름을 FOREIGN_REGISTRY ERA를 새로운 프린서플상에 부속시키는 후보로서 파악해야 하는 수단은 pwsync 프린서플로부터 FOREIGN_REGISTRY의 값을 판독함으로써 후보자 리스트(candidate list)를 획득할 수 있다.
또한, PWSYNC 설비는 pwsync 프린서플에 부속된 바와 같이 사용자 프린서플에 부속되는 FOREIGN_REGISTRY era의 적법한 값에 따라 FOREIGN_REGISTRY의 내용을 액세스 제어 체크(access control check)로서 검색한다.
따라서, FOREIGN_REGISTRY의 존재는 필수적인 것이며, 선택사양적이지는 않다.
0 SECONDARY_PWD_MGMT_BINDING : 이 ERA는 패스워드 세기 서버에 대한 프린서플 객체와 연관된다.
패스워드 발생 및 패스워드 체크에 대한 중계 요구시, 이 ERA는 패스워드 동기 서버에 의해 사용될 수 있도록 바인딩 및 입증 정보를 포함한다.
pwsync는 PWD_MGMT_BINDING의 내용 때문에 이러한 요구를 직접 수신하므로, 제2의 ERAsms pwsync가 이러한 요구를 실제 발생기/체커(actual generator/checker)에 라우팅할 수 있도록 요구된다.
세기 서버에 대한 이러한 호출 아웃은 새로운 패스워드가 이질 등록부에 전송되기 전에 발생된다.
0 PASSWORD_STRENGTH : 이 ERA는 정규 사용자의 프린서플 객체와 연관된다.
이 ERA는 문자열의 값 즉, 세기서버의 DCE 서버 프린서플의 이름을 포함한다.
따라서, 이 ERA는 사용자의 패스워드 변경에 포함되는 세기 서버를 나타낸다.
쉽게 알 수 있듯이, PASSWORD_STRENGTH의 값은 패스워드 변경 동안 키로서 작용을 하며, 이로 인해 패스워드 동기 서버는 SECONDARY_PWD_MGMT_BINDING era에 저장된 바와 같이 바인딩 정보를 조회하기 위해 적절한 서비스 프린서플을 지정한다.
0 AVAILABLE_STRENGTH_SERVER : 이 다중값을 갖는 ERA는 pwsync 프린서플상에만 저장된다.
이 ERA는 설치된 모든 세기 서버의 이름을 포함한다.
단일값을 갖는 PASSWORD_STRENGTH era를 새로운 프린서플상에 부속시키는 부호로서 모든 세기 서버의 이름을 파악해야 하는 수단은 pwsync 프린서플로부터 AVAILABLE_STRENGTH_SERVER의 값을 판독함으로써 후보 서버의 리스트를 획득할 수 있다.
또한, PWSYNC 설비는 pwsync 프린서플에 부속된 바와 같이, 사용자 프린서플에 부속되는 PASSWORD_STRENGTH ERA의 적법한 값에 따라 AVAILABLE_STRENGTH_SERVER의 내용을 유효 체크(validity check)로서 검색한다.
따라서, AVAILABLE_STRENGTH_SERVER의 존재는 필수적인 것이며, 선택사양적이지는 않다.
0 Plain-text-PASSWORD : 이 ERA는 정규 사용자의 프린서플 객체와 연관된 질의 트리커(query trigger)이다.
이질 등록부는 이 ERA의 값을 조회함으로써 요구될 때 복원가능한 원문 패스워드를 풀시킬 것이다.
이러한 요구는 pwsync에 대한 바인딩 및 인증 정보를 갖는 스키마 정의(schema definition)내에 저장된 조회 트리거에 의해 secd로부터 패스워드 동기 서버로 다시 라우팅될 것이다.
pwsync는 누가 이러한 감응 정보를 사용자의 프린서플에 부속시키는 FPREIGN_REGISTRY era의 값의 함수로서 조회할 수 있는지에 관한 유효 체크를 스스로 수행하기 때문에, 이러한 감응성 ERA를 판독할 수 있는 자를 엄격하게 제한하기 위해 스키마 허용을 변경할 필요는 없다.
pwsync에 의해서 원문 패스워드가 검출되지 못하면, 널(NULL) 스트링은 패스워드로서 반환될 것이다.
0 PW_PROPAGATE_ENABLE : 이 ERA는 pwsync 프린서플에 부속되고, 패스워드를 전송할 수 있는지를 나타내는 불린 참/거짓(boolean true/false)신호를 포함한다.
패스워드가 전송되지 못하면, 푸쉬를 통한 전송은 디스에이블되지만, 이질 등록부는 패스워드를 푸쉬할 수 있다.
0 PW_PROPAGATE_RETRY_INTERVAL : 이 ERA는 pwsync 프린서플에 부속되며, 초기 전송이 실패했을 때 패스워드가 이질 등록부에 전송되는 구간(시간)을 나타내는 부호화된 32비트 정수값을 포함한다.
0의 값은 비합법적인 것으로서, 재시도 전송을 효율적으로 제한한다.
PW_PROPAGATE_ENABLE가 전송을 모두 디스에이블시키도록 표시되면, 이 ERA의 값은 무트(moot)된다.
[패스워드 동기 구현]
패스워드 동기 서버의 기본 구조는 전형적인 DCE 서버의 셋업 태스크(setup tasks)를 수행하고 요구에 따르는 메인 루틴(main routine)과, 키 관리 스레드(key management thread)와, 주체 리프레쉬 스레드(identity reffesh thread)와, 풀 데이타 베이스 프루닌 스레드(Pull data base pruning thread)와, 주어진 사용자와 연관된 원문 패스워드 ERA를 판독하는 이질 등록부의 결과로서 개시된 RPC 및 보안 서버로부터의 rsec_pwd_mgmt_str_chk RPC를 처리하는 루틴으로 구성된다.
그러나, 후자의 RPC는 pwsymc에서 구현된 바와 같이, 통상적으로 중간지국(way-station)이다. 후다의 RPC는 실제 코어 함수(core functionality)를 자체적으로 수행하기보다는 오히려 요구를 해당 프린서플에 대해 실질적인 패스워드 세기서버에 제공한다.
새로운 함수는 DCE 등록부와 함께 주로 패스워드 동기를 보유하길 바라는 이질 등록부에 의해 요구되어 푸쉬 및 풀 오퍼레이션을 지원하는 함수들로 구성된다.
pwsync가 새로운 패스워드 데이타를 획득하는 수단을 제공할 경우, rsec_pwd_mgmt_str_chk는 이 새로운 함수에 대한 게이트웨이로서 수행한다.
푸쉬는 패스워드가 DCE에서 변경될 때마다 사용자의 원문 DCE 패스워드를 부여된 이질 등록부 서버에 전송하는 것을 말한다.
초기에 고려한 바와 같이, 이러한 푸쉬는 rsec_pwd_mgmt_str_chk 프로세싱의 정수부(integral part)로서 발생하지 못한다.
secd에 대한 반환을 지연하는 것은 인간의 느끼는 시각에서 볼 때 바람직하지 않다.
따라서, 데이타는 각각의 전송 스레드에 의해 나중에 처리되기 위해 인-메모리 큐에 대신 저장된다.
(첫번째 전송 시도는 즉각적이며, 다만 재시도는 관리자-지정 구간(admistrator-specified intervals)에서 발생된다.)
디스크 미러(disk mirroring)는 프로그램이 예기치 않게 중단되는 경우 데이타 손실을 방지하는데 사용된다.
데이타 손실은 DCE와 이질 등록부 사이에 오류 동기 조건(out-of- sync conditions)을 야기시킬 수 있다.
패스워드 동기 서버의 전소스레드가 푸쉬 오퍼레이션을 수행할 경우, 관련된 푸쉬 서버 인터페이스(rsec_pwd_progate)를 제공하는 이질 등록부의 고객으로서 동작한다.
풀은 Plain-text-PASSWORD 확장 등록부의 속성을 참조하는 트리거 서버와 같이 패스워드 동기 서버의 가능으로 일컬어진다.
이 속성값의 이질 등록부의 조회는 이와 연관된 패스워드를 검색하기 위해 본래의 OSF DCE 함수에 의해 pwsync로 라우팅된다.
이를 수용하기 위해, pwsync는 sec_attr_trig_query 인터페이스를 제공한다.
주문시에 사용가능한 원문 패스워드를 갖는 것은 pwsync가 사용자 이름 및 이와 연관된 패스워드의 영구적 레코드를 보유해야 함을 의미한다.
풀이 이러한 민감한 기능에 비추어 매우 안전한 머신상에 존재하는 패스워드 동기를 수행하면, 데이타베이스 내의 패스워드는 제공되는 여분의 프로텍션이어야 한다.
이러한 프로텍션은 민감한 등록부 데이타의 DCE 보안 서버의 마스터-키가 암호화된 후에 모델링된다.(단기간으로 예상되는 데이타가 존재하기 때문에 동일한 프로텍션은 덜 중요하더라도 푸쉬데이타베이스내에서 패스워드로 제공된다.)
패스워드 동기 서버는 메인 스레드와 5개의 보조 스레드를 갖는 단일 프로세스로 구성된다.
이들 스레드 중 2개의 스레드에 대한 프로세싱 단계와 보안 서버로부터의 호출을 서비스하는 rsec_pwd_mgmt_str_chk RPC 인터페이스에 대한 프로세싱 단계의 상세한 흐름도는 다음과 같다.
1) 메인 스레드 : 메인 스레드는 DCE 어플리케이션 서버에 의해 요구되는 초기화 기능을 수행한다.
즉, 셀 디렉토리 명칭 공간(namespace)의 바인딩 및 인터페이스를 레지스터하고, 모든 보조 스레드를 생성하고, RPC 인터페이스를 수신하여 지정된 어카운트에 대한 패스워드를 풀하기 위해 시도하는 보안 서버 및 이질 등록부로부터 호출을 서비스한다.
2) 패스워드 동기 서버 주체 리프레쉬 스레드 : 이 스레드는 주기를 기반으로 패스워드 동기 서버와 같이 로그 인(logging in)하여 패스워드 동기 서버의 DCE 주체를 재설정하는 것으로, 이것은 모든 DCE 어플리케이션 서버에 대한 표준 실행 및 방법으로 잘 알려져 있다.
3) 패스워드 동기 서버의 키 리프레쉬 스레드 : 이 스레드는 주기를 기반으로 이 동기 서버에 대한 어카운트 패스워드를 변경하는 것으로, 이것은 모든 DCE 어플리케이션 서버에 대한 실행 및 방법으로 잘 알려져 있다.
4) 패스워드 동기 서버의 풀 RPC 및 풀 데이타베이스 푸루닌 스레드 : 초기화시, 패스워드 동기 서버의 메인 스레드는 데스크 풀 데이타베이스로부터 메모리 풀 데이타베이스를 초기화하고, 동일 사용자에 대해 다른 엔트리로 대체되는 각각의 사용자 존재에 대한 모든 엔트리를 제거한다.
메인 스레드가 경청하는 RPC상에서 풀 요구가 수신되면, 요구된 사용자 엔트리에 대한 메모리 데이타베이스가 탐색된다.
만일 데이타베이스가 검출되면, 요구중인 이질 등록부가 ERA로 정의되는지를 판정하기 위해, 패스워드 동기 서버의 어카운트 및 요구한 사용자의 어카운트와 연관된 이질 등록부의 ERA의 내용이 조사된다.
그후, 요구된 사용자에 대한 패스워드가 RPC로 반환된다.
패스워드가 검출되지 않거나 혹은 조사가 실패하면, 에러값이 반환된다.
풀 데이타베이스 푸룬닝 스레드는 동일 사용자에 대한 다른 엔트리로 대체되는 각 사용자에 대한 모든 엔트리의 디스크 풀 데이타베이스를 주기적으로 푸루닝하기 위해 타이머상에서 동작한다.
5) 보안 서버로부터의 패스워드 동기 서버 RPC : 메인 스레드가 보안 서버로부터의 호출을 RPC를 통해 수신하면, 도7에 도시된 프로세싱 단계가 수행된다.
6) 패스워드 동기 서버 전송 큐 스레드 : 패스워드 동기 서버가 신호 P(도7에 도시됨)를 세트하면, 이 스레드는 도8에 도시된 프로세싱 단계를 수행하기 위해 어웨이크(awake)된다.
7)패스워드 동기 서버 재시도 큐 스레드 : 전송 큐 스레드가(도8에 도시된) 신호 R를 세트하면, 이 스레드는 도9에 도시된 프로세싱 단계를 수행하기 위해 어웨이크된다.
도7에는 보안 서보로부터의 사용자 패스워드 프로세싱의 흐름도가 도시되어 있다.
먼저, 블럭(710)에서 패스워드 동기 서버는 보안 서버로부터 사용자 ID 및 패스워드를 수신한다.
그후, 블럭(712)에서 동기 서버는 패스워드 세기 ERA가 사용자에 대해 제공되는지를 판정한다.
PWD 세기 ERA가 사용자에 대해 제공되면 보안 동기 서버는 블럭(714)으로 진행된다.
그렇지 않으면, 보안 동기 서버는 이하 기술될 블럭(720)으로 진행된다.
블럭(714)에서, 동기 서버는 패스워드 세기 ERA를 사용해서 사용자 및 사용자의 어카운트와 연관된 적절한 패스워드 세기 서버를 식별하고, 이어서 제2 패스워드 관리 바인딩 ERA를 판독한다.
블럭(714)의 수행이 완료되면, 동기 서버는 블럭(716)으로 진행된다.
블럭(716)에서 동기 서버는 패스워드 세기 서버의 어카운트 및 제2 관리 바인딩 ERA를 사용해서 패스워드 세기 서버를 위치지정하고, 사용자 ID/패스워드를 갖는 세기 서버를 호출한다.
그후, 블럭(718)에서 패스워드 세기 서버는 구성 체크가 성공적이었는지에 관한 메시지를 반환한다.
구성 체크가 성공적이면, 시스템은 블럭(720)으로 진행된다 ;
그렇지 않으면, 시스템은 이하 기술될 블럭(732)으로 진행된다.
블럭(720)에서, 시스템은 메모리 풀 데이타베이스의 엔트리를 부가하거나 혹은 대체하고, 이 엔트리를 디스크 풀 데이타베이스(112)에 추가(append)한다.
메모리 풀 데이타베이스는 블럭(722)에 도시되어 있고, 디스크 풀 데이타베이스는 블럭(724)에 도시되어 있다.
그후, 블럭(726)에서, 시스템은 에러가 발생되었는지를 판정한다.
만일 에러가 검출되면, 시스템은 블럭(732)으로 진행된다 ;
에러가 검출되지 않으면, 시스템은 블럭(728)으로 진행해서, 상태 메시지를 성공적인 것으로 세트한다.
만일 에러가 발생되거나 혹은 패스워드 세기 서버 구성 체크가 실패한 경우, 블럭(732)에서 시스템은 상태 메시지를 실패로 세트시킨다.
실패가 발생되면, 시스템은 이하 기술될 블럭(742)으로 진행된다.
블럭(730)에서, 패스워드 세기 서버는 전송이 pw_propagate_enable ERA 값의 함수로서 이네이블 되었는지를 판정한다.
전송이 이네이블 되었으면, 시스템은 블럭(734)으로 진행된다.
그렇지 않으면, 시스템은 이하 기술될 블럭(742)으로 진행된다.
블럭(734)에서, 세기 서버는 엔트리를 블럭(736)으로 도시된 전송 큐의 메모리 및 블럭(738)으로 도시된 디스크 전송 큐의 메모리에 제각기 저장한다.
그후, 시스템은 블럭(740)으로 진행된다.
그러면, 블럭(740)에서, 세기 서버는 전술한 전송 큐 스레드에 대한 신호 P를 세트시킨다.
한편, 블럭(730)에서 전송 이네이블이 세트되지 않으면, 블럭(742)에서 시스템은 상태를 보안 서버에 반환한다.
패스워드 동기 서버 전송 큐 스레드는 도8에 도시된 단계에 따라 동작한다.
블럭(810)에서 패스워드 동기 서버는 도7에 도시된 디스크 전송 큐(738)로부터의 메모리 전송 큐(736)를 초기화시킨다. 그후, 블럭(812)에서 시스템은 도7의 블럭(740)으로부터의 신호 P로부터 웨이크업 신호(wake=up signal)를 대기한다.
그후, 블럭(816)에서 시스템은 메모리 전송큐(736)에 엔트리가 구성되었는지를 판정한다.
메모리 전송 큐(736)에 엔트리가 구성되지 않았으면, 시스템은 블럭(812)으로 진행된다.
그렇지 않으면, 시스템은 블럭(818)으로 진행해서, 동기 서버가 큐(736)의 첫 번째 엔트리 또는 차후 엔트리를 프로세싱 한다.
그후, 블럭(820)에서, 시스템은 사용자의 어카운트에서 검출된 사용자의 이질 등록부로부터 이질 등록부 리스트를 검색한다.
리스트가 검색되면, 블럭(822)에서 시스템은 패스워드 동기 서버에 대한 이질 등록부 ERA에서 발견된 이질 등록부의 리스트에 대해서 첫 번째 또는 후속 이질 등록부의 존재를 유효화시킨다.
유효화가 완료되면, 블럭(824)에서 지금 통신중으로 표시되는지의 여부를 검출하기 위해 전송 큐(736)상의 특정 이질 등록부가 검사된다.
전송 큐(736)상의 특정 이질 등록부가 지금 통신중인 것으로 표시되면 시스템은 블럭(826)으로 진행되고, 그렇지 않으면 시스템은 이하 기술될 블럭(838)으로 진행된다.
블럭(826)에서, 시스템은 사용자 ID/패스워드를 블럭(824)의 요구중인 이질 들록부에 전송하고, 이어서 블럭(828)에서 전송이 성공적이었는지를 판정한다.
블럭(828)에서 전송이 성공적이면, 시스템은 블럭(838)으로 진행하고 ; 그렇지 않으면 시스템은 블럭(830)으로 진행된다.
블럭(830)에서 시스템은 전송 큐상의 특정 이질 등록부를 지금 통신중에 있지 않은것으로 표시한다.
그후, 시스템은 블럭(832)으로 진행된다.
블럭(832)에서 시스템은 사용자의 ID, 패스워드, 이질 등록부의 ID/통신 상태를 메모리 재시도 큐(834) 및 디스크 재시도 큐(836)에 저장한다.
지금 통신중에 있지 않은 이질 등록부 또는 블럭(828)의 전송이 성공적이면, 블럭(838)에서 시스템은 프로세싱될 특정 사용자 ID에 대한 부가적인 이질 등록부가 존재하는지를 판정한다.
특정 사용자 ID에 대한 부가적인 이질 등록부가 존재하면, 시스템은 블럭(822)으로 진행한다.
이질 등록부가 이 사용자 ID와 연관되지 않으면, 시스템은 블럭(840)으로 진행하여 메모리 전송 큐(736)내에 엔트리가 더 존재하는지를 판정한다.
메모리 전송 큐내에 엔트리가 더 존재하면, 시스템은 블럭(818)로 복귀하여, 전송 큐내의 후속 엔트리를 다시 프로세싱 한다 ;
블럭(840)에서 메모리 전송 큐내에 엔트리가 더 존재하지 않으면, 시스템은 블럭(842)으로 진행한다.
블럭(842)에서 동기 서버는 메모리 전송 큐(736) 및 디스크 전송 큐(738)의 모든 엔트리를 삭제한다.
그후, 시스템은 블럭(812)으로 복귀하여 신호 P의 세트를 대기한다.
모든 전송 재시도는 도9에 도시된 방법에 따라 처리된다.
도9는 본 발명에 따른 패스워드 동기 서버의 재시도 큐 스레드의 흐름도를 도시한 것이다.
먼저 블럭(910)에서, 패스워드 동기 서버는 블럭(836)의 디스크 재시도 큐로부터 블럭(834)의 메모리 재시도 큐를 초기화한다.
그후, 시스템은 블럭(918)으로 진행해서, 메모리 재시도 큐(834)내에 소정의 엔트리가 존재하는지를 판정한다.
메모리 재시도 큐(834)내에 소정의 엔트리가 존재하면, 시스템은 블럭(920)으로 진행하고 ; 그렇지 않으면 시스템은 이하 기술될 블럭(938)으로 진행한다.
블럭(920)에서, 시스템은 큐(834)의 첫 번째 또는 후속 엔트리를 프로세싱 한다.
그후, 블럭(922)에서 시스템은 이 엔트리를 검사해서, 현재 이질 등록부가 재시도 큐상에 지금 통신중에 있지 않은것으로 표시되는지를 판정한다.
현재 이질 등록부가 재시도 큐상에 지금 통신중에 있지 않은것으로 표시되지 않으면, 시스템은 블럭(924)으로 진행하고 ; 그렇지 않으면 시스템은 이하 기술될 블럭(932)으로 진행한다.
블럭(924)에서 시스템은 사용자 ID/패스워드를 선택된 이질 등록부에 전송한다.
그후, 블럭(926)에서 시스템은 전송이 성공적이었는지를 판정한다.
전송이 성공적이면 시스템은 이하 기술될 블럭(930)으로 진행하고 ; 그렇지 않으면 시스템은 블럭(928)으로 진행한다.
블럭(928)에서 시스템이 재시도 큐상의 현재의 이질 등록부가 현재 통신중에 있지 않은것으로 표시하면, 시스템은 블럭(932)으로 진행한다.
블럭(930)에서, 시스템은 전송 큐(도8의 참조번호 736)상의 현재의 이질 등록부의 엔트리가 현재 통신중에 있지 않은것으로 표시되는지의 여부를 검출하는데, 만일 이러한 조건이 맞으면, 현재의 이질 등록부의 엔트리가 리셋되고 ; 그렇지 않으면 시스템은 블럭(932)으로 진행된다.
블럭(932)에서, 동기 서버는 메모리 엔트리 큐(834)내에 엔트리가 더 존재하는지를 판정한다.
메모리 엔트리 큐(834)내에 엔트리가 더 존재하면, 시스템은 상기 설명된 블럭(920)으로 복귀하여 시퀀스를 완료한다.
그러나, 메모리 엔트리 큐(834)내에 엔트리가 더 이상 존재하지 않으면, 시스템은 블럭(934)으로 진행한다.
블럭(934)에서 시스템은 재시도 큐(834)상의 모든 이질 등록부를 현재 통신중인 것으로 리셋시킨다.
그후, 블럭(936)에서 시스템은 메모리 재시도 큐(834) 및 디스크 재시도 큐(836)를 재구성한다.
그후, 블럭(938)에서, 시스템은 전술한 패스워드 전송 재시도 인터벌 ERA를 기초하여 신호 R를 세트시킨다.
신호가 R로 전송되었으면, 시스템은 후속 재시도 사이클을 위해 블럭(916)을 복귀한다.
[원문 패스워드 프로텍션]
패스워드 보안 동기(PWSYNC)의 오퍼레이션(106)에서는 원문 패스워드를 파라미터로서 제공하는 다수의 RPC를 포함한다.
와이어를 통해 제공될 때, 보호될 이들 패스워드는 부여되지 않은 측에 노출되지 않도록 하는 것이 중요하다.
USA 또는 국제 환경에서 수행하는지 또는, 호환가능한 DCE 서버 또는 몇몇 다른 고객 서버와 동작하지를 포함하는 다수의 시나리오가 존재한다.
이러한 시나리오를 고려하기 전에 프로텍션을 필요로하는 RPC의 특성과, 이들 시나리오가 제공될 경우 사용되는 보안의 수준에 영향을 끼치는 제어를 이해하는 것이 바람직하다.
이러한 제어는 몇몇 ERA의 예로 저장된 것과, 스키마 엔트리내의 조회 트리거 정보로서 저장된 바와 같이, 바인딩 인증 정보로 알려진 DCE 등록부 엔티티이다.
원문 패스워드를 파라미터로서 제공하는 소정의 두 프로그램 사이에서 사용되는 보호 레벨은 이들 제어로 표시되며, 이러한 제어의 포맷은 OSF DCE 1.1에 의해 제공되는 dcecp 프로그램을 사용하는 경우 그 협약에 따른다.
잘 알려진 pwd_mgmt_binding era는 다음과 같이 사용된다 ;
{pwd_mgmt_binding {{dce pwd_strength XXXXXXXX secret name} /. :/subsys/dce/pwd_mgmt/pwd_strenght}}
제어 XXXXXXXX는 프로그램이 호환가능한 플랫폼상에 존재하는지 이 플랫폼이 데이타 프라이버시를 지원하는지에 따라 pktprivacy, cdmf 또는 pktinteg로 세트될 수 있다.
알 수 있는 바와 같이, 이러한 ERA는 서비스 프린서플 이름과, 서비스가 바인딩을 제공한 CDS 명칭 공간의 위치와, 구커버로스 방식(old Kdrberos fashion)으로 즉, 이름에 의해 인증하기 위해 명세서(specification)와 같은 다른 필요한 정보도 또한 포함한다.
표 1은 이들 제어가 어떻게 사용되고, 이들 제어가 어떻게 세트되고, 이들 제어가 패스워드 동기 환경에서 고객/서버 통신을 포함하는 모든 상황을 어드레스 지정하는지의 여부를 이해하는데 필요한 모든 정보를 요약한 것이다.
프로그램이 원문 패스워드의 오버-더-와이어 프로텍션에 대해 고려되어지는 RPC를 제공하는 7가지 분명한 포인트가 존재한다.
본 설계에서는 이들 포인트중 6개의 포인트와 관련된다.(이와 관련되지 않은 하나의 포인트는 호출자 키에 대해 신호해서 DCE가 와이어를 통해 패스워드를 암호화하는 경우 sec_rgy_acct_passwd를 통해 패스워드를 변경하는 초기 사용자의 요구이다.)
표 1은 각각의 이들 RPC에 대한 적절한 정보를 검출한다.
먼저, 세 부분은 푸쉬부분이고, 네 번째 부분은 풀부분이고, 나머지 두 부분은 패스워드 발생 가능성을 취급한다.
서비스 프린서플에만 부속하는 이들 ERA에 대한 프로텍션 레벨은 관리자에게 용이하게 추론가능한데, 그 이유는 이들 프로텍션 레벨은 pwsync, 세기 서버 또는 이질 등록부 서버 설정 동안 한번만 지정되기 때문이다.
이것은 설정 패키지는 동일 벤더 또는 다른 벤더으로부터 발생되더라도 참이다.
이들 모든 설정에서는 서비스 프린서플의 생성과, ERA의 예를 이들 프린서플에 부속시키는 것을 포함한다.
그러나, 다른 ERA의 값, 특히, 정규 사용자 프린서플에 부속되는 ERA는 더욱 어렵게 관리되는데, 그 이유는 이들 ERA의 내용이 이질 등록부 및 패스워드 세기 서버와 연관된 정보에 종속하기 때문이다.
서버가 설정되는 경우 이들 서버와 연관된 적절한 정보에 대한 액세스를 기억하거나 혹은 구비하고, 이들 프린서플과 연관되도록 요구되는 ERA를 정의하는 캔 정보(canned information)를 갖는 관리 수단(administrative tool) 예를 들어, GUI의 도움없이도, 관리자는 장애가 되는 에러-푸룬 태스크(cumbersome, error-prone task)일 수 있는 새롭게 생성된 프린서플상에 이들 ERA의 예를 매뉴얼적으로 강제로 생성할 수 있다.
관련된 ERA는 잘 알려진 PWD_MGMT_BINDING와, FOREIGN_REGISTRY 및 PASSWORD_STRENGTH로 알려진 새로운 프린트 스트링(printstring) ERA를 포함한다.
이질 등록부 및 고객 세기 서버가 이러한 정보를 관리 수단과 통신시키는 방안은 정보를 pwsync 프린서플 자체에 부속시키는 것이다.
이들 태스크를 달성하는데 잘 알려진 OSF DCE 함수를 사용하는 이들 고객 또는 벤더-기록 관리 수단은 pwsync 프린서플에 부속된 ERA 정보를 간단하게 판독할 수 있으며, 이로 인해 새로운 사용자 프린서플이 정의될 때마다 관리 선택에 대한 정보를 디스플레이하는 것이 허용된다.
표 1의 PROT LVL UNIQ?는 특정 프로텍션 레벨이 단일 고객/서버쌍에 할당되는지 혹은 다중 쌍 사이에 공유될 수 있는지를 나타낸다.
예를 들어, 제2 및 제3 항목은 고유의 명백한 레벨의 제어를 갖는데, 그 이유는 pwsync와/의해 통신되는 각각의/모든 이질 등록부 또는 패스워드 세기 서버에 대해 각각의 ERA 인스턴스가 존재하기 때문이다.
따라서, 몇몇 이질 등록부가 상이한 프로텍션 레벨을 필요로 하는 경우, 이들 등록부가 수용되는데, 그 이유는 각각의 이질 등록부가 설정되는 동안 지정된 이들의 차이를 반영하기 위해 각각의 ERA가 존재하기 때문이다.
표 1의 아니오의 값은 지정된 프로텍션의 레벨이 모든 고객/서버 조합에 걸쳐 고유하지 않음을 나타낸다.
예를 들어 항목 4는 이질 등록부로부터의 모든 풀이 단일 질의 트리거 항목에 저장된 인증 정보에 종속되는 문제점을 갖는다.
스키마에서는 하나의 정의만이 존재하므로, PLAINTEXT_PASSWOD 정의는 모든 이질 등록부에 제공되며, 이로 인해 이들 등록부는 상이한 프로텍션 레벨을 사용할 수 없다.
다른 예는 사용자 프린서플에 접속된 동일 ERA가 두 개의 명백하게 상이한 오퍼레이션 사이의 프로텍션 레벨을 나타내는 항목 1 및 항목 5의 조합이다.
이것은 pwsync와 세기 API상의 secd 사이에 사용되고 패스워드 발생 API 요구에 대해 pwsync와 고객 머신 사이에 사용되는 상이한 프로텍션 레벨을 선택할 수 없게 한다.
표 1의 아니오의 경우, 상이한 벤더로부터의 이질 등록부 및 고객은 전형적으로 최소 공통 분모(lowest common denominator)로 동작하도록 요구되며, 이것은 이들에 대한 원문 패스워드 프로텍션이 존재하지 않을 경우에 발생될 수 있다.
동일 또는 호환가능한 벤더로부터의 이질 등록부 및 고객이 포함되는 동일 경우, 특정 고객/서버 쌍에 의해 제공되는 프로텍션이 최대로 사용될 수 있도록 다음과 같이 두가지 API에 대한 변경이 이루어질 수 있다 ;
1) PLAINTEXT_PASSWORD ERA 이름을 특정한 경우와 같이 인식하는데 변경되는 sec_rgy_attr_lookup_*API.
조회 트리거의 인증 정보의 부분은 포기될 것이며, 이로 인해 pwsync와 통신하는데 필요한 프린서플 및 CDS 정보가 보유된다.
적절한 인증 정보는 콜백(callback)을 secd에 제공하여 이러한 특정 이질 등록부에 대한 FOREIGN_REGISTRY_PW_PROP_BINDING의 값이 조회되도록 함으로써 달성된다.
이러한 인증 데이타는 조회 트리거에 저장된 인증 데이타와 상반된 바와 같이 이질 등록부에 대해 고유하다.
이러한 인증 데이타는 와이어상의 데이타를 보호하는 경우에 사용되는 프로텍트 레벨을 포함한다.
정의된 조회 트리거를 갖는 다른 ERA는 이러한 변화에 영향을 받지 않는다.
이들 ERA는 여러 가지 인증 레벨을 제어하는 파라미터를 포함하는 조회 트리거에 제공되는 모든 정보를 계속해서 사용할 수 있다.
한편, 상이하면서 호환하지 않는 벤더로부터의 DCE 이질 등록부는 동일 프로텍트 레벨을 사용해야 하며, 이것은 조회 트리거에 정의된다.
이러한 DCE 이질 등록부는 최소 공통 분모이어야 한다.
즉, 호환하지 않는 이질 등록부가 패킷 무결성만을 지원하는 경우, 모든 호환하지 않는 이질 등록부는 이하의 조건에 따라 동작해야 한다.
2) 소정의 주어진 사용자의 PWD_MGMT_BINDING에 저장된 프로텍스 레벨에 대한 적절한 값은 세기 API가 제공되는 경우 secd와 pwsync 사이에 허용되는 최대 레벨로 고려되어 진다.
그러나, 이 값은 발생 패스워드 요구시 정규 고객과 pwsync 사이에 사용하는 경우 매우 높을 수 있다.
따라서, sec_pwd_mgmt_gen_pwd의 IBM 버전에서는 어플리케이션 재시도 로직을 설정할 수 있다.
pktprivacy 를 지원하는데 부적절하여 초기값이 실패한 경우, 고객 로직은 cdmf 를 사용하여 재시도 할 것이다.
만일 초기 값이 실패하면, 고객 로직은 pktinteg를 사용할 것이다.
IBM 대신 다른 회사에 의해 CDMF 알고리즘이 이질 컨트리에 제공되지 못하는 경우, 이러한 스키마는 IBM DCE 고객에 대해 효율적이지만, 비-IBM DCE 고객에서는 구현될 수 없다.
비-호환 DCE 고객 머신이 PWD_MGMT_BINDING에 지정된 프로텍션 레벨을 지원할 수 없는 경우, 고객에 의한 패스워드 발생을 요구하는 임의의 시도는 실패할 것이다.
이러한 경우를 조정하기 위해 관리자에 대해 사용 가능한 옵션들은, 머신으로부터의 패스워드를 변경하길 원하는 주어진 프린서플이 패스워드 동기 서버가 발생한 패스워드가 제공되도록 하는 요건을 제거하는 옵션 또는, 이 프린서플에 대한 PWD_MGMT_BINDING에 지정되는 프로텍션 레벨을 패킷 무결성으로 떨어뜨리는 옵션을 포함한다.
후자의 옵션은 원문 패스워드를 이 프린서플에 대한 와이어상에 제공함으로써 원하는 기능을 보유한다.
새로운 ERA에 대한 스키마 정의는 이러한 패스워드 동기를 구현하는 경우에 필요하다.
예약된 플래그의 값은 이들 모든 ERA에 대해 참으로 세트되는데, 이 이유는 pwsync가 설치되면 스키마 정의의 불의의 삭제가 방지되어지기 때문이다.
관리자는 예약된 플래그를 거짓으로 세트시키고, 이어서 원하는 경우 스키마 정의를 삭제시킬 수 있다.
푸쉬 프로토콜의 지원에서는 새로운 RPC만이 존재한다.
함수 PROTOTYPE :
void rese_pwd_propagate(
[in]handle_t h,
[in]sec_rgy_name_t principal,
[in]char*password,
[in]sec_timeval_sec_t pwd_change_time,
[out]error_status_t*status
) :
PRC는 패스워드를 이질 등록부에 전송한다.
모든 이질 등록부는 동일한 셀내에서 패스워드 동기 서버로서 상주해야 한다.
또한, 모든 이질 등록부에는 사용자 이름 및 DCE 등록부 갱신 시간이 제공된다.
이질 등록부가 정보를 포기하길 원하거나 차후 전송 사이클 동안 매우 동일한 패스워드 변경 이벤트를 통보받지 않길 원하면, 이질 등록부는 성공적인 상태 메시지를 반환해야 한다.
소정의 원인으로 인해 이질 등록부가 현재 통지신호를 처리할 수 없는 상황에서 패스워드 동기 서버에 대해 차후 전송 사이클 동안 동일한 패스워드 변경 이벤트를 전송하고자 하는 경우, 실패 상태 메시지가 반환되어야 한다.
패스워드 풀 데이타베이스에 대한 액세스의 경우를 제외하고는, 내부 자원에 대한 모든 회선쟁탈(contention) 은 항상 상호 배타적이다.
이 경우에 대해 잠김 매크로(locking macrose)의 여분의 오버헤드를 취하면 바람직하지 않게 된다.
따라서, DCE 피스레드(pthread)의 뮤텍스(mutex) API에 대한 직접 호출은 자원이 자원이 임의의 종류의 공유 액세스에 견딜수 없을 때 사용된다.
본질적으로, 뮤텍스 획득은 기록 락(wirte lock)을 획득하는 것과 동일하며, 뮤텍스 홀더(mutex holder)는 다른 모든 수단이 뮤텍스를 획득하지 못하도록 하지만, 뮤텍스 호출의 상부의 락킹 로직(locking logic) 의 오버 헤드가 차단된다.
뮤텍스는 락 장치와 동일한 OSF DCE 피스레드 소자이며, 본 기술 분야에 잘 알려져 있다.
패스워드 풀 데이타베이스의 경우, 서버는 DCE 보안 서버(secd) 이후에 패터닝되고 패스워드 동기 서버를 사용하는데 적용되는 락킹 매크로 및 소프트웨어의 추가 오버헤드를 이용한다.
락킹 패러다임(locking paradigm) 은 초과 엔트리로 인해 풀 데이타베이스가 주기적으로 푸루닝되어 정렬될 때, 풀패스워드에 대한 요구가 차단되지 않으면서 ; 풀 데이타베이스내의 패스워드 변경에 대한 요구가 차단되도록 하는 경우에 사용된다.
이것은 피스레드 뮤텍스 루틴에 대한 직접 호출에 의해서도 용이하게 달성되지 않는다.
실제로, secd 락킹 인터페이스는 호출 스레드에 대한 조금 더 복잡한 인터페이스를 제공하고 ; 어떤 유형의 락이 현재 유지되고 얼마나 많은 수의 스레드에 의해 현재 유지되고 있는지에 관한 상태 정보를 유지하고 ; 상기 정보를 사용해서 피스레드의 뮤텍스 라이브러리가 소정의 호출 스레드를 차단하는데 호출되어지는지를 판정하도록 설계된 것이다.
전술한 바와 같이, 본 발명의 특성은 컴퓨터 시스템상에서 구현가능한 특정 방법 함수에 관한 것이다.
다른 실시예에서, 본 발명은 컴퓨터 시스템과 함께 사용하기 위해 컴퓨터 프로그램 제품으로 구현될 수 있다.
본 기술 분야에 통상의 지식을 가진 자라면, 본 발명의 함수를 정의하는 프로그램은 (a) 기록할 수 없는 저장 매체(예를 들어, 컴퓨터 I/O 부속장치 의해 판독 가능한 ROM 또는 CD-ROM 디스크와 같은 컴퓨터내의 판독 전용 메모리장치)에 영구적으로 저장되는 정보 : (b) 기록 가능한 저장 매체(예를 들어, 플로피 디스크 및 하드 드라이브)상에 저장되는 변경 가능한 정보 ; 또는 (c) 네트워크와 같은 통신 매체와 전화 네트워크를 통해 모뎀을 거쳐 컴퓨터에 제공되는 정보를 포함하지만 이것으로 한정되지 않고 여러 가지 형태로 켬퓨터에 제공될 수 있음을 명백하게 이해하여야 한다.
따라서, 본 발명의 방법 기능을 제공하는 컴퓨터 판독 가능한 인스트럭션이 제공될 경우 이러한 매체는 본 발명의 다른 실시예로 나타낼 수도 있음을 이해하여야 한다.
본 발명은 특히 바람직한 실시예를 참조하여 도시되고 기술되었지만, 본 기술 분야에 통상의 지식을 가진 자라면, 본 발명의 정신 및 영역을 벗어나지 않고서도 형태 및 세부사항에 있어 여러 가지 변경이 이루어질 수 있음을 이해할 것이다.
따라서, 본 발명은 이질 등록부가 메인 등록부내에서 보안 서버에 의해 보유된 등록부와 로컬 패스워드 동기를 유지하도록 허용하는 패스워드 동기 기능을 제공하는 효과가 있다.

Claims (73)

  1. 메인 데이타 저장 매체(a main data store)와 다수의 제2데이타 저장 매체(a plurality of secondart data stores)사이에 패스워드 동기(password synchronization)를 제공하는 네트워크 시스템 서버(a network system derver) 에 있어서, 상기 메인 데이타 저장 매체와 접속되는 보안 서버(a security server)와, 상기 보안 서버와 접속되고, 상기 메인 데이타 저장 매체를 액세스하고, 제각기 고유의 변경 가능한 패스워드(a unique, modifiable password)를 보유하는 다수의 고객(a plurality of clients)과 ; 상기 보안 서버 및 상기 다수의 제2데이타 저장 매체와 접속되고, 패스워드 전송 동기를 상기 다수의 고객들 중 하나와 연관된 사용자로부터 각각의 상기 제2데이타 저장 매체에 제공하여 상기 사용자가 상기 다수의 제2데이타 저장 매체들간에 하나의 고유 패스워드(a single, unique password)를 보유할 수 있도록 하는 패스워드 동기 서버(a password synchronization server)를 포함하는 네트워크 시스템 서버.
  2. 제1항에 있어서, 상기 메인 데이타 저장 매체는 사용자의 패스워드를 포함하는 상기 다수의 고객 각각에 대한 정보 어카운트(an information account)를 더 포함하는 네트워크 시스템 서버.
  3. 제1항에 있어서, 상기 메인 데이타 저장 매체는 상기 다수의 각각의 제2데이타 저장 매체를 상기 다수의 각각의 고객과 바인딩(binding)하는 상기 패스워드 동기 서버에 대한 정보 어카운트를 더 포함하는 네트워크 시스템 서버.
  4. 제1항에 있어서, 상기 메인 데이타 저장 매체는 각각의 상기 제2데이타 저장 매체에 대한 정보 어카운트를 더 포함하는 네트워크 시스템 서버.
  5. 제2항에 있어서, 상기 보안 서버는 클리어-텍스트 패스워드(a clear-text password)를 각각의 상기 다수의 제2데이타 저장 매체에 전송(propagate)하기 위해 상기 패스워드 동기 서버에 제공하는 네트워크 시스템 서버.
  6. 제5항에 있어서, 상기 보안 서버는 상기 클리어-텍스트 패스워드를 암호화하여 상기 정보 어카운트에 저장하는 수단을 포함하는 네트워크 시스템 서버.
  7. 제1항에 있어서, 상기 메인 데이타 저장 매체는 분산 컴퓨터 환경(a distributed computing environment)내의 메인 등록부(a main registry)이고, 상기 다수의 각각의 제2데이타 저장 매체는 메모리 저장 매체(a memory store)와 접속되는 이질 등록부 서버(a foreign registry server)인 네트워크 시스템 서버.
  8. 제1항에 있어서, 상기 패스워드 동기 서버에 접속되고, 전송 재시도(a propagation retry)를 지원하는 정보를 포함하고, 임시 이질 등록부 또는 패스워드 동기 서버의 동작이 실패(outage)한 경우 상기 패스워드 동기 서버가 전송 재시도를 수행할 수 있도록 하는 임시 메모리 및 로컬 데이타 저장 매체(a temporary memory and local data store)를 더 포함하는 네트워크 시스템 서버.
  9. 제1항에 있어서, 상기 패스워드 전송은 상기 로컬 데이타 저장 매체의 현재의 패스워드 상태와 관계없이 상기 다수의 로컬 데이타 저장 매체상에 부과되는 네트워크 시스템 서버.
  10. 제1항에 있어서, 상기 패스워드 동기 서버에 접속되고, 상기 패스워드를 저장하고, 상기 로컬 데이타 저장 매체들중 하나는 상기 패스워드 동기 서버를 거쳐 상기 패스워드를 검색하여 각각의 고객이 상기 다수의 로컬 데이타 저장 매체들간에 하나의 고유 패스워드를 보유할 수 있도록 하는 패스워드 저장 매체(a password repository)를 더 포함하는 네트워크 시스템 서버.
  11. 제1항에 있어서, 상기 패스워드 동기 서버에 접속되고, 상기 다수의 고객들간에 패스워드 무결성(password integrity)을 체크하여, 각각의 고객이 상기 메인 데이타 저장 매체에 대해 선택되는 규칙 세트(a ser of rules)와 일치하는 구성(composition)의 패스워드를 보유할 수 있도록 하는 다수의 패스워드 서버(a plurality of password servers)를 더 포함하는 네트워크 시스템 서버.
  12. 메인 데이타 저장 매체와 다수의 제2데이타 저장 매체간에 패스워드 동기를 제공하는 컴퓨터 프로그램 제품(a computer program product)에 있어서, 다수의 고객들중 하나와 연관된 사용자가 고유의 패스워드를 선택할 수 있도록 하는 컴퓨터 사용 가능한 코드 수단(computer usable code means)과 ; 패스워드 전송 동기를 상기 사용자로부터 각각의 상기 제2데이타 저장 매체에 제공해서, 상기 사용자가 상기 다수의 제2데이타 저장 매체들간에 하나의 고유 패스워드를 보유할 수 있도록 하는 컴퓨터 사용 가능한 코드 수단을 포함하는 컴퓨터 프로그램 제품.
  13. 제12항에 있어서, 사용자의 패스워드를 포함하는 상기 다수의 각각의 고객에 대한 정보 어카운트를 설정하는 컴퓨터 사용 가능한 코드 수단을 더 포함하는 컴퓨터 프로그램 제품.
  14. 제12항에 있어서, 상기 다수의 각각의 제2데이타 저장 매체를 상기 다수의 각각의 고객과 바인딩하는 정보 어카운트를 설정하는 컴퓨터 사용 가능한 코드 수단을 더 포함하는 컴퓨터 프로그램 제품.
  15. 제12항에 있어서, 각각의 상기 제2데이타 저장 매체에 대한 정보 어카운트를 설정하는 컴퓨터 사용 가능한 코드 수단을 더 포함하는 컴퓨터 프로그램 제품.
  16. 제13항에 있어서, 전송될 클리어-텍스트 패스워드를 상기 다수의 각각의 제2데이타 저장 매체에 제공하는 컴퓨터 사용 가능한 코드 수단을 더 포함하는 컴퓨터 프로그램 제품.
  17. 제16항에 있어서, 상기 정보 어카운트내에 저장하기 위해 상기 클리어-텍스트 패스워드를 암호화하는 컴퓨터 사용 가능한 코드 수단을 더 포함하는 컴퓨터 프로그램 제품.
  18. 제12항에 있어서, 임시 이질 등록부 또는 패스워드 동기 서버의 동작이 실패한 경우 전송 재시도를 수행하는 컴퓨터 사용 가능한 코드 수단을 더 포함하는 컴퓨터 프로그램 제품.
  19. 제12항에 있어서, 상기 패스워드 전송은 상기 제2데이타 저장 매체의 현재의 패스워드 상태와는 관계없이 상기 다수의 제2데이타 저장 매체상에 부과되는 컴퓨터 프로그램 제품.
  20. 제12항에 있어서, 패스워드 저장 매체를 설정하는 컴퓨터 사용 가능한 코드 수단과 ; 상기 패스워드를 상기 패스워드 저장 매체에 저장하는 컴퓨터 사용 가능한 코드 수단과 ; 상기 제2데이타 저장 매체들중 하나에 의해 상기 패스워드를 검색하여, 각각의 고객이 상기 다수의 제2데이타 저장 매체들간에 하나의 고유 패스워드를 보유할 수 있도록 하는 컴퓨터 사용 가능한 코드 수단을 더 포함하는 컴퓨터 프로그램 제품.
  21. 제12항에 있어서, 상기 다수의 고객들간에 패스워드 무결성을 체크하여, 각각의 고객이 상기 메인 데이타 저장 매체에 대해 선택되는 규칙의 세트와 일치하는 구성의 패스워드를 보유할 수 있도록 하는 컴퓨터 프로그램 제품.
  22. 메인 데이타 저장 매체와 다수의 제2데이타 저장 매체간에 패스워드 동기를 제공하는 방법에 있어서, 다수의 고객들중 하나의 연관된 사용자에 의해 선택된 고유의 패스워드를 상기 메인 데이타 저장 매체에 저장하는 단계와 ; 패스워드 동기를 상기 메인 데이타 저장 매체로부터 각각의 상기 제2데이타 저장 매체에 전송하여, 상기 사용자가 상기 다수의 제2데이타 저장 매체들간에 하나의 고유 패스워드를 보유할 수 있도록 하는 단계를 포함하는 패스워드 동기 제공 방법.
  23. 제22항에 있어서, 상기 사용자의 패스워드를 포함하는 상기 다수의 각각의 고객에 대한 정보 어카운트를 설정하는 단계를 더 포함하는 패스워드 동기 제공 방법.
  24. 제22항에 있어서, 각각의 상기 다수의 제2데이타 저장 매체를 각각의 상기 다수의 고객과 바인딩하는 정보 어카운트를 설정하는 단계를 더 포함하는 패스워드 동기 제공 방법.
  25. 제22항에 있어서, 각각의 상기 제2데이타 저장 매체에 대한 정보 어카운트를 설정하는 단계를 더 포함하는 패스워드 동기 제공 방법.
  26. 제23항에 있어서, 상기 사용자의 패스워드를 클리어-텍스트 패스워드를 제공하는 단계와 ; 상기 클리어-텍스트 패스워드를 상기 다수의 각각의 제2데이타 저장 매체에게 전송하는 단계를 더 포함하는 패스워드 동기 제공 방법.
  27. 제26항에 있어서, 상기 정보 어카운트에 저장하기 위해 상기 클리어-텍스트 패스워드를 암호화하는 단계를 더 포함하는 패스워드 동기 제공 방법.
  28. 제22항에 있어서, 임시 이질 등록부 또는 패스워드 동기 서버의 동작이 실패한 경우 전송 재시도를 수행하는 단계를 더 포함하는 패스워드 동기 제공 방법.
  29. 제22항에 있어서, 상기 패스워드 전송은 상기 제2데이타 저장 매체의 현재의 패스워드 상태와는 관계없이 상기 다수의 제2데이타 저장 매체상에 부과되는 패스워드 동기 제공 방법.
  30. 제22항에 있어서, 패스워드 저장 매체를 설정하는 단계와 ; 상기 패스워드를 상기 패스워드 저장 매체에 저장하고, 상기 제2데이타 저장 매체들중 하나는 상기 패스워드를 검색해서, 각각의 고객이 상기 다수의 제2데이타 저장 매체들간에 하나의 고유 패스워드를 보유할 수 있도록 하는 단계를 더 포함하는 패스워드 동기 제공 방법.
  31. 제22항에 있어서, 상기 다수의 고객들간에 패스워드 무결성을 체크하여, 각각의 고객이 상기 메인 데이타 저장 매체에 대해 선택되는 규칙의 세트와 일치하는 구성의 패스워드를 보유할 수 있도록 하는 패스워드 동기 제공 방법.
  32. 메인 데이타 저장 매체와 다수의 제2데이타 저장 매체간에 패스워드 동기를 제공하는 네트워크 시스템 서버에 있어서, 상기 메인 데이타 저장 매체에 접속되는 보안 서버와 ; 상기 보안 서버에 접속되고, 상기 메인 데이타 저장 매체를 액세스하고, 제각기 고유의 변경 가능한 패스워드를 보유하는 다수의 고객과 ; 상기 보안 서버 및 상기 다수의 제2데이타 저장 매체에 접속되는 패스워드 동기 서버와 ; 상기 패스워드 동기 서버에 접속되고, 상기 패스워드를 저장하고, 상기 로컬 데이타 저장 매체들 중 하나가 상기 패스워드 동기 서버를 거쳐 상기 패스워드를 검색하여 각각의 고객이 상기 다수의 로컬 데이타 저장 매체들간에 하나의 고유한 패스워드를 보유할 수 있도록 하는 패스워드 저장 매체를 포함하는 네트워크 시스템 서버.
  33. 제32항에 있어서, 상기 메인 데이타 저장 매체는 사용자의 패스워드를 포함하는 상기 eitntml 각각의 고객에 대한 정보 어카운트를 더 포함하는 네트워크 시스템 서버.
  34. 제32항에 있어서, 상기 메인 데이타 저장 매체는 상기 다수의 각각의 제2데이타 저장 매체를 상기 다수의 각각의 고객과 바인딩하는 상기 패스워드 동기 서버에 대한 정보 어카운트를 포함하는 네트워크 시스템 서버.
  35. 제32항에 있어서, 상기 메인 데이타 저장 매체는 각각의 상기 제2데이타 저장 매체에 대한 정보 어카운트를 더 포함하는 네트워크 시스템 서버.
  36. 제33항에 있어서, 상기 보안 서버는 상기 다수의 제2데이타 저장 매체들중 상기 하나의 저장 매체에 의해 검색하기 위해 클리어-텍스트 패스워드를 상기 패스워드 동기 서버에 제공하는 네트워크 시스템 서버.
  37. 제36항에 있어서, 상기 보안 서버는 상기 정보 어카운트내에 저장하기 위해 상기 클리어-텍스트 패스워드를 암호화하는 수단을 포함하는 네트워크 시스템 서버.
  38. 제32항에 있어서, 상기 패스워드 동기 서버에 접속되고, 전송 재시도를 지원하는 정보를 포함하고, 임시 이질 등록부 또는 패스워드 동기 서버의 동작이 실패한 경우 상기 패스워드 동기 서버가 전송 재시도를 수행할 수 있도록 임시 메모리 데이타 저장 매체를 더 포함하는 네트워크 시스템 서버.
  39. 제32항에 있어서, 상기 패스워드 검색은 상기 로컬 데이타 저장 매체의 현재의 패스워드 상태와는 관계없이 상기 다수의 제2데이타 저장 매체들중 적어도 하나의 저장 매체에 의해 활성화(instigate)되는 네트워크 시스템 서버.
  40. 메인 데이타 저장 매체와 다수의 제2데이타 저장 매체간에 패스워드 동기를 제공하는 컴퓨터 프로그램 제품에 있어서, 상기 메인 데이타 저장 매체와 접속되는 각각의 다수의 고객들중 하나에 대해 고유의 변경 가능한 패스워드를 보유하는 컴퓨터 사용 가능한 코드 수단과 ; 상기 제2데이타 저장 매체들중 하나에 대한 상기 패스워드를 검색하여, 각각의 고객이 상기 다수의 제2데이타 저장 매체들간에 하나의 고유 패스워드를 보유할 수 있도록 하는 컴퓨터 사용 가능한 코드 수단을 포함하는 컴퓨터 프로그램 제품.
  41. 제40항에 있어서, 사용자의 패스워드를 포함하는 각각의 상기 다수의 고객에 대한 정보 어카운트를 제공하는 컴퓨터 사용 가능한 코드 수단을 더 포함하는 컴퓨터 프로그램 제품.
  42. 제40항에 있어서, 상기 다수의 각각의 제2데이타 저장 매체를 상기다수의 각각의 고객과 바인딩하는 컴퓨터 사용 가능한 코드 수단을 더 포함하는 컴퓨터 프로그램 제품.
  43. 제41항에 있어서, 상기 사용자의 고유 패스워드를 기초하여 클리어-텍스트 패스워드를 제공하는 컴퓨터 사용 가능한 코드 수단과 ; 상기 다수의 제2데이타 저장 매체들중 상기 하나의 데이타 저장 매체에 의해 상기 클리어-텍스트 패스워드를 검색하는 컴퓨터 사용 가능한 코드 수단을 더 포함하는 컴퓨터 프로그램 제품.
  44. 제43항에 있어서, 상기 클리어-텍스트 패스워드를 암호화하는 컴퓨터 사용 가능한 코드 수단과 ; 상기 암호화된 클리어-텍스트 패스워드를 정보 어카운트에 저장하는 컴퓨터 사용 가능한 코드 수단을 더 포함하는 컴퓨터 프로그램 제품.
  45. 제40항에 있어서, 임시 이질 등록부 또는 패스워드 동기 서버의 동작이 실패한 경우 전송 재시도를 수행하는 컴퓨터 사용 가능한 코드 수단을 더 포함하는 컴퓨터 프로그램 제품.
  46. 제40항에 있어서, 상기 패스워드 검색은 상기 제2데이타 저장 매체의 현재의 패스워드 상태와는 관계없이 상기 다수의 제2데이타 저장 매체들중 적어도 하나의 데이타 저장 매체에 의해 활성화되는 컴퓨터 프로그램 제품.
  47. 제40항에 있어서, 상기 다수의 고객들간에 패스워드 무결성을 체크하여, 각각의 고객이 상기 메인 데이타 저장 매체에 대해 선택되는 규칙 세트와 일치하는 구성의 패스워드를 보유할 수 있도록 하는 컴퓨터 사용 가능한 코드 수단을 더 포함하는 컴퓨터 프로그램 제품.
  48. 메인 데이타 저장 매체와 다수의 제2데이타 저장 매체간에 패스워드 동기를 제공하는 방법에 있어서, 상기 메인 데이타 저장 매체에 접속되고, 다수의 각각의 고객들에 대해 고유의 변경 가능한 패스워드를 보유하는 단계와 ; 상기 제2데이타 저장 매체들중 하나의 데이타 저장 매체에 대한 상기 패스워드를 검색하여, 각각의 고객이 상기 다수의 제2데이타 저장 매체들간에 하나의 고유 패스워드를 보유할 수 있도록 하는 단계를 포함하는 패스워드 동기 제공 방법.
  49. 제48항에 있어서, 사용자의 패스워드를 포함하는 상기 다수의 각각의 고객에 대한 정보 어카운트를 제공하는 단계를 더 포함하는 패스워드 동기 제공 방법.
  50. 제48항에 있어서, 상기 다수의 각각의 제2데이타 저장 매체를 상기 다수의 각각의 고객과 바인딩하는 단계를 더 포함하는 패스워드 동기 제공 방법.
  51. 제49항에 있어서, 상기 다수의 제2데이타 저장 매체들중 상기 하나의 데이타 저장 매체에 의해 검색하기 위해 클리어-텍스트 패스워드를 제공하는 단계를 더 포함하는 패스워드 동기 제공 방법.
  52. 제51항에 있어서, 상기 클리어-텍스트 패스워드를 암호화하는 단계와 ; 상기 암호화된 클리어-텍스트 패스워드를 정보 어카운트내에 저장하는 단계를 더 포함하는 패스워드 동기 제공 방법.
  53. 제48항에 있어서, 임시 이질 등록부 또는 패스워드 동기 서버의 동작이 실패한 경우 전송 재시도를 수행하는 단계를 더 포함하는 패스워드 동기 제공 밥법.
  54. 제48항에 있어서, 상기 패스워드 검색은 상기 제2데이타 저장 매체의 현재의 패스워드 상태와는 관계없이 상기 다수의 제2데이타 저장들중 적어도 하나에 의해 활성화되는 패스워드 동기 제공 방법.
  55. 제48항에 있어서, 상기 다수의 고객들간의 패스워드를 체크하여, 각각의 고객이 상기 메인 데이타 저장 매체에 대해 선택되는 규칙의 세트와 일치하는 구성의 패스워드를 보유할 수 있도록 하는 단계를 더 포함하는 패스워드 동기 제공 방법.
  56. 다수의 고객에 대해 패스워드 구성 체크 동작(password composition checking)을 제공하는 네트워크 시스템 서버에 있어서, 메인 데이타 저장 매체와 ; 상기 메인 데이타 저장 매체 및 상기다수의 고객과 접속되는 보안 서버와 ; 상기 보안 서버에 접속되는 패스위드 동기 서버와 ;상기 패스워드 동기 서버에 접속되고, 상기 다수의 고객들간에 패스워드 무결성을 제공하여, 각각의 고객이 상기 네트워크 서버 시스템과 일치하는 구성의 패스워드를 보유할 수 있도록 하는 다수의 패스워드 세기 서버를 포함하는 네트워크 시스템 서버.
  57. 제56항에 있어서, 상기 메인 데이타 저장 매체는 사용자의 패스워드를 포함하는 각각의 상기 다수의 고객에 대한 정보 어카운트를 더 포함하는 네트워크 시스템 서버.
  58. 제56항에 있어서, 상기 메인 데이타 저장 매체는 각각의 상기 다수의 패스워드 세기 서버를 각각의 상기 다수의 고객과 바인딩하는 상기 다수의 패스워드 세기 서버에 대한 정보 어카운트를 더 포함하는 네트워크 시스템 서버.
  59. 제57항에 있어서, 상기 보안 서버는 차후에 상기 패스워드 세기 서버에 라우팅하기 위해 클리어-텍스트 패스워드를 상기 패스워드 동기 서버에 제공하는 네트워크 시스템 서버.
  60. 제59항에 있어서, 상기 보안 서버는 상기 정보 어카운트내에 저장하기 위해 상기 클리어-텍스트 패스워드를 암호화하는 수단을 포함하는 네트워크 시스템 서버.
  61. 제56항에 있어서, 각각의 상기 패스워드 세기 서버는 패스워드 구성 체크 수행에 대해 유일하게 프로그램 가능한 네트워크 시스템 서버.
  62. 다수의 고객에 대해 패스워드 구성 체크 동작을 제공하는 컴퓨터 프로그램 제품에 있어서, 상기 다수의 고객들중 하나와 연관된 사용자에 의해 패스워드를 선택하는 컴퓨터 사용 가능한 코드 수단과, 각각의 고객과 연관되고, 상기 다수의 고객들간의 상기 선택된 패스워드의 무결성을 체크하여, 각각의 고객이 상기 다수의 고객이 오퍼레이팅하는 네트워크 서버 시스템과 일치하는 구성의 패스워드를 보유할 수 있도록 하는 컴퓨터 사용 가능한 코드 수단을 포함하는 컴퓨터 프로그램 제품.
  63. 제62항에 있어서, 사용자의 패스워드를 포함하는 상기 다수의 각각의 고객에 대한 정보 어카운트를 제공하는 컴퓨터 사용 가능한 코드 수단을 더 포함하는 컴퓨터 프로그램 제품.
  64. 제62항에 있어서, 상기 다수의 각각의 패스워드 체크 코드 수단을 상기 다수의 각각의 고객과 바인딩하는 컴퓨터 사용 가능한 코드 수단을 더 포함하는 컴퓨터 프로그램 제품.
  65. 제63항에 있어서, 클리어-텍스트 패스워드를 각각의 상기 패스워드 세기 서버에 라우팅하는 컴퓨터 사용 가능한 코드 수단을 더 포함하는 컴퓨터 프로그램 제품.
  66. 제65항에 있어서, 상기 정보 어카운트내에 저장하기 위해 상기 클리어-텍스트 패스워드를 암호화하는 컴퓨터 사용 가능한 코드 수단을 더 포함하는 컴퓨터 프로그램 제품.
  67. 제62항에 있어서, 각각의 상기 패스워드 체크 코드 수단은 패스워드 구성 체크를 수행하는 것에 대해 유일하게 프로그램 가능한 컴퓨터 프로그램 제품.
  68. 다수의 고객에 대해 패스워드 구성 체크를 수행하는 방법에 있어서, 상기 다수의 고객들간의 패스워드 무결성을 체크하여, 각각의 고객이 상기 다수의 고객이 오퍼레이팅하는 네트워크 서버 시스템과 일치하는 구성의 패스워드를 보유할 수 있도록 하는 단계를 포함하는 패스워드 구성 체크 수행 방법.
  69. 제68항에 있어서, 사용자의 패스워드를 포함하는 각각의 상기 다수의 고객에 대한 정보 어카운트를 제공하는 단계를 더 포함하는 패스워드 구성 체크 수행 방법.
  70. 제68항에 있어서, 다수의 각각의 패스워드 세기 서버를 상기 다수의 각각의 고객과 바인딩하는 단계를 더 포함하는 패스워드 구성 체크 수행 방법.
  71. 제69항에 있어서, 클리어-텍스트 패스워드를 상기 다수의 각각의 제2데이타 저장 매체에 전송하는 단계를 더 포함하는 패스워드 구성 체크 수행 방법.
  72. 제71항에 있어서, 상기 클리어-텍스트 패스워드를 암호화하는 단계와 ; 상기 암호화된 클리어-텍스트 패스워드를 상기 정보 어카운트에 저장하는 단계를 더 포함하는 패스워드 구성 체크 수행 방법.
  73. 제68항에 있어서, 상기 패스워드 체크 단계는 패스워드 구성 체크를 수행하는 것에 대해 상기 패스워드 체크에 대한 패스워드 구성 규칙의 세트를 변경하는 단계를 더 포함하는 패스워드 구성 체크수행 방법.
KR1019960042935A 1995-11-13 1996-09-30 네트워크 시스템 서버, 패스워드 동기 제공 방법, 컴퓨터 프로그램 제품 및 패스워드 구성 체크 수행 방법 KR100218623B1 (ko)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US8/557,755 1995-11-13
US08/556,724 1995-11-13
US08/557,754 US5862323A (en) 1995-11-13 1995-11-13 Retrieving plain-text passwords from a main registry by a plurality of foreign registries
US08/557,755 US5832211A (en) 1995-11-13 1995-11-13 Propagating plain-text passwords from a main registry to a plurality of foreign registries
US8/556,724 1995-11-13
US08/556,724 US5838903A (en) 1995-11-13 1995-11-13 Configurable password integrity servers for use in a shared resource environment
US8/557,754 1995-11-13
US08/557,754 1995-11-13
US08/557,755 1995-11-13

Publications (2)

Publication Number Publication Date
KR970029155A KR970029155A (ko) 1997-06-26
KR100218623B1 true KR100218623B1 (ko) 1999-09-01

Family

ID=27415727

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960042935A KR100218623B1 (ko) 1995-11-13 1996-09-30 네트워크 시스템 서버, 패스워드 동기 제공 방법, 컴퓨터 프로그램 제품 및 패스워드 구성 체크 수행 방법

Country Status (3)

Country Link
EP (1) EP0773489B1 (ko)
KR (1) KR100218623B1 (ko)
DE (1) DE69618325T2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020016485A (ko) * 2000-08-25 2002-03-04 오상균 소프트웨어를 활용한 인터넷상의 아이디/패스워드 관리 및인터넷 접속방법에 관한 건

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6240184B1 (en) * 1997-09-05 2001-05-29 Rsa Security Inc. Password synchronization
WO1999056194A2 (en) * 1998-04-30 1999-11-04 Ec Cubed, Inc. System and method for authenticating a user to multiple servers in a distributed computing network
FI106281B (fi) * 1998-08-25 2000-12-29 Nokia Networks Oy Menetelmä ja järjestelmä salasanan hyväksymiseksi
JP2000187646A (ja) * 1998-12-22 2000-07-04 Mitsubishi Electric Corp 情報転送システム
AU3065301A (en) * 2000-01-28 2001-08-07 Telefonaktiebolaget Lm Ericsson (Publ) Single logon system and method for distributed software applications
US6986038B1 (en) * 2000-07-11 2006-01-10 International Business Machines Corporation Technique for synchronizing security credentials from a master directory, platform, or registry
US7222173B2 (en) 2003-02-10 2007-05-22 International Business Machines Corporation Limited knowledge of configuration information of a FICON controller
ATE520240T1 (de) * 2007-09-20 2011-08-15 Nokia Siemens Networks Oy Passwortaktualisierung in einem kommunikationssystem
KR101648157B1 (ko) * 2010-04-22 2016-08-12 조현준 패스워드검색장치 및 방법
CN102882870A (zh) * 2012-09-25 2013-01-16 鸿富锦精密工业(深圳)有限公司 帐号管理系统及方法
US9372986B1 (en) 2014-12-16 2016-06-21 International Business Machines Corporation Selective password synchronization

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0329415A3 (en) * 1988-02-17 1992-02-26 Digital Equipment Corporation Expert system for security inspection of a digital computer system in a network environment
US5241594A (en) * 1992-06-02 1993-08-31 Hughes Aircraft Company One-time logon means and methods for distributed computing systems
US5394471A (en) * 1993-09-17 1995-02-28 Bell Atlantic Network Services, Inc. Method and system for proactive password validation

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020016485A (ko) * 2000-08-25 2002-03-04 오상균 소프트웨어를 활용한 인터넷상의 아이디/패스워드 관리 및인터넷 접속방법에 관한 건

Also Published As

Publication number Publication date
EP0773489A1 (en) 1997-05-14
DE69618325T2 (de) 2002-09-19
KR970029155A (ko) 1997-06-26
DE69618325D1 (de) 2002-02-07
EP0773489B1 (en) 2002-01-02

Similar Documents

Publication Publication Date Title
US5862323A (en) Retrieving plain-text passwords from a main registry by a plurality of foreign registries
US5832211A (en) Propagating plain-text passwords from a main registry to a plurality of foreign registries
US5838903A (en) Configurable password integrity servers for use in a shared resource environment
US6052785A (en) Multiple remote data access security mechanism for multitiered internet computer networks
Pfaff et al. The open vswitch database management protocol
US6192405B1 (en) Method and apparatus for acquiring authorized access to resources in a distributed system
US6978381B1 (en) Enhancement to a system for automated generation of file access control system commands
EP0794479B1 (en) Method and apparatus for providing dynamic network file system client authentication
US6058426A (en) System and method for automatically managing computing resources in a distributed computing environment
US5481720A (en) Flexible interface to authentication services in a distributed data processing environment
EP1014249B1 (en) Method and apparatus for automatic user authentication to a plurality of servers through single logon
US7080224B2 (en) Data processing method with restricted data arrangement, storage area management method, and data processing system
JPH04310188A (ja) 文書/画像ライブラリのためのライブラリサービス方法
US6973463B2 (en) Replication architecture for a directory server
US20030088656A1 (en) Directory server software architecture
JP2004533046A (ja) プラグ対応認可システムに対するサーバサポート方法およびシステム
JP2010237898A (ja) ログイン処理装置、ログイン処理方法及びプログラム
KR100218623B1 (ko) 네트워크 시스템 서버, 패스워드 동기 제공 방법, 컴퓨터 프로그램 제품 및 패스워드 구성 체크 수행 방법
US7917636B2 (en) System and method for detecting unused accounts in a distributed directory service
US20040006590A1 (en) Service for locating centralized schema-based services
US20030088648A1 (en) Supporting access control checks in a directory server using a chaining backend method
Cisco The AA Database
Cisco The AA Database
Cisco The AA Database
Cisco The AA Database

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120525

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20130524

Year of fee payment: 15

LAPS Lapse due to unpaid annual fee