IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社日立製作所の特許一覧

特許7587492認証装置、認証装置の制御方法及びプログラム
<>
  • 特許-認証装置、認証装置の制御方法及びプログラム 図1
  • 特許-認証装置、認証装置の制御方法及びプログラム 図2
  • 特許-認証装置、認証装置の制御方法及びプログラム 図3
  • 特許-認証装置、認証装置の制御方法及びプログラム 図4
  • 特許-認証装置、認証装置の制御方法及びプログラム 図5
  • 特許-認証装置、認証装置の制御方法及びプログラム 図6
  • 特許-認証装置、認証装置の制御方法及びプログラム 図7
  • 特許-認証装置、認証装置の制御方法及びプログラム 図8
  • 特許-認証装置、認証装置の制御方法及びプログラム 図9
  • 特許-認証装置、認証装置の制御方法及びプログラム 図10
  • 特許-認証装置、認証装置の制御方法及びプログラム 図11
  • 特許-認証装置、認証装置の制御方法及びプログラム 図12
  • 特許-認証装置、認証装置の制御方法及びプログラム 図13
  • 特許-認証装置、認証装置の制御方法及びプログラム 図14
  • 特許-認証装置、認証装置の制御方法及びプログラム 図15
  • 特許-認証装置、認証装置の制御方法及びプログラム 図16
  • 特許-認証装置、認証装置の制御方法及びプログラム 図17
  • 特許-認証装置、認証装置の制御方法及びプログラム 図18
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-12
(45)【発行日】2024-11-20
(54)【発明の名称】認証装置、認証装置の制御方法及びプログラム
(51)【国際特許分類】
   G06F 21/57 20130101AFI20241113BHJP
   G06F 21/64 20130101ALI20241113BHJP
