(57)【特許請求の範囲】
【請求項１】
１つ又は複数の解析データに基づきシミュレーションを実行するシミュレーション装置であって、
暗号化されたヘッダ部及びデータ部を有する第１の解析データを格納する記憶部と、
前記データ部の取り出しを制限しながら前記第１の解析データに基づくシミュレーションを実行する制御部とを備え、
前記第１の解析データのヘッダ部は、前記シミュレーションの実行場所を示す情報と、シミュレーション結果の閲覧場所を示す情報とを含み、
前記制御部は、
前記ヘッダ部を復号し、自装置が前記ヘッダ部に含まれる実行場所を示す情報に該当する場合にのみ前記データ部を復号して、前記シミュレーションを実行し、
復号したデータ部に対するシミュレーション結果の閲覧が、前記閲覧場所に制限されるように、前記シミュレーション結果を示す第１の結果ファイルに前記閲覧場所を示す情報を埋め込んで前記第１の結果ファイルを暗号化する
シミュレーション装置。
【請求項２】
前記記憶部は、シミュレーション対象の少なくとも一部を構成するデータ部及びヘッダ部を有する第２の解析データを格納し、
前記制御部は、
前記第１及び第２の解析データに基づきシミュレーションを実行した後、
シミュレーション結果全体のうちで前記第１の解析データのデータ部に依拠する結果を含めずに前記第２の解析データのデータ部に対する結果を含めるように、第２の結果ファイルを生成する
請求項１に記載のシミュレーション装置。
【請求項３】
前記記憶部は、シミュレーション対象の少なくとも一部を構成するデータ部及びヘッダ部を有する第２の解析データを格納し、
前記制御部は、
前記第１及び第２の解析データに基づきシミュレーションを実行した後、
シミュレーション結果全体のうちで前記第２の解析データのデータ部に依拠する結果を含めずに前記第１の解析データのデータ部に対する結果を含めるように、第１の結果ファイルを生成する
請求項１又は２に記載のシミュレーション装置。
【請求項４】
前記第２の解析データのヘッダ部及びデータ部が暗号化されており、
前記第２の解析データのヘッダ部が、前記第１の解析データのヘッダ部に含まれる閲覧場所とは異なる閲覧場所を示す情報を含む場合、
前記制御部は、
前記第１及び第２の解析データに基づき実行したシミュレーション結果全体のうちで前記第２の解析データのデータ部に依拠する結果の閲覧が、前記第２の解析データの閲覧場所に制限されるように、第２の結果ファイルに当該閲覧場所を示す情報を埋め込んで前記第２の結果ファイルを暗号化する
請求項２又は３に記載のシミュレーション装置。
【請求項５】
前記第１の解析データのヘッダ部は、前記第１の解析データのデータ部を復号するためのデータ部用のキーを示す情報、及び前記第１の結果ファイルを暗号化するための暗号化キーを示す情報をさらに含む
請求項１〜４のいずれか１項に記載のシミュレーション装置。
【請求項６】
前記第１の解析データのヘッダ部は、第１ヘッダ部分と第２ヘッダ部分とを含み、
前記実行場所を示す情報は、前記第１ヘッダ部分に埋め込まれ、
前記第１の解析データのデータ部用のキー及び前記第１の結果ファイルの暗号化キーは、それぞれ前記第１ヘッダ部分と前記第２ヘッダ部分とに分割して埋め込まれており、
前記制御部は、
前記第１ヘッダ部分を復号し、
前記第１ヘッダ部分の復号結果に基づいて、自装置が前記実行場所に該当する場合にのみ前記第２ヘッダ部分を復号する
請求項５に記載のシミュレーション装置。
【請求項７】
シミュレーション装置が１つ又は複数の解析データに基づきシミュレーションを実行する方法であって、
前記シミュレーション装置の記憶部には、暗号化されたヘッダ部及びデータ部を有する解析データが格納され、
前記解析データのヘッダ部は、前記シミュレーションの実行場所を示す情報と、前記データ部の閲覧場所を示す情報とを含み、
前記シミュレーション装置の制御部が、
前記解析データのヘッダ部を復号するステップと、
前記解析データのヘッダ部の復号結果に基づき、自装置が前記ヘッダ部に含まれる実行場所を示す情報に該当する場合にのみ前記データ部を復号するステップと、
復号したデータ部の取り出しを制限しながら前記解析データに基づくシミュレーションを実行するステップと、
復号したデータ部に対するシミュレーション結果の閲覧が前記閲覧場所に制限されるように、前記シミュレーション結果を示す結果ファイルに前記閲覧場所を示す情報を埋め込んで前記結果ファイルを暗号化するステップと
を含む方法。
【請求項８】
請求項７に記載の方法をシミュレーション装置に実行させるためのプログラム。
【請求項９】
シミュレーション装置によるシミュレーションの対象となる解析データを暗号化する暗号化装置であって、
前記シミュレーションの実行場所を示す情報、およびシミュレーション結果の閲覧場所を示す情報を取得する取得部と、
ヘッダ部及びデータ部を有する解析データを格納する記憶部と、
前記記憶部に格納された解析データを暗号化する制御部とを備え、
前記制御部は、
前記解析データのヘッダ部に、前記取得部によって取得された実行場所を示す情報と、前記取得部によって取得された閲覧場所を示す情報とを埋め込み、
前記ヘッダ部と前記データ部とをそれぞれ暗号化する
暗号化装置。
【請求項１０】
暗号化装置がシミュレーション装置によるシミュレーションの対象となる解析データを暗号化する方法であって、
前記方法は、前記暗号化装置が、前記シミュレーションの実行場所を示す情報、およびシミュレーション結果の閲覧場所を示す情報を取得するステップを含み、
前記暗号化装置の記憶部には、ヘッダ部及びデータ部を有する解析データが格納されており、
前記方法は、前記暗号化装置が、前記記憶部に格納された解析データを暗号化するステップを含み、
前記解析データを暗号化するステップは、
前記暗号化装置が、前記解析データのヘッダ部に、前記取得した実行場所を示す情報と、前記取得した閲覧場所を示す情報とを埋め込むステップと、
前記暗号化装置が、前記ヘッダ部と前記データ部とをそれぞれ暗号化するステップとを含む方法。
【請求項１１】
請求項１０に記載の方法を暗号化装置に実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、暗号化された情報に基づくシミュレーションを行うシミュレーション装置、方法、プログラム及び暗号化装置に関する。
【背景技術】
【０００２】
近年、コンピュータの発達により、数値シミュレーションが製品デザイン及び設計分野において広く採用されている。また、シミュレーションの対象も基本部品から最終製品に近い形に亘り、種々の企業において多様な解析が行われている。一般に、シミュレーションに使用するデータには、企業独自のノウハウ（例えば、形状、物理定数など）が含まれている。ノウハウ等の機密情報を含んだ情報のセキュリティに関する技術が提案されている（例えば特許文献１）。
【０００３】
特許文献１は、ＥＤＡ（電子設計自動化）に関する情報を安全に交換するためのシステム及び方法を開示している。特許文献１のシステムでは、まず、例えばファウンドリ等の製造業者が暗号化ツールを使用して、ＥＤＡに関する情報（例えばＩＣ製造に関する規則ファイル）を保護する。次いで、設計技術者等が操作するＥＤＡツールは、保護された情報にアクセスしてロック解除し、保護された情報を明らかにすることなく使用する。例えば、ＥＤＡツールは、１つ又は複数のＩＣレイアウトが保護された規則に違反する可能性の検証を行っている。特許文献１では、このような保護された情報に対するＥＤＡツールのアクセスに対して、例えば時間枠、使用回数又はアクセス回数による条件を課すことが開示されている。特許文献１の方法によると、製造業者の規則ファイル等の機密情報が設計技術者に明らかにされることなく、設計技術者が、ＥＤＡツールを用いて、所望のＩＣレイアウトがその製造業者で製造可能かどうかの判定等を行える。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特表２００７−５０７０４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明の目的は、シミュレーション対象のデータを渡してからシミュレーション結果を受け取るまでに及ぶ情報のセキュリティを確保することができるシミュレーション装置及び暗号化装置を提供することである。
【課題を解決するための手段】
【０００６】
本発明の一態様に係るシミュレーション装置は、１つ又は複数の解析データに基づきシミュレーションを実行するシミュレーション装置である。シミュレーション装置は、記憶部と、制御部とを備える。記憶部は、暗号化されたヘッダ部及びデータ部を有する解析データを格納する。制御部は、データ部の取り出しを制限しながら解析データに基づくシミュレーションを実行する。解析データのヘッダ部は、シミュレーションの実行場所を示す情報と、シミュレーション結果の閲覧場所を示す情報とを含む。制御部は、ヘッダ部を復号し、自装置がヘッダ部に含まれる実行場所を示す情報に該当する場合にのみデータ部を用いて、シミュレーションを実行する。制御部は、データ部に対するシミュレーション結果の閲覧が、閲覧場所に制限されるように、シミュレーション結果を示す第１の結果ファイルを暗号化する。
【０００７】
また、本発明の一態様に係る暗号化装置は、シミュレーション装置によるシミュレーションの対象となる解析データ及びシミュレーション結果を暗号化する暗号化装置である。
【発明の効果】
【０００８】
本発明のシミュレーション装置及び暗号化装置によると、シミュレーション対象のデータを渡してからシミュレーション結果を受け取るまでに及ぶ情報のセキュリティを確保することができる。
【図面の簡単な説明】
【０００９】
【図１】実施形態１に係るシミュレーション装置及び暗号化装置が構成するシステムを説明するための図
【図２】シミュレーション装置の一例の構成を示すブロック図
【図３】シミュレーション装置におけるキー情報を説明するための図
【図４】暗号化装置の一例の構成を示すブロック図
【図５】暗号化前後の解析データのデータ構造を説明するための図
【図６】解析データのデータ部を例示する図
【図７】解析データにおけるメッシュ情報を説明するための図
【図８】実施形態１に係るシミュレーション装置の動作を説明するための図
【図９】実施形態１に係る解析データ暗号化処理を示すフローチャート
【図１０】実施形態１に係る協調設計シミュレーション処理を示すフローチャート
【図１１】図１０に続く協調設計シミュレーション処理を示すフローチャート
【図１２】実施形態１に係る解析データ復号処理を示すフローチャート
【図１３】実施形態１に係る結果ファイル復号処理を示すフローチャート
【図１４】実施形態２に係る解析データ暗号化処理を示すフローチャート
【図１５】実施形態２に係る解析データ復号処理を示すフローチャート
【図１６】実施形態３に係る解析データのデータ構造を説明するための図
【図１７】実施形態３に係る解析データ暗号化処理を示すフローチャート
【図１８】実施形態３に係る解析データ復号処理を示すフローチャート
【図１９】実施形態４に係るシミュレーション装置及び暗号化装置が構成するシステムを説明するための図
【図２０】実施形態５に係るシミュレーション装置及び暗号化装置が構成するシステムを説明するための図
【図２１】実施形態５に係る解析シミュレーション処理を示すフローチャート
【発明を実施するための形態】
【００１０】
以下、添付の図面を参照して本発明に係るシミュレーション装置、方法、プログラム及び暗号化装置の実施の形態を説明する。なお、以下の各実施形態において、同様の構成要素については同一の符号を付している。
【００１１】
０．本発明に到った背景
製品デザイン及び設計分野において幅広く用いられている数値シミュレーションは、現状、基本的には一社内で完成品（部品メーカであれば部品としての性能まで）を作ることが前提に使用されている。
【００１２】
しかし、例えば造船業界は、一部の重工系を除いて船体メーカとプロペラメーカが専業化し、系列を形成せず独自に発展した業界である。船による輸送は低コストの大量輸送手段として特に着目されており、スエズ運河及びパナマ運河の改修に伴い、ますます船の大型化が進むと予想されている。長距離の輸送においては、少しの燃費改善でも大きな燃料費カットにつながるため、船体メーカおよびプロペラメーカは、従来、独自にＣＡＥ（構造解析）を駆使して自社製品の最適化を進めてきた。
【００１３】
近年、全世界的に、船による環境破壊が懸念されている。例えばＣＯ２や、プロペラなどから発生する騒音による海洋生物への影響が懸念されている。ＣＯ２に関しては、２０１３年から２０２５年までの間に、ＥＥＤＩにおいて３０％の燃費改善を行うことが義務付けられた。また、騒音についても、ＩＭＯ（国際海事機関）による取り組みが進んでいる。これらの国際情勢に対処するためには、造船業界における従来の自社製品のみの最適化では限界があると考えられる。特に、大型船に関しては、実験を行うことも直ぐにはできない状況である。
【００１４】
一方、燃費向上のために、従来のプロペラ又は船体それぞれの最適化だけではなく、ＥＳＤ（Ｅｎｅｒｇｙ  Ｓａｖｉｎｇ  Ｄｅｖｉｃｅ）と呼ばれる付加物を設ける試みが進んでいる。これは、船体とプロペラの改良は各メーカにおいて長年、蓄積されており、個々の能力の向上は容易に得られないことから、両者の接合部近傍などで整流するための付加物を付けることにより効率を上げようとする試みである。この試みには、船体とプロペラとを合わせた全体解析が必要であり、精度良く解析を行うためには、船体とプロペラを同時に扱うＣＡＥ及びＣＦＤ（熱流体解析）の実施が必須である。このことからＣＡＥやＣＦＤのシミュレーションにおける、全体解析を容易化するための協調設計機能が求められている。
【００１５】
現状では、企業間で機密保持契約を結んだとしても、一方の企業が自社製品の形状などのノウハウを含むデジタルデータを他方の企業に渡すことになる。このため、相手方が競合になり得るリスクがあり、このリスクが、全体解析の実施に踏み切るまでの障壁となっている。そこで、本実施形態では、一方の企業が形状データ等を暗号化して他方の企業に渡し、他方の企業からシミュレーション結果を受け取るまでに及んで、暗号化した内容が取り出されないようにすることができるシミュレーション装置及び暗号化装置を提供する。
【００１６】
（実施形態１）
本実施形態では、本発明に係るシミュレーション装置及び暗号化装置の一例として、造船業界における使用例を説明する。
【００１７】
１．構成
１−１．概要
本実施形態に係るシミュレーション装置が構成するシステムの概要について、図１を用いて説明する。図１は、本実施形態に係るシミュレーション装置（及び暗号化装置）が構成するシステムを説明するための図である。
【００１８】
図１において、Ａ社はプロペラメーカであり、シミュレーション装置１Ａを所有している。Ｂ社は船体メーカであり、シミュレーション装置１を所有している。Ａ社のシミュレーション装置１Ａは、例えばプロペラ部分に関する解析データ２に基づく解析シミュレーションを行い、Ｂ社のシミュレーション装置１は、例えば船体部分に関する解析データ２Ｂに基づく解析シミュレーションを行う。シミュレーション装置１，１Ａで行われる解析シミュレーションは、例えば熱流体解析であり、他にも構造解析、電磁場解析（ＣＥＭ）など種々の数値解析であってもよい。
【００１９】
本実施形態では、Ｂ社がシミュレーション装置１を用いて、プロペラ部分と船体部分に協調設計機能を適応し、船全体の解析シミュレーションを行うことを想定している。また、Ａ社は、プロペラ部分の形状を示すデータがＢ社に漏出することを防ぐため、シミュレーション装置１Ａ（暗号化装置の一例）を用いて解析データ２を暗号化し、暗号化した解析データ２ＡをＢ社に渡すこととする。
【００２０】
また、本実施形態では、シミュレーション装置１，１Ａ間で暗号化／復号が可能な暗号化方式を用いる（第１承認）。暗号化の際には、解析データ２Ａを用いた解析シミュレーションを実行可能な実行場所を指定する情報が、解析データ２Ａに埋め込まれる（第２承認）。さらに、解析データ２Ａには、解析データ２Ａを用いた解析シミュレーションの実行結果の出力について規定する情報が埋め込まれる（第３承認）。
【００２１】
本実施形態では、Ａ社がＢ社のシミュレーション装置１に第２承認を付与し、Ａ社のシミュレーション装置１Ａに第３承認を付与した上で、暗号化した解析データ２ＡをＢ社に提供することとする。この場合、Ｂ社は、シミュレーション装置１において解析データ２Ａを用いた解析シミュレーションを実行可能になる。シミュレーション装置１は、解析データ２Ａで暗号化されていた内容が別途、取り出されることを制限しながら、双方の解析データ２Ａ，２Ｂに基づく解析シミュレーションを実行する。シミュレーション結果は、Ａ社とＢ社の解析データ２Ａ，２Ｂ毎に、別々の結果ファイル３Ａ，３Ｂで出力される。
【００２２】
Ａ社用の結果ファイル３Ａには、Ａ社の解析データ２Ａ（プロペラ部分）に対するシミュレーション結果が含まれる。また、解析データ２Ａの第３承認に基づき結果ファイル３Ａに閲覧制限が課され、Ａ社のシミュレーション装置１Ａでのみ閲覧可能になる。一方、Ｂ社用の結果ファイル３Ｂには、Ｂ社の解析データ２Ｂ（船体部分）に対するシミュレーション結果のみが含まれ、Ａ社のプロペラ部分のシミュレーション結果が含まれない。これにより、解析シミュレーションの入力から出力に及んで、Ａ社の形状等のデータがＢ社に取り出されることがないように、セキュリティを確保できる。さらに、Ａ社及びＢ社の双方が、船全体の内の自社の分のシミュレーション結果を得られ、両社が協調した設計を行い易くすることができる。以下、本実施形態に係る各シミュレーション装置１，１Ａの構成について説明する。
【００２３】
１−２−１．シミュレーション装置の構成
本実施形態に係るシミュレーション装置１の構成について、図２及び図３を参照して説明する。図２は、本実施形態に係るシミュレーション装置１の一例の構成を示すブロック図である。図３は、シミュレーション装置１におけるキー情報を説明するための図である。
【００２４】
シミュレーション装置１は、例えばＰＣ（パーソナルコンピュータ）などの情報処理装置で構成される。シミュレーション装置１は、図２に示すように、制御部１０と、記憶部１１と、操作部１２と、表示部１３と、機器インタフェース１４と、ネットワークインタフェース１５とを備える。
【００２５】
制御部１０は、例えばソフトウェアと協働して所定の機能を実現するＣＰＵやＧＰＧＰＵ、ＭＰＵで構成され、シミュレーション装置１の全体動作を制御する。制御部１０は、記憶部１１に格納されたデータやプログラムを読み出して種々の演算処理を行い、各種の機能を実現する。例えば、制御部１０は、本実施形態に係る解析シミュレーションが実現される解析プログラムを実行する。解析プログラムは、パッケージソフトウェアであってもよい。また、解析プログラムの管理形態及び動作仕様は特に限定されず、例えば、解析プログラムは、ライセンスサーバ（例えばＢ社が所有）に管理されるアプリケーションソフトウェアであってもよい。
【００２６】
なお、制御部１０は、所定の機能を実現するように設計された専用の電子回路や再構成可能な電子回路などのハードウェア回路であってもよい。制御部１０は、ＣＰＵ，ＭＰＵ，マイコン、ＤＳＰ、ＦＰＧＡ、ＡＳＩＣ等の種々の半導体集積回路で構成されてもよい。
【００２７】
記憶部１１は、シミュレーション装置１の機能を実現するために必要なプログラム及びデータを記憶する記憶媒体である。記憶部１１は、データ格納部１１ａと、一時記憶部１１ｂとを備える。
【００２８】
データ格納部１１ａは、例えばハードディスク（ＨＤＤ）や半導体記憶装置（ＳＳＤ）で構成され、種々のデータを格納する。データ格納部１１ａには、Ｂ社の解析データ２Ｂや、キー情報Ｄ１などが格納される。キー情報Ｄ１は、例えばＲＳＡ方式における公開キーまたは秘密キーを示す情報である。キー情報Ｄ１は、図３に示すように、公開キーＰｕ１，Ｐｕ２，…と秘密キーＰｓ１，Ｐｓ２，…とを関連づけて管理してもよいし、解析プログラムに組み込まれていてもよい。
【００２９】
一時記憶部１１ｂは、例えばＤＲＡＭやＳＲＡＭ等の半導体デバイスで構成され、データを一時的に記憶（保持）する。また、一時記憶部１１ｂは、制御部１０の作業エリアとして機能してもよい。一時記憶部１１ｂには、Ａ社の解析データ２Ａの復号結果などが保持される。
【００３０】
操作部１２は、ユーザが操作を行うユーザインタフェースである。操作部１２は、例えば、キーボード、タッチパッド、タッチパネル、ボタン、スイッチ、及びこれらの組み合わせで構成される。操作部１２は、ユーザによって入力される諸情報を取得する取得部の一例である。
【００３１】
表示部１３は、例えば、液晶ディスプレイや有機ＥＬディスプレイで構成される。表示部１３は、例えば操作部１２から入力された情報など、種々の情報を表示する。
【００３２】
機器インタフェース１４は、シミュレーション装置１に他の機器を接続するための回路（モジュール）である。機器インタフェース１４は、所定の通信規格にしたがい通信を行う。所定の規格には、ＵＳＢ、ＨＤＭＩ（登録商標）、ＩＥＥＥ１３９５、ＷｉＦｉ、Ｂｌｕｅｔｏｏｔｈ（登録商標）等が含まれる。
【００３３】
ネットワークインタフェース１５は、無線または有線の通信回線を介してシミュレーション装置１をネットワークに接続するための回路（モジュール）である。ネットワークインタフェース１５は所定の通信規格に準拠した通信を行う。所定の通信規格には、ＩＥＥＥ８０２．３，ＩＥＥＥ８０２．１１ａ／１１ｂ／１１ｇ／１１ａｃ等の通信規格が含まれる。
【００３４】
１−２−２．暗号化装置の構成
本実施形態に係る暗号化装置の一例であるシミュレーション装置１Ａの構成について、図４を用いて説明する。図４は、暗号化装置の一例であるシミュレーション装置１Ａの構成を示すブロック図である。
【００３５】
本実施形態では、図４に示すように、Ａ社のシミュレーション装置１Ａは、Ｂ社のシミュレーション装置１と同様に、制御部１０Ａと、記憶部１１Ａと、操作部１２と、表示部１３と、機器インタフェース１４と、ネットワークインタフェース１５とを備えて構成される。
【００３６】
制御部１０Ａは、例えば、本実施形態に係る暗号化方法において解析データ２を暗号化する暗号化機能を実現する。制御部１０Ａによる暗号化機能は、シミュレーション装置１で実行される解析プログラムと同様のプログラムに組み込まれてもよく、当該プログラムがライセンスサーバ（例えばＡ社が所有）によって管理されてもよい。
【００３７】
記憶部１１Ａは、例えば暗号化前後の解析データ２，２Ａや、キー情報Ｄ１を格納する。以下、暗号化前後の解析データ２，２Ａのデータ構造について説明する。
【００３８】
１−３．解析データのデータ構造
図５は、暗号化前後の解析データ２，２Ａのデータ構造を説明するための図である。図５では、暗号化前後のＡ社の解析データ２，２Ａを例示している。Ｂ社の解析データ２Ｂは、暗号化前のＡ社の解析データ２（図５（ａ））と同様のデータ構造を有する。
【００３９】
解析データ２，２Ａ，２Ｂは、シミュレーション装置１において実行される解析シミュレーションの対象となるデータである。解析データ２，２Ａ，２Ｂはファイルとして存在し、解析に必要なメッシュ情報などで構成される。
【００４０】
図５（ａ）は、暗号化前の解析データ２の一例を示す。本実施形態では、解析データ２において１つのデータ部及びそのヘッダ部等の所定のレコード単位で、ユーザ所望のマスクすべき情報のみを、所定のレコード単位で暗号化する。解析データ２は、図５（ａ）に示すように、レコード単位のデータ部２１０，２３０と、データ部共通のヘッダ部２００とを含む。
【００４１】
データ部２１０は、解析データ２において、解析シミュレーションの対象となる物体の立体形状に関する形状データを示す部分である。ヘッダ部２００は、データ部に対応するヘッダ情報である。形状データについて、図６（ａ），（ｂ）及び図７を用いて説明する。
【００４２】
図６（ａ）は、Ａ社の解析データ２のデータ部２１０であるプロペラ部分の形状データの一例を示す。Ａ社の解析データ２のデータ部２１０は、図６（ａ）に示すように、データ領域２１２上の形状データのプロペラ２１１を構成している。プロペラ２１１は、円柱状のデータ領域２１２内で、種々の回転数において軸回転可能となるように構成されている。また、データ領域２１２の内部では、プロペラ２１１の周囲に流体を設定可能である。データ部２１０によると、データ領域２１２におけるプロペラ２１１に関する熱流体シミュレーション等を行うことができる。
【００４３】
図６（ｂ）は、Ｂ社の解析データ２Ｂのデータ部２１０’である船体部分の形状データの一例を示す。Ｂ社の解析データ２Ｂのデータ部２１０’は、図６（ｂ）に示すように、領域２１４を除いたデータ領域２１５上の形状データの船体２１３を構成している。領域２１４は、Ａ社の解析データ２のデータ部２１０におけるデータ領域２１２に、境界が一致するように対応している。データ部２１０’を用いた熱流体シミュレーションでは、流体が領域２１４中を流れないように設定されてもよいし、流れるように設定されてもよい。図６（ｂ）においては、Ｂ社の解析データ２Ｂのデータ部２１０’のうちで、領域２１４の周囲の一部分のみを図示している。
【００４４】
図７は、解析データにおけるメッシュ情報を説明するための図である。データ部２１０，２１０’における形状データのプロペラ２１１及び船体２１３は、図７に示すように、メッシュ２０によって立体形状及び解析領域が表現されたメッシュ情報で構成される。メッシュ情報による形状データは、例えば制御部１０，１０ＡがＣＡＤデータなどをメッシュ化することにより得られる。
【００４５】
図５（ａ）に戻り、データ部２３０は、解析シミュレーションを実行する際に設定される解析条件を示す部分である。データ部２３０に使用されるヘッダ部は、共通に使用される。解析条件は、例えば流体の粘性係数などの各種物性値や、プロペラ２１１の回転数の設定値である。また、解析条件は、各種物理定数、化学定数、境界条件、初期条件を含んでもよい。
【００４６】
図５（ｂ）は、暗号化後の解析データ２Ａの一例を示す。図５（ｂ）に示す一例では、形状データを示すデータ部２１０，２３０及びヘッダ部２００が暗号化されている。なお、解析データ２において暗号化される情報は、形状データ全体でなくてもよい。例えば、暗号化の対象は、形状データの一部であってもよいし、解析条件やその一部であってもよい。この場合、暗号化の対象となるデータ部の範囲に応じて、ヘッダ部の一部分が暗号化されてもよい。
【００４７】
図５（ｂ）に示すように、本実施形態では、ＲＳＡ方式及びＡＥＳ方式を用いたハイブリッド方式によってヘッダ部２００及びデータ部２１０の暗号化を行う。ヘッダ部２００に対しては、ＲＳＡ方式を適用し、運用性と安全性を確保する。また、データ部２１０に対しては、速度面と安全性のバランスの観点から、ＡＥＳ方式を適用する。本暗号化方式が、キー情報Ｄ１を保有する特定のアプリケーションに対して解析データ２Ａの読み込みを承認する第１承認事項となる。
【００４８】
暗号化後の解析データ２Ａには、図５（ｂ）に示すように、ヘッダ部２００に、データ部用のキー２０１と、第２承認事項２０２と、第３承認事項２０３とが埋め込まれている。
【００４９】
データ部用のキー２０１は、ＡＥＳ方式によってデータ部２１０を暗号化及び復号するために用いられるキーである。なお、ヘッダ部２００には、データ部用のキー２０１に代えて、データ部用のキー２０１キーを生成可能な情報が埋め込まれてもよい。
【００５０】
第２承認事項２０２は、解析プログラムに対する解析データ２Ａの入力を許可する条件を規定する。第２承認事項２０２は、解析データ２Ａの入力が許可され解析プログラムを実行可能な実行場所の固有情報を含む。実行場所は、解析プログラムを実行する装置自体であってもよいし、通信ネットワーク上の論理的に特定可能なエリア、空間的なエリアであってもよい。また、実行場所として、企業や個人を示す情報が含まれてもよい。例えば、第２承認事項２０２は、マシンのＭＡＣアドレス、サイトのライセンスサーバ情報（例えばライセンスサーバのホスト名）、ライセンスファイルに含まれる特定の文字列（例えばライセンシーの社名）、及びこれらの組み合わせなどを含む。
【００５１】
第３承認事項２０３は、解析データ２Ａを用いた解析プログラムの出力結果のデータファイル（結果ファイル）に関する取り扱いを規定する。第３承認事項２０３は、解析プログラムの実行による結果ファイルの閲覧を許可する閲覧場所の固有情報、及び結果ファイルに用いる暗号化キーを含む。閲覧場所は、出力の閲覧が行われる装置自体であってもよいし、通信ネットワーク上の論理的に特定可能なエリア、空間的なエリアであってもよい。また、閲覧場所として、企業や個人を示す情報が含まれてもよい。
【００５２】
第３承認事項２０３において、閲覧場所の固有情報は、例えばマシンのＭＡＣアドレス、サイトのライセンスサーバ情報、ライセンスファイル中の特定の文字列、及びこれらの組み合わせなどを含む。暗号化キーは、結果ファイルを暗号化するためのキーであり、例えばＲＳＡ方式における秘密キーであってもよいし、公開キーであってもよい。また、暗号化キー自体に代えて、暗号化キーを生成可能な情報が埋め込まれてもよい。本実施形態では、暗号化キーとして、ユーザ（Ａ社）が生成した公開キーを用いる。
【００５３】
２．動作
２−１．動作の概要
本実施形態に係るシミュレーション装置１，１Ａの動作の概要について、図８を参照して説明する。図８は、Ｂ社のシミュレーション装置１における協調設計機能を用いた解析シミュレーションを説明する図である。
【００５４】
図８（ａ）は、Ｂ社のシミュレーション装置１における協調設計機能を用いた解析シミュレーション中の状態を示している。本実施形態では、Ｂ社のシミュレーション装置１が、Ａ社のプロペラ部分の解析データ２Ａ及びＢ社の船体部分の解析データ２Ｂに基づく全体の解析シミュレーションを行う（協調設計シミュレーション処理）。この際、Ａ社のプロペラ部分の解析データ２Ａは、Ａ社のシミュレーション装置１Ａにおいて暗号化されている（解析データ暗号化処理）。協調設計シミュレーション処理及び解析データ暗号化処理については後述する。
【００５５】
図８（ａ）に示すように、Ｂ社のシミュレーション装置１が実行する解析プログラムの中では、暗号化されたプロペラ部分のデータ部２１０（図６（ａ）参照）が復号された状態で解析が行われる。ここで、シミュレーション装置１は、データ部２１０の取り出しを制限しながら、解析シミュレーションを実行する。
【００５６】
図８（ｂ）は、Ｂ社用の結果ファイル３Ｂの表示例を示す。図８（ｂ）に示すように、シミュレーション装置１は、Ｂ社用の結果ファイル３Ｂに、シミュレーション結果全体（図６（ａ））のうちで領域３０を含めずに、船体部分のデータ部２１０’に対するシミュレーション結果を含める。領域３０は、船体部分のデータ部２１０’（図６（ｂ）参照）において除かれた領域２１４に対応し、プロペラ部分のデータ部２１０のデータ領域２１２に対応している。結果ファイル３Ｂにより、Ｂ社は、暗号化されたプロペラ部分のデータ部２１０に依拠するシミュレーション結果の領域３０以外の結果を見ることができる。
【００５７】
図８（ｃ）は、Ａ社用の結果ファイル３Ａの表示例を示す。図８（ｃ）に示すように、シミュレーション装置１は、シミュレーション結果の領域３０を、Ｂ社用の結果ファイル３Ｂには含めずにＡ社用の結果ファイル３Ａに含める。また、シミュレーション装置１は、プロペラ部分のデータ部２１０に対するシミュレーション結果の閲覧が、Ａ社のシミュレーション装置１Ａに制限されるように、Ａ社用の結果ファイル３Ａを暗号化する。これにより、Ａ社は暗号化された結果ファイル３Ａを復号することで（結果ファイル復号処理）、自社のデータ部２１０に依拠するシミュレーション結果を確認することができる。以下、本実施形態に係る解析データ暗号化処理、協調設計シミュレーション処理及び結果ファイル復号処理について、それぞれ説明する。
【００５８】
２−２．解析データ暗号化処理
本実施形態に係る解析データ暗号化処理について、図面を参照して説明する。本実施形態では、図１に示すように、Ａ社のシミュレーション装置１Ａが、暗号化前の解析データ２（図５（ａ））に対して解析データ暗号化処理を行い、暗号化後の解析データ２Ａ（図５（ｂ））を出力する。また、本実施形態では、解析データ暗号化処理においてヘッダ部２００を暗号化する際、公開キーを用いる。以下、図９を用いて、本実施形態に係る解析データ暗号化処理を説明する。
【００５９】
図９は、本実施形態に係る解析データ暗号化処理を示すフローチャートである。本実施形態において、図９に示すフローチャートは、Ａ社のシミュレーション装置１Ａの制御部１０Ａによって実行される。
【００６０】
まず、制御部１０Ａは、暗号化前の解析データ２（図５（ａ））を取得する（Ｓ１）。解析データ２は、例えばユーザの操作により、予めＡ社のシミュレーション装置１Ａの記憶部１１Ａに記録されている。
【００６１】
次に、制御部１０Ａは、ユーザ等によって指定された第２承認事項及び第３承認事項を取得する（Ｓ２）。ユーザは、例えば、Ａ社のシミュレーション装置１Ａの操作部１２を操作して、所望の実行場所及び閲覧場所を示すＭＡＣアドレス等を入力することにより、第２承認事項及び第３承認事項を指定する。本実施形態では、第２承認事項においてＢ社のシミュレーション装置１が指定され、第３承認事項においてＡ社のシミュレーション装置１Ａが指定されることとする。
【００６２】
次に、制御部１０Ａは、例えば乱数を発生させることによりＡＥＳ方式のキーを生成し、図５（ｂ）に示すデータ部用のキー２０１として、生成したキーをヘッダ部２００に埋め込む（Ｓ３）。データ部用のキー２０１は、ヘッダ部２００に対応するデータ部２１０を暗号化及び復号するために用いられる。
【００６３】
次に、制御部１０Ａは、指定された第２承認事項を、図５（ｂ）に示すように、解析データ２のヘッダ部２００における第２承認事項２０２として埋め込む（Ｓ４）。
【００６４】
次に、制御部１０Ａは、指定された第３承認事項を、図５（ｂ）に示すように、解析データ２のヘッダ部２００における第３承認事項２０３として埋め込む（Ｓ５）。
【００６５】
次に、制御部１０Ａは、上記の各情報が埋め込まれたヘッダ部２００を、公開キーを用いて暗号化する（Ｓ６）。公開キーは、例えばアプリケーションが内蔵するキー情報Ｄ１（図３参照）として記憶部１１Ａに記憶されている
【００６６】
次に、制御部１０Ａは、ヘッダ部２００に埋め込んだデータ部用のキー２０１を用いて、データ部２１０を暗号化し（Ｓ７）、本処理を終了する。
【００６７】
以上の処理により、解析シミュレーションの実行場所を制限するための第２承認事項２０２と、シミュレーション結果の閲覧場所を制限するための第３承認事項２０３とがヘッダ部２００に埋め込まれた上で、暗号化された解析データ２Ａが生成される（Ｓ４，Ｓ５）。このため、解析データ２Ａの解析シミュレーションへの入出力に亘って、暗号化した情報のセキュリティを確保できる。
【００６８】
また、本実施形態では、公開キーによってヘッダ部２００が暗号化される（Ｓ６）。このため、Ｂ社のシミュレーション装置１では、アプリケーションが保有する秘密キー（図３参照）によってヘッダ部２００を復号することができる。
【００６９】
以上の説明では、暗号化前の解析データ２から暗号化された解析データ２を生成するコンバート処理として解析データ暗号化処理を説明した。しかし、本発明に係る解析データの暗号化方法はこれに限らず、例えば、解析データを作成するアプリケーションにおいて、暗号化までの処理を行った状態の解析データを直接、出力してもよい。
【００７０】
２−３．協調設計シミュレーション処理
本実施形態に係る協調設計シミュレーション処理について、図面を参照して説明する。協調設計シミュレーション処理は、暗号化された解析データを含む複数の解析データに基づき、各解析データの協調設計に関する解析シミュレーションを実行する処理である。本実施形態では、図１に示すように、Ｂ社のシミュレーション装置１が、Ａ社から提供される暗号化済みの解析データ２Ａと、自社の暗号化されていない解析データ２Ｂとに基づき、船全体に関する協調設計シミュレーション処理を実行する（図８参照）。
【００７１】
なお、Ａ社で暗号化された解析データ２Ａは、例えば可搬性のある記録媒体（たとえばＣＤ，ＤＶＤ，ＵＳＢメモリ等）に保存された状態で、Ｂ社に提供され、記録媒体からＢ社のシミュレーション装置１に取り込まれる。また、解析データ２Ａは、例えばセキュリティ性のある通信方法においてＡ社のシミュレーション装置１ＡからＢ社のシミュレーション装置１に取り込まれてもよい。
【００７２】
以下、図１０〜１２を用いて、本実施形態に係る協調設計シミュレーション処理を説明する。図１０及び図１１は、本実施形態に係る協調設計シミュレーション処理を示すフローチャートである。
【００７３】
本実施形態において、図１０のフローチャートは、Ｂ社のシミュレーション装置１の制御部１０によって実行される。
【００７４】
本フローチャートは、Ａ社の解析データ２Ａが、Ｂ社のシミュレーション装置１の記憶部１１に格納された状態において開始される。また、Ｂ社の解析データ２Ｂは、予め記憶部１１に格納されていることとする。
【００７５】
まず、制御部１０は、記憶部１１に格納されたＢ社の解析データ２Ｂを取得する（Ｓ１１）。
【００７６】
次に、制御部１０は、取得した解析データ２Ｂが暗号化されているか否かを判断する（Ｓ１２）。本実施形態では、Ｂ社の解析データ２Ｂが暗号化されていないため、制御部１０は、ステップＳ１２において「ＮＯ」に進む。なお、本処理は、解析データ２Ｂの全体を取得する前に行われてもよい。
【００７７】
次に、制御部１０は、解析データ２Ｂに対するステップＳ１１〜Ｓ１４の処理と同様の処理（Ｓ１１Ａ〜Ｓ１４Ａ）を、解析データ２Ａに対して行う。
【００７８】
制御部１０は、ステップＳ１１，Ｓ１２と同様に、記憶部１１からＡ社の解析データ２Ａを取得し（Ｓ１１Ａ）、解析データ２Ａが暗号化されているか否かを判断する（Ｓ１２Ａ）。本実施形態では、図５（ｂ）に示すように、Ａ社の解析データ２Ａのヘッダ部２００及びデータ部２１０が暗号化されている、このため、制御部１０は、ステップＳ１２Ａにおいて「ＹＥＳ」に進む。
【００７９】
制御部１０は、取得した解析データ２Ａが暗号化されていると判断すると（Ｓ１２ＡでＹＥＳ）、解析データ２Ａを復号するための解析データ復号処理を行う（Ｓ１３Ａ）。本実施形態における解析データ復号処理について、図１２を用いて説明する。
【００８０】
図１２は、本実施形態に係る解析データ復号処理（図１０のステップＳ１３，Ｓ１３Ａ）を示すフローチャートである。図１２のフローチャートにおいて、まず、制御部１０は、アプリケーションに内蔵されて記憶部１１に記憶されているキー情報Ｄ１が示す秘密キーにより、解析データ２Ａのヘッダ部２００を復号する（Ｓ３１）。復号結果のヘッダ部２００に埋め込まれた各種情報２０１〜２０３（図５（ｂ））は、一時記憶部１１ｂに保持される。
【００８１】
次に、制御部１０は、Ｂ社のシミュレーション装置１のＭＡＣアドレス等を参照し、シミュレーション装置１が、復号したヘッダ部２００中の第２承認事項２０２に該当するか否かを判断する（Ｓ３２）。
【００８２】
制御部１０は、Ｂ社のシミュレーション装置１が、第２承認事項２０２に該当すると判断すると（Ｓ３２でＹＥＳ）、ヘッダ部２００中のデータ部用のキー２０１を用いてデータ部２１０を復号し（Ｓ３３）、図１０のステップＳ１４Ａに進む。データ部２１０の復号結果は、一時記憶部１１ｂに保持される。
【００８３】
一方、制御部１０は、Ｂ社のシミュレーション装置１が、第２承認事項２０２が示す実行場所に該当しないと判断すると（Ｓ３２でＮＯ）、エラーと判定し（Ｓ３４）、図１０のステップＳ１４Ａに進む。
【００８４】
図１０に戻り、制御部１０は、解析データ復号処理（Ｓ１３Ａ）において解析データ２Ａが復号できたか否かを判断する（Ｓ１４Ａ）。ステップＳ１４Ａにおいて、例えば、制御部１０は、解析データ復号処理において何らかの理由により解析データ２Ａの復号ができなかった場合には「ＮＯ」に進み、本処理を終了する。
【００８５】
制御部１０は、図１２のステップＳ３４でエラーと判定した場合、解析データ復号処理において解析データ２Ａが復号できなかったと判断し（Ｓ１４ＡでＮＯ）、本フローチャートによる処理を終了する。
【００８６】
一方、制御部１０は、図１２のステップＳ３３でデータ部２１０を復号できた場合、解析データ復号処理において解析データ２Ａが復号できたと判断し（Ｓ１４ＡでＹＥＳ）、ステップＳ１５に進む。
【００８７】
次に、制御部１０は、Ｂ社の解析データ２Ｂ及び復号したＡ社の解析データ２Ａに基づいて、解析シミュレーションを実行する（Ｓ１５）。制御部１０は、解析シミュレーション中に、暗号化されていたデータ部２１０が別途、取り出されることがないように規制しながら、ステップＳ１５の処理を行う。
【００８８】
具体的に、制御部１０は、まず、各解析データ２Ａ，２Ｂのデータ部２１０，２１０’に基づき、プロペラ部分のデータ領域２１２（図６（ａ））が船体部分のデータ領域２１５中の領域２１４（図６（ｂ））に位置するように繋ぎ合わせ、船全体のデータを生成する。次に、制御部１０は、各解析データ２Ａ，２Ｂに含まれる解析条件又は別ファイルで指定される解析条件ファイルに基づき、プロペラ２１１の回転数や流体の物性値などを適宜設定し、生成した船全体のデータに対して熱流体シミュレーションを行う。熱流体シミュレーションにおいて、制御部１０は種々の数値計算処理を行い、例えば位置毎の流体の速度、圧力、温度などを計算する。シミュレーション結果全体のデータＤ２（図８（ａ）参照）は、一時記憶部１１ｂに一時的に記憶される。
【００８９】
本実施形態では、シミュレーション結果の出力は、各解析データ２Ａ，２Ｂに対応する結果をそれぞれ結果ファイル３Ａ，３Ｂに含めることによって行われる。ここで、シミュレーション結果の出力においては、一方の解析データ２Ａにおいて暗号化された情報（データ部２１０）を取り出し得るような内容が、他方の結果ファイル３Ｂに含まれないように規制される必要がある。そこで、制御部１０は、シミュレーション結果において、結果ファイル３Ａ，３Ｂに含めるデータ領域間の重なりの有無を判定する（Ｓ１６）。
【００９０】
本実施形態では、図６（ａ），（ｂ）に示すように、データ領域２１２，２１５の境界が対応しているため、シミュレーション結果においてデータ領域間に重なりは生じていない。このため、制御部１０は、ステップＳ１６において、データ領域間の重なりがないことを判定する。この判定結果に基づき、ステップＳ１７，Ｓ１７Ａでは、各解析データ２Ｂ，２Ａと同じデータ領域毎に、結果ファイル３Ｂ，３Ａが生成される。なお、ステップＳ１６の判定は、ステップＳ１５の処理中に行われてもよく、例えば船全体のデータを生成する際に、繋ぎ合わせたデータ領域２１２，２１５を確認することで行われてもよい。
【００９１】
制御部１０は、シミュレーション結果、及びＢ社の解析データ２Ｂに基づいて、Ｂ社の解析データ２Ｂのデータ領域２１５（図６（ｂ））におけるシミュレーション結果を含めるように、Ｂ社用の結果ファイル３Ｂを生成する（Ｓ１７）。これにより、Ｂ社用の結果ファイル３Ｂでは、図８（ｂ）に示すように、プロペラ部分のデータ部２１０に依拠するシミュレーション結果の領域３０が閲覧できないようになる。
【００９２】
次に、制御部１０は、Ｂ社の解析データ２Ｂに基づいて、Ｂ社用の結果ファイル３Ｂを暗号化する必要があるか否かを判断する（Ｓ１８）。本実施形態では、ステップＳ１１の取得時の解析データ２Ｂが暗号化されていなかったことに基づき、制御部１０は、ステップＳ１８において「ＮＯ」に進む。結果ファイル３Ｂは、データ格納部１１ａに格納される。
【００９３】
また、制御部１０は、Ｂ社用の結果ファイル３Ｂに対するステップＳ１７〜Ｓ２０の処理と同様の処理（Ｓ１７Ａ〜Ｓ２０Ａ）を、Ａ社用の結果ファイル３Ａに対して行う。
【００９４】
ステップＳ１７Ａ〜Ｓ２０Ａにおいて、制御部１０は、シミュレーション結果およびＡ社の解析データ２Ａに基づいて、Ａ社の解析データ２Ａのデータ領域２１２（図６（ａ））のシミュレーション結果を含めるように、Ａ社用の結果ファイル３Ａを生成する（Ｓ１７Ａ）。この場合、図８（ｃ）に示すように、Ａ社用の結果ファイル３Ａには、船体部分のデータ部２１０’に依拠するシミュレーション結果が含まれないこととなる。
【００９５】
次に、制御部１０は、Ａ社の解析データ２Ａに基づいて、Ａ社用の結果ファイル３Ａを暗号化する必要があるか否かを判断する（Ｓ１８Ａ）。本実施形態では、ステップＳ１１Ａの取得時の解析データ２Ａが暗号化されていたことに基づき、制御部１０は、ステップＳ１８Ａにおいて「ＹＥＳ」に進む。
【００９６】
制御部１０は、Ａ社用の結果ファイル３Ａを暗号化する必要があると判断すると（Ｓ１８ＡでＹＥＳ）、Ａ社の解析データ２Ａの第３承認事項２０３が結果ファイル３Ａの第２承認事項になるように、結果ファイル３Ａのヘッダ部を設定する（Ｓ１９Ａ）。本実施形態では、Ａ社の解析データ２Ａの第３承認事項２０３には、Ａ社のシミュレーション装置１Ａを示す情報が埋め込まれている（図１参照）。このため、本処理により、結果ファイル３Ａの第２承認事項にＡ社のシミュレーション装置１Ａを示す情報が埋め込まれる。
【００９７】
次に、制御部１０は、Ａ社の解析データ２Ａの第３承認事項２０３中の暗号化キーを用いて、結果ファイル３Ａの暗号化を行う（Ｓ２０Ａ）。具体的に、制御部１０は、結果ファイル３Ａのデータ部用のキーを生成して結果ファイル３Ａのヘッダ部に埋め込み、ヘッダ部を暗号化キーにより暗号化する。さらに、制御部１０は、生成したキーにより結果ファイル３Ａのデータ部を暗号化する。暗号化された結果ファイル３Ａは、データ格納部１１ａに格納される。なお、結果ファイル３Ａにおいて暗号化される部分は、解析データ２Ａのデータ部２１０に対応するシミュレーション結果の一部分であってもよい。
【００９８】
制御部１０は、結果ファイル３Ａの暗号化後、一時記憶部１１ｂに保持した各種情報を消去し、本フローチャートによる処理を終了する。
【００９９】
以上の処理によると、Ａ社の解析データ２Ａは、本処理を実行するシミュレーション装置１が第２承認事項２０２に該当する場合にのみ、暗号化されたデータ部２１０が復号される（Ｓ３２）。解析データ２Ａを用いた解析シミュレーションは、復号されたデータ部２１０の取り出しができないように規制しながら実行される（Ｓ１５）。また、各結果ファイル３Ａ，３Ｂは重なりのないデータ領域２１２，２１５毎に生成され（Ｓ１７，Ｓ１７Ａ）、Ａ社用の結果ファイル３Ａには、Ａ社の解析データ２Ａの第３承認事項に応じた閲覧制限が課される（Ｓ１９Ａ，Ａ２０Ａ）。以上の処理により、解析シミュレーションの実行時から結果の出力に及んで、暗号化された情報のセキュリティを確保できる。
【０１００】
以上の説明では、それぞれのデータ領域２１２，２１５が重ならないという各解析データ２Ａ，２Ｂのデータ部２１０，２１０’間の関係に基づいて（Ｓ１６）、結果ファイル３Ａ，３Ｂがデータ領域２１２，２１５毎に生成された。各解析データ２Ａ，２Ｂのデータ部２１０，２１０’のデータ領域が重なる関係の場合には、制御部１０は、結果ファイル３Ｂにおいて重なった領域の結果をマスクすることによって、暗号化されたデータ部２１０に依拠する結果を結果ファイル３Ｂに含まれないようにする。
【０１０１】
また、以上の説明では、解析データ復号処理（Ｓ１３，Ｓ１３Ａ）をコンバート処理として説明したが、これに限らず、例えばアプリケーションにおいて、復号までの処理を行った状態の解析データを直接、出力してもよい。
【０１０２】
また、以上の説明では、制御部１０は、ステップＳ１７，Ｓ１７Ａにおいて結果ファイル３Ａ，３Ｂを生成してから暗号化を行ったが、適宜、暗号化を行いながら結果ファイルを作成してもよい。
【０１０３】
２−４．結果ファイル復号処理
本実施形態に係る解析データ復号処理について、図面を参照して説明する。本実施形態では、図１に示すように、Ｂ社がシミュレーション装置１で生成したＡ社用の結果ファイル３Ａを暗号された状態でＡ社に提供する。結果ファイル３Ａは、可搬性のある記憶媒体に保存された状態でＡ社に提供されてもよいし、セキュリティ性のネットワークを介してＡ社に提供されてもよい。Ａ社は、シミュレーション装置１Ａにより、暗号化された結果ファイル３Ａに結果ファイル復号処理を行うことで、結果ファイル３Ａの内容を閲覧できる。以下、図１３を用いて、本実施形態に係る結果ファイル復号処理を説明する。
【０１０４】
図１３は、本実施形態に係る結果ファイル復号処理を示すフローチャートである。本実施形態において、図１３に示すフローチャートは、Ａ社のシミュレーション装置１Ａの制御部１０Ａによって実行される。
【０１０５】
本フローチャートは、Ｂ社において暗号化された結果ファイル３Ａが、シミュレーション装置１Ａの記憶部１１Ａに格納された状態において開始される。また、シミュレーション装置１Ａの記憶部１１Ａには、解析データ２を暗号化した際に第３承認事項２０３に埋め込んだ暗号化キーに対応する復号キーが、格納されていることとする。
【０１０６】
まず、制御部１０Ａは、記憶部１１Ａから、暗号化された結果ファイル３Ａを取得する（Ｓ４１）。
【０１０７】
次に、制御部１０Ａは、記憶部１１Ａから、解析データ２を暗号化した際に第３承認事項２０３に埋め込んだ暗号化キーに対応した復号キーを取得する（Ｓ４２）。
【０１０８】
次に、制御部１０Ａは、取得した復号キーにより結果ファイル３Ａのヘッダ部を復号する（Ｓ４３）。
【０１０９】
次に、制御部１０Ａは、Ａ社のシミュレーション装置１ＡのＭＡＣアドレス等を参照し、シミュレーション装置１Ａが、結果ファイル３Ａのヘッダ部中の第２承認事項に該当するか否かを判断する（Ｓ４４）。
【０１１０】
制御部１０Ａは、Ａ社のシミュレーション装置１Ａが第２承認事項に該当すると判断すると（Ｓ４４でＹＥＳ）、結果ファイル３Ａのヘッダ部に埋め込まれたデータ部用のキーを用いてデータ部を復号し（Ｓ４５）、本処理を終了する。
【０１１１】
一方、制御部１０Ａは、Ａ社のシミュレーション装置１Ａが第２承認事項に該当しないと判断すると（Ｓ４４でＮＯ）、エラーと判定し（Ｓ４５）、結果ファイル３Ａのデータ部の復号を行うことなく本処理を終了する。
【０１１２】
以上の処理によると、Ａ社用の結果ファイル３Ａは、本処理を実行するシミュレーション装置１Ａが結果ファイル３Ａの第２承認事項に該当して且つ復号するためのキーが入手できた場合、すなわち解析データ２Ａの第３承認事項２０３に該当する場合にのみ、暗号化された内容が復号され、閲覧可能になる（Ｓ４４）。これにより、解析シミュレーションの入力に対して暗号化した情報について、シミュレーション結果に到るまで、セキュリティを確保することができる。
【０１１３】
また、結果ファイル３Ａ中のシミュレーション結果には、Ｂ社の船体部分の存在を設定した影響が含まれているので（図８（ａ），（ｃ）参照）、情報のセキュリティを確保しながらＡ社のＢ社との協調設計を行い易くすることができる。
【０１１４】
３．まとめ
以上のように、本実施形態において、Ｂ社のシミュレーション装置１は、１つ又は複数の解析データに基づきシミュレーションを実行する。シミュレーション装置１は、記憶部１１と、制御部１０とを備える。記憶部１１は、暗号化されたヘッダ部２００及びデータ部２１０を有する解析データ２Ａを格納する。制御部１０は、データ部２１０の取り出しを制限しながら解析データ２Ａに基づくシミュレーションを実行する。解析データ２Ａのヘッダ部２００は、シミュレーションの実行場所を示す第２承認事項と、シミュレーション結果の閲覧場所を示す第３承認事項２０３とを含む。制御部１０は、ヘッダ部２００を復号し、自装置がヘッダ部２００に含まれる第２承認事項２０２に該当する場合にのみデータ部２１０を用いて、シミュレーションを実行する。制御部１０は、データ部２１０に対するシミュレーション結果の閲覧が、第３承認事項２０３が示す閲覧場所に制限されるように、シミュレーション結果を示す結果ファイル３Ａを暗号化する。
【０１１５】
また、本実施形態において、Ａ社のシミュレーション装置１Ａは、Ｂ社のシミュレーション装置１によるシミュレーションの対象となる解析データ２を暗号化する暗号化装置を構成する。シミュレーション装置１Ａは、操作部１２と、記憶部１１Ａと、制御部１０Ａとを備える。操作部１２は、ユーザによって指定された、シミュレーションの実行場所を示す第２承認事項、およびシミュレーション結果の閲覧場所を示す第３承認事項を取得する。記憶部１１Ａは、ヘッダ部２００及びデータ部２１０を有する解析データ２を格納する。制御部１０Ａは、記憶部１１Ａに格納された解析データ２を暗号化する。制御部１０Ａは、解析データ２のヘッダ部２００に、操作部１２によって取得された第２承認事項及び第３承認事項を埋め込み、ヘッダ部２００とデータ部２１０とをそれぞれ暗号化する。
【０１１６】
以上のシミュレーション装置１，１Ａによると、Ａ社が、Ｂ社にシミュレーション対象のデータを渡し、Ｂ社からシミュレーション結果を受け取るまでに及ぶ情報のセキュリティを確保することができる。
【０１１７】
（実施形態２）
実施形態１では、公開キーを用いて解析データのヘッダ部の暗号化が行われた。実施形態２では、解析データのヘッダ部の暗号化に、ユーザが生成した公開キーを用いる。以下、図１４，１５を参照して、本実施形態に係る動作について説明する。ユーザが公開キーを生成する場合、ペアとなる秘密キーも同時生成される。
【０１１８】
図１４は、本実施形態に係る解析データ暗号化処理を示すフローチャートである。本実施形態に係る解析データ暗号化処理では、第２，第３承認事項の指定に加えて、ユーザが生成した公開キーも指定される。
【０１１９】
図１４のフローチャートにおいて、Ａ社のシミュレーション装置１Ａの制御部１０Ａは、実施形態１に係る解析データ暗号化処理（図９）のステップＳ２に代えて、第２，第３承認事項とともに指定されたユーザが生成した公開キーを取得する（Ｓ２Ａ）。
【０１２０】
また、制御部１０Ａは、図９のステップＳ６に代えて、ユーザが生成した公開キーを用いて解析データ２Ａのヘッダ部の暗号化を行う（Ｓ６Ａ）。
【０１２１】
以上の処理により、公開キーにより暗号化された解析データ２Ａは、復号時に、暗号化で用いた公開キーに対応する秘密キーを知得する必要がある。以下、秘密キーがＡ社からＢ社に提供されることにより、Ｂ社のシミュレーション装置１で行われる解析データ復号処理について、図１５を用いて説明する。
【０１２２】
図１５は、本実施形態に係る解析データ復号処理を示すフローチャートである。本フローチャートは、図１４のステップＳ２Ａにおいて指定された公開キーと同時生成された秘密キーが、Ｂ社のシミュレーション装置１の記憶部１１に予め格納された状態において開始される。
【０１２３】
本実施形態に係る解析データ復号処理では、実施形態１に係る解析データ復号処理（図１２）のステップＳ３１に代えて、Ｂ社のシミュレーション装置１の制御部１０は、図１５のステップＳ３１Ａ，Ｓ３１Ｂの処理を行う。
【０１２４】
ステップＳ３１Ａにおいて、Ｂ社のシミュレーション装置１の制御部１０は、記憶部１１から、解析データ暗号化処理で同時生成された秘密キーを取得する。
【０１２５】
次に、制御部１０は、取得した秘密キーを用いて、解析データ２Ａのヘッダ部を復号する（Ｓ３１Ｂ）。
【０１２６】
以上のように、Ａ社のシミュレーション装置１Ａにおいてユーザが生成した公開キーにより暗号化された解析データ２Ａは、暗号化した公開キーに対応した秘密キーを知得しなければ復号することができない。このため、暗号化を行ったＡ社から秘密キーが提供されない限り、他社は、（例えアプリケーションベンダーであっても）利用できないこととなり、解析データ２Ａの秘匿性を向上することができる。
【０１２７】
（実施形態３）
本実施形態では、解析データの暗号化において、セキュリティ性を向上する方法について説明する。以下、図１６、図１７及び図１８を参照して、本実施形態を説明する。
【０１２８】
図１６は、本実施形態に係る解析データ２Ａ’のデータ構造を説明するための図である。１７は、本実施形態に係る解析データ暗号化処理を示すフローチャートである。本実施形態に係る暗号化後の解析データ２Ａ’は、暗号化の対象のデータ部２１０に対応するヘッダ部２００’が、第１及び第２ヘッダ２００ａ，２００ｂに分かれ、第１及び第２ヘッダ２００ａ，２００ｂの順番に読み込まれるように構成される。
【０１２９】
実施形態１では、解析データ２Ａの暗号化の際、ヘッダ部２００に、データ部用のキー２０１と、第２承認事項２０２と、第３承認事項２０３とが埋め込まれた（図９のステップＳ３，Ｓ４，Ｓ５参照）。本実施形態では、図１６に示すように、第２承認事項２０２は、第１ヘッダ２００ａに埋め込まれる（図１７のステップＳ４Ａ）。一方、データ部用のキー及び第３承認事項は、第１及び第２ヘッダ２００ａ，２００ｂに分割して埋め込まれる（ステップＳ５Ａ）。
【０１３０】
ステップＳ５Ａにおいて、制御部１０Ａは、第３承認事項の指定に基づき、第３承認事項及びデータ部用のキーの一部を示す情報２０３ａ，２０１ａと残部を示す情報２０３ｂ，２０１ｂとが揃わなければ、第３承認事項が意味をなさないように、各情報２０３ａ，２０１ａ，２０３ｂ，２０１ｂを生成する。制御部１０Ａは、各情報２０３ａ，２０１ａ，２０３ｂ，２０１ｂを、それぞれ第１及び第２ヘッダ２００ａ，２００ｂに埋め込む。
【０１３１】
また、本実施形態では、第１ヘッダ２００ａの暗号化には、アプリケーションが保有する公開キーを用いてもよいし、ユーザが生成した公開キーを用いてもよい（図１７のステップＳ６Ｂ）。一方、第２ヘッダ２００ｂの暗号化には、公開キーを用いる（図１７のステップＳ６Ｃ）。
【０１３２】
また、本実施形態では、図１７に示すように、制御部１０Ａは、解析データ２Ａ’の暗号化の際に、第１及び第２ヘッダ２００ａ，２００ｂのそれぞれに対してスクランブル処理を行う（Ｓ８）。なお、スクランブル処理の対象は第１及び第２ヘッダ２００ａ，２００ｂに限らず、例えばデータ部２１０を含んでもよい。
【０１３３】
以上のように暗号化された解析データ２Ａ’に対する解析データ復号処理について、図１８を用いて説明する。
【０１３４】
図１８は、本実施形態に係る解析データ復号処理を示すフローチャートである。本実施形態に係る解析データ復号処理において、制御部１０は、まず、暗号化された解析データ２Ａ’における第１及び第２ヘッダ２００ａ，２００ｂのそれぞれに対してデスクランブル処理を行う（Ｓ３０）。
【０１３５】
次に、制御部１０は、第１及び第２ヘッダ２００ａ，２００ｂの内で先に読み込まれる第１ヘッダ２００ａを復号する（Ｓ３１Ａ）。第１ヘッダ２００ａには、上述のとおり、第２承認事項２０２が埋め込まれている。
【０１３６】
制御部１０は、第２ヘッダ２００ｂの復号を行う前に、ステップＳ３２の第２承認事項２０２に関する判断を行う。このため、制御部１０が、シミュレーション装置１が第２承認事項２０２に該当しないと判断し（Ｓ３２でＮＯ）、エラー判定を行った場合（Ｓ３４）、第２ヘッダ２００ｂが復号されず、データ部用のキー等の情報が取り出されないこととなる。
【０１３７】
一方、制御部１０は、シミュレーション装置１が第２承認事項２０２に該当すると判断すると（Ｓ３２でＹＥＳ）、公開キーのペアの秘密キーによって第２ヘッダ２００ｂを復号する（Ｓ３１Ｂ）。
【０１３８】
次に、制御部１０は、第１及び第２ヘッダ２００ａ，２００ｂの復号結果に基づいて、データ部用のキーと第３承認事項を再構成する（Ｓ３１Ｃ）。これにより、制御部１０が、ステップＳ３３でデータ部用のキーを用いて、データ部２１０を復号することが可能となる。
【０１３９】
以上の処理により、第２承認事項の承認がなされない限り、解析データ２Ａ’のデータ部２１０の復号は為されず、解析データ２Ａ’のセキュリティ性を向上することができる。
【０１４０】
以上の説明では、第２ヘッダ２００ｂの暗号化に公開キーを用いた。これにより、シミュレーション装置１は、内部的に保持したペアの秘密キーを用いて、第２ヘッダ２００ｂを復号することができた。第２ヘッダ２００ｂの暗号化には、ユーザが生成する公開キーを用いてもよい。この場合、例えば、ペアの秘密キーが第１ヘッダ２００ａに埋め込まれてもよい。
【０１４１】
（実施形態４）
実施形態１では、Ｂ社が、Ａ社から提供された解析データと自社の解析データを用いて、解析シミュレーションを行う例について説明した。本実施形態では、Ａ社及びＢ社から解析データを提供されたＣ社が解析シミュレーションを行う例について説明する。
【０１４２】
図１９は、実施形態４に係るシミュレーション装置（及び暗号化装置）が構成するシステムを説明するための図である。図１９において、Ｃ社は、例えば数値シミュレーションを専業とするメーカである。
【０１４３】
Ａ社では、シミュレーション装置１Ａが、上記各実施形態と同様の解析データ暗号化処理を行い、解析データ２を暗号化する。Ａ社はＣ社に暗号化された解析データ２Ａを提供する。
【０１４４】
Ｂ社では、シミュレーション装置１Ａと同様の構成を有するシミュレーション装置１Ｂが、シミュレーション装置１Ａと同様に解析データ暗号化処理を行い、解析データ２Ｂを暗号化する。Ｂ社はＣ社に、解析データ２Ｂが暗号化された解析データ２Ｂ’を提供する。
【０１４５】
Ｃ社では、シミュレーション装置１の制御部１０が、Ａ社及びＢ社の解析データ２Ａ，２Ｂ’に基づき、実施形態１と同様の協調設計シミュレーション処理（図１０，１１）を行う。
【０１４６】
本実施形態では、Ｂ社の解析データ２Ｂ’が暗号化されているため、制御部１０は、図１０のステップＳ１２では「ＹＥＳ」に進み、解析データ復号処理を行う（Ｓ１３）。ここで、図１９に示すように、Ｂ社の解析データ２Ｂ’の第２承認事項にＣ社のシミュレーション装置１が設定されていることで、上記の各実施形態と同様に、解析データ復号処理において解析データ２Ｂ’の復号が行われる。制御部１０は、ステップＳ１２で「ＹＥＳ」に進み、Ａ社の解析データ２Ａの復号後、解析シミュレーションを行う（Ｓ１５）。
【０１４７】
また、本実施形態では、Ｂ社用の結果ファイル３Ｂも暗号化される。このため、Ｃ社は解析シミュレーションを実行するが、結果ファイル３Ａ，３Ｂの閲覧はできないこととなる。以上のように、業務委託で協調設計シミュレーションを行う際のセキュリティ性を向上することができる。
【０１４８】
（実施形態５）
実施形態１では、Ａ社及びＢ社による複数の解析データを用いて解析シミュレーションを行う例について説明した。本実施形態では、１つの解析データを用いて解析シミュレーションを行う例について説明する。
【０１４９】
開発中の形状データや解析条件などは、企業においては高度なセキュリティを必要とされるこれらの情報には企業内のある部署においてのみ取り扱いが許される情報もある一方、アプリケーションは部署をまたがって同じものを使うことも多い。このため、社内で用いるデータ自体に対してセキュリティを課すことが求められている。また、コンピュータ資源を有効に活用するために、ＣＡＥ等においてもクラウドの活用が検討されているが、重要なデータを社外に出すことになり、クラウド等を利用するうえで大きな障壁になっている。これに対して、本開示技術によると、１つのデータをアプリケーションに入力する際にも、第２及び第３承認事項を設定して暗号化することで、解析データ及び結果ファイルの閲覧を制限することができる。このため、データが暗号化された状態で自社内、クラウド上で利用することができる。
【０１５０】
図２０は、実施形態５に係るシミュレーション装置（及び暗号化装置）が構成するシステムを説明するための図である。図２０では、Ａ社が社内において、解析データ２の管理端末（シミュレーション装置１Ａ）とは別のシミュレーション装置１で解析シミュレーションを行う際に、シミュレーション装置１において解析データ２及び結果ファイル３を閲覧できないようにしている。なお、解析データ２の管理端末は、シミュレーション装置でなくてもよく、上記各実施形態の解析データ暗号処理、結果ファイル復号処理が実行可能で結果ファイル３の閲覧機能を有する情報処理装置であってもよい。
【０１５１】
図２１は、本実施形態に係る解析シミュレーション処理を示すフローチャートである。図２１に示すフローチャートは、暗号化された解析データＡが入力されたシミュレーション装置１の制御部１０により実行される。
【０１５２】
本実施形態に係る解析シミュレーション処理において、制御部１０は、解析データ２Ａに対して図１０のステップＳ１１Ａ〜Ｓ１４Ａと同様の処理を行い、１つの解析データＡに対する解析シミュレーションを実行する（Ｓ１５Ａ）。
【０１５３】
また、制御部１０は、シミュレーション結果に対して図１１のステップＳ１７Ａ〜Ｓ２０Ａと同様の処理を行い、暗号化された結果ファイル３Ａを出力する。
【０１５４】
以上の処理により、第２承認事項には該当するが第３承認事項には該当しないシミュレーション装置１において、閲覧を制限しながら解析シミュレーションが行われ、シミュレーション装置１Ａでのみ閲覧可能な結果ファイル３を得ることができる。
【０１５５】
（他の実施形態）
実施形態３では、解析データ暗号化処理において第１及び第２ヘッダ２００ａ，２００ｂのそれぞれに対してスクランブル処理を行った（図１７のステップＳ１７）。上記の各実施形態１，２，４，５における解析データ暗号化処理においてスクランブル処理を行ってもよい。この場合、適宜、解析データ復号処理においてデスクランブル処理を行う
【０１５６】
上記の各実施形態では、本発明に係るシミュレーション装置及び暗号化装置の一例として、造船業界における使用例を説明した。本発明は、造船業界に限らず種々の技術分野に適用可能であり、例えば、自動車、ターボ機器、機械、重工業、建築、土木、化学、薬品バイオ業界などにおける種々の解析シミュレーションに適用可能である。
【０１５７】
上記の各実施形態では、ヘッダ部の暗号化にＲＳＡ方式を適用し、データ部の暗号化にＡＥＳ方式を適用したが、これに限らず、種々の暗号化方式を用いてもよい。例えば、ＡＥＳ方式に代えて、ＲＣ４，ＤＥＳ，３ＤＥＳ方式などの他の共通鍵暗号方式を用いてもよい。また、ＲＳＡ方式に代えて、ＥｌＧａｍａｌ，Ｄｉｆｆｉｅ−Ｈｅｌｌｍａｎ／ＤＳＳ方式などの他の共通鍵暗号方式を用いてもよいし、共通鍵暗号方式以外の暗号化方式を用いてもよい。
【符号の説明】
【０１５８】
１，１Ａ，１Ｂ，１Ｃ  シミュレーション装置
１０，１０Ａ  制御部
１１，１１Ａ  記憶部
１２  操作部（取得部）
２，２Ａ，２Ａ’，２Ｂ，２Ｂ’  解析データ
３，３Ａ，３Ｂ，３Ｂ’  結果ファイル
【要約】      （修正有）【課題】競合する企業間でデータを渡してからシミュレーション結果を受け取るまでの情報のセキュリティを確保する、協調設計のためのシミュレーション装置を提供する。【解決手段】シミュレーション装置は、データ部の取り出しを制限しながら解析データに基づくシミュレーションを実行する。Ａ社のシミュレーション装置１Ａは暗号化されたヘッダ部及びデータ部を有する解析データ２Ａを生成しＢ社に提供する。ヘッダ部は、シミュレーションの実行場所を示す情報と、シミュレーション結果の閲覧場所を示す情報とを含む。Ｂ社のシミュレーション装置１の制御部は、ヘッダ部を復号し、自装置がヘッダ部に含まれる実行場所を示す情報に該当する場合にのみデータ部を用いて、シミュレーションを実行する。制御部は、データ部に対するシミュレーション結果の閲覧が、閲覧場所に制限されるように、シミュレーション結果を示す第１の結果ファイル３Ａを暗号化する。【選択図】図１【図１】
0005976967.tif 000002
【図２】
0005976967.tif 000003
【図３】
0005976967.tif 000004
【図４】
0005976967.tif 000005
【図５】
0005976967.tif 000006
【図６】
0005976967.tif 000007
【図９】
0005976967.tif 000008
【図１０】
0005976967.tif 000009
【図１１】
0005976967.tif 000010
【図１２】
0005976967.tif 000011
【図１３】
0005976967.tif 000012
【図１４】
0005976967.tif 000013
【図１５】
0005976967.tif 000014
【図１６】
0005976967.tif 000015
【図１７】
0005976967.tif 000016
【図１８】
0005976967.tif 000017
【図１９】
0005976967.tif 000018
【図２０】
0005976967.tif 000019
【図２１】
0005976967.tif 000020
【図７】
0005976967.tif 000021
【図８】
0005976967.tif 000022