JP6446032B2 - ディレクトリー・サービス間における資格証明ハッシュの同期 - Google Patents

ディレクトリー・サービス間における資格証明ハッシュの同期 Download PDF

Info

Publication number
JP6446032B2
JP6446032B2 JP2016511818A JP2016511818A JP6446032B2 JP 6446032 B2 JP6446032 B2 JP 6446032B2 JP 2016511818 A JP2016511818 A JP 2016511818A JP 2016511818 A JP2016511818 A JP 2016511818A JP 6446032 B2 JP6446032 B2 JP 6446032B2
Authority
JP
Japan
Prior art keywords
password
data
service
credentials
computer
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2016511818A
Other languages
English (en)
Other versions
JP2016522932A5 (ja
JP2016522932A (ja
Inventor
ルク,ジョナサン・エム
ゴードン,アリエル・エヌ
チッカマガラル,ラマン・エヌ
エルマルキ,ジアド
グベンコ,セルギイ
チャンダー,ギリシュ
ソマセカラン,アナンディ
サタゴパン,ムルリ・ディー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2016522932A publication Critical patent/JP2016522932A/ja
Publication of JP2016522932A5 publication Critical patent/JP2016522932A5/ja
Application granted granted Critical
Publication of JP6446032B2 publication Critical patent/JP6446032B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • H04L9/16Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms the keys or algorithms being changed during operation
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Description

[0001] 増々多くの組織が、単にオンプレミス・アプリケーションやリソースを使用するだけでなく、クラウド・サービス・アプリケーションおよびリソースを使用しつつある(ここで、「オンプレミス」とは、クラウドとは対照的に、いずれの物理的位置にも関係なく、組織の制御下にあることを指す)。オンプレミス・アプリケーションおよびリソースと同様に、既存のクラウド・サービスにアクセスするには、ユーザーは資格証明(credential)を必要とする。尚、組織の中には(通例非常に小さな組織)、それらの資格証明に基づくアイデンティティ・インフラストラクチャーおよびアプリケーションのためにのみクラウドを使用するものもある、つまり、資格証明に基づく認証を扱うためにクラウドを使用するものもあることを注記しておく。
[0002] 非常に大きな組織は、ユーザーを認証するために、そしてアプリケーションがユーザー・アカウントおよびアカウント間の関係を発見するために、ディレクトリー・サービスをオンプレミスで実行する(一例に、そのドメイン・コントローラー・サーバーを含むMicrosoft CorporationのActive Directory(登録商標)がある)。とりわけ、これは、このような組織が、データーをクラウドに提供するよりはむしろセキュリティの目的のために、それらの資格証明に関係するデーターの完全な制御を保持することを可能にする。大きな組織は、連携/連携サービス(federation/federation service)と呼ばれるとよいもの(例えば、Active Directory(登録商標)のシナリオにおいて)を使用する。これは、個々のユーザーがクラウドにおけるリソースにアクセスするためにそれらのオンプレミス資格証明を利用するメカニズムを含む。資格証明は、同期されず、代わりに、クラウドがログイン要求等を、認証のためにオンプレミス・アイデンティティ・インフラストラクチャーに送り、ユーザーが1回だけサインインすることで済ませることができる。
[0003] しかしながら、連携は、設置および維持するのに比較的多大な費用がかかり、したがって大きな組織だけが連携を使用する傾向がある。多くのもっと小さな組織は、同じユーザー名およびパスワードを使用して、クラウド・リソースおよびアプリケーションだけでなく、オンプレミス・リソースおよびアプリケーションにもアクセスすることを望む。しかしながら、連携がないと、オンプレミス資格証明およびクラウド資格証明を扱うための何らかの方法が必要となる。
[0004] 1つの解決手段は、ターゲット・ディレクトリー・サービスへのトランスポートのために平文ユーザー・パスワードを傍受することである。平文ユーザー・パスワードは、アイデンティティ・インフラストラクチャーにおいて全てのサーバー/データーベースに複製することができる。しかしながら、これは、特にクラウド発見サービスがターゲットであるときに、危険である可能性がある。更に、全てのユーザー・パスワード変更イベントを取り込むためには、ターゲット・ディレクトリー・サービスにおける各サーバーにおいて、ソフトウェアを構成する必要がある。欠点の中でもとりわけ、これは維持するのが非効率的で不便である。
[0005] 多くの会社は、セキュリティの理由のために、オンプレミス資格証明データーをクラウドに放出することを望まず、これが認証の問題を引き起こす。1つの解決手段は、ユーザーがクラウド・アプリケーションにアクセスするために1組の資格証明を発行し、更にユーザーがオンプレミス・アプリケーションにアクセスするために他の1組の資格証明を発行することである。これも、維持するのが非効率で不便である。
[0006] この摘要は、詳細な説明において以下で更に説明する代表的な概念から選択したものを、簡略化した形態で紹介するために設けられている。この摘要は、特許請求する主題の主要な特徴や必須の特徴を特定することを意図するのではなく、特許請求する主題の範囲を限定するように使用されることは全く意図していない。
[0007] 端的に言うと、本明細書において説明する主題の種々の形態は、同じ資格証明がソース位置およびターゲット位置において使用できるように、ソース位置からターゲット位置に変更されるパスワードを安全に同期させることを対象とする。1つの形態では、平文パスワードに基づいて計算されるハッシュ値を受ける。このハッシュ値は、ソース・サービスにおけるパスワード変更イベントに応答して計算されたものである。ハッシュ値に対応するデーターは、ターゲット・サービスにエクスポートされ、アイデンティティ認証における使用のために、新たなパスワードをターゲット・サービスに同期させる。ハッシュ値に対応するデーターは、二次的に、二次ハッシュ・アルゴリズムを使用して、パスワード保護ブロブにハッシュされてもよい。
[0008] 1つの形態では、同期ホスト・プロセスがドメイン・メッシュに結合される。同期ホスト・プロセスは、ドメイン・メッシュにおいて受けたパスワード変更を、メッシュ外部のターゲット・ディレクトリー・サービス(例えば、クラウド・ディレクトリー・サービス)と同期させるように構成される。同期ホスト・プロセスは、平文パスワードを表すハッシュ値をドメイン・メッシュから得て、少なくとも1つの二次ハッシュ・アルゴリズムによってこのハッシュ値を処理して秘密保護ブロブ(secret- protected blob)を求め、この秘密保護ブロブをターゲット・ディレクトリー・サービスにエクスポートする。同期ホスト・プロセスは、メッシュのコンポーネントに結合されここからハッシュ値を得るか、またはメッシュに結合されてもよく、このコンポーネントは、メッシュの任意のドメイン・コントローラーにおいて行われたパスワード変更に対応する複製パスワード変更データーを受けるように構成される。
[0009] 1つの態様では、平文パスワードに対応する被保護ブロブを含む複数組のデーターが維持される。各ブロブは、アイデンティティと関連付けられ、ブロブは、少なくとも2つのハッシング・アルゴリズムによって平文パスワードから計算される。他のハッシング・アルゴリズムによって計算された他のブロブがアイデンティティと関連付けられ、前述のブロブをこの他のブロブと交換することによって関連付けることを含む。これは、アイデンティティ毎にブロブを他のハッシング・アルゴリズムによって計算し、アイデンティティ毎に含ませ、そのアイデンティティに関連するブロブをハッシュして、そのアイデンティティに対する他のブロブを求めることによって遂行することができる。また、これは、オンプレミス・ディレクトリー・サービス・コンポーネントから他のブロブを受け、他のハッシング・アルゴリズムに対応する情報を識別する情報を受けることによって遂行することもできる。
[0010] 他の利点も、以下の詳細な説明を図面と関連付けて検討することにより、明白となるであろう。
[0011] 添付図面において、一例としてそして限定ではなく、本発明を図示する。図面においては、同様の参照番号は同様のエレメントを示すこととする。
図1は、一実現例にしたがって、オンプレミス・ディレクトリー・サービスにおいてクラウド・ディレクトリー・サービスに対して行われたパスワード変更を同期させるように構成されたコンポーネント例を表すブロック図である。 図2は、一実現例にしたがって、ソース・ディレクトリー・サービスにおけるパスワード変更をターゲット・ディレクトリー・サービスに安全に同期させるために実行することができるステップ例を表す流れ図である。 図3は、一実現例にしたがって、任意のドメイン・コントローラーにおいて行われたオンプレミス・ディレクトリー・サービス・パスワード変更を、1つのコンポーネントによって、クラウド・ディレクトリー・サービスに同期させるように構成されたコンポーネント例を表すブロック図である。 図4は、一実現例にしたがって、安全なパスワード同期動作全体において実行することができるステップ例を表す流れ図である。 図5は、一実現例にしたがって、安全に同期されたパスワード関係データーを使用するログオン試行の間にユーザーを認証するために実行することができるステップ例を表す流れ図である。 図6は、一実現例にしたがって、二次ハッシング・アルゴリズムおよび1組のユーザーのために維持されたパスワード関係データーを変更するために実行することができるステップ例を表す流れ図である。 図7は、本明細書において説明する種々の実施形態を実現することができる、非限定的なネットワーク接続環境例を表すブロック図である。 図8は、本明細書において説明する種々の実施形態の1つ以上の形態を実現することができる、非限定的な計算システムまたは動作環境例を表すブロック図である。
[0020] 本明細書において説明する技術の種々の形態は、全体的に、オンプレミス・リソース・アクセスおよびクラウド・リソース・アクセスの双方に、1組の資格証明が使用されることを可能にするパスワード同期技術を対象とする。理解されるであろうが、この技術は、比較的単純にオンプレミスを設置および維持しつつ、同時に安全である解決手段を提供する。
[0021] 1つの形態では、同期エージェントが、オンプレミス・ディレクトリー・サービスからのクラウド・ディレクトリー・サービスとの同期動作を実行する。一実現例では、ドメイン・メッシュ内の各ドメイン・コントローラーにおいて実行するのではなく、この同期エージェントをドメイン・コントローラー・メッシュに1つのコンポーネントとして追加することができる(例えば、ドメインに結合された1つのマシンにおいて実行する)。
[0022] 1つの形態では、最初に1つ以上のハッシュ・アルゴリズムを使用してパスワードをハッシュすることによって、オンプレミス・ディレクトリー・サービスにおいて維持される資格証明が、クラウド・ディレクトリー・サービスと同期される。一次ハッシュが使用され、少なくとも1つの二次ハッシュと組み合わせて使用されてもよい。平文パスワードは決してクラウドに送られない。
[0023] 1つの形態では、本技術は、ユーザーが彼らの既存のパスワードを変更する必要なく、またそうでなければユーザーの平文パスワードを再度取り込む必要なく、オンプレミス・システムに、新たな一次ハッシュ・アルゴリズムに切り替えさせることをサポートする。更に、二次ハッシュ・アルゴリズムが劣化した場合、または更に安全な二次ハッシュ・アルゴリズムを使用することが望ましくなった場合、ユーザーが彼らの既存のパスワードを変更する必要なく、またそうでなければユーザーの平文パスワードを再度取り込む必要なく、二次ハッシュ・アルゴリズムを変更することができる。
[0024] 尚、本明細書における例はいずれも非限定的であることは理解されてしかるべきである。例えば、本明細書における例の多くは、一般に、Active Directory(登録商標)のような、ディレクトリー・サービス環境において説明される。しかしながら、同様のアイデンティティ・インフラストラクチャー/環境はいずれも、本明細書において説明する技術から利益を得ることができる。更に、これらの例は安全な資格証明同期を対象とするが、安全に同期される必要がある他のタイプのデーターも、本明細書において説明する技術から利益を得ることができる。したがって、本発明は、本明細書において説明する特定の実施形態、形態、概念、構造、機能、そして例のいずれにも限定されない。逆に、本明細書において説明する実施形態、形態、概念、構造、機能、および例はいずれも非限定的であり、本発明は、データー同期、データー・セキュリティ、および/またはクラウド・サービス一般において利益および利点を提供する種々の方法で使用することができる。
[0025] 図1は、オンプレミス・コンポーネントからクラウド・ディレクトリー・サービス102への資格証明データーを含むデーターを安全に同期させるために使用することができるコンポーネント例を示すブロック図である。オンプレミス・コンポーネント104は、パスワード同期エージェント108を含む同期ホスト・プロセス106(例えば、アイデンティティ管理同期エンジン)を含む。一般に、同期ホスト・プロセス106は、ソース・ディレクトリー・サービス110からの資格証明の引き出しおよびエクスポートを能動的に駆動するプロセスを含む。
[0026] 一実現例では、同期はパスワード同期エージェント108によって遂行される。パスワード同期エージェント108は、該当するインターフェース112を介してオンプレミス(ローカル)ディレクトリー・サービス108(ソース・ディレクトリー)にコールして、以下で説明するように、ハッシュされたパスワードを含む資格証明関係データーを得る。ハッシュされたパスワードの内最後の同期時以降に変更されたもの(デルタ)のみを得るように、コールは同期タイムスタンプを与えることができる。例えば、Active Directory(登録商標)は公に文書化されたAPI(IDL DRSGetNCChanges)を有し、これがコールされると、与えられたタイムスタンプ以降の変更のリストを引き出して戻す。与えられたタイムスタンプは、パスワード同期エージェント108によって与えられた最後の同期時刻である。変更データーがパスワード関係データーよりも多くを含むシナリオでは、同期エージェント108は、戻されたデーターを解析/フィルタリングして、最後の同期時刻以降に更新された1組の資格証明を判定する。
[0027] 1組の変更された資格証明は、1組のハッシュされた資格証明として、パスワード同期エージェント108に戻される。一実現例では、これらのハッシュは、同期ホスト・プロセス106によっても、パスワード同期エージェント108によっても保存されず、資格証明ハッシュをターゲット・ディレクトリー・サービス、例えば、図1におけるクラウド・ディレクトリー・サービス102に同期させる試行において一時的に使用されるだけである。一実現例では、オンプレミス・パスワード・ハッシュは、ターゲット(クラウド)ディレクトリー・サービス102に送られる前に、ランダム生成(ソルト)値を使用して、複数回繰り返して二次的にハッシュされる。
[0028] 一実現例では、パスワード同期エージェント108は、範囲内アイデンティティ(in-scope identities)(範囲は、アイデンティティ・インフラストラクチャーにおいて周知の概念である)の資格証明のみをターゲット・ディレクトリー・サービス102に同期させようとする。範囲外アイデンティティに属する資格証明は、ターゲット・ディレクトリー・サービス102に同期されない。更に、ターゲット・ディレクトリー・サービス102にプロビジョニングされていないアイデンティティに属する資格証明も同期されず、代わりに、そのアイデンティティがターゲット・ディレクトリー・サービス102において首尾良くプロビジョニングされたときに、後の時点においてこれらを同期させることができる。
[0029] 図1において、クラウド管理エージェント114として表されるターゲット・ディレクトリー・コネクター・コンポーネントは、ハッシュされた資格証明のクラウド116へのエクスポートを扱うことを責務とする。このために、クラウド・フロント・エンド・コンポーネント118(例えば、ディレクトリー・サービス同期フロント・エンド・サーバー)は、資格証明を更新する要求を受け、次いで、(例えば、プライベート)プログラム・インターフェース(programmatic interface)122を介して、ハッシュされた資格証明をターゲット・ディレクトリー・サービス記憶システム120に保存しようとする。資格証明キャッシュがターゲット・ディレクトリー・サービスに首尾良く保存された場合、成功ステータスがフロント・エンド・コンポーネント118に戻され、フロント・エンド・コンポーネント118は成功ステータスを同期ホスト・プロセス106に戻す。「成功」応答を受けた時に、同期ホスト・プロセス106は、資格証明がターゲット・ディレクトリー・サービス102に首尾良く同期されたと見なす。失敗応答が発見された場合、後の時点における再試行のために、エクスポートを待ち行列に入れることもできる。
[0030] 図2は、以上の動作を1組のステップ例として示す。これらのステップの一部は、1つの資格証明について示されるが、容易に認めることができるように、資格証明同期は、一括処理することもでき、および/またはこれらのステップの一部または全部が並列に実行されてもよい。
[0031] ステップ202において、パスワード同期エージェント108(図1)は変更を要求し、ソース・ディレクトリー・サービス110から(所与のタイムスタンプ以来の)変更を受ける。要求は、同期時点において行われ、周期的でもそれ以外でもよい。前述のように、パスワードは一次ハッシュ関数でハッシュされ、例えば、MD4(パスワード)というような、Ha(パスワード)となる。
[0032] ステップ204によって表されるように、変更を受けると、パスワード同期エージェント108はこれらの変更を解析して、どれを同期させるべきか、例えば、どれが範囲内でプロビジョニングされたアイデンティティのパスワード変更か判定する。前述のように、この時点では1つの資格証明だけが扱われていると考える。
[0033] ステップ206は、ハッシュされたパスワード、例えば、SHA256(MD4(パスワード))のような、H1(Ha(パスワード))を二次的にハッシュすることを表す。二次的ハッシングについては、以下で更に説明する。
[0034] ステップ208では、ハッシュされた資格証明をターゲット・ディレクトリー・サービス102にエクスポートし、ターゲット・ディレクトリー・サービス102はこれを保存しようとする。ステップ210では、エクスポート要求の結果を、戻されたステータスとして受け、ステップ212において評価されるように、成功が受け入れられた場合、資格証明はターゲット・ディレクトリー・サービスに首尾良く同期されたことになり(ステップ214)、本プロセスは終了する。ステップ212によって失敗が検出された場合、ステップ216によって表されるように、エクスポートは、後の時点における再試行のために、待ち行列に入れられる。
[0035] 図3において全体的に表されるように、オンプレミス・ドメイン・メッシュ330は、ドメイン1(ドメイン1コントローラー1〜ドメイン1コントローラーjを有する)からドメインn(ドメインnコントローラー1〜ドメインnコントローラーkを有する)までを含む。1つの形態では、このメッシュは、ディレクトリー・サービス・ドメイン・コントローラー・ロケーター・サービス332として実行する、マシン等において実行するコンポーネントを追加することもできる(例えば、加入されるまたそうでなければ結合されるのでもよい)。周知のように、パスワード変更は、1つのドメイン・コントローラーにおいて行われ(例えば、ユーザーから最も近いところであるが、他の方式も実現可能である)、そのドメインの他のドメイン・コントローラーに複製される。本明細書において説明するように、複製されるのは、一次ハッシュによってハッシュされた変更パスワードであって、平文パスワードではない。
[0036] 同期ホスト・プロセス106は、ディレクトリー・サービス・ドメイン・コントローラー・ロケーター・サービス332と連絡を取り、資格証明変更データーを引き出すドメイン・コントローラー・インスタンスを判定する。例えば、同期ホスト・プロセス106に変更を提供するために各ドメインにおいて識別される1つのドメイン・コントローラーがある場合がある。このように、メッシュの既存の複製方式を利用して、クラウド・サービスとのパスワード変更同期を実行することも可能である(尚、これは、全ての資格証明変更が取り込まれターゲット・ディレクトリーに同期されることを確保するためには、ソース・ディレクトリー/メッシュに関連する全てのマシンにコンポーネント/コード拡張DLLを登録しなければならない既存のシステムとは対照的であることを注記しておく)。
[0037] 図4は、図3の実現例およびドメイン・コントローラーの動作一般に関するステップ例を要約したものである。ステップ402は、平文のパスワード変更を受けることを表し、これは、通例、ユーザーに最も近いドメイン・コントローラーにおいて行われる(しかし、負荷均衡に基づくというような、他の方式も実現可能である)。ステップ404は、そのドメイン・コントローラーにおいて、パスワードが一次ハッシュ、例えば、Ha(パスワード)によってハッシュされることを表す。ステップ406は、ハッシュされたパスワードを他のドメイン・コントローラーに複製することを表す。
[0038] ステップ408は、同期ホスト・プロセス106がディレクトリー・サービス・ドメイン・コントローラー・ロケーター・サービス332と通信して、変更データーのためにどのドメイン・コントローラー(1つまたは複数)に連絡を取るか決定することを表す。一般に、各ドメインから1つのドメイン・コントローラーが、ドメイン・コントローラー・ロケーター・サービス332によって、同期ホスト・プロセス106に識別される。
[0039] ステップ410は、パスワード同期エージェントが変更パスワード・ハッシュをディレクトリー・サービス・ドメイン・コントローラーから引き出すことを表す。尚、代案として、要求に応じた同期のため、または何らかの他のスケジュールによって、変更をパスワード同期エージェントにプッシュしてもよいことを注記しておく。同期ホスト・プロセスが、ディレクトリー・サービス・ドメイン・コントローラー・ロケーター・サービス332と同じマシンにおいて実行することは実現可能であるが、先に説明したように、同期ホスト・プロセスは、ターゲット・サービスとの同期を実行するために必要な以外は、ハッシュされたパスワードを保存しない。
[0040] ターゲットをハッシュされたパスワードと同期させ、ハッシュされたパスワードを格納することは実現可能であるが、二次ハッシングを有することによって、本明細書において説明するように、多数の利益が得られる。ステップ412は、二次ハッシング、例えば、H1(Ha(パスワード)を表す。1つの形態では、二次ハッシングは、被保護パスワード・ブロブを生成し、これは、ハッシング・アルゴリズムの名称およびバージョン、ならびにランダム・ソルト、繰り返し回数、およびダイジェストを含む。この二次ハッシングの結果は、ターゲット・ディレクトリー・サービスと同期され(ステップ414)、格納される(416)。尚、クラウドが、格納の前に再度ハッシュするためというように、このような二次ハッシングを実行してもよいことを注記しておく。
[0041] ログインの形態に移り、例えば、AuthNフロント・エンド・サーバー124(図1)を介して、アイデンティティ(identity)が、ターゲット・ディレクトリー・サービスに関連するサービスまたはソフトウェアにアクセスしようとするとき、資格証明に、ターゲット・ディレクトリー・サービスの認証プラットフォームにおいて「ソース・ディレクトリーから同期された」という印がある場合、認証プラットフォームは、しかるべきログイン検証手順を実行し、このアイデンティティによって提示された資格証明を、ソース・ディレクトリーから同期された資格証明ハッシュと比較することを理解する。
[0042] ターゲット認証プラットフォームは、オンプレミス・ハッシング・アルゴリズムと調和する(match)アルゴリズムを使用するように命令されるが、これは任意の1つのアルゴリズムまたは1組のアルゴリズムでもよい。これは、暗号化方式の指定を含む複数のシナリオに役に立つ。一般に、暗号化方式の指定は、複数のハッシング・アルゴリズムを使用すること、および/またはハッシング・アルゴリズムの組み合わせを可能にする。その結果、一次ハッシング・アルゴリズムはときの経過と共に変わることができ、二次ハッシング・アルゴリズムはときの経過と共に変わることができ、異なる(例えば、第三者)サービスのアルゴリズムを使用してもよい等となる。
[0043] 図5は、クラウド・サービスにおけるログオン動作に関係するいくつかのステップ例を示し、ステップ502において開始し、ここで資格証明を使用するログオン試行を受ける。ステップ504において、資格証明に「ソース・ディレクトリーから同期された」等という印がない場合、例えば、クラウドは、認証およびリソース・アクセスのためにのみクラウドを使用する非常に小さな組織のユーザーというような、オンプレミス・ディレクトリー・サービスの一部ではないユーザーによってアクセスされていることになる。また、ユーザーは、オンプレミス・ディレクトリー・サービスの一部かもしれないが、本明細書において説明する技術を使用しておらず、つまり、資格証明に同期されたという印がない。その場合、ステップ506では、この要求を他の方法で、例えば、従来のクラウド・ログオンによって扱う。
[0044] 代わりに、ステップ504において、資格証明に「ソース・ディレクトリーから同期された」という印が付けられたことを検出した場合、ステップ508において、例えば、ユーザー・アイデンティティに基づいて、どのハッシュ・アルゴリズム/データーを使用するか調べる。ステップ510では、このハッシュのパラメーター、例えば、ソルトおよび繰り返しを判定する。尚、1つのハッシュ・アルゴリズムしか存在しないというシナリオでは、ステップ508および510は不要であるが、容易に認めることができるように、これらのステップは、暗号化方式の指定を可能にする(provide for)。
[0045] ステップ512では、ログオン・パスワード・データーを、被保護パスワード・ブロブに変換し、ステップ514において、ターゲット・サービスのデーターベースに格納されているブロブと比較する。一致があった場合(ステップ516)、ステップ518によってアクセスが許可され、そうでない場合、ステップ520によってアクセスは拒否される。
[0046] 尚、暗号化方式の指定は、サービスに影響を与えることなく、そしてユーザーの平文パスワードを再度取り込む必要なく、新たなオンプレミス(一次)ハッシング・アルゴリズム(Ha)をサポートすることを注記しておく。例えば、オンプレミス・システムがHaからHbに切り替える場合について検討する(例えば、ディレクトリー・サービスの次のバージョンが、もっと進んだ何かを優先して、MD4を軽視する)。新たなパスワード/変更パスワード(changed password)が計算され、(H1(Hb(パスワード)))として同期される。ログオンの時点で、ユーザーが彼らのユーザー名および(平文)パスワードをタイプ入力すると、システムは、(H1(Ha))または(H1(Hb))がデーターベース内にあるか否か判定し、比較のために該当するものを平文パスワードに適用する。
[0047] 更に、認証プラットフォームは、所望に応じて、格納されているハッシュの追加のハッシングを実行することができる。これは、暗号化方式の指定により、使用されていない(at rest)パスワードの耐時間データー保護(time-resistant data protection)を容易にする。一例として、二次ハッシング・アルゴリズム(H1)が劣化した、即ち、もはや十分に安全とは見なされない場合について検討する。ユーザーの平文パスワードを再度取り込む必要なく、H1ハッシング・アルゴリズムを効果的に置き換えることができる。
[0048] 一例として、現在計算および格納されたデーター・ブロブがH1(Ha(パスワード))である場合について検討する。セキュリティのために、新たな二次ハッシング・アルゴリズム(H2)が導入される。図6のステップ602、604、および606において表されるように、ユーザー毎に、ターゲット・システムはデーターベース全体を解析し、(H2(H1(Ha(パスワード)))を計算し、新たな値を格納する。ステップ608によって解析が完了したと評価されたとき、システムは、ステップ610において全てのユーザーに対して(H1(Ha(パスワード)))を削除し、(H2(H1))アルゴリズムを使用するように切り替える。このように、ターゲット・システムは、もはや劣化して使用されないハッシュを格納しない。尚、ステップ606において既存のブロブを交換することは実現可能であるが、解析プロセスが長大である場合、解析プロセスが完了するまで、ユーザーがログオンするのを禁止してもよい。
[0049] ログオンの時点で、ユーザーの観点からは、全てが以前と同じ動作を行う。ユーザーがログインすると、ターゲットは、(H2(H1(Ha)))が、与えられたパスワードに対するハッシュ値を計算しそのハッシュ値を格納されているものと比較するためのハッシング・アルゴリズムであると判定する。
[0050] また、ターゲット・システムは、新たなパスワードのために他のハッシュ関数に切り替えることもできる。例えば、既存のものよりもある面で優れていると考えられる他のハッシング・アルゴリズムH3が開発された場合について検討する。例えば、H3はH1よりも遙かに優れている、および/または高速である。この例では、変更はセキュリティの問題ではなく、つまり(H1(Ha(パスワード)))は安全であり、無変化のまま残されている。同期ホスト・プロセス(およびターゲット・サービス)は、任意の新たなユーザー/変更パスワードのために(H3)をサポートするように更新される。このように、ユーザーが彼らのパスワードを変更すると、(H3(Ha(パスワード)))を使用して同期される。ユーザーが彼らのパスワードを変更していない場合、引き続き(H1(Ha(パスワード)))アルゴリズムによって認証される。
[0051] パスワード履歴は、クラウド・サービスにおいて保持され、ログオンのときに、ユーザーを締め出すのを回避するために使用することができる。例えば、ユーザーが彼または彼女のパスワードを1つのデバイスにおいて変更し、その結果ブロブをクラウド・サービスに同期させたが、他のデバイスではパスワードを変更していないという場合について検討する。他のデバイスはいつも通りに以前のパスワードを使用してログイン・サービスと通信することができるが、問題を生ずるおそれがある。この問題を回避するために、ユーザーが与える平文パスワードを、「現在のパスワード」として格納されている既存のブロブ(1つまたは複数)と比較すればよく、一致するものがない場合、「以前のパスワード」として格納されているブロブ(1つまたは複数)と比較すればよい。任意の所望組数の以前の1つ以上のパスワード・ブロブ(1つまたは複数)を維持することができる。例えば、現在のパスワードに加えて、最後の2つのパスワード等も有効にしてもよい(work)。
[0052] 更に、パスワード履歴の制約が、例えば、パスワードをオンプレミスで変更しないユーザーに対して、保存中に(at rest)ハッシングによって実施されてもよい。例えば、ユーザーが彼らの5つの以前のパスワードをいずれも再使用することが許可されない方針について検討する。クラウド・サービスは、(H3(Ha(パスワード_現行)))のような最新のパスワード・ブロブ、更に方針の制限までの(H3(Haパスワード_以前)))、(H1(Ha(パスワード_以前2)))、(H2((H1(Ha(パスワード_以前3)))等のような、パスワード履歴を格納する。尚、これらのブロブが、同じハッシング・アルゴリズムで生成された必要はないことを注記しておく。実際に、これらの一部は、元のハッシュが安全でないことが分かった場合、または他の理由で変更された場合に、再度ハッシュされたのでもよい。
[0053] パスワード変更の時点で、新たなパスワードが収集されるとき、サービスは、パスワード履歴フィールドにおいてアルゴリズムのリストを調べ、対応するハッシュを計算し、これらを、格納されているダイジェストと比較して、変更が許されるか否か判断する。
ネットワーク接続および分散型環境例
[0054] 当業者であれば、本明細書において説明した種々の実施形態および方法は、コンピューター・ネットワークの一部としてまたは分散型計算環境において配備することができ、任意の種類の1つまたは複数のデーター・ストアに接続することができる任意のコンピューターあるいは他のクライアントまたはサーバー・デバイスと併せて実現できることを認めることができよう。これに関して、本明細書において説明した種々の実施形態は、任意の数のメモリーまたは記憶ユニット、ならびに任意の数の記憶ユニットに跨がって実行する任意の数のアプリケーションおよびプロセスを有する任意のコンピューター・システムまたは環境において実現することができる。これは、ネットワーク環境において配備されたサーバー・コンピューターおよびクライアント・コンピューターを有する環境、あるいはリモートまたはローカル・ストレージを有する分散型計算環境を含むが、これらに限定されるのではない。
[0055] 分散型コンピューティングは、計算デバイスおよびシステム間の通信交換によって、コンピューター・リソースおよびサービスの共有を可能にする。これらのリソースおよびサービスは、情報の交換、ファイルのような、オブジェクトのキャッシュ・ストレージおよびディスク・ストレージを含む。また、これらのリソースおよびサービスは、負荷均衡化、リソースの拡大、処理の特殊化等のために、複数の処理ユニットに跨がる処理パワーの共有も含む。分散型コンピューティングは、ネットワーク接続を利用し、クライアントが彼らの集合的パワーを利用して企業全体に役立つことを可能にする。これに関して、種々のデバイスは、本開示の種々の実施形態について説明したように、リソース管理メカニズムに関与することができる多くのアプリケーション、オブジェクト、またはリソースを有することができる。
[0056] 図7は、ネットワーク型または分散型計算環境例の模式図を示す。分散型計算環境は、計算オブジェクト710、712等、および計算オブジェクトまたはデバイス720、722、724、726、728等を含み、これらは、アプリケーション例730、732、734、736、738によって表されるように、プログラム、メソッド、データー・ストア、プログラマブル・ロジック等を含むことができる。尚、計算オブジェクト710、712等、および計算オブジェクトまたはデバイス720、722、724、726、728等は、パーソナル・ディジタル・アシスタント(PDA)、オーディオ/ビデオ・デバイス、移動体電話機、MP3プレーヤ、パーソナル・コンピューター、ラップトップ等というような、異なるデバイスを含んでもよいことは認めることができよう。
[0057] 各計算オブジェクト710、712等および計算オブジェクトまたはデバイス720、722、724、726、728等は、1つ以上の他の計算オブジェクト710、712等および計算オブジェクトまたはデバイス720、722、724、726、728等と、通信ネットワーク740を介して、直接的または間接的のいずれかで通信することができる。図7では、1つのエレメントとして図示されているが、通信ネットワーク740は、図7のシステムにサービスを提供する他の計算オブジェクトおよび計算デバイスを含むこともでき、および/または図示されていない複数の相互接続されたネットワークを表すこともできる。また、各計算オブジェクト710、712等あるいは計算オブジェクトまたはデバイス720、722、724、726、728等は、アプリケーション730、732、734、736、738のようなアプリケーションを含むことができる。これらのアプリケーションは、本開示の種々の実施形態にしたがって提供されるアプリケーションとの通信、またはその実装(implementation)に適したAPI、あるいは他のオブジェクト、ソフトウェア、ファームウェア、および/またはハードウェアを利用することもできる。
[0058] 分散型計算環境をサポートする種々のシステム、コンポーネント、およびネットワーク構成がある。例えば、計算システムを一緒に、有線システムまたはワイヤレス・システムによって、ローカル・ネットワークによって、あるいは広く分散されたネットワークによって接続することができる。現在、多くのネットワークがインターネットに結合され、広く分散されたコンピューティングのためのインフラストラクチャーを提供し、多くの異なるネットワークを含む(encompass)が、種々の実施形態において説明したようなシステムに付随して行われる通信例には、任意のネットワーク・インフラストラクチャーを使用することができる。
[0059] つまり、クライアント/サーバー、ピア・ツー・ピア、または混成アーキテクチャーというような、ネットワーク・トポロジーおよびネットワーク・インフラストラクチャーのホストを利用することができる。「クライアント」とは、それが関係しない他のクラスまたはグループのサービスを使用するクラスまたはグループのメンバーである。クライアントは、他のプログラムまたはプロセスによって提供されるサービスを要求するプロセス、例えば、大まかに1組の命令またはタスクとすることができる。クライアント・プロセスは、他のプログラムやサービス自体について作業詳細(working details)を全く「知る」必要なく、要求したサービスを利用する。
[0060] クライアント/サービス・アーキテクチャー、特にネットワーク型システムでは、クライアントは、通常、他のコンピューター、例えば、サーバーによって提供される共有ネットワーク・リソースにアクセスするコンピューターである。図7の図では、非限定的な例として、計算オブジェクトまたはデバイス720、722、724、726、728等をクライアントとして考えることができ、計算オブジェクト710、712等をサーバーとして考えることができ、サーバーとして機能する計算デバイス710、712等は、クライアント計算オブジェクトまたはデバイス720、722、724、726、728等からデーターを受け、データーを格納し、データーを処理し、データーをクライアント計算オブジェクトまたはデバイス720、722、724、726、728等に送信するというような、データー・サービスを提供するが、状況に依存して、任意のコンピューターをクライアント、サーバー、または双方と見なすことができる。
[0061] サーバーは、通例、インターネットまたはワイヤレス・ネットワーク・インフラストラクチャーというような、リモート・ネットワークまたはローカル・ネットワークを介してアクセス可能なリモート・コンピューター・システムである。クライアント・プロセスは、第1コンピューター・システムにおいてアクティブであってもよく、サーバー・プロセスは第2コンピューター・システムにおいてアクティブであってもよく、通信媒体を介して互いに通信し、このようにして分散機能を提供し、複数のクライアントがサーバーの情報収集能力を利用することを可能にする。
[0062] 通信ネットワーク740またはバスがインターネットであるネットワーク環境では、例えば、計算デバイス710、712等がウェブ・サーバーであることができ、他の計算オブジェクトまたはデバイス720、722、724、726、728等は、ハイパーテキスト・トランスファ・プロトコル(HTTP)のような、複数の周知のプロトコルの内任意のものによってこのウェブ・サーバーと通信する。また、サーバーとして機能する計算オブジェクト710、712等が、クライアント、例えば、計算オブジェクトまたはデバイス720、722、724、726、728等として役割を果たしてもよい。これは、分散型計算環境の特性と言える。
計算デバイス例
[0063] 前述のように、本明細書において説明した技法は任意のデバイスに適用できるという利点がある。したがって、全ての種類のハンドヘルド、携帯用、および他の計算デバイスならびに計算オブジェクトが、種々の実施形態との使用に考えられることは理解できよう。したがって、図8において以下に説明する以下の汎用リモート・コンピューターは、計算デバイスの一例に過ぎない。
[0064] 実施形態は、部分的に、デバイスまたはオブジェクト用サービスの開発者による使用のためのオペレーティング・システムによって実現されること、および/または本明細書において説明した種々の実施形態の1つ以上の機能的形態を実行するために動作するアプリケーション・ソフトウェア内に含まれることが可能である。ソフトウェアは、クライアント・ワークステーション、サーバー、または他のデバイスというような1つ以上のコンピューターによって実行される、プログラム・モジュールのような、コンピューター実行可能命令という一般的なコンテキストで説明されてもよい。データーを通信するために使用することができるコンピューター・システムは、種々の構成およびプロトコルを有し、したがって特定の構成またはプロトコルが限定的と見なされないことが、当業者には認められよう。
[0065] つまり、図8は、本明細書において説明した実施形態の1つ以上の形態を実現することができる、適した計算システム環境800の一例を示すが、先に明確にしたように、計算システム環境800は、適した計算環境の一例に過ぎず、使用範囲や機能に関して全く限定を示唆することを意図していない。加えて、計算システム環境800は、計算システム環境例800に示されるコンポーネントの任意の1つまたは組み合わせに関して依存性を有するように解釈されることは全く意図していない。
[0066] 図8を参照すると、1つ以上の実施形態を実現するためのリモート・デバイス例は、コンピューター810の形態とした汎用計算デバイスを含む。コンピューター810のコンポーネントは、処理ユニット820、システム・メモリー830、およびシステム・メモリーから処理ユニット820までを含む種々のシステム・コンポーネントを結合するシステム・バス822を含むことができるが、これらに限定されるのではない。
[0067] コンピューター810は、通例、種々のコンピューター読み取り可能媒体を含み、コンピューター810によってアクセスすることができる任意の入手可能な媒体とすることができる。システム・メモリー830は、リード・オンリー・メモリー(ROM)および/またはランダム・アクセス・メモリー(RAM)というような揮発性および/または不揮発性メモリーの形態としたコンピューター記憶媒体を含むことができる。一例として、そして限定ではなく、システム・メモリー830は、オペレーティング・システム、アプリケーション・プログラム、他のプログラム・モジュール、およびプログラム・データーも含むことができる。
[0068] ユーザーは、入力デバイス840を介して、コマンドおよび情報をコンピューター810に入力することができる。また、モニターまたは他のタイプのディスプレイ・デバイスも、出力インターフェース850のようなインターフェースを介して、システム・バス822に接続される。モニターに加えて、コンピューターは、スピーカーおよびプリンターのような、他の周辺出力デバイスも含むことができ、これらは出力インターフェース850を介して接続されればよい。
[0069] コンピューター810は、リモート・コンピューター870のような、1つ以上の他のリモート・コンピューターへの論理接続を使用して、ネットワーク型または分散型環境において動作することができる。リモート・コンピューター870は、パーソナル・コンピューター、サーバー、ルーター、ネットワークPC、ピア・デバイスまたは他の共通ネットワーク・ノード、あるいは任意の他のリモート・メディア消費または送信デバイスであってもよく、更にコンピューター810に関して以上で説明したエレメントの内任意のものまたは全てを含んでもよい。図8に示す論理接続は、ローカル・エリア・ネットワーク(LAN)またはワイド・エリア・ネットワーク(WAN)のようなネットワーク872を含むが、他のネットワーク/バスも含んでもよい。このようなネットワーキング環境は、家庭、事務所、企業規模のコンピューター・ネットワーク、イントラネット、およびインターネットにおいては極普通である。
[0070] 前述のように、種々の計算デバイスおよびネットワーク・アーキテクチャーと関連付けて実施形態例について説明したが、基礎となる概念は、リソース使用の効率を向上させることが望ましいあらゆるネットワーク・システムおよび計算デバイスまたはシステムにも適用することができる。
[0071] また、アプリケーションおよびサービスが本明細書において提供された技法を利用することを可能にする同じ機能または同様の機能、例えば、しかるべきAPI、ツール・キット、ドライバー・コード、オペレーティング・システム、制御手段、単独のまたはダウンロード可能なソフトウェア・オブジェクト等を実現するには複数の方法がある。したがって、本明細書における実施形態は、API(または他のソフトウェア・オブジェクト)の観点から、更には本明細書において説明した1つ以上の実施形態を実現するソフトウェアまたはハードウェア・オブジェクトの観点からも考えられる。つまり、本明細書において説明した種々の実施形態は、全体的にハードウェア、部分的にハードウェアであり部分的にソフトウェア、およびソフトウェアである態様を有することができる。
[0072] 「一例の」(exemplary)という用語は、本明細書において用いられる場合、例(example)、実例(instance)、または例示(illustration)として役割を果たすことを意味する。疑問回避のために、本明細書において開示される主題は、このような例によって限定されないこととする。加えて、本明細書において「例示」(exemplary)として記載される態様または設計(design)はいずれも、他の態様または設計よりも好ましいまたは有利であるとは必ずしも解釈されず、当業者には知られている等価の構造および技法例を除外することを意味するのでもない。更に、「含む」(include)、「有する」(has)、「収容する」(contain)という用語、およびその他の同様の単語が使用されている限りでは、このような用語は、疑問回避のために、いずれの追加のエレメントまたは他のエレメントも除外しない、開いた移行語(open transition word)として請求項において用いられるときの「備える」(comprising)という用語と同様に、包含的であることを意図している。
[0073] 前述のように、本明細書において説明した種々の技法は、ハードウェアまたはソフトウェア、あるいはしかるべきときには、双方の組み合わせによって実現することができる。本明細書において使用する場合、「コンポーネント」、「モジュール」、「システム」等の用語は、同様に、ハードウェア、ハードウェアおよびソフトウェアの組み合わせ、ソフトウェア、または実行中のソフトウェアのいずれかである、コンピューター関係エンティティに言及することを意図している。例えば、コンポーネントは、プロセッサーにおいて実行するプロセス、プロセッサー、オブジェクト、実行可能ファイル、実行のスレッド、プログラム、および/またはコンピューターであってもよいが、これらに限定されるのではない。例示として、コンピューターにおいて実行するアプリケーション、およびこのコンピューターの双方がコンポーネントであることができる。1つ以上のコンポーネントが1つのプロセスおよび/または実行のスレッド内に存在することもでき、コンポーネントは、1つのコンピューターに局在すること、および/または2つ以上のコンピューター間で分散されるのでもよい。
[0074] 前述のシステムは、様々なコンポーネント間における相互作用に関して説明した。尚、このようなシステムおよびコンポーネントは、それらのコンポーネントまたは指定されたサブコンポーネント、指定されたコンポーネントまたはサブコンポーネントの一部、および/または追加のコンポーネントを、以上のことの種々の置換(permutation)および組み合わせにしたがって、含むことができることを認めることができよう。また、サブコンポーネントは、親コンポーネント内に含まれる代わりに(階層的)、他のコンポーネントに通信可能に結合されるコンポーネントとして実現することもできる。加えて、1つ以上のコンポーネントを組み合わせて1つのコンポーネントにして総合的な機能を設けることができ、または数個の別個のサブコンポーネントに分割することもでき、そして統合機能を得るためにこのようなサブコンポーネントに通信可能に結合する、管理レイヤーのようないずれの1つ以上の中間レイヤーが設けられてもよいことも特筆することができる。本明細書において説明したいずれのコンポーネントも、本明細書では具体的に説明しなかったが当業者には一般に知られている1つ以上の他のコンポーネントと相互作用することもできる。
[0075] 以上で説明したシステム例に関して、説明した主題にしたがって実現することができる方法は、種々の図のフローチャートを参照しても認識する(appreciate)ことができる。説明を簡素化するために、これらの方法を一連のブロックで示し説明したが、種々の実施形態はそのブロックの順序には限定されないことは言うまでもないことであり認められてしかるべきである。何故なら、一部のブロックは、本明細書において図示および説明したものとは異なる順序で出て来ても、および/または他のブロックと同時に出てきてもよいからである。連続しないフローまたは分岐するフローがフローチャートによって示される場合、同じまたは同様の結果が得られる種々の他の分岐、フロー・パス、およびブロックの順序も実現できることは、認めることができよう。更に、図示したブロックの中には、以下で説明する方法を実現するときには任意であるものもある。
結論
[0076] 本発明には種々の変更や代替構造が可能であるが、その内のある種の例示実施形態を図面に示し、以上で詳細に説明した。しかしながら、開示した特定の形態に本発明を限定する意図はなく、逆に、本発明は、本発明の主旨および範囲に該当する全ての変更、代替構造、および均等物を包含することを意図していることは理解されてしかるべきである。
[0077] 本明細書において説明した種々の実施形態に加えて、他の同様の実施形態も用いることができ、あるいは対応する実施形態(1つまたは複数)の同じ機能または同等の機能を実行するために、本発明から逸脱することなく、説明した実施形態(1つまたは複数)に対して変更および追加を行うことができることは言うまでもない。更にまた、多数の処理チップまたは多数のデバイスが、本明細書において説明した1つ以上の機能の実行を共有することもでき、同様に、複数のデバイスに跨がって格納を行うことができる。したがって、本発明は、いずれの1つの実施形態にも限定されず、逆に、添付する特許請求の範囲にしたがって、その広さ、主旨、および範囲が解釈されてしかるべきである。

Claims (9)

  1. 計算環境において、ソース・サービスとターゲット・サービスとの間で1組のパスワード資格証明を同期させる方法であって、前記1組のパスワード資格証明が、前記ソース・サービスおよび前記ターゲット・サービスの各々へのアクセスを可能にし、前記方法が、
    プロセッサーにより、同期タイムスタンプを提供するステップであって、前記同期タイムスタンプが、前記ソース・デバイスおよび前記ターゲット・サービス間の最後のパスワード資格証明同期に対応する、ステップと、
    ハッシュされた1組の変更されたパスワード資格証明を受けるステップであって、前記ハッシュされた1組の変更されたパスワード資格証明が、前記最後のパスワード資格証明同期から前記1組のパスワード資格証明に対し行われた変更のみを含む、ステップと、
    前記ハッシュされた1組の変更されたパスワード資格証明を、アイデンティティ認証における使用のために、前記ターゲット・サービスにエクスポートするステップと、
    を含
    前記ハッシュされた1組の変更されたパスワード資格証明が、一次ハッシング・アルゴリズムによって計算され、前記方法が更に、前記ターゲット・サービスにエクスポートするために、前記ハッシュされた1組の変更されたパスワード資格証明に対応する二次ハッシュ・アルゴリズムを使用して、前記ハッシュされた1組の変更されたパスワード資格証明を秘密保護データーに二次的にハッシングするステップを含む、方法。
  2. 請求項記載の方法において、前記ハッシュされた1組の変更されたパスワード資格証明を前記秘密保護データーに二次的にハッシュするステップが、ランダム・ソルトおよび複数の繰り返しを使用するステップを含む、方法。
  3. システムであって、
    ターゲット・ディレクトリー・サービスと、
    複数のドメインを含むドメイン・メッシュと、
    前記ドメイン・メッシュに結合された同期ホストと、
    を含み、
    前記同期ホストが、前記ドメイン・メッシュにおいて受けたパスワード変更を、前記メッシュの外部にある前記ターゲット・ディレクトリー・サービスと同期させるように構成され、前記パスワード変更を同期させることが、
    前記ドメイン・メッシュからの平文パスワードを表すハッシュ値を受け、
    二次ハッシュ・アルゴリズムを使用して前記ハッシュ値に対し追加のハッシュを実行して保護パスワード・データーを生成し、
    前記保護パスワード・データーを前記ターゲット・ディレクトリー・サービスにエクスポートする、
    ことを含む、システム。
  4. 請求項記載のシステムにおいて、前記同期ホストが、前記二次ハッシュ・アルゴリズムおよびランダム・ソルトを使用して、前記ハッシュ値を処理して前記保護パスワード・データーにする、システム。
  5. 請求項記載のシステムにおいて、更に、パスワード変更データーのために、前記複数のドメインのうちの1つにおけるどのドメイン・コントローラーに連絡するか決定するために構成されたメッシュ・サービスを含む、システム。
  6. 請求項記載のシステムにおいて、
    前記複数のドメインに対する各ドメイン・コントローラー、
    オンプレミス・サーバー・ドメイン・メッシュに結合された別のマシン、あるいは
    前記ドメイン・メッシュから地理的に離れたクラウド・マシンまたは他のマシン、
    の内の1つにおいて実行する前記同期ホストの少なくとも一部によって、前記二次ハッシュ・アルゴリズムを使用して前記ハッシュ値を処理して前記保護パスワード・データーにする、システム。
  7. 請求項記載のシステムにおいて、前記ターゲット・ディレクトリー・サービスには、複数のハッシング・アルゴリズムまたはアイデンティティに関連するハッシング・アルゴリズムの組み合わせの内任意のものを前記アイデンティティの認証の間に使用するために、暗号化方式の指定が構成される、システム。
  8. コンピューター実行可能命令を有する1つ以上のコンピューター読み取り可能記憶媒体であって、前記コンピューター実行可能命令が1つ以上のプロセッサーによって実行されると、前記1つ以上のプロセッサーに動作を実行させ、前記動作が、
    ターゲット・サービスにおいて、平文パスワードに対応する保護パスワード・データーを含む複数組のデーターを維持する動作であって、保護パスワード・データーがそれぞれのアイデンティティと関連し、前記保護パスワード・データーが、少なくとも2つのハッシング・アルゴリズムの組み合わせによって平文パスワードから計算され、前記ターゲット・サービスに同期される、動作と、
    前記ターゲット・サービスにおいて、アイデンティティおよびパスワードに対応する資格証明を含むログイン試行を受ける動作と、
    前記パスワードに対して少なくとも1つのハッシング・アルゴリズムを実行することに基づいて第1の値を計算する動作と、
    前記アイデンティティを認証するために、前記第1の値を、前記アイデンティティに関連する保護パスワード・データーと比較する動作と、
    を含む、1つ以上のコンピューター読み取り可能記憶媒体。
  9. 請求項記載の1つ以上のコンピューター読み取り可能記憶媒体において、更にコンピューター実行可能命令を有し、該コンピューター実行可能命令が前記1つ以上のプロセッサーによって実行されると、前記1つ以上のプロセッサーに、アイデンティティに関連するデーターを、少なくとも1つの異なるハッシング・アルゴリズムから計算されたデーターと交換することを含む動作を実行させる、1つ以上のコンピューター読み取り可能記憶媒体。
JP2016511818A 2013-04-30 2014-04-30 ディレクトリー・サービス間における資格証明ハッシュの同期 Active JP6446032B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/873,882 2013-04-30
US13/873,882 US9282093B2 (en) 2013-04-30 2013-04-30 Synchronizing credential hashes between directory services
PCT/US2014/036004 WO2014179386A1 (en) 2013-04-30 2014-04-30 Synchronizing credential hashes between directory services

Publications (3)

Publication Number Publication Date
JP2016522932A JP2016522932A (ja) 2016-08-04
JP2016522932A5 JP2016522932A5 (ja) 2017-06-22
JP6446032B2 true JP6446032B2 (ja) 2018-12-26

Family

ID=50829313

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016511818A Active JP6446032B2 (ja) 2013-04-30 2014-04-30 ディレクトリー・サービス間における資格証明ハッシュの同期

Country Status (7)

Country Link
US (3) US9282093B2 (ja)
EP (1) EP2992473B1 (ja)
JP (1) JP6446032B2 (ja)
CN (1) CN105247529B (ja)
BR (1) BR112015027175B1 (ja)
RU (1) RU2671045C2 (ja)
WO (1) WO2014179386A1 (ja)

Families Citing this family (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9285981B1 (en) 2012-07-16 2016-03-15 Wickr Inc. Discouraging screen capture
US9282093B2 (en) 2013-04-30 2016-03-08 Microsoft Technology Licensing, Llc Synchronizing credential hashes between directory services
US9830089B1 (en) 2013-06-25 2017-11-28 Wickr Inc. Digital data sanitization
US10129260B1 (en) 2013-06-25 2018-11-13 Wickr Inc. Mutual privacy management
US9866591B1 (en) 2013-06-25 2018-01-09 Wickr Inc. Enterprise messaging platform
US10567349B2 (en) 2013-06-25 2020-02-18 Wickr Inc. Secure time-to-live
US10963482B2 (en) 2013-10-04 2021-03-30 Alfresco Software, Inc. Linking of content between installations of a content management system
US10154026B2 (en) * 2013-10-15 2018-12-11 Microsoft Technology Licensing, Llc Secure remote modification of device credentials using device-generated credentials
US10375013B2 (en) * 2013-11-11 2019-08-06 Amazon Technologies, Inc. Managed directory service connection
US10908937B2 (en) 2013-11-11 2021-02-02 Amazon Technologies, Inc. Automatic directory join for virtual machine instances
JP6298288B2 (ja) * 2013-12-20 2018-03-20 キヤノン株式会社 情報処理装置、情報処理方法、及びプログラム
US9698976B1 (en) 2014-02-24 2017-07-04 Wickr Inc. Key management and dynamic perfect forward secrecy
US9584530B1 (en) 2014-06-27 2017-02-28 Wickr Inc. In-band identity verification and man-in-the-middle defense
US9654288B1 (en) 2014-12-11 2017-05-16 Wickr Inc. Securing group communications
US9372986B1 (en) 2014-12-16 2016-06-21 International Business Machines Corporation Selective password synchronization
US10509663B1 (en) 2015-02-04 2019-12-17 Amazon Technologies, Inc. Automatic domain join for virtual machine instances
US10291567B2 (en) * 2015-06-01 2019-05-14 ETAS Embedded System Canada Inc. System and method for resetting passwords on electronic devices
CN106656907B (zh) * 2015-10-28 2021-03-02 阿里巴巴集团控股有限公司 用于认证的方法、装置、终端设备及系统
US9584493B1 (en) 2015-12-18 2017-02-28 Wickr Inc. Decentralized authoritative messaging
US10291607B1 (en) * 2016-02-02 2019-05-14 Wickr Inc. Providing real-time events to applications
CN107086908B (zh) 2016-02-15 2021-07-06 阿里巴巴集团控股有限公司 一种量子密钥分发方法及装置
CN107086907B (zh) 2016-02-15 2020-07-07 阿里巴巴集团控股有限公司 用于量子密钥分发过程的密钥同步、封装传递方法及装置
US10902138B2 (en) * 2016-03-30 2021-01-26 PhazrlO Inc. Distributed cloud storage
US9591479B1 (en) 2016-04-14 2017-03-07 Wickr Inc. Secure telecommunications
US9590958B1 (en) 2016-04-14 2017-03-07 Wickr Inc. Secure file transfer
CN107347058B (zh) 2016-05-06 2021-07-23 阿里巴巴集团控股有限公司 数据加密方法、数据解密方法、装置及系统
CN107370546B (zh) 2016-05-11 2020-06-26 阿里巴巴集团控股有限公司 窃听检测方法、数据发送方法、装置及系统
CN107404461B (zh) 2016-05-19 2021-01-26 阿里巴巴集团控股有限公司 数据安全传输方法、客户端及服务端方法、装置及系统
CN107959656B (zh) 2016-10-14 2021-08-31 阿里巴巴集团控股有限公司 数据安全保障系统及方法、装置
CN107959567B (zh) 2016-10-14 2021-07-27 阿里巴巴集团控股有限公司 数据存储方法、数据获取方法、装置及系统
US10164778B2 (en) 2016-12-15 2018-12-25 Alibaba Group Holding Limited Method and system for distributing attestation key and certificate in trusted computing
CN108667608B (zh) 2017-03-28 2021-07-27 阿里巴巴集团控股有限公司 数据密钥的保护方法、装置和系统
CN108667773B (zh) 2017-03-30 2021-03-12 阿里巴巴集团控股有限公司 网络防护系统、方法、装置及服务器
CN108736981A (zh) 2017-04-19 2018-11-02 阿里巴巴集团控股有限公司 一种无线投屏方法、装置及系统
US10986084B1 (en) * 2017-09-22 2021-04-20 Massachusetts Mutual Life Insurance Company Authentication data migration
US10680898B2 (en) * 2018-03-06 2020-06-09 At&T Intellectual Property I, L.P. Mini-cloud deployment system
US10554615B2 (en) * 2018-03-08 2020-02-04 Semperis Directory service state manager
US11023573B2 (en) 2018-04-20 2021-06-01 Microsoft Technology Licensing, Llc Password reset for multi-domain environment
US10757095B1 (en) * 2018-06-07 2020-08-25 Sprint Communications Company L.P. Unix password replication to a set of computers
US10749875B2 (en) 2018-06-28 2020-08-18 Microsoft Technology Licensing, Llc Security configuration lifecycle account protection for minors
GB2575266A (en) * 2018-07-03 2020-01-08 Osirium Ltd A password management system and method for providing access to a password protected device
US11120122B2 (en) * 2018-07-18 2021-09-14 International Business Machines Corporation Augmenting password generation and validation
US11210387B2 (en) * 2018-08-16 2021-12-28 Cyberark Software Ltd. Detecting and preventing unauthorized credential change
CN109286490A (zh) * 2018-08-27 2019-01-29 西安电子科技大学 支持密态数据去重和完整性验证方法及系统
CN109450620B (zh) 2018-10-12 2020-11-10 创新先进技术有限公司 一种移动终端中共享安全应用的方法及移动终端
CN109150921B (zh) * 2018-11-05 2021-06-29 郑州云海信息技术有限公司 一种多节点集群的登录方法、装置、设备以及存储介质
US11509647B2 (en) * 2019-01-28 2022-11-22 Microsoft Technology Licensing, Llc Determination of weak hashed credentials
CN110247894B (zh) * 2019-05-16 2021-06-18 中国联合网络通信集团有限公司 一种识别伪造handle服务器的方法及装置
US11218472B2 (en) * 2019-07-01 2022-01-04 Steve Rosenblatt Methods and systems to facilitate establishing a connection between an access-seeking device and an access granting device
US11429519B2 (en) 2019-12-23 2022-08-30 Alibaba Group Holding Limited System and method for facilitating reduction of latency and mitigation of write amplification in a multi-tenancy storage drive
CN114172890B (zh) * 2021-11-03 2024-02-27 阿里巴巴(中国)有限公司 文件秒传处理方法、装置、存储介质及电子设备

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05189288A (ja) * 1992-01-09 1993-07-30 Nec Corp パスワード更新方法
US6240184B1 (en) * 1997-09-05 2001-05-29 Rsa Security Inc. Password synchronization
US6615383B1 (en) * 1998-05-29 2003-09-02 Sun Microsystems, Inc. System and method for message transmission between network nodes connected by parallel links
EP1035462B1 (en) * 1999-03-08 2006-11-29 Software Ag Method for checking user access
FR2802665B1 (fr) * 1999-12-17 2002-04-05 Activcard Dispositif informatique a acces par accreditation perfectionne
US6986038B1 (en) 2000-07-11 2006-01-10 International Business Machines Corporation Technique for synchronizing security credentials from a master directory, platform, or registry
FR2826825B1 (fr) 2001-06-28 2003-09-26 Cit Alcatel Procede de basculement d'un premier mode de radiocommunication vers un second mode de radiocommunication et terminal mobile multi-mode associe
US20040019786A1 (en) 2001-12-14 2004-01-29 Zorn Glen W. Lightweight extensible authentication protocol password preprocessing
JP2004110364A (ja) * 2002-09-18 2004-04-08 Hitachi Software Eng Co Ltd ディレクトリサービス相互間におけるユーザアカウントの属性同期方法
US20040117386A1 (en) 2002-12-12 2004-06-17 Sun Microsystems, Inc. Syncronization facility for information domains employing dissimilar protective transformations
US20040117666A1 (en) * 2002-12-12 2004-06-17 Sun Microsystems, Inc. Invalidation facility for synchronizing information domains
US7251732B2 (en) * 2003-06-18 2007-07-31 Microsoft Corporation Password synchronization in a sign-on management system
US20080109889A1 (en) * 2003-07-01 2008-05-08 Andrew Bartels Methods, systems and devices for securing supervisory control and data acquisition (SCADA) communications
JP2005284986A (ja) * 2004-03-30 2005-10-13 Mitsubishi Electric Corp パスワード安全同期管理方法、パスワード安全同期管理プログラム及びパスワード安全同期管理プログラム記録媒体及びパスワード安全同期管理システム
JP3739008B1 (ja) * 2004-06-29 2006-01-25 卓哉 徳永 アカウント管理方法及びシステム
JP4258551B2 (ja) * 2007-01-25 2009-04-30 日本電気株式会社 認証システム、認証方法、及び認証プログラム
US8769637B2 (en) * 2007-03-23 2014-07-01 Sap Ag Iterated password hash systems and methods for preserving password entropy
US8584221B2 (en) * 2009-10-23 2013-11-12 Microsoft Corporation Authenticating using cloud authentication
US8453224B2 (en) * 2009-10-23 2013-05-28 Novell, Inc. Single sign-on authentication
US9258296B2 (en) * 2010-07-29 2016-02-09 Nirmal Juthani System and method for generating a strong multi factor personalized server key from a simple user password
JP5751029B2 (ja) * 2011-06-03 2015-07-22 株式会社リコー 認証装置、プログラムおよび記録媒体
US8892866B2 (en) * 2011-09-26 2014-11-18 Tor Anumana, Inc. Secure cloud storage and synchronization systems and methods
US9282093B2 (en) 2013-04-30 2016-03-08 Microsoft Technology Licensing, Llc Synchronizing credential hashes between directory services

Also Published As

Publication number Publication date
CN105247529B (zh) 2018-07-31
US20160301694A1 (en) 2016-10-13
US10069630B2 (en) 2018-09-04
CN105247529A (zh) 2016-01-13
BR112015027175A2 (pt) 2017-07-25
BR112015027175B1 (pt) 2022-01-11
EP2992473B1 (en) 2021-08-04
RU2671045C2 (ru) 2018-10-29
US9282093B2 (en) 2016-03-08
BR112015027175A8 (pt) 2019-12-24
JP2016522932A (ja) 2016-08-04
WO2014179386A1 (en) 2014-11-06
US20140325622A1 (en) 2014-10-30
US9769170B2 (en) 2017-09-19
US20170302448A1 (en) 2017-10-19
RU2015146659A3 (ja) 2018-03-27
EP2992473A1 (en) 2016-03-09
RU2015146659A (ru) 2017-06-05

Similar Documents

Publication Publication Date Title
JP6446032B2 (ja) ディレクトリー・サービス間における資格証明ハッシュの同期
Samaniego et al. Zero-trust hierarchical management in IoT
US20190334881A1 (en) Advanced security protocol for broadcasting and synchronizing shared folders over local area network
US11032252B2 (en) Distributed authentication between network nodes
CN112422532B (zh) 业务通信方法、系统、装置及电子设备
US8880880B2 (en) Facilitating access control in peer-to-peer overlay networks
US8800002B2 (en) Inter-process networking for many-core operating systems
WO2017152754A1 (zh) 软件定义网路sdn安全通信的方法及装置
JP2011008818A (ja) サーバーレス分散ファイルシステムにおけるセキュアリカバリ
US9584501B2 (en) Resource protection on un-trusted devices
US20220123950A1 (en) Multi-party cloud authenticator
US9635024B2 (en) Methods for facilitating improved user authentication using persistent data and devices thereof
Soriente et al. Replicatee: Enabling seamless replication of sgx enclaves in the cloud
US10931662B1 (en) Methods for ephemeral authentication screening and devices thereof
Quan et al. TSHC: trusted scheme for Hadoop cluster
JP6185934B2 (ja) サーバー・アプリケーションと多数の認証プロバイダーとの統合
WO2016177051A1 (zh) 安全认证的方法及装置
US10812266B1 (en) Methods for managing security tokens based on security violations and devices thereof
US11178150B1 (en) Methods for enforcing access control list based on managed application and devices thereof
Adams et al. Receipt-mode trust negotiation: efficient authorization through outsourced interactions
US11343237B1 (en) Methods for managing a federated identity environment using security and access control data and devices thereof
EP3182675B1 (en) Transmission of data in a distributed data processing computer system
Myrland Authentication and Authorization in Blind Data Miners
Nilsson Authorization aspects of the distributed dataflow-oriented iot framework calvin
Zhang Practical and Secure Splitting of IoT Device Functionalities

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170425

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170425

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180703

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181003

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20181102

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181130

R150 Certificate of patent or registration of utility model

Ref document number: 6446032

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250