(57)【要約】      （修正有）【課題】各装置上のサービスごとにユーザの認証情報を覚える必要のない方法を提供する。【解決手段】装置によって提供される第１及び第２のサービスにアクセスするユーザを認証するために、ユーザ認証情報データベース（ＤＢ）３６０、第１の変換された認証情報ＤＢ３５６及び第２の変換された認証情報ＤＢ３５８を記憶する。また、ユーザ認証情報ＤＢに基づいて第１及び第２の変換された認証情報ＤＢを生成するとともに、ユーザから受け取った認証情報を第１又は第２の変換された認証情報ＤＢと比較して、第１又は第２のサービスへのアクセスを許可すべきかどうか判定する。さらに、ネットワークで接続された複数の他の装置がサービスにアクセスするユーザを認証するための変換された認証情報ＤＢを生成するために、他の装置にユーザ認証情報ＤＢを配信する。【選択図】図３Ｂ
2015057704.tif 000002
【特許請求の範囲】
【請求項１】
ユーザ認証情報データベース（ＤＢ：ｄａｔａｂａｓｅ）（３６０）、
装置（１１５／２１０）により提供される第１のサービス（３３２）にアクセスするユーザを認証するための第１の変換された認証情報ＤＢ（３５６）、
及び、前記装置（１１５／２１０）により提供される第２のサービス（３３４）にアクセスするユーザを認証するための第２の変換された認証情報ＤＢ（３５８）を記憶するメモリ（３５０）と、
前記ユーザ認証情報ＤＢ（３６０）に基づいて前記第１の変換された認証情報ＤＢ（３５６）及び前記第２の変換された認証情報ＤＢ（３５８）を更新し、
前記第１のサービス（３３２）にアクセスするユーザを認証するため受信された認証情報が正しいか否かを判定するために、前記受信された認証情報を前記第１の変換された認証情報ＤＢ（３５６）に記憶された第１の変換された認証情報と比較し、又は、前記第２のサービス（３３４）にアクセスする前記ユーザを認証して前記受信された認証情報が正しいか否かを判定するために前記受信された認証情報を前記第２の変換認証情報ＤＢ（３５８）に記憶された第２の変換認証情報と比較する、
プロセッサ（２１４）と、
複数の他の装置（１１５／２１０）が前記他の装置によって提供されるサービスにアクセスするユーザを認証するための他の変換された認証情報ＤＢを生成するために、ピアツーピアネットワークで接続された前記他の装置に前記ユーザ認証情報ＤＢ（３６０）を配信し、
前記ピアツーピアネットワーク内の前記他の装置から前記ユーザ認証情報ＤＢ（３６０）を受信する、
通信インタフェース（２１８）と、
を含む装置（１１５／２１０）。
【請求項２】
前記ユーザ認証情報ＤＢは暗号化されたユーザ認証情報ＤＢであり、
前記プロセッサは、前記暗号化されたユーザ認証情報ＤＢを復号化し、前記復号化されたユーザ認証情報ＤＢに基づいて前記第１の変換された認証情報ＤＢ及び前記第２の変換された認証情報ＤＢを生成するように構成され、
前記通信インタフェースは、前記他の装置により提供されるサービスにアクセスするユーザを認証するための前記他の変換された認証情報ＤＢを前記他の装置が生成するために、前記他の装置に前記暗号化されたユーザ認証情報ＤＢを配信するように構成される、
請求項１に記載の装置。
【請求項３】
前記第１のサービスは、ＳＳＨ（secure  shell）サーバ、ＦＴＰ（file  transfer  protocol）サーバ、ＲＤＰ（remote  desktop  protocol）サーバ、ＶＰＮ（virtual  private  network）サーバ、ＶＮＣ（virtual  network  channel）サーバのうちの１つを含み、
前記第２のサービスは前記第１のサービスと異なり、ＳＳＨサーバ、ＦＴＰサーバ、ＲＤＰサーバ、ＶＰＮサーバ、ＶＮＣサーバのうちの１つを含む、
請求項１又は２に記載の装置。
【請求項４】
前記プロセッサは、暗号化一方向関数を用いて前記復号化されたユーザ認証情報ＤＢからの認証情報を変換することによって前記第１の変換された認証情報ＤＢを生成するように構成され、
前記プロセッサは、暗号化一方向関数を用いて前記復号化されたユーザ認証情報ＤＢからの認証情報を変換することによって前記第２の変換された認証情報ＤＢを生成するように構成される、
請求項２又は３に記載の装置。
【請求項５】
前記第１の変換された認証情報ＤＢ及び前記第２の変換された認証情報ＤＢは、各々、同じ認証情報で同じユーザを認証するように構成される、
請求項１から４のいずれか１項に記載の装置。
【請求項６】
前記プロセッサは、管理者から更新されたユーザ認証情報を受信し、前記ユーザ認証情報ＤＢを更新し、
前記更新されたユーザ認証情報ＤＢに基づいて前記第１の変換された認証情報ＤＢ及び前記第２の変換された認証情報ＤＢを生成するように構成され、
前記通信インタフェースは、前記他の装置によって提供されるサービスにアクセスするユーザを認証するための前記他の変換された認証情報ＤＢを前記他の装置が生成するために、前記他の装置に前記更新されたユーザ認証情報ＤＢを配信するように構成される、
請求項１から４のいずれか１項に記載の装置。
【請求項７】
前記プロセッサは、
前記管理者から前記通信インタフェースを介して受信したパスワードに基づいて、暗号化鍵を復号化して鍵を生成し、
前記鍵に基づいて前記暗号化されたユーザ認証情報ＤＢを復号化し、
前記鍵に基づいて暗号化された管理者パスワードを復号化して、復号化された管理者パスワードを生成し、
前記管理者から受信した前記パスワードが前記復号化された管理者パスワードと同一であるときにアクセスを承認するように構成される、
請求項２から６のいずれか１項に記載の装置。
【請求項８】
前記ユーザ認証情報ＤＢを配信するために前記ピアツーピアネットワーク上で通信する、請求項１から７のいずれか１項に記載の複数の装置を含むシステム。
【請求項９】
ユーザ認証情報データベース（ＤＢ）、装置によって提供される第１のサービスにアクセスするユーザを認証するための第１の変換された認証情報ＤＢ、及び前記装置によって提供される第２のサービスにアクセスするユーザを認証するための第２の変換された認証情報ＤＢを記憶することと、
前記ユーザ認証情報ＤＢに基づいて前記第１の変換された認証情報ＤＢ及び前記第２の変換された認証情報ＤＢを生成することと、
前記第１のサービスにアクセスするユーザを認証するため受信した認証情報が正しいか否か判定するために、前記受信した認証情報を前記第１の変換された認証情報ＤＢに記憶された第１の変換された認証情報と比較すること、又は、前記第２のサービスにアクセスする前記ユーザを認証するため前記受信した認証情報が正しいか否か判定するために、前記受信した認証情報を前記第２の変換された認証情報ＤＢに記憶された第２の変換された認証情報と比較することと、
複数の他の装置によって提供されるサービスにアクセスするユーザを前記他の装置が認証するための他の変換された認証情報ＤＢを生成するために、ピアツーピアネットワークで接続された前記他の装置に前記ユーザ認証情報ＤＢを配信することと、
前記ピアツーピアネットワーク内の前記他の装置から前記ユーザ認証情報ＤＢを受信することと、
を含む方法。
【請求項１０】
前記ユーザ認証情報ＤＢは暗号化されたユーザ認証情報ＤＢであり、
前記方法は、
前記暗号化されたユーザ認証情報ＤＢを復号化し、前記復号化されたユーザ認証情報ＤＢに基づいて前記第１の変換された認証情報ＤＢ及び前記第２の変換された認証情報ＤＢを生成することと、
他の装置によって提供されるサービスにアクセスするユーザを認証するための対応する他の変換された認証情報ＤＢを前記他の装置の各々が生成するために、前記他の装置に前記暗号化されたユーザ認証情報ＤＢを配信することと、
をさらに含む、請求項９に記載の方法。
【請求項１１】
暗号化一方向関数を用いて前記復号化されたユーザ認証情報ＤＢからの認証情報を変換することによって前記第１の変換された認証情報ＤＢを生成することと、
暗号化一方向関数を用いて前記復号化されたユーザ認証情報ＤＢからの認証情報を変換することによって前記第２の変換された認証情報ＤＢを生成することと、
をさらに含む、請求項１０に記載の方法。
【請求項１２】
前記第１の変換された認証情報ＤＢ及び前記第２の変換された認証情報ＤＢは、各々、同じ認証情報で同じユーザを認証するように構成される、請求項９から１１のいずれか１項に記載の方法。
【請求項１３】
管理者から更新されたユーザ認証情報を受信し、前記ユーザ認証情報ＤＢを更新することと、
前記更新されたユーザ認証情報ＤＢに基づいて前記第１の変換された認証情報ＤＢ及び前記第２の変換された認証情報ＤＢを更新することと、
他の装置によって提供されるサービスにアクセスするユーザを認証するための対応する他の変換された認証情報ＤＢを前記他の装置の各々が生成するために、前記他の装置に前記更新されたユーザ認証情報ＤＢを配信することと、
をさらに含む、請求項９から１１のいずれか１項に記載の方法。
【請求項１４】
管理者から受信したパスワードに基づいて前記暗号化されたユーザ認証情報ＤＢを復号化することをさらに含む、請求項１０から１３のいずれか１項に記載の方法。
【請求項１５】
前記管理者から受信した前記パスワードに基づいて前記暗号化されたユーザ認証情報ＤＢを復号化することは、
前記管理者から受信した前記パスワードに基づいて暗号化鍵を復号化して鍵を生成することと、
前記鍵に基づいて前記暗号化されたユーザ認証情報ＤＢを復号化することと、
を含み、前記方法は、
前記鍵に基づいて暗号化された管理者パスワードを復号化して、復号化された管理者パスワードを生成することと、
前記管理者から受信した前記パスワードが前記復号化された管理者パスワードと同一であるときにアクセスを承認することと、
をさらに含む、請求項１４に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、物理アクセス制御システムにおけるユーザ認証情報の配信に関し、より一般的にはユーザ認証情報の配信に関する。
【背景技術】
【０００２】
施設への物理アクセスを制御するのにアクセス制御システムを使用する場合がある。アクセス制御システム（及び、他の種類の制御システム）は、各々、ユーザに様々なサービスを提示する多数のコントローラを有することができる。各コントローラ上の各サービスは、ユーザを認証してサービスへのアクセスを承認するための認証情報を必要とする場合がある。その結果、ユーザは、各装置上のサービスごとにユーザの認証情報を覚えていなければならない恐れがある。
【発明の概要】
【課題を解決するための手段】
【０００３】
一実施形態では、装置は、ユーザ認証情報データベース（ＤＢ：ｄａｔａｂａｓｅ）、装置によって提供される第１のサービスにアクセスするユーザを認証するための第１の変換された認証情報ＤＢ、及び装置によって提供される第２のサービスにアクセスするユーザを認証するための第２の変換認証情報ＤＢを記憶するメモリを含み得る。装置は、ユーザ認証情報ＤＢに基づいて第１の変換された認証情報ＤＢ及び第２の変換された認証情報ＤＢを更新し、第１のサービスにアクセスするユーザを認証するためにユーザから受信した認証情報を第１の変換された認証情報ＤＢと比較し、又は第２のサービスにアクセスするユーザを認証するためにユーザから受信した認証情報を第２の変換された認証情報ＤＢと比較するプロセッサを含み得る。装置は、ピアツーピア（peer-to-peer）ネットワークで接続された複数の他の装置が、対応する他の装置によって提供されるサービスにアクセスするユーザを認証するための変換された認証情報ＤＢを生成するために、他の装置にユーザ認証情報ＤＢを配信する通信インタフェースを含み得る。プロセッサは、ピアツーピアネットワーク内の他の装置からユーザ認証情報ＤＢを受信し得る。
【０００４】
一実施形態では、ユーザ認証情報ＤＢは暗号化されたユーザ認証情報ＤＢであってもよく、プロセッサは、暗号化されたユーザ認証情報ＤＢを復号化し、復号化されたユーザ認証情報ＤＢに基づいて第１の変換された認証情報ＤＢ及び第２の変換された認証情報ＤＢを生成し得る。通信インタフェースは、他の装置が、当該装置によって提供されるサービスにアクセスするユーザを認証するための対応する変換された認証情報ＤＢを生成するために、他の装置に暗号化されたユーザ認証情報ＤＢを配信し得る。
【０００５】
一実施形態では、第１のサービスは、ＳＳＨサーバ、ＦＴＰサーバ、ＲＤＰサーバ、ＶＰＮサーバ、又はＶＮＣサーバを含んでもよい。この実施形態では、第２のサービスは、第１のサービスと異なっていてよく、ＳＳＨサーバ、ＦＴＰサーバ、ＲＤＰサーバ、ＶＰＮサーバ、又はＶＣＮサーバを含んでもよい。
【０００６】
一実施形態では、プロセッサは、暗号化一方向関数を用いて復号化されたユーザ認証情報ＤＢからの認証情報を変換することによって第１の変換された認証情報ＤＢを生成することができる。またプロセッサは、暗号化一方向関数を用いて復号化されたユーザ認証情報ＤＢからの認証情報を変換することによって第２の変換された認証情報ＤＢも生成することができる。
【０００７】
一実施形態では、第１の変換された認証情報ＤＢ及び第２の変換された認証情報ＤＢは、各々、同じ認証情報で同じユーザを認証するように構成されてもよい。一実施形態では、プロセッサは、管理者から更新されたユーザ認証情報を受信し、ユーザ認証情報ＤＢを更新し、更新されたユーザ認証情報ＤＢに基づいて第１の変換された認証情報ＤＢ及び第２の変換された認証情報ＤＢを生成し得る。通信インタフェースは、他の装置が、対応する装置によって提供されるサービスにアクセスするユーザを認証するための対応する変換された認証情報ＤＢを生成するために、他の装置に更新されたユーザ認証情報ＤＢを配信し得る。
【０００８】
一実施形態では、プロセッサは、管理者から通信インタフェースを介して受信したパスワードに基づいて暗号化されたユーザ認証情報ＤＢを復号化することができる。一実施形態では、プロセッサは、管理者から通信インタフェースを介して受信したパスワードに基づいて、暗号化鍵を復号化して鍵を生成し得る。またプロセッサは、鍵に基づいて暗号化されたユーザ認証情報ＤＢも復号化し得る。
【０００９】
一実施形態では、プロセッサは、鍵に基づいて暗号化された管理者パスワードを復号化して、復号化された管理者パスワードを生成し得る。またプロセッサは、管理者から受信したパスワードが復号化された管理者パスワードと同一であるときに、アクセスを承認し得る。
【００１０】
一実施形態は方法を含む。方法は、ユーザ認証情報データベース（ＤＢ）、装置によって提供される第１のサービスにアクセスするユーザを認証するための第１の変換された認証情報ＤＢ、及び装置によって提供される第２のサービスにアクセスするユーザを認証するための第２の変換された認証情報ＤＢを記憶し得る。方法は、ユーザ認証情報ＤＢに基づいて第１の変換された認証情報ＤＢ及び第２の変換された認証情報ＤＢを生成し得る。方法は、第１のサービスにアクセスするユーザを認証するためにユーザから受信した認証情報を第１の変換された認証情報ＤＢと比較し、又は第２のサービスにアクセスするユーザを認証するためにユーザから受信した認証情報を第２の変換された認証情報ＤＢと比較し得る。また方法は、ピアツーピアネットワークで接続された複数の他の装置が、他の装置によって提供されるサービスにアクセスするユーザを認証するための変換された認証情報ＤＢを生成するために、他の装置にユーザ認証情報ＤＢを配信し得る。また方法は、ピアツーピアネットワーク内の他の装置からユーザ認証情報ＤＢを受信し得る。
【００１１】
一実施形態では、ユーザ認証情報ＤＢは暗号化されたユーザ認証情報ＤＢであってもよく、方法は、暗号化されたユーザ認証情報ＤＢを復号化し、復号化されたユーザ認証情報ＤＢに基づいて第１の変換された認証情報ＤＢ及び第２の変換された認証情報ＤＢを生成し得る。また方法は、他の装置の各々が、対応する装置によって提供されるサービスにアクセスするユーザを認証するための対応する変換された認証情報ＤＢを生成するために、他の装置に暗号化されたユーザ認証情報ＤＢを配信してもよい。
【００１２】
一実施形態では、方法は、暗号化一方向関数を用いて復号化されたユーザ認証情報ＤＢからの認証情報を変換することによって第１の変換された認証情報ＤＢを生成することを含んでもよい。方法は、暗号化一方向関数を用いて復号化されたユーザ認証情報ＤＢからの認証情報を変換することによって第２の変換された認証情報ＤＢを生成し得る。
【００１３】
一実施形態では、第１の変換された認証情報ＤＢ及び第２の変換された認証情報ＤＢは、各々、同じ認証情報で同じユーザを認証するように構成される。一実施形態では、方法は、管理者から更新されたユーザ認証情報を受信することと、ユーザ認証情報ＤＢを更新することと、更新されたユーザ認証情報ＤＢに基づいて第１の変換された認証情報ＤＢ及び第２の変換された認証情報ＤＢを生成することとを含んでいてよい。また方法は、他の装置の各々が、対応する装置によって提供されるサービスにアクセスするユーザを認証するための対応する変換された認証情報ＤＢを生成するために、他の装置に更新されたユーザ認証情報ＤＢを配信し得る。
【００１４】
一実施形態では、方法は、管理者から受信したパスワードに基づいて暗号化されたユーザ認証情報ＤＢを復号化することを含み得る。一実施形態では、方法は、管理者から受け取ったパスワードに基づいて暗号化鍵を復号化して鍵を生成することと、鍵に基づいて暗号化されたユーザ認証情報ＤＢを復号化することとを含み得る。
【００１５】
一実施形態では、方法は、鍵に基づいて暗号化された管理者パスワードを復号化して、復号化された管理者パスワードを生成することを含んでいてよい。方法は、管理者から受信したパスワードが復号化された管理者パスワードと同一であるときに、アクセスを承認することを含んでもよい。
【００１６】
一実施形態はシステムを含んでもよい。システムは、ネットワーク上で通信する複数の装置を含んでもよい。各装置は、ユーザ認証情報データベース（ＤＢ）、対応する装置によって提供される第１のサービスにアクセスするユーザを認証するための第１の変換された認証情報ＤＢ、及び装置によって提供される第２のサービスにアクセスするユーザを認証するための第２の変換された認証情報ＤＢを記憶するメモリを含んでもよい。各装置は、ユーザ認証情報ＤＢに基づいて第１の変換された認証情報ＤＢ及び第２の変換された認証情報ＤＢを更新するプロセッサを含んでもよい。プロセッサは、ユーザから受信した認証情報を第１の変換された認証情報ＤＢ又は第２の変換された認証情報ＤＢと比較して、第１のサービス又は第２のサービスへのアクセスを許可すべきかどうか判定することができる。各装置は、他の装置の各々が、対応する装置によって提供されるサービスにアクセスするユーザを認証するための対応する変換された認証情報ＤＢを生成するために、他の装置にユーザ認証情報ＤＢを配信する通信インタフェースを含んでもよい。通信インタフェースは、他の装置からユーザ認証情報ＤＢを受信してもよい。
【００１７】
システムの一実施形態では、各装置は、ピアツーピアネットワークで接続されており、ピアツーピアネットワーク内の装置間でユーザ認証情報ＤＢを配信する。一実施形態では、ユーザ認証情報ＤＢは暗号化されたユーザ認証情報ＤＢであり、プロセッサは、暗号化されたユーザ認証情報ＤＢを復号化し、復号化されたユーザ認証情報ＤＢに基づいて第１の変換された認証情報ＤＢ及び第２の変換された認証情報ＤＢを生成するように構成される。システムの一実施形態では、通信インタフェースは、他の装置の各々が、対応する装置によって提供されるサービスにアクセスするユーザを認証するための対応する変換された認証情報ＤＢを生成するために、他の装置に暗号化されたユーザ認証情報ＤＢを配信し得る。
【００１８】
システムの一実施形態では、プロセッサは、暗号化一方向関数を用いて復号化されたユーザ認証情報ＤＢからの認証情報を変換することによって第１の変換された認証情報ＤＢを生成することができ、暗号化一方向関数を用いて復号化されたユーザ認証情報ＤＢからの認証情報を変換することによって第２の変換された認証情報ＤＢを生成することができる。
【００１９】
他の実施形態については以下で説明する。すなわち、上記の実施形態は例として示したにすぎない。
【図面の簡単な説明】
【００２０】
【図１】本明細書に記載する実施形態による例示的な環境を示すブロック図である。
【図２Ａ】図１のシステムユニットの例示的なコンポーネントを示すブロック図である。
【図２Ｂ】図１のシステムユニットの例示的なコンポーネントを示すブロック図である。
【図３Ａ】一実施形態における図１のシステムユニットの機能コンポーネントを示すブロック図である。
【図３Ｂ】一実施形態における図１のシステムユニットの機能コンポーネントを示すブロック図である。
【図３Ｃ】一実施形態における図３Ｂのコントローラ内の管理ロジックの機能コンポーネントを示すブロック図である。
【図４】一実施形態における図１のシステムユニットの例示的な物理レイアウトを示す平面図である。
【図５】図１の分散制御システムの例示的な物理レイアウトを示す平面図である。
【図６】図１の管理装置の例示的なコンポーネントを示すブロック図である。
【図７Ａ】一実施形態における例示的な管理者認証情報データベースのブロック図である。
【図７Ｂ】一実施形態における例示的なユーザ認証情報データベースのブロック図である。
【図７Ｃ】一実施形態における例示的なユーザ認証情報データベースのブロック図である。
【図７Ｄ】一実施形態における例示的なサービス認証情報データベースのブロック図である。
【図７Ｅ】一実施形態における例示的なサービス認証情報データベースのブロック図である。
【図７Ｆ】一実施形態における例示的なサービス認証情報データベースのブロック図である。
【図７Ｇ】一実施形態における例示的なサービス認証情報データベースのブロック図である。
【図８Ａ】制御ユニットにおけるサービスへのアクセスを承認されたユーザを認証するための例示的なプロセスのフローチャートである。
【図８Ｂ】管理者が図７Ｂ及び図７Ｃのユーザ認証情報データベース並びに図７Ｄ〜図７Ｇのサービス認証情報データベースを更新するための例示的なプロセスのフローチャートである。
【図８Ｃ】一実施形態における管理者を認証するための例示的なプロセスのフローチャートである。
【発明を実施するための形態】
【００２１】
以下の詳細な説明は、添付図面を参照する。異なる図面における同じ参照番号は、同じ又は類似のエレメントを識別する。
【００２２】
以下に記載する一実施形態は、物理アクセス制御システム（ＰＡＣＳ：physical  access  control  system）におけるコントローラに関する。他の実施形態は、建物の管理システム内、監視システム内、及びセキュリティシステム内の異なるアプリケーションを制御するためのシステムにおけるコントローラといった、ＰＡＣＳ以外の環境を含んでもよい。一実施形態は、例えば、ホームオートメーションシステムにおけるコントローラを含んでもよい。
【００２３】
前述のように、ユーザは、各コントローラによって提供されるサービスごとに認証情報（credentials）を覚えていなければならない場合がある。これはユーザにとっての負担となりうる。以下に記載する一実施形態では、管理者は、ユーザ認証情報を、複数のサービスのための複数のコントローラ上で同じになるように管理（manage）することができる。別の実施形態では、管理者は、例えば、あるコントローラに記憶されたユーザ認証情報を、別のコントローラから管理することもできる。以下の１つ以上の実施形態は、特定の環境にある物理アクセス制御システム（例えば、分散型物理アクセス制御システム）におけるユーザ認証情報の配信に関するものである。前述のように、他の実施形態は、（例えば、物理アクセス制御システム以外の）他の種類のシステムにおけるユーザ認証情報の配信に関するものであってもよい。一実施形態は、ユーザ認証情報を他の装置に配信せずにユーザ認証情報を装置上で記憶する方法及び装置に関するものであってもよい。
【００２４】
図１は、以下に記載するシステム及び方法が実装されうる例示的な環境１００のブロック図である。図１に示すように、環境１００は、分散制御システム１１０（例えば、分散型物理アクセス制御システム）、ネットワーク１２０、及び管理装置（administration  device）１３０を含んでもよい。
【００２５】
分散制御システム１１０は、システムユニット１１５−Ａ〜１１５−Ｎ（集合としては「システムユニット１１５」又は「ユニット１１５」と呼び、個別には「ユニット１１５」と呼ぶ）を含む分散コンピューティングシステムを含み得る。一実施形態では、システムユニット１１５は、物理アクセス制御装置を含む。例えば、システムユニット１１５は、部屋や部屋の集合といったセキュアな領域へのアクセスを制御するコントローラを含み得る。システムユニット１１５は、リーダ（reader）装置を介して認証情報（例えば、アクセスカード認証情報）を受信し、認証情報が真正であり、セキュアな領域にアクセスする権限と関連付けられているかどうか判定し得る。認証情報が真正である場合、コントローラは、ドアのロックを開くコマンドを発行し、又はセキュアな領域へのアクセスを許可することと関連付けられる他の動作を実行し得る。
【００２６】
分散制御システム１１０は、１つ以上の分散されたデータセットを含み得る。分散されたデータセットは、分散されたデータセットと関連付けられるシステムユニット１１５に分散されて（おそらくは重複して）記憶されたデータを含む。一実施形態では、分散されたデータセットは、複数の装置上で複製される。例えば、分散されたデータセット全体を全てのユニット１１５に記憶させてもよい。別の実施形態では、１つ以上のユニット１１５が、分散されたデータセットのサブセットを記憶してもよい。また、分散されたデータセットは、全てのシステムユニット１１５と関連付けられていてもよく、システムユニット１１５のサブセットと関連付けられてもよい。
【００２７】
一実施形態では、分散されたデータセット（例えば、合意ベース（consensus  based）の分散データベース）において変更を加えるために、ユニット１１５の間で合意が達成される。システムユニット１１５は、合意ベースの分散されたデータセットに変更を提案することができる。分散されたデータセットと関連付けられた定足数のユニット１１５によって変更が受け入れられる場合、合意が達成されることができ、変更は、関連付けられる各ユニット１１５内の分散されたデータセットの各ローカルコピーに伝播され得る。よって、定足数の関連付けられるユニット１１５が変更について賛成票を投じる場合に、分散されたデータセットにおける変更に関する合意が達成され得る。定足数とは、関連付けられるユニット１１５を支配する最小限の数に相当し得る。よって、分散されたデータセットがＮ個のユニット１１５と関連付けられている場合、Ｎが偶数の場合はＮ／２＋１個の関連付けられるユニット１１５が変更に賛成票を投じれば定足数に達し、Ｎが奇数の場合は（Ｎ−１）／２＋１個の関連付けられるユニット１１５が変更に賛成票を投じれば定足数に達し得る。定足数を達成するのに最小限の多数を必要とすることによって、２つの競合する提案が検討される場合に、少なくとも１つのシステムユニット１１５が双方の提案を受信し、合意のためにそれらの提案のうちの１つを選択することが保証され得る。
【００２８】
合意ベースの分散されたデータセットは、分散されたデータセットと関連付けられる任意のシステムユニット１１５が、分散されたデータセットによって管理される情報（例えば、一実施形態におけるすべての情報）を含むことを保証し得る。例えば、分散されたデータセットはアクセスルールを含んでもよく、アクセスルールは、分散されたデータセットと関連付けられる任意のシステムユニット１１５にとって利用可能であってもよい。このように、１つ以上の分散されたデータセットの結果として、一実施形態では、制御システム１１０は、サーバ装置といった中央制御装置のない非集中型システムに対応しうる。他の実施形態では、制御システム１１０は、非集中型システムと、（サーバ装置といった）中央制御装置の両方を含み得る。制御システム１１０への変更は任意のシステムユニット１１５において構成されることができ、変更が分散されたデータセットと関連付けられる場合には、変更は分散されたデータセットと関連付けられた他のシステムユニット１１５に伝播され得る。さらに、制御システム１１０は、デバイス障害に関して、シングルポイントの障害が回避され得るようなロバスト性を呈し得る。例えば、特定のシステムユニット１１５に障害が発生した場合、他のユニット１１５は、データのロスなしで（又はデータの最小限のロスのみで）動作を継続し得る。別の実施形態では、合意なしで分散されたデータセットへの変更が行われてもよい。
【００２９】
ネットワーク１２０は、ユニット１１５が相互に通信することを可能にすることができ、及び／又は管理装置１３０が特定のユニット１１５と通信することを可能にすることができる。ネットワーク１２０は、１つ以上の回線交換ネットワーク及び／又はパケット交換ネットワークを含み得る。例えば、ネットワーク１２０は、ローカルエリアネットワーク（ＬＡＮ：local  area  network）、広域ネットワーク（ＷＡＮ：wide  area  network）、メトロポリタンエリアネットワーク（ＭＡＮ：metropolitan  area  network）、公衆交換電話網（ＰＳＴＮ：Public  Switched  Telephone  Network）、アドホックネットワーク、イントラネット、インターネット、光ファイバベースのネットワーク、無線ネットワーク、及び／又はこれらの若しくは他の種類のネットワークの組み合わせを含み得る。
【００３０】
管理装置（administration  device）１３０は、制御システム１１０を構成し、制御システム１１０の構成を変更し、制御システム１１０から情報を受信し、及び／又はそれ以外に制御システム１１０を管理するために、管理者が特定のユニット１１５に接続することを可能にする。管理装置１３０は、ユニット１１５のうちの１つ以上と通信するように構成される任意の装置を含み得る。例えば、管理装置１３０は、携帯用通信機器（携帯電話、スマートフォン、ファブレット機器、全地球測位システム（ＧＰＳ：global  positioning  system）装置、及び／若しくは別の種類の無線装置など）、パーソナルコンピュータ若しくはワークステーション、サーバ装置、ラップトップ、タブレット、若しくは別の種類の携帯用コンピュータ、並びに／又は通信ケイパビリティを有する任意の種類の装置を含み得る。一実施形態では、管理装置１３０は、ユニット１１５の一部であってもよい。よって、管理者は、ユニット１１５のうちの１つ以上から制御システム１１０を管理することができる。
【００３１】
図１には環境１００の例示的なコンポーネントが示されているが、他の実装では、環境１００は、図１に示すものと比べてより少数のコンポーネント、異なるコンポーネント、異なる配置のコンポーネント、又は追加的なコンポーネントを含んでもよい。追加的又は代替的に、環境１００内の任意の１つの装置（又は任意の装置群）は、環境１００内の１つ以上の他の装置によって実行されるとして記載されている機能を実行し得る。
【００３２】
図２Ａ及び図２Ｂは、ユニット１１５の例示的なコンポーネントを示すブロック図である。図２Ａに示すように、ユニット１１５は、コントローラ２１０、及び１つ以上の周辺装置２３０を含み得る。コントローラ２１０は、ユニット１１５の動作を制御することができ、他のユニット１１５と通信することができ、管理装置１３０と通信することができ、及び／又は周辺装置２３０を制御することができる。周辺装置２３０は、コントローラ２１０に情報を提供し、コントローラ２１０によって制御され、及び／又はそうでなければコントローラ２１０と通信する装置を含み得る。一実施形態では、周辺装置２３０は、任意の種類のセキュリティ装置を含み得る。例えば、周辺装置２３０は、リーダ装置２４０、ロック装置２５０、センサ２６０（カメラなど）、及び／又はアクチュエータ２７０といったセキュリティ装置を含み得る。
【００３３】
図２Ｂに示すように、コントローラ２１０は、バス２１２、プロセッサ２１４、メモリ２１６、ネットワークインタフェース２１８、周辺インタフェース２２０、及びハウジング２２２を含み得る。バス２１２は、コントローラ２１０のコンポーネント間の通信を可能にするパスを含む。プロセッサ２１４は、命令を解釈し、実行する任意の種類のシングルコアプロセッサ、マルチコアプロセッサ、マイクロプロセッサ、ラッチベースのプロセッサ、及び／若しくは処理ロジック（又はプロセッサ、マイクロプロセッサ、及び／若しくは処理ロジックのファミリ）を含み得る。他の実施形態では、プロセッサ２１４は、集積回路、ＡＳＩＣ（application-specific  integrated  circuit）、ＦＰＧＡ（field-programmable  gate  array）、及び／又は別の種類の集積回路若しくは処理ロジックを含み得る。プロセッサ２１４は、（例えば、同じ又は別個のチップに）各々が異なる機能を実行することのできる複数のプロセッサを含んでもよい。例えば、プロセッサ２１４は、データの暗号化及び復号化専用の回路（ＡＳＩＣなど）並びにマイクロプロセッサを含んでもよい。
【００３４】
メモリ２１６は、情報、データ、及び／又は命令を記憶する。メモリ２１６は、任意の種類の動的記憶デバイス、揮発性記憶デバイス、及び／又は不揮発性記憶デバイスを含み得る。メモリ２１６は、プロセッサ２１４が実行するための命令、又はプロセッサ２１４が使用するための情報を記憶することができる。例えば、メモリ２１６は、ＲＡＭ（random  access  memory）若しくは別の種類の動的記憶デバイス、ＲＯＭ（read-only  memory）若しくは別の種類の静的記憶デバイス、ＣＡＭ（content  addressable  memory）、磁気的記録メモリデバイス及び／若しくは光学的記録メモリデバイス及びそれに対応するドライブ（例えばハードディスクドライブ、光学的ドライブなど）、並びに／又はフラッシュメモリといった着脱可能な形態のメモリを含み得る。
【００３５】
ネットワークインタフェース２１８は、有線通信リンク（例えば、導線、ツイストペアケーブル、同軸ケーブル、伝送回線、光ファイバケーブル、及び／若しくは導波管など）、無線通信リンク（例えば、無線周波数、赤外線、及び／若しくは可視光線など）、又は有線通信リンクと無線通信リンクとの組み合わせを介して、コントローラ２１０が他の装置及び／又はシステムと通信する（データの送信及び／又は受信を行う）送受信機（送信機及び／又は受信機など）を含んでもよい。ネットワークインタフェース２１８は、ベースバンド信号をＲＦ（radio  frequency）信号に変換する送信機、及び／又はＲＦ信号をベースバンド信号に変換する受信機を含み得る。ネットワークインタフェース２１８は、ＲＦ信号を送受信するためのアンテナと連結されてもよい。
【００３６】
ネットワークインタフェース２１８は、他の装置へのデータの送信を遂行する入力ポート及び／若しくは出力ポート、入力システム及び／若しくは出力システム、並びに／又は他の入力コンポーネント及び出力コンポーネントを含むロジックコンポーネントを含み得る。例えば、ネットワークインタフェース２１８は、有線通信のためのネットワークインタフェースカード（イーサネット（登録商標）カードなど）及び／又は無線通信のための無線ネットワークインタフェース（例えば、ＷｉＦｉ）カードを含み得る。またネットワークインタフェース２１８は、ケーブル上の通信のためのＵＳＢ（universal  serial  bus）ポート、Ｂｌｕｅｔｏｏｔｈ（登録商標）無線インタフェース、ＲＦＩＤ（radiofrequency  identification）インタフェース、ＮＦＣ（near-field  communication）無線インタフェース、及び／又はある形態から別の形態へデータを変換する任意の他の種類のインタフェースをも含み得る。
【００３７】
周辺インタフェース２２０は、１つ以上の周辺装置２３０と通信するように構成され得る。例えば、周辺インタフェース２２０は、周辺装置２３０へのデータの送信を遂行する入力ポート及び／若しくは出力ポート、入力システム及び／若しくは出力システム、並びに／又は他の入力コンポーネント及び出力コンポーネントを含む１つ以上のロジックコンポーネントを含み得る。一例として、周辺インタフェース２２０は、ＳＰＩ（Serial  Peripheral  Interface）バスプロトコル（例えば、Wiegandプロトコル及び／又はＲＳ−４８５プロトコル）を用いて周辺装置２３０と通信し得る。別の例として、周辺インタフェース２２０は、異なる種類のプロトコルを使用してもよい。一実施形態では、ネットワークインタフェース２１８は、周辺装置２３０をコントローラ２１０と連結するための周辺インタフェースとして作動することもできる。
【００３８】
ハウジング２２２は、コントローラ２１０のコンポーネント群を収容し、コントローラ２１０のコンポーネント群を環境から保護し得る。一実施形態では、ハウジング２２２は、周辺装置２３０のうちの１つ以上を含んでもよい。別の実施形態では、ハウジング２２２は、管理装置１３０を含んでもよい。ハウジング２２２は、複数のシステムユニット１１５及び／又は複数のコントローラ２１０を有するシステムにおいて１つのシステムユニット１１５及び／又はコントローラ２１０の他のシステムユニット１１５及び／又はコントローラ２１０からの境界を定義しうる。
【００３９】
以下に記載するように、コントローラ２１０は、１つ以上の装置上の１つ以上のサービスのためのユーザ認証情報の配信に関連した動作を実行し得る。コントローラ２１０はこれらの動作を、ＡＳＩＣの配線回路の結果として実行してもよい。コントローラ２１０はまた（あるいは代替的に）、これらの動作を、プロセッサ２１４がメモリ２１６といったコンピュータ可読媒体に含まれるソフトウェア命令を実行したことに応答して実行してもよい。コンピュータ可読媒体は、非一時的メモリデバイスを含み得る。メモリ２１６は、単一の物理的なメモリデバイス内で実装されてもよく、複数の物理的なメモリデバイスにまたがって拡散されてもよい。ソフトウェア命令は、別のコンピュータ可読媒体から又は別の装置からメモリ２１６に読み込まれてもよい。メモリ２１６に含まれるソフトウェア命令は、プロセッサ２１４に、本明細書に記載されるプロセスを実行させ得る。よって、本明細書に記載する実装は、ハードウェア回路とソフトウェアとのいかなる特定の組み合わせにも限定されない。
【００４０】
周辺装置２３０に戻って、リーダ装置２４０は、ユーザから認証情報を読み取り、当該認証情報をコントローラ２１０に提供する装置を含み得る。例えば、リーダ装置２４０は、ユーザから英数字の個人識別番号（ＰＩＮ：personal  identification  number）を受け取るように構成されるキーパッド、磁気ストリップ又はＲＦＩＤタグといった別の種類の記憶デバイス上にカードコードを記憶するカードを構成されるカードリーダ、ユーザの指紋を読み取るように構成される指紋リーダ、ユーザの虹彩を読み取るように構成される虹彩リーダ、ユーザの声紋を記録するように構成されるマイクロフォン及び声紋識別器；ＮＦＣリーダ、顔認識ソフトウェアと関連付けられるカメラ、並びに／又は別の種類のリーダ装置を含み得る。リーダ装置２４０は、認証情報を提供することのできる任意の種類のセキュリティ装置を含んでもよく、センサ２６０を参照して以下で説明する任意のセンサ装置といった１つ以上のセンサ装置を含んでもよい。例えば、リーダ装置２４０は、顔認識に使用されるカメラ及び／又は音声認識に使用されるマイクロフォンを含んでもよい。この場合、例えば、ユーザの音声又は顔をユーザの認証情報とすることができる。
【００４１】
ロック装置２５０は、コントローラ２１０によって制御されるロック（錠）を含み得る。ロック装置２５０は、ドア（例えば、ドアが開閉しないようにする）、窓、ＨＶＡＣ通気孔、及び／又はセキュアな領域への別の種類のアクセス開口部をロック（施錠）し得る。例えば、ロック装置２５０は、電磁式ロック、コントローラ２１０によって制御されるモータを備える機械式ロック、電気機械式ロック、及び／又は別の種類のロックを含み得る。
【００４２】
センサ２６０は、感知（sensing）装置を含み得る。例として、センサ２６０は、ドアが開いているかそれとも閉じているか感知するドアセンサ、可視光監視装置（カメラ）、赤外（ＩＲ）光監視装置、熱シグ二チャ監視装置、オーディオ監視装置（マイクロフォンなど）、及び／若しくは別の種類の監視装置、動きセンサ、熱センサ、圧力センサ、及び／若しくは別の種類の警報センサといった警報センサ、ユニット１１５内部に位置する位置センサといったタンパセンサ、並びに／又はユニット１１５と関連付けられるセキュリティ保護される領域内に位置する「退出要求（request-to-exit）」ボタン、並びに／又は別の種類のセンサ装置を含んでもよい。以下の例では、センサ２６０を「カメラ２６０」と呼ぶこともある。
【００４３】
アクチュエータ２７０は、アクチュエータ装置を含み得る。一例として、アクチュエータ２７０は、照明装置を制御し得る。他の例として、アクチュエータ２７０は、侵入警報起動器（burglar  alarm  activator）、メッセージを再生し、若しくは警報信号を発生させるスピーカ、ディスプレイ装置、センサ２６０を動かす（例えば、カメラ若しくは他の監視装置の視野を制御する）モータ、ドア、窓、ＨＶＡＣ通気孔及び／若しくはセキュアな領域と関連付けられる別の開口部を開閉するためのモータ、ロック装置２５０を施錠位置若しくは開錠位置で固定するモータ、消火装置、並びに／又は別の種類のアクチュエータ装置を含んでもよい。
【００４４】
図２Ａ及び図２Ｂには、ユニット１１５の例示的なコンポーネントが示されているが、他の実装では、ユニット１１５は、図２Ａ及び図２Ｂに示すものと比べてより少数のコンポーネント、異なるコンポーネント、追加的なコンポーネント、又は異なる配置のコンポーネントを含んでもよい。例えば、図２Ａには単一のリーダ装置２４０、単一のロック装置２５０、単一のセンサ２６０、及び単一のアクチュエータ２７０が示されているが、実際には、周辺装置２３０は、複数のリーダ装置２４０、複数のロック装置２５０、複数のセンサ２６０、及び／又は複数のアクチュエータ２７０を含んでもよい。また周辺装置２３０は、図２Ａに示す装置のうちの１つ以上を含まなくてもよい。追加的又は代替的に、ユニット１１５の任意のコンポーネント（又は任意のコンポーネント群）が、ユニット１１５の１つ以上の他のコンポーネントによって実行されるものとして記載される１つ以上のタスクを実行してもよい。
【００４５】
さらに、例示的な分散制御システム１１０は物理アクセス分散制御システムを含むが、他の実装は、物理アクセス以外のシステムを制御してもよい。一方で、分散制御システム１１０は、（例えば、動作環境に）ドアを開閉するための制御システム及び／又は建物若しくは施設への物理的アクセスを制御するための制御システムといった、任意の種類の物理アクセス制御システムを含んでもよい。また、分散制御システム１１０は、ファン（fan）を制御する（例えば始動若しくは停止する）システム、建物管理システムで警報を始動させるシステム（例えば、認証失敗、認証成功など）、又は産業オートメーションシステムでロボットアームを制御するシステムを含んでもよい。
【００４６】
図３Ａは、システムユニット１１５の例示的な機能レイヤを示すブロック図である。図３Ａに示すように、ユニット１１５は、ＡＰＩ（application  program  interface）レイヤ３１０、アプリケーションレイヤ３２０、分散制御（distribution）レイヤ３４０、及びストレージレイヤ３５０を含み得る。
【００４７】
ＡＰＩレイヤ３１０は、例えば、管理装置１３０と通信するように構成されるＡＰＩを含む。管理者が管理装置１３０を使用してユニット１１５にログインするときに、ＡＰＩレイヤ３１０は、管理装置１３０と通信して管理者を認証し得る。別の例として、ＡＰＩレイヤ３１０は、管理装置１３０と通信してユニット１１５の構成を変更することもできる。ＡＰＩレイヤ３１０は、管理装置１３０からデータを受信し、当該データを分散制御レイヤ３４０及び／又はストレージレイヤ３５０に提供し得る。また、ＡＰＩレイヤ３１０は、管理装置１３０と通信してアプリケーションレイヤ３２０にアプリケーションをインストールすることもできる。ＡＰＩレイヤ３１０は、様々な管理者タイプを取り扱うように構成されてもよい。例えば、ＡＰＩレイヤ３１０は、ウェブサービス管理者、Ｌｉｎｕｘ管理者、ＯＮＶＩＦ（Open  Network  Video  Interface  Forum）管理者を取り扱うためのＡＰＩ、及び／又は別の種類のＡＰＩを含んでもよい。
【００４８】
アプリケーションレイヤ３２０は、ユニット１１５上にインストールされる１つ以上のアプリケーションを含み得る。アプリケーションは、他のアプリケーションの中で、制御ロジックアプリケーション、ドアを開閉するためのドア制御アプリケーション、ユーザ認証情報を受け取るためのリーダ制御アプリケーションを含み得る。アプリケーションについては図３Ｂに関連してより詳細に論じる。
【００４９】
分散制御レイヤ３４０は、ユニット１１５と関連付けられる１つ以上の分散されたデータセットを管理し得る。例えば、分散制御レイヤ３４０は、データセットの配信のためにピアツーピア（peer-to-peer）ネットワークでコントローラ２１０を接続することができる。分散制御レイヤ３４０は、プロトコル（ＰＡＸＯＳプロトコルなど）を使用して、特定の合意ベースの分散されたデータセットの変更に関する合意を確立することができる。一例として、分散制御レイヤ３４０は、分散されたデータセットと関連付けられる他のシステムユニット１１５へ変更の提案を送信することができ、他のシステムユニット１１５から変更のための定足数を受信し得る。別の例として分散制御レイヤ３４０は、別のユニット１１５から受け取った提案に賛成投票してもよい。さらに別の例として、分散制御レイヤ３４０は、変更に賛成投票せずに、変更についての合意に達したという指示を受信する場合もある。変更についての合意の指示が受信されると、分散制御レイヤ３４０は、分散されたデータセットのローカルコピーの変更を行うことができる。分散制御レイヤ３４０は、ネットワーク１２０上で他のユニット１１５とのセキュアな接続（ＴＬＳ（Transport  Layer  Security）接続）を維持することができる。
【００５０】
ストレージレイヤ３５０は、ユニット１１５と関連付けられる１つ以上のデータセットを記憶し得る。ストレージレイヤ３５０に記憶されたデータセットは、ローカルデータセットに対応してもよく、又は分散されたデータセットに対応してもよい。ローカルデータセットは、ローカルデータセットを記憶する特定のユニット１１５と関連付けられる（及び／又は特定のユニット１１５とのみ関連付けられる）情報を記憶し得る。分散されたデータセットは、分散されたデータセットと関連付けられる他のシステムユニット１１５と関連付けられる情報を記憶し得る。
【００５１】
図３Ｂは、アプリケーションレイヤ３２０及びストレージレイヤ３５０についてさらなる詳細を示す、コントローラ２１０の例示的な機能コンポーネントのブロック図である。図３Ｂに示すように、アプリケーションレイヤ３２０は、制御ロジックアプリケーション３２２（若しくは「制御ロジック３２２」）、管理者認証ロジック３２３、ドア制御アプリケーション３２４、リーダ制御アプリケーション３２６、イベント処理アプリケーション３２８、スケジュール処理アプリケーション３３０、第１のサービスアプリケーション３３２（若しくは「第１のサービス３３２」）、及び／又は第２のサービスアプリケーション３３４（若しくは「第２のサービス３３４」）を含み得る。他のアプリケーションは、例えば、警報アプリケーションや制御アプリケーションを含んでもよい。これらの機能コンポーネントを処理するロジックには、コントローラ２１０及び／又はシステムユニット１１５の異なる部分が関与しうる。すなわち、これらの機能コンポーネントを処理するロジックは、例えば、単一のハードウェアモジュールに接続されなくてもよい。
【００５２】
制御ロジック３２２は、受信した認証情報に基づいて、また記憶されたアクセスルールに基づいて、ユーザに物理的アクセスを許可すべきかどうかを判定し得る。管理者ロジック３２３は、管理者にアクセス（例えばリモートログインといったリモートアクセス）を許可し、他の管理プロセスを提供することができる。例えば、管理ロジック３２３は、認証情報（ユーザ名とパスワードなど）に基づいて管理者を認証し、（例えば、他の管理者のために、及び／又は物理的アクセスの許可を得ようとするユーザのために）ユーザ認証情報へのアクセス、及びユーザ認証情報の更新を管理者に承認することができる。一実施形態では、管理ロジック３２３は、認証された管理者に、特定のシステムユニット１１５についてのユーザ認証情報へのアクセス、ユーザ認証情報の更新、又は他のシステムユニット１１５についてのユーザ認証情報若しくはすべてのシステムユニット１１５についてのユーザ認証情報さえもの更新を承認することができる。管理ロジック３２３のこれらの機能を、図３Ｃに関連して以下で説明する。
【００５３】
ドア制御アプリケーション３２４は、１つ以上のドア及び／又は関連付けられるロック装置２５０を制御し得る。例えば、ドア制御アプリケーション３２４は、ドアが開いているか若しくは閉じているか、及び／又は施錠されているか若しくは開錠されているか判定することができ、１つ以上の装置を、ドアを開き若しくは閉じるように、及び／又はドアを施錠し若しくは開錠するように動作させ得る。リーダ制御アプリケーション３２６は、１つ以上のリーダ装置２４０を制御することができ、１つ以上のリーダ装置２４０から受信される認証情報を取得し、処理し得る。イベント処理アプリケーション３２８は、ドア開けイベント、警報イベント、センサイベント、及び／又は他の種類のログに記録されたイベントといった、ユニット１１５によって記録されたイベントを処理し得る。イベント処理アプリケーション３２８は、報告及び／又は警報を生成し、当該報告及び／又は警報を管理装置１３０へ（及び／又は他のユニット１１５といった別の指定の装置へ）送信し得る。スケジュール処理アプリケーション３３０は、ユニット１１５と関連付けられる１つ以上のスケジュールを管理し得る。例えば、特定のユーザの集合についてのアクセスルールが、特定の時刻に基づいて変化してもよい。
【００５４】
第１のサービスアプリケーション３３２及び第２のサービスアプリケーション３３４は、認証された管理者にサービスを提供することができる。サービスの例には、ＳＳＨ（secure  shell）サーバ、ＦＴＰ（file  transfer  protocol）サーバ、ＲＤＰ（remote  desktop  protocol）サーバ、ＶＰＮ（virtual  private  network）サーバ、ＶＮＣ（virtual  network  channel）サーバなどが含まれる。各コントローラ２１０は、異なるサービスアプリケーションのセットを含み得る。例えば、あるコントローラ２１０がＳＳＨサーバ及びＲＤＰサーバを提供する一方、別のコントローラ２１０が、ＳＳＨサーバ及びＶＰＮサーバを提供してもよい。
【００５５】
図３Ｂに示すように、ストレージレイヤ３５０は、構成データ３５２、管理者認証情報ＤＢ３５４、第１のサービスの認証情報ＤＢ３５６、第２のサービスの認証情報ＤＢ３５８、及び／又はユーザ認証情報ＤＢ３６０を記憶しうる。
【００５６】
構成データ３５２は、コントローラ２１０のハードウェア構成、コントローラ２１０に接続された周辺装置２３０、アプリケーションレイヤ３２０にインストールされたアプリケーション、又は他の種類の構成情報といった、特定のユニット１１５と関連付けられる構成データを記憶する。一実施形態では、構成データ３５２は、特定のコントローラ２１０に特有のものであるため、他のコントローラ２１０には配信されない。他の実施形態では、構成データ３５２が他のコントローラ２１０で使用されることなく、構成データ３５２は、バックアップとして他のコントローラ２１０に配信され得る。
【００５７】
管理者認証情報ＤＢ３５４は、（例えばリモートログインで）システムユニット１１５を管理することができるユーザを認証するための認証情報（ユーザ名とパスワードなど）を記憶する。管理者認証情報ＤＢ３５４については以下で図７Ａに関連して説明する。一実施形態では、管理者認証情報ＤＢ３５４は、同じ管理者らがコントローラ２１０又はユニット１１５のうちのいずれかからシステム１１０を管理することができるように、他のコントローラ２１０の間で配信される。
【００５８】
第１のサービスの認証情報ＤＢ３５６（又は第１の変換された認証情報ＤＢ３５６）及び第２のサービスの認証情報ＤＢ３５８（又は第２の変換された認証情報ＤＢ３５８）は、コントローラ２１０によって提供されるサービス（例えば第１のサービス３３２や第２のサービス３３４）へのアクセスを承認されたユーザ（追加の管理者など）を認証するための認証情報（ユーザ名とパスワードなど）を記憶する。第１のサービス３３２は、第１のサービスの認証情報ＤＢ３５６を使用して、例えば、第１のサービス３３２にアクセスしようとするユーザを認証し得る。同様に、第２のサービス３３４も、第２のサービスの認証情報ＤＢ３５８を使用して第２のサービス３３４にアクセスしようとするユーザを認証し得る。
【００５９】
一実施形態では、ＤＢ３５６及び／又はＤＢ３５８内の認証情報は、平文（plain  text）で（例えば、非暗号化形式や認証情報の内容を明らかにしうるやり方で）記憶されなくてもよい。この実施形態では、認証情報ＤＢ３５６及び／又は認証情報ＤＢ３５８は、変換されたユーザ認証情報を記憶し得る。例えば、ある実装では、第１のサービスの認証情報ＤＢ３５６は、暗号化一方向関数（ハッシュなど）を用いて変換された認証情報を記憶し得る。この例では、第１のサービスの認証情報ＤＢ３５６は、ユーザ名と、対応するパスワードのハッシュとを記憶してもよい。別の例として、第１のサービスの認証情報ＤＢ３５６は、ユーザ名と、対応するパスワードのソルト付きハッシュを記憶してもよい。第１のサービスの認証情報ＤＢ３５６及び第２のサービスの認証情報ＤＢ３５８については、以下で、図７Ｄ〜図７Ｇに関連して説明する。
【００６０】
ユーザ認証情報ＤＢ３６０は、システムユニット１１５によって提供されるサービス（例えば第１のサービス３３２及び／又は第２のサービス３３４）にアクセスすることができるユーザの認証情報（ユーザ名とパスワードなど）を記憶し得る。一実施形態では、ユーザ認証情報ＤＢ３６０は、サービス認証情報ＤＢ（例えば、第１のサービスの認証情報ＤＢ３５６及び／又は第２のサービスの認証情報ＤＢ３５８）に記憶されているのと同じユーザ（又はユーザ群）についての同じ認証情報（又は認証情報群）を記憶し得る。一実施形態では、ユーザ認証情報ＤＢ３６０は、認証情報ＤＢ３５６及び認証情報ＤＢ３５８とは異なるやり方で認証情報を記憶する。例えば、ユーザ認証情報ＤＢ３６０は、変換された認証情報を記憶するサービス認証情報ＤＢ３５６及び／又はサービス認証情報ＤＢ３５８とは異なり、認証情報自体の内容を明らかにするようなやり方で（例えば、平文形式（plaintext  format）や、非変換形式で）認証情報を記憶し得る。一実施形態では、サービス認証情報ＤＢ３５６及びサービス認証情報ＤＢ３５８は、ユーザ認証情報ＤＢ３６０から変換され、又は導出され得る。
【００６１】
図３Ｃは、管理ロジック３２３の例示的なコンポーネントのブロック図であり、管理ロジック３２３のコンポーネントは、管理者オーセンティケータ３８２、ユーザ認証情報更新ロジック３８４、変換された認証情報ジェネレータ３８６、及び／又は認証情報変換ルールＤＢ３８８を含み得る。管理者オーセンティケータ３８２は、コントローラ２１０にログインしようとする管理者についての認証情報を受信し、認証情報が真正であるかどうか判定し、コントローラ２１０へのアクセス（ユーザ認証情報ＤＢ３６０を編集し、変更することができる権限（ability）を含めて）を承認し得る。ユーザ認証情報更新ロジック３８４は、（ユーザ認証情報ＤＢ３６０に記憶するための）コントローラ２１０のサービスのユーザと関連付けられた認証情報に対する（例えば管理者からの）変更及び／又は更新を受信し得る。変換された認証情報ジェネレータ３８６は、ユーザ認証情報ＤＢ３６０に対する変更及び／又は更新に基づいてサービス認証情報ＤＢ（例えば、第１のサービスの認証情報ＤＢ３５６及び第２のサービスの認証情報ＤＢ３５８）を生成し、又は更新し得る。変換された認証情報ジェネレータ３８６は、認証情報変換ルールＤＢ３８８に記憶された情報（例えば、ルール及び装置特有の情報）に基づいて認証情報を変換し得る。例えば、ルールＤＢ３８８は、ＳＳＨサービスについて、ローカルマシンのハードウェアアドレス（例えば装置特有の情報やＭＡＣアドレス）を用いたＳＨＡ−２２４アルゴリズムを使用してパスワードをハッシュすべきであることを示し得る。さらに一実施形態では、ルールＤＢ３８８は、制御システム１１０内の他のコントローラ２１０についてのルール及び装置特有の情報を記憶してもよい。
【００６２】
図３Ａ、図３Ｂ、及び図３Ｃには、ユニット１１５の例示的な機能コンポーネントが示されているが、他の実装では、ユニット１１５は、図３Ａ、図３Ｂ、及び図３Ｃに示すものと比べて、より少数の機能コンポーネント、異なる機能コンポーネント、異なる配置の機能コンポーネント、又は追加的な機能コンポーネントを含んでもよい。加えて、ユニット１１５のコンポーネントのうちのいずれか１つ（又はいずれかのコンポーネント群）が、ユニット１１５の１つ以上の他の機能コンポーネントによって実行されると記載されている機能を実行してもよい。さらに、ユニット１１５の機能コンポーネントは、例えば、１つ以上のＡＳＩＣの配線回路を介して実装されてもよい。追加的又は代替的に、ユニット１１５の機能コンポーネントは、メモリ２１６からの命令を実行するプロセッサ２１４によって実装されてもよい。
【００６３】
図４は、ユニット１１５の例示的な物理レイアウト４００を示す平面図である。図４に示すように、物理レイアウト４００は、壁４１０、ドア４２０、コントローラ２１０、リーダ装置２４０、ロック装置２５０、センサ２６０、及びアクチュエータ２７０を含み得る。
【００６４】
壁４１０は、建物内の部屋といったセキュアな領域４４０を囲む。ドア４２０は、セキュアな領域４４０へのユーザのためのアクセスを提供する。この実施形態では、コントローラ２１０は、セキュアな領域４４０の内部に設置されている。他の実施形態では、コントローラ２１０は、セキュアでない領域４５０に設置されてもよい。リーダ装置２４０は、セキュアな領域４４０の外部に設置されており、ロック装置２５０はセキュアな領域４４０の内部において壁４１０及びドア４２０に設置されている。センサ２６０は、この例では、セキュアな領域４４０の外部のセキュアでない領域４５０に取り付けられた監視装置である。アクチュエータ２７０は、この例の監視装置の視野を制御するのに使用されるモータを含む。
【００６５】
ユーザが（例えば、ＰＩＮを入力する、アクセスカードをスキャンする、虹彩をスキャンするなどによって）リーダ装置２４０に認証情報を入力すると、コントローラ２１０は認証情報を使用してユーザのアイデンティティを認証し、アクセスルールテーブルでルックアップを実行して、ユーザのアイデンティティ及びアクセスルールに基づいてユーザにアクセスを許可すべきかどうかを判定し得る。コントローラ２１０は、アクセスが許可されるべきであると判定した場合、ロック装置２５０を作動させてドア４２０を開錠し、ユーザにセキュアな領域４４０へのアクセスを許可する。
【００６６】
図４には、物理レイアウト４００の例示的なコンポーネントが示されているが、他の実装では、物理レイアウト４００は、図４に示すものと比べて、より少数のコンポーネント、異なるコンポーネント、追加的なコンポーネント、又は異なる配置のコンポーネントを含んでもよい。追加的又は代替的に、物理レイアウト４００内のいずれか１つのコンポーネント（又はコンポーネント群）は、物理レイアウト４００の１つ以上の他のコンポーネントによって実行されるものとして記載されている１つ以上のタスクを実行してもよい。
【００６７】
図５は、制御システム１１０の例示的な物理レイアウト５００を示す平面図である。図５に示すように、物理レイアウト５００は、部屋５２０−Ａ〜部屋５２０−Ｆを有する建物５１０を含み得る。イーサネット（登録商標）ネットワークといったローカルネットワーク５３０は、システムユニット１１５−Ａ〜システムユニット１１５−Ｆを相互接続し得る。この例では、システムユニット１１５−Ａは部屋５２０−Ａに通じる２つのドアを制御し、システムユニット１１５−Ｂは部屋５２０−Ｂに通じる外側のドアを制御し、システムユニット１１５−Ｃは部屋５２０−Ｂから部屋５２０−Ｃへの１つのドアを制御し、システムユニット１１５−Ｄは部屋５２０−Ｃから部屋５２０−Ｄへの１つのドアを制御し、システムユニット１１５−Ｅは部屋５２０−Ｄから部屋５２０−Ｅへの１つのドアを制御し、システムユニット１１５−Ｆは部屋５２０−Ｆに通じる外側のドアを制御する。
【００６８】
この例では、システムユニット１１５−Ａ〜システムユニット１１５−Ｆは、中央制御装置（サーバなど）を含まず、１つ以上の分散されたデータセットを含み得る。例えば、システムユニット１１５−Ａ〜システムユニット１１５−Ｆは、分散された認証情報テーブル、分散されたアクセスルールテーブル、及び／又は分散されたイベントログを維持し得る。管理者が管理装置１３０を使用して、ユーザを追加するためにシステムユニット１１５−Ａにログインし、ユーザと関連付けられる認証情報を追加するものと仮定する。それらの追加された認証情報は、ユーザがアクセス権を有する部屋に通じるドアを制御する他のシステムユニット１１５に配信され得る。例えば、システムユニット１１５−Ｂに障害が発生した場合、システムユニット１１５−Ｂによって収集されたデータは、他のシステムユニットに含まれる分散されたイベントログの結果として、利用可能であり続け得る。
【００６９】
図５では、各ユニット１１５はコントローラ２１０と関連付けられている。さらに、図５の実装では、各コントローラ２１０は、他のコントローラ２１０とは異なる場所（例えば異なる部屋５２０）にある。他の実装では、いくつかのコントローラ２１０及びユニット１１５は、他のコントローラ及びユニット１１５とは異なる建物、異なる地理的区域、異なる国、異なる大陸などに位置してもよい。一実施形態では、ユニット１１５及びコントローラ２１０は、それらが多様な場所にあるにもかかわらず、相互に探索し合い（又はそうするよう最善を尽くし）、ピアツーピアネットワークを形成し、データセットを配信することができる。
【００７０】
図５には、物理レイアウト５００の例示的コンポーネントが示されているが、他の実装では、物理レイアウト５００は、図５に示すものと比べて、より少数のコンポーネント、異なるコンポーネント、追加的なコンポーネント、又は異なる配置のコンポーネントを含んでもよい。例えば、別の実施形態では、中央制御装置（サーバなど）が、１つ以上の分散されたデータセットと併用されてもよい。追加的又は代替的に、物理レイアウト５００の１つ以上のコンポーネントは、物理レイアウト５００の１つ以上の他のコンポーネントによって実行されるものとして記載されている１つ以上のタスクを実行してもよい。
【００７１】
図６は、管理装置１３０の例示的なコンポーネントを示すブロック図である。図６に示すように、管理装置１３０は、バス６１０、プロセッサ６２０、メモリ６３０、入力装置６４０、出力装置６５０、及び通信インタフェース６６０を含み得る。
【００７２】
バス６１０は、管理装置１３０のコンポーネント間の通信を可能にするパスを含む。プロセッサ６２０は、命令を解釈し、実行する任意の種類のシングルコアプロセッサ、マルチコアプロセッサ、マイクロプロセッサ、ラッチベースのプロセッサ、及び／若しくは処理ロジック（又はプロセッサ、マイクロプロセッサ、及び／若しくは処理ロジックのファミリ）を含んでもよい。他の実施形態では、プロセッサ６２０は、ＡＳＩＣ、ＦＰＧＡ、及び／又は別の種類の集積回路若しくは処理ロジックを含んでもよい。
【００７３】
メモリ６３０は、情報、データ、及び／又は命令を記憶する。メモリ６３０は、動的記憶デバイス、揮発性記憶デバイス、及び／又は不揮発性記憶デバイスを含んでもよい。メモリ６３０は、プロセッサ６２０が実行するための命令、又はプロセッサ６２０が使用するための情報を記憶し得る。例えば、メモリ６２０は、ＲＡＭ、ＲＯＭ、ＣＡＭ、磁気的記録メモリデバイス及び／又は光学的記録メモリデバイスなどを含んでもよい。
【００７４】
入力装置６４０は、オペレータが管理装置１３０へ情報を入力することを可能にする。入力装置６４０は、例えば、キーボード、マウス、ペン、マイクロフォン、タッチスクリーンディスプレイなどを含んでもよい。出力装置６５０は、管理装置１３０のオペレータに情報を出力し得る。出力装置６５０は、ディスプレイ、プリンタ、スピーカ、及び／又は別の種類の出力装置を含んでもよい。
【００７５】
通信インタフェース６６０は、コントローラ２１０が、有線通信リンク、無線通信リンク、又は無線通信リンクと有線通信リンクとの組み合わせを介して他の装置と通信する（例えば、データを送信し、及び／又は受信する）ことを可能にする送受信機（送信機及び／又は受信機など）を含んでもよい。通信インタフェース６６０は、有線通信のためのネットワークインタフェースカード（イーサネット（登録商標）カードなど）及び／又は無線通信のための無線ネットワークインタフェース（例えばＷｉＦｉ）カードを含んでもよい。
【００７６】
管理装置１３０は、システム１１０内のユニット１１５の管理に関連する動作を実行し得る。管理装置１３０は、これらの動作を、プロセッサ６２０がメモリ６３０といったコンピュータ可読媒体に含まれるソフトウェア命令を実行したことに応答して実行してもよい。メモリ６３０に含まれるソフトウェア命令は、プロセッサ６２０にこれらの動作を実行させ得る。
【００７７】
上述のように、コントローラ２１０は、ユニット１１５を管理するために管理者を認証し得る。図７Ａは、一実施形態におけるこの目的のための例示的な管理者認証情報ＤＢ３５４を示すブロック図である。管理者認証情報ＤＢ３５４は、管理者を認証するために使用される認証情報はもとより、ユーザ認証情報ＤＢ３６０を復号化するためのマスターキー（暗号化されたマスターキーなど）を記憶し得る。一実施形態では、マスターキーは、制御システム１１０内の（１つ以上の）分散されたデータベースを復号化するためにも使用され得る。「マスター」という用語は、本明細書に記載する他の鍵と区別するために使用される。
【００７８】
図７Ａに示すように、管理者認証情報ＤＢ３５４は、管理者ユーザ名フィールド７０２、暗号化パスワードフィールド７０４、及び暗号化マスターキーフィールド７０６を含み得る。管理者ユーザ名フィールド７０２は、管理者のユーザ名を記憶する。例えば、図７Ａの管理者認証情報ＤＢ３５４には、管理者ユーザ名：管理者１及び管理者２が示されている。管理者認証情報ＤＢ３５４には任意の数の管理者ユーザ名をリストすることができる（すなわち、管理者認証情報ＤＢ３５４には任意の数のレコード又は行が存在し得る）。
【００７９】
暗号化パスワードフィールド７０４は、対応するユーザ名についてのパスワードを記憶する。この実施形態では、フィールド７０４のパスワードは、暗号化マスターキーフィールド７０６に記憶されたマスターキーで暗号化されている。他の実施形態では、パスワードフィールド７０４は対応するパスワードを、非暗号化形式で、又はマスターキー以外の鍵で暗号化して記憶してもよい。図７Ａでは、フィールド７０４には、暗号化されたパスワードではなく、暗号化パスワードを生成するための関数Ｃ（オペランド１，オペランド２）が示されている。関数Ｃは、オペランド２を暗号化鍵として用いてオペランド１を暗号化する。関数Ｃは任意の暗号化関数であり得る。例えば、フィールド７０４のパスワードは、第１の関数Ｃ１を用いてマスターキーで暗号化され得る。
【００８０】
暗号化マスターキーフィールド７０６は、暗号化マスターキーを記憶する。この実施形態では、マスターキーは、対応する管理者のパスワードで暗号化されている。よって、管理者認証情報ＤＢ３５４は、管理者についての認証情報と、ユーザ認証情報ＤＢ３６０を復号化するための鍵とを記憶するが、各々が他方で暗号化される。管理者認証情報ＤＢ３５４については以下で図８Ｃに関連して論じる。フィールド７０６のマスターキーは、第２の関数Ｃ２を用いてパスワードで暗号化され得る。一実施形態では、プロセッサ２１４は、専用回路（ＡＳＩＣなど）で関数Ｃを実行し、専用回路はコントローラ２１０内の他のプロセッサの外部にあってもよい。
【００８１】
管理者認証情報ＤＢ３５４は、図７Ａに示すものより多いフィールド、少ないフィールド、又はこれらと異なるフィールドを含んでもよい。例えば、一実施形態では、管理者ユーザ名フィールド７０２が省かれてもよい。別の実施形態では、管理者認証情報ＤＢ３５４に記憶され、及び／又は管理者認証情報ＤＢ３５４で使用される認証情報は、ユーザ名及びパスワード以外の、又はこれらに加えた種類の認証情報を含んでもよい。例えば、認証情報は、生体認証情報（例えば、指紋や虹彩スキャン）などを含んでもよい。
【００８２】
上述のように、管理者は、ユニット１１５を管理するためにコントローラ２１０にログインすることができ、ユニット１１５の管理には、ユーザ認証情報ＤＢ３６０の更新を含みうる。ユーザ認証情報ＤＢは、他のユーザ又は管理者がコントローラ２１０によって提供されるサービスにアクセスするための認証情報を記憶する。図７Ｂ及び図７Ｃは、一実施形態における例示的なユーザ認証情報ＤＢ（例えば、２つの異なる時点におけるユーザ認証情報ＤＢ３６０）のブロック図である。ユーザ認証情報ＤＢ３６０は、ユーザ名フィールド７４２、サービスフィールド７４４、装置フィールド７４６、及び／又は認証情報フィールド７４８を含み得る。これらのフィールドについて以下で説明する。
【００８３】
ユーザ名フィールド７４２は、第１のサービス３３２や第２のサービス３３４といったコントローラ２１０内のサービスへのアクセスを承認されたユーザを識別する。（図７Ｂに示す）ユーザ認証情報ＤＢ３６０では、ユーザ名はマグナス（Ｍａｇｎｕｓ）及びサビーナ（Ｓａｂｉｎａ）を含む。任意の数のユーザ名（例えば任意の数のエントリやレコード）が可能である。
【００８４】
サービスフィールド７４４は、対応するユーザ名が（例えば、装置フィールド７４６で識別された装置上の認証情報フィールド７４８で識別された認証情報を用いた）アクセスを承認されているサービスを識別する。サービスフィールド７４４で識別されるサービスは、ＳＳＨサーバ（「ＳＳＨ」）及びＶＰＮサーバ（「ＶＰＮ」）を含む。任意の数のサービスがコントローラ２１０のいずれかによって提供されてもよい。
【００８５】
装置フィールド７４６は、対応するユーザ名フィールド７４２で識別されたユーザのためにサービスフィールド７４４で識別されたサービスを提供する装置（コントローラ２１０など）を識別する。前述のように、必ずしもすべてのコントローラ２１０が同じサービスを提供するとは限らない（又はサービスを提供するとは限らない）。さらに、いくつかの装置のいくつかのサービスが、例えば、認証情報フィールド７４８にリストされた認証情報と関連付けられていない場合もある。装置フィールド７４６は、例えば、認証情報フィールド７４８の認証情報が対応するユーザ名及び対応するサービスを有するすべての装置と関連付けられるべきである場合には、「すべて」を識別し得る。装置フィールド７４６は、認証情報フィールド７４８に記憶された認証情報が特定の装置（カメラ２６０など）内の対応するサービス及び対応するユーザ名と関連付けられるべきでない場合には、装置を除外し得る（例えば、「カメラ２６０を除く」など）。装置フィールド７４６は、リーダ２４０、ロック２５０、アクチュエータ２７０といったように、装置を個別に識別し得る。
【００８６】
認証情報フィールド７４８は、（例えば装置フィールド７４６で識別された）対応する１つ以上の装置上の（例えばサービスフィールド７４４で識別された）対応する１つ以上のサービスについての（例えばユーザ名フィールド７４２で識別された）対応するユーザを認証するのに使用される認証情報を記憶する。
【００８７】
一実施形態では、（認証情報フィールド７４８で識別された）単一の認証情報若しくは同じ認証情報、及び／又は（ユーザ名フィールド７４２で識別された）単一のユーザ名若しくは同じユーザ名が、（装置フィールド７４６で識別された）１つ以上の装置にわたって（サービスフィールド７４４で識別された）複数のサービスと関連付けられてもよい。一実施形態では、（認証情報フィールド７４８で識別された）単一の認証情報若しくは同じ認証情報、及び／又は（ユーザ名フィールド７４２で識別された）単一のユーザ名若しくは同じユーザ名が、（サービスフィールド７４４で識別された）１つ以上のサービスにわたって（装置フィールド７４６で識別された）複数の装置と関連付けられてもよい。
【００８８】
別の実施形態では、（認証情報フィールド７４８で定義された）認証情報（及び対応するパスワード）は、ネットワーク内のすべての装置（例えば、制御システム１１０といった分散された物理的アクセス制御システム）と関連付けられてもよい。代替的に、（認証情報フィールド７４８で定義された）認証情報（及び対応するパスワード）が、ネットワーク内の全てではない（一部の）装置（例えば、カメラ２６０を除くなど）と関連付けられてもよい。すなわち、いくつかのコントローラ２１０は、複数の装置及び／又は複数のサービスにわたって認証情報と関連付けられることから除外され（認証情報フィールド７４８で識別され）てよい。
【００８９】
認証情報フィールド７４８は、認証情報を変換せずに記憶することができる。例えば、認証情報がパスワードである場合、パスワードはユーザによってタイプされるとおりに記憶されてもよい。また認証情報フィールド７４８は、認証情報を暗号化された形式で、しかしながら一実施形態では、復号化して変換されていない認証情報を明らかにすることができる形式（例えば全単射暗号化関数など）で記憶してもよい。さらに別の実施形態では、認証情報フィールド７４８は、例えば、すべてのコントローラ２１０によって提供されるすべてのサービスについての関連する変換をすべて含む、１つ以上の変換された形式で認証情報を記憶してもよい。
【００９０】
図８Ｂに関連して以下の例で説明するように、（図７Ｂに示す）ユーザ認証情報ＤＢ３６０は、（図７Ｃに示す）ユーザ認証情報ＤＢ３６０’を生成するために更新される。更新されたユーザ認証情報ＤＢ３６０’への（ユーザ認証情報ＤＢ３６０と比較したものとしての）変更が矢印を付けて太字で示されている。更新されたユーザ認証情報ＤＢ３６０’では、例えば、ユーザ名は、マグナス、サビーナ、及びグンナール（Ｇｕｎｎａｒ）を含む。すなわち、グンナールがユーザ名としてユーザ認証情報ＤＢ３６０に追加された。
【００９１】
ユーザ認証情報ＤＢ３６０は、図７Ｂ及び図７Ｃに示すものより多いフィールド、少ないフィールド、又はこれらと異なるフィールドを含んでもよい。例えば、一実施形態では、ユーザ名フィールド７４２が省かれてもよく、認証情報フィールド７４８が、ユーザの認証はもとよりユーザの識別にも使用されてよい。ユーザ認証情報ＤＢ３６０に記憶された認証情報は、ユーザ名及びパスワード以外に、又はこれらに加えた種類の認証情報も含んでもよい。例えば、ユーザ認証情報ＤＢ３６０は、生体認証情報（例えば指紋や虹彩スキャン）を記憶してもよい。
【００９２】
前述のように、コントローラ２１０は、コントローラ２１０によって提供されるサービスにアクセスするためにユーザ又は管理者を認証し得る。コントローラ２１０（及び対応するサービス）は、サービス認証情報ＤＢを使用してこれらのユーザを認証し得る。図７Ｄ〜図７Ｇは、一実施形態におけるサービス認証情報ＤＢ（例えば、各々２つの異なる時点における第１のサービスの認証情報ＤＢ３５６及び第２のサービスの認証情報ＤＢ３５８など）を示すブロック図である。
【００９３】
図７Ｄ及び図７Ｅに示すように、第１のサービスの認証情報ＤＢ３５６は、ユーザ名フィールド７２２及び変換された認証情報フィールド７２４を含んでもよい。ユーザ名フィールド７２２は、第１のサービス３３２へのアクセスを承認されたユーザを識別する。変換された認証情報フィールド７２４は、例えば、ソルトと連結されたハッシュといった、認証情報の暗号化一方向変換を含んでもよい。ある実装では、変換は、例えば、ソルトが対応する装置（コントローラ２１０など）のハードウェアアドレス（媒体アクセス制御（ＭＡＣ）アドレスなど）であるといった、第１のサービス３３２を提供する装置に特有のものであってよい。別の実装では、第１のサービスの認証情報ＤＢ３５６は、変換された認証情報を記憶せず、未変換の認証情報自体、又は元の認証情報を取得することができるようなやり方（例えば、二方向ハッシュ、暗号化、全単射変換など）で変換された認証情報を記憶する。
【００９４】
同様に、第２のサービスの認証情報ＤＢ３５８も、ユーザ名フィールド７３２及び変換された認証情報フィールド７３４を含んでもよい。ユーザ名フィールド７３２は、第２のサービス３３４へのアクセスを承認されたユーザを識別することができる。変換された認証情報フィールド７３４は、認証情報の暗号化一方向変換（例えば、ソルトと連結されたパスワードなど）を含んでいてよい。一実施形態では、フィールド７３４の変換された認証情報を生成するのに使用される変換関数は、フィールド７２４の変換された認証情報を生成するのに使用される変換関数とは異なる。すなわち、変換関数は、サービス（例えば、サービスが第１のサービス３３２であるかそれとも第２のサービス３３４であるか）に特有のものであってよい。さらに、変換は、第２のサービス３３４を提供する装置に特有のもの、例えば、対応するコントローラ２１０のハードウェアアドレス（ＭＡＣアドレスなど）であるソルトなどであってよい。別の実装では、第２のサービスの認証情報ＤＢ３５８は、変換された認証情報を記憶せず、認証情報自体、又は元の認証情報を取得することができるようなやり方（例えば、二方向ハッシュ、暗号化、全単射変換など）で変換された認証情報を記憶する。
【００９５】
第１のサービスの認証情報ＤＢ３５６のサビーナの変換された認証情報（ＳＳＨでの図７ＤのＵＹＤＡＧ）は、第２のサービスの認証情報ＤＢ３５８におけるサビーナの変換された認証情報（ＶＰＮでの図７ＧのＵＨＹＲＶ）と異なるが、これはどちらのサービスについても同じ非変換認証情報（例えばパスワードＬＥＴＭＥＩＮ）に対応する。よって、サビーナは、同じ認証情報（ユーザ名とパスワードなど）を用いて特定のコントローラ２１０−Ａ上のＳＳＨサーバ及びＶＰＮサーバにログインすることができる。さらに、たとえ第１のサービスの認証情報ＤＢ３５６と第２のサービスの認証情報ＤＢ３５８との変換された認証情報が他のコントローラ２１０（例えば、コントローラ２１０−Ｂ〜コントローラ２１０−Ｆ）上で異なりうるとしても、これらの変換された認証情報もやはり、同じ非変換認証情報（ユーザ名とパスワードなど）に対応しうる。よって、サビーナは、同じ認証情報（ユーザ名とパスワードなど）を用いて他のコントローラ２１０−Ｂ〜コントローラ２１０−Ｆ上のＳＳＨサーバ及びＶＰＮサーバにログインすることができる。
【００９６】
図８Ｂに関連して以下の例で説明するように、（図７Ｄに示す）第１のサービスの認証情報ＤＢ３５６は、（図７Ｅに示す）更新された第１のサービスの認証情報ＤＢ３５６’を作成するように更新される。さらに、（図７Ｆに示す）第２のサービスの認証情報ＤＢ３５８は、（図７Ｇに示す）（更新された）第２のサービスの認証情報ＤＢ３５８’を作成するように更新される。（第１のサービスの認証情報ＤＢ３５６及び第２のサービスの認証情報ＤＢ３５８と比べた）更新された第１のサービスの認証情報ＤＢ３５６’及び第２のサービスの認証情報ＤＢ３５８’への変更が矢印を付けて太字で示されている。
【００９７】
第１のサービスの認証情報ＤＢ３５６及び第２のサービスの認証情報ＤＢ３５８は、図７Ｄ〜図７Ｇに示すものより多いフィールド、少ないフィールド、又はこれらと異なるフィールドを含んでもよい。例えば、一実施形態では、ユーザ名フィールド７２２又は７３４が省かれてもよく、認証情報フィールド７２４又は７３４が、ユーザの認証はもとよりユーザの識別にも使用されてもよい。別の実施形態では、認証情報ＤＢ３５６及び／又は認証情報ＤＢ３５８に記憶された認証情報が、ユーザ名と（変換された）パスワード以外に、又はこれらに加えて認証情報の種類を含んでもよい。例えば、認証情報ＤＢ３５６及び認証情報ＤＢ３５８は、生体認証情報（指紋や虹彩スキャンなど）を記憶してもよい。
【００９８】
前述のように、一実施形態は、ユーザが、同じ（１つ以上の）認証情報（同じユーザ名とパスワードなど）を用いながら、複数の装置にわたる複数のサービスにアクセスすることを可能にする。さらに、一実施形態は、制御システム１１０のユニット１１５内のコントローラ２１０といった分散ネットワーク内の装置間で（１つ以上の）認証情報への変更が伝播されることを可能にする。図８Ａは、コントローラ２１０内のサービスへのアクセスを承認されたユーザを認証するための例示的プロセス８００Ａのフローチャートである。プロセス８００は、例えば、コントローラ２１０で実行されている１つ以上のサービス（第１のサービス３３２及び／又は第２のサービス３３４など）によって実行されてよい。各サービスは、その特定のサービスにアクセスする１以上のユーザを認証するためにプロセス８００の独自のバージョンを実行することができる。以下の例では、第１のサービス３３２はＳＳＨサーバであり、第２のサービス３３４はＶＰＮサーバである。さらに、特定のコントローラ２１０は、図７Ｂに示すユーザ認証情報ＤＢ３６０、図７Ｄに示す第１のサービス（ＳＳＨ）の認証情報ＤＢ３５６、及び図７Ｆに示す第２のサービス（ＶＰＮ）の認証情報ＤＢ３５８を含む。
【００９９】
この例では、プロセス８００Ａは、ユーザからのサービスを求める要求の受信（ブロック８０２）から開始する。要求されるサービスは、認証にユーザ名とパスワードを必要とするＳＳＨサーバであり、ユーザは、（ユーザがリモートに位置する）管理装置１３０内で実行されているＳＳＨクライアントを用いてコントローラ２１０にログインしようとするものと仮定する。この場合、サービス（ＳＳＨサーバ）はユーザに、（１つ以上の）認証情報、例えばユーザ名とパスワードの入力を促す（ブロック８０４）。サービス（ＳＳＨサーバ）は（１つ以上の）ユーザ認証情報を受信し（ブロック８０６）、一実施形態では、その（１つ以上の）ユーザ認証情報を変換する（ブロック８０８）。認証情報の変換の例については、変換された認証情報ジェネレータ３８６に関連して先にすでに論じた。
【０１００】
ユーザを認証するために、サービス（ＳＳＨサーバ）は、受信された認証情報（変換されたものなど）を記憶された（１つ以上の）認証情報と比較する（ブロック８１０）。受信された認証情報を記憶された（１つ以上の）認証情報と比較することは、受信された認証情報を変換することを含んでもよい。前述のように、サービスのための認証情報は、コントローラ２１０のストレージレイヤ３５０の第１のサービスの（第１の変換された）認証情報ＤＢ３５６に記憶されている。認証情報が同一でない（例えば、受信された認証情報が正しくない）場合（ブロック８１２：ＮＯ）には、承認に失敗し、サービス（ＳＳＨサーバ）へのアクセスは承認されない（ブロック８１４）。（変換されている場合もある）受信された（１つ以上の）認証情報が正しい（例えば一致する）場合（ブロック８１２：ＹＥＳ）には、認証に成功し、サービス（ＳＳＨサーバ）へのアクセスが承認される（ブロック８１６）。
【０１０１】
例えば、ユーザのサビーナが、管理装置１３０を使用して、ＳＳＨクライアントを用いて、ユニット１１５−Ａのコントローラ２１０−Ａ（図５参照）にログインしようとするものとする。ユーザはユーザ名（サビーナ）とパスワード（ＬＥＴＭＥＩＮ）を入力するよう促され、ユーザはそれらを入力する。コントローラ２１０−Ａは図７Ｄに示す第１のサービス（ＳＳＨ）の認証情報ＤＢ３５６を記憶しているものと仮定する。コントローラ２１０−Ａのサービス３３２（ＳＳＨ）はパスワード「ＬＥＴＭＥＩＮ」をＵＹＤＡＧへ変換し、これは認証情報ＤＢ３５６に記憶された変換された認証情報と一致し、ユーザのサビーナは正常に認証され、コントローラ２１０−Ａ内のＳＳＨサービスへのアクセスを承認される。この例では、サビーナは、同じユーザ名とパスワード（サビーナ、ＬＥＴＭＥＩＮ）を用いてコントローラ２１０−Ｂ上のＳＳＨサーバにもログインすることができる。というのは、コントローラ２１０−Ｂ内のＳＳＨ認証情報ＤＢ３５６がこのように構成されているからである。実際、サビーナは、同じユーザ名とパスワード（サビーナ、ＬＥＴＭＥＩＮ）を用いて複数のコントローラ２１０上のＶＰＮサーバにログインすることができるはずである。というのは、各コントローラ２１０に記憶されたＶＰＮ認証情報ＤＢ３５８がこのように構成されているからである。例えば、ＳＳＨ認証情報テーブル（第１のサービスの認証情報ＤＢ３５６）内の変換された認証情報は、ＶＰＮ認証情報テーブル（第２のサービスの認証情報ＤＢ３５８）内の変換された認証情報と同じパスワードに対応する。しかし、サビーナは、制御システム１１０内のすべてのサービス（ＳＳＨ及びＶＰＮ）並びにすべてのコントローラ２１０−Ａ〜２１０−Ｆについて、自分のパスワードを「ＬＥＴＭＥＩＮ」から「ＧＯＴＬＡＮＤ」へ変更しようとしている。しかし、管理者（又はサビーナ）が装置ごと、サービスごとにパスワードを変更しなければならないとした場合、おそらくは、サビーナの要望により負担が生じることになる。
【０１０２】
本明細書で開示する実施形態は、サビーナ（又は管理者）に、（１つ以上の）サービスについてのあるコントローラ２１０上のユーザ認証情報ＤＢ３６０内のサビーナのパスワードを変更させ、その変更を他のコントローラ２１０へ伝播させることができる。この場合、管理者オーセンティケータロジック３８２は、複数のサービスについて、かつ／又は複数の装置上の複数のサービスについて、同じ認証情報で同じユーザ（例えばサビーナ）を認証することができる。図８Ｂは、管理者がユーザ認証情報ＤＢ３６０及びサービス認証情報ＤＢ（ＤＢ３５６やＤＢ３５８など）を更新するための例示的プロセス８００Ｂのフローチャートである。以下の例では、管理者は、管理装置１３０を使用してコントローラ２１０にログインする。一実施形態では、ユーザ認証情報データベースへの変更を必要に応じてその他のコントローラ２１０（及び他のサービス認証情報ＤＢ）に配信することができるので、管理者は、コントローラ２１０のうちのいずれか１つにログインすることができる。この例では、管理者は、コントローラ２１０−Ａにログインし、プロセス８００Ｂはユニット１１５−Ａのコントローラ２１０−Ａ内のユーザ認証情報更新ロジック３８４によって実行される。
【０１０３】
プロセス８００Ｂは、コントローラ２１０にログインする管理者からの（１つ以上の）認証情報の受信、及び管理者の認証（ブロック８２２）から開始する。管理者は、例えば、（コントローラ２１０−Ａに記憶されたユーザ認証情報ＤＢ３６０内の）サビーナのパスワードを更新するためにコントローラ２１０−Ａにログインする。管理者を認証するための方法及びプロセスについては以下で図８Ｃに関連して論じる。この例では、管理者は正常に認証されたものと仮定し、プロセス８００Ｂはブロック８２４へ進む。ユーザ認証情報ＤＢ３６０が暗号化されている場合には、復号化される（ブロック８２４）。一実施形態では、図８Ｃに関連して説明するように、ユーザ認証情報ＤＢ３６０を復号化するのに使用される鍵は、管理者が正常に認証されたときにだけ利用できる。ユーザ認証情報ＤＢ３６０を復号化することにより、管理者はＤＢ内のエントリを編集し、変更することができるようになる。他の実施形態では、ユーザ認証情報ＤＢ３６０を復号化するのに使用される鍵は、暗号化なしでコントローラ２１０に記憶される。
【０１０４】
管理者は、認証されると、フィールド７４８内の（１つ以上の）認証情報、ユーザ名フィールド７４２内の（１つ以上の）ユーザ名、サービスフィールド７４４内の（１つ以上の）サービス、及び／又は装置フィールド７４６内の（１つ以上の）装置を含むユーザ認証情報ＤＢ３６０内の情報を編集し、変更することができる。これら新しい（１つ以上の）認証情報及び／又は更新された（１つ以上の）認証情報がコントローラ２１０−Ａによって受信される（ブロック８２６）。また（１つ以上の）認証情報に対応する識別されたサービス及び識別された装置も受信され（ブロック８２８）、コントローラ２１０−Ａ内のユーザ認証情報ＤＢ３６０が更新される（ブロック８３０）。例えば、管理者は、コントローラ２１０−Ａによって提供される特定のサービス又はその他のコントローラ２１０−Ｂ〜コントローラ２１０−Ｆのうちの１つによって提供されるサービスへのアクセスを承認されるユーザを追加し、又は削除することができる。管理者は、例えば、認証情報フィールド７４８に記憶された認証情報（パスワードなど）を変更してもよい。さらに、管理者は、対応する認証情報が該当する（１つ以上の）コントローラ２１０を変更することもできる。
【０１０５】
例えば、図７Ｂ及び図７Ｃに示すように、管理者は、ユーザ名グンナールをユーザ認証情報ＤＢ３６０（図７Ｂ）に追加してユーザ認証情報ＤＢ３６０’（図７Ｃ）を生成する。更新されたユーザ認証情報ＤＢ３６０’は、グンナールが（装置フィールド７４６で定義されているように）コントローラ２１０−Ａ、コントローラ２１０−Ｂ、及びコントローラ２１０−Ｃ上のＶＰＮサービスにアクセスできるが、（この例ではコントローラを含む）カメラ２６０内のＶＰＮにはアクセスできないことを指示している。（装置フィールド７４６の）これら識別されたコントローラによって提供されるＶＰＮサービスについて、グンナールは、認証にユーザ名「グンナール」とパスワード「ＭＵＮＫＫＡＬＬＡＲＥＮ」を使用することができる。また、管理者は、（コントローラ２１０−Ｆを除く）制御システム１１０内のすべての装置のＳＳＨサービス及びＶＰＮサービスのユーザ名サビーナについて、認証情報（すなわちパスワード）を「ＬＥＴＭＥＩＮ」から「ＧＯＴＬＡＮＤ」へ変更する。
【０１０６】
ユーザ認証情報ＤＢ３６０への変更が生じた場合には、（例えば、更新されたユーザ認証情報及び／又は非暗号化ユーザ認証情報に基づいて）変換されたユーザ認証情報が生成され、サービス認証情報ＤＢ（例えば、第１のサービスの認証情報ＤＢ３５６及び／又は第２のサービスの認証情報ＤＢ３５８）が更新される（ブロック８３２）。ユーザ認証情報ＤＢ３６０に記憶された認証情報は、サービス及び装置のためにしかるべく変換される。前述のように、変換された認証情報ジェネレータ３８６は、認証情報変換ルールＤＢ３８８に記憶されたルール（及び他の情報）に基づいて認証情報を変換することができる。例えば、ジェネレータ３８６は、ＳＳＨサービスに暗号化一方向関数（例えば、ローカルデバイスのイーサネット（登録商標）ＭＡＣアドレスでソルト付きＳＨＡ−２２４暗号化関数など）を使用して変換された認証情報を生成することができる。この場合、プロセス８００Ｂ（例えば、変換された認証情報ジェネレータ３８６を用いる認証情報更新ロジック３８４を実行するコントローラ２１０など）は、装置上のＳＳＨサーバのために更新された認証情報又は新しい変換された認証情報を生成する。
【０１０７】
一実施形態では、ユーザ認証情報ＤＢ３６０は（例えば、サービス認証情報ＤＢが更新された後、管理者がログアウトするときなどに）暗号化され（ブロック８３４）、コントローラ２１０−Ａのストレージレイヤ３５０に記憶される。またユーザ認証情報ＤＢ３６０は、（例えば、ピアツーピアネットワークで接続された）コントローラ２１０−Ｂ〜コントローラ２１０−Ｆといった他のコントローラ２１０にも配信されてもよい（ブロック８３６）。以下に記載するように、ユーザ認証情報ＤＢ３６０は、他の装置が、ユーザを認証して対応する他の装置によって提供されるサービスにアクセスさせるための変換された認証情報ＤＢを生成するために、他のコントローラ２１０に配信されてよい。この場合、分散制御レイヤ３４０は、前述のように他の装置へユーザ認証情報ＤＢ３６０を配信することができる。一実施形態では、ユーザ認証情報ＤＢ３６０は、例えば、コントローラ２１０のうちの１つがセキュアでない領域に位置する場合には、一部のコントローラ２１０に配信される。
【０１０８】
一実施形態では、ユーザ認証情報ＤＢ３６０は、暗号化形式で配信される。この場合、ユーザ認証情報ＤＢ３６０を暗号化するのに使用される鍵（「マスターキー」）も、他のコントローラ２１０上で記憶され、使用されてよい。この場合、他のコントローラ２１０は、たとえ暗号化形式で配信されたとしても、ユーザ認証情報ＤＢ３６０を使用することができる。代替の実施形態では、ユーザ認証情報ＤＢ３６０は、非暗号化形式で配信される（が、コントローラ２１０間のリンクは暗号化することができる）。
【０１０９】
また、コントローラ２１０−Ａ内のユーザ認証情報ＤＢ３６０の変更は、結果として他のコントローラ２１０（例えば、コントローラ２１０−Ｂ〜コントローラ２１０−Ｆ）内のサービス認証情報ＤＢの変更も生じさせることになりうる。例えば、コントローラ２１０−Ｂがコントローラ２１０−Ａによって配信されたユーザ認証情報ＤＢ３６０への更新を受信する。すなわち、追加的な変換ユーザ認証情報が生成され、他のコントローラ２１０内のサービス認証情報ＤＢが更新される（ブロック８３８）。これは、以下で説明するように、多くのやり方で行うことができる。同様に、別の例では、コントローラ２１０−Ａが、他のコントローラ２１０（例えば、ピアツーピアネットワーク内のコントローラ２１０−Ｂ〜コントローラ２１０−Ｆ）によって配信されたユーザ認証情報ＤＢ３６０への更新を受信し（ブロック８３６）、変換ユーザ認証情報を生成し、コントローラ２１０−Ａ内のサービス認証情報ＤＢを更新する（ブロック８３８）。この後者の例では、管理者は、コントローラ２１０−Ｂにログインしてユーザ認証情報ＤＢ３６０を更新することができる。
【０１１０】
一実施形態では、（例えば、コントローラ２１０−Ａに記憶された）認証情報変換ルールＤＢ３８８は、それ自体はもとより、他のコントローラ（例えば、コントローラ２１０−Ｂ〜コントローラ２１０−Ｆ）上のサービスについてのルール及び情報（装置特有の情報など）も記憶することができる。よって、コントローラ２１０−Ａ内の変換された認証情報ジェネレータ３８６は、それ自体はもとより、他のコントローラ２１０（例えば、コントローラ２１０−Ａ〜コントローラ２１０−Ｆ）上の他のサービスについての変換認証情報も生成することができる。この場合、サービス認証情報ＤＢは、管理者がそこからログインしたコントローラから適切なコントローラ２１０に配信されてもよい。さらに、サービス認証情報ＤＢは、認証情報がすでに変換されているため、非暗号化形式で配信されてもよい。とはいえ、たとえサービス認証情報ＤＢが非暗号化形式で配信されえたとしても、コントローラ２１０間の通信リンクはやはり（例えばＳＳＬ／ＴＬＳによって）暗号化されてもよい。
【０１１１】
別の実施形態では、各コントローラ２１０がそれ自体のサービス認証情報ＤＢを生成する役割を担うことができる。この場合、（コントローラ２１０−Ａ以外のコントローラ上の）変換された認証情報ジェネレータ３８６は、ユーザ認証情報ＤＢ３６０が変化したことを検出することができ、それ自体のローカルサービス認証情報ＤＢを更新することができる。この場合、ユーザ認証情報ＤＢ３６０及びマスターキーが暗号化されている場合、コントローラ２１０（コントローラ２１０−Ｂ〜コントローラ２１０−Ｆなど）は、マスターキーなしでは認証情報ＤＢ３６０にアクセスすることができない。一実施形態では、管理者がコントローラ２１０−Ａにログインするときに、その他のコントローラ２１０（コントローラ２１０−Ｂ〜コントローラ２１０−Ｆなど）がマスターキーを判定し、又は復号化するのに十分な情報が（例えば暗号化リンクを用いて）他のコントローラ２１０へ伝えられる。よって、他のコントローラ２１０（コントローラ２１０−Ｂ〜コントローラ２１０−Ｆなど）は、管理者がログインしたコントローラ２１０（コントローラ２１０−Ａなど）から受信した、配信された認証情報ＤＢ３６０への更新を復号化することができる。一実施形態では、マスターキーは、いかなるコントローラ２１０の不揮発性メモリにも決して記憶されない。他の実施形態では、マスターキーは、不揮発性メモリに記憶することができる。あるいは、対応するローカルサービス認証情報ＤＢを更新することができるように各コントローラ２１０にログインするよう管理者に要求することもできる。別の実施形態では、（管理者がログインしている）コントローラ２１０−Ａでユーザ認証情報ＤＢ３６０が更新された後、例えばユーザ認証情報ＤＢ３６０が他のコントローラ２１０−Ｂに配信された後で、コントローラ２１０−Ａは、管理者によって提供されたパスワードを用いて管理者をその他のコントローラ２１０−Ｂにログインさせることができる。このようにして、管理者からユーザ認証情報ＤＢ３６０への更新を受信したコントローラ２１０−Ａは、その他のコントローラ２１０−Ｂ〜コントローラ２１０−Ｆが必ずそれぞれのサービス認証情報ＤＢを更新するようにすることができる。
【０１１２】
図８Ｂに関して論じたように、管理者は、管理装置１３０を使用してコントローラ２１０にログインすることができる。図８Ｃは、一実施形態における管理者を認証するためのプロセス８２２のフローチャートである。プロセス８２２は管理者を認証してユーザ認証情報ＤＢ３６０を更新させるのに使用しうるが、認証プロセス８２２は、管理者を認証してコントローラ２１０に関する他のタスクを実行させるのに使用することもできる。
【０１１３】
プロセス８２２は、ユニット１１５のコントローラ２１０にログインする管理者からのユーザ名とパスワード（すなわち認証情報）の受信（ブロック８４２）から開始する。プロセス８２２は、管理者認証情報ＤＢ３５４に問合せて、入力されたユーザ名と一致するユーザ名が存在するかどうか判定する。管理者認証情報ＤＢ３５４に一致するユーザ名が見つからない場合（ブロック８４４：ＮＯ）には、認証に失敗し、コントローラ２１０へのアクセスは承認されない（ブロック８４６）。管理者認証情報ＤＢ３５４に一致するユーザ名が見つかった場合（ブロック８４４：ＹＥＳ）には、プロセス８２２はブロック８４８に進んで、認証に成功したか否か判定する。
【０１１４】
受信された管理者パスワードはおそらく当面は正しいと想定されるにすぎないと仮定して、（暗号化マスターキーフィールド７０６に記憶された）記憶された暗号化マスターキーが、受信された管理者パスワードに基づいて復号化されて、「ほぼ確実なマスターキー」と呼ばれるものが生成される（ブロック８４８）。次いで記憶された管理者パスワードが、ほぼ確実なマスターキーに基づいて復号化されて、「ほぼ確実な管理者パスワード」と呼ばれるものが生成される（ブロック８５０）。受信された管理者パスワードがほぼ確実な管理者パスワードと同一でない場合（ブロック８５２：ＮＯ）には、認証に失敗し、コントローラ２１０へのアクセスは承認されない（ブロック８４６）。受信された管理者パスワードがほぼ確実な管理者パスワードと同じである場合（ブロック８５２：ＹＥＳ）には、認証に成功し、コントローラ２１０へのアクセスが承認される（ブロック８５４）。この場合（ブロック８５４：ＹＥＳ）には、図８Ｂに戻って（ブロック８２４）、ユーザ認証情報ＤＢ３６０が暗号化されている場合には、管理ロジック３２３は（この場合はほぼ確実なマスターキーと同じである）マスターキーに基づいてユーザ認証情報ＤＢ３６０を復号化することができる。暗号化マスターキーは、この実施形態では、管理者パスワードに基づいて復号化されるため、管理ロジック３２３は、（ほぼ確実な管理者パスワードと同じである）入力された管理者パスワードに基づいてユーザ認証情報ＤＢ３６０も復号化する。
【０１１５】
プロセス８２２の変形が可能である。例えば、一実施形態では、管理者によって入力されるパスワードが使用されない。そうではなく、管理者は、他の手段によって（例えば、鍵又はパスワード管理システムを有する管理装置１３０内のクライアントソフトウェアによって）秘密を提供することができる。さらに、一実施形態では、管理者はユーザ名を提供しない。この場合、プロセス８２２は、例えば、認証に成功するか否か判定するために、管理者認証情報ＤＢ３５４内のエントリ又はレコードごとに実行されてもよい。
【０１１６】
以上の明細書では、添付の図面を参照して様々な実施形態を説明した。しかし、添付の特許請求の範囲に記載される本発明の広範な範囲から逸脱することなく、実施形態に様々な改変及び変更を加えることができ、追加的な実施形態を実現することができることは明らかであろう。本明細書及び図面は、したがって、限定としてではなく例示とみなされるべきである。例えば、図８Ａ〜図８Ｃに関連して一連のブロックが記載されているが、ブロック及び／又は信号フローの順序は、他の実装では変更されてもよい。さらに、依存関係の無いブロック及び／又は信号フローは並列に実行されてもよい。
【０１１７】
前述のシステム及び／又は方法は、各図に示す実装形態において、多くの異なる形態のソフトウェア、ファームウェア、及びハードウェアで実装され得ることが理解されるであろう。これらのシステム及び方法を実装するのに使用される実際のソフトウェアコード又は専用の制御ハードウェアは、各実施形態を限定するものではない。よって、システム及び方法の動作及び振る舞いは、特定のソフトウェアコードを参照せずに記載された。すなわち、ソフトウェア及び制御ハードウェアは、本明細書の記載に基づくシステム及び方法を実装するように設計することができることが理解される。
【０１１８】
さらに、前述のある特定の部分が、１つ以上の機能を実行するコンポーネントとして実装されてもよい。コンポーネントとは、本明細書で使用する場合、プロセッサ、ＡＳＩＣ、ＦＰＧＡといったハードウェア、又はハードウェアとソフトウェアの組み合わせ（ソフトウェアを実行するプロセッサなど）を含み得る。
【０１１９】
「ｃｏｍｐｒｉｓｅｓ」及び／又は「ｃｏｍｐｒｉｓｉｎｇ」という用語は、本明細書で使用する場合、記述される特徴、整数、ステップ又はコンポーネントの存在を指定するが、１つ以上の他の特徴、整数、ステップ、コンポーネント又はそのグループを排除するものではない。さらに、「例示的な」（「例示的な実施形態」、「例示的な構成」など）という用語は、「一例として」を意味し、「好ましい」、「最善の」などを意味するものではない。
【０１２０】
本出願で使用されるいかなる要素、動作、又は命令も、特に明示しない限り、実施形態にとって不可欠又は本質的であると解釈すべきではない。また、本明細書で使用する場合、冠詞の「ａ」は１つ以上の項目を含むことが意図されている。例えば、「ａ  ｐｒｏｃｅｓｓｏｒ」は、１つ以上のプロセッサ（例えば、マイクロプロセッサや暗号化及び／又は復号化専用の回路など）を含んでいてよい。加えて、複数の装置「のうちの各々（ｅａｃｈ  ｏｆ）」がある特徴を含むものとして記載されている場合、必ずしもすべての装置が当該特徴を含むとは限らない。すなわち、（当該特徴を有するものと定義される複数以外の）他の装置は、当該特徴を含まなくてもよい。さらに、「〜に基づいて（ｂａｓｅｄ  ｏｎ）」という句は、特に明示しない限り、「少なくとも一部は〜に基づいて」を意味するものである。
【符号の説明】
【０１２１】
１１５    システムユニット
２１０    コントローラ
２１４    プロセッサ
２１８    通信イタフェース
３３２    第１のサービス
３３４    第２のサービス
３５０    メモリ
３５６    第１の変換された認証情報ＤＢ
３５８    第２の変換された認証情報ＤＢ
３６０    ユーザ認証情報ＤＢ
【図１】
2015057704.tif 000003
【図２Ａ】
2015057704.tif 000004
【図２Ｂ】
2015057704.tif 000005
【図３Ａ】
2015057704.tif 000006
【図３Ｂ】
2015057704.tif 000007
【図３Ｃ】
2015057704.tif 000008
【図４】
2015057704.tif 000009
【図５】
2015057704.tif 000010
【図６】
2015057704.tif 000011
【図７Ａ】
2015057704.tif 000012
【図７Ｂ】
2015057704.tif 000013
【図７Ｃ】
2015057704.tif 000014
【図７Ｄ】
2015057704.tif 000015
【図７Ｅ】
2015057704.tif 000016
【図７Ｆ】
2015057704.tif 000017
【図７Ｇ】
2015057704.tif 000018
【図８Ａ】
2015057704.tif 000019
【図８Ｂ】
2015057704.tif 000020
【図８Ｃ】
2015057704.tif 000021