要件定義支援プログラムおよび要件定義支援装置
【課題】適切なセキュリティに関する要件の定義を支援することを可能とする。
【解決手段】セキュリティ目標特性入力部311は、セキュリティ目標特性情報を入力する。対策方針抽出部321は、入力されたセキュリティ目標特性情報によって示されるセキュリティ目標特性に対する複数の対策方針を抽出用データから抽出する。対策方針選択部312は、複数の対策方針の中からユーザによって指定された対策方針を選択する。セキュリティ要件抽出部322は、選択された対策方針に対応づけて抽出用データに含まれているセキュリティ要件を抽出する。要件依存性検査部323および要件排他性検査部324は、抽出されたセキュリティ要件がセキュリティ要件検査用データ格納部24に格納されている検査用データによって定義されている関係性を満たしているかを検査する。要件検査結果表示部315は、検査結果を提示する。
【解決手段】セキュリティ目標特性入力部311は、セキュリティ目標特性情報を入力する。対策方針抽出部321は、入力されたセキュリティ目標特性情報によって示されるセキュリティ目標特性に対する複数の対策方針を抽出用データから抽出する。対策方針選択部312は、複数の対策方針の中からユーザによって指定された対策方針を選択する。セキュリティ要件抽出部322は、選択された対策方針に対応づけて抽出用データに含まれているセキュリティ要件を抽出する。要件依存性検査部323および要件排他性検査部324は、抽出されたセキュリティ要件がセキュリティ要件検査用データ格納部24に格納されている検査用データによって定義されている関係性を満たしているかを検査する。要件検査結果表示部315は、検査結果を提示する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、セキュリティに関する要件の定義を支援する要件定義支援プログラムおよび要件定義支援装置に関する。
【背景技術】
【0002】
一般的に、システム開発の要件定義フェーズにおいては、非機能要件の一部として例えばセキュリティに関する要件(以下、セキュリティ要件と表記)が定義される。
【0003】
このセキュリティ要件の定義は、例えば開発者のスキルに基づいて行われる、または、システムの保護対象となる資産または利用者・関与者を基としたセキュリティ脅威の分析を用いた手法(以下、「脅威分析手法」と表記)によって行われる場合が多い。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2001−222420号公報
【特許文献2】特開2008−250680号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上記した開発者のスキルに基づいてセキュリティ要件の定義が行われる場合には、当該開発者のスキルに依存することからセキュリティ要件の定義内容にばらつきがあり、更には、当該定義内容に抜け、漏れまたは重複等がある場合がある。
【0006】
一方、上記した脅威分析手法によってセキュリティ要件の定義が行われる場合には、分析の対象となるシステムの仕様がある程度明確にならなければセキュリティ要件の定義を行うことは困難である。
【0007】
したがって、例えばシステムの仕様が明確でない場合であっても、開発者のスキルに依存することなく、適切なセキュリティ要件を定義することが可能な仕組みが必要となる。
【0008】
そこで、適切なセキュリティに関する要件の定義を支援することが可能な要件定義支援プログラムおよび要件定義支援装置を提供することが目的とされる。
【課題を解決するための手段】
【0009】
実施形態に係る要件定義支援プログラムは、セキュリティに関する要件の性質を表すセキュリティ目標特性に対する複数の対策方針の各々に対応づけて当該対策方針に応じたセキュリティに関する要件を示すセキュリティ要件を含む抽出用データを予め格納する第1の格納手段と前記第1の格納手段に格納されている抽出用データに含まれるセキュリティ要件間で満たすべき関係性が定義された検査用データを予め格納する第2の格納手段とを有する外部記憶装置と、当該外部記憶装置を利用するコンピュータとを有する要件定義支援装置において、前記コンピュータによって実行される。
【0010】
実施形態に係る要件定義支援プログラムは、前記コンピュータに、前記セキュリティに関する要件の性質を表すセキュリティ目標特性であって、ユーザによって指定されたセキュリティ目標特性を示すセキュリティ目標特性情報を入力するステップを実行させる。
【0011】
実施形態に係る要件定義支援プログラムは、前記コンピュータに、前記第1の格納手段に格納されている抽出用データに含まれる前記入力されたセキュリティ目標特性情報によって示されるセキュリティ目標特性に対する複数の対策方針を抽出するステップを実行させる。
【0012】
実施形態に係る要件定義支援プログラムは、前記コンピュータに、前記抽出された複数の対策方針の中から、前記ユーザによって指定された対策方針を選択するステップを実行させる。
【0013】
実施形態に係る要件定義支援プログラムは、前記コンピュータに、前記第1の格納手段に格納されている抽出用データに基づいて、前記選択された対策方針に対応づけて当該抽出用データに含まれているセキュリティ要件を抽出するステップを実行させる。
【0014】
実施形態に係る要件定義支援プログラムは、前記コンピュータに、前記第2の格納手段に格納されている検査用データによって定義されている関係性を前記抽出されたセキュリティ要件が満たしているかを検査するステップを実行させる。
【0015】
実施形態に係る要件定義支援プログラムは、前記コンピュータに、前記検査結果を提示するステップを実行させる。
【図面の簡単な説明】
【0016】
【図1】実施形態に係る要件定義支援装値のハードウェア構成を示すブロック図。
【図2】図1に示す要件定義支援装置30の主として機能構成を示すブロック図。
【図3】図2に示すセキュリティ要件抽出用データ格納部23に格納されている抽出用データのデータ構造について説明する。
【図4】本実施形態に係る要件定義支援装置30の処理手順を示すフローチャート。
【図5】図3に示す抽出用データにおいて対策方針選択部312によって選択された上位の対策方針の一例を示す図。
【図6】図3に示す抽出用データにおいて対策方針選択部312によって選択された下位の対策方針の一例を示す図。
【図7】図3に示す抽出用データからセキュリティ要件抽出部322によって抽出されるセキュリティ要件の一例を示す図。
【図8】セキュリティ要件表示部313によってセキュリティ要件が表示された場合の表示画面の一例を示す図。
【図9】要件検査結果表示部315によって検査結果が表示された場合の表示画面の一例を示す図。
【図10】要件依存性検査部323および要件排他性検査部324によるセキュリティ要件検査処理の処理手順を示すフローチャート。
【図11】セキュリティ要件の依存性について説明するための図。
【図12】セキュリティ要件の排他性について説明するための図。
【図13】セキュリティ要件の排他性について説明するための図。
【発明を実施するための形態】
【0017】
以下、図面を参照して、実施形態について説明する。
【0018】
図1は、本実施形態に係る要件定義支援装置(セキュリティ要件定義支援装置)のハードウェア構成を示すブロック図である。図1に示すように、コンピュータ10は、例えばハードディスクドライブ(HDD:Hard Disk Drive)のような外部記憶装置20と接続されている。この外部記憶装置20は、コンピュータ10によって実行されるプログラム21を格納する。コンピュータ10および外部記憶装置20は、要件定義支援装置30を構成する。
【0019】
要件定義支援装置30は、例えばシステム開発の要件定義フェーズにおけるセキュリティに関する要件(以下、セキュリティ要件と表記)の定義を支援するために用いられる。
【0020】
図2は、図1に示す要件定義支援装置30の主として機能構成を示すブロック図である。図2に示すように、要件定義支援装置30は、ユーザ選択インタフェース(I/F)31および処理エンジン32を含む。
【0021】
本実施形態において、ユーザ選択インタフェース31および処理エンジン32は、図1に示すコンピュータ10が外部記憶装置20に格納されているプログラム(要件定義支援プログラム)21を実行することにより実現されるものとする。このプログラム21は、コンピュータ読み取り可能な記憶媒体に予め格納して頒布可能である。また、このプログラム21が例えばネットワークを介してコンピュータ10にダウンロードされても構わない。
【0022】
また、要件定義支援装置30は、セキュリティ目標特性一覧格納部22、セキュリティ要件抽出用データ格納部(第1の格納部)23、セキュリティ要件検査用データ格納部(第2の格納部)24およびセキュリティ要件抽出結果格納部(第3の格納部)25を含む。
【0023】
本実施形態において、これらの格納部22〜25は、例えば外部記憶装置20に格納される。
【0024】
ユーザ選択インタフェース31は、セキュリティ目標特性入力部311、対策方針選択部312、セキュリティ要件表示部313、要件検査依頼部314および要件検査結果表示部315を含む。また、処理エンジン32は、対策方針抽出部321、セキュリティ要件抽出部322、要件依存性検査部323および要件排他性検査部324を含む。
【0025】
セキュリティ目標特性一覧格納部22には、例えば開発対象となるシステムにおけるセキュリティに関する要件の性質(セキュリティに関する課題)を表すセキュリティ目標特性の一覧が予め格納される。
【0026】
セキュリティ目標特性入力部311は、セキュリティ要件(セキュリティに関する要件)の性質を表すセキュリティ目標特性であって、ユーザによって指定されたセキュリティ目標特性を示すセキュリティ目標特性情報を入力する。セキュリティ目標特性入力部311は、例えばセキュリティ目標特性一覧格納部22に格納されているセキュリティ目標特性の一覧の中からユーザによって指定(選択)されたセキュリティ目標特性を示すセキュリティ目標特性情報を入力する。
【0027】
セキュリティ要件抽出用データ格納部23には、セキュリティ目標特性に対する複数の対策方針(セキュリティに関する課題を解決するための方針)の各々に対応づけて当該対策方針に応じたセキュリティ要件(セキュリティに関する要件)を含むセキュリティ要件抽出用データ(以下、単に抽出用データと表記)が予め格納されている。この抽出用データは、セキュリティ目標特性(セキュリティ目標特性一覧格納部22に格納されているセキュリティ目標特性)毎に用意されている。
【0028】
対策方針抽出部321は、セキュリティ目標特性入力部311によって入力されたセキュリティ目標特性情報に基づいて、セキュリティ要件抽出用データ格納部23(に格納されている抽出用データ)から対策方針(を示す情報)を抽出する。対策方針抽出部321は、セキュリティ要件抽出用データ格納部23に格納されている抽出用データに含まれる複数の対策方針であってセキュリティ目標特性入力部311によって入力されたセキュリティ目標特性情報によって示されるセキュリティ目標特性に応じた複数の対策方針を抽出する。
【0029】
対策方針選択部312は、対策方針抽出部321によって抽出された複数の対策方針の中から、ユーザによって指定(選択)された対策方針を選択する。
【0030】
セキュリティ要件抽出部322は、対策方針選択部312によって選択された対策方針に基づいて、セキュリティ要件抽出用データ格納部23(に格納されている抽出用データ)からセキュリティ要件(を示す情報)を抽出する。セキュリティ要件抽出部322は、セキュリティ要件抽出用データ格納部23に格納されている抽出用データに基づいて、対策方針選択部312によって選択された対策方針に対応づけて当該抽出用データに含まれているセキュリティ要件を抽出する。
【0031】
セキュリティ要件表示部313は、セキュリティ要件抽出部322によって抽出されたセキュリティ要件を表示(提示)する。
【0032】
セキュリティ要件検査用データ格納部24には、セキュリティ要件抽出用データ格納部23に格納されている抽出用データに含まれるセキュリティ要件間で満たすべき関係性が定義された検査用データが格納される。このセキュリティ要件検査用データ格納部24に格納されている検査用データは、セキュリティ要件抽出部322によって抽出されたセキュリティ要件を検査するために用いられる。
【0033】
セキュリティ要件検査用データ格納部24に格納されている検査用データには、セキュリティ要件抽出用データ格納部23に格納されている抽出用データに含まれるセキュリティ要件間の依存関係(依存性)について定義された依存性検査用データおよび当該セキュリティ要件間の排他関係(排他性)について定義された排他性検査用データが含まれる。
【0034】
要件検査依頼部314は、例えばユーザの操作に応じて、セキュリティ要件抽出部322によって抽出されたセキュリティ要件(つまり、セキュリティ要件表示部313によって表示されたセキュリティ要件)に対する検査の依頼を受け付ける。
【0035】
要件依存性検査部323および要件排他性検査部324は、セキュリティ要件検査用データ格納部24に格納されている検査用データによって定義されている関係性をセキュリティ要件抽出部322によって抽出されたセキュリティ要件が満たしているか否かを検査する。
【0036】
要件依存性検査部323は、セキュリティ要件抽出部322によって抽出されたセキュリティ要件およびセキュリティ要件検査用データ格納部24に格納されている検査用データに含まれる依存性検査用データに基づいて、当該セキュリティ要件の依存性について検査する。
【0037】
要件排他性検査部324は、セキュリティ要件抽出部322によって抽出されたセキュリティ要件およびセキュリティ要件検査用データ格納部24に格納されている検査用データに含まれる排他性検査用データに基づいて、当該セキュリティ要件の排他性について検査する。
【0038】
要件検査結果表示部315は、要件依存性検査部323および要件排他性検査部324による検査結果を表示(提示)する。
【0039】
セキュリティ要件抽出結果格納部25には、例えばユーザが要件検査結果表示部315によって表示された検査結果を参照することによって最終的に決定されたセキュリティ要件(を示す情報)が格納される。
【0040】
図3を参照して、図2に示すセキュリティ要件抽出用データ格納部23に格納されている抽出用データ(セキュリティ要件抽出用データ)のデータ構造について説明する。なお、図3は、セキュリティ目標特性「利用者のプライバシが保護される」について用意されている抽出用データを示す。
【0041】
抽出用データには、セキュリティ目標特性に対する複数の対策方針および当該対策方針の各々に応じたセキュリティ要件が含まれる。
【0042】
図3に示す抽出用データにおいては、セキュリティ目標特性に対する2段階の対策方針(以下、上位の対策方針および下位の対策方針と表記)があり、その末端にセキュリティ要件が存在している。このように、抽出用データに複数の段階の対策方針が含まれていても構わない。
【0043】
図3に示す例では、抽出用データには、セキュリティ目標特性100に対する上位の対策方針101〜103および当該上位の対策方針101〜103の各々の下位に位置する下位の対策方針111〜116が含まれている。更に、抽出用データには、下位の対策方針111〜116の各々に応じたセキュリティ要件121〜130が含まれている。
【0044】
具体的には、図3に示す抽出用データにおいて、セキュリティ目標特性100(「利用者のプライバシが保護される」)に対する例えば上位の対策方針101(「識別情報から利用者本人が特定できない」)は、下位の対策方針111(「利用者の匿名性を保護する」)および下位の対策方針112(「利用者の別名性を保護する」)と対応づけられている。また、下位の対策方針111には、セキュリティ要件121(「利用者IDから実名が特定できないこと」)およびセキュリティ要件122(「利用者にIDを要求せずに、データやサービスが提供できること」)が対応づけられている。同様に、下位の対策方針112には、セキュリティ要件123(「いくつかのIDを持つ利用者の実名が特定できないこと」)、セキュリティ要件124(「システムは提供されたIDから利用者識別情報が判別できること」)およびセキュリティ要件125(「システムは利用者のIDがユニークであることを保証すること」)が対応づけられている。
【0045】
これによれば、セキュリティ要件121および122は、上位の対策方針101および下位の対策方針111を達成するために必要なセキュリティに関する要件であることが示される。また、セキュリティ要件123〜125は、上位の対策方針101および下位の対策方針112を達成するために必要なセキュリティに関する要件であることが示される。
【0046】
ここでは、図3に示す抽出用データにおける上位の対策方針101、下位の対策方針111および112、セキュリティ要件121〜125について具体的に説明したが、他の上位の対策方針、下位の対策方針およびセキュリティ要件についても同様であるため、その詳しい説明を省略する。
【0047】
セキュリティ要件抽出用データ格納部23に格納されている抽出用データが上記したようなデータ構造を有することにより、セキュリティ目標特性に対する対策方針(ここでは、上位の対策方針101〜103および下位の対策方針111〜116)がユーザによって選択(指定)されることによって、当該対策方針に応じた適切なセキュリティ要件(ここでは、セキュリティ要件121〜130)を抽出(特定)することが可能となる。
【0048】
なお、図3においては、セキュリティ目標特性「利用者のプライバシが保護される」について用意されている抽出用データについて説明したが、他のセキュリティ目標特性について用意されている抽出用データについても同様であるため、その詳しい説明を省略する。
【0049】
次に、図4に示すフローチャートを参照して、本実施形態に係る要件定義支援装置30の処理手順について説明する。
【0050】
まず、ユーザ選択インタフェース31は、セキュリティ目標特性一覧格納部22に格納されているセキュリティ目標特性の一覧を表示する(ステップS1)。ユーザは、ユーザ選択インタフェース31によって表示されたセキュリティ目標特性の一覧から、所望のセキュリティ目標特性(開発対象のシステムにおいて定義すべきセキュリティ要件の性質を表すセキュリティ目標特性)を指定(選択)することができる。
【0051】
ユーザ選択インタフェース31に含まれるセキュリティ目標特性入力部311は、ユーザの操作に応じて、ユーザ選択インタフェース31によって表示されたセキュリティ目標特性の一覧からユーザによって指定されたセキュリティ目標特性を示すセキュリティ目標特性情報を入力する(ステップS2)。セキュリティ目標特性入力部311は、入力されたセキュリティ目標特性情報を処理エンジン32に含まれる対策方針抽出部321に渡す。
【0052】
次に、処理エンジン32に含まれる対策方針抽出部321は、セキュリティ目標特性入力部311から渡されたセキュリティ目標特性情報に応じて、セキュリティ要件抽出用データ格納部23に格納されている抽出用データから対策方針(を示す情報)を抽出する(ステップS3)。
【0053】
この場合、対策方針抽出部321は、セキュリティ目標特性入力部311から渡されたセキュリティ目標特性情報によって示されるセキュリティ目標特性に対する複数の対策方針を、セキュリティ要件抽出用データ格納部23に格納されている当該セキュリティ目標特性について用意されている抽出用データから抽出する。
【0054】
ここで、セキュリティ目標特性入力部311から渡されたセキュリティ目標特性情報によって示されるセキュリティ目標特性が図3に示すセキュリティ目標特性100(つまり、「利用者のプライバシが保護される」)であるものとする。
【0055】
この場合、対策方針抽出部321は、セキュリティ目標特性100に対する複数の対策方針(上位の対策方針)101〜103を、図3に示す抽出用データから抽出する。
【0056】
対策方針抽出部321は、抽出された複数の対策方針(を示す情報)をユーザ選択インタフェース31に渡す。
【0057】
ユーザ選択インタフェース31は、対策方針抽出部321から渡された複数の対策方針を表示する(ステップS4)。ユーザは、ユーザ選択インタフェース31によって表示された複数の対策方針の中から、所望の対策方針(開発対象のシステムにおいて定義すべきセキュリティ要件に応じた対策方針)を指定(選択)することができる。
【0058】
対策方針選択部312は、ユーザの操作に応じて、ユーザ選択インタフェース31によって表示された複数の対策方針の中からユーザによって指定された対策方針を選択する(ステップS5)。
【0059】
ここで、図5は、上述した図3に示す抽出用データにおいて対策方針選択部312によって選択された対策方針(上位の対策方針)の一例を示す。
【0060】
図5に示す例によれば、上記したようにユーザ選択インタフェース31によって表示された上位の対策方針101〜103の中から対策方針101(つまり、「識別情報から利用者本人が特定できない」)および対策方針103(つまり、「データやサービスが使用されていることを他人が観察できない」)が対策方針選択部312によって選択されたことが示されている。
【0061】
なお、上述したように、図3に示す抽出用データにおいては2段階の対策方針(上位および下位の対策方針)が含まれている。
【0062】
この場合、上記したように対策方針選択部312によって選択された上位の対策方針が対策方針抽出部321に渡され、上記したステップS3〜S5の処理と同様の処理が繰り返される。
【0063】
具体的には、対策方針選択部312によって対策方針101および103が選択されたものとすると、対策方針抽出部321は、当該対策方針101の下位に位置する下位の対策方針111および112と当該対策方針103の下位に位置する下位の対策方針114〜116をセキュリティ要件抽出用データ格納部23に格納されている抽出用データから抽出する。対策方針抽出部321は、抽出された下位の対策方針111、112および114〜116をユーザ選択インタフェース31に渡す。
【0064】
ユーザ選択インタフェース31は、対策方針抽出部321から渡された下位の対策方針111、112および114〜116を表示する。対策方針選択部312は、ユーザ選択インタフェース31によって表示された下位の対策方針111、112および114〜116の中から、ユーザによって指定された対策方針を選択する。
【0065】
ここで、図6は、上述した図3に示す抽出用データにおいて対策方針選択部312によって選択された対策方針(下位の対策方針)の一例を示す。
【0066】
図6に示す例によれば、上記したようにユーザ選択インタフェース31によって表示された下位の対策方針111、112および114〜116の中から対策方針111、112、114および115が選択されたことが示されている。
【0067】
なお、対策方針選択部312は、選択された対策方針(ここでは、下位の対策方針111、112、114および115)をセキュリティ要件抽出部322に渡す。
【0068】
ここでは、図3に示す抽出用データに2段階の対策方針(上位の対策方針および下位の対策方針)が含まれているため上記したステップS3〜S5の処理が繰り返されるものとして説明したが、抽出用データに1段階の対策方針のみが含まれている場合には、上記したステップS5の処理が実行されるとステップS6の処理が実行される。
【0069】
次に、セキュリティ要件抽出部322は、対策方針選択部312から渡された対策方針に応じて、セキュリティ要件抽出用データ格納部23に格納されている抽出用データからセキュリティ要件(を示す情報)を抽出する(ステップS6)。この場合、セキュリティ要件抽出部322は、対策方針選択部312から渡された対策方針に対応づけて抽出用データに含まれているセキュリティ要件を抽出する。
【0070】
ここで、図7は、上述した図3に示す抽出用データからセキュリティ要件抽出部322によって抽出されるセキュリティ要件の一例を示す。
【0071】
ここでは、対策方針選択部312によって下位の対策方針111、112、114および115が選択されたものとする。
【0072】
この場合、図7に示すように、対策方針選択部312によって選択された下位の対策方針111に応じたセキュリティ要件121および122がセキュリティ要件抽出部322によって抽出される。
【0073】
また、対策方針選択部312によって選択された下位の対策方針112に応じたセキュリティ要件123〜125がセキュリティ要件抽出部322によって抽出される。
【0074】
更に、対策方針選択部312によって選択された下位の対策方針114に応じたセキュリティ要件127および128がセキュリティ要件抽出部322によって抽出される。
【0075】
また、対策方針選択部312によって選択された下位の対策方針115に応じたセキュリティ要件129がセキュリティ要件抽出部322によって抽出される。
【0076】
つまり、上記したように上位の対策方針102および下位の対策方針116は対策方針選択部312によって選択されていないため、セキュリティ要件126および130は、セキュリティ要件抽出部322によって抽出されない。
【0077】
なお、セキュリティ要件抽出部322は、抽出されたセキュリティ要件(ここでは、セキュリティ要件121〜125および127〜129)をセキュリティ要件表示部313に渡す。
【0078】
次に、セキュリティ要件表示部313は、セキュリティ要件抽出部322から渡されたセキュリティ要件を表示する(ステップS7)。これにより、ユーザは、セキュリティ要件抽出部322によって抽出されたセキュリティ要件を確認することができる。
【0079】
ここで、図8は、セキュリティ要件表示部313によってセキュリティ要件が表示された場合の表示画面の一例を示す。
【0080】
図8に示す表示画面200には、セキュリティ要件抽出部322によって抽出されたセキュリティ要件が選択済みセキュリティ要件として表示されている。
【0081】
なお、図8に示す表示画面200には、セキュリティ要件抽出部322によって抽出されたセキュリティ要件(当該表示画面200に表示されているセキュリティ要件)の妥当性の検査を依頼するための要件検査開始ボタン201が設けられている。
【0082】
ユーザは、例えば要件定義支援装置30を操作して、表示画面200に設けられている要件検査開始ボタン201を指定(押下)することによって、セキュリティ要件抽出部322によって抽出されたセキュリティ要件に対する検査を依頼することができる。表示画面200に設けられている要件検査開始ボタン201が指定されると、セキュリティ要件抽出部322によって抽出されたセキュリティ要件に対する検査の依頼がセキュリティ要件依頼部314によって受け付けられる。
【0083】
要件検査依頼部314は、ユーザの操作に応じて、セキュリティ要件抽出部322によって抽出されたセキュリティ要件に対する検査が依頼されたか(つまり、当該セキュリティ要件に対する検査の依頼が受け付けられたか)否かを判定する(ステップS8)。
【0084】
セキュリティ要件に対する検査が依頼されたと判定された場合(ステップS8のYES)、要件依存性検査部323および要件排他性検査部324は、セキュリティ要件抽出部322によって抽出されたセキュリティ要件の妥当性を検査する処理(以下、セキュリティ要件検査処理と表記)を実行する(ステップS9)。
【0085】
セキュリティ要件検査処理は、セキュリティ要件検査用データ格納部24に格納されている検査用データを用いて実行される。なお、セキュリティ要件検査用データ格納部24に格納されている検査用データには、上記した依存性検査用データおよび排他性検査用データが含まれる。依存性検査用データにおいては、セキュリティ要件抽出用データ格納部23に格納されているセキュリティ要件および当該セキュリティ要件に依存する他のセキュリティ要件が対応づけて定義されている。排他性検査用データにおいては、セキュリティ要件抽出用データ格納部23に格納されているセキュリティ要件および当該セキュリティ要件と排他的な関係にある他のセキュリティ要件が対応づけて定義されている。
【0086】
セキュリティ要件検査処理において、要件依存性検査部323は、セキュリティ要件抽出部322によって抽出されたセキュリティ要件およびセキュリティ要件検査用データ格納部24に格納されている検査用データに含まれる依存性検査用データに基づいて、当該セキュリティ要件の依存性について検査する。セキュリティ要件の依存性についての検査によれば、セキュリティ要件抽出部322によって抽出されたセキュリティ要件において不足しているセキュリティ要件の有無が検査される。
【0087】
また、セキュリティ要件検査処理において、要件排他性検査部324は、セキュリティ要件抽出部322によって抽出されたセキュリティ要件およびセキュリティ要件検査用データ格納部24に格納されている検査用データに含まれる排他性検査用データに基づいて、当該セキュリティ要件の排他性について検査する。セキュリティ要件の排他性についての検査によれば、セキュリティ要件抽出部322によって抽出されたセキュリティ要件において重複しているセキュリティ要件(つまり、冗長なセキュリティ要件)の有無が検査される。
【0088】
なお、検査用データ(依存性検査用データおよび排他性検査用データ)としては、例えばコモンクライテリア(CC:Common Criteria)におけるセキュリティ機能要件(SFR)を用いることができる。
【0089】
セキュリティ要件検査処理が実行されると、要件依存性検査部323および要件排他性検査部324は、検査結果を要件検査結果表示部315に渡す。なお、セキュリティ要件検査処理の詳細については後述する。
【0090】
次に、要件検査結果表示部315は、要件依存性検査部323および要件排他性検査部324から渡された検査結果を表示する(ステップS10)。
【0091】
ここで、図9は、要件検査結果表示部315によって検査結果が表示された場合の表示画面の一例を示す。
【0092】
図9に示す表示画面300には、上記した図8に示す表示画面200と同様に、セキュリティ要件抽出部322によって抽出されたセキュリティ要件が選択済みセキュリティ要件として表示されている。
【0093】
また、表示画面300には、要件依存性検査部323および要件排他性検査部324による検査結果が指摘事項として表示される検査結果表示領域301が設けられている。
【0094】
図9に示す表示画面300に設けられている検査結果表示領域301には、例えば「要件1は要件3が必要です」の文字列が指摘事項として表示されている。これによれば、セキュリティ要件1にはセキュリティ要件3が必要である(つまり、セキュリティ要件3はセキュリティ要件1に依存する)ため、現在のセキュリティ要件(つまり、セキュリティ要件抽出部322によって抽出されたセキュリティ要件)ではセキュリティ要件3が不足している旨が示されている。
【0095】
また、図9に示す表示画面300に設けられている検査結果表示領域301には、例えば「要件7.1は要件7.2を包含します」が指摘事項として表示されている。これによれば、セキュリティ要件7.1はセキュリティ要件7.2を包含している(つまり、セキュリティ要件7.2はセキュリティ要件7.1と排他的な関係にある)ため、現在のセキュリティ要件(つまり、セキュリティ要件抽出部322によって抽出されたセキュリティ要件)ではセキュリティ要件7.2が重複している(つまり、冗長であり不要である)旨が示されている。
【0096】
更に、例えば「要件13と要件15はいずれか一つで十分です」も指摘事項として表示されている。これによれば、セキュリティ要件13および15は、いずれか一つが開発対象となるシステムにおけるセキュリティ要件として選択されればよいことが示されている。
【0097】
なお、図9に示す例では、検査結果表示領域301において「不足している要件があります」の文字列の下部に表示されている指摘事項は、要件依存性検査部323による検査結果(つまり、セキュリティ要件の依存性についての検査結果)である。一方、検査結果表示領域301において「冗長な要件があります」の文字列の下部に表示されている指摘事項は、要件排他性検査部324による検査結果(つまり、セキュリティ要件の排他性についての検査結果)である。
【0098】
また、図9に示す表示画面300において、上記した指摘事項において指摘されているセキュリティ要件(選択済みセキュリティ要件)の項目には例えば他のセキュリティ要件と区別可能な色が付されている。これにより、表示画面300においては、上記した指摘事項と関連するセキュリティ要件を容易に把握することができる。
【0099】
ユーザは、このような表示画面300を参照することにより、不足しているセキュリティ要件および不要なセキュリティ要件を確認し、例えば要件定義支援装置30を操作することによって開発対象となるシステムにおけるセキュリティ要件(最終的なセキュリティ要件)を決定(選択)することができる(ステップS11)。
【0100】
ユーザによって決定されたセキュリティ要件(を示す情報)は、セキュリティ要件抽出結果格納部25に格納される。また、セキュリティ要件抽出結果格納部25には、上記した検査結果(依存性および排他性についての検査結果)が格納される。
【0101】
なお、上記したステップS8においてセキュリティ要件に対する検査が依頼されていないと判定された場合、処理は終了される。
【0102】
次に、図10のフローチャートを参照して、要件依存性検査部323および要件排他性検査部324によるセキュリティ要件検査処理(図4に示すステップS9の処理)の処理手順について説明する。
【0103】
このセキュリティ要件検査処理は、処理エンジン32に含まれる要件依存性検査部323および要件排他性検査部324によって実行される。
【0104】
まず、要件依存性検査部323は、セキュリティ要件抽出部322によって抽出されたセキュリティ要件のうちの1つを取り出す(ステップS21)。以下、このステップS21の処理において取り出されたセキュリティ要件を検査対象セキュリティ要件とする。
【0105】
次に、要件依存性検査部323は、セキュリティ要件検査用データ格納部24に格納されている検査用データに含まれる依存性検査用データに基づいて、検査対象セキュリティ要件の依存性について検査する。
【0106】
ここで、図11を参照して、セキュリティ要件の依存性について説明する。図11については、矢印には実線と点線の2種類が存在している。ここでは、実線はANDの依存性、点線はORの依存性を示している。図11によれば、開発対象となるシステムにおけるセキュリティ要件としてセキュリティ要件1が選択された場合、セキュリティ要件3を選択する必要があることが示されている。
【0107】
また、開発対象となるシステムにおけるセキュリティ要件としてセキュリティ要件4が選択された場合、セキュリティ要件1とセキュリティ要件3はANDで繋がっているので、セキュリティ要件1とセキュリティ要件3は、ともに必要であることが示されている。更に、セキュリティ要件5とセキュリティ要件10がORなので、セキュリティ要件5とセキュリティ要件7、またはセキュリティ要件10とセキュリティ要件11のどちらかのセットが必要となることが示されている。
【0108】
つまり、セキュリティ要件1およびセキュリティ要件3を選択する必要があり、これらのセキュリティ要件に加えて、セキュリティ要件5およびセキュリティ要件7、または、セキュリティ要件10およびセキュリティ要件11を選択する必要があることが示されている。
【0109】
これらを論理式で書くと、セキュリティ要件4を選択した場合には以下のように示される。
【0110】
(要件1 AND 要件3) AND ((要件5 AND 要件7) OR (要件10 AND 要件11))
また、開発対象となるシステムにおけるセキュリティ要件としてセキュリティ要件5が選択された場合、セキュリティ要件7を選択する必要があることが示されている。
【0111】
更に、開発対象となるシステムにおけるセキュリティ要件としてセキュリティ要件10が選択された場合、セキュリティ要件11を選択する必要があることが示されている。
【0112】
このように、セキュリティ要件には、依存し合う他のセキュリティ要件が存在する。セキュリティ要件検査用データ格納部24に格納されている検査用データに含まれる依存性検査用データには、図11に示すようなセキュリティ要件間の依存性(依存関係)が定義されている。具体的には、依存性検査用データには、セキュリティ要件および当該セキュリティ要件に依存する他のセキュリティ要件が対応づけて定義されている。
【0113】
上記した図11の例では、依存性検査用データにおいて、例えばセキュリティ要件1および当該セキュリティ要件1に依存する他のセキュリティ要件であるセキュリティ要件3が対応づけて定義されている。
【0114】
要件依存性検査部323は、依存性検査用データおよびセキュリティ要件抽出部322によって抽出されたセキュリティ要件に基づいて、検査対象セキュリティ要件が当該依存性検査用データによって定義されている依存性(依存関係)を満たしているか(つまり、当該検査対象セキュリティ要件とセットで選択されるべきセキュリティ要件があるか)否かを判定する(ステップS22)。
【0115】
この場合、要件依存性検査部323は、検査対象セキュリティ要件に対応づけて依存性検査用データに定義されているセキュリティ要件(つまり、検査対象セキュリティ要件に依存するセキュリティ要件)がセキュリティ要件抽出部322によって抽出されているか否かを判定する。換言すれば、要件依存性検査部323は、検査対象セキュリティ要件に対応づけて依存性検査用データに定義されているセキュリティ要件がセキュリティ要件抽出部322による抽出結果(当該セキュリティ要件抽出部322によって抽出されたセキュリティ要件)に含まれるか否かを判定する。
【0116】
なお、検査対象セキュリティ要件に対応づけて依存性検査用データに定義されているセキュリティ要件がセキュリティ要件抽出部322によって抽出されていないと判定された場合には、ステップS22において検査対象セキュリティ要件が依存性を満たしていないと判定される。一方、検査対象セキュリティ要件に対応づけて依存性検査用データに定義されているセキュリティ要件がセキュリティ要件抽出部322によって抽出されていないと判定された場合には、ステップS22において検査対象セキュリティ要件が依存性を満たしていると判定される。
【0117】
検査対象セキュリティ要件が依存性を満たしていないと判定された場合(ステップS22のNO)、要件依存性検査部323は、上記したように要件検査結果表示部315によって表示される指摘事項(検査結果)に当該検査対象セキュリティ要件に依存するセキュリティ要件(が抽出されていない旨の検査結果)を追加する(ステップS23)。
【0118】
一方、検査対象セキュリティ要件が依存性を満たしていると判定された場合(ステップS22のYES)、ステップS23の処理は実行されない。
【0119】
次に、要件排他性検査部323は、セキュリティ要件検査用データ格納部24に格納されている検査用データに含まれる排他性検査用データに基づいて、検査対象セキュリティ要件の排他性について検査する。
【0120】
ここで、図12および図13を参照して、セキュリティ要件の排他性について説明する。
【0121】
図12によれば、例えばセキュリティ要件7のうち開発対象となるシステムにおけるセキュリティ要件としてセキュリティ要件7.1が選択された場合、セキュリティ要件7.2および7.3は、当該セキュリティ要件7.1に包含されるため選択される必要がないことが示されている。
【0122】
同様に、開発対象となるシステムにおけるセキュリティ要件としてセキュリティ要件7.2が選択された場合、セキュリティ要件7.3は、当該セキュリティ要件7.2に包含されるため選択される必要がないことが示されている。
【0123】
また、図13によれば、セキュリティ要件13、14および15は、いずれか一つが開発対象となるシステムにおけるセキュリティ要件として選択されればよいことが示されている。
【0124】
このように、セキュリティ要件には、排他的な関係にある他のセキュリティ要件が存在する。セキュリティ要件検査用データ格納部24に格納されている検査用データに含まれる排他性検査用データには、図12および図13に示すようなセキュリティ要件間の排他性(排他関係)が定義されている。具体的には、排他性検査用データには、セキュリティ要件および当該セキュリティ要件と排他的な関係にある他のセキュリティ要件が対応づけて定義されている。
【0125】
上記した図12の例では、排他性検査用データにおいて、例えばセキュリティ要件7.1および当該セキュリティ要件7.1と排他的な関係にある他のセキュリティ要件であるセキュリティ要件7.2(および7.3)が対応づけて定義されている。
【0126】
要件排他性検査部324は、排他性検査用データおよびセキュリティ要件抽出部322によって抽出されたセキュリティ要件に基づいて、検査対象セキュリティ要件が当該排他性検査用データによって定義されている排他性(排他関係)を満たしているか否かを判定する(ステップS24)。
【0127】
この場合、要件排他性検査部324は、検査対象セキュリティ要件に対応づけて排他性検査用データに定義されているセキュリティ要件(つまり、検査対象セキュリティ要件と排他的な関係にあるセキュリティ要件)がセキュリティ要件抽出部322によって抽出されているか否かを判定する。換言すれば、要件排他性検査部324は、検査対象セキュリティ要件に対応づけて排他性検査用データに定義されているセキュリティ要件がセキュリティ要件抽出部322による抽出結果(当該セキュリティ要件抽出部322によって抽出されたセキュリティ要件)に含まれるか否かを判定する。
【0128】
なお、検査対象セキュリティ要件に対応づけて依存性検査用データに定義されているセキュリティ要件がセキュリティ要件抽出部322によって抽出されていると判定された場合には、ステップS24において検査対象セキュリティ要件が排他性を満たしていないと判定される。一方、検査対象セキュリティ要件に対応付けて排他性検査用データに定義されているセキュリティ要件がセキュリティ要件抽出部322によって抽出されていないと判定された場合には、ステップS22において検査対象セキュリティ要件が排他性を満たしていると判定される。
【0129】
検査対象セキュリティ要件が排他性を満たしていないと判定された場合(ステップS24のNO)、要件排他性検査部324は、上記したように要件検査結果表示部315によって表示される指摘事項(検査結果)に当該検査対象セキュリティ要件と排他的な関係にあるセキュリティ要件(が抽出されている旨の検査結果)を追加する(ステップS25)。
【0130】
一方、検査対象セキュリティ要件が排他性を満たしていると判定された場合(ステップS24のYES)、ステップS25の処理は実行されない。
【0131】
次に、セキュリティ要件抽出部322によって抽出された全てのセキュリティ要件について上記したステップS21以降の処理が実行されたか否かが判定される(ステップS26)。
【0132】
全てのセキュリティ要件について処理が実行されていないと判定された場合(ステップS26のNO)、上記したステップS21に戻って処理が繰り返される。
【0133】
一方、全てのセキュリティ要件について処理が実行されたと判定された場合(ステップS26のYES)、セキュリティ要件検査処理は終了される。
【0134】
上記したように本実施形態においては、ユーザによって指定されたセキュリティ目標特性に対する複数の対策方針が抽出用データから抽出され、当該抽出された複数の対策方針の中のユーザによって指定された対策方針に対応づけて抽出用データに含まれているセキュリティ要件が抽出される。つまり、本実施形態においては、開発対象となるシステムに要求されるセキュリティ目標特性(例えば、データまたはサービスのCIA等)から対策方針を詳細化し、セキュリティ要件が導き出される。
【0135】
また、本実施形態においては、抽出されたセキュリティ要件が検査用データによって定義されている関係性を満たしているかが検査され、当該検査結果が提示される。
【0136】
したがって、本実施形態においては、ユーザによって適宜指定(選択)されたセキュリティ目標特性および対策方針に基づいて抽出用データから抽出されたセキュリティ要件について、当該セキュリティ要件が有する特徴的な関係性(依存性および排他性)について検査(チェック)され、当該検査結果が提示されるため、例えばセキュリティ要件の定義についての知識が乏しいユーザ等であっても、抽出されたセキュリティ要件(当該ユーザによって選択されたセキュリティ要件)および当該検査結果を参照し、セキュリティ要件の関係性を考慮したより適切(理想的)なセキュリティ要件を決定(選択)することが可能となる。
【0137】
これにより、本実施形態においては、適切なセキュリティ要件(セキュリティに関する要件)の定義を支援することが可能となり、ユーザは、例えば開発対象のシステムの仕様が明確でない(固まっていない)場合であっても、開発者のスキルに依存することなく、適切なセキュリティ要件を定義することが可能となる。
【0138】
また、本実施形態においては、検査用データに含まれる依存性検査用データを用いてセキュリティ要件の依存性について検査されることにより、検査結果として不足しているセキュリティ要件(不足要件)がユーザに対して提示されるため、セキュリティ要件の漏れを防止することが可能となる。
【0139】
また、本実施形態においては、検査用データに含まれる排他性検査用データを用いてセキュリティ要件の排他性について検査されることにより、検査結果として重複しているセキュリティ要件(重複要件)がユーザに対して提示されるため、セキュリティ要件の重複を防止することが可能となる。
【0140】
つまり、本実施形態によれば、適切なセキュリティに関する要件(セキュリティ要件)の定義を支援することが可能な要件定義支援プログラムおよび要件定義支援装置を提供することができる。
【0141】
なお、本願発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組合せてもよい。
【符号の説明】
【0142】
10…コンピュータ、20…外部記憶装置、22…セキュリティ目標特性一覧格納部、23…セキュリティ要件抽出用データ格納部(第1の格納手段)、24…セキュリティ要件検査用データ格納部(第2の格納手段)、25…セキュリティ要件抽出結果格納部(第3の格納手段)、30…要件定義支援装置、31…ユーザ選択インタフェース、32…処理エンジン、311…セキュリティ目標特性入力部、312…対策方針選択部、313…セキュリティ要件表示部、314…要件検査依頼部、315…要件検査結果表示部(提示手段)、321…対策方針抽出部、322…セキュリティ要件抽出部、323…要件依存性検査部、324…要件排他性検査部。
【技術分野】
【0001】
本発明の実施形態は、セキュリティに関する要件の定義を支援する要件定義支援プログラムおよび要件定義支援装置に関する。
【背景技術】
【0002】
一般的に、システム開発の要件定義フェーズにおいては、非機能要件の一部として例えばセキュリティに関する要件(以下、セキュリティ要件と表記)が定義される。
【0003】
このセキュリティ要件の定義は、例えば開発者のスキルに基づいて行われる、または、システムの保護対象となる資産または利用者・関与者を基としたセキュリティ脅威の分析を用いた手法(以下、「脅威分析手法」と表記)によって行われる場合が多い。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2001−222420号公報
【特許文献2】特開2008−250680号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上記した開発者のスキルに基づいてセキュリティ要件の定義が行われる場合には、当該開発者のスキルに依存することからセキュリティ要件の定義内容にばらつきがあり、更には、当該定義内容に抜け、漏れまたは重複等がある場合がある。
【0006】
一方、上記した脅威分析手法によってセキュリティ要件の定義が行われる場合には、分析の対象となるシステムの仕様がある程度明確にならなければセキュリティ要件の定義を行うことは困難である。
【0007】
したがって、例えばシステムの仕様が明確でない場合であっても、開発者のスキルに依存することなく、適切なセキュリティ要件を定義することが可能な仕組みが必要となる。
【0008】
そこで、適切なセキュリティに関する要件の定義を支援することが可能な要件定義支援プログラムおよび要件定義支援装置を提供することが目的とされる。
【課題を解決するための手段】
【0009】
実施形態に係る要件定義支援プログラムは、セキュリティに関する要件の性質を表すセキュリティ目標特性に対する複数の対策方針の各々に対応づけて当該対策方針に応じたセキュリティに関する要件を示すセキュリティ要件を含む抽出用データを予め格納する第1の格納手段と前記第1の格納手段に格納されている抽出用データに含まれるセキュリティ要件間で満たすべき関係性が定義された検査用データを予め格納する第2の格納手段とを有する外部記憶装置と、当該外部記憶装置を利用するコンピュータとを有する要件定義支援装置において、前記コンピュータによって実行される。
【0010】
実施形態に係る要件定義支援プログラムは、前記コンピュータに、前記セキュリティに関する要件の性質を表すセキュリティ目標特性であって、ユーザによって指定されたセキュリティ目標特性を示すセキュリティ目標特性情報を入力するステップを実行させる。
【0011】
実施形態に係る要件定義支援プログラムは、前記コンピュータに、前記第1の格納手段に格納されている抽出用データに含まれる前記入力されたセキュリティ目標特性情報によって示されるセキュリティ目標特性に対する複数の対策方針を抽出するステップを実行させる。
【0012】
実施形態に係る要件定義支援プログラムは、前記コンピュータに、前記抽出された複数の対策方針の中から、前記ユーザによって指定された対策方針を選択するステップを実行させる。
【0013】
実施形態に係る要件定義支援プログラムは、前記コンピュータに、前記第1の格納手段に格納されている抽出用データに基づいて、前記選択された対策方針に対応づけて当該抽出用データに含まれているセキュリティ要件を抽出するステップを実行させる。
【0014】
実施形態に係る要件定義支援プログラムは、前記コンピュータに、前記第2の格納手段に格納されている検査用データによって定義されている関係性を前記抽出されたセキュリティ要件が満たしているかを検査するステップを実行させる。
【0015】
実施形態に係る要件定義支援プログラムは、前記コンピュータに、前記検査結果を提示するステップを実行させる。
【図面の簡単な説明】
【0016】
【図1】実施形態に係る要件定義支援装値のハードウェア構成を示すブロック図。
【図2】図1に示す要件定義支援装置30の主として機能構成を示すブロック図。
【図3】図2に示すセキュリティ要件抽出用データ格納部23に格納されている抽出用データのデータ構造について説明する。
【図4】本実施形態に係る要件定義支援装置30の処理手順を示すフローチャート。
【図5】図3に示す抽出用データにおいて対策方針選択部312によって選択された上位の対策方針の一例を示す図。
【図6】図3に示す抽出用データにおいて対策方針選択部312によって選択された下位の対策方針の一例を示す図。
【図7】図3に示す抽出用データからセキュリティ要件抽出部322によって抽出されるセキュリティ要件の一例を示す図。
【図8】セキュリティ要件表示部313によってセキュリティ要件が表示された場合の表示画面の一例を示す図。
【図9】要件検査結果表示部315によって検査結果が表示された場合の表示画面の一例を示す図。
【図10】要件依存性検査部323および要件排他性検査部324によるセキュリティ要件検査処理の処理手順を示すフローチャート。
【図11】セキュリティ要件の依存性について説明するための図。
【図12】セキュリティ要件の排他性について説明するための図。
【図13】セキュリティ要件の排他性について説明するための図。
【発明を実施するための形態】
【0017】
以下、図面を参照して、実施形態について説明する。
【0018】
図1は、本実施形態に係る要件定義支援装置(セキュリティ要件定義支援装置)のハードウェア構成を示すブロック図である。図1に示すように、コンピュータ10は、例えばハードディスクドライブ(HDD:Hard Disk Drive)のような外部記憶装置20と接続されている。この外部記憶装置20は、コンピュータ10によって実行されるプログラム21を格納する。コンピュータ10および外部記憶装置20は、要件定義支援装置30を構成する。
【0019】
要件定義支援装置30は、例えばシステム開発の要件定義フェーズにおけるセキュリティに関する要件(以下、セキュリティ要件と表記)の定義を支援するために用いられる。
【0020】
図2は、図1に示す要件定義支援装置30の主として機能構成を示すブロック図である。図2に示すように、要件定義支援装置30は、ユーザ選択インタフェース(I/F)31および処理エンジン32を含む。
【0021】
本実施形態において、ユーザ選択インタフェース31および処理エンジン32は、図1に示すコンピュータ10が外部記憶装置20に格納されているプログラム(要件定義支援プログラム)21を実行することにより実現されるものとする。このプログラム21は、コンピュータ読み取り可能な記憶媒体に予め格納して頒布可能である。また、このプログラム21が例えばネットワークを介してコンピュータ10にダウンロードされても構わない。
【0022】
また、要件定義支援装置30は、セキュリティ目標特性一覧格納部22、セキュリティ要件抽出用データ格納部(第1の格納部)23、セキュリティ要件検査用データ格納部(第2の格納部)24およびセキュリティ要件抽出結果格納部(第3の格納部)25を含む。
【0023】
本実施形態において、これらの格納部22〜25は、例えば外部記憶装置20に格納される。
【0024】
ユーザ選択インタフェース31は、セキュリティ目標特性入力部311、対策方針選択部312、セキュリティ要件表示部313、要件検査依頼部314および要件検査結果表示部315を含む。また、処理エンジン32は、対策方針抽出部321、セキュリティ要件抽出部322、要件依存性検査部323および要件排他性検査部324を含む。
【0025】
セキュリティ目標特性一覧格納部22には、例えば開発対象となるシステムにおけるセキュリティに関する要件の性質(セキュリティに関する課題)を表すセキュリティ目標特性の一覧が予め格納される。
【0026】
セキュリティ目標特性入力部311は、セキュリティ要件(セキュリティに関する要件)の性質を表すセキュリティ目標特性であって、ユーザによって指定されたセキュリティ目標特性を示すセキュリティ目標特性情報を入力する。セキュリティ目標特性入力部311は、例えばセキュリティ目標特性一覧格納部22に格納されているセキュリティ目標特性の一覧の中からユーザによって指定(選択)されたセキュリティ目標特性を示すセキュリティ目標特性情報を入力する。
【0027】
セキュリティ要件抽出用データ格納部23には、セキュリティ目標特性に対する複数の対策方針(セキュリティに関する課題を解決するための方針)の各々に対応づけて当該対策方針に応じたセキュリティ要件(セキュリティに関する要件)を含むセキュリティ要件抽出用データ(以下、単に抽出用データと表記)が予め格納されている。この抽出用データは、セキュリティ目標特性(セキュリティ目標特性一覧格納部22に格納されているセキュリティ目標特性)毎に用意されている。
【0028】
対策方針抽出部321は、セキュリティ目標特性入力部311によって入力されたセキュリティ目標特性情報に基づいて、セキュリティ要件抽出用データ格納部23(に格納されている抽出用データ)から対策方針(を示す情報)を抽出する。対策方針抽出部321は、セキュリティ要件抽出用データ格納部23に格納されている抽出用データに含まれる複数の対策方針であってセキュリティ目標特性入力部311によって入力されたセキュリティ目標特性情報によって示されるセキュリティ目標特性に応じた複数の対策方針を抽出する。
【0029】
対策方針選択部312は、対策方針抽出部321によって抽出された複数の対策方針の中から、ユーザによって指定(選択)された対策方針を選択する。
【0030】
セキュリティ要件抽出部322は、対策方針選択部312によって選択された対策方針に基づいて、セキュリティ要件抽出用データ格納部23(に格納されている抽出用データ)からセキュリティ要件(を示す情報)を抽出する。セキュリティ要件抽出部322は、セキュリティ要件抽出用データ格納部23に格納されている抽出用データに基づいて、対策方針選択部312によって選択された対策方針に対応づけて当該抽出用データに含まれているセキュリティ要件を抽出する。
【0031】
セキュリティ要件表示部313は、セキュリティ要件抽出部322によって抽出されたセキュリティ要件を表示(提示)する。
【0032】
セキュリティ要件検査用データ格納部24には、セキュリティ要件抽出用データ格納部23に格納されている抽出用データに含まれるセキュリティ要件間で満たすべき関係性が定義された検査用データが格納される。このセキュリティ要件検査用データ格納部24に格納されている検査用データは、セキュリティ要件抽出部322によって抽出されたセキュリティ要件を検査するために用いられる。
【0033】
セキュリティ要件検査用データ格納部24に格納されている検査用データには、セキュリティ要件抽出用データ格納部23に格納されている抽出用データに含まれるセキュリティ要件間の依存関係(依存性)について定義された依存性検査用データおよび当該セキュリティ要件間の排他関係(排他性)について定義された排他性検査用データが含まれる。
【0034】
要件検査依頼部314は、例えばユーザの操作に応じて、セキュリティ要件抽出部322によって抽出されたセキュリティ要件(つまり、セキュリティ要件表示部313によって表示されたセキュリティ要件)に対する検査の依頼を受け付ける。
【0035】
要件依存性検査部323および要件排他性検査部324は、セキュリティ要件検査用データ格納部24に格納されている検査用データによって定義されている関係性をセキュリティ要件抽出部322によって抽出されたセキュリティ要件が満たしているか否かを検査する。
【0036】
要件依存性検査部323は、セキュリティ要件抽出部322によって抽出されたセキュリティ要件およびセキュリティ要件検査用データ格納部24に格納されている検査用データに含まれる依存性検査用データに基づいて、当該セキュリティ要件の依存性について検査する。
【0037】
要件排他性検査部324は、セキュリティ要件抽出部322によって抽出されたセキュリティ要件およびセキュリティ要件検査用データ格納部24に格納されている検査用データに含まれる排他性検査用データに基づいて、当該セキュリティ要件の排他性について検査する。
【0038】
要件検査結果表示部315は、要件依存性検査部323および要件排他性検査部324による検査結果を表示(提示)する。
【0039】
セキュリティ要件抽出結果格納部25には、例えばユーザが要件検査結果表示部315によって表示された検査結果を参照することによって最終的に決定されたセキュリティ要件(を示す情報)が格納される。
【0040】
図3を参照して、図2に示すセキュリティ要件抽出用データ格納部23に格納されている抽出用データ(セキュリティ要件抽出用データ)のデータ構造について説明する。なお、図3は、セキュリティ目標特性「利用者のプライバシが保護される」について用意されている抽出用データを示す。
【0041】
抽出用データには、セキュリティ目標特性に対する複数の対策方針および当該対策方針の各々に応じたセキュリティ要件が含まれる。
【0042】
図3に示す抽出用データにおいては、セキュリティ目標特性に対する2段階の対策方針(以下、上位の対策方針および下位の対策方針と表記)があり、その末端にセキュリティ要件が存在している。このように、抽出用データに複数の段階の対策方針が含まれていても構わない。
【0043】
図3に示す例では、抽出用データには、セキュリティ目標特性100に対する上位の対策方針101〜103および当該上位の対策方針101〜103の各々の下位に位置する下位の対策方針111〜116が含まれている。更に、抽出用データには、下位の対策方針111〜116の各々に応じたセキュリティ要件121〜130が含まれている。
【0044】
具体的には、図3に示す抽出用データにおいて、セキュリティ目標特性100(「利用者のプライバシが保護される」)に対する例えば上位の対策方針101(「識別情報から利用者本人が特定できない」)は、下位の対策方針111(「利用者の匿名性を保護する」)および下位の対策方針112(「利用者の別名性を保護する」)と対応づけられている。また、下位の対策方針111には、セキュリティ要件121(「利用者IDから実名が特定できないこと」)およびセキュリティ要件122(「利用者にIDを要求せずに、データやサービスが提供できること」)が対応づけられている。同様に、下位の対策方針112には、セキュリティ要件123(「いくつかのIDを持つ利用者の実名が特定できないこと」)、セキュリティ要件124(「システムは提供されたIDから利用者識別情報が判別できること」)およびセキュリティ要件125(「システムは利用者のIDがユニークであることを保証すること」)が対応づけられている。
【0045】
これによれば、セキュリティ要件121および122は、上位の対策方針101および下位の対策方針111を達成するために必要なセキュリティに関する要件であることが示される。また、セキュリティ要件123〜125は、上位の対策方針101および下位の対策方針112を達成するために必要なセキュリティに関する要件であることが示される。
【0046】
ここでは、図3に示す抽出用データにおける上位の対策方針101、下位の対策方針111および112、セキュリティ要件121〜125について具体的に説明したが、他の上位の対策方針、下位の対策方針およびセキュリティ要件についても同様であるため、その詳しい説明を省略する。
【0047】
セキュリティ要件抽出用データ格納部23に格納されている抽出用データが上記したようなデータ構造を有することにより、セキュリティ目標特性に対する対策方針(ここでは、上位の対策方針101〜103および下位の対策方針111〜116)がユーザによって選択(指定)されることによって、当該対策方針に応じた適切なセキュリティ要件(ここでは、セキュリティ要件121〜130)を抽出(特定)することが可能となる。
【0048】
なお、図3においては、セキュリティ目標特性「利用者のプライバシが保護される」について用意されている抽出用データについて説明したが、他のセキュリティ目標特性について用意されている抽出用データについても同様であるため、その詳しい説明を省略する。
【0049】
次に、図4に示すフローチャートを参照して、本実施形態に係る要件定義支援装置30の処理手順について説明する。
【0050】
まず、ユーザ選択インタフェース31は、セキュリティ目標特性一覧格納部22に格納されているセキュリティ目標特性の一覧を表示する(ステップS1)。ユーザは、ユーザ選択インタフェース31によって表示されたセキュリティ目標特性の一覧から、所望のセキュリティ目標特性(開発対象のシステムにおいて定義すべきセキュリティ要件の性質を表すセキュリティ目標特性)を指定(選択)することができる。
【0051】
ユーザ選択インタフェース31に含まれるセキュリティ目標特性入力部311は、ユーザの操作に応じて、ユーザ選択インタフェース31によって表示されたセキュリティ目標特性の一覧からユーザによって指定されたセキュリティ目標特性を示すセキュリティ目標特性情報を入力する(ステップS2)。セキュリティ目標特性入力部311は、入力されたセキュリティ目標特性情報を処理エンジン32に含まれる対策方針抽出部321に渡す。
【0052】
次に、処理エンジン32に含まれる対策方針抽出部321は、セキュリティ目標特性入力部311から渡されたセキュリティ目標特性情報に応じて、セキュリティ要件抽出用データ格納部23に格納されている抽出用データから対策方針(を示す情報)を抽出する(ステップS3)。
【0053】
この場合、対策方針抽出部321は、セキュリティ目標特性入力部311から渡されたセキュリティ目標特性情報によって示されるセキュリティ目標特性に対する複数の対策方針を、セキュリティ要件抽出用データ格納部23に格納されている当該セキュリティ目標特性について用意されている抽出用データから抽出する。
【0054】
ここで、セキュリティ目標特性入力部311から渡されたセキュリティ目標特性情報によって示されるセキュリティ目標特性が図3に示すセキュリティ目標特性100(つまり、「利用者のプライバシが保護される」)であるものとする。
【0055】
この場合、対策方針抽出部321は、セキュリティ目標特性100に対する複数の対策方針(上位の対策方針)101〜103を、図3に示す抽出用データから抽出する。
【0056】
対策方針抽出部321は、抽出された複数の対策方針(を示す情報)をユーザ選択インタフェース31に渡す。
【0057】
ユーザ選択インタフェース31は、対策方針抽出部321から渡された複数の対策方針を表示する(ステップS4)。ユーザは、ユーザ選択インタフェース31によって表示された複数の対策方針の中から、所望の対策方針(開発対象のシステムにおいて定義すべきセキュリティ要件に応じた対策方針)を指定(選択)することができる。
【0058】
対策方針選択部312は、ユーザの操作に応じて、ユーザ選択インタフェース31によって表示された複数の対策方針の中からユーザによって指定された対策方針を選択する(ステップS5)。
【0059】
ここで、図5は、上述した図3に示す抽出用データにおいて対策方針選択部312によって選択された対策方針(上位の対策方針)の一例を示す。
【0060】
図5に示す例によれば、上記したようにユーザ選択インタフェース31によって表示された上位の対策方針101〜103の中から対策方針101(つまり、「識別情報から利用者本人が特定できない」)および対策方針103(つまり、「データやサービスが使用されていることを他人が観察できない」)が対策方針選択部312によって選択されたことが示されている。
【0061】
なお、上述したように、図3に示す抽出用データにおいては2段階の対策方針(上位および下位の対策方針)が含まれている。
【0062】
この場合、上記したように対策方針選択部312によって選択された上位の対策方針が対策方針抽出部321に渡され、上記したステップS3〜S5の処理と同様の処理が繰り返される。
【0063】
具体的には、対策方針選択部312によって対策方針101および103が選択されたものとすると、対策方針抽出部321は、当該対策方針101の下位に位置する下位の対策方針111および112と当該対策方針103の下位に位置する下位の対策方針114〜116をセキュリティ要件抽出用データ格納部23に格納されている抽出用データから抽出する。対策方針抽出部321は、抽出された下位の対策方針111、112および114〜116をユーザ選択インタフェース31に渡す。
【0064】
ユーザ選択インタフェース31は、対策方針抽出部321から渡された下位の対策方針111、112および114〜116を表示する。対策方針選択部312は、ユーザ選択インタフェース31によって表示された下位の対策方針111、112および114〜116の中から、ユーザによって指定された対策方針を選択する。
【0065】
ここで、図6は、上述した図3に示す抽出用データにおいて対策方針選択部312によって選択された対策方針(下位の対策方針)の一例を示す。
【0066】
図6に示す例によれば、上記したようにユーザ選択インタフェース31によって表示された下位の対策方針111、112および114〜116の中から対策方針111、112、114および115が選択されたことが示されている。
【0067】
なお、対策方針選択部312は、選択された対策方針(ここでは、下位の対策方針111、112、114および115)をセキュリティ要件抽出部322に渡す。
【0068】
ここでは、図3に示す抽出用データに2段階の対策方針(上位の対策方針および下位の対策方針)が含まれているため上記したステップS3〜S5の処理が繰り返されるものとして説明したが、抽出用データに1段階の対策方針のみが含まれている場合には、上記したステップS5の処理が実行されるとステップS6の処理が実行される。
【0069】
次に、セキュリティ要件抽出部322は、対策方針選択部312から渡された対策方針に応じて、セキュリティ要件抽出用データ格納部23に格納されている抽出用データからセキュリティ要件(を示す情報)を抽出する(ステップS6)。この場合、セキュリティ要件抽出部322は、対策方針選択部312から渡された対策方針に対応づけて抽出用データに含まれているセキュリティ要件を抽出する。
【0070】
ここで、図7は、上述した図3に示す抽出用データからセキュリティ要件抽出部322によって抽出されるセキュリティ要件の一例を示す。
【0071】
ここでは、対策方針選択部312によって下位の対策方針111、112、114および115が選択されたものとする。
【0072】
この場合、図7に示すように、対策方針選択部312によって選択された下位の対策方針111に応じたセキュリティ要件121および122がセキュリティ要件抽出部322によって抽出される。
【0073】
また、対策方針選択部312によって選択された下位の対策方針112に応じたセキュリティ要件123〜125がセキュリティ要件抽出部322によって抽出される。
【0074】
更に、対策方針選択部312によって選択された下位の対策方針114に応じたセキュリティ要件127および128がセキュリティ要件抽出部322によって抽出される。
【0075】
また、対策方針選択部312によって選択された下位の対策方針115に応じたセキュリティ要件129がセキュリティ要件抽出部322によって抽出される。
【0076】
つまり、上記したように上位の対策方針102および下位の対策方針116は対策方針選択部312によって選択されていないため、セキュリティ要件126および130は、セキュリティ要件抽出部322によって抽出されない。
【0077】
なお、セキュリティ要件抽出部322は、抽出されたセキュリティ要件(ここでは、セキュリティ要件121〜125および127〜129)をセキュリティ要件表示部313に渡す。
【0078】
次に、セキュリティ要件表示部313は、セキュリティ要件抽出部322から渡されたセキュリティ要件を表示する(ステップS7)。これにより、ユーザは、セキュリティ要件抽出部322によって抽出されたセキュリティ要件を確認することができる。
【0079】
ここで、図8は、セキュリティ要件表示部313によってセキュリティ要件が表示された場合の表示画面の一例を示す。
【0080】
図8に示す表示画面200には、セキュリティ要件抽出部322によって抽出されたセキュリティ要件が選択済みセキュリティ要件として表示されている。
【0081】
なお、図8に示す表示画面200には、セキュリティ要件抽出部322によって抽出されたセキュリティ要件(当該表示画面200に表示されているセキュリティ要件)の妥当性の検査を依頼するための要件検査開始ボタン201が設けられている。
【0082】
ユーザは、例えば要件定義支援装置30を操作して、表示画面200に設けられている要件検査開始ボタン201を指定(押下)することによって、セキュリティ要件抽出部322によって抽出されたセキュリティ要件に対する検査を依頼することができる。表示画面200に設けられている要件検査開始ボタン201が指定されると、セキュリティ要件抽出部322によって抽出されたセキュリティ要件に対する検査の依頼がセキュリティ要件依頼部314によって受け付けられる。
【0083】
要件検査依頼部314は、ユーザの操作に応じて、セキュリティ要件抽出部322によって抽出されたセキュリティ要件に対する検査が依頼されたか(つまり、当該セキュリティ要件に対する検査の依頼が受け付けられたか)否かを判定する(ステップS8)。
【0084】
セキュリティ要件に対する検査が依頼されたと判定された場合(ステップS8のYES)、要件依存性検査部323および要件排他性検査部324は、セキュリティ要件抽出部322によって抽出されたセキュリティ要件の妥当性を検査する処理(以下、セキュリティ要件検査処理と表記)を実行する(ステップS9)。
【0085】
セキュリティ要件検査処理は、セキュリティ要件検査用データ格納部24に格納されている検査用データを用いて実行される。なお、セキュリティ要件検査用データ格納部24に格納されている検査用データには、上記した依存性検査用データおよび排他性検査用データが含まれる。依存性検査用データにおいては、セキュリティ要件抽出用データ格納部23に格納されているセキュリティ要件および当該セキュリティ要件に依存する他のセキュリティ要件が対応づけて定義されている。排他性検査用データにおいては、セキュリティ要件抽出用データ格納部23に格納されているセキュリティ要件および当該セキュリティ要件と排他的な関係にある他のセキュリティ要件が対応づけて定義されている。
【0086】
セキュリティ要件検査処理において、要件依存性検査部323は、セキュリティ要件抽出部322によって抽出されたセキュリティ要件およびセキュリティ要件検査用データ格納部24に格納されている検査用データに含まれる依存性検査用データに基づいて、当該セキュリティ要件の依存性について検査する。セキュリティ要件の依存性についての検査によれば、セキュリティ要件抽出部322によって抽出されたセキュリティ要件において不足しているセキュリティ要件の有無が検査される。
【0087】
また、セキュリティ要件検査処理において、要件排他性検査部324は、セキュリティ要件抽出部322によって抽出されたセキュリティ要件およびセキュリティ要件検査用データ格納部24に格納されている検査用データに含まれる排他性検査用データに基づいて、当該セキュリティ要件の排他性について検査する。セキュリティ要件の排他性についての検査によれば、セキュリティ要件抽出部322によって抽出されたセキュリティ要件において重複しているセキュリティ要件(つまり、冗長なセキュリティ要件)の有無が検査される。
【0088】
なお、検査用データ(依存性検査用データおよび排他性検査用データ)としては、例えばコモンクライテリア(CC:Common Criteria)におけるセキュリティ機能要件(SFR)を用いることができる。
【0089】
セキュリティ要件検査処理が実行されると、要件依存性検査部323および要件排他性検査部324は、検査結果を要件検査結果表示部315に渡す。なお、セキュリティ要件検査処理の詳細については後述する。
【0090】
次に、要件検査結果表示部315は、要件依存性検査部323および要件排他性検査部324から渡された検査結果を表示する(ステップS10)。
【0091】
ここで、図9は、要件検査結果表示部315によって検査結果が表示された場合の表示画面の一例を示す。
【0092】
図9に示す表示画面300には、上記した図8に示す表示画面200と同様に、セキュリティ要件抽出部322によって抽出されたセキュリティ要件が選択済みセキュリティ要件として表示されている。
【0093】
また、表示画面300には、要件依存性検査部323および要件排他性検査部324による検査結果が指摘事項として表示される検査結果表示領域301が設けられている。
【0094】
図9に示す表示画面300に設けられている検査結果表示領域301には、例えば「要件1は要件3が必要です」の文字列が指摘事項として表示されている。これによれば、セキュリティ要件1にはセキュリティ要件3が必要である(つまり、セキュリティ要件3はセキュリティ要件1に依存する)ため、現在のセキュリティ要件(つまり、セキュリティ要件抽出部322によって抽出されたセキュリティ要件)ではセキュリティ要件3が不足している旨が示されている。
【0095】
また、図9に示す表示画面300に設けられている検査結果表示領域301には、例えば「要件7.1は要件7.2を包含します」が指摘事項として表示されている。これによれば、セキュリティ要件7.1はセキュリティ要件7.2を包含している(つまり、セキュリティ要件7.2はセキュリティ要件7.1と排他的な関係にある)ため、現在のセキュリティ要件(つまり、セキュリティ要件抽出部322によって抽出されたセキュリティ要件)ではセキュリティ要件7.2が重複している(つまり、冗長であり不要である)旨が示されている。
【0096】
更に、例えば「要件13と要件15はいずれか一つで十分です」も指摘事項として表示されている。これによれば、セキュリティ要件13および15は、いずれか一つが開発対象となるシステムにおけるセキュリティ要件として選択されればよいことが示されている。
【0097】
なお、図9に示す例では、検査結果表示領域301において「不足している要件があります」の文字列の下部に表示されている指摘事項は、要件依存性検査部323による検査結果(つまり、セキュリティ要件の依存性についての検査結果)である。一方、検査結果表示領域301において「冗長な要件があります」の文字列の下部に表示されている指摘事項は、要件排他性検査部324による検査結果(つまり、セキュリティ要件の排他性についての検査結果)である。
【0098】
また、図9に示す表示画面300において、上記した指摘事項において指摘されているセキュリティ要件(選択済みセキュリティ要件)の項目には例えば他のセキュリティ要件と区別可能な色が付されている。これにより、表示画面300においては、上記した指摘事項と関連するセキュリティ要件を容易に把握することができる。
【0099】
ユーザは、このような表示画面300を参照することにより、不足しているセキュリティ要件および不要なセキュリティ要件を確認し、例えば要件定義支援装置30を操作することによって開発対象となるシステムにおけるセキュリティ要件(最終的なセキュリティ要件)を決定(選択)することができる(ステップS11)。
【0100】
ユーザによって決定されたセキュリティ要件(を示す情報)は、セキュリティ要件抽出結果格納部25に格納される。また、セキュリティ要件抽出結果格納部25には、上記した検査結果(依存性および排他性についての検査結果)が格納される。
【0101】
なお、上記したステップS8においてセキュリティ要件に対する検査が依頼されていないと判定された場合、処理は終了される。
【0102】
次に、図10のフローチャートを参照して、要件依存性検査部323および要件排他性検査部324によるセキュリティ要件検査処理(図4に示すステップS9の処理)の処理手順について説明する。
【0103】
このセキュリティ要件検査処理は、処理エンジン32に含まれる要件依存性検査部323および要件排他性検査部324によって実行される。
【0104】
まず、要件依存性検査部323は、セキュリティ要件抽出部322によって抽出されたセキュリティ要件のうちの1つを取り出す(ステップS21)。以下、このステップS21の処理において取り出されたセキュリティ要件を検査対象セキュリティ要件とする。
【0105】
次に、要件依存性検査部323は、セキュリティ要件検査用データ格納部24に格納されている検査用データに含まれる依存性検査用データに基づいて、検査対象セキュリティ要件の依存性について検査する。
【0106】
ここで、図11を参照して、セキュリティ要件の依存性について説明する。図11については、矢印には実線と点線の2種類が存在している。ここでは、実線はANDの依存性、点線はORの依存性を示している。図11によれば、開発対象となるシステムにおけるセキュリティ要件としてセキュリティ要件1が選択された場合、セキュリティ要件3を選択する必要があることが示されている。
【0107】
また、開発対象となるシステムにおけるセキュリティ要件としてセキュリティ要件4が選択された場合、セキュリティ要件1とセキュリティ要件3はANDで繋がっているので、セキュリティ要件1とセキュリティ要件3は、ともに必要であることが示されている。更に、セキュリティ要件5とセキュリティ要件10がORなので、セキュリティ要件5とセキュリティ要件7、またはセキュリティ要件10とセキュリティ要件11のどちらかのセットが必要となることが示されている。
【0108】
つまり、セキュリティ要件1およびセキュリティ要件3を選択する必要があり、これらのセキュリティ要件に加えて、セキュリティ要件5およびセキュリティ要件7、または、セキュリティ要件10およびセキュリティ要件11を選択する必要があることが示されている。
【0109】
これらを論理式で書くと、セキュリティ要件4を選択した場合には以下のように示される。
【0110】
(要件1 AND 要件3) AND ((要件5 AND 要件7) OR (要件10 AND 要件11))
また、開発対象となるシステムにおけるセキュリティ要件としてセキュリティ要件5が選択された場合、セキュリティ要件7を選択する必要があることが示されている。
【0111】
更に、開発対象となるシステムにおけるセキュリティ要件としてセキュリティ要件10が選択された場合、セキュリティ要件11を選択する必要があることが示されている。
【0112】
このように、セキュリティ要件には、依存し合う他のセキュリティ要件が存在する。セキュリティ要件検査用データ格納部24に格納されている検査用データに含まれる依存性検査用データには、図11に示すようなセキュリティ要件間の依存性(依存関係)が定義されている。具体的には、依存性検査用データには、セキュリティ要件および当該セキュリティ要件に依存する他のセキュリティ要件が対応づけて定義されている。
【0113】
上記した図11の例では、依存性検査用データにおいて、例えばセキュリティ要件1および当該セキュリティ要件1に依存する他のセキュリティ要件であるセキュリティ要件3が対応づけて定義されている。
【0114】
要件依存性検査部323は、依存性検査用データおよびセキュリティ要件抽出部322によって抽出されたセキュリティ要件に基づいて、検査対象セキュリティ要件が当該依存性検査用データによって定義されている依存性(依存関係)を満たしているか(つまり、当該検査対象セキュリティ要件とセットで選択されるべきセキュリティ要件があるか)否かを判定する(ステップS22)。
【0115】
この場合、要件依存性検査部323は、検査対象セキュリティ要件に対応づけて依存性検査用データに定義されているセキュリティ要件(つまり、検査対象セキュリティ要件に依存するセキュリティ要件)がセキュリティ要件抽出部322によって抽出されているか否かを判定する。換言すれば、要件依存性検査部323は、検査対象セキュリティ要件に対応づけて依存性検査用データに定義されているセキュリティ要件がセキュリティ要件抽出部322による抽出結果(当該セキュリティ要件抽出部322によって抽出されたセキュリティ要件)に含まれるか否かを判定する。
【0116】
なお、検査対象セキュリティ要件に対応づけて依存性検査用データに定義されているセキュリティ要件がセキュリティ要件抽出部322によって抽出されていないと判定された場合には、ステップS22において検査対象セキュリティ要件が依存性を満たしていないと判定される。一方、検査対象セキュリティ要件に対応づけて依存性検査用データに定義されているセキュリティ要件がセキュリティ要件抽出部322によって抽出されていないと判定された場合には、ステップS22において検査対象セキュリティ要件が依存性を満たしていると判定される。
【0117】
検査対象セキュリティ要件が依存性を満たしていないと判定された場合(ステップS22のNO)、要件依存性検査部323は、上記したように要件検査結果表示部315によって表示される指摘事項(検査結果)に当該検査対象セキュリティ要件に依存するセキュリティ要件(が抽出されていない旨の検査結果)を追加する(ステップS23)。
【0118】
一方、検査対象セキュリティ要件が依存性を満たしていると判定された場合(ステップS22のYES)、ステップS23の処理は実行されない。
【0119】
次に、要件排他性検査部323は、セキュリティ要件検査用データ格納部24に格納されている検査用データに含まれる排他性検査用データに基づいて、検査対象セキュリティ要件の排他性について検査する。
【0120】
ここで、図12および図13を参照して、セキュリティ要件の排他性について説明する。
【0121】
図12によれば、例えばセキュリティ要件7のうち開発対象となるシステムにおけるセキュリティ要件としてセキュリティ要件7.1が選択された場合、セキュリティ要件7.2および7.3は、当該セキュリティ要件7.1に包含されるため選択される必要がないことが示されている。
【0122】
同様に、開発対象となるシステムにおけるセキュリティ要件としてセキュリティ要件7.2が選択された場合、セキュリティ要件7.3は、当該セキュリティ要件7.2に包含されるため選択される必要がないことが示されている。
【0123】
また、図13によれば、セキュリティ要件13、14および15は、いずれか一つが開発対象となるシステムにおけるセキュリティ要件として選択されればよいことが示されている。
【0124】
このように、セキュリティ要件には、排他的な関係にある他のセキュリティ要件が存在する。セキュリティ要件検査用データ格納部24に格納されている検査用データに含まれる排他性検査用データには、図12および図13に示すようなセキュリティ要件間の排他性(排他関係)が定義されている。具体的には、排他性検査用データには、セキュリティ要件および当該セキュリティ要件と排他的な関係にある他のセキュリティ要件が対応づけて定義されている。
【0125】
上記した図12の例では、排他性検査用データにおいて、例えばセキュリティ要件7.1および当該セキュリティ要件7.1と排他的な関係にある他のセキュリティ要件であるセキュリティ要件7.2(および7.3)が対応づけて定義されている。
【0126】
要件排他性検査部324は、排他性検査用データおよびセキュリティ要件抽出部322によって抽出されたセキュリティ要件に基づいて、検査対象セキュリティ要件が当該排他性検査用データによって定義されている排他性(排他関係)を満たしているか否かを判定する(ステップS24)。
【0127】
この場合、要件排他性検査部324は、検査対象セキュリティ要件に対応づけて排他性検査用データに定義されているセキュリティ要件(つまり、検査対象セキュリティ要件と排他的な関係にあるセキュリティ要件)がセキュリティ要件抽出部322によって抽出されているか否かを判定する。換言すれば、要件排他性検査部324は、検査対象セキュリティ要件に対応づけて排他性検査用データに定義されているセキュリティ要件がセキュリティ要件抽出部322による抽出結果(当該セキュリティ要件抽出部322によって抽出されたセキュリティ要件)に含まれるか否かを判定する。
【0128】
なお、検査対象セキュリティ要件に対応づけて依存性検査用データに定義されているセキュリティ要件がセキュリティ要件抽出部322によって抽出されていると判定された場合には、ステップS24において検査対象セキュリティ要件が排他性を満たしていないと判定される。一方、検査対象セキュリティ要件に対応付けて排他性検査用データに定義されているセキュリティ要件がセキュリティ要件抽出部322によって抽出されていないと判定された場合には、ステップS22において検査対象セキュリティ要件が排他性を満たしていると判定される。
【0129】
検査対象セキュリティ要件が排他性を満たしていないと判定された場合(ステップS24のNO)、要件排他性検査部324は、上記したように要件検査結果表示部315によって表示される指摘事項(検査結果)に当該検査対象セキュリティ要件と排他的な関係にあるセキュリティ要件(が抽出されている旨の検査結果)を追加する(ステップS25)。
【0130】
一方、検査対象セキュリティ要件が排他性を満たしていると判定された場合(ステップS24のYES)、ステップS25の処理は実行されない。
【0131】
次に、セキュリティ要件抽出部322によって抽出された全てのセキュリティ要件について上記したステップS21以降の処理が実行されたか否かが判定される(ステップS26)。
【0132】
全てのセキュリティ要件について処理が実行されていないと判定された場合(ステップS26のNO)、上記したステップS21に戻って処理が繰り返される。
【0133】
一方、全てのセキュリティ要件について処理が実行されたと判定された場合(ステップS26のYES)、セキュリティ要件検査処理は終了される。
【0134】
上記したように本実施形態においては、ユーザによって指定されたセキュリティ目標特性に対する複数の対策方針が抽出用データから抽出され、当該抽出された複数の対策方針の中のユーザによって指定された対策方針に対応づけて抽出用データに含まれているセキュリティ要件が抽出される。つまり、本実施形態においては、開発対象となるシステムに要求されるセキュリティ目標特性(例えば、データまたはサービスのCIA等)から対策方針を詳細化し、セキュリティ要件が導き出される。
【0135】
また、本実施形態においては、抽出されたセキュリティ要件が検査用データによって定義されている関係性を満たしているかが検査され、当該検査結果が提示される。
【0136】
したがって、本実施形態においては、ユーザによって適宜指定(選択)されたセキュリティ目標特性および対策方針に基づいて抽出用データから抽出されたセキュリティ要件について、当該セキュリティ要件が有する特徴的な関係性(依存性および排他性)について検査(チェック)され、当該検査結果が提示されるため、例えばセキュリティ要件の定義についての知識が乏しいユーザ等であっても、抽出されたセキュリティ要件(当該ユーザによって選択されたセキュリティ要件)および当該検査結果を参照し、セキュリティ要件の関係性を考慮したより適切(理想的)なセキュリティ要件を決定(選択)することが可能となる。
【0137】
これにより、本実施形態においては、適切なセキュリティ要件(セキュリティに関する要件)の定義を支援することが可能となり、ユーザは、例えば開発対象のシステムの仕様が明確でない(固まっていない)場合であっても、開発者のスキルに依存することなく、適切なセキュリティ要件を定義することが可能となる。
【0138】
また、本実施形態においては、検査用データに含まれる依存性検査用データを用いてセキュリティ要件の依存性について検査されることにより、検査結果として不足しているセキュリティ要件(不足要件)がユーザに対して提示されるため、セキュリティ要件の漏れを防止することが可能となる。
【0139】
また、本実施形態においては、検査用データに含まれる排他性検査用データを用いてセキュリティ要件の排他性について検査されることにより、検査結果として重複しているセキュリティ要件(重複要件)がユーザに対して提示されるため、セキュリティ要件の重複を防止することが可能となる。
【0140】
つまり、本実施形態によれば、適切なセキュリティに関する要件(セキュリティ要件)の定義を支援することが可能な要件定義支援プログラムおよび要件定義支援装置を提供することができる。
【0141】
なお、本願発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組合せてもよい。
【符号の説明】
【0142】
10…コンピュータ、20…外部記憶装置、22…セキュリティ目標特性一覧格納部、23…セキュリティ要件抽出用データ格納部(第1の格納手段)、24…セキュリティ要件検査用データ格納部(第2の格納手段)、25…セキュリティ要件抽出結果格納部(第3の格納手段)、30…要件定義支援装置、31…ユーザ選択インタフェース、32…処理エンジン、311…セキュリティ目標特性入力部、312…対策方針選択部、313…セキュリティ要件表示部、314…要件検査依頼部、315…要件検査結果表示部(提示手段)、321…対策方針抽出部、322…セキュリティ要件抽出部、323…要件依存性検査部、324…要件排他性検査部。
【特許請求の範囲】
【請求項1】
セキュリティに関する要件の性質を表すセキュリティ目標特性に対する複数の対策方針の各々に対応づけて当該対策方針に応じたセキュリティに関する要件を示すセキュリティ要件を含む抽出用データを予め格納する第1の格納手段と前記第1の格納手段に格納されている抽出用データに含まれるセキュリティ要件間で満たすべき関係性が定義された検査用データを予め格納する第2の格納手段とを有する外部記憶装置と、当該外部記憶装置を利用するコンピュータとを有する要件定義支援装置において、前記コンピュータによって実行される要件定義支援プログラムであって、
前記コンピュータに、
前記セキュリティに関する要件の性質を表すセキュリティ目標特性であって、ユーザによって指定されたセキュリティ目標特性を示すセキュリティ目標特性情報を入力するステップと、
前記第1の格納手段に格納されている抽出用データに含まれる前記入力されたセキュリティ目標特性情報によって示されるセキュリティ目標特性に対する複数の対策方針を抽出するステップと、
前記抽出された複数の対策方針の中から、前記ユーザによって指定された対策方針を選択するステップと、
前記第1の格納手段に格納されている抽出用データに基づいて、前記選択された対策方針に対応づけて当該抽出用データに含まれているセキュリティ要件を抽出するステップと、
前記第2の格納手段に格納されている検査用データによって定義されている関係性を前記抽出されたセキュリティ要件が満たしているかを検査するステップと、
前記検査結果を提示するステップと
を実行させるための要件定義支援プログラム。
【請求項2】
前記第2の格納手段に格納されている検査用データは、前記第1の格納手段に格納されている抽出用データに含まれるセキュリティ要件および当該セキュリティ要件に依存する他のセキュリティ要件が対応づけて定義された依存性検査用データを含み、
前記検査するステップにおいて、前記第2の格納手段に格納されている検査用データに含まれる依存性検査用データおよび前記抽出されたセキュリティ要件に基づいて、前記抽出されたセキュリティ要件に対応づけて前記依存性検査用データに定義されているセキュリティ要件が抽出されているかを判定し、
前記提示するステップにおいて、前記抽出されたセキュリティ要件に対応づけて前記依存性検査用データに定義されているセキュリティ要件が抽出されていないと判定された場合、当該抽出されていないと判定されたセキュリティ要件を提示する
ことを特徴とする請求項1記載の要件定義支援プログラム。
【請求項3】
前記第2の格納手段に格納されている検査用データは、前記第1の格納手段に格納されている抽出用データに含まれるセキュリティ要件および当該セキュリティ要件と排他的な関係にある他のセキュリティ要件が対応づけて定義された排他性検査用データを含み、
前記検査するステップにおいて、前記第2の格納手段に格納されている検査用データに含まれる排他性検査用データおよび前記抽出されたセキュリティ要件に基づいて、前記抽出されたセキュリティ要件に対応づけて前記排他性検査用データに定義されているセキュリティ要件が抽出されているかを判定し、
前記提示するステップにおいて、前記抽出されたセキュリティ要件に対応づけて前記排他性検査用データに定義されているセキュリティ要件が抽出されていると判定された場合、当該抽出されていると判定されたセキュリティ要件を提示する
ことを特徴とする請求項1記載の要件定義支援プログラム。
【請求項4】
セキュリティに関する要件の性質を表すセキュリティ目標特性に対する複数の対策方針の各々に対応づけて当該対策方針に応じたセキュリティに関する要件を示すセキュリティ要件を含む抽出用データを予め格納する第1の格納手段と、
前記第1の格納手段に格納されている抽出用データに含まれるセキュリティ要件間で満たすべき関係性が定義された検査用データを予め格納する第2の格納手段と、
前記セキュリティに関する要件の性質を表すセキュリティ目標特性であって、ユーザによって指定されたセキュリティ目標特性を示すセキュリティ目標特性情報を入力する入力手段と、
前記第1の格納手段に格納されている抽出用データに含まれる前記入力されたセキュリティ目標特性情報によって示されるセキュリティ目標特性に対する複数の対策方針を抽出する対策方針抽出手段と、
前記対策方針抽出手段によって抽出された複数の対策方針の中から、前記ユーザによって指定された対策方針を選択する選択手段と、
前記第1の格納手段に格納されている抽出用データに基づいて、前記選択された対策方針に対応づけて当該抽出用データに含まれているセキュリティ要件を抽出するセキュリティ要件抽出手段と、
前記第2の格納手段に格納されている検査用データによって定義されている関係性を前記セキュリティ要件抽出手段によって抽出されたセキュリティ要件が満たしているかを検査する検査手段と、
前記検査結果を提示する提示手段と
を具備することを特徴とする要件定義支援装置。
【請求項1】
セキュリティに関する要件の性質を表すセキュリティ目標特性に対する複数の対策方針の各々に対応づけて当該対策方針に応じたセキュリティに関する要件を示すセキュリティ要件を含む抽出用データを予め格納する第1の格納手段と前記第1の格納手段に格納されている抽出用データに含まれるセキュリティ要件間で満たすべき関係性が定義された検査用データを予め格納する第2の格納手段とを有する外部記憶装置と、当該外部記憶装置を利用するコンピュータとを有する要件定義支援装置において、前記コンピュータによって実行される要件定義支援プログラムであって、
前記コンピュータに、
前記セキュリティに関する要件の性質を表すセキュリティ目標特性であって、ユーザによって指定されたセキュリティ目標特性を示すセキュリティ目標特性情報を入力するステップと、
前記第1の格納手段に格納されている抽出用データに含まれる前記入力されたセキュリティ目標特性情報によって示されるセキュリティ目標特性に対する複数の対策方針を抽出するステップと、
前記抽出された複数の対策方針の中から、前記ユーザによって指定された対策方針を選択するステップと、
前記第1の格納手段に格納されている抽出用データに基づいて、前記選択された対策方針に対応づけて当該抽出用データに含まれているセキュリティ要件を抽出するステップと、
前記第2の格納手段に格納されている検査用データによって定義されている関係性を前記抽出されたセキュリティ要件が満たしているかを検査するステップと、
前記検査結果を提示するステップと
を実行させるための要件定義支援プログラム。
【請求項2】
前記第2の格納手段に格納されている検査用データは、前記第1の格納手段に格納されている抽出用データに含まれるセキュリティ要件および当該セキュリティ要件に依存する他のセキュリティ要件が対応づけて定義された依存性検査用データを含み、
前記検査するステップにおいて、前記第2の格納手段に格納されている検査用データに含まれる依存性検査用データおよび前記抽出されたセキュリティ要件に基づいて、前記抽出されたセキュリティ要件に対応づけて前記依存性検査用データに定義されているセキュリティ要件が抽出されているかを判定し、
前記提示するステップにおいて、前記抽出されたセキュリティ要件に対応づけて前記依存性検査用データに定義されているセキュリティ要件が抽出されていないと判定された場合、当該抽出されていないと判定されたセキュリティ要件を提示する
ことを特徴とする請求項1記載の要件定義支援プログラム。
【請求項3】
前記第2の格納手段に格納されている検査用データは、前記第1の格納手段に格納されている抽出用データに含まれるセキュリティ要件および当該セキュリティ要件と排他的な関係にある他のセキュリティ要件が対応づけて定義された排他性検査用データを含み、
前記検査するステップにおいて、前記第2の格納手段に格納されている検査用データに含まれる排他性検査用データおよび前記抽出されたセキュリティ要件に基づいて、前記抽出されたセキュリティ要件に対応づけて前記排他性検査用データに定義されているセキュリティ要件が抽出されているかを判定し、
前記提示するステップにおいて、前記抽出されたセキュリティ要件に対応づけて前記排他性検査用データに定義されているセキュリティ要件が抽出されていると判定された場合、当該抽出されていると判定されたセキュリティ要件を提示する
ことを特徴とする請求項1記載の要件定義支援プログラム。
【請求項4】
セキュリティに関する要件の性質を表すセキュリティ目標特性に対する複数の対策方針の各々に対応づけて当該対策方針に応じたセキュリティに関する要件を示すセキュリティ要件を含む抽出用データを予め格納する第1の格納手段と、
前記第1の格納手段に格納されている抽出用データに含まれるセキュリティ要件間で満たすべき関係性が定義された検査用データを予め格納する第2の格納手段と、
前記セキュリティに関する要件の性質を表すセキュリティ目標特性であって、ユーザによって指定されたセキュリティ目標特性を示すセキュリティ目標特性情報を入力する入力手段と、
前記第1の格納手段に格納されている抽出用データに含まれる前記入力されたセキュリティ目標特性情報によって示されるセキュリティ目標特性に対する複数の対策方針を抽出する対策方針抽出手段と、
前記対策方針抽出手段によって抽出された複数の対策方針の中から、前記ユーザによって指定された対策方針を選択する選択手段と、
前記第1の格納手段に格納されている抽出用データに基づいて、前記選択された対策方針に対応づけて当該抽出用データに含まれているセキュリティ要件を抽出するセキュリティ要件抽出手段と、
前記第2の格納手段に格納されている検査用データによって定義されている関係性を前記セキュリティ要件抽出手段によって抽出されたセキュリティ要件が満たしているかを検査する検査手段と、
前記検査結果を提示する提示手段と
を具備することを特徴とする要件定義支援装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2012−38108(P2012−38108A)
【公開日】平成24年2月23日(2012.2.23)
【国際特許分類】
【出願番号】特願2010−178085(P2010−178085)
【出願日】平成22年8月6日(2010.8.6)
【出願人】(000003078)株式会社東芝 (54,554)
【出願人】(301063496)東芝ソリューション株式会社 (1,478)
【Fターム(参考)】
【公開日】平成24年2月23日(2012.2.23)
【国際特許分類】
【出願日】平成22年8月6日(2010.8.6)
【出願人】(000003078)株式会社東芝 (54,554)
【出願人】(301063496)東芝ソリューション株式会社 (1,478)
【Fターム(参考)】
[ Back to top ]