(57)【要約】  １つの実施形態では、コンピュータ実行方法は、１つ以上の第１コンピュータ装置から第１の認証要求を受信したことに応答して、第１組の識別情報を使用して第１クライアント装置の代わりに前記第１コンピュータ装置を認証するステップと、前記第１コンピュータ装置を認証したことに応答して、前記１つ以上の第１コンピュータ装置の少なくとも１つに対応する第１組の１つ以上のトランザクションを生成しキューに入れるステップと、第２の認証要求を前記第１組の１つ以上のトランザクションにアクセスするように構成された前記第１クライアント装置から受信したことに応答して、前記第１クライアント装置に関連する第２組の識別情報を使用して第２コンピュータ装置の代わりに前記第１クライアント装置を認証するステップと、前記第２の認証サービスを実行したことに応答して、前記第１組の１つ以上のトランザクションを暗号化し前記第１クライアント装置に送信するステップとを含む。
2020536304.tif 000002
【特許請求の範囲】
【請求項１】
ゲートウェイを使用して第１の認証要求を１つ以上の第１コンピュータ装置から受信するステップと、
前記ゲートウェイを使用して、前記第１の認証要求を受信したことに応答して前記ゲートウェイに記憶され関連する第１組の識別情報を使用して第１クライアント装置の代わりに前記第１コンピュータ装置の１つ以上に認証してもらうことで、第１の認証サービスを前記１つ以上の第１コンピュータ装置のために実行するステップと、
前記第１の認証サービスを実行したことに応答して、前記ゲートウェイを使用して、前記１つ以上の第１コンピュータ装置の少なくとも１つに対応する第１組の１つ以上のトランザクションを生成しキューに入れるステップと、
前記ゲートウェイを使用して、第２の認証要求を前記第１組の１つ以上のトランザクションにアクセスするように構成された前記第１クライアント装置から受信するステップと、
前記第２の認証要求を受信したことに応答して、前記ゲートウェイを使用して、前記ゲートウェイに記憶され前記第１クライアント装置に関連する第２組の識別情報を使用して第２コンピュータ装置の代わりに第２の認証サービスを前記第１クライアント装置のために実行するステップと、
前記第２の認証サービスを実行したことに応答して、前記ゲートウェイを使用して、前記第１組の１つ以上のトランザクションを暗号化し前記第１クライアント装置に送信するステップと
を含むコンピュータ実行方法。
【請求項２】
前記第１の認証サービスを実行したことに応答して、前記ゲートウェイを使用して、前記１つ以上の第１コンピュータ装置の少なくとも１つに対応する第２組の１つ以上のトランザクションを生成しキューに入れるステップと、
前記ゲートウェイを使用して、第３の認証要求を前記第２組の１つ以上のトランザクションにアクセスするように構成された第２クライアント装置から受信するステップと、
前記第３の認証要求を受信したことに応答して、前記ゲートウェイを使用して、前記ゲートウェイに記憶され前記第２クライアント装置に関連する第３組の識別情報を使用して前記第２コンピュータ装置の代わりに第３の認証サービスを前記第２クライアント装置のために実行するステップと、
前記第３の認証サービスを実行したことに応答して、前記第２組の１つ以上のトランザクションを暗号化し前記第２クライアント装置に送信するステップと
を更に含む請求項１記載の方法。
【請求項３】
前記１つ以上の第１コンピュータ装置は１つ以上の物のインターネット（ＩｏＴ）装置であり、前記第１の認証サービスを前記１つ以上の第１コンピュータ装置のために実行するステップは前記第１の認証サービスを前記１つ以上のＩｏＴ装置のために実行することを含む、請求項１記載の方法。
【請求項４】
前記第２の認証サービスを実行するステップはアプリケーションを認証することを含む、請求項１記載の方法。
【請求項５】
暗号化することは公開鍵暗号を使用することを含む、請求項１記載の方法。
【請求項６】
前記第１組の１つ以上のトランザクションは第１組の１つ以上の時刻印・値ペアを含む、請求項１記載の方法。
【請求項７】
前記第２組の１つ以上のトランザクションは第２組の１つ以上の時刻印・値ペアを含む、請求項２記載の方法。
【請求項８】
１つ以上のプログラム命令シーケンスを記憶する１つ以上の持続性コンピュータ読取可能記憶媒体であって、前記プログラム命令シーケンスは１つ以上のコンピュータ装置により実行される時、
ゲートウェイを使用して第１の認証要求を１つ以上の第１コンピュータ装置から受信するステップと、
前記ゲートウェイを使用して、前記第１の認証要求を受信したことに応答して前記ゲートウェイに記憶され関連する第１組の識別情報を使用して第１クライアント装置の代わりに前記第１コンピュータ装置の１つ以上に認証してもらうことで、第１の認証サービスを前記１つ以上の第１コンピュータ装置のために実行するステップと、
前記第１の認証サービスを実行したことに応答して、前記ゲートウェイを使用して、前記１つ以上の第１コンピュータ装置の少なくとも１つに対応する第１組の１つ以上のトランザクションを生成しキューに入れるステップと、
前記ゲートウェイを使用して、第２の認証要求を前記第１組の１つ以上のトランザクションにアクセスするように構成された前記第１クライアント装置から受信するステップと、
前記第２の認証要求を受信したことに応答して、前記ゲートウェイを使用して、前記ゲートウェイに記憶され前記第１クライアント装置に関連する第２組の識別情報を使用して第２コンピュータ装置の代わりに第２の認証サービスを前記第１クライアント装置のために実行するステップと、
前記第２の認証サービスを実行したことに応答して、前記ゲートウェイを使用して、前記第１組の１つ以上のトランザクションを暗号化し前記第１クライアント装置に送信するステップと
を実行させる、１つ以上の持続性コンピュータ読取可能記憶媒体。
【請求項９】
１つ以上の追加のプログラム命令シーケンスが記憶され、前記１つ以上のコンピュータ装置により実行される時、
前記第１の認証サービスを実行したことに応答して、前記ゲートウェイを使用して、前記１つ以上の第１コンピュータ装置の少なくとも１つに対応する第２組の１つ以上のトランザクションを生成しキューに入れるステップと、
前記ゲートウェイを使用して、第３の認証要求を前記第２組の１つ以上のトランザクションにアクセスするように構成された第２クライアント装置から受信するステップと、
前記第３の認証要求を受信したことに応答して、前記ゲートウェイを使用して、前記ゲートウェイに記憶され前記第２クライアント装置に関連する第３組の識別情報を使用して前記第２コンピュータ装置の代わりに第３の認証サービスを前記第２クライアント装置のために実行するステップと、
前記第３の認証サービスを実行したことに応答して、前記第２組の１つ以上のトランザクションを暗号化し前記第２クライアント装置に送信するステップと
を更に実行させる、請求項８記載の１つ以上の持続性マシン読取可能媒体。
【請求項１０】
前記１つ以上の第１コンピュータ装置は１つ以上の物のインターネット（ＩｏＴ）装置であり、前記第１の認証サービスを前記１つ以上の第１コンピュータ装置のために実行するステップは前記第１の認証サービスを前記１つ以上のＩｏＴ装置のために実行することを含む、請求項８記載の１つ以上の持続性マシン読取可能媒体。
【請求項１１】
前記第２の認証サービスを実行するステップは前記第１組の１つ以上のトランザクションへのアクセスを許可することを含む、請求項８記載の１つ以上の持続性マシン読取可能媒体。
【請求項１２】
前記第３の認証サービスを実行するステップは前記第２組の１つ以上のトランザクションへのアクセスを許可することを含む、請求項９記載の１つ以上の持続性マシン読取可能媒体。
【請求項１３】
前記第１組の１つ以上のトランザクションは第１組の１つ以上の時刻印・値ペアを含み、前記第２組の１つ以上のトランザクションは第２組の１つ以上の時刻印・値ペアを含む、請求項９記載の１つ以上の持続性マシン読取可能媒体。
【請求項１４】
前記第１組の１つ以上のトランザクション及び前記第２組の１つ以上のトランザクションを暗号化することは、公開鍵暗号を使用することを含む、請求項９記載の１つ以上の持続性マシン読取可能媒体。
【請求項１５】
１つ以上のプロセッサと、
前記１つ以上のプロセッサに結合されたコンピュータ読取可能記憶媒体と、
前記コンピュータ読取可能記憶媒体に結合され命令群を記憶するメモリと
を備えたコンピュータシステムであって、前記１つ以上のプロセッサにより実行される時、前記命令群はゲートウェイに、
第１の認証要求を１つ以上の第１コンピュータ装置から受信するステップと、
前記第１の認証要求を受信したことに応答して前記ゲートウェイに記憶され関連する第１組の識別情報を使用して第１クライアント装置の代わりに前記第１コンピュータ装置の１つ以上に認証してもらうことで、第１の認証サービスを前記１つ以上の第１コンピュータ装置のために実行するステップと、
前記第１の認証サービスを実行したことに応答して、前記１つ以上の第１コンピュータ装置の少なくとも１つに対応する第１組の１つ以上のトランザクションを生成しキューに入れるステップと、
第２の認証要求を前記第１組の１つ以上のトランザクションにアクセスするように構成された前記第１クライアント装置から受信するステップと、
前記第２の認証要求を受信したことに応答して、前記ゲートウェイに記憶され前記第１クライアント装置に関連する第２組の識別情報を使用して第２コンピュータ装置の代わりに第２の認証サービスを前記第１クライアント装置のために実行するステップと、
前記第２の認証サービスを実行したことに応答して、前記第１組の１つ以上のトランザクションを暗号化し前記第１クライアント装置に送信するステップと
を実行させる、コンピュータシステム。
【請求項１６】
前記メモリは追加の命令群を記憶し、前記１つ以上のコンピュータ装置により実行される時、前記命令群は前記ゲートウェイに、
前記第１の認証サービスを実行したことに応答して、前記１つ以上の第１コンピュータ装置の少なくとも１つに対応する第２組の１つ以上のトランザクションを生成しキューに入れるステップと、
第３の認証要求を前記第２組の１つ以上のトランザクションにアクセスするように構成された第２クライアント装置から受信するステップと、
前記第３の認証要求を受信したことに応答して、前記ゲートウェイに記憶され前記第２クライアント装置に関連する第３組の識別情報を使用して前記第２コンピュータ装置の代わりに第３の認証サービスを前記第２クライアント装置のために実行するステップと、
前記第３の認証サービスを実行したことに応答して、前記第２組の１つ以上のトランザクションを暗号化し前記第２クライアント装置に送信するステップと
を実行させる、請求項１５記載のコンピュータシステム。
【請求項１７】
前記１つ以上の第１コンピュータ装置は１つ以上の物のインターネット（ＩｏＴ）装置であり、前記第１の認証サービスを前記１つ以上の第１コンピュータ装置のために実行するステップは前記第１の認証サービスを前記１つ以上のＩｏＴ装置のために実行することを含む、請求項１６記載のコンピュータシステム。
【請求項１８】
前記第１組の１つ以上のトランザクションは第１組の１つ以上の時刻印・値ペアを含む、請求項１７記載のコンピュータシステム。
【請求項１９】
前記第２組の１つ以上のトランザクションは第２組の１つ以上の時刻印・値ペアを含む、請求項１８記載のコンピュータシステム。
【請求項２０】
前記第２の認証サービスを実行するステップは、前記第２組の１つ以上のトランザクションではなく前記第１組の１つ以上のトランザクションへのアクセスを許可することを含む、請求項１９記載のコンピュータシステム。
【請求項２１】
前記第３の認証サービスを実行するステップは、前記第１組の１つ以上のトランザクションではなく前記第２組の１つ以上のトランザクションへのアクセスを許可することを含む、請求項２０記載のコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示の技術分野は、データ機密保護及びアクセス制御統制の分野の改善された方法、システム、コンピュータソフトウェア、及び／又はコンピュータハードウェアに関する。本開示はより具体的には複数のアプリケーションを支えるゲートウェイを使用して多テナント・データアクセスを可能にする単一の産業ネットワークを提供するための改善されたコンピュータ実行方法及びシステムに関する。ある実施形態は物のインターネット（ＩｏＴ）装置のデータへのアクセスを統制し、攻撃、無許可又は悪意のある使用、又はマルウェアへのネットワーク上のＩｏＴ装置の耐性を改善するのに有用である。
【背景技術】
【０００２】
この項で記載される手法は追求されうる手法であるが、以前想到された又は追求された手法では必ずしもない。従って、特に断らない限り、この項で記載される手法のいずれもこの項に含まれているだけで従来技術と認定されると考えるべきではない。
【０００３】
物のインターネット（ＩｏＴ）装置の開発及び使用は、過去数年の間目覚ましいスピードで進んだ。ＩｏＴ装置は多様であり、産業機器のコントローラからスマートウォッチ及び個人活動モニターまで全ての物を含む。しかし、セキュリティ基盤はこれらの装置の莫大な数と広範な使用に追い付けていない。複数のアナリストは、数年以内に数十億のそのような装置が動作し相互接続ネットワークに接続されるだろうと推定するが、ＩｏＴ装置が機密保護され、なお容易に使用できることを効率的に可能にしうる効果的なセキュリティ体系は現在存在しない。この技術分野の主要な制約は限定された処理能力、限定されたメモリ、及び限定された又は存在しないユーザーインターフェース要素を含んでいた。ＩｏＴ装置のこれら全ての特性はＩｏＴ装置が既存のクライアント・サーバー機密保護システムに統合され難くする。同時にＩｏＴ装置の誤使用は、攻撃者又は許可されていないユーザーが、ＩｏＴ装置が組み込まれた産業機器又は他のシステムの制御を獲得するのを許すことで破滅的でありうる。
【０００４】
従来、インターネットアクセス付きクライアントコンピュータ装置は、ユーザーアクセスを管理し認証し制御するための識別及びアクセス管理（ＩＡＭ）サービスを提供する企業サーバーコンピュータに接続できる。ほとんど例外無く、利用者の卓上コンピュータ又は携帯コンピュータ装置からのアクセスを許すネットワークは、全ての主要な機密保護機構をサーバーコンピュータに配置してきた。例えば、オンラインアカウントへのアクセスを望むユーザーはインターネット接続付きコンピュータを使用して、ログインページの有るウェブサイトにアクセスしユーザー名及びパスワードなどの識別情報を入力できる。サーバーコンピュータが識別情報を認証すると、そのユーザーが自身のアカウントにアクセスでき他のどんなデータもアクセスしないように、ポリシーはどの特定の装置が有するアクセスの量も制御する。
【０００５】
この従来の手法は、認証するためにクライアント装置がインターネットへの中断のないアクセスを有することを必要とする。また、種々の異なるＩｏＴ装置がより広く使用されるようになるにつれ、異なるＩｏＴ装置により使用されるアプリケーションを受け入れる認証システムを実現することは、更に別の基盤課題を提示する。異なるＩｏＴ装置は異なるソフトウェアアプリケーションにより統制され制御される。従来、異なるアプリケーションを使用するＩｏＴ装置にアクセスする負担はクライアント装置に掛けられ、クライアント装置が、様々な企業装置が使用する全てのアプリケーションを受け入れるようプログラムされる必要がある。しばしば、種々のＩｏＴ装置へのアクセスを必要とするクライアント装置は、各装置にアクセスするのに必要な全てのソフトウェアアプリケーションをダウンロードすることを求められ、これはそのクライアント装置上の過大な記憶スペースを使用する。また、認証はしばしばクライアント装置上のダウンロードされたアプリケーションにより処理され、クライアント装置の処理資源に大きな負担を掛ける。
【０００６】
従って、多数の装置へのアクセスを受け入れられる多テナント能力を持った単一の認証入口が必要である。
【発明の概要】
【０００７】
添付の請求項が、本発明の概要としての役割を果たすであろう。
【図面の簡単な説明】
【０００８】
本発明は、添付図面の図に限定としてではなく例として例示されていて、同様の符号は類似の構成要素を指す。
【図１】１つの実施形態におけるネットワークコンピュータシステムを例示する。
【図２】１つの実施形態における機密保護ゲートウェイを例示する。
【図３】１つの実施形態における多テナント機密保護ゲートウェイシステムを例示する。
【図４】１つの実施形態における機密保護ゲートウェイシステムを例示する。
【図５Ａ】１つの実施形態における多テナント認証サービスを提供するためのアルゴリズム又は方法を例示する。
【図５Ｂ】１つの実施形態における多テナント認証サービスを提供するためのアルゴリズム又は方法を例示する。
【図６】本発明の実施形態が実施されてよいコンピュータシステムを例示する。
【発明を実施するための形態】
【０００９】
以下の記載において、説明目的のために、本発明の完全な理解を提供するために多数の具体的詳細が明らかにされる。しかし、これらの具体的詳細を欠いて本発明を実施してもよいことは明白であろう。他には、本発明を不必要に不明瞭にしないため、周知の構造及び装置はブロック図形態で示されている。
【００１０】
本明細書において、実施形態は以下の概要に従い項に分けて説明される。
【００１１】
１．０  総論
２．０  構造概要
２．１  企業サービス
２．２  ブロックチェーンアーキテクチャー
２．３  分配サービス
３．０  機能概要
３．１  仮想ＩＡＭサービス
３．２  企業装置認証サービス
３．３  許可処理
３．４  検査ログ及び確認
３．５  多テナントアプリケーション認証サービス
３．６  単一入口
４．０  手順概要
５．０  ハードウェア概要。
【００１２】
１．０    総論
様々な実施形態によれば、アプリケーションに加え企業装置、クライアント装置に単一の認証入口を提供することで改善されたコンピュータ及びネットワーク効率及び機密保護を可能にする方法及びシステムが提供される。その単一認証入口は、企業サーバーに代わってローカル識別及びアクセス管理（ＩＡＭ）サービスをクライアント装置及びアプリケーションに提供し、一方、クライアント装置及びアプリケーションに代わって企業装置に認証してもらう。過去の手法はクライアント装置及びアプリケーションから企業サーバーへの接続を認証のために必要とし、認証後、クライアント装置及びアプリケーションは企業装置に直接接続した。これらの過去の手法では、いずれかの企業装置の機密保護が損なわれた時、企業サーバーはクライアント装置がその損なわれた装置にアクセスするのをまだ許可しようとするかもしれない。しかし、本手法は仲介者を利用して企業サーバーに代わって装置及びアプリケーションを認証し、装置及びアプリケーションに代わって企業装置に認証してもらう。この手法は全てのクライアント装置及び企業装置の状態を監視し機密保護違反を検出し、不審な動作を知らせる方法を提供する。この手法は、企業サーバーにとってＩＡＭサービスを仲介者に移すことで処理資源の使用及びネットワーク通信量を低減する利点、ポリシーを自身に実施することをもはや負わないクライアント装置にとって処理資源の使用を低減する利点、及び検査ログ、データ確認、及びブロックチェーンを使用して機密データへの悪意のある攻撃に対する耐性を増加させる利点を有する。また、本手法は、地理的に分散され企業環境から離れた複数のＩｏＴ装置に広げることができ、資源集約的機密保護ソフトウェアを各ＩｏＴ装置上又はにおいて実行することがない。
【００１３】
１つの実施形態では、コンピュータ実行方法は、第１の認証要求を１つ以上の第１コンピュータ装置から受信するステップと、第１の認証要求を受信したことに応答して、前記１つ以上の第１コンピュータ装置のために第２コンピュータ装置に代わって第１組の識別情報を使用して第１の認証サービスを実行するステップと、第１の認証サービスを実行したことに応答して、前記１つ以上の第１コンピュータ装置の少なくとも１つに対応する第１組の１つ以上のトランザクションを生成しキューに入れるステップと、前記第１組の１つ以上のトランザクションにアクセスするよう構成された前記第２コンピュータ装置から第２の認証要求を受信するステップと、第２の認証要求を受信したことに応答して、前記第２コンピュータ装置のために第３コンピュータ装置に代わって第２組の識別情報を使用して第２の認証サービスを実行するステップと、第２の認証サービスを実行したことに応答して、前記第１組の１つ以上のトランザクションを暗号化して前記第２コンピュータ装置に送信するステップとを含む。
【００１４】
２．０    構造概要
図1はネットワークコンピュータシステムを例示する。１つの実施形態では、コンピュータシステム１００は、少なくとも部分的に１つ以上のコンピュータ装置のハードウェア、例えば本書に記載された機能を実行するために１つ以上のメモリに記憶されたプログラム命令群を実行する１つ以上のハードウェアプロセッサにより実現される構成要素を備える。様々な実施形態において、本書に記載された全ての機能が、特殊用途コンピュータ又は汎用コンピュータ内のプログラミングを使用して実行される動作を表すように意図されている。「コンピュータ」は１つ以上の物理的コンピュータ、仮想コンピュータ、及び／又はコンピュータ装置であってよい。例として、コンピュータは１つ以上のサーバーコンピュータ、クラウドベースのコンピュータ、クラウドベースのコンピュータ群、仮想マシンインスタンス又は仮想マシン計算要素、例えば仮想プロセッサ、記憶部及びメモリ、データセンター、記憶装置、卓上コンピュータ、ラップトップコンピュータ、携帯装置、及び／又は任意の他の特殊用途コンピュータ装置であってよい。特に明記されない限り、本書における「コンピュータ」へのいずれの言及も１つ以上のコンピュータを意味しうる。上記の命令群は実行可能な命令群であり、ＪＡＶＡ（登録商標）、Ｃ＋＋、ＯＢＪＥＣＴＩＶＥ‐Ｃ、又は任意の他の適切なプログラミング環境で作成されたソースコードに基づいてコンパイル又は他のやり方で作製された１つ以上の実行可能なファイル又はプログラムから成ってもよい。
【００１５】
図１は本書に記載されたプログラミングを実行するよう構成された構成要素の多くの可能な配置の１つだけを例示する。他の配置はより少ない又は異なる構成要素を含んでもよく、構成要素間での仕事の区分はその配置に依って異なってもよい。図１の例では、ネットワークコンピュータシステム１００は、企業サービス１１０を提供するプログラムされたコンピュータ装置と、分配サービス１６０を提供する装置と、ブロックチェーン１５０の装置との間の安全なデータ交換を可能にしうる。従って、図１の各要素１１０、１５５、１６０は、企業サービス、分配サービス、及びブロックチェーン動作に関連して本書で更に説明される機能及び動作を提供する記憶されたプログラムを管理又は実行する１つ以上のコンピュータを表してもよい。本書に記載された方法及びシステムは多様な異なる企業を収容するように設計されているかもしれない。各企業は、その企業の好みに合わせてカスタマイズされた設定がされた自身の機密保護仲介者１３０、ブロックチェーン１５０、及び／又は機密保護ゲートウェイ１７０を有してよい。
【００１６】
２．１    企業サービス
企業サービス１１０は企業によってプログラムで提供され識別及びアクセス管理（ＩＡＭ）１２０サービスを含むサービスであってよい。通常、このようなサービスはコンピュータ上で制御プログラム又はアプリケーションプログラムを実行し、規定されたプロトコルに基づいてネットワークを通じたクライアント・サーバーデジタルメッセージ通信を使用してクライアントコンピュータ装置の要求を処理し応答することで提供される。ＩＡＭ１２０サービスは、企業サーバーなどの装置が地理的に分散された複数のコンピュータ装置（これに限定されないがＩｏＴ装置を含む）のいずれに対しても装置及びユーザーアクセスを管理、認証、及び制御するのを可能にするかもしれない。
【００１７】
企業サーバー及び他の企業コンピュータ装置はデータ機密保護を保証しマルウェア侵害を防ぐためにしばしば厳重に保護されている。従来、装置が企業サーバーからのアクセス許可を要求する時、その企業サーバーは企業サーバー及び装置により協同実行されるプログラムを使用して管理される確認プロセスを経験してよい。確認プロセスは、認証、認可、及びユーザー、アプリケーション、及び／又は装置のアカウント管理を含んでよい。企業サーバーにより規定されるアクセス制御ポリシーは、どのユーザー、アプリケーション、及び／又は装置がどんな種類のデータへのアクセス許可を有するかを決定してもよい。この従来の手法の代わりに、本手法の１つの実施形態は、本書で更に説明するように確認プロセスを企業サーバーにおいてではなく機密保護ゲートウェイ１７０を使用して実行して、大きな技術的利益があり従来例に比べて改善される。
【００１８】
１つの実施形態では、アクセス制御ポリシーは、企業サーバーに関連するデータリポジトリ１２２に記憶され、企業の必要に応じて更新されてよい。結果として、企業に関連する中央制御ポイントは機密保護ポリシーの制御を維持でき、一方、ＩＡＭ１２０サービス又は他の機能は、例えば保護されたＩｏＴ装置のより近くで実行される。ユーザー、アプリケーション、及び／又は装置に関連する識別情報もデータリポジトリ１２２に記憶されてよい。識別情報は、例えば複数のユーザー名、パスワード、及びそれらの対応するアクセス制御ポリシーを含んでもよい。
【００１９】
機密保護仲介者１３０はコンピュータ、ソフトウェア及び／又はハードウェア、又は組み合わせであり、データリポジトリ１２２に記憶された識別情報にアクセスしその識別情報の変更を検出するようプログラム又は構成された命令群を記憶している。機密保護仲介者１３０は識別情報をキャッシュにローカルにコピーし、その識別情報をハッシュ値計算及び暗号化して、その情報を、ネットワーク１４０を通じてブロックチェーン１５０に送信する。
【００２０】
ネットワーク１４０は１つ以上のローカルエリア・ネットワークの組み合わせ、広域ネットワーク、公衆インターネットなどの世界的な相互接続ネットワーク、又はこれらの組み合わせを概ね表す。このような各ネットワークは、開放型システム間相互接続（ＯＳＩ）多層ネットワークモデルなどの規格に従って相互接続ネットワークプロトコルを実行する記憶されたプログラムを使用又は実行してよい。このモデルは、これらに限定されないが通信制御プロトコル（ＴＣＰ）又はユーザー・データグラム・プロトコル（ＵＤＰ）、インターネット・プロトコル（ＩＰ）、ハイパーテキスト転送プロトコル（ＨＴＴＰ）などを含む。本書に記載された全てのコンピュータはネットワーク１４０に接続するよう構成されてよく、本開示は図１の全ての構成要素はネットワーク１４０を介して通信可能に結合されていることを想定する。
【００２１】
上に列挙した構成要素のそれぞれは単一のコンピュータ上に配置されているかのように例示されているが、上で列挙した構成要素の１つ以上は、異なる複数のコンピュータの一部であり及び／又はそれらの上で実行されてもよい。例えば、データリポジトリ１２２は別のデータリポジトリ１２２と同一の又は別のコンピュータ上に配置されてもよい。別の例として、データリポジトリ１２２は企業サーバーに結合された記憶ドライブであってもよい。
【００２２】
２．２    ブロックチェーンアーキテクチャー
ブロックチェーン１５０はコンピュータの相互接続ネットワーク内に記憶された複数ブロックの繋がれたデータから成ってもよく、これらのコンピュータにおいてブロックチェーンデータの順序付けられた生成及び送信を支える適切なプログラムが記憶されている。ブロックチェーン１５０は、ブロックと呼ばれる順序付けられた記録の連続的に成長するリストを維持する分散されたデータベースを形成する。これらのブロックは時刻が刻印され先行のブロックにリンクされる。一連のブロック内の各ブロックは時間順に繋がれ、各新ブロックは先行するブロックのハッシュを含む。コンピュータのネットワーク内の各コンピュータ１５５又はノードは繋がれたデータブロックの全記録を記憶してもよい。これは各データブロックの完全性とブロックチェーン１５０全体の完全性とを検証できるコンピュータの合意ネットワークを作る。合意ネットワークは、ビザンチン障害を許容する計算システムの能力である高い耐ビザンチン障害性を有する利点を有する。結果として、ブロックチェーン１５０は、ハッシュ機能を利用して各ブロックをその先行するブロックに繋げデータブロックの全記録を各ノードにおいて記憶することでデータの完全性を保証する分散されたデータベースとして機能する。
【００２３】
２．３    分配サービス
分配サービス１６０は、ＩＡＭサービスをクライアント装置１６１にローカルに分配し企業装置１８０に認証してもらうように構成又はプログラムされたコンピュータ実行サービスであってもよい。クライアント装置１６１はコンピュータ、仮想コンピュータ、及び／又はコンピュータ装置であってよい。例として、コンピュータは１つ以上のサーバーコンピュータ、クラウドベースのコンピュータ、クラウドベースのコンピュータ群、仮想マシンインスタンス又は仮想マシン計算要素、例えば仮想プロセッサ、記憶部及びメモリ、データセンター、記憶装置、卓上コンピュータ、ラップトップコンピュータ、携帯装置、及び／又は任意の他の特殊用途コンピュータ装置であってよい。クライアント装置１６１はコンピュータネットワーク装置、例えばゲートウェイ、モデム、ルーター、無線アクセスポイント、スイッチ、ハブ、及びファイアウォールであってもよい。クライアント装置１６１はまた、自身がデータを収集及び交換することを可能にするネットワーク接続能力を有する物理的装置である他のＩｏＴ装置であってもよい。クライアント装置１６１はまた、コンピュータ又はＩｏＴ装置を使用する特定のユーザーであってもよい。クライアント装置１６１はまた、コンピュータ又はＩｏＴ装置上で動作するアプリケーションであってもよい。
【００２４】
機密保護ゲートウェイ１７０は、中断のないインターネットアクセスを伴って又はなしで仮想ＩＡＭサービスをローカルに実行するように構成された命令群を記憶するコンピュータ、ソフトウェア及び／又はハードウェア、又は組み合わせであってもよい。機密保護ゲートウェイ１７０は、本書に更に記載されるようにブロックチェーン１５０に記憶された識別情報にアクセスし、ブロックチェーン１５０データの変化を検出し、ローカルなデータリポジトリを更新されたアクセス識別情報で更新してよい。クライアント装置１６１は機密保護ゲートウェイ１７０に接続して、機密保護ゲートウェイ１７０が機密保護ゲートウェイ１７０に関連するデータリポジトリに記憶された識別情報を使用してクライアント装置１６１のために仮想ＩＡＭサービスをローカルに実行してもよい。クライアント装置１６１のために仮想ＩＡＭサービスを実行することは、ネットワーク１４０へのアクセスを伴って又はなしで行われてよい。機密保護ゲートウェイ１７０はまた、クライアント装置情報を別のデータリポジトリに記憶し周期的にブロックチェーン１５０を記憶された情報で更新してもよい。１つの実施形態では、機密保護ゲートウェイ１７０は企業装置１８０とは別の装置又はプログラムであっても、又は十分な計算資源を持つ企業装置１８０内で動作するようプログラムされていてもよい。
【００２５】
企業装置１８０はコンピュータ、仮想コンピュータ、及び／又はコンピュータ装置であってよい。コンピュータは１つ以上のサーバーコンピュータ、クラウドベースのコンピュータ、クラウドベースのコンピュータ群、仮想マシンインスタンス又は仮想マシン計算要素、例えば仮想プロセッサ、記憶部及びメモリ、データセンター、記憶装置、卓上コンピュータ、ラップトップコンピュータ、携帯装置、及び／又は任意の他の特殊用途コンピュータ装置であってよい。企業装置１８０はコンピュータネットワーク装置、例えばゲートウェイ、モデム、ルーター、無線アクセスポイント、スイッチ、ハブ、及びファイアウォールであってもよい。企業装置１８０はまた、自身がデータを収集及び交換することを可能にするネットワーク接続能力を有する物理的装置である他のＩｏＴ装置であってもよい。企業装置１８０はまた、コンピュータ又はＩｏＴ装置を使用する特定のユーザーであってもよい。企業装置１８０はまた、コンピュータ又はＩｏＴ装置上で動作するアプリケーションであってもよい。
【００２６】
３．０    機能概要
機密保護ゲートウェイ１７０は、新しいやり方で結合された異なる技術基礎の収束された組みを表すことは明らかであろう。１つの実施形態では、機密保護ゲートウェイ１７０はクライアント装置１６１と企業装置１８０の間の仲介を行う。機密保護ゲートウェイ１７０の１つの目的は、ローカルな仮想ＩＡＭサービスを提供し、クライアント装置１６１がインターネットに接続してＩＡＭ１２０サービスをさもなければ実行する企業サーバーにアクセスする必要をなくすことである。機密保護ゲートウェイ１７０の別の目的は、クライアント装置１６１に代わって企業装置１８０に認証してもらうことである。機密保護ゲートウェイ１７０はまた、ユーザーアカウントを企業装置１８０毎に許可レベルと対応付け、クライアント装置１６１と企業装置１８０の間のトランザクションを検査及び確認目的のために追跡するよう機能する。従って、機密保護ゲートウェイ１７０は、クライアント装置１６１の企業装置１８０へのアクセスを認証し、統制し、追跡するため、及び本書の他の項で更に説明されるように企業装置１８０の可能性のある機密保護違反を検出するための単一の入口として機能する。
【００２７】
３．１    仮想ＩＡＭサービス
図２は１つの実施形態における機密保護ゲートウェイを例示する。機密保護ゲートウェイ１７０は、インターネットアクセスを伴って又はなしでローカル認証サービスのための識別情報を検出し、記憶し、利用する命令群及び／又はデータベースを記憶するコンピュータ、ソフトウェア及び／又はハードウェア、又は組み合わせであってもよい。具体的には、機密保護ゲートウェイ１７０は、クライアント装置１６１が機密保護ゲートウェイ１７０に接続するために呼び出すプログラム機能を規定するアプリケーション・プログラム・インターフェース（ＡＰＩ）２１５を実現するプログラムされた命令群を含んでよい。ＡＰＩ２１５は、例えばＨＴＴＰサーバーと一体化された表象状態転送（ＲＥＳＴ）ＡＰＩであってもよく、そのため、ＲＥＳＴ原則に従うＡＰＩ呼び出しをパラメーター化されたＵＲＬでＨＴＴＰを通じてクライアント装置１６１からＡＰＩ２１５に発行できる。１つの実施形態では、ＡＰＩ２１５を介してゲートウェイに接続されたクライアント装置１６１は仮想ＩＡＭサービス命令群２２０を使用して認証されてよい。仮想ＩＡＭサービス命令群２２０は仮想ＩＡＭデータリポジトリ２２５に記憶された識別情報を使用して接続されたクライアント装置１６１のためにローカルに仮想ＩＡＭサービスを実行してもよい。
【００２８】
クライアント装置１６１のために仮想ＩＡＭサービスを実行することは、ネットワーク１４０へのアクセスを伴って又はなしで行われてよい。例えば、機密保護ゲートウェイ１７０がオフラインである間、仮想ＩＡＭサービス命令群２２０は、インターネットアクセスはないが、仮想ＩＡＭデータリポジトリ２２５を、識別情報を求めて解析し、その識別情報を使用してクライアント装置１６１を認証してよい。この手法の技術的利点は認証サービスが、インターネット接続を常時必要とすることなく行われうることである。その代わりに、認証サービスが、企業内ネットワーク又は他のローカルネットワーク設備を介してローカルに提供されてもよい。
【００２９】
クライアント装置１６１が認証されると直ぐ、ＡＰＩ２１５は、企業サーバーに維持されたアクセス制御リストに基づいて認証済みのクライアント装置１６１がアクセスを許可されている企業装置１８０のリストを提示してもよい。アクセス制御リストはまた、本書で更に説明されるように対応付けされた許可リストとして機密保護ゲートウェイ１７０に記憶されてもよい。次に、ユーザーは特定の企業装置１８０を選択してアクセスしてもよい。
【００３０】
３．２    企業装置認証サービス
ある企業装置はアクセスを許可するためにローカル認証を要求するかもしれない。例えば、小さい風力タービンは、フラッシュメモリ又は他の不揮発性記憶装置にハードコード化された工場出荷時設定認証情報を有する場合がある。そのタービンにアクセスするために、工場出荷時設定認証情報を入力し、次に機密保護のためにカスタム認証情報に変更される。その後、そのタービンにアクセスするために、そのカスタム認証情報を入力しなければならない。１つの実施形態では、機密保護ゲートウェイ１７０は、認証情報の設定、企業装置１８０とのローカル認証のための認証情報の記憶、及び機密保護向上のための認証情報の循環を、クライアント装置１６１の代わりに行う。
【００３１】
１つの実施形態では、認証情報処理命令群２４５は、クライアント装置１６１の代わりに企業装置１８０にアクセスするための認証情報を生成するようにプログラムされてよい。認証情報は、例えば機密保護ゲートウェイ１７０用のサービスアカウント及びパスワードであってもよい。認証情報が生成されると、装置データリポジトリ２４０に記憶されてよい。企業装置認証命令群２３５は装置データリポジトリ２４０に記憶された認証情報を使用して企業装置１８０に認証してもらってもよい。認証情報処理命令群２４５はまた、企業装置１８０毎に認証情報を循環させて機密保護を向上させてもよい。具体的には、認証情報の循環は、新しい認証情報を生成し古い認証情報を削除する一連のステップを実行することを含み、これにより、検出されない機密保護違反の場合に、認証情報は悪意のある攻撃者に、情報が変更される前の限られた期間利用可能になるだけであろう。循環の頻度はカスタマイズ可能であり、日、週、月、年、又は任意の他の増分増加する期間に基づいてもよい。更なる詳細は本書の他の項で提供される。
【００３２】
１つの実施形態では、認証されたクライアント装置１６１のユーザーは、アクセスする特定の企業装置１８０を選択する。次に、これに応答して、機密保護ゲートウェイ１７０は企業装置認証命令群２３５を逆プロキシ命令群２３０と共に使用してクライアント装置１６１の代わりに企業装置１８０に認証してもらうようにプログラムされている。企業装置認証命令群２３５は、逆プロキシ命令群２３０が要求するのを代理する一方、装置データリポジトリ２４０に記憶された特定の企業装置１８０に関連する認証情報を使用して企業装置１８０に認証してもらうようにプログラムされていてもよい。逆プロキシ命令群２３０は、新しい企業装置１８０を追加する又は認証情報を変更するための停止時間を無くすために動的構成を使用するようにプログラムされていてもよい。
【００３３】
１つの実施形態では、機密保護ゲートウェイ１７０が企業装置１８０に正しく認証してもらえれば、クライアント装置１６１はプログラム制御下で企業装置１８０にアクセスしてよい。しかし、もし機密保護ゲートウェイ１７０が企業装置１８０に正しく認証してもらえなければ、機密保護ゲートウェイはその企業装置を損なわれているとマークを付けるようにプログラムされてもよく、それにより機密保護ゲートウェイは、更に本書で説明されるようにその企業装置からのデータをもはや受け付けも読み込みもしない。
【００３４】
３．３    許可処理
様々なＩｏＴ装置へのアクセスは異なる許可レベル、例えばルートレベル、管理レベル、読出し書込みレベル、及び読出し専用レベルの使用により統制されてもよい。機密保護ゲートウェイ１７０は認証されたユーザー又は認証された装置の特定のＩｏＴ装置へのアクセスを「管理者」又は「ユーザー」などの役割又は許可に関連する所定の許可レベルに基づいて統制するように構成されてよい。例えば、クライアント装置１６１は、企業サーバーに代わって仮想ＩＡＭサービスを提供する機密保護ゲートウェイ１７０に接続してもよい。ユーザーアカウントはクライアント装置１６１に関連してもよい。
【００３５】
クライアント装置１６１がユーザーアカウントを使用して認証されると、機密保護ゲートウェイ１７０はクライアント装置１６１の企業装置１８０にアクセスする能力を企業サーバーに維持されたアクセス制御リストに基づいて制限するようにプログラムされてもよい。許可処理命令群２６５は企業サーバーに維持されたアクセス制御リストを取り出してローカル許可リストを生成するようにプログラムされてもよい。ローカル許可リストは、例えばいずれかのクライアント装置１６１に関連する各ユーザーアカウントをそのユーザーアカウントがアクセスを許可された全ての企業装置１８０毎に特定の役割又は許可に対応付ける役割ベースアクセス制御（ＲＢＡＣ）リストであってもよい。１つの実施形態では、ＲＢＡＣリストはまた、企業装置１８０又は企業装置グループ毎にユーザーアカウントのグループを役割に対応付けてもよい。
【００３６】
１つの実施形態では、第１クライアント装置１６１に関連する第１のユーザーアカウントは、３つの異なる企業装置のそれぞれのアクセス制御リスト内で「管理者」に指名され、従って第１企業装置１８０、第２企業装置１８０、及び第３企業装置１８０への管理特権を与えられるかもしれない。第２クライアント装置１６１に関連する第２のユーザーアカウントは、それら３つの企業装置のそれぞれのアクセス制御リスト内で「ユーザー」に指名され、従って第１企業装置１８０、第２企業装置１８０、及び第３企業装置１８０への読出し書込み特権を与えられるかもしれない。第３クライアント装置に関連する第３のユーザーアカウントは、それらの装置のそれぞれのアクセス制御リストに基づいて第１企業装置１８０及び第２企業装置１８０の「管理者」に指名され、また第３企業装置１８０の「ユーザー」にも指名されるかもしれない。この場合、許可処理命令群２６５は各企業装置に関連するアクセス制御リストを取り出すようにプログラムされている。許可処理命令群２６５は第３のユーザーアカウントを第１企業装置１８０及び第２企業装置１８０の管理特権と第３企業装置１８０への制限されたユーザーアクセスとに対応付けするローカル許可リストを生成するようにプログラムされてもよい。このローカル許可リストは許可データリポジトリ２７０に記憶されてもよい。
【００３７】
３．４    検査ログ及び確認
機密保護ゲートウェイ１７０はクライアント装置１６１と企業装置１８０の間の仲介として働くようにプログラムされてもよいので、全てのＩｏＴ装置への及びからの全てのトランザクションを探してパケット、セグメント、フロー、又は他の通信を追跡するように論理的に位置付けられている。検査ログ処理命令群２５０は、例えば時刻印、行為者、動作／トランザクション、重大度、及び機密保護ゲートウェイ１７０により処理されたいずれの行動の状態も記録し、追跡及び機密保護目的で検査ログを生成するようプログラムされてもよい。検査ログは平文で記述された個別のトランザクションエントリであっても又は一連のトランザクションエントリであってもよい。
【００３８】
検査ログ処理命令群２５０は、各トランザクションが発生した時に単一の検査ログエントリを生成しても、又はある期間の複数のエントリから成る検査ログを生成してもよい。検査ログに記録及び表示されるデータのタイプと検査ログが生成される頻度とは構成データ内で指定されても又はプログラムされてもよい。行為者、動作／トランザクション、重大度、及び状態の具体的なタイプもカスタマイズ可能である。下記は生成されるかもしれない検査ログの例である。
【００３９】
【表１】
2020536304.tif 000003
【００４０】
上記実施形態では、検査ログは４つのエントリを表示する。時刻印欄は、トランザクションが記録された異なる時刻を表すＴ１〜Ｔ４を表示する。時刻は時、分、及び／又は秒で記録されてよい。時刻印に加えて、検査ログは日付などの追加の情報を記録するように構成されてもよい。行為者欄はイベント又は行動を始めた各行為者を表示する。行為者はどのＩｏＴ装置、例えばクライアント装置１６１又は企業装置１８０であってもよく、ユーザー名、ユーザーに関連するアカウント、装置名、装置に関連するアカウント、インターネット・プロトコル（ＩＰ）アドレス、メディアアクセス制御（ＭＡＣ）アドレス、又は任意の他の識別形態で記録されてよい。動作／トランザクション欄は行為者によって行われた動作、トランザクション、イベント、入力、及び／又は行動、例えばログイン試行、データの掲示、又はデータのストリーミングを表示する。
【００４１】
記録される特定のタイプの行動は企業装置１８０の機能及び行為者がする事に基づいてカスタマイズされてもよい。例えば、クライアント装置１６１がセンサーデータを記録する特定の企業装置１８０にデータをダウンロードするためにアクセスしたら、検査ログに記録される行動は「データのダウンロード」であってもよい。
【００４２】
状態欄は各動作／トランザクションの状態、例えばログインが成功したか否か及びあるデータの掲示が承認されたか否かを表示する。重大度欄は各動作／トランザクションの標識、例えば通常でない行動を通知するための警報を表示する。警報は潜在的な機密保護リスクを示すことがある行動を追跡するようにカスタマイズされうる。上記の例では、ＩＰカメラ１への５回のログイン試行失敗に対して警報が記録され送信される。
【００４３】
検査ログ処理命令群２５０は、任意の数、例えば６回、４回、又は３回のログイン試行失敗後に警報を記録し送信するようにプログラムされてもよい。機密保護ゲートウェイ１７０は試行しＩＰカメラ１に認証してもらうのに５回失敗したので、ＩＰカメラ１は悪意のある攻撃により損なわれているかもしれない。結果として、検査ログ処理命令群２５０は、そのイベントを検査ログに記録し、警報を生成する。警報は機密保護ゲートウェイ１７０にＩＰカメラ１からのデータの受け付け又は取り込みを停止させるかもしれない。
【００４４】
検査ログ処理命令群２５０により生成された検査ログは検査ログデータリポジトリ２５５に記憶されてもよい。１つの実施形態では、検査ログデータリポジトリ２５５は機密保護ゲートウェイ１７０に位置し、企業の代わりに第三者により管理されてもよい。別の実施形態では、検査ログデータリポジトリ２５５は機密保護ゲートウェイ１７０外に位置し企業により管理されてもよい。１つの実施形態では、検査ログデータリポジトリ２５５はまた、企業システム中に分散され複製されてもよい。検査ログデータリポジトリ２５５位置及び管理の任意の組み合わせを使用してよい。
【００４５】
検査ログデータリポジトリ２５５への送達後、検査ログ処理命令群２５０は、検査ログのハッシュ又はハッシュ値を計算してもよい。例えば、ＭＤ５又は任意の他の暗号学的ハッシュ関数などのハッシュ関数は各検査ログをＭＤ５ハッシュなどのハッシュ又は指標に対応付けるかもしれない。ハッシュは各検査ログの数値表現として働いてもよい。当技術で理解される任意のハッシュ関数を使用してよい。次に、ハッシュはブロックチェーン１５０に記録されてよい。
【００４６】
ブロックチェーン１５０は、多数のエントリを追跡する分散されたデジタル台帳として機能する。ブロックチェーン全体のコピーは、相互接続されたコンピュータの分散ネットワーク内の各コンピュータ１５５又はノードで記憶されてもよい（図１はブロックチェーン１５０を有するコンピュータ１５５を例示する）。１つの実施形態では、ブロックチェーン１５０への提案されたエントリがそれらのコンピュータの大多数により検証のために検査される。例えば、新しいエントリがブロックチェーン１５０に記憶されるために生成されたら、ブロックチェーン１５０のコピーも記憶する相互接続されたコンピュータのネットワークは先ずアルゴリズムを起動しハッシュ値を評価し、そのエントリの有効性を検証する。コンピュータの大多数がエントリは有効だと認めると、そのエントリはブロックチェーン１５０の新しいブロックとして追加される。合意ネットワークの一部として、ブロックチェーン１５０は高い耐ビザンチン障害性を実現する。例えば、ブロックチェーン１５０内の情報を変えようと試みている悪意のある攻撃は、合意を変えるために合意ネットワーク内のコンピュータの５０％超を制御する必要があるであろう。悪意のある攻撃をしてそれだけ多くのコンピュータに対する制御を維持することは非常に困難であろうから、ブロックチェーン１５０データは従来のデータ記憶方法よりも良く悪意のある攻撃から保護される。
【００４７】
機密保護ゲートウェイ１７０はまた、検査ログの完全性を検証するデータ検証命令群２６０を追加の機密保護手段として有してもよい。１つの実施形態では、データ検証命令群２６０は以前使用した同じハッシュ関数を検査ログデータリポジトリ２５５に記憶された検査ログに適用し、そのハッシュをブロックチェーン１５０に記憶された検査ログのハッシュと比較してもよい。検査ログデータリポジトリ２５５に記憶された検査ログのどんな変更もそのハッシュを変え、それによりブロックチェーン１５０からのハッシュと比べた検査ログデータリポジトリ２５５からのハッシュの違いを生成するであろう。現在のハッシュがブロックチェーン１５０に記憶されたハッシュと一致すれば、変更は行われていない。しかし、現在のハッシュがブロックチェーン１５０に記憶されたハッシュと一致しなければ、検査ログの変更が行われた。従って、データ検証命令群２６０は検査ログが改竄されていないことを検証することで向上した機密保護を提供する。
【００４８】
３．５    多テナントアプリケーション認証サービス
別の実施形態では、機密保護ゲートウェイ１７０は多様なソフトウェアアプリケーションのための単一の認証入口として働いてよい。機密保護ゲートウェイ１７０は、そのうち多くがデータの送受信に多様なアプリケーションを使用する複数の企業装置に認証してもらうので、機密保護ゲートウェイ１７０はまた、これらのアプリケーションのそれぞれをサポートし、各アプリケーションに認証サービスを提供してもよい。従って、機密保護ゲートウェイ１７０は単一の認証入口で多テナントデータアクセスを提供してもよい。
【００４９】
図３は１つの実施形態における多テナント機密保護ゲートウェイシステムを例示する。
【００５０】
図３の例では、本書で前述したように機密保護ゲートウェイ１７０は企業装置認証命令群２３５を使用して装置データリポジトリ２４０にアクセスし企業装置１８０を認証するようにプログラムされてもよい。企業装置１８０は、例えばカメラ、温度センサー、計器、又は任意の他のＩｏＴ装置であってもよい。１つの実施形態では、認証されると、企業装置１８０は時刻印・値ペアの形態の時系列データにより表され記録されたトランザクションを機密保護ゲートウェイ１７０に処理及びキューに入れるために送信してもよい。例えば、温度センサーは温度測定値及び温度が記録された関連する時間を機密保護ゲートウェイ１７０に送信してもよい。次に、機密保護ゲートウェイ１７０はメッセージキュー処理命令群３３０を使用して、各認証した企業装置１８０から取得した時系列データをメッセージキュー３４０に入れてもよい。
【００５１】
クライアント装置１６１は、ソフトウェアアプリケーションが認証された後、そのアプリケーションを使用して企業装置１８０にアクセスするか又はメッセージキュー３４０に記憶された時系列データにアクセスしてもよい。１つの実施形態では、機密保護ゲートウェイ１７０は企業装置１８０又は記憶された時系列データにアクセスするように構成されたアプリケーション３１０を実行してもよい。機密保護ゲートウェイ１７０上で動作するアプリケーション３１０に対応するエッジアプリケーションを実行するクライアント装置１６１は、アプリケーション３１０と通信して認証を要求してもよい。このエッジアプリケーションは識別情報のユーザー入力を許すプログラム可能なユーザーインターフェースであってもよい。次に、機密保護ゲートウェイ１７０はアプリケーション認証命令群３２０を使用して認証のためのアプリケーションベース識別情報を記憶する仮想ＩＡＭデータリポジトリ２２５又は別のデータリポジトリにアクセスし、エッジアプリケーションを介して受け取った識別情報を使用してアプリケーション３１０を認証してもよい。従って、認証は機密保護ゲートウェイ１７０で行われ、クライアント装置処理資源の使用が低減される。１つの実施形態では、エッジアプリケーションは、例えば予め提供された認証トークンを有しエッジにおいて動作する自律アプリケーションであってもよい。機密保護ゲートウェイ１７０は、ユーザー入力の必要なしに予め提供された認証トークンを検証してもよい。
【００５２】
１つの実施形態では、認証プロセスはどの時系列データがどのアプリケーション３１０によりアクセスされてよいかを統制してもよい。各アプリケーション３１０は特定企業用であり、特定の企業に属する１つ以上の時系列データだけをアクセスしてもよい。例えば、Ａｓｓｏｃｉａｔｅｄ  Ｇｅｎｅｒａｌ  Ｅｎｔｅｒｐｒｉｓｅｓ（ＡＧＥ）と命名された架空の企業はＡＧＥカメラのための自分達のソフトウェアアプリケーションを有してもよい。機密保護ゲートウェイ１７０は、クライアント装置１６１がＡＧＥカメラからのＡＧＥ時系列データだけにアクセスできるようにするＡＧＥアプリケーション３１０をサポートしてもよい。１つの実施形態では、各企業装置１８０及び各対応するアプリケーション３１０はその特定の企業を一意に表すか又は特定する値からなる企業識別子（ＩＤ）を有してもよい。企業装置認証後、メッセージキュー処理命令群３３０は企業装置１８０からの時系列データをその企業装置１８０の企業ＩＤに対応付けてもよい。アプリケーション認証後、アプリケーション認証命令群３２０はアプリケーション３１０と関連する企業ＩＤを特定し、その企業ＩＤに対応付けられた時系列データだけへのアクセスを可能にするようにプログラムされてもよい。これらの特定企業用アプリケーションを介してアクセスを制御することで、機密保護ゲートウェイ１７０は、機密情報は安全であり認証されたアプリケーションを実行するそれらの装置だけがアクセス可能であることを保証してもよい。
【００５３】
１つの実施形態では、認証プロセスはまた、どの時系列データがどのユーザーによりアクセスされてよいかを統制してもよい。例えば、機密保護ゲートウェイ１７０は、図２の許可処理命令群２６５を使用して企業サーバーに維持されたアクセス制御リストを取り出してローカル許可リストを生成してもよい。ローカル許可リストは、例えばアプリケーション３１０がアクセスを許可された時系列データ毎に各ユーザーを特定の役割又は許可に対応付けるＲＢＡＣリストであってもよい。ＲＢＡＣリストは、どのユーザーが企業に属するどの特定の装置にアクセスしてよいかを決定するために、企業ＩＤと共に使用されてもよい。
【００５４】
例えば、ＡＧＥ装置にアクセスするためにＡＧＥ特定アプリケーション３１０を使用するユーザーはＡＧＥカメラへの管理特権を有し、ＡＧＥ温度センサーへはアクセス権を有していないかもしれない。別のユーザーは、例えばＡＧＥカメラ及びＡＧＥ温度センサー両方への管理特権を有していてもよい。１つの実施形態では、ＲＢＡＣリストはまた、ユーザーのグループを１つの企業装置１８０又は企業装置のグループにおける役割に対応付けてもよい。
【００５５】
認証が行われると、アプリケーション３１０は企業装置１８０又はメッセージキュー３４０にアクセスし、アプリケーション３１０がアクセスを許可されている時系列データを取得してもよい。メッセージキュー３４０から時系列データを取得すると、アプリケーション３１０はその時系列データを、例えば公開鍵基盤（ＰＫＩ）モデル又は公開鍵暗号を使用して暗号化してもよく、アプリケーション３１０は暗号化用の公開鍵を持ち、クライアント装置１６１は復号用の秘密鍵を持つ。ＰＫＩ暗号化及び復号は、クライアント装置１６１が受信する前はその時系列データは損なわれていないことを保証してデータ機密保護を可能にする。
【００５６】
３．６    単一入口
図４は１つの実施形態における機密保護ゲートウェイシステムを例示する。図４の例では、機密保護ゲートウェイ１７０は企業装置、ユーザー、アプリケーション、及びデータの単一入口として働いてよい。具体的には、機密保護ゲートウェイ１７０は、異なるプラットフォーム及びプロトコルに亘ってデータを制御及び分散するのに加え、ＩｏＴ装置を登録し、認証情報を循環させ、企業装置、アプリケーション、及びクライアント装置を認証し、アプリケーションの多テナントをサポートするようにプログラムされてよい。
【００５７】
１つの実施形態では、機密保護ゲートウェイ１７０は、認証のためのアプリケーションベース識別情報を記憶する仮想ＩＡＭデータリポジトリ２２５又は別のデータリポジトリにアクセスして、エッジアプリケーション４１０を介して受け取った情報を使用してアプリケーション３１０を認証するアプリケーション認証命令群３２０がプログラムされてよい。アプリケーション認証命令群３２０は異なる企業の多様なアプリケーションを認証し、例えばアプリケーションベース識別情報を記憶する仮想ＩＡＭデータリポジトリ２２５又は別のデータリポジトリに記憶された企業ＩＤに基づいて特定の企業だけへのユーザーアクセスを許可してもよい。
【００５８】
別の実施形態では、機密保護ゲートウェイ１７０は、仮想ＩＡＭデータリポジトリ２２５にアクセスして、機密保護ゲートウェイ１７０にアプリケーションではなくウェブブラウザなどのユーザーインターフェース手段を介してアクセスしているクライアント装置１６１を認証する仮想ＩＡＭサービス命令群２２０などの企業ユーザー認証命令群４２０がプログラムされてよい。企業ユーザー認証命令群４２０はまた、例えば許可データリポジトリ２７０に記憶されたローカル許可リストに基づいてユーザーアクセスを統制してもよい。
【００５９】
別の実施形態では、機密保護ゲートウェイ１７０は、本書で更に説明されるように仮想ＩＡＭデータリポジトリ２２５にアクセスして、装置データリポジトリ２４０に記憶された認証情報を使用して企業装置１８０を認証する企業装置認証命令群２３５がプログラムされてよい。
【００６０】
別の実施形態では、機密保護ゲートウェイ１７０は、クライアント装置１６１に代わって企業装置１８０にアクセスするための認証情報を生成する認証情報処理命令群２４５がプログラムされてよい。認証情報は、例えば機密保護ゲートウェイ１７０用のサービスアカウント及びパスワードであってもよい。認証情報が生成されると、装置データリポジトリ２４０に記憶されてもよい。企業装置認証命令群２３５は装置データリポジトリ２４０に記憶された認証情報を使用して企業装置１８０に認証してもらってよい。認証情報処理命令群２４５はまた、各企業装置１８０用の認証情報を循環させて機密保護を向上させてよい。具体的には、認証情報を循環させることは一連のステップを実行して新しい認証情報を生成し古いのを消去することを含み、それにより、検出されない機密保護違反の場合、認証情報は悪意のある攻撃者に、情報が変更される前の限られた期間利用可能になるだけであろう。循環の頻度はカスタマイズ可能であり、日、週、月、年、又は任意の他の増分増加する期間に基づいてもよい。更なる詳細は本書の他の項で提供される。
【００６１】
別の実施形態では、機密保護ゲートウェイ１７０は、企業装置認証命令群２３５、アプリケーション認証命令群３２０、及び企業ユーザー認証命令群４２０と共に働くデータ転送命令群４４０がプログラムされてよい。アプリケーション３１０又はクライアント装置１６１が認証され、企業装置１８０が認証されると、アプリケーション３１０又はクライアント装置１６１は企業装置１８０に直接アクセスするか又は機密保護ゲートウェイ１７０にローカルに記憶された企業装置１８０からのデータにアクセスしてよい。そのデータは、例えばメッセージキュー３４０に記憶されていてもよい。データ転送命令群４４０は１つの実施形態ではメッセージキュー処理命令群３３０であっても、又はデータを企業装置１８０から機密保護ゲートウェイ１７０に、そのデータへのアクセスが許可されたユーザー、アプリケーション、及び／又はクライアント装置だけへの統制された分配のために転送する任意の他の命令群であってもよい。
【００６２】
１つの実施形態では、機密保護ゲートウェイ１７０は様々な相互接続された装置間の情報の分配を統制するノードである分配機構ノード４３０としてプログラムされてよい。この実施形態では、アプリケーション認証命令群３２０、企業ユーザー認証命令群４２０、企業装置認証命令群２３５、認証情報処理命令群２４５、及びデータ転送命令群４４０全てが分配機構ノード４３０に相互接続し、データが適宜受信、処理、転送、及び／又は記憶されてよい。
【００６３】
従って、機密保護ゲートウェイ１７０は、データが様々な装置間で安全に交換されうるようにデータ、装置、アプリケーション、及びユーザーに対する中央認証及びアクセス統制ポイントとして働いてよい。
【００６４】
４．０    手順概要
図５Ａ及び図５Ｂは１つの実施形態における多テナント認証サービスを提供するためのアルゴリズム又は方法５００を例示する。図５Ａ及び図５Ｂは、機密保護ゲートウェイ１７０が実行又は管理する１つ以上のコンピュータプログラム又は他のソフトウェア要素をコード化するのに基礎として使用されてよい。１つの実施形態では、この項の手法を使用して、機密保護ゲートウェイ１７０は企業サーバーの代わりに仮想ＩＡＭサービスを提供する。もしそうでなければ、企業サーバーが認証サービスをクライアント装置及びアプリケーションに提供する必要がある。機密保護ゲートウェイ１７０はまた、クライアント装置１６１及びアプリケーション３１０の代わりに企業装置に認証してもらうことで、クライアント装置及びアプリケーションの代わりに働く。
【００６５】
図５Ａのステップ５０５で、方法は第１の認証要求を１つ以上の第１コンピュータ装置から受信することを含む。１つの実施形態では、機密保護ゲートウェイ１７０は企業装置１８０から認証要求を受信する。企業装置１８０は、例えばカメラ、温度センサー、計器、又は任意の他のＩｏＴ装置であってもよい。企業装置１８０はまた、その企業に特有の企業ＩＤが予めプログラムされていてもよい。
【００６６】
ステップ５１０で、第１の認証要求を受信したことに応答して、本方法は前記１つ以上の第１コンピュータ装置のために第２コンピュータ装置に代わり第１組の識別情報を使用して第１の認証サービスを実行することを更に含む。１つの実施形態では、機密保護ゲートウェイ１７０はクライアント装置１６１の代わりに企業装置１８０を認証し、その後、クライアント装置１６１は企業装置１８０又は企業装置１８０の時系列データにアクセスしてよい。第１の認証サービスを実行することは企業装置認証命令群２３５を使用して企業装置１８０にアクセスするための認証情報又は識別情報を記憶する装置データリポジトリ２４０にアクセスし、その識別情報に基づいて企業装置１８０を認証することを含んでもよい。１つの実施形態では、企業装置１８０に対する識別情報は、その装置が関連する企業を特定する企業ＩＤを含んでもよい。別の実施形態では、複数の企業装置が認証されてもよい。それら複数の企業装置は全て１つの特定の企業に関連しても又は異なる企業に関連していてもよい。
【００６７】
ステップ５１５で、前記第１の認証サービスを実行したことに応答して、本方法は前記１つ以上の第１コンピュータ装置の少なくとも１つに対応する第１組の１つ以上のトランザクションを生成しキューに入れることを更に含む。１つの実施形態では、機密保護ゲートウェイ１７０が企業装置１８０を認証すると、機密保護ゲートウェイは、企業装置１８０で発生した一組の１つ以上のトランザクションを取得しそれらのトランザクションをメッセージキュー３４０に入れるメッセージキュー処理命令群３３０がプログラムされてもよい。機密保護ゲートウェイ１７０は１つ以上の企業と関連する任意の数の企業装置からトランザクションを取得してもよい。
【００６８】
例えば、企業装置１８０は特定の時間に温度測定値を記録する温度センサーであってもよい。温度センサーは企業例としてのＡＧＥに属してもよい。トランザクション又は動作は温度などの値及び関連する時刻印であってもよい。１つの実施形態では、トランザクションは時刻印・値ペアとして記録されてもよい。前記一組の１つ以上のトランザクションは単一の時刻印・値ペア又は一連の時刻印・値ペアからなってもよい。第１組の１つ以上のトランザクションをキューに入れるプロセスは、それら１つ以上のトランザクションをメッセージキュー３４０に時間順にそれらのトランザクションを受信する準備ができるまで入れることを含んでもよい。
【００６９】
ステップ５２０で、本方法は第２の認証要求を前記第１組の１つ以上のトランザクションにアクセスするよう構成された前記第２コンピュータ装置から受信することを更に含む。１つの実施形態では、機密保護ゲートウェイ１７０は、その装置が認証された後、メッセージキュー３４０内の前記一組の１つ以上のトランザクションにアクセスするよう構成されたクライアント装置１６１から認証要求を受信してもよい。例えば、クライアント装置１６１は認証要求を機密保護ゲートウェイ１７０にクライアント装置１６１上で動作しているウェブブラウザ又はエッジアプリケーション４１０を介して送信してもよい。
【００７０】
ステップ５２５で、第２の認証要求を受信したことに応答して、機密保護ゲートウェイ１７０は企業サーバーに代わり第２組の識別情報を使用してクライアント装置１６１のために第２の認証サービスを実行してよい。１つの実施形態では、企業ユーザー認証命令群４２０又は仮想ＩＡＭサービス命令群２２０は仮想ＩＡＭデータリポジトリ２２５に記憶された識別情報を使用してユーザー又はクライアント装置１６１を認証し及び／又は許可データリポジトリ２７０に記憶されたＲＢＡＣリストを使用してユーザーアクセスを統制してもよい。別の実施形態では、機密保護ゲートウェイ１７０はアプリケーション認証命令群３２０を使用して仮想ＩＡＭデータリポジトリ２２５又は認証のためのアプリケーションベース識別情報を記憶する別のデータリポジトリにアクセスしエッジアプリケーション４１０を介して受信した識別情報を使用してアプリケーション３１０を認証してもよい。１つの実施形態では、エッジアプリケーション４１０は認証トークンが予め提供されていてもよい。機密保護ゲートウェイ１７０は、ユーザー入力の必要なしにその予め提供された認証トークンを検証してもよい。ステップ５２５の認証を実行することは、クライアント装置１６１に前記第１組の１つ以上のトランザクションへのアクセスを許可してもよい。
【００７１】
各アプリケーション３１０は特定の企業とプログラムにより関連付けられてよい。例えば、第１のアプリケーション３１０は機密保護ゲートウェイ１７０がサポートするＡＧＥアプリケーションであり、一方、第２のアプリケーション３１０は機密保護ゲートウェイ１７０がまたサポートするＳｉｍｏｎアプリケーションであってもよい。各アプリケーション３１０は特定の企業を特定する企業ＩＤで予めプログラムされてもよい。１つの実施形態では、この企業ＩＤは企業装置認証命令群２３５によりステップ５１０で企業装置１８０を認証するのに使用される同じＩＤであってもよい。ステップ５２５では、例えば、アプリケーション３１０はＡＧＥ企業ＩＤが予めプログラムされたＡＧＥアプリケーションであってもよい。認証命令群３２０はデータリポジトリに記憶されたＡＧＥ企業ＩＤを使用してクライアント装置１６１を認証してもよい。
【００７２】
ステップ５３０では、第２の認証サービスを実行したことに応答して、本方法は前記第１組の１つ以上のトランザクションを暗号化して第２コンピュータ装置に送信することを更に含む。１つの実施形態では、アプリケーション３１０が認証されると、機密保護ゲートウェイ１７０は、認証されたアプリケーション３１０が、キューに入れられアプリケーション３１０に対応する時刻印・値ペアだけが選択されうるようにメッセージキュー３４０に選択的にアクセスするのを許してもよい。例えば、認証されたＡＧＥアプリケーションだけがＡＧＥ装置からの１つ以上のトランザクションへのアクセスを許可されてもよい。アプリケーション３１０はＡＧＥ装置からの１つ以上のトランザクションを、ＰＫＩモデルを使用して暗号化してもよい。例えば、アプリケーション３１０はトランザクションデータを一般に公開されている公開鍵を使用して暗号化し、暗号化されたトランザクションデータを認証されたクライアント装置１６１に送信してもよい。１つの実施形態では、トランザクションデータを復号するのに使用される対応する秘密鍵又は復号鍵が、そのクライアント装置１６１だけがデータを復号しうるようにそのクライアント装置１６１に送信されるか又は予め提供されてよい。１つの実施形態では、秘密鍵又は復号鍵はステップ５２５の認証プロセス中にクライアント装置１６１に送信されるか又は予め提供されてもよい。
【００７３】
機密保護ゲートウェイ１７０は多テナント用に構成されるので、追加の方法又はアルゴリズムがメッセージキュー３４０内の特定のトランザクションデータにアクセスするための多数のアプリケーションを収容し認証するために実行されてもよい。  
【００７４】
例えば、図５Ｂのステップ５３５で、第１の認証を実行したことに応答して、本方法は１つ以上の第１コンピュータ装置の少なくとも１つに対応する第２組の１つ以上のトランザクションを生成してキューに入れることを更に含んでよい。１つの実施形態では、機密保護ゲートウェイ１７０は企業装置１８０に関連する第２組の時刻印・値ペアを生成しメッセージキュー３４０に入れてもよい。ステップ５３５の企業装置１８０はステップ５０５及びステップ５１０のそれと同じ１つ以上の企業装置であっても又はステップ５０５及びステップ５１０のそれと異なる１つ以上の企業装置であってもよい。例えば、１つの実施形態では、企業装置１８０は同じＡＧＥ装置、異なるＡＧＥ装置、又はＳｉｍｏｎと命名された別の架空の企業に属する装置であってもよい。企業装置１８０はまた、同じ複数のＡＧＥ装置、異なる複数のＡＧＥ装置、又は複数のＳｉｍｏｎ装置であってもよい。任意の数の装置及び装置の任意の組み合わせが実現されてよい。
【００７５】
ステップ５４０では、本方法は第３の認証要求を前記第２組の１つ以上のトランザクションにアクセスするよう構成された第４コンピュータ装置から受信することを更に含んでよい。１つの実施形態では、機密保護ゲートウェイ１７０は、その装置が認証された後、メッセージキュー３４０内の前記第２組の１つ以上の時刻印・値ペアにアクセスするよう構成された第２クライアント装置１６１から認証要求を受信してもよい。例えば、第２クライアント装置１６１は認証要求を機密保護ゲートウェイ１７０にクライアント装置１６１上で動作しているウェブブラウザ又はエッジアプリケーション４１０を介して送信してもよい。
【００７６】
ステップ５４５で、第３の認証要求を受信したことに応答して、本方法は第３コンピュータ装置に代わり第３組の識別情報を使用して第４コンピュータ装置のために第３の認証サービスを実行することを更に含む。１つの実施形態では、機密保護ゲートウェイ１７０は、仮想ＩＡＭデータリポジトリ２２５に記憶された識別情報を使用して企業サーバーに代わり第２クライアント装置１６１を認証する企業ユーザー認証命令群４２０又は仮想ＩＡＭサービス命令群２２０がプログラムされていてもよい。別の実施形態では、機密保護ゲートウェイ１７０は認証命令群３２０を使用し、第２クライアント装置１６１上で動作するエッジアプリケーション４１０を介して受信した情報を使用してアプリケーション３１０を認証してもよい。アプリケーション３１０はステップ５２５のアプリケーション３１０と同じか又は異なるアプリケーションであってよい。１つの実施形態では、エッジアプリケーション４１０は認証トークンが予め提供されていてもよい。機密保護ゲートウェイ１７０は、ユーザー入力の必要なしにその予め提供された認証トークンを検証してもよい。ステップ５４５の認証を実行することは、第２クライアント装置１６１に前記第２組の１つ以上のトランザクションへのアクセスを許可してもよい。
【００７７】
１つの実施形態では、ステップ５２５の認証を実行することは、クライアント装置１６１に前記第１組の１つ以上のトランザクションへのアクセスを許可するが、前記第２組の１つ以上のトランザクションへのアクセスは許可しないかもしれない。別の実施形態では、ステップ５４５の認証を実行することは、第２クライアント装置１６１に前記第２組の１つ以上のトランザクションへのアクセスを許可するが、前記第１組の１つ以上のトランザクションへのアクセスは許可しないかもしれない。例えば、もし第１クライアント装置１６１がＡＧＥ装置からのトランザクションだけへのアクセスを許可され、第２クライアント装置１６１がＳｉｍｏｎ装置からのトランザクションだけへのアクセスを許可されたなら、第１クライアント装置は前記第１組の１つ以上のトランザクションにだけアクセスし、前記第２組の１つ以上のトランザクションにはアクセスせず、一方、第２クライアント装置は前記第２組の１つ以上のトランザクションにだけアクセスし、前記第１組の１つ以上のトランザクションにはアクセスしないかもしれない。
【００７８】
しかし、別の実施形態では、ステップ５２５又はステップ５４５の認証を実行することは、クライアント装置１６１に前記第１組の１つ以上のトランザクション及び前記第２組の１つ以上のトランザクションの両方へのアクセスを許可してもよい。例えば、もしクライアント装置１６１が、全てのＡＧＥ装置へのアクセスを可能にする許可されたアプリケーション３１０を介して第１ＡＧＥ装置のトランザクションにアクセスするのを許可されたら、そのクライアント装置１６１は第２ＡＧＥ装置のトランザクションにもアクセスしてもよい。
【００７９】
これらの例に限定されない。任意の数のアクセスオプションが、ユーザー、アプリケーション、クライアント装置、企業装置、又は任意の他の装置に関するアクセス制御識別情報に基づいて利用可能であってもよい。
【００８０】
ステップ５５０では、第３の認証サービスを実行したことに応答して、本方法は前記第２組の１つ以上のトランザクションを暗号化して第４コンピュータ装置に送信することを更に含む。１つの実施形態では、アプリケーション３１０が認証されると、機密保護ゲートウェイ１７０は、認証されたアプリケーション３１０が、キューに入れられアプリケーション３１０に対応する時刻印・値ペアだけが選択されうるようにメッセージキュー３４０に選択的にアクセスするのを許してもよい。例えば、認証されたＳｉｍｏｎアプリケーションはＳｉｍｏｎ装置からの１つ以上のトランザクションへのアクセスだけを許可されてもよい。アプリケーション３１０はＳｉｍｏｎ装置からの１つ以上のトランザクションを、ＰＫＩモデルを使用して暗号化してもよい。例えば、アプリケーション３１０はトランザクションデータを一般に公開されている公開鍵を使用して暗号化し、暗号化されたトランザクションデータを認証された第２クライアント装置１６１に送信してもよい。１つの実施形態では、トランザクションデータを復号するのに使用される対応する秘密鍵又は復号鍵が、その第２クライアント装置１６１だけがデータを復号しうるようにその第２クライアント装置１６１に送信されるか又は予め提供されてもよい。１つの実施形態では、秘密鍵又は復号鍵はステップ５４５の認証プロセス中に第２クライアント装置１６１に送信されるか又は予め提供されてもよい。
【００８１】
上記手法を使用して、プログラムされたコンピュータは、データ機密保護及びデータ完全性を最大化し、一方、クライアント及び企業コンピュータ両方への及びからのデータ送達を向上させるように自動的にデータを検出、転送、記憶、及び利用してよい。実施形態はネットワーク帯域幅の低減された使用と企業サーバーの処理資源の低減された使用とを可能にし、企業サーバーはもはや直接のＩＡＭ１２０サービスを多数のユーザー、アプリケーション、及び／又は装置に提供しない。言い換えると、ＩＡＭ１２０サービスを分散化することで、ネットワークトラフィックを企業サーバーにもはや集中させないので、ネットワークトラフィック及びサーバー処理資源の使用が減少する。
【００８２】
また、本書に開示した手法はデータ機密保護及びデータ完全性を向上させる。ブロックチェーン１５０の使用はブロックチェーン１５０に記憶されたどのデータの完全性も保護する。また、ブロックチェーン１５０の性質は各新しいデータブロックが直前のブロックに繋がれることを保証し、変更を記録し未承認の変更を拒絶する向上した方法を生成する。その結果、ブロックチェーン１５０は高い耐ビザンチン障害性を有し機密識別情報の安全なバックアップとして機能する。
【００８３】
向上したデータ機密保護、低減された処理能力、及び低減されたネットワーク帯域幅も本書に記載された手法により機密保護ゲートウェイ１７０を単一認証入口として使用することで提供される。機密保護ゲートウェイ１７０は異なる複数のアプリケーションのために多テナントをサポートし、認証のための処理資源の使用をクライアント装置から移す。また、機密保護ゲートウェイ１７０はクライアント装置１６１及び／又はアプリケーション３１０の代わりに各企業装置１８０に認証してもらい、企業ＩＤ及びローカル許可リストを使用して各企業装置１８０へのクライアント装置アクセスを統制し、それが仲介する全てのトランザクションの検査ログを生成する。これはシステム全体のデータ機密保護を向上させ、一方、クライアント装置及び企業装置の両方のための処理資源を低減する。
【００８４】
機密保護ゲートウェイ１７０は各ＩｏＴ装置への及びからの全てのトランザクションを記録し、可能性のある機密保護リスクを追跡し、許可リストを介してアクセスを統制するので、持つべきでない場合はどの装置もアクセス権を持たない。クライアント装置１６１に代わり各企業装置１８０を認証し、クライアント装置による潜在的に損なわれた企業装置へのアクセスを拒絶できる検査ログを生成することは、処理能力及びネットワーク帯域幅の使用の低減という向上した利点を有する。機密保護ゲートウェイ１７０はもはや損なわれた企業装置へのデータの送信もからのデータの受信もしないので、損なわれた企業装置へのネットワークトラフィックは減少する。クライアント装置１６１及び／又は損なわれた企業装置１８０がさもなければ互いにデータを送受信するのに使用する処理能力もまた減少する。また、機密保護ゲートウェイ１７０を使用してアクセス制御を統制することは、クライアント装置１６１はもはやアクセス制御を自己統制する必要がないので、クライアント装置１６１処理能力を低減する。
【００８５】
向上したデータ機密保護は本書に開示した手法により、ゲートウェイ認証情報企業装置認証を介して更に達成される。企業装置はハードコードされたユーザー名及びパスワードをしばしば使用し、機密保護違反のリスクを増加させる。しかし、機密保護ゲートウェイ１７０により提供されるゲートウェイ認証情報及び企業装置認証により、ゲートウェイ認証情報が生成され、循環され、ハードコードされた認証情報の代わりに使用されてよい。企業装置１８０が損なわれ、ハードコードされた認証情報を使用するようにリセットされたら、機密保護ゲートウェイ１７０はもはや企業装置１８０に認証してもらうことができず、機密保護ゲートウェイ１７０は損なわれた企業装置１８０へのアクセス及びからのアクセスを拒絶してよい。
【００８６】
５．０    ハードウェア概要
１つの実施形態によれば、本書に記載した手法は１つ以上の特殊用途コンピュータ装置により実行される。特殊用途コンピュータ装置はそれらの手法を実行するように配線されていても、又はデジタル電子装置、例えば１つ以上の特定用途向け集積回路（ＡＳＩＣ）又はそれらの手法を実行するように永続的にプログラムされたフィールド・プログラマブル・ゲートアレイ（ＦＰＧＡ）を備えていても、又はファームウェア、メモリ、他の記憶装置、又は組み合わせ内のプログラマ命令群に従ってそれらの手法を実行するようにプログラマされた１つ以上の汎用ハードウェアプロセッサを備えていてもよい。このような特殊用途コンピュータ装置はまた、カスタム配線論理、ＡＳＩＣ、又はＦＰＧＡをカスタムプログラムと結合してそれらの手法を達成してもよい。特殊用途コンピュータ装置は卓上コンピュータシステム、携帯コンピュータシステム、ハンドヘルド装置、ネットワーク装置、又は配線及び／又はプログラム論理を内蔵しそれらの手法を実行する任意の他の装置であってもよい。
【００８７】
例えば、図６は本発明の実施形態が実施されてよいコンピュータシステム６００を例示するブロック図である。コンピュータシステム６００は情報を通信するためのバス６０２又は他の通信機構と、バス６０２に結合され情報を処理するハードウェアプロセッサ６０４とを備える。ハードウェアプロセッサ６０４は、例えば汎用マイクロプロセッサであってもよい。
【００８８】
コンピュータシステム６００はまた、バス６０２に結合され情報及びプロセッサ６０４により実行される命令群を記憶する主メモリ６０６、例えばランダムアクセスメモリ（ＲＡＭ）又は他の動的記憶装置も備える。主メモリ６０６も、プロセッサ６０４により命令群が実行される間一時的変数又は他の中間情報を記憶するために使用されてもよい。このような命令群は、プロセッサ６０４にとってアクセス可能な持続性記憶媒体に記憶されている場合、コンピュータシステム６００を命令群に指定された動作を実行するようにカスタマイズされた特殊用途マシンに変える。
【００８９】
コンピュータシステム６００は読出し専用メモリ（ＲＯＭ）６０８又はバス６０２に結合され静的情報及びプロセッサ６０４用の命令群を記憶する他の静的記憶装置を更に備える。磁気ディスク又は光ディスクなどの記憶装置６１０が設けられ、バス６０２に結合され情報及び命令群を記憶する。
【００９０】
コンピュータシステム６００はバス６０２を介して表示器６１２、例えばブラウン管（ＣＲＴ）、液晶表示器（ＬＣＤ）、又はコンピュータユーザーに情報を表示するための任意の他の表示器に結合されてもよい。英数字及び他のキーを含む入力装置６１４はバス６０２に結合され情報及びコマンド選択をプロセッサ６０４に通信する。別のタイプのユーザー入力装置はカーソル制御６１６、例えばマウス、トラックボール、又は方向情報及びコマンド選択をプロセッサ６０４に通信し表示器６１２上のカーソル移動を制御するためのカーソル方向キーである。この入力装置は通常、その装置が平面内の位置を指定するのを可能にする第１軸（例えば、ｘ）及び第２軸（例えば、ｙ）の２軸２自由度を有する。
【００９１】
コンピュータシステム６００は、カスタム配線論理、１つ以上のＡＳＩＣ又はＦＰＧＡ、ファームウェア、及び／又はコンピュータシステムと共にコンピュータシステム６００を特殊用途マシンに変える又はプログラムするプログラム論理を使用して本書に記載された手法を実行してもよい。１つの実施形態によれば、本書の手法は、プロセッサ６０４が主メモリ６０６に収容された１つ以上の命令の１つ以上のシーケンスを実行するのに応答して、コンピュータシステム６００により実行される。このような命令群は主メモリ６０６に別の記憶媒体、例えば記憶装置６１０から読み込まれてもよい。主メモリ６０６に収容された命令シーケンスの実行はプロセッサ６０４に本書に記載されたプロセスステップを実行させる。別の実施形態では、配線回路がソフトウェア命令群の代わりに又はと組み合わせて使用されてもよい。
【００９２】
本書で使用する用語「記憶媒体」はデータ及び／又はマシンを特定のやり方で動作させる命令群を記憶する任意の持続性媒体を指す。このような記憶媒体は不揮発性媒体及び／又は揮発性媒体であってもよい。不揮発性媒体は、例えば記憶装置６１０などの光学又は磁気ディスクを含む。揮発性媒体は動的メモリ、例えば主メモリ６０６を含む。一般的な記憶媒体は、例えばフロッピー（登録商標）ディスク、フレキシブルディスク、ハードディスク、半導体ドライブ、磁気テープ、又は任意の他の磁気データ記憶媒体、ＣＤ−ＲＯＭ、任意の他の光データ記憶媒体、任意の穴のパターンを持つ物理的媒体、ＲＡＭ、ＰＲＯＭ、及びＥＰＲＯＭ、ＦＬＡＳＨ（登録商標）‐ＥＰＲＯＭ、ＮＶＲＡＭ、任意の他のメモリチップ又はカートリッジを含む。
【００９３】
記憶媒体は伝送媒体と異なるが、一緒に使用されてもよい。伝送媒体は記憶媒体間の情報の移送に関わる。例えば、伝送媒体は同軸ケーブル、銅線、及び光ファイバーを含み、バス６０２を成す配線も含む。伝送媒体はまた、電波及び赤外線データ通信時に発生させるような音波又は光波の形態を取ってもよい。
【００９４】
様々な形態の媒体が１つ以上の命令の１つ以上のシーケンスを実行のためにプロセッサ６０４に運ぶのに関わってもよい。例えば、命令群は最初遠隔のコンピュータの磁気ディスク又は半導体ドライブ上に搭載されてもよい。遠隔のコンピュータはそれらの命令群をその動的メモリにロードして命令群を、電話回線を通じてモデムを使って送信できる。コンピュータシステム６００のモデムは電話回線上のそのデータを受信して赤外線送信機を使用してそのデータを赤外線信号に変換できる。赤外線検出器は赤外線信号で運ばれたデータを受信でき、適切な回路がそのデータをバス６０２上に載せることができる。バス６０２はそのデータを主メモリ６０６に運び、プロセッサ６０４は主メモリ６０６からその命令群を読み出し実行する。主メモリ６０６が受け取った命令群は、プロセッサ６０４による実行前か後かに選択肢として記憶装置６１０上に記憶されてもよい。
【００９５】
コンピュータシステム６００はまた、バス６０２に結合された通信インターフェース６１８を含む。通信インターフェース６１８はローカルネットワーク６２２に接続されたネットワークリンク６２０に結合された双方向データ通信を提供する。例えば、通信インターフェース６１８は総合デジタル通信網（ＩＳＤＮ）カード、ケーブルモデム、衛星モデム、又は対応する種類の電話回線にデータ通信接続を提供するモデムであってもよい。別の例として、通信インターフェース６１８は適合したＬＡＮへのデータ通信接続を提供するローカルエリア・ネットワーク（ＬＡＮ）カードであってもよい。無線リンクも実施されてもよい。そのような実施形態のいずれでも、通信インターフェース６１８は様々なタイプの情報を表すデジタルデータストリームを運ぶ電気、電磁気、又は光信号を送受信する。
【００９６】
ネットワークリンク６２０は通常１つ以上のネットワークを介する他のデータ装置へのデータ通信を提供する。例えば、ネットワークリンク６２０はローカルネットワーク６２２を介するホストコンピュータ６２４への又はインターネットサービス提供者（ＩＳＰ）６２６が動作させるデータ機器への接続を提供してもよい。ＩＳＰ６２６は次にデータ通信サービスを「インターネット」６２８と通常呼ばれる国際パケットデータ通信ネットワークを介して提供する。ローカルネットワーク６２２及びインターネット６２８両方がデジタルデータストリームを運ぶ電気、電磁気、又は光信号を使用する。様々なネットワークを介する信号とネットワークリンク６２０上及び通信インターフェース６１８を介する信号とは、コンピュータシステム６００へ及びからデジタルデータを運び、伝送媒体の形態の例である。
【００９７】
コンピュータシステム６００はネットワーク、ネットワークリンク６２０、及び通信インターフェース６１８を介してメッセージを送信しプログラムコードを含むデータを受信できる。インターネットの例では、サーバー６３０はアプリケーションプログラムのための要求されたコードをインターネット６２８、ＩＳＰ６２６、ローカルネットワーク６２２、及び通信インターフェース６１８を介して送信してもよい。
【００９８】
受信されるコードは受信されながらプロセッサ６０４により実行され、及び／又は記憶装置６１０又は他の不揮発性記憶装置に後で実行するために記憶されてもよい。
【００９９】
上記明細書では、本発明の実施形態が、実施形態間で異なってよい多数の具体的詳細を参照しながら説明された。従って、明細書及び図面は限定ではなく例示の意図であると考えられるべきである。本発明の範囲の唯一で排他的な指標及び出願人が意図する本発明の範囲は、後に続くどんな修正も含め本出願に係る一組の請求項の逐語的で等価な範囲であり、請求項の記載に具体的な形態で示されている。
【符号の説明】
【０１００】
１１０  企業サービス
１２０  識別及びアクセス管理（ＩＡＭ）
１２２  データリポジトリ
１３０  機密保護仲介者
１４０  ネットワーク
１５０  ブロックチェーン
１５５  コンピュータ
１６０  分配サービス
１６１  クライアント装置
１７０  機密保護ゲートウェイ
１８０  企業装置
２１５  アプリケーション・プログラム・インターフェース（ＡＰＩ）
２２０  仮想ＩＡＭサービス命令群
２２５  仮想ＩＡＭデータリポジトリ
２３０  逆プロキシ命令群
２３５  企業装置認証命令群
２４０  装置データリポジトリ
２４５  認証情報処理命令群
２５０  検査ログ処理命令群
２５５  検査ログデータリポジトリ
２６０  データ検証命令群
２６５  許可処理命令群
２７０  許可データリポジトリ
３１０  アプリケーション
３２０  アプリケーション認証命令群
３３０  メッセージキュー処理命令群
３４０  メッセージキュー
４１０  エッジアプリケーション
４２０  企業ユーザー認証命令群
４３０  分配機構ノード
４４０  データ転送命令群
６０２  バス
６０４  プロセッサ
６０６  主メモリ
６１０  記憶装置
６１２  表示器
６１４  入力装置
６１６  カーソル制御
６１８  通信インターフェース
６２０  ネットワークリンク
６２２  ローカルネットワーク
６２４  ホスト
６２８  インターネット
６３０  サーバー
【図１】
2020536304.tif 000004
【図２】
2020536304.tif 000005
【図３】
2020536304.tif 000006
【図４】
2020536304.tif 000007
【図５Ａ】
2020536304.tif 000008
【図５Ｂ】
2020536304.tif 000009
【図６】
2020536304.tif 000010
【国際調査報告】
2020536304.tif 000011
2020536304.tif 000012