(57)【要約】【課題】セキュリティ要件を満たすために必要な作業を、容易かつ確実に得る。【解決手段】コンピュータ１において、格納手段２は、セキュリティ対策要件と、複数の実装方法定義情報と、実装方法定義情報毎の実装方法を実行する際に必要な作業の情報毎に与えられるパラメータに応じて実装方法定義情報毎に算出されたセキュリティ保証レベルとを備える実装情報３を格納する。提示手段４は、第三者によるセキュリティ対策要件とセキュリティ対策実行要件との入力に応答して実装情報３を参照し、入力されたセキュリティ対策要件に対応する実装方法定義情報を提示する。計算手段５は、提示に対する選択に応答して、セキュリティ対策実行要件の要素の実行コストを、選択された実装方法定義情報の作業の情報毎に与えられたパラメータを用いて計算する。出力手段６は、計算手段５により計算された要素の実行コストをセキュリティ保証レベルとともに出力する。【選択図】図１
2008107982.tif 000002
【特許請求の範囲】
【請求項１】
セキュリティ対策要件を充足する情報を提供する開発支援プログラムにおいて、
コンピュータを、
セキュリティ対策要件と、前記セキュリティ対策要件を解決する複数の実装方法定義情報と、前記実装方法定義情報毎の実装方法を実行する際に必要な作業の情報と、前記作業の情報毎に与えられるパラメータに応じて前記実装方法定義情報毎に算出された前記セキュリティ対策要件を保証するセキュリティ保証レベルと、を備える実装情報を格納する格納手段、
第三者による前記セキュリティ対策要件と前記セキュリティ対策要件を実行するための要素を備えるセキュリティ対策実行要件との入力に応答して、前記実装情報を参照し、前記第三者により入力された前記セキュリティ対策要件に対応する前記実装方法定義情報を提示する提示手段、
前記実装方法定義情報の提示に対する前記第三者による選択に応答して、前記セキュリティ対策実行要件の前記要素の実行コストを、選択された前記実装方法定義情報の前記作業の情報毎に与えられたパラメータを用いて計算する計算手段、
前記計算手段により計算された前記要素の実行コストを前記セキュリティ保証レベルとともに出力する出力手段、
として機能させることを特徴とする開発支援プログラム。
【請求項２】
前記コンピュータを、さらに、前記セキュリティ対策要件と、複数の前記実装方法定義情報と、前記実装方法の前記作業の情報と、前記作業の情報毎に与えられるパラメータとの入力に応答して前記実装手段毎に、前記セキュリティ対策要件を保証するセキュリティ保証レベルをそれぞれ算出し、算出した前記セキュリティ保証レベルをそれぞれ前記実装方法定義情報に関連づけ、前記セキュリティ対策要件と前記実装方法定義情報と前記セキュリティレベルとを関連づけて前記実装情報を作成する実装情報作成手段として機能させることを特徴とする請求項１記載の開発支援プログラム。
【請求項３】
前記実装情報作成手段は、前記実装方法定義情報に対する代替方法の入力に応答して前記実装方法定義情報に代替方法定義情報を関連づけ、前記代替方法定義情報毎の代替方法を実行する際に必要な作業の情報と、前記作業の情報に与えられるパラメータとの入力に応答して前記代替方法定義情報の前記セキュリティ保証レベルを算出し、算出した前記セキュリティ保証レベルをそれぞれ前記代替方法定義情報に関連づけ、前記セキュリティ対策要件と前記代替方法定義情報と前記セキュリティレベルとを関連づけた前記実装情報を作成し、
前記提示手段は、前記セキュリティ対策要件と前記セキュリティ対策実行要件との入力に応答して、前記実装情報を参照し、前記第三者により入力された前記セキュリティ対策要件に対応する前記実装方法定義情報および前記代替方法定義情報を提示することを特徴とする請求項２記載の開発支援プログラム。
【請求項４】
セキュリティ対策要件を充足する情報を提供する開発支援方法において、
格納手段が、セキュリティ対策要件と、前記セキュリティ対策要件を解決する複数の実装方法定義情報と、前記実装方法定義情報毎の実装方法を実行する際に必要な作業の情報と、前記作業の情報毎に与えられるパラメータに応じて前記実装方法定義情報毎に算出された前記セキュリティ対策要件を保証するセキュリティ保証レベルと、を備える実装情報を格納し、
提示手段が、第三者による前記セキュリティ対策要件と前記セキュリティ対策要件を実行するための要素を備えるセキュリティ対策実行要件との入力に応答して、前記実装情報を参照し、前記第三者により入力された前記セキュリティ対策要件に対応する前記実装方法定義情報を提示し、
計算手段が、前記実装方法定義情報の提示に対する前記第三者による選択に応答して、前記セキュリティ対策実行要件の前記要素の実行コストを、選択された前記実装方法定義情報の前記作業の情報毎に与えられたパラメータを用いて計算し、
出力手段が、前記計算手段により計算された前記要素の実行コストを前記セキュリティ保証レベルとともに出力する、
ことを特徴とする開発支援方法。
【請求項５】
セキュリティ対策要件を充足する情報を提供する開発支援装置において、
セキュリティ対策要件と、前記セキュリティ対策要件を解決する複数の実装方法定義情報と、前記実装方法定義情報毎の実装方法を実行する際に必要な作業の情報と、前記作業の情報毎に与えられるパラメータに応じて前記実装方法定義情報毎に算出された前記セキュリティ対策要件を保証するセキュリティ保証レベルと、を備える実装情報を格納する格納手段と、
第三者による前記セキュリティ対策要件と前記セキュリティ対策要件を実行するための要素を備えるセキュリティ対策実行要件との入力に応答して、前記実装情報を参照し、前記第三者により入力された前記セキュリティ対策要件に対応する前記実装方法定義情報を提示する提示手段と、
前記実装方法定義情報の提示に対する前記第三者による選択に応答して、前記セキュリティ対策実行要件の前記要素の実行コストを、選択された前記実装方法定義情報の前記作業の情報毎に与えられたパラメータを用いて計算する計算手段と、
前記計算手段により計算された前記要素の実行コストを前記セキュリティ保証レベルとともに出力する出力手段と、
を有することを特徴とする開発支援装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は開発支援プログラム、開発支援方法および開発支援装置に関し、特に、セキュリティ対策要件を充足する情報を提供する開発支援プログラム、開発支援方法および開発支援装置に関する。
【背景技術】
【０００２】
近年、ソフトウェアの脆弱性を原因とするセキュリティインシデントが多発し、ソフトウェアセキュリティの重要性が注目されている。
しかし、ソフトウェア開発の現場においては、セキュリティ品質確保のために必要な作業の体系化が不十分であるのが現状である。例えば、セキュリティ知識に乏しい開発現場では、セキュリティ確保のために何をどれだけ行えばよいかが分からないという問題がある。また、プロジェクト管理者にとっては、セキュリティ品質を確保するためのコスト（作業の費用や工数等）が見えにくく、完成したシステムの品質を評価することが難しいため、セキュリティ投資もしにくいという問題がある。
【０００３】
このような問題に対し、セキュリティ知識に乏しい開発者を支援する種々の方法が知られている（例えば、特許文献１参照）
【特許文献１】特開２００１−２２２４２０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、セキュリティに関する品質の確保、保証という点では、従来のソフトウェア開発体系は十分ではない。セキュリティ脆弱性は、ソフトウェアにおける一般的なバグとは異なり、本来の仕様を満たしていてもそれ以外に意図しない挙動をする場合がある。それらは「仕様通りか」の確認を行うテストでは検出することが難しく、「意図しない挙動をしない」という設計仕様の記述方法も従来の方法では困難である。また、仮にセキュリティ要件を満たすような設計を行ったとしても、実装の段階で脆弱性が混入してしまう場合がある。
【０００５】
本発明はこのような点に鑑みてなされたものであり、セキュリティ要件を満たすために必要な作業を、容易かつ確実に得ることができる開発支援プログラム、開発支援方法および開発支援装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明では上記問題を解決するために、図１に示すような処理をコンピュータ１に実行させるための開発支援プログラムが提供される。
本発明に係る開発支援プログラムは、セキュリティ対策要件を充足する情報を提供するプログラムである。このような開発支援プログラムをコンピュータ１に実行させることで、図１に示す機能が実現される。
【０００７】
格納手段２は、セキュリティ対策要件と、このセキュリティ対策要件を解決する複数の実装方法定義情報と、実装方法定義情報毎の実装方法を実行する際に必要な作業の情報と、これら作業の情報毎に与えられるパラメータに応じて実装方法定義情報毎に算出されたセキュリティ対策要件を保証するセキュリティ保証レベルとを備える実装情報３を格納する。
【０００８】
提示手段４は、第三者によるセキュリティ対策要件とこのセキュリティ対策要件を実行するための要素を備えるセキュリティ対策実行要件との入力に応答して、実装情報３を参照し、第三者により入力されたセキュリティ対策要件に対応する実装方法定義情報を提示する。
【０００９】
計算手段５は、実装方法定義情報の提示に対する第三者による選択に応答して、セキュリティ対策実行要件の要素の実行コストを、選択された実装方法定義情報の作業の情報毎に与えられたパラメータを用いて計算する。
【００１０】
出力手段６は、計算手段５により計算された要素の実行コストをセキュリティ保証レベルとともに出力する。
このような開発支援プログラムによれば、格納手段２により、セキュリティ対策要件と複数の実装方法定義情報と作業の情報とセキュリティ保証レベルとを備える実装情報３が格納される。提示手段４により、第三者によるセキュリティ対策要件とセキュリティ対策実行要件との入力に応答して実装情報３が参照され第三者により入力されたセキュリティ対策要件に対応する実装方法定義情報が提示される。計算手段５により、実装方法定義情報の提示に対する選択に応答して、セキュリティ対策実行要件の要素が、選択された実装方法定義情報の作業の情報毎に与えられたパラメータを用いて計算される。出力手段６により、計算手段５により計算された要素の実行コストがセキュリティ保証レベルとともに出力される。
【発明の効果】
【００１１】
本発明によれば、第三者に与えるべき実装手段の候補が提示され、かつ、開発の早期段階でセキュリティ対策要件実行に必要な要素（例えば作業の質、量、コスト等）を容易かつ明確に把握することができる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の実施の形態を、図面を参照して詳細に説明する。
まず、本発明の概要について説明し、その後、実施の形態を説明する。
図１は、本発明の概要を示す図である。図１に示すコンピュータ１は、セキュリティ対策要件を充足する情報を提供するプログラムを実行する装置である。
【００１３】
コンピュータ１は、格納手段２と、提示手段４と、計算手段５と、出力手段６と、実装情報作成手段７とを有している。
格納手段２は、セキュリティ対策要件と、このセキュリティ対策要件を解決する複数の実装方法定義情報と、実装方法定義情報毎の実装方法を実行する際に必要な作業の情報と、これら作業の情報毎に与えられるパラメータに応じて実装方法定義情報毎に算出されたセキュリティ保証レベルとを備える実装情報３を格納する。セキュリティ保証レベルは、例えばセキュリティ対策要件を保証する値である。
【００１４】
この実装情報は、例えば実装情報作成手段７によって作成される。ここで、パラメータとは、例えば、誤検出の割合や、検出漏れの割合や、ツールを使用する際の調達費用等をいう。
【００１５】
図１では、１つのセキュリティ対策要件Ａに対して、４つの実装方法定義情報Ｂ１、Ｂ２、Ｂ３、Ｂ４が関連づけられている。そして、実装方法定義情報Ｂ１、Ｂ２、Ｂ３、Ｂ４それぞれに作業の情報Ｃ１、Ｃ２が関連づけられている。さらに、実装方法定義情報Ｂ１、Ｂ２、Ｂ３、Ｂ４それぞれにセキュリティ保証レベルＤ１、Ｄ２、Ｄ３、Ｄ４が関連づけられている。
【００１６】
提示手段４は、第三者によるセキュリティ対策要件と、このセキュリティ対策要件を実行するための要素を備えるセキュリティ対策実行要件との入力に応答して、実装情報３を参照し、第三者により入力されたセキュリティ対策要件に対応する実装方法定義情報を提示する。
【００１７】
計算手段５は、実装方法定義情報の提示に対する第三者による選択に応答して、セキュリティ対策実行要件の要素の実行コストを、選択された実装方法定義情報の作業の情報毎に与えられたパラメータを用いて計算する。ここで要素とは、例えばセキュリティ専門家の要員数や、非（セキュリティ）専門家の要員数や、ツールの有無や、プログラム規模や、作業者の作業単価等の情報をいう。
【００１８】
出力手段６は、計算手段５により計算された要素の実行コスト（見積もり情報）をセキュリティ保証レベルとともに出力する。
このような開発支援プログラムによれば、格納手段２により、セキュリティ対策要件と複数の実装方法定義情報と作業の情報とセキュリティ保証レベルとを備える実装情報３が格納される。提示手段４により、第三者によるセキュリティ対策要件とセキュリティ対策実行要件との入力に応答して実装情報３が参照され第三者により入力されたセキュリティ対策要件に対応する実装方法定義情報が提示される。計算手段５により、実装方法定義情報の提示に対する選択に応答して、セキュリティ対策実行要件の要素が、選択された実装方法定義情報の作業の情報毎に与えられたパラメータを用いて計算される。出力手段６により、計算手段５により計算された要素の実行コストがセキュリティ保証レベルとともに出力される。
【００１９】
以下、本発明の実施の形態を説明する。
図２は、開発支援装置のハードウェア構成例を示す図である。
開発支援装置（コンピュータ）１００は、ＣＰＵ（Central Processing Unit）１０１によって装置全体が制御されている。ＣＰＵ１０１には、バス１０７を介してＲＡＭ（Random Access Memory）１０２、ハードディスクドライブ（ＨＤＤ:Hard Disk Drive）１０３、グラフィック処理装置１０４、入力インタフェース１０５、および通信インタフェース１０６が接続されている。
【００２０】
ＲＡＭ１０２には、ＣＰＵ１０１に実行させるＯＳ（Operating System）のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ１０２には、ＣＰＵ１０１による処理に必要な各種データが格納される。ＨＤＤ１０３には、ＯＳやアプリケーションプログラムが格納される。また、ＨＤＤ１０３内には、プログラムファイルが格納される。
【００２１】
グラフィック処理装置１０４には、モニタ１１が接続されている。グラフィック処理装置１０４は、ＣＰＵ１０１からの命令に従って、画像をモニタ１１の画面に表示させる。入力インタフェース１０５には、キーボード１２とマウス１３とが接続されている。入力インタフェース１０５は、キーボード１２やマウス１３から送られてくる信号を、バス１０７を介してＣＰＵ１０１に送信する。
【００２２】
通信インタフェース１０６は、ネットワーク１０に接続されている。通信インタフェース１０６は、ネットワーク１０を介して、他のコンピュータとの間でデータの送受信を行う。
【００２３】
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。このようなハードウェア構成の装置において開発支援処理を行うために、開発支援装置１００内には、以下のような機能が設けられる。
【００２４】
図３は、開発支援装置の機能を示すブロック図である。
開発支援装置１００は、実装手段蓄積情報作成部１１０と、実装手段蓄積情報格納部１２０と、見積もり情報作成部１３０とを有している。
【００２５】
実装手段蓄積情報作成部１１０は、セキュリティ専門家４１からの操作入力を受け付ける。具体的には実装手段蓄積情報作成部１１０は、ＧＵＩ（Graphical User Interface）を有しており、実装手段入力受付画面等の各種画面をモニタ１１の画面に表示する。
【００２６】
また、実装手段蓄積情報作成部１１０は、ユーザからのＧＵＩを利用した操作入力に従って、実装手段蓄積情報テーブル１２１を作成（編集）し、実装手段蓄積情報格納部１２０に蓄積する。
【００２７】
新規データ作成時には、セキュリティ専門家４１が操作を行い、新規データ作成を指示する。すると、実装手段蓄積情報作成部１１０が、入力受付画面を立ち上げ、モニタ１１に表示する。
【００２８】
データ編集時には、セキュリティ専門家４１が操作を行い、ＨＤＤ１０３に格納されている実装手段蓄積情報テーブル１２１を指定する。すると、実装手段蓄積情報作成部１１０が、ＨＤＤ１０３から実装手段蓄積情報テーブル１２１を読み込み、その内容を反映させた入力受付画面をモニタ１１に表示する。
【００２９】
セキュリティ専門家４１は、入力受付画面上で、実装手段蓄積情報テーブル１２１を作成または編集する作業を行う。
また、実装手段蓄積情報作成部１１０により、セキュリティ専門家４１による操作入力の内容が監視され、適宜、実装手段蓄積情報テーブル１２１に格納される。
【００３０】
実装手段蓄積情報格納部１２０は、実装手段蓄積情報テーブル１２１が格納（記録）されたデータ格納領域である。
見積もり情報作成部１３０は、プロジェクト管理者５１からの見積もりの操作入力を受け付ける。プロジェクト管理者５１は、必ずしもセキュリティ専門家である必要はない。
【００３１】
見積もり情報作成部１３０は、ＧＵＩを有しており、見積もり入力受付画面をモニタ１１の画面に表示する。そして、ユーザからのＧＵＩを利用した操作入力に従って、見積もり情報を作成（編集）する。作成された見積もり情報は、例えばモニタ１１の画面に表示され、ＨＤＤ１０３に格納される。
【００３２】
ところで開発支援装置１００の処理は（１）主として実装手段蓄積情報作成部１１０を用いた実装手段蓄積情報テーブル１２１の作成、（２）主として、実装手段蓄積情報格納部１２０、見積もり情報作成部１３０を用いた作業見積もりおよび指示書の作成、の大きく２つに分けることができる。以下、それぞれについて詳しく説明する。
【００３３】
＜１＞実装手段蓄積情報テーブル１２１の作成
図４は、実装手段蓄積情報テーブル作成処理を示すフローチャートである。
なお、以下の動作は、実装手段蓄積情報作成部１１０が行う。
【００３４】
まず、セキュリティ専門家４１からシステム要件の入力を受け付けると、その内容を実装手段蓄積情報テーブル１２１に格納する（ステップＳ１）。
ここでシステム要件とは、例えばプログラム言語、ミドルウェア、ソフトウェア等をいう。
【００３５】
次に、セキュリティ専門家４１からセキュリティ要件の入力を受け付けると、その内容を実装手段蓄積情報テーブル１２１に格納する（ステップＳ２）。
ここでセキュリティ要件とは、ソフトウェアで想定している具体的な脅威に対する、ソフトウェア要件レベルでの対策方針をいい、例えば、「（Ｗｅｂアプリケーション開発において）クロスサイトスクリプティング（ＸＳＳ）脆弱性がないように実装すること」等が挙げられる。
【００３６】
次に、セキュリティ専門家４１から実装手段（実装方法定義情報）の入力を受け付けると、その内容を実装手段蓄積情報テーブル１２１に格納する（ステップＳ３）。
ここで、実装手段とは、設計、実装工程において、セキュリティ要件を実装する方法のうち、対策として推奨でき、かつコーディング規約などの形で制約として明示可能なものをいい、例えば、「（ＸＳＳ対策として）規定の出力タグ（＜ｂｅａｎ：ｗｒｉｔｅ＞）を使用すること。」等が挙げられる。
【００３７】
次に、セキュリティ専門家４１から代替手段の入力を受け付けると、その内容を実装手段蓄積情報テーブル１２１に格納する（ステップＳ４）。
ここで、代替手段とは、セキュリティ要件を実装する手段であるが、上記の実装手段の条件を満たさない、次善の策をいい、例えば、「第三者によるＸＳＳのブラックボックス監査を行うこと。」等が挙げられる。
【００３８】
次に、セキュリティ専門家４１から実装手段と代替手段との相互関係を示す情報の入力を受け付けると、その内容を実装手段蓄積情報テーブル１２１に格納する（ステップＳ５）。
【００３９】
次に、実装手段の保証レベル計算処理を行う（ステップＳ６）。
次に、他のセキュリティ要件が存在するか否かを判断する（ステップＳ７）。他のセキュリティ要件が存在する場合（ステップＳ７のＹｅｓ）、ステップＳ２に移行してステップＳ２〜ステップＳ６の動作を繰り返し行う。一方、他のセキュリティ要件が存在しない場合（ステップＳ６のＮｏ）、他のシステム要件が存在するか否かを判断する（ステップＳ８）。他のシステム要件が存在する場合（ステップＳ８のＹｅｓ）、ステップＳ１に移行してステップＳ１〜ステップＳ７の動作を繰り返し行う。一方、他のシステム要件が存在しない場合（ステップＳ８のＮｏ）、実装手段蓄積情報テーブル１２１を実装手段蓄積情報格納部１２０に格納する（ステップＳ９）。
【００４０】
以上で実装手段蓄積情報テーブル作成処理を終了する。
次に、ステップＳ６の実装手段の保証レベル計算処理について説明する。
図５は、実装手段の保証レベル計算処理を示すフローチャートである。
【００４１】
まず、セキュリティ専門家４１から制約パターンの入力を受け付けると、その内容を実装手段蓄積情報テーブル１２１に格納する（ステップＳ６１）。
次に、実装手段および代替手段を複数の部分に分解する（ステップＳ６２）。
【００４２】
次に、分解した各部分について保証レベル（セキュリティ保証レベル）の計算の要否を判別する（ステップＳ６３）。
次に、ステップＳ６３で計算が必要となった部分についてセキュリティ知識の要否を判断する（ステップＳ６４）。セキュリティ知識が不要の場合（ステップＳ６４のＮｏ）、計算が必要となった部分に対応する詳細情報項目を設定する（ステップＳ６５）。
【００４３】
次に、詳細情報項目に対して値（パラメータ）の入力を受け付けると、それらの値を詳細情報項目に関連づけて格納する（ステップＳ６６）。
一方、セキュリティ知識が必要の場合（ステップＳ６４のＹｅｓ）、計算が必要となった部分に対応する詳細情報項目を設定する（ステップＳ６７）。
【００４４】
次に、詳細情報項目に対して値を算出し、それらの値を詳細情報項目に関連づけて格納する（ステップＳ６８）。
次に、詳細情報項目に関連づけられた値に基づいて、保証レベルを算出し、実装手段および代替手段に関連づけて格納する（ステップＳ６９）。
【００４５】
その後、元のルーチンに復帰する。
以上で実装手段の保証レベル計算処理を終了する。
以下、実装手段蓄積情報テーブル作成処理について具体例を用いて説明する。
【００４６】
図６は、システム要件の入力を示す図である。
セキュリティ専門家４１が、システム要件を入力すると、実装手段蓄積情報作成部１１０により、実装手段蓄積情報テーブル１２１のシステム要件の欄にシステム要件が格納される。
【００４７】
図７は、セキュリティ要件の入力を示す図である。
セキュリティ専門家４１が、システム要件毎に複数のセキュリティ要件を入力すると、実装手段蓄積情報作成部１１０により、セキュリティ要件がシステム要件毎に関連づけられて実装手段蓄積情報テーブル１２１のセキュリティ要件の欄に格納される。
【００４８】
図８は、実装手段の入力を示す図である。以下、実装手段蓄積情報テーブル１２１の一部を省略して表す。
セキュリティ専門家４１が、セキュリティ要件毎に複数の実装手段を入力すると、実装手段がセキュリティ要件毎に関連づけられて実装手段蓄積情報テーブル１２１の実装手段の欄に格納される。図８では、１つのセキュリティ要件に２つの実装手段が関連づけられて格納される。なお、１つの実装手段が複数のセキュリティ要件に関連づけられていてもよい。
【００４９】
図９は、代替手段の入力を示す図である。
セキュリティ専門家４１が、実装手段毎に代替手段（代替方法定義情報）を入力すると、代替手段が実装手段毎に関連づけられて実装手段蓄積情報テーブル１２１の代替手段の欄に格納される。なお、図９では、各実装手段に対し、共通の代替手段が入力された場合を示しているが、１つの実装手段に対し、複数の代替手段が入力された場合は、複数の代替手段が、それぞれの実装手段に関連づけられて格納される。
【００５０】
図１０は、相互関係の入力を示す図である。
セキュリティ専門家４１が、セキュリティ要件と実装手段との相互関係および実装手段と代替手段との相互関係を入力すると、セキュリティ要件と実装手段との相互関係および実装手段と代替手段との相互関係が実装手段蓄積情報テーブル１２１の相互関係の欄にそれぞれ格納される。これにより、各関係を明確なものとすることができる。また、相互関係にある実装手段と代替手段とをグループ化して別名をつけておいてもよい。これにより、管理を容易に行うことができる。
【００５１】
ここで、セキュリティ専門家４１は、相互関係として「ＡＮＤ」、「ＯＲ」または「ＸＯＲ」を入力することができる。
「ＡＮＤ」は、要件の充足には、他の手段との併用が必須な関係をいう。
【００５２】
「ＯＲ」は、他の手段を含むいずれか１つの手段で要件の充足が可能な関係をいう。
「ＸＯＲ」は、いずれか１つの手段で要件の充足が可能、かつ、他の手段との併用が不可能な関係をいう。
【００５３】
なお、代替手段は、実装手段とは「ＯＲ」の関係に設定する。また、「ＸＯＲ」の関係は、実装手段間のみ、および代替手段間のみに設定することができる。
また、以下では、実装手段「ＳＱＬ文の発行にはjava.sql.PreparedStatement（java：登録商標）のみを使用する」を、実装手段（ａ）といい、実装手段「ＳＱＬ実行の直前で危険な文字をエスケープする」を実装手段（ｂ）といい、代替手段「ブラックボックス形式による第三者監査」を代替手段（Ｉ）という。
【００５４】
ここまでの各要件および各手段がそれぞれ入力されると、実装手段蓄積情報作成部１１０が、制約パターン画面を立ち上げ、モニタ１１に表示する。
図１１は、制約パターン画面を説明する図である。
【００５５】
制約パターン画面１１１の制約の欄には、実装手段および代替手段について課す制約がそれぞれ設定されている。また、制約パターンの欄には、制約の欄に示される項目および実装範囲指定の欄に示される項目の制約を課すとき、および制約を課さないときの制約パターンがそれぞれ符号化されて示されている。
【００５６】
例えば実装手段（ａ）に、「特定部品の強制」かつ「実装範囲指定なし」の制約を課す場合、セキュリティ専門家４１は、制約パターンＰ２を選択する。すると、実装手段（ａ）と制約パターンＰ２とが関連づけられて実装手段蓄積情報テーブル１２１に格納される。
【００５７】
同様に、実装手段（ｂ）に、「特定の手順の強制」かつ「実装範囲指定あり」の制約を課す場合、セキュリティ専門家４１は、制約パターンＰ５を選択する。すると、実装手段（ｂ）と制約パターンＰ５とが関連づけられて実装手段蓄積情報テーブル１２１に格納される。また、代替手段（Ｉ）に、「制約なし」を指定する場合、セキュリティ専門家４１は、制約パターンＰ８を選択する。すると、代替手段（Ｉ）と制約パターンＰ８とが関連づけられて実装手段蓄積情報テーブル１２１に格納される。これらのパターン化により、コスト計算を効率よく行うことができる。
【００５８】
ここまでの動作が行われると、実装手段蓄積情報作成部１１０は、制約パターンと関連づけられた各実装手段および各代替手段をそれぞれ３つの部分に分解する。
図１２は、実装手段および代替手段の分解を示す図である。なお、図１２では、実装手段蓄積情報作成部１１０は、各実装手段および各代替手段をそれぞれ「制約部分」、「制約箇所の検出部分」、「制約違反の検出部分」に分解する。
【００５９】
そして、制約パターンと、予め用意された制約パターン効率化テーブルとに基づいて、分解された各項目について保証レベルの計算が必要か否かを判断する。
図１３は、制約パターン効率化テーブルを示す図である。
【００６０】
制約パターン効率化テーブル１２２は、制約のパターン部分、各箇所の計算部分に分かれている。
制約のパターン部分には、制約パターン画面１１１の制約の欄および実装範囲指定の欄、並びにこれら各欄に対応した項目が設定されている。
【００６１】
各箇所の計算部分には、図１２にて分解された項目に対応した欄が設けられている。これら各欄には、制約のパターン部分に対応して保証レベルの計算要または計算不要が設定されている。
【００６２】
図１４は、制約パターン効率化テーブルを用いて計算の要否を設定した結果を示す図である。
実装手段蓄積情報作成部１１０は、制約パターン効率化テーブル１２２を用いて得られた実装手段および代替手段の部分毎の制約パターンの計算の要否を実装手段蓄積情報テーブル１２１に格納する。
【００６３】
次に、実装手段蓄積情報作成部１１０は、計算の要否の欄にて「計算要」となっている部分について詳細情報項目を設定する。
図１５は、詳細情報項目を設定した実装手段蓄積情報テーブルを示す図である。
【００６４】
セキュリティ専門家４１は、詳細情報項目を入力する。すると、実装手段蓄積情報作成部１１０が、実装手段蓄積情報テーブル１２１の計算の要否の計算要の部分に対応してそれぞれ詳細情報の欄を作成し、詳細情報の欄に、詳細情報項目を設定する。ここで、調達費用とは、実装手段を実行、または制約違反を検出するためのツールの調達に必要な費用をいう。
【００６５】
詳細情報項目が設定されると、実装手段蓄積情報作成部１１０が、検出容易性選択画面を立ち上げ、モニタ１１に表示する。
図１６は、検出容易性選択画面を説明する図である。
【００６６】
検出容易性選択画面１１２には、検出容易性の欄の各項目に応じたパターンがそれぞれ示されている。
セキュリティ専門家４１は、計算の要否の欄にて「計算要」となっている部分にこれらのパターンを割り当てる。例えば制約違反の検出部分がツールで機械的に検出可能な場合、パターンＥ１を割り当てる。なお、実装手段（ａ）および実装手段（ｂ）の各制約部分の欄は、それぞれ文字列検索レベルで検出可能なことが判断された際には、予め用意された値が入ることになるため、計算対象から除外する。文字列検索レベルとは、ｇｒｅｐ等のように固定の文字列がそのソースコード中に存在するかどうかを確認することと同様の容易性で、（違反等の確認が）可能なレベルをいう。
【００６７】
パターンが割り当てられると、実装手段蓄積情報作成部１１０は、実装手段蓄積情報テーブル１２１の、セキュリティ専門家４１がパターンＥ１を割り当てた実装手段の詳細情報の「セキュリティ知識の要否」の項目の値を「不要」に設定し、セキュリティ専門家４１がパターンＥ２、Ｅ３を割り当てた場合は、「要」に設定する。
【００６８】
＜セキュリティ知識不要の場合＞
実装手段蓄積情報作成部１１０は、セキュリティ知識「不要」が設定された実装情報における詳細情報の未設定項目入力画面を立ち上げ、モニタ１１に表示する。
【００６９】
図１７は、未設定項目入力画面を示す図である。
セキュリティ専門家４１は、未設定項目入力画面１１３の値の欄に、各詳細情報項目に対応する値（パラメータ）を入力する。
【００７０】
図１８は、未設定項目が入力された実装手段蓄積情報テーブルを示す図である。
セキュリティ専門家４１によって入力された値が、実装手段蓄積情報作成部１１０により実装手段蓄積情報テーブル１２１に格納される。
【００７１】
＜セキュリティ知識要の場合＞
実装手段蓄積情報作成部１１０は、セキュリティ知識「要」が設定された実装情報における詳細情報の未設定項目入力画面１１４を立ち上げ、モニタ１１に表示する。
【００７２】
図１９は、未設定項目入力画面を示す図である。
セキュリティ専門家４１は、未設定項目入力画面１１４の値の欄に、各詳細情報項目に対応する値を入力する。また、データベースに登録済のツールの場合は、実装手段蓄積情報作成部１１０により、そのツールの詳細情報が自動的に入力されるようになっていてもよい。
【００７３】
図２０は、未設定項目が入力された実装手段蓄積情報テーブルを示す図である。
セキュリティ専門家４１によって入力された値が、実装手段蓄積情報作成部１１０により実装手段蓄積情報テーブル１２１に格納される。
【００７４】
また、実装手段蓄積情報作成部１１０は、単位プログラム規模あたりの追加工数の欄の値を計算によって求める。
ここで、ツールの工数（単位プログラムあたり）：ｄ
ツールの検出漏れ率：ｅ
ツールの誤検出率：ｆ
セキュリティ専門家が検出漏れを１％削減するのに必要な工数：ｇ
非専門家が検出漏れを１％削減するのに必要な工数：ｈ
セキュリティ専門家が検出漏れを１％削減するのに必要な工数：ｉ
非専門家が検出漏れを１％削減するのに必要な工数：ｊ
とすると、単位プログラム規模あたりの追加工数（セキュリティ専門家の場合）は、（ｄ＋ｅ×ｇ＋ｆ×ｉ）で求めることができる。よって図１９に示す例では、（０．５＋２０×０．０３＋３０×０．０１）＝０．９となる。
【００７５】
また、単位プログラム規模あたりの追加工数（非専門家の場合）は、（ｄ＋ｅ×ｈ＋ｆ×ｊ）で求めることができる。よって、図１９に示す例では、（０．５＋２０×０．１＋３０×０．０５）＝４となる。
【００７６】
なお、このような計算に必要な情報が、予めテーブル化されて開発支援装置１００内に格納され、実装手段蓄積情報作成部１１０が参照するようになっていてもよい。
次に、実装手段蓄積情報作成部１１０は、セキュリティ要件を実行する際の、保証レベルを算出する。
【００７７】
図２１は、保証レベルの算出を示す図である。
図２１の例では、検出各部分の保証レベルを（１００−（ｆａｌｓｅ  ｎｅｇａｔｉｖｅ））で計算し、算出された保証レベルのうち、最も大きい値を実装手段（代替手段）の保証レベルとする。本実施の形態では、実装手段（ａ）の保証レベルは「９５」となる。
【００７８】
なお、実装手段（ｂ）や代替手段（Ｉ）についても同様のデータ構造を作成することにより、保証レベルを求めることができる。
開発支援装置１００は、以上説明した動作をシステム要件、セキュリティ要件毎に繰り返し行い、全てのシステム要件、セキュリティ要件に対する保証レベルが算出された実装手段蓄積情報テーブル１２１を完成させる。
【００７９】
このように、実装手段を限定することにより、制約遵守（または違反）を確認することで、セキュリティ要件の充足の確認をその実装手段の範囲に限定することができる。また、その実装手段の実施によってセキュリティ要件を充足できることが分かっている場合、実装手段の遵守の確認の精度を、セキュリティ要件の充足度（保証度）として利用することができる。これにより、実装手段の確認の容易性から作業量や作業内容を導出することによって、セキュリティ要件に必要な作業の見積もりを容易に行うための実装手段蓄積情報テーブル１２１を作成することができる。
【００８０】
また、代替手段を定義することにより、セキュリティ要件を充足するための次善の手段を用意することができ、選択の自由度が広がる。
また、相互関係を規定することにより、実装手段間や実装手段と代替手段との間での重複の排除や、不足手段の補完を確実に行うことができる。
【００８１】
また、制約パターン効率化テーブル１２２を用いたり、検出容易性選択画面１１２を表示し、パターンＥ１〜Ｅ３をセキュリティ専門家４１に入力させたりすることにより、各部分計算の効率化をさらに図ることができる。
【００８２】
＜２＞見積もり情報作成
次に、見積もり情報作成処理について説明する。
まず、フローチャートを用いて大まかな流れについて説明し、その後、各ステップについて詳細に説明する。
【００８３】
図２２は、見積もり情報作成処理を示すフローチャートである。なお、以下の動作は、見積もり情報作成部１３０が行う。
まず、プロジェクト管理者５１の要求に応じてシステム要件およびセキュリティ要件の入力を受け付ける（ステップＳ１１）。
【００８４】
次に、プロジェクト情報（セキュリティ対策実行要件）（後述）の入力を受け付ける（ステップＳ１２）。
次に、プロジェクト情報を満たす実装手段候補を表示する（ステップＳ１３）。
【００８５】
次に、表示した実装手段候補の中からの実装手段または代替手段の選択を受け付ける（ステップＳ１４）。
次に、選択された実装手段または代替手段の保証レベル、見積もり計算結果を表示し（ステップＳ１５）、プロジェクト管理者５１に確認を促す（ステップＳ１６）。
【００８６】
プロジェクト管理者５１の了解が得られた場合（ステップＳ１６のＹｅｓ）、見積もり情報を作成し、見積もり情報作成処理を終了する（ステップＳ１７）。
一方、プロジェクト管理者５１の了解が得られない場合（ステップＳ１６のＮｏ）、ステップＳ１４に移行して処理を継続する。
【００８７】
以下、見積もり情報作成処理について具体例を用いて説明する。
まず、プロジェクト管理者５１が、システム要件、セキュリティ要件、および各プロジェクト情報を入力する。
【００８８】
図２３は、システム、セキュリティ要件入力画面を示す図である。
システム、セキュリティ要件入力画面１３１では、システム要件およびセキュリティ要件を入力（選択）することができる。
【００８９】
システム、セキュリティ要件入力画面１３１には、複数のシステム要件およびセキュリティ要件と、それらに対応するチェックボックスとが表示される。ユーザにより、１つのシステム要件および１つのセキュリティ要件が選択され、送信ボタンが押下されると、入力された情報が確定するとともに、プロジェクト情報入力画面がモニタ１１に表示される。
【００９０】
図２４は、プロジェクト情報入力画面を示す図である。
プロジェクト情報入力画面１３２には、複数のプロジェクト情報が表示される。図２３では、一例としてプログラム開発規模、セキュリティ総予算、セキュリティ要員の入力欄が設定されている。なお、他にもツール仕様の有無や保証レベル等の入力欄が設定されていてもよい。
【００９１】
プロジェクト管理者５１により、プロジェクト情報が入力され、送信ボタンが押下されると、入力された情報が確定する。
次に、見積もり情報作成部１３０は、入力されたシステム要件、セキュリティ要件に対応する実装手段、代替手段を、実装手段蓄積情報テーブル１２１から取得する。
【００９２】
図２５は、取得された実装手段を示す図である。
この際、見積もり情報作成部１３０は、実装手段の一覧を保証レベルの高い順番に並び替えて受け取った実装手段に応じた実装手段表示画面を選択候補としてモニタ１１に表示する。図２５では、太線で示した部分をモニタ１１に表示する。なお、相互関係が「ＡＮＤ」の場合は、これらの実装手段をまとめてモニタ１１に表示する。このとき、選択候補は実装手段が代替手段に優先して表示される。すなわち、プロジェクト条件に一致する可能性の高いものから優先して表示される。
【００９３】
なお、プロジェクト情報入力画面１３２に保証レベルの入力欄を設け、保証レベルが入力された場合は、見積もり情報作成部１３０が、入力された保証レベル以上の実装手段または代替手段のみを表示するようになっていてもよい。
【００９４】
図２６は、実装手段表示画面を示す図である。
プロジェクト管理者５１により、実装手段表示画面１３３内の１つまたは複数の実装手段が選択され、送信ボタンが押下されると、入力された情報が確定する。
【００９５】
次に、見積もり情報作成部１３０は、選択された実装手段のみで入力されたプロジェクト情報の条件を満たすか否かを判断する。そして、システム要件を満たさない場合は、相互関係を参照し、不足する実装手段に対応する代替手段を選択に追加する。
【００９６】
次に、見積もり情報作成部１３０は、選択されている各実装（代替）手段の各部分の工数、費用を、実装手段蓄積情報テーブル１２１を参照することにより計算し、合計する。
例えば実装手段（ａ）では、セキュリティ要員が「不要」であるため、工数は、単位プログラム規模あたりの追加工数（セキュリティ非専門家の場合）×プログラム開発規模、すなわち、０．１×５０＝５となる。
【００９７】
また、費用は、調達費用＋工数×単価、すなわち、１０００００＋５×３００００＝２５００００となる。
見積もり情報作成部１３０は、上記のように全ての実装手段の工数、費用、保証レベル、セキュリティ知識の要否を計算し、合計する。
【００９８】
ここで、工数：実装手段の各部分の値の合計。但し、ツールを用いる場合については、重複分の費用は除外する。
費用：実装手段の各部分の値の合計。但し、ツールを用いる場合については、重複分の費用は除外する。
【００９９】
セキュリティ保証レベル：実装手段の各部分の値の最小値。
セキュリティ知識の要否：実装手段の各部分のうち１つでも要ならば「要」となる。
次に、手段毎の工数、費用、保証レベル、セキュリティ知識の要否と、選択した組み合わせでの工数、費用、保証レベル、セキュリティ知識の要否の見積もり結果をモニタ１１に表示する。この際、セキュリティ要件を満たす条件が複数存在する場合は、より好ましい条件が優先して表示されるようになっていてもよい。
【０１００】
図２７は、見積もり結果画面を示す図である。なお、図２７では、一例として２つの実装手段（実装手段（ａ）、実装手段（ｂ））と１つの代替手段（選択なし）が見積もり結果として表示されている。
【０１０１】
プロジェクト管理者５１により、見積もり結果画面１３４の採用する見積もりがチェックされ、ＯＫボタンが押下されると、見積もり情報作成部１３０が、見積もり情報として各指示書を出力する。一方、ＮＧボタンが押下されると、再び実装手段表示画面１３３を表示し、再度実装手段の選択が行われる。
【０１０２】
図２８は、実装手段指示書およびテスト指示書の一例を示す図である。
図２８（ａ）は、実装手段を選択した場合の実装手段指示書およびテスト指示書を示している。また、図２８（ｂ）は、代替手段を選択した場合のテスト指示書を示している。
【０１０３】
以上説明したように、開発支援装置１００によれば、プロジェクト管理者５１は、実装手段毎にセキュリティのための費用や工数の情報を得られるため、元々のソフトウェアに係る予算、工数を含め総合的に勘案して実装手段を選択することができる。図２６の場合では、セキュリティ専門家４１が推奨する実装手段が、プロジェクト管理者５１にとっても最善すなわち、コストが最小かつ、最も高い保証レベルになることが提示されている。これにより、セキュリティ知識の低いプロジェクト管理者においてもセキュリティ品質と作業コストという明確な指標を開発の早期段階で把握することができる。
【０１０４】
また、各実装手段および各代替手段をそれぞれ「制約部分」、「制約箇所の検出部分」、「制約違反の検出部分」に分解し、それぞれのコストを算出することにより、従来見落とされがちな制約箇所の検出部分や制約違反の検出部分のコストも計算対象となり、より正確な（現実の使用に則した）計算結果を得ることができる。
【０１０５】
なお、本実施の形態では、工数、費用、セキュリティ知識の要否を見積もり情報作成部１３０が作成したが、実装手段蓄積情報作成部１１０が作成しておいてもよい。
以上、本発明の開発支援プログラム、開発支援方法および開発支援装置を、図示の実施の形態に基づいて説明したが、本発明はこれに限定されるものではなく、各部の構成は、同様の機能を有する任意の構成のものに置換することができる。また、本発明に、他の任意の構成物や工程が付加されていてもよい。
【０１０６】
また、本発明は、前述した実施の形態のうちの、任意の２以上の構成（特徴）を組み合わせたものであってもよい。
なお、上記の処理機能は、コンピュータによって（コンピュータに所定の開発支援プログラムを実行させることにより）実現することができる。その場合、開発支援装置が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等が挙げられる。磁気記録装置としては、例えば、ハードディスク装置（ＨＤＤ）、フレキシブルディスク（ＦＤ）、磁気テープ等が挙げられる。光ディスクとしては、例えば、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ（Random Access Memory）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）等が挙げられる。光磁気記録媒体としては、例えば、ＭＯ（Magneto-Optical disk）等が挙げられる。
【０１０７】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【０１０８】
開発支援装置プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。
【０１０９】
（付記１）  セキュリティ対策要件を充足する情報を提供する開発支援プログラムにおいて、
コンピュータを、
セキュリティ対策要件と、前記セキュリティ対策要件を解決する複数の実装方法定義情報と、前記実装方法定義情報毎の実装方法を実行する際に必要な作業の情報と、前記作業の情報毎に与えられるパラメータに応じて前記実装方法定義情報毎に算出された前記セキュリティ対策要件を保証するセキュリティ保証レベルと、を備える実装情報を格納する格納手段、
第三者による前記セキュリティ対策要件と前記セキュリティ対策要件を実行するための要素を備えるセキュリティ対策実行要件との入力に応答して、前記実装情報を参照し、前記第三者により入力された前記セキュリティ対策要件に対応する前記実装方法定義情報を提示する提示手段、
前記実装方法定義情報の提示に対する前記第三者による選択に応答して、前記セキュリティ対策実行要件の前記要素の実行コストを、選択された前記実装方法定義情報の前記作業の情報毎に与えられたパラメータを用いて計算する計算手段、
前記計算手段により計算された前記要素の実行コストを前記セキュリティ保証レベルとともに出力する出力手段、
として機能させることを特徴とする開発支援プログラム。
【０１１０】
（付記２）  前記コンピュータを、さらに、前記セキュリティ対策要件と、複数の前記実装方法定義情報と、前記実装方法の前記作業の情報と、前記作業の情報毎に与えられるパラメータとの入力に応答して前記実装手段毎に、前記セキュリティ対策要件を保証するセキュリティ保証レベルをそれぞれ算出し、算出した前記セキュリティ保証レベルをそれぞれ前記実装方法定義情報に関連づけ、前記セキュリティ対策要件と前記実装方法定義情報と前記セキュリティレベルとを関連づけて前記実装情報を作成する実装情報作成手段として機能させることを特徴とする付記１記載の開発支援プログラム。
【０１１１】
（付記３）  前記実装情報作成手段は、前記実装方法定義情報に対する代替方法の入力に応答して前記実装方法定義情報に代替方法定義情報を関連づけ、前記代替方法定義情報毎の代替方法を実行する際に必要な作業の情報と、前記作業の情報に与えられるパラメータとの入力に応答して前記代替方法定義情報の前記セキュリティ保証レベルを算出し、算出した前記セキュリティ保証レベルをそれぞれ前記代替方法定義情報に関連づけ、前記セキュリティ対策要件と前記代替方法定義情報と前記セキュリティレベルとを関連づけた前記実装情報を作成し、
前記提示手段は、前記セキュリティ対策要件と前記セキュリティ対策実行要件との入力に応答して、前記実装情報を参照し、前記第三者により入力された前記セキュリティ対策要件に対応する前記実装方法定義情報および前記代替方法定義情報を提示することを特徴とする付記２記載の開発支援プログラム。
【０１１２】
（付記４）  前記計算手段は、選択された前記実装方法定義情報のみを用いて入力された前記セキュリティ対策要件を満たすか否かを判断し、前記セキュリティ対策要件を満たさない場合、選択された前記実装方法定義情報に関連づけられた前記代替手段についての前記セキュリティ対策実行要件の前記要素の実行コストをも計算することを特徴とする付記３記載の開発支援プログラム。
【０１１３】
（付記５）  前記実装情報は、前記セキュリティ対策要件と複数の前記実装方法定義情報とが論理和または論理積の関係により関連づけられており、前記提示手段は、セキュリティ対策実行要件の入力に応答して、前記第三者により入力された前記セキュリティ対策要件に関連づけられた前記実装方法定義情報を全て提示することを特徴とする付記１記載の開発支援プログラム。
【０１１４】
（付記６）  前記実装情報作成手段は、前記実装方法定義情報に対する制約パターンの入力に応答して、前記セキュリティ保証レベルの算出が必要か否かを判断し、必要がない前記セキュリティ保証レベルの算出を行わないことを特徴とする付記２記載の開発支援プログラム。
【０１１５】
（付記７）  前記実装情報作成手段は、前記作業の情報を作成する際、前記実装方法定義情報に対する複数の注目部分に分類し、分類された前記作業の情報毎に、前記セキュリティ保証レベルを作成することを特徴とする付記２記載の開発支援プログラム。
【０１１６】
（付記８）  前記実装情報が、セキュリティ知識の有無に応じて異なる前記パラメータを備えている場合、前記セキュリティ対策実行要件に前記セキュリティ知識の有無の情報が含まれていれば、前記提示手段は、前記セキュリティ知識の有無に応じた前記実装方法定義情報を提示することを特徴とする付記１記載の開発支援プログラム。
【０１１７】
（付記９）  前記セキュリティ対策実行要件に前記セキュリティ保証レベルの情報が含まれている場合、前記提示手段は、前記セキュリティ保証レベルを満たす前記実装方法定義情報を提示することを特徴とする付記１記載の開発支援プログラム。
【０１１８】
（付記１０）  前記作業の情報は、主として費用、工数の情報であることを特徴とする付記１記載の開発支援プログラム。
（付記１１）  前記提示手段は、前記実装方法定義情報を、関連づけられた前記セキュリティ保証レベルとともに提示することを特徴とする付記１記載の開発支援プログラム。
【０１１９】
（付記１２）  セキュリティ対策要件を充足する情報を提供する開発支援方法において、
格納手段が、セキュリティ対策要件と、前記セキュリティ対策要件を解決する複数の実装方法定義情報と、前記実装方法定義情報毎の実装方法を実行する際に必要な作業の情報と、前記作業の情報毎に与えられるパラメータに応じて前記実装方法定義情報毎に算出された前記セキュリティ対策要件を保証するセキュリティ保証レベルと、を備える実装情報を格納し、
提示手段が、第三者による前記セキュリティ対策要件と前記セキュリティ対策要件を実行するための要素を備えるセキュリティ対策実行要件との入力に応答して、前記実装情報を参照し、前記第三者により入力された前記セキュリティ対策要件に対応する前記実装方法定義情報を提示し、
計算手段が、前記実装方法定義情報の提示に対する前記第三者による選択に応答して、前記セキュリティ対策実行要件の前記要素の実行コストを、選択された前記実装方法定義情報の前記作業の情報毎に与えられたパラメータを用いて計算し、
出力手段が、前記計算手段により計算された前記要素の実行コストを前記セキュリティ保証レベルとともに出力する、
ことを特徴とする開発支援方法。
【０１２０】
（付記１３）  セキュリティ対策要件を充足する情報を提供する開発支援装置において、
セキュリティ対策要件と、前記セキュリティ対策要件を解決する複数の実装方法定義情報と、前記実装方法定義情報毎の実装方法を実行する際に必要な作業の情報と、前記作業の情報毎に与えられるパラメータに応じて前記実装方法定義情報毎に算出された前記セキュリティ対策要件を保証するセキュリティ保証レベルと、を備える実装情報を格納する格納手段と、
第三者による前記セキュリティ対策要件と前記セキュリティ対策要件を実行するための要素を備えるセキュリティ対策実行要件との入力に応答して、前記実装情報を参照し、前記第三者により入力された前記セキュリティ対策要件に対応する前記実装方法定義情報を提示する提示手段と、
前記実装方法定義情報の提示に対する前記第三者による選択に応答して、前記セキュリティ対策実行要件の前記要素の実行コストを、選択された前記実装方法定義情報の前記作業の情報毎に与えられたパラメータを用いて計算する計算手段と、
前記計算手段により計算された前記要素の実行コストを前記セキュリティ保証レベルとともに出力する出力手段と、
を有することを特徴とする開発支援装置。
【図面の簡単な説明】
【０１２１】
【図１】本発明の概要を示す図である。
【図２】開発支援装置のハードウェア構成例を示す図である。
【図３】開発支援装置の機能を示すブロック図である。
【図４】実装手段蓄積情報テーブル作成処理を示すフローチャートである。
【図５】実装手段の保証レベル計算処理を示すフローチャートである。
【図６】システム要件の入力を示す図である。
【図７】セキュリティ要件の入力を示す図である。
【図８】実装手段の入力を示す図である。
【図９】代替手段の入力を示す図である。
【図１０】相互関係の入力を示す図である。
【図１１】制約パターン画面を説明する図である。
【図１２】実装手段および代替手段の分解を示す図である。
【図１３】制約パターン効率化テーブルを示す図である。
【図１４】制約パターン効率化テーブルを用いて計算の要否を設定した結果を示す図である。
【図１５】詳細情報項目を設定した実装手段蓄積情報テーブルを示す図である。
【図１６】検出容易性選択画面を説明する図である。
【図１７】未設定項目入力画面を示す図である。
【図１８】未設定項目が入力された実装手段蓄積情報テーブルを示す図である。
【図１９】未設定項目入力画面を示す図である。
【図２０】未設定項目が入力された実装手段蓄積情報テーブルを示す図である。
【図２１】保証レベルの算出を示す図である。
【図２２】見積もり情報作成処理を示すフローチャートである。
【図２３】システム、セキュリティ要件入力画面を示す図である。
【図２４】プロジェクト情報入力画面を示す図である。
【図２５】取得された実装手段を示す図である。
【図２６】実装手段表示画面を示す図である。
【図２７】見積もり結果画面を示す図である。
【図２８】実装手段指示書およびテスト指示書の一例を示す図である。
【符号の説明】
【０１２２】
１  コンピュータ
２  格納手段
３  実装情報
４  提示手段
５  計算手段
６  出力手段
７  実装情報作成手段
４１  セキュリティ専門家
５１  プロジェクト管理者
１００  開発支援装置
１１０  実装手段蓄積情報作成部
１１１  制約パターン画面
１１２  検出容易性選択画面
１１３  未設定項目入力画面
１１４  未設定項目入力画面
１２０  実装手段蓄積情報格納部
１２１  実装手段蓄積情報テーブル
１２２  制約パターン効率化テーブル
１３０  見積もり情報作成部
１３１  システム、セキュリティ要件入力画面
１３２  プロジェクト情報入力画面
１３３  実装手段表示画面
１３４  結果画面
Ａ  セキュリティ対策要件
Ｂ１  実装方法定義情報
Ｃ１  作業の情報
Ｄ１  セキュリティ保証レベル
【図１】
2008107982.tif 000003
【図２】
2008107982.tif 000004
【図３】
2008107982.tif 000005
【図４】
2008107982.tif 000006
【図５】
2008107982.tif 000007
【図６】
2008107982.tif 000008
【図７】
2008107982.tif 000009
【図８】
2008107982.tif 000010
【図９】
2008107982.tif 000011
【図１０】
2008107982.tif 000012
【図１１】
2008107982.tif 000013
【図１２】
2008107982.tif 000014
【図１３】
2008107982.tif 000015
【図１４】
2008107982.tif 000016
【図１５】
2008107982.tif 000017
【図１６】
2008107982.tif 000018
【図１７】
2008107982.tif 000019
【図１８】
2008107982.tif 000020
【図１９】
2008107982.tif 000021
【図２０】
2008107982.tif 000022
【図２１】
2008107982.tif 000023
【図２２】
2008107982.tif 000024
【図２３】
2008107982.tif 000025
【図２４】
2008107982.tif 000026
【図２５】
2008107982.tif 000027
【図２６】
2008107982.tif 000028
【図２７】
2008107982.tif 000029
【図２８】
2008107982.tif 000030