【FI】
G06F21/57
G06F21/64
【請求項の数】 10
(21)【出願番号】P 2021213795
(22)【出願日】2021-12-28
(65)【公開番号】P2023097587
(43)【公開日】2023-07-10
【審査請求日】2024-02-20
(73)【特許権者】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110000176
【氏名又は名称】弁理士法人一色国際特許事務所
(72)【発明者】
【氏名】石田 明久
(72)【発明者】
【氏名】甲斐 賢
【審査官】上島 拓也
(56)【参考文献】
【文献】特開2020-074604(JP,A)
【文献】特開平11-282753(JP,A)
【文献】特開2016-173851(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/57
G06F 21/64
(57)【特許請求の範囲】
【請求項1】
サービス提供プログラムを実行することにより所定の情報処理サービスを提供するように構築されたサービス提供システムの認証を行う認証装置であって、
プロセッサ及びメモリを備え、
前記サービス提供プログラムを含む、前記サービス提供システムを構築する際に用いられるデータの正当性を認証するデータ認証部と、
前記データを用いて前記サービス提供システムを構築する処理主体の正当性を認証するID属性認証部と、
前記サービス提供システムを構築する手順の正当性を認証するプロセス認証部と、
前記データの正当性、前記処理主体の正当性、及び前記手順の正当性が認証された場合に、前記サービス提供システムが正当に構築されていることを認証し、前記サービス提供システムが正当に構築されていることを証明するための証明書を出力するシステム認証部と、
を備える認証装置。
【請求項2】
請求項1に記載の認証装置であって、
前記データ認証部、前記ID属性認証部、前記プロセス認証部、及び前記システム認証部の正当性を認証するルート認証部と、
をさらに備える認証装置。
【請求項3】
請求項1に記載の認証装置であって、
前記処理主体には、前記データを用いて前記サービス提供システムを構築する処理を行うソフトウェアモジュールと、前記ソフトウェアモジュールを用いて前記サービス提供システムの構築する作業を行う担当者と、が含まれる、認証装置。
【請求項4】
請求項1に記載の認証装置であって、
前記データには、前記サービス提供プログラムの他に、前記サービス提供プログラムが前記情報処理サービスを提供する際に用いる参照データ、及び前記サービス提供システムの構成を表す構成定義ファイルと、が含まれる、認証装置。
【請求項5】
サービス提供プログラムを実行することにより所定の情報処理サービスを提供するように構築されたサービス提供システムの認証を行う認証装置の制御方法であって、
前記認証装置が、
前記サービス提供プログラムを含む、前記サービス提供システムを構築する際に用いられるデータの正当性を認証し、
前記データを用いて前記サービス提供システムを構築する処理主体の正当性を認証し、
前記サービス提供システムを構築する手順の正当性を認証し、
前記データの正当性、前記処理主体の正当性、及び前記手順の正当性が認証された場合に、前記サービス提供システムが正当に構築されていることを認証し、
前記サービス提供システムが正当に構築されていることを証明するための証明書を出力する、
認証装置の制御方法。
【請求項6】
請求項5に記載の認証装置の制御方法であって、
前記処理主体には、前記データを用いて前記サービス提供システムを構築する処理を行うソフトウェアモジュールと、前記ソフトウェアモジュールを用いて前記サービス提供システムの構築する作業を行う担当者と、が含まれる、認証装置の制御方法。
【請求項7】
請求項5に記載の認証装置の制御方法であって、
前記データには、前記サービス提供プログラムの他に、前記サービス提供プログラムが前記情報処理サービスを提供する際に用いる参照データ、及び前記サービス提供システムの構成を表す構成定義ファイルと、が含まれる、認証装置の制御方法。
【請求項8】
プロセッサ及びメモリを備えたコンピュータに、サービス提供プログラムを実行することにより所定の情報処理サービスを提供するように構築されたサービス提供システムの認証を実行させるためのプログラムであって、
前記コンピュータに、
前記サービス提供プログラムを含む、前記サービス提供システムを構築する際に用いられるデータの正当性を認証する手順と、
前記データを用いて前記サービス提供システムを構築する処理主体の正当性を認証する手順と、
前記サービス提供システムを構築する手順の正当性を認証する手順と、
前記データの正当性、前記処理主体の正当性、及び前記手順の正当性が認証された場合に、前記サービス提供システムが正当に構築されていることを認証する手順と、
前記サービス提供システムが正当に構築されていることを証明するための証明書を出力する手順と、
を実行させるためのプログラム。
【請求項9】
請求項8に記載のプログラムであって、
前記処理主体には、前記データを用いて前記サービス提供システムを構築する処理を行うソフトウェアモジュールと、前記ソフトウェアモジュールを用いて前記サービス提供システムの構築する作業を行う担当者と、が含まれる、プログラム。
【請求項10】
請求項8に記載のプログラムであって、
前記データには、前記サービス提供プログラムの他に、前記サービス提供プログラムが前記情報処理サービスを提供する際に用いる参照データ、及び前記サービス提供システムの構成を表す構成定義ファイルと、が含まれる、プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、認証装置、認証装置の制御方法及びプログラムに関する。
【背景技術】
【0002】
従来より、コンピュータにプログラムを実行させることで情報処理サービスを提供するシステムが様々に開発されてきたが、情報処理サービスの内容が高度化するにつれシステムが大規模化するとともに構成も複雑化している。またシステムの変更も頻繁に行われるようになっている。
【0003】
そのため、このようなシステムの開発を支援し、より効率的にシステムを作り出せるようにするための様々な技術が提案されている(例えば、非特許文献1~3参照)。
【先行技術文献】
【非特許文献】
【0004】
【文献】RTCA DO-178 Revision C: Software Considerations in Airborne Systems and Equipment Certification1(https://www.oviss.jp/view/item/000000000110)
【文献】Introducing SLSA, an End-to-End Framework for Supply Chain Integrity(https://security.googleblog.com/2021/06/introducing-slsa-end-to-end-framework.html)
【文献】Certificate transparency3(Communications of the ACM, Vol.57, Issue 10, October 2014, pp 40-46, https://dl.acm.org/doi/fullHtml/10.1145/2659897)
【発明の概要】
【発明が解決しようとする課題】
【0005】
そのような技術として、例えば近年、OSS(Open Source Software)やパブリッククラウド、Agile、Software Defined Network等の新たな開発環境や開発手法が普及している。
【0006】
しかしながらその結果、システムの開発により多くの人が参加するようになると共に、開発工程自体も、要件定義、設計、開発、テストの各工程が何度も繰り返されるようになっている。さらにプログラムを実行するコンピュータ自体が仮想化されて、情報処理サービスを提供するシステム全体がソフトウェアとして実現されるようになっている。またその結果、システムの構成が頻繁に変更されることも益々増えている。
【0007】
そのため、このような状況でもシステムの構成を適切に把握し、システムの各構成要素の依存関係を追跡可能とするために、Software Supply Chainやgit、terraformなどの構成管理ツールが用いられている。また、コンテナやサービスメッシュのように、システムの構成要素間の依存関係を最適化し、構成要素間の呼び出し関係の把握を容易にする技術も用いられている。
【0008】
しかしながらこのような技術では、システムが仕様通りの動作をする状態かどうかを把握することはできない。
【0009】
例えば開発者のミスや悪意を持った者の不正な行為によって、脆弱性を持ったコードがプログラムに混入することによってシステムが仕様外の動作をする状態になる可能性があ
る。またプログラムは仕様通りだとしても、設定値やデータの誤りによってシステムが仕様外の動作をする可能性がある。加えて、プログラムが動作する環境上にマルウェアが動作している場合においては、配備されたプログラムやデータに問題がない場合でも、配備後の改竄によってシステムが仕様外の動作をする状態になっている可能性がある。
【0010】
このため、プログラムやシステムを変更あるいは配備した際に様々なシナリオテストを行うことで、事前に問題を発見することも行われている。
【0011】
また配備後の改竄を検知あるいは防止する方法としては、下記の(1)~(3)のような技術が存在する。
【0012】
(1)配備されるプログラムやシステム、データが改竄されていないことをハッシュ値で確認する。
(2)不正なプログラムが動作しないようにプログラムを実行する際に署名を確認する。(3)不正なプログラムが動作したことを検知するために耐タンパー領域に格納された実行プログラムのハッシュチェーンを検証する。
【0013】
しかしながら、情報処理サービスの利用者は、これらの技術を用いるために必要な情報を入手することができないため、これらの技術を用いてシステムの状態を把握することはできない。
【0014】
そのため情報処理サービスの利用者は、下記の(4)、(5)といった手段でしかシステムの状態を把握することができない。
【0015】
(4)システムのAPI(Application Programming Interface)を定期的に実行するこ
とで死活を確認する。
(5)システムとその運用者全体を信頼し、適切な状態であるとみなす。
【0016】
ここで、(4)の手段の場合、死活監視に用いるのは定型リクエストに対する定型応答の確認であるため、システムが期待通りの結果を出力するかどうかといった限定的な情報しか得られない。そのため、システムが適切な構成要素を用いて構築されており、しかも、適切な担当者によって適切な手順で構築されたものであるかといったことを確認することはできない。
【0017】
一方(5)の手段の場合、情報処理サービスの利用者は、システムの状態について事前に何も知ることができず、利用時に初めて状態を把握することしかできない。
【0018】
以上に述べたようなシステム利用者が抱える課題を解決するため、システムの完全性や健全性を第三者による検証やフレームワークで解決する技術が存在する。
【0019】
まず、非特許文献1に記載されているように、航空機などの高い安全性や信頼性が求められるシステムの開発方法論が知られている。非特許文献1には、高い安全性や信頼性が求められる部分に対し、要件と仕様の対応関係の明確化、検証計画の事前策定、開発プロセス及び環境の標準化などを行い、第三者機関から認証してもらうことなどが記載されている。
【0020】
また、非特許文献2に記載されているように、悪意を持った変更からプログラムやシステムを守るための方法論が存在する。非特許文献2には、プログラムの出処を明らかにしたり構築及び配備に関わる環境を検証されたものとすることで、悪意を持った変更が加えられないようにすることが記載されている。
【0021】
さらに、非特許文献3に記載されているように、Web上に数多く存在する証明書に対し、異常な証明書を検出可能とする手法が存在する。非特許文献3には、追記のみが許可され書き換えができないログストアを利用して、誰もが証明書の検証とその結果の公開を可能とすることで、信頼のチェーンや信頼の基点の持ち方によらずに異常の有無を検知可能とすることが記載されている。
【0022】
しかしながら、非特許文献1の手法では、仕様の妥当性なども検証対象としており、要求と仕様の対応などを人手で検証する必要がある。そのため、検証完了に数か月単位の時間を要するため、プログラムやシステムのように、構成が頻繁に変更される分野には対応することは困難である。
【0023】
また非特許文献2の手法では、悪意あるコードの混入やbuild時の攻撃を検出及び防御することを目的に、コードの出処の確認や、外乱が入りづらい構築及び配備の環境の使用を既定しているが、正規の権限を持つ人が誤った操作をしてしまうことによって生じる不正な状態を防ぐことができない。
【0024】
また非特許文献3の手法は、Web上のサーバやドメイン証明書を対象とする手法であるため、プログラムが動作するシステムの異常な状態の検出や検証に適用することはできない。
【0025】
本発明はこのような課題を鑑みてなされたものであり、サービス提供プログラムを実行することにより所定の情報処理サービスを提供するように構築されたサービス提供システムを認証することが可能な認証装置、認証装置の制御方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0026】
上記課題を解決する認証装置は、サービス提供プログラムを実行することにより所定の情報処理サービスを提供するように構築されたサービス提供システムの認証を行う認証装置であって、プロセッサ及びメモリを備え、前記サービス提供プログラムを含む、前記サービス提供システムを構築する際に用いられるデータの正当性を認証するデータ認証部と、前記データを用いて前記サービス提供システムを構築する処理主体の正当性を認証するID属性認証部と、前記サービス提供システムを構築する手順の正当性を認証するプロセス認証部と、前記データの正当性、前記処理主体の正当性、及び前記手順の正当性が認証された場合に、前記サービス提供システムが正当に構築されていることを認証し、前記サービス提供システムが正当に構築されていることを証明するための証明書を出力するシステム認証部と、を備える。
【0027】
その他、本願が開示する課題、およびその解決方法は、発明を実施するための形態の欄、および図面により明らかにされる。
【発明の効果】
【0028】
本発明によれば、サービス提供プログラムを実行することにより所定の情報処理サービスを提供するように構築されたサービス提供システムの認証を行うことが可能になる。
【図面の簡単な説明】
【0029】
図1】全体構成の一例を示す図である。
図2】プロセスログ情報の一例を示す図である。
図3】配備ログ情報の一例を示す図である。
図4】ID認証結果情報の一例を示す図である。
図5】属性認証結果情報の一例を示す図である。
図6】プロセス認証結果情報の一例を示す図である。
図7】データ認証結果情報の一例を示す図である。
図8】システム認証結果情報の一例を示す図である。
図9】属性認証のシーケンスの一例を示す図である。
図10】プロセス認証のシーケンスの一例を示す図である。
図11】データ認証のシーケンスの一例を示す図である。
図12】システム認証のシーケンスの一例を示す図である。
図13】証明書の一例を示す図である。
図14】全体構成の一例を示す図である。
図15】構築配備装置、システム関連装置、認証装置の構成の一例を示す図である。
図16】構築配備装置の記憶装置の一例を示す図である。
図17】システム関連装置の記憶装置の一例を示す図である。
図18】認証装置の記憶装置の一例を示す図である。
【発明を実施するための形態】
【0030】
以下、本発明の実施の形態を、図面を用いて説明する。なお、以下で説明する実施の形態は一例にすぎず、本発明が適用される実施の形態は、以下の実施の形態に限られるわけではない。さらに、以下に示した実施の形態は単独で適用してもよいし、複数もしくはすべての実施の形態を組み合わせて適用しても構わない。
【0031】
==全体構成==
図1は本発明の実施形態に係る認証装置A03を含む情報処理システムA00の全体構成を論理的に示した図である。情報処理システムA00は、構築配備装置A01と、システム関連装置A02と、認証装置A03と、を有して構成される。
【0032】
なお、構築配備装置A01、システム関連装置A02、及び認証装置A03は、物理的なコンピュータを用いて構成されていてもよいし、仮想的なコンピュータを用いて構成されていてもよい。
【0033】
構築配備装置A01は、後述するサービス提供システムA22の構築を行う機能を有するコンピュータである。サービス提供システムA22は、サービス提供プログラムを実行することにより所定の情報処理サービスを提供するように構築される。
【0034】
また、構築配備装置A01は、サービス提供システムA22を構築する際に用いる様々なデータを記憶している。このデータには、上記のサービス提供プログラムの他に、サービス提供プログラムが情報処理サービスを提供する際に用いる参照データや、サービス提供システムA22の構成を表す構成定義ファイルが含まれる。
【0035】
図1に示すように、構築配備装置A01は、データリポジトリA10と、ビルドA11と、コンテナリポジトリA12と、配備A13と、プロセスログA14を有して構成される。
【0036】
これらのうち、データリポジトリA10、コンテナリポジトリA12及びプロセスログA14には、構築配備装置A01がサービス提供システムA22を構築する際に用いる上述したデータが記憶されている。またビルドA11及び配備A13は、上記のデータを用いてサービス提供システムA22を構築する処理を行うソフトウェアモジュールである。
【0037】
例えば、ビルドA11及び配備A13は、データリポジトリA10及びコンテナリポジトリA12に記憶されている各種のデータを用いることで、サービス提供システムA22
を構築し、システム関連装置A02に配備する。そしてサービス提供システムA22を構築する際の処理の履歴がプロセスログA14に記録される。
【0038】
システム関連装置A02は、サービス提供システムA22を実行して情報処理サービスの提供を行うコンピュータである。
【0039】
なお本実施形態では、システム関連装置A02がシステムプラットフォームA20を実行することで構築される実行基盤上でサービス提供システムA22が実行され、上述した情報処理サービスが提供される。このような態様により、システム関連装置A02は、プロセッサやメモリ、ネットワーク等の物理的なハードウェア構成の制約を受けずにサービス提供システムA22を実行して情報処理サービスを提供することが可能となる。また提供する情報処理サービスの内容に応じて複数のサービス提供システムA22を柔軟に実行することが可能になる。
【0040】
システム関連装置A02は、システムプラットフォームA20と、配備ログA21と、サービス提供システムA22と、を有して構成される。
【0041】
これらのうち、配備ログA21には、配備A13がサービス提供システムA22をシステム関連装置A02に配備した際の処理の履歴が記録される。またシステムプラットフォームA20は、サービス提供システムA22を実行するための実行基盤を提供するためのソフトウェアモジュールである。
【0042】
認証装置A03は、システム関連装置A02に配備されたサービス提供システムA22の認証を行うコンピュータである。例えば認証装置A03は、開発、構築、及び配備の観点でサービス提供システムA22の健全性を検証する。
【0043】
認証装置A03は、ルート認証部A30と、ID属性認証部A31と、属性規約A32と、ID属性認証結果A33と、プロセス認証部A41と、プロセスモデルA42と、プロセス認証結果A43と、データ認証部A51と、データ品質規約A52と、データ認証結果A53と、システム認証部A61と、システム規約A62と、システム認証結果A63とを有して構成される。
【0044】
ルート認証部A30は、ID属性認証部A31、プロセス認証部A41、データ認証部A51、及びシステム認証部A61の正当性を認証する上位の認証局として機能する。なおルート認証部A30は、ルート認証部A30を自己認証している。
【0045】
ID属性認証部A31は、サービス提供システムA22を構築する処理主体の正当性を認証する。処理主体とは、例えばサービス提供システムA22を構築する処理を行うソフトウェアモジュールや、ソフトウェアモジュールを用いてサービス提供システムA22の構築する作業を行う担当者などである。ソフトウェアモジュールは、例えばビルドA11や配備A13である。また担当者は、例えばサービス提供システムA22の開発者や運用者、これらの担当者を管理する管理者を含む。
【0046】
このような態様により、サービス提供システムA22が構築された際に、不当な改変がなされたソフトウェアモジュールが使用されていないかや、正当な権限を有しない使用者がソフトウェアモジュールを使用していないかについても、認証を行うことが可能となる。
【0047】
プロセス認証部A41は、サービス提供システムA22を構築する手順の正当性を認証する。例えばプロセス認証部A41は、プロセスログA14に記録されている処理の履歴
を用いることで、サービス提供システムA22を構築する手順の正当性を認証する。
【0048】
データ認証部A51は、構築配備装置A01がサービス提供システムA22を構築する際に用いる様々なデータの正当性を認証する。上述した様に、例えばデータには、サービス提供プログラムの他に、サービス提供プログラムが情報処理サービスを提供するために参照する参照データや、サービス提供システムA22の構成を表す構成定義ファイルが含まれる。
【0049】
このような態様により、構築されたサービス提供システムA22が不当なデータを使用して構築されていないかどうかを認証することが可能となる。
【0050】
システム認証部A61は、上述したデータの正当性、処理主体の正当性、及び手順の正当性が認証された場合に、サービス提供システムA22が正当に構築されていることを認証する。さらにシステム認証部A61は、サービス提供システムA22が正当に構築されていることを証明するための電子証明書を出力する。
【0051】
このように、本実施形態に係る認証装置A03によれば、構築配備装置A01によるサービス提供システムA22の構築が、正当な処理主体により正当なデータが正当な手順で処理されることによって行われていることを認証することが可能になる。
【0052】
また、サービス提供システムA22が正当に構築されていることを証明するための電子証明書が発行されるため、サービス提供システムA22の利用者は、認証装置A03が発行する電子証明書を確認することで、サービス提供システムA22の状態を把握することが可能になる。その際、利用者は自身で検証を行う必要がなく、また認証装置A03だけを信頼すればよい。特に本実施形態では、ルート認証部A30だけを信頼すれば済む。
【0053】
以下詳細に説明する。
【0054】
=構築配備装置=
データリポジトリA10は、サービス提供システムA22上で動作するサービス提供プログラムのソースコードや用いられるデータ、サービス提供システムA22の構成定義ファイルなどを管理及び保存するものである。データリポジトリA10は、gitなどの、ファイルをリポジトリ、パス、ブランチ等と対応付けて管理し、ファイル変更時の差分を日時、変更反映者、変更内容のハッシュ値と対応付けて管理するソフトウェアモジュールを用いて構成される。
【0055】
ビルドA11は、データリポジトリA10から取得したソースコードのテストやビルドを行うと共に、ビルドされたイメージにミドルウェアなどの様々なデータを組み込んでコンテナイメージを構築し、コンテナリポジトリA12に保存するものである。ビルドA11は、JenkinsといったCIサーバや、各種言語処理系、dockerといったコンテナ構築ソフトウェアを組み合わせたソフトウェアモジュールを用いて構成される。
【0056】
コンテナリポジトリA12は、ビルドA11が構築したコンテナイメージを管理及び保存するものである。コンテナリポジトリA12は、dockerhubやHarborといった、コンテナイメージを名前とタグで管理するソフトウェアモジュールを用いて構成される。
【0057】
配備A13は、データリポジトリA10内に管理されている構成定義ファイルの内容に従って、システムプラットフォームA20上にコンテナやvolume、NW(ネットワーク)といったリソースを作成したり、コンテナリポジトリA12から取得したコンテナ
イメージを配備して、サービス提供システムA22を構築するものである。配備A13は、terraformといった、構成定義ファイルの内容を解釈し、上記配備を実行するソフトウェアモジュールを用いて構成される。
【0058】
プロセスログA14は、データリポジトリA10における各種コミットや、ビルドA1
1 におけるビルドやテスト、コンテナリポジトリA12におけるコンテナイメージの登録、更新、削除、配備A13における配備に関するリソースの作成、更新、削除やコンテナイメージの配備などのイベントをログとして記録するものである。
【0059】
=システム関連装置=
システムプラットフォームA20は、配備A13の指示を受けて作成される各種リソースを有するサービス提供システムA22の実行基盤を構築する。これはKubernetesなどの基盤ソフトウェア(ソフトウェアモジュール)を用いて構成される。
【0060】
配備ログA21は、システムプラットフォームA20におけるリソースの作成、更新、削除などのイベントをログとして記録するものである。
【0061】
サービス提供システムA22は、配備A13が構成定義ファイルを基に構築するコンテナであり、システムプラットフォームA20上で実行される。サービス提供システムA22は、情報処理サービスの種類ごとに複数構成され、利用者に様々な機能を提供する。
【0062】
=認証装置=
ルート認証部A30は、ID属性認証部A31、プロセス認証部A41、データ認証部A51、及びシステム認証部A61の正当性を認証する、信頼の基点となる認証局である。
【0063】
ID属性認証部A31は、ルート認証部A30から委任を受けて、処理主体のID及び属性の正当性を認証する認証局である。
【0064】
ID属性認証部A31は、IDの認証については、ID属性認証結果A33に格納されたIDやCredentialなどの情報を用いて、サービス提供システムA22に関わる開発者や運用者、またビルドA11や配備A13、システムプラットフォームA20といった処理主体の認証を行う。
【0065】
またID属性認証部A31は、属性の認証については、開発者や運用者に関して、保持する資格や経験のほか、プロセスログA14に格納された過去の行動履歴をもとに、属性規約A32に格納された基準を基に判定し、コミットやコードのレビュー可能、配備指示可能と言った属性の判定を行ってID属性認証結果A33に格納するとともに、その情報を用いて属性の認証を行う。
【0066】
プロセス認証部A41は、ルート認証部A30から委任を受けて、サービス提供システムA22を構築するプロセスの正当性を認証する認証局である。
【0067】
プロセス認証部A41は、ソースコードやデータのコミットやレビュー、テスト、システムの配備などのログのシーケンスが正規のプロセスから逸脱していないかということと、操作を行った人のroleを検証し、オペレーションが問題ないことを証明する。
【0068】
プロセス認証部A41は、プロセスログA14および配備ログA21に格納されたログのシーケンスに対し、プロセスモデルA42に格納されたプロセスモデルとの比較を行い、プロセスの種類の判別や適合性を計算する。プロセス認証部A41は、その結果をプロ
セス認証結果A43に格納する。
【0069】
プロセスモデルはペトリネットといったデータ構造で表現され、プロセス認証部A41は、ログシーケンスとプロセスモデルの比較にはプロセスマイニングなどの手法を用いる。
【0070】
データ認証部A51は、ルート認証部A30から委任を受けて、データの認証を行う認証局である。
【0071】
データ認証部A51は、ソースコードやデータのコミット、レビューを行った人のIDやroleを検証し、ソースコードやデータに不正な改変が入っていないことを証明する。
【0072】
データ認証部A51は、データリポジトリA10やコンテナリポジトリA12に格納された各種データに対し、データ品質規約A52に格納された規約を基に判定し、データが信頼できるものかどうかを判定する。データ認証部A51は、その結果をデータ認証結果A53に格納する。
【0073】
規約は、どのようなデータが信頼できるものであるかということを記した規約群である。データ品質規約A52には、データの作成や変更に関わった人が有効なIDや属性を持っており、また元となったデータが検証済みのものであれば、作成されたデータも信頼してよいといった規則が記されている。
【0074】
システム認証部A61は、ルート認証部A30から委任を受けて、サービス提供システムA22の認証を行う認証局である。
【0075】
システム認証部A61は、サービス提供システムA22が動作するシステムプラットフォームA20と、サービス提供システムA22の配備時に、元となるコンテナ等のイメージを認証する。またサービス提供システムA22が配備された際に、ソースコードやデータ、オペレーション、関わった人や属性、配備先のシステムプラットフォームA20や用いられたイメージを検証し、配備されたサービス提供システムA22に対して不正な状態につながる問題点がないことを証明する。
【0076】
システム認証部A61は、配備されたサービス提供システムA22の正当性をシステム規約A62に基づいて判定し、サービス提供システムA22の健全性を判定する。システム認証部A61は、その結果をシステム認証結果A63に格納する。
【0077】
図2は、本実施形態におけるプロセスログA14に記憶されるプロセスログ情報B00の形式の一例を示したものである。プロセスログ情報B00は、「プロセスID」と、「日時」と、「ログ種別」と、「イベント名」と、「ログ生成者」と、「コンテキスト」の組のリストで構成される。
【0078】
ここで、「プロセスID」には、各プロセスログ情報(以下、ログとも記す)B00の識別子が記載される。
【0079】
「日時」は、ログが生成された日時である。
【0080】
「ログ種別」は、ログの種類を区別するためのものであり、開発に関するもの、運用に関するもの、ビルドや配備といったモジュールに関するものといった種別が記されている。
【0081】
「イベント名」は、ログを区別するためのものであり、開発におけるコミットや承認、運用における配備指示や承認、モジュールが出力した各ログを区別するためのものである。
【0082】
「ログ生成者」は、ログの生成者を区別するものであり、ID属性認証結果A33に基づいた、ログを生成した人やソフトウェアモジュールのIDが記されている。
【0083】
「コンテキスト」は、ログのシーケンスの区別を補助するためのものであり、このカラムに格納された値でログを抽出することで、関連した一連のログのシーケンスの取得を可能とするものである。
【0084】
図3は、本実施形態における配備ログA21に記憶されている配備ログ情報C00が持つデータの形式の一例を示したものである。配備ログ情報C00は、「リソースID」と、「作成日時」と、「削除日時」と、「設定値」と、「プラットフォームID」の組のリストで構成される。
【0085】
ここで、「リソースID」は、リソースの識別子である。
【0086】
「作成日時」は、リソースが作成された日時である。
【0087】
「削除日時」は、リソースが削除されている場合、削除された日時である。
【0088】
「設定値」は、リソース作成時にリソースに対して設定された値であり、例えば容量や性能などが挙げられる。
【0089】
「プラットフォームID」は、リソースが作成されたシステムプラットフォームA20のIDである。
【0090】
図4は、本実施形態における、ID属性認証結果A33に記憶されるID認証結果情報D00の形式の一例を示したものである。ID認証結果情報D00は、「ID」と、「Name」と、「アカウント種類」と、「Credential」と、「作成日時」と、「更新日時」と、「公開鍵」と、「is有効」の組のリストで構成される。
【0091】
ここで、「ID」は、人やモジュール等の処理主体が持つアカウントの識別子である。
【0092】
「Name」は、アカウントを人が区別しやすくするための文字列である。
【0093】
「アカウント種類」は、このアカウントが人向けのものかプログラムやモジュールが使うものなのかといった種類を区別するための文字列である。
【0094】
「Credential」は、アカウントを識別するための情報であり、パスワードや外部IdPへの参照が記されている。
【0095】
「作成日時」は、アカウントが作成された日時である。
【0096】
「更新日時」は、アカウントが更新された日時である。アカウントは有効性検証などのため、定期的に使用状況が検証され、更新される。
【0097】
「公開鍵」は、アカウント利用者が持つ秘密鍵に対応する公開鍵である。
【0098】
「is有効」は、アカウントが有効か無効かを識別するためのフラグである。なお「is有効」に関しては、このカラムを持つ代わりにCRLの形で管理して公開したり、OCSPサーバで管理して公開する形態でも構わない。この内容を他者が参照する際は、例えばRFC5280で規定されるX.509公開鍵証明書の形式で提供される。
【0099】
また、このエントリは、エントリ追加を希望する人から証明書署名要求がID属性認証部A31に出され、その内容をID属性認証部A31が検証し、証明書署名要求の内容に問題がない場合に追加される。また、エントリ内容は、ID属性認証部A31によって検証され、存在が確認できなくなった場合は「is有効」の値がfalseとなる。また、証明書発行先からの要求によっても「is有効」の値をfalseにする。
【0100】
図5は、本実施形態におけるID属性認証結果A33に記憶される属性認証結果情報E00のデータの形式の一例を示したものである。属性認証結果情報E00は、「ID」と、「属性種類」と、「作成日時」と、「更新日時」と、「is有効」の組のリストで構成される。
【0101】
ここで、「ID」は、属性を証明する対象のアカウントの識別子である。
【0102】
「属性種類」は、証明対象の属性を示す文字列である。
【0103】
「作成日時」は、属性証明が作成された日時である。
【0104】
「更新日時」E04は、属性証明が更新された日時である。属性は、有効性検証などのため、対象の状況などが調査され、更新される。
【0105】
「is有効」は、対象の属性証明が有効か無効かを識別するためのフラグである。なお「is有効」については、このカラムを持つ代わりにCRLの形で管理して公開したり、OCSPサーバで管理して公開する形態でも構わない。この内容を他者が参照する際は、例えばRFC5755で規定されるX.509属性証明書の形式で提供される。
【0106】
図6は、本実施形態における、プロセス認証結果A43に記憶されるプロセス認証結果情報F00が持つデータの形式の一例を示したものである。プロセス認証結果情報F00は、「プロセス認証結果ID」と、「シーケンスID」と、「プロセスIDの集合を特定可能な属性」と、「判定結果」と、「判定日時」と、「is有効」の組のリストで構成される。
【0107】
ここで、「プロセス認証結果ID」は、認証結果を区別するための識別子である。
【0108】
「シーケンスID」は、認証対象のプロセスログのシーケンスに対して付与した識別子である。
【0109】
「プロセスIDの集合を特定可能な属性」は、プロセスログA14に格納されたプロセスログ情報B00から判定対象のプロセスログ集合を特定するための値であり、プロセスIDのリストや、抽出のための種別やイベント名、ログ生成者、期間と言った抽出条件が格納される。
【0110】
「判定結果」は、対象のプロセスログ集合が判定の結果どのようなオペレーションに対応しており、かつそれが正しく行われているかどうかを示す文字列である。
【0111】
「判定日時」は、判定を行った日時である。
【0112】
「is有効」は、判定結果が有効であるかどうかを示すフラグである。この内容を他者が参照する際は、例えばRFC3029で規定されるデータ検証証明書に類した形式で提供される。この場合、例えばcertsフィールドに対象シーケンスに対する検証結果を格納する形で提供される。
【0113】
図7は、本実施形態における、データ認証結果A53に記憶されるデータ認証結果情報G00が持つデータの形式の一例を示したものである。データ認証結果情報G00は、「データ認証結果ID」と、「ファイル特定可能な属性」と、「ハッシュ値」と、「判定結果」と、「判定日時」と、「is有効」の組のリストで構成される。
【0114】
ここで、「データ認証結果ID」は、認証結果を区別するための識別子である。
【0115】
「ファイル特定可能な属性」は、認証対象のファイルを特定するための値であり、データリポジトリA10及びコンテナリポジトリA12内のファイルのURLとbranch名とバージョンの組などが格納される。
【0116】
「ハッシュ値」は、認証対象のファイルのハッシュ値である。
【0117】
「判定結果」は、対象のファイルが判定の結果正規の権限やroleを持ったアカウントによって作成及び更新され、また確認されているかどうかを示す文字列である。
【0118】
「判定日時」は、判定を行った日時である。
【0119】
「is有効」は、判定結果が有効であるかどうかを示すフラグである。なお「is有効」については、このカラムを持つ代わりにCRLの形で管理して公開したり、OCSPサーバで管理して公開する形態でも構わない。この内容を他者が参照する際は、例えばRFC3029で規定されるデータ検証証明書に類した形式で提供される。
【0120】
図8は、本実施形態における、システム認証結果A63に記憶されるシステム認証結果情報H00が持つデータの形式の一例を示したものである。システム認証結果情報H00は、「システム認証結果ID」と、「システムID」と、「配備時のシーケンスID」と、「判定結果」と、「判定日時」と、「有効期限」と、「前回のシステム認証結果ID」と、「is有効」の組のリストで構成される。
【0121】
ここで、「システム認証結果ID」は、認証結果を区別するための識別子である。
【0122】
「システムID」は、配備されたサービス提供システムA22ごとに、配備A13によって振られる、各サービス提供システムA22を識別するための値である。
【0123】
「配備時のシーケンスID」は、配備ログA21に格納された認証対象のサービス提供システムA22が配備された際に出力されたログのシーケンスに対して付与した識別子である。
【0124】
「判定結果」は、対象のサービス提供システムA22が正規のコードを用いて、正規のプロセスに従い、正規のシステムプラットフォームA20へ配備されたものであり、また確認されているかどうかを示す文字列である。
【0125】
「判定日時」は、判定を行った日時である。
【0126】
「有効期限」は、判定が有効な期限の日時である。
【0127】
「前回のシステム認証結果ID」は、サービス提供システムA22の認証を、有効期限が切れる前に再度行った場合、それまで有効であったシステム認証結果IDの値である。
【0128】
「is有効」は、判定結果が有効であるかどうかを示すフラグである。なお「is有効」については、このカラムを持つ代わりにCRLの形で管理して公開したり、OCSPサーバで管理して公開する形態でも構わない。
【0129】
この内容を他者が参照する際は、例えばRFC3029で規定されるデータ検証証明書に類した形式で提供される。例えばcertsフィールドに配備時のログのシーケンスの検証結果や、サービス提供システムA22に用いられているコードやデータの検証結果、サービス提供システムA22を配備する際に関わった人のIDや属性の検証結果、サービス提供システムA22の利用者がサービス提供システムA22を識別するための情報を格納する形で提供される。
【0130】
サービス提供システムA22を識別するための情報としては、例えばFQDNやIPアドレス、設置されている場所といった情報が挙げられる。
【0131】
図9は、ID属性認証部A31が行う属性認証に関する処理を記したアクティビティ図である。図9は、ID属性認証部A31が処理主体の属性に関する認証を行う際の処理を記したものである。
【0132】
ID属性認証部A31は、ステップI01では、属性検証対象の処理主体のアカウントを決め、そのアカウントに対応する情報を収集する。ID属性認証部A31は、プロセスログA14やプロセス認証結果A43などから情報を収集する。またID属性認証部A31は、処理主体が構築配備装置A01上で行った行動だけでは測れない資格や経験などについては、アカウントの持ち主からの申告やエビデンス、上司による承認なども利用したりする。
【0133】
ID属性認証部A31は、ステップI02では、収集した情報を属性規約A32に照らし合わせる。規約の内容としては、処理主体が過去の一定期間内に配備や開発、レビューに関わった経験があるかといった内容や、正常な範囲から逸脱したプロセスを行っていないかといった内容が挙げられる。また、エビデンスがあり上司が承認し外部機関が認証した有効な資格を持っているといったことも挙げられる。
【0134】
ID属性認証部A31は、ステップI03では、ステップI02で照らし合わせた結果を基に、属性の付与や更新可否を判断する。そしてID属性認証部A31は、判断した結果をID属性認証結果A33に格納する。
【0135】
なお、ID属性認証部A31は、属性証明書の発行を希望する人が認証装置A03に証明書署名要求を送信してきた場合に、属性認証の処理を実行する。またID属性認証部A31は、定期的にも属性認証の処理を実施している。
【0136】
図10は、プロセス認証部A41が行うプロセス認証に関する処理を記したアクティビティ図である。図10は、プロセス認証部A41がプロセスに関する認証を行う際の処理を記したものである。
【0137】
プロセス認証部A41は、ステップJ01では、プロセスログA14からプロセスログ
の並びを取得し、それをモデルと比較し、適合率を算出する。取得する方法としては、日時の範囲やログ種別、ログ生成者やコンテキストの値を用いたり、プロセスIDのリストを用いたりする。またプロセス認証部A41は、プロセスのモデルをプロセスモデルA42から取得する。
【0138】
プロセス認証部A41は、ステップJ02では、ステップJ01の結果をもとに、プロセスログの並びがどのモデルに対応したものかということを判別する。判別方法としては、算出した適合率が閾値以上のもののうち、最大の値となったモデルに対応する手順とする。
【0139】
プロセス認証部A41は、データリポジトリA10やコンテナリポジトリA12へのデータマージやサービス提供システムA22の配備を承認した人が認証装置A03に証明書署名要求を送信してきた場合に、プロセス認証の処理を実行する。またプロセス認証部A41は、データリポジトリA10やコンテナリポジトリA12を管理するソフトウェアモジュールや、サービス提供システムA22の配備を行ったソフトウェアモジュールが認証装置A03に証明書署名要求を送信してきた場合にプロセス認証の処理を実行してもよい。
【0140】
図11は、データ認証部A51が行うデータ認証に関する処理を記したアクティビティ図である。図11は、データ認証部A51がデータに関する認証を行う際の処理を記したものである。
【0141】
データ認証部A51は、ステップK01において、検証対象のデータに対して、変更元のデータ、コミットやレビュー、テストを行ったアカウントやプロセスの情報を取得し、検証を行う。このときデータ認証部A51は、リポジトリ名やパス、ブランチ名、ハッシュ値などを用いることで検証対象のデータを特定する。
【0142】
またデータ認証部A51は、データが信頼できる機関によって作成されたものかどうかということや、データ認証結果A53に検証結果が存在するかといったことで変更元のデータを判断する。コミットやレビュー、テストについては、プロセスログA14からプロセスログの並びを取得し、検証をプロセス認証部A41を介して行う。アカウントの情報については、ID属性認証結果A33に有効なアカウントがあり、必要な属性を持っているかを判別する。
【0143】
データ認証部A51は、ステップK02において、ステップK01の結果がデータ品質規約A52と照らし合わせて問題ないかを判別し、データ認証結果A53に反映する。規約の例としては、信頼できるデータに対し、有効な資格を持った人、ソフトウェアモジュールがコミット、レビュー、テストといった既定されたプロセスで変更を加えたものであれば問題ないといったものである。
【0144】
データ認証部A51は、データリポジトリA10やコンテナリポジトリA12へのデータのコミットやマージを行った人が証明書署名要求を作成してデータ認証部A51に送信してきた場合にデータ認証の処理を実行する。またデータ認証部A51は、データリポジトリA10やコンテナリポジトリA12の管理ソフトウェア(ソフトウェアモジュール)が証明書署名要求を送信してきた場合に、データ認証の処理を実行してもよい。
【0145】
図12は、システム認証部A61が行うシステム認証に関する処理を記したアクティビティ図である。図12は、システム認証部A61がサービス提供システムA22に関する認証を行う際の処理を記したものである。
【0146】
システム認証部A61は、ステップL01において、サービス提供システムA22の配備に関するプロセスを検証する。このときシステム認証部A61は、配備ログA21及びプロセスモデルA42を参照し、配備時のプロセスログとモデルとの適合性を検証する。
【0147】
システム認証部A61は、ステップL02において、サービス提供システムA22に用いられているデータを検証する。このときシステム認証部A61は、データ認証結果A53を参照し、ソースコードや設定値、参照データ、構成定義ファイルなどの検証結果を参照することでデータの検証を行う。
【0148】
システム認証部A61は、ステップL03において、データ品質規約A52やデータ認証結果A53、属性規約A32、ID属性認証結果A33を参照し、配備先のシステムプラットフォームA20と、配備を指示した処理主体のアカウントの有効性、属性の有効性等を検証する。
【0149】
システム認証部A61は、ステップL04において、ステップL01~L03に問題がない場合、現在のサービス提供システムA22に問題がないと判断する。
【0150】
システム認証部A61は、サービス提供システムA22の配備実行の承認を行った人が証明書署名要求を作成してシステム認証部A61に送信してきた場合にシステム認証処理を実行する。またシステム認証部A61は、配備を行ったソフトウェアモジュールが証明書署名要求を送信してきた場合にシステム認証処理を実行してもよい。
【0151】
また、サービス提供システムA22の識別情報が他のCSRで使われており、現行のサービス提供システムA22が置き換えられていることが確認できた場合、システム認証部A61は、証明書を失効させる処理を行う。
【0152】
図13は、システム認証部A61がサービス提供システムA22の証明書を検証する際に関わる証明書チェーンの例を示したものである。
【0153】
M01は、ルート認証部A30の自己証明書である。
【0154】
M02~M05は、それぞれID属性認証部A31、プロセス認証部A41、データ認証部A51、システム認証部A61の証明書であり、それぞれルート認証部A30による署名を含んでいる。
【0155】
M06は、サービス提供システムA22に関わる人やソフトウェアモジュール等の処理主体のIDに関する証明書であり、ID属性認証部A31の署名を含んでいる。ここで、処理主体は、サービス提供システムA22の開発、運用、配備に関わる担当者や、構築配備装置A01及びシステム関連装置A02を機能させるソフトウェアモジュールを含む。
【0156】
M07は、サービス提供システムA22に関わる人やソフトウェアモジュール等の処理主体の属性に関する証明書であり、ID属性認証M02の署名を含んでいる。
【0157】
M08は、プロセス認証部A41によって検証されたプロセスに関する証明書であり、プロセス認証部A41の署名を含んでいる。
【0158】
M09は、データ認証部A51によって検証されたデータに関する証明書であり、データ認証部A51の証明を含んでいる。
【0159】
M10は、システム認証部A61によって検証された、サービス提供システムA22の
構築や配備に関わるソフトウェアモジュールに関する証明書であり、システム認証部A61の署名を含んでいる。ここでソフトウェアモジュールは、構築配備装置A01及びシステム関連装置A02を機能させるソフトウェアモジュールを含む。
【0160】
M11は、システム認証部A61によって検証された、第1サービス提供システムA22が連携する第2サービス提供システムA22に関する証明書であり、システム認証部A61の署名を含んでいる。ここで第2サービス提供システムA22は、M12で検証結果が示される第1サービス提供システムA22から依存されているコンピュータである。
【0161】
例えば第2サービス提供システムA22は、第1サービス提供システムA22からデータを取得してその処理結果を第1サービス提供システムA22に送信する場合や、第1サービス提供システムA22が処理するためのデータを第1サービス提供システムA22に提供する場合などが挙げられる。
【0162】
なお、他のサービス提供システムA22から依存されない場合は、本証明書がない場合もある。
【0163】
M12は、システム認証部A61によって検証された、サービス提供システムA22に関する証明書である。この証明書には、システム認証部A61の署名と、システム認証部A61による検証結果と、利用者のシステム識別手段と、関係するデータの識別子群と、関係するプロセスの識別子群と、関係する処理主体の識別子群を含む。また必要に応じてその他拡張領域を含む。
【0164】
サービス提供システムA22の利用者は、この証明書を参照することで、システム認証部A61によるシステム検証結果を確認することができる。また必要と判断すれば、サービス提供システムA22の開発、構築、配備に関わった人やmodule等の処理主体、プロセス、データの検証結果を確認することができる。また必要と判断すればそれらの検証を行った認証局の検証結果を確認することができる。
【0165】
このことから、利用者はルート認証のみを信頼し、階層構造をとる証明書チェーンを図13に示した実線の矢印の順にたどって検証することで、対象のサービス提供システムA22が検証済みであり、問題ないかどうかを判断することができる。
【0166】
なお、図13は証明書チェーンを表したものであり、実際には各証明書は有効期限といった情報を含む。
【0167】
次に、上記実施形態で説明したサービス提供システムA22の例として、鉄道やバスといった車両内のモニタに沿線情報や広告といったコンテンツを表示する場合を説明する。この場合、サービス提供システムA22は、車両が移動中に通信ネットワークがつながらない状態でもコンテンツを表示可能とするため、1日1回コンテンツの更新を行うものとする。
【0168】
コンテンツはデータリポジトリA10に保存された上で、ビルドA11によってコンテナ内に内包される。またコンテンツを更新する毎にコンテナイメージの作成が行われる。
【0169】
コンテンツの更新時は、コンテンツを更新するroleを持つ者が、更新内容をコンテンツに反映させるためのコミット要求を出し、コンテンツの更新を承認するroleを持つ者が、コンテンツの内容を確認して承認することで、更新後のコンテンツがデータリポジトリA10に反映される。
【0170】
コンテナの配備は、毎日一定のタイミングで行う他、何かしら想定外の事由が生じた場合に、コンテナの配備を行うroleを持つ者の要求と、コンテナの配備を承認するroleをもつ者の承認と、によって行われる。
【0171】
このような情報処理サービスを提供するサービス提供システムA22に対し、認証装置A03は、これらのプロセスや更新、配備に関わった処理主体のIDやrole等を検証し、証明書を発行する。
【0172】
また認証装置A03は、発行された証明書の保存場所を示すURL(Uniform Resource
Locator)をエンコードしてQRコード(登録商標)を生成し、情報処理サービスの利用者が操作する不図示の端末の表示モニタに送信する。
【0173】
このような構成を組むことで、利用者はサービス提供システムA22の健全性について確認することができる。
【0174】
次に、上記実施形態で説明したサービス提供システムA22の他の例として、設備や車両といった装置に対して遠隔監視や利用状況のモニタリングを行う場合を説明する。
【0175】
この場合、サービス提供システムA22は、監視対象の装置にデバイス証明書を発行すると共に、販売した顧客ごとに利用者証明書を発行する。
【0176】
そしてサービス提供システムA22は、この2つのアカウントの秘密鍵によって署名された状態で、監視対象の装置からデータを収集する。
【0177】
認証装置A03は、サービス提供システムA22によって収集されたデータの署名を検証することで、正規の顧客が利用する正規の装置から収集されたデータであることを確認できる。
【0178】
また、サービス提供システムA22がデータの分析やレポートを作成する際の手順についても認証装置A03が検証するようにしておくことで、顧客側も、自身が持つ装置から得られたデータが正しく処理されレポートに反映されたということを検証できる。
【0179】
このような構成を組むことで、利用者は、サービス提供システムA22の健全性について確認することができる。
【0180】
次に、本実施形態に係る情報処理システムA00の全体構成例を図14に示す。
【0181】
図14は、図1に示した全体構成例に対応する図であるが、構築配備装置A01、システム関連装置A02及び認証装置A03が、インターネットやLAN(Local Area Network)、電話網等のネットワーク500を介して通信可能に接続されて構成されていることを示している。
【0182】
次に、構築配備装置A01、システム関連装置A02及び認証装置A03が物理的なコンピュータにより実現されている場合のハードウェア構成について説明する。なお構築配備装置A01、システム関連装置A02及び認証装置A03の構成は、同じとは限らないが基本的な構成は共通しているので、重複を避けるために図15にまとめて示す。
【0183】
なお、構築配備装置A01、システム関連装置A02及び認証装置A03を実現するコンピュータの例として、パーソナルコンピュータ、オフィスコンピュータ、サーバ装置、スマートフォン、タブレット、汎用機(メインフレーム)等がある。
【0184】
またこのコンピュータは、その全部又は一部が、例えば、クラウドシステムによって提供される仮想サーバのように、仮想化技術やプロセス空間分離技術等を用いて提供される仮想的な情報処理資源を用いて実現されるものであってもよい。また、このコンピュータによって提供される機能の全部又は一部は、例えば、クラウドシステムがAPI等を介して提供するサービスによって実現してもよいし、SaaS(Software as a Service)、
PaaS(Platform as a Service)、IaaS(Infrastructure as a Service)等を利用して実現されるものであってもよい。
【0185】
なお、構築配備装置A01、システム関連装置A02及び認証装置A03がハイパーバイザ型の仮想コンピュータにより実現される場合は、図15に示すような構成をソフトウェアにより実現するための不図示の仮想化ソフトウェアを不図示の物理的なコンピュータが実行している。その場合、この物理的なコンピュータの構成は、図15に示す構成と同様である。
【0186】
<認証装置>
認証装置A03は、CPU(Central Processing Unit)310、メモリ320、通信
装置330、記憶装置340、入力装置350、出力装置360及び記録媒体読取装置370を有して構成される。
【0187】
CPU310は認証装置A03の全体の制御を司るもので、記憶装置340に記憶される本実施形態に係る各種の動作を行うためのコードから構成される認証装置制御プログラム630や各種データをメモリ320に読み出して実行あるいは処理することにより、認証装置A03としての各種機能を実現するプロセッサである。
【0188】
例えば、CPU310により認証装置制御プログラム630及び各種データが実行あるいは処理され、メモリ320や通信装置330、記憶装置340等のハードウェア機器と協働することにより、ルート認証部A30、ID属性認証部A31、プロセス認証部A41、データ認証部A51、システム認証部A61などの各機能が実現される。
【0189】
CPU310は、例えば、MPU(Micro Processing Unit)、GPU(Graphics Processing Unit)、FPGA(Field Programmable Gate Array)、ASIC(Application Specific Integrated Circuit)、AI(Artificial Intelligence)チップ等を用いて構成されていてもよい。
【0190】
認証装置制御プログラム630は、認証装置A03が有する機能を実現するためのプログラムを総称しており、例えば、認証装置A03上で動作するアプリケーションプログラムやOS(Operating System)、ミドルウェア、種々のライブラリ等を含む。
【0191】
メモリ320は例えば半導体記憶装置により構成することができる。メモリ320は、プログラムやデータを記憶する装置であり、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)、不揮発性メモリ(NVRAM(Non Volatile RAM))等である。
【0192】
記憶装置340は各種プログラムやデータ、テーブル等を記憶するための物理的な記憶領域を提供する装置である。記憶装置340は、例えば、SSD(Solid State Drive)
、ハードディスクドライブ、光学式記憶装置(CD(Compact Disc)、DVD(Digital Versatile Disc)等)、ストレージシステム、ICカード、SDカードや光学式記録媒体等の非一時的な記録媒体の読取/書込装置、クラウドサーバの非一時的な記憶領域等である。記憶装置340には、記録媒体の読取装置や通信装置330を介して、非一時的な記
録媒体や非一時的な記憶装置を備えた他の情報処理装置からプログラムやデータを読み込むことができる。記憶装置340に格納(記憶)されているプログラムやデータはメモリ320に随時読み込まれる。
【0193】
本実施形態では、図18に示すように、記憶装置340には認証装置制御プログラム630の他、属性規約A32、ID属性認証結果A33、プロセスモデルA42、プロセス認証結果A43、データ品質規約A52、データ認証結果A53、システム規約A62、システム認証結果A63などの各種データが記憶されている。
【0194】
記憶装置340は、認証装置A03に内蔵されている形態とすることもできるし、外付されている形態とすることもできる。
【0195】
記録媒体読取装置370は、CD-ROMやDVD等の記録媒体800に記録されたプログラムやデータを読み取り、記憶装置340に格納する。
【0196】
通信装置330は、他の装置との間の通信を実現する装置である。通信装置330は、ネットワーク500を介して、所定の通信プロトコルに準拠した他の装置との間の通信を実現する、有線方式又は無線方式の通信インタフェースであり、例えば、NIC(Network Interface Card)、無線通信モジュール等である。
【0197】
例えば通信装置330は、インターネットやLAN(Local Area Network)等のネットワーク500を介して構築配備装置A01やシステム関連装置A02等の他のコンピュータとデータやプログラムの授受を行う。例えば不図示の他のコンピュータに、上述した認証装置制御プログラム630を格納しておき、認証装置A03がこのコンピュータから認証装置制御プログラム630をダウンロードして実行するようにすることができる。
【0198】
また認証装置A03は記憶装置340を備えずに、ネットワーク500を通じて通信可能に接続された不図示の他のコンピュータに記憶されている上記のプログラムやテーブル等の各種データを用いて認証装置A03としての機能を実現する形態も可能である。
【0199】
入力装置350は、オペレータ等による認証装置A03へのデータ入力等のために用いられる装置でありユーザインタフェースとして機能する。入力装置350としては例えばキーボードやマウス、タッチパネル、カードリーダ、ペン入力方式のタブレット、マイク等を用いることができる。
【0200】
出力装置360は、情報を外部に出力するための装置でありユーザインタフェースとして機能する。出力装置360は、例えば、上記の各種情報を可視化する表示装置(液晶モニタ、LCD(Liquid Crystal Display)、グラフィックカード等)、上記の各種情報を音声化する装置(音声出力装置(スピーカ等))、上記の各種情報を文字化する装置(印字装置等)である。尚、例えば、認証装置A03が通信装置330を介して他の装置との間で情報の入力や出力を行う構成としてもよい。
【0201】
なお、入力装置350と出力装置360は、ユーザとの間の対話処理(情報の受け付け、情報の提供等)を実現するユーザインタフェースを構成する。
認証装置A03には、例えば、オペレーティングシステム、ファイルシステム、DBMS(DataBase Management System)(リレーショナルデータベース、NoSQL等)、KVS(Key-Value Store)等が導入されていてもよい。
【0202】
<構築配備装置>
構築配備装置A01は、CPU110、メモリ120、通信装置130、記憶装置14
0、入力装置150、出力装置160及び記録媒体読取装置170を有して構成される。
【0203】
CPU110は構築配備装置A01の全体の制御を司るもので、記憶装置140に記憶される本実施形態に係る各種の動作を行うためのコードから構成される構築配備装置制御プログラム610や各種データをメモリ120に読み出して実行あるいは処理することにより、本実施形態で説明する構築配備装置A01としての各種機能を実現するプロセッサである。
【0204】
例えば、CPU110により構築配備装置制御プログラム610及び各種データが実行あるいは処理され、メモリ120や通信装置130、記憶装置140等のハードウェア機器と協働することにより、データリポジトリA10、ビルドA11、コンテナリポジトリA12、配備A13、プロセスログA14などの各機能が実現される。
【0205】
構築配備装置制御プログラム610は、構築配備装置A01が有する機能を実現するためのプログラムを総称しており、例えば、構築配備装置A01上で動作するアプリケーションプログラムやOS(Operating System)、ミドルウェア、種々のライブラリ等を含む。
【0206】
本実施形態では、図16に示すように、記憶装置140には構築配備装置制御プログラム610の他、データリポジトリA10、コンテナリポジトリA12、プロセスログA14などの各種データが記憶されている。
【0207】
なお上述した様に、構築配備装置A01は認証装置A03と共通の構成を有しているので、重複する説明を省略する。
【0208】
<システム関連装置>
システム関連装置A02は、CPU210、メモリ220、通信装置230、記憶装置240、入力装置250、出力装置260及び記録媒体読取装置270を有して構成される。
【0209】
CPU210はシステム関連装置A02の全体の制御を司るもので、記憶装置240に記憶される本実施形態に係る各種の動作を行うためのコードから構成されるシステム関連装置制御プログラム620や各種データをメモリ220に読み出して実行あるいは処理することにより、本実施形態で説明するシステム関連装置A02としての各種機能を実現するプロセッサである。
【0210】
例えば、CPU210によりシステム関連装置制御プログラム620及び各種データが実行あるいは処理され、メモリ220や通信装置230、記憶装置240等のハードウェア機器と協働することにより、システムプラットフォームA20、配備ログA21、サービス提供システムA22などの各機能が実現される。
【0211】
システム関連装置制御プログラム620は、システム関連装置A02が有する機能を実現するためのプログラムを総称しており、例えば、システム関連装置A02上で動作するアプリケーションプログラムやOS(Operating System)、ミドルウェア、種々のライブラリ等を含む。
【0212】
本実施形態では、図17に示すように、記憶装置240にはシステム関連装置制御プログラム620の他、システムプラットフォームA20、配備ログA21、サービス提供システムA22などの各種データが記憶されている。
【0213】
なお上述した様に、システム関連装置A02は認証装置A03と共通の構成を有しているので、重複する説明を省略する。
【0214】
以上、本実施形態に係る認証装置A03、認証装置A03の制御方法及びプログラムについて詳細に説明したが、本実施形態によれば、情報処理サービスを提供するために構築されたサービス提供システムA22を認証することが可能になる。例えば、サービス提供システムA22の構築が、正当な処理主体により正当なデータが正当な手順で処理されることによって行われていることを認証することが可能になる。
【0215】
またサービス提供システムA22の構築及び変更時のプロセスの適切さと要素のテストの有無を、第三者が、信頼の連鎖をもって検証可能とすることで、サービス提供システムA22が期待した結果を返す見込みであることを判別することが可能となる。
【0216】
また、サービス提供システムA22が正当に構築されていることを証明するための電子証明書を発行することにより、サービス提供システムA22の利用者は、認証装置A03が発行する電子証明書を確認することで、サービス提供システムA22の状態を把握することが可能になる。その際、利用者は自身で検証を行う必要がなく、また認証装置A03だけを信頼すればよい。特に本実施形態では、ルート認証部A30だけを信頼すれば済む。
【0217】
なお、上述した実施の形態は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明はその趣旨を逸脱することなく変更、改良され得るとともに、本発明にはその等価物も含まれる。
【0218】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部または全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、ま
たは、ICカード、SDカード、DVD等の記録媒体に置くことができる。
【0219】
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【0220】
A00 情報処理システム
A01 構築配備装置
110 CPU
120 メモリ
130 通信装置
140 記憶装置
150 入力装置
160 出力装置
170 記録媒体読取装置
A10 データリポジトリ
A11 ビルド
A12 コンテナリポジトリ
A13 配備
A14 プロセスログ
A02 システム関連装置
210 CPU
220 メモリ
230 通信装置
240 記憶装置
250 入力装置
260 出力装置
270 記録媒体読取装置
A20 システムプラットフォーム
A21 配備ログ
A22 サービス提供システム
A03 認証装置
310 CPU
320 メモリ
330 通信装置
340 記憶装置
350 入力装置
360 出力装置
370 記録媒体読取装置
A30 ルート認証部
A31 ID属性認証部
A32 属性規約
A33 ID属性認証結果
A41 プロセス認証部
A42 プロセスモデル
A43 プロセス認証結果
A51 データ認証部
A52 データ品質規約
A53 データ認証結果
A61 システム認証部
A62 システム規約
A63 システム認証結果
B00 プロセスログ情報
C00 配備ログ情報
D00 ID認証結果情報
E00 属性認証結果情報
F00 プロセス認証結果情報
G00 データ認証結果情報
H00 システム認証結果情報
M00 証明書チェーン
500 ネットワーク
610 構築配備装置制御プログラム
620 システム関連装置制御プログラム
630 認証装置制御プログラム
800 記録媒体
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18