JP2017135687A - シミュレーション装置、方法、プログラム及び暗号化装置 - Google Patents

シミュレーション装置、方法、プログラム及び暗号化装置 Download PDF

Info

Publication number
JP2017135687A
JP2017135687A JP2016016662A JP2016016662A JP2017135687A JP 2017135687 A JP2017135687 A JP 2017135687A JP 2016016662 A JP2016016662 A JP 2016016662A JP 2016016662 A JP2016016662 A JP 2016016662A JP 2017135687 A JP2017135687 A JP 2017135687A
Authority
JP
Japan
Prior art keywords
data
simulation
analysis data
analysis
company
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2016016662A
Other languages
English (en)
Other versions
JP5976967B1 (ja
Inventor
浩之 黒石
Hiroyuki Kuroishi
浩之 黒石
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Software Cradle Co Ltd
Original Assignee
Software Cradle Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Software Cradle Co Ltd filed Critical Software Cradle Co Ltd
Priority to JP2016016662A priority Critical patent/JP5976967B1/ja
Application granted granted Critical
Publication of JP5976967B1 publication Critical patent/JP5976967B1/ja
Publication of JP2017135687A publication Critical patent/JP2017135687A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

【課題】競合する企業間でデータを渡してからシミュレーション結果を受け取るまでの情報のセキュリティを確保する、協調設計のためのシミュレーション装置を提供する。【解決手段】シミュレーション装置は、データ部の取り出しを制限しながら解析データに基づくシミュレーションを実行する。A社のシミュレーション装置1Aは暗号化されたヘッダ部及びデータ部を有する解析データ2Aを生成しB社に提供する。ヘッダ部は、シミュレーションの実行場所を示す情報と、シミュレーション結果の閲覧場所を示す情報とを含む。B社のシミュレーション装置1の制御部は、ヘッダ部を復号し、自装置がヘッダ部に含まれる実行場所を示す情報に該当する場合にのみデータ部を用いて、シミュレーションを実行する。制御部は、データ部に対するシミュレーション結果の閲覧が、閲覧場所に制限されるように、シミュレーション結果を示す第1の結果ファイル3Aを暗号化する。【選択図】図1

Description

本発明は、暗号化された情報に基づくシミュレーションを行うシミュレーション装置、方法、プログラム及び暗号化装置に関する。
近年、コンピュータの発達により、数値シミュレーションが製品デザイン及び設計分野において広く採用されている。また、シミュレーションの対象も基本部品から最終製品に近い形に亘り、種々の企業において多様な解析が行われている。一般に、シミュレーションに使用するデータには、企業独自のノウハウ(例えば、形状、物理定数など)が含まれている。ノウハウ等の機密情報を含んだ情報のセキュリティに関する技術が提案されている(例えば特許文献1)。
特許文献1は、EDA(電子設計自動化)に関する情報を安全に交換するためのシステム及び方法を開示している。特許文献1のシステムでは、まず、例えばファウンドリ等の製造業者が暗号化ツールを使用して、EDAに関する情報(例えばIC製造に関する規則ファイル)を保護する。次いで、設計技術者等が操作するEDAツールは、保護された情報にアクセスしてロック解除し、保護された情報を明らかにすることなく使用する。例えば、EDAツールは、1つ又は複数のICレイアウトが保護された規則に違反する可能性の検証を行っている。特許文献1では、このような保護された情報に対するEDAツールのアクセスに対して、例えば時間枠、使用回数又はアクセス回数による条件を課すことが開示されている。特許文献1の方法によると、製造業者の規則ファイル等の機密情報が設計技術者に明らかにされることなく、設計技術者が、EDAツールを用いて、所望のICレイアウトがその製造業者で製造可能かどうかの判定等を行える。
特表2007−507041号公報
本発明の目的は、シミュレーション対象のデータを渡してからシミュレーション結果を受け取るまでに及ぶ情報のセキュリティを確保することができるシミュレーション装置及び暗号化装置を提供することである。
本発明の一態様に係るシミュレーション装置は、1つ又は複数の解析データに基づきシミュレーションを実行するシミュレーション装置である。シミュレーション装置は、記憶部と、制御部とを備える。記憶部は、暗号化されたヘッダ部及びデータ部を有する解析データを格納する。制御部は、データ部の取り出しを制限しながら解析データに基づくシミュレーションを実行する。解析データのヘッダ部は、シミュレーションの実行場所を示す情報と、シミュレーション結果の閲覧場所を示す情報とを含む。制御部は、ヘッダ部を復号し、自装置がヘッダ部に含まれる実行場所を示す情報に該当する場合にのみデータ部を用いて、シミュレーションを実行する。制御部は、データ部に対するシミュレーション結果の閲覧が、閲覧場所に制限されるように、シミュレーション結果を示す第1の結果ファイルを暗号化する。
また、本発明の一態様に係る暗号化装置は、シミュレーション装置によるシミュレーションの対象となる解析データ及びシミュレーション結果を暗号化する暗号化装置である。
本発明のシミュレーション装置及び暗号化装置によると、シミュレーション対象のデータを渡してからシミュレーション結果を受け取るまでに及ぶ情報のセキュリティを確保することができる。
実施形態1に係るシミュレーション装置及び暗号化装置が構成するシステムを説明するための図 シミュレーション装置の一例の構成を示すブロック図 シミュレーション装置におけるキー情報を説明するための図 暗号化装置の一例の構成を示すブロック図 暗号化前後の解析データのデータ構造を説明するための図 解析データのデータ部を例示する図 解析データにおけるメッシュ情報を説明するための図 実施形態1に係るシミュレーション装置の動作を説明するための図 実施形態1に係る解析データ暗号化処理を示すフローチャート 実施形態1に係る協調設計シミュレーション処理を示すフローチャート 図10に続く協調設計シミュレーション処理を示すフローチャート 実施形態1に係る解析データ復号処理を示すフローチャート 実施形態1に係る結果ファイル復号処理を示すフローチャート 実施形態2に係る解析データ暗号化処理を示すフローチャート 実施形態2に係る解析データ復号処理を示すフローチャート 実施形態3に係る解析データのデータ構造を説明するための図 実施形態3に係る解析データ暗号化処理を示すフローチャート 実施形態3に係る解析データ復号処理を示すフローチャート 実施形態4に係るシミュレーション装置及び暗号化装置が構成するシステムを説明するための図 実施形態5に係るシミュレーション装置及び暗号化装置が構成するシステムを説明するための図 実施形態5に係る解析シミュレーション処理を示すフローチャート
以下、添付の図面を参照して本発明に係るシミュレーション装置、方法、プログラム及び暗号化装置の実施の形態を説明する。なお、以下の各実施形態において、同様の構成要素については同一の符号を付している。
0.本発明に到った背景
製品デザイン及び設計分野において幅広く用いられている数値シミュレーションは、現状、基本的には一社内で完成品(部品メーカであれば部品としての性能まで)を作ることが前提に使用されている。
しかし、例えば造船業界は、一部の重工系を除いて船体メーカとプロペラメーカが専業化し、系列を形成せず独自に発展した業界である。船による輸送は低コストの大量輸送手段として特に着目されており、スエズ運河及びパナマ運河の改修に伴い、ますます船の大型化が進むと予想されている。長距離の輸送においては、少しの燃費改善でも大きな燃料費カットにつながるため、船体メーカおよびプロペラメーカは、従来、独自にCAE(構造解析)を駆使して自社製品の最適化を進めてきた。
近年、全世界的に、船による環境破壊が懸念されている。例えばCO2や、プロペラなどから発生する騒音による海洋生物への影響が懸念されている。CO2に関しては、2013年から2025年までの間に、EEDIにおいて30%の燃費改善を行うことが義務付けられた。また、騒音についても、IMO(国際海事機関)による取り組みが進んでいる。これらの国際情勢に対処するためには、造船業界における従来の自社製品のみの最適化では限界があると考えられる。特に、大型船に関しては、実験を行うことも直ぐにはできない状況である。
一方、燃費向上のために、従来のプロペラ又は船体それぞれの最適化だけではなく、ESD(Energy Saving Device)と呼ばれる付加物を設ける試みが進んでいる。これは、船体とプロペラの改良は各メーカにおいて長年、蓄積されており、個々の能力の向上は容易に得られないことから、両者の接合部近傍などで整流するための付加物を付けることにより効率を上げようとする試みである。この試みには、船体とプロペラとを合わせた全体解析が必要であり、精度良く解析を行うためには、船体とプロペラを同時に扱うCAE及びCFD(熱流体解析)の実施が必須である。このことからCAEやCFDのシミュレーションにおける、全体解析を容易化するための協調設計機能が求められている。
現状では、企業間で機密保持契約を結んだとしても、一方の企業が自社製品の形状などのノウハウを含むデジタルデータを他方の企業に渡すことになる。このため、相手方が競合になり得るリスクがあり、このリスクが、全体解析の実施に踏み切るまでの障壁となっている。そこで、本実施形態では、一方の企業が形状データ等を暗号化して他方の企業に渡し、他方の企業からシミュレーション結果を受け取るまでに及んで、暗号化した内容が取り出されないようにすることができるシミュレーション装置及び暗号化装置を提供する。
(実施形態1)
本実施形態では、本発明に係るシミュレーション装置及び暗号化装置の一例として、造船業界における使用例を説明する。
1.構成
1−1.概要
本実施形態に係るシミュレーション装置が構成するシステムの概要について、図1を用いて説明する。図1は、本実施形態に係るシミュレーション装置(及び暗号化装置)が構成するシステムを説明するための図である。
図1において、A社はプロペラメーカであり、シミュレーション装置1Aを所有している。B社は船体メーカであり、シミュレーション装置1を所有している。A社のシミュレーション装置1Aは、例えばプロペラ部分に関する解析データ2に基づく解析シミュレーションを行い、B社のシミュレーション装置1は、例えば船体部分に関する解析データ2Bに基づく解析シミュレーションを行う。シミュレーション装置1,1Aで行われる解析シミュレーションは、例えば熱流体解析であり、他にも構造解析、電磁場解析(CEM)など種々の数値解析であってもよい。
本実施形態では、B社がシミュレーション装置1を用いて、プロペラ部分と船体部分に協調設計機能を適応し、船全体の解析シミュレーションを行うことを想定している。また、A社は、プロペラ部分の形状を示すデータがB社に漏出することを防ぐため、シミュレーション装置1A(暗号化装置の一例)を用いて解析データ2を暗号化し、暗号化した解析データ2AをB社に渡すこととする。
また、本実施形態では、シミュレーション装置1,1A間で暗号化/復号が可能な暗号化方式を用いる(第1承認)。暗号化の際には、解析データ2Aを用いた解析シミュレーションを実行可能な実行場所を指定する情報が、解析データ2Aに埋め込まれる(第2承認)。さらに、解析データ2Aには、解析データ2Aを用いた解析シミュレーションの実行結果の出力について規定する情報が埋め込まれる(第3承認)。
本実施形態では、A社がB社のシミュレーション装置1に第2承認を付与し、A社のシミュレーション装置1Aに第3承認を付与した上で、暗号化した解析データ2AをB社に提供することとする。この場合、B社は、シミュレーション装置1において解析データ2Aを用いた解析シミュレーションを実行可能になる。シミュレーション装置1は、解析データ2Aで暗号化されていた内容が別途、取り出されることを制限しながら、双方の解析データ2A,2Bに基づく解析シミュレーションを実行する。シミュレーション結果は、A社とB社の解析データ2A,2B毎に、別々の結果ファイル3A,3Bで出力される。
A社用の結果ファイル3Aには、A社の解析データ2A(プロペラ部分)に対するシミュレーション結果が含まれる。また、解析データ2Aの第3承認に基づき結果ファイル3Aに閲覧制限が課され、A社のシミュレーション装置1Aでのみ閲覧可能になる。一方、B社用の結果ファイル3Bには、B社の解析データ2B(船体部分)に対するシミュレーション結果のみが含まれ、A社のプロペラ部分のシミュレーション結果が含まれない。これにより、解析シミュレーションの入力から出力に及んで、A社の形状等のデータがB社に取り出されることがないように、セキュリティを確保できる。さらに、A社及びB社の双方が、船全体の内の自社の分のシミュレーション結果を得られ、両社が協調した設計を行い易くすることができる。以下、本実施形態に係る各シミュレーション装置1,1Aの構成について説明する。
1−2−1.シミュレーション装置の構成
本実施形態に係るシミュレーション装置1の構成について、図2及び図3を参照して説明する。図2は、本実施形態に係るシミュレーション装置1の一例の構成を示すブロック図である。図3は、シミュレーション装置1におけるキー情報を説明するための図である。
シミュレーション装置1は、例えばPC(パーソナルコンピュータ)などの情報処理装置で構成される。シミュレーション装置1は、図2に示すように、制御部10と、記憶部11と、操作部12と、表示部13と、機器インタフェース14と、ネットワークインタフェース15とを備える。
制御部10は、例えばソフトウェアと協働して所定の機能を実現するCPUやGPGPU、MPUで構成され、シミュレーション装置1の全体動作を制御する。制御部10は、記憶部11に格納されたデータやプログラムを読み出して種々の演算処理を行い、各種の機能を実現する。例えば、制御部10は、本実施形態に係る解析シミュレーションが実現される解析プログラムを実行する。解析プログラムは、パッケージソフトウェアであってもよい。また、解析プログラムの管理形態及び動作仕様は特に限定されず、例えば、解析プログラムは、ライセンスサーバ(例えばB社が所有)に管理されるアプリケーションソフトウェアであってもよい。
なお、制御部10は、所定の機能を実現するように設計された専用の電子回路や再構成可能な電子回路などのハードウェア回路であってもよい。制御部10は、CPU,MPU,マイコン、DSP、FPGA、ASIC等の種々の半導体集積回路で構成されてもよい。
記憶部11は、シミュレーション装置1の機能を実現するために必要なプログラム及びデータを記憶する記憶媒体である。記憶部11は、データ格納部11aと、一時記憶部11bとを備える。
データ格納部11aは、例えばハードディスク(HDD)や半導体記憶装置(SSD)で構成され、種々のデータを格納する。データ格納部11aには、B社の解析データ2Bや、キー情報D1などが格納される。キー情報D1は、例えばRSA方式における公開キーまたは秘密キーを示す情報である。キー情報D1は、図3に示すように、公開キーPu1,Pu2,…と秘密キーPs1,Ps2,…とを関連づけて管理してもよいし、解析プログラムに組み込まれていてもよい。
一時記憶部11bは、例えばDRAMやSRAM等の半導体デバイスで構成され、データを一時的に記憶(保持)する。また、一時記憶部11bは、制御部10の作業エリアとして機能してもよい。一時記憶部11bには、A社の解析データ2Aの復号結果などが保持される。
操作部12は、ユーザが操作を行うユーザインタフェースである。操作部12は、例えば、キーボード、タッチパッド、タッチパネル、ボタン、スイッチ、及びこれらの組み合わせで構成される。操作部12は、ユーザによって入力される諸情報を取得する取得部の一例である。
表示部13は、例えば、液晶ディスプレイや有機ELディスプレイで構成される。表示部13は、例えば操作部12から入力された情報など、種々の情報を表示する。
機器インタフェース14は、シミュレーション装置1に他の機器を接続するための回路(モジュール)である。機器インタフェース14は、所定の通信規格にしたがい通信を行う。所定の規格には、USB、HDMI(登録商標)、IEEE1395、WiFi、Bluetooth(登録商標)等が含まれる。
ネットワークインタフェース15は、無線または有線の通信回線を介してシミュレーション装置1をネットワークに接続するための回路(モジュール)である。ネットワークインタフェース15は所定の通信規格に準拠した通信を行う。所定の通信規格には、IEEE802.3,IEEE802.11a/11b/11g/11ac等の通信規格が含まれる。
1−2−2.暗号化装置の構成
本実施形態に係る暗号化装置の一例であるシミュレーション装置1Aの構成について、図4を用いて説明する。図4は、暗号化装置の一例であるシミュレーション装置1Aの構成を示すブロック図である。
本実施形態では、図4に示すように、A社のシミュレーション装置1Aは、B社のシミュレーション装置1と同様に、制御部10Aと、記憶部11Aと、操作部12と、表示部13と、機器インタフェース14と、ネットワークインタフェース15とを備えて構成される。
制御部10Aは、例えば、本実施形態に係る暗号化方法において解析データ2を暗号化する暗号化機能を実現する。制御部10Aによる暗号化機能は、シミュレーション装置1で実行される解析プログラムと同様のプログラムに組み込まれてもよく、当該プログラムがライセンスサーバ(例えばA社が所有)によって管理されてもよい。
記憶部11Aは、例えば暗号化前後の解析データ2,2Aや、キー情報D1を格納する。以下、暗号化前後の解析データ2,2Aのデータ構造について説明する。
1−3.解析データのデータ構造
図5は、暗号化前後の解析データ2,2Aのデータ構造を説明するための図である。図5では、暗号化前後のA社の解析データ2,2Aを例示している。B社の解析データ2Bは、暗号化前のA社の解析データ2(図5(a))と同様のデータ構造を有する。
解析データ2,2A,2Bは、シミュレーション装置1において実行される解析シミュレーションの対象となるデータである。解析データ2,2A,2Bはファイルとして存在し、解析に必要なメッシュ情報などで構成される。
図5(a)は、暗号化前の解析データ2の一例を示す。本実施形態では、解析データ2において1つのデータ部及びそのヘッダ部等の所定のレコード単位で、ユーザ所望のマスクすべき情報のみを、所定のレコード単位で暗号化する。解析データ2は、図5(a)に示すように、レコード単位のデータ部210,230と、データ部共通のヘッダ部200とを含む。
データ部210は、解析データ2において、解析シミュレーションの対象となる物体の立体形状に関する形状データを示す部分である。ヘッダ部200は、データ部に対応するヘッダ情報である。形状データについて、図6(a),(b)及び図7を用いて説明する。
図6(a)は、A社の解析データ2のデータ部210であるプロペラ部分の形状データの一例を示す。A社の解析データ2のデータ部210は、図6(a)に示すように、データ領域212上の形状データのプロペラ211を構成している。プロペラ211は、円柱状のデータ領域212内で、種々の回転数において軸回転可能となるように構成されている。また、データ領域212の内部では、プロペラ211の周囲に流体を設定可能である。データ部210によると、データ領域212におけるプロペラ211に関する熱流体シミュレーション等を行うことができる。
図6(b)は、B社の解析データ2Bのデータ部210’である船体部分の形状データの一例を示す。B社の解析データ2Bのデータ部210’は、図6(b)に示すように、領域214を除いたデータ領域215上の形状データの船体213を構成している。領域214は、A社の解析データ2のデータ部210におけるデータ領域212に、境界が一致するように対応している。データ部210’を用いた熱流体シミュレーションでは、流体が領域214中を流れないように設定されてもよいし、流れるように設定されてもよい。図6(b)においては、B社の解析データ2Bのデータ部210’のうちで、領域214の周囲の一部分のみを図示している。
図7は、解析データにおけるメッシュ情報を説明するための図である。データ部210,210’における形状データのプロペラ211及び船体213は、図7に示すように、メッシュ20によって立体形状及び解析領域が表現されたメッシュ情報で構成される。メッシュ情報による形状データは、例えば制御部10,10AがCADデータなどをメッシュ化することにより得られる。
図5(a)に戻り、データ部230は、解析シミュレーションを実行する際に設定される解析条件を示す部分である。データ部230に使用されるヘッダ部は、共通に使用される。解析条件は、例えば流体の粘性係数などの各種物性値や、プロペラ211の回転数の設定値である。また、解析条件は、各種物理定数、化学定数、境界条件、初期条件を含んでもよい。
図5(b)は、暗号化後の解析データ2Aの一例を示す。図5(b)に示す一例では、形状データを示すデータ部210,230及びヘッダ部200が暗号化されている。なお、解析データ2において暗号化される情報は、形状データ全体でなくてもよい。例えば、暗号化の対象は、形状データの一部であってもよいし、解析条件やその一部であってもよい。この場合、暗号化の対象となるデータ部の範囲に応じて、ヘッダ部の一部分が暗号化されてもよい。
図5(b)に示すように、本実施形態では、RSA方式及びAES方式を用いたハイブリッド方式によってヘッダ部200及びデータ部210の暗号化を行う。ヘッダ部200に対しては、RSA方式を適用し、運用性と安全性を確保する。また、データ部210に対しては、速度面と安全性のバランスの観点から、AES方式を適用する。本暗号化方式が、キー情報D1を保有する特定のアプリケーションに対して解析データ2Aの読み込みを承認する第1承認事項となる。
暗号化後の解析データ2Aには、図5(b)に示すように、ヘッダ部200に、データ部用のキー201と、第2承認事項202と、第3承認事項203とが埋め込まれている。
データ部用のキー201は、AES方式によってデータ部210を暗号化及び復号するために用いられるキーである。なお、ヘッダ部200には、データ部用のキー201に代えて、データ部用のキー201キーを生成可能な情報が埋め込まれてもよい。
第2承認事項202は、解析プログラムに対する解析データ2Aの入力を許可する条件を規定する。第2承認事項202は、解析データ2Aの入力が許可され解析プログラムを実行可能な実行場所の固有情報を含む。実行場所は、解析プログラムを実行する装置自体であってもよいし、通信ネットワーク上の論理的に特定可能なエリア、空間的なエリアであってもよい。また、実行場所として、企業や個人を示す情報が含まれてもよい。例えば、第2承認事項202は、マシンのMACアドレス、サイトのライセンスサーバ情報(例えばライセンスサーバのホスト名)、ライセンスファイルに含まれる特定の文字列(例えばライセンシーの社名)、及びこれらの組み合わせなどを含む。
第3承認事項203は、解析データ2Aを用いた解析プログラムの出力結果のデータファイル(結果ファイル)に関する取り扱いを規定する。第3承認事項203は、解析プログラムの実行による結果ファイルの閲覧を許可する閲覧場所の固有情報、及び結果ファイルに用いる暗号化キーを含む。閲覧場所は、出力の閲覧が行われる装置自体であってもよいし、通信ネットワーク上の論理的に特定可能なエリア、空間的なエリアであってもよい。また、閲覧場所として、企業や個人を示す情報が含まれてもよい。
第3承認事項203において、閲覧場所の固有情報は、例えばマシンのMACアドレス、サイトのライセンスサーバ情報、ライセンスファイル中の特定の文字列、及びこれらの組み合わせなどを含む。暗号化キーは、結果ファイルを暗号化するためのキーであり、例えばRSA方式における秘密キーであってもよいし、公開キーであってもよい。また、暗号化キー自体に代えて、暗号化キーを生成可能な情報が埋め込まれてもよい。本実施形態では、暗号化キーとして、ユーザ(A社)が生成した公開キーを用いる。
2.動作
2−1.動作の概要
本実施形態に係るシミュレーション装置1,1Aの動作の概要について、図8を参照して説明する。図8は、B社のシミュレーション装置1における協調設計機能を用いた解析シミュレーションを説明する図である。
図8(a)は、B社のシミュレーション装置1における協調設計機能を用いた解析シミュレーション中の状態を示している。本実施形態では、B社のシミュレーション装置1が、A社のプロペラ部分の解析データ2A及びB社の船体部分の解析データ2Bに基づく全体の解析シミュレーションを行う(協調設計シミュレーション処理)。この際、A社のプロペラ部分の解析データ2Aは、A社のシミュレーション装置1Aにおいて暗号化されている(解析データ暗号化処理)。協調設計シミュレーション処理及び解析データ暗号化処理については後述する。
図8(a)に示すように、B社のシミュレーション装置1が実行する解析プログラムの中では、暗号化されたプロペラ部分のデータ部210(図6(a)参照)が復号された状態で解析が行われる。ここで、シミュレーション装置1は、データ部210の取り出しを制限しながら、解析シミュレーションを実行する。
図8(b)は、B社用の結果ファイル3Bの表示例を示す。図8(b)に示すように、シミュレーション装置1は、B社用の結果ファイル3Bに、シミュレーション結果全体(図6(a))のうちで領域30を含めずに、船体部分のデータ部210’に対するシミュレーション結果を含める。領域30は、船体部分のデータ部210’(図6(b)参照)において除かれた領域214に対応し、プロペラ部分のデータ部210のデータ領域212に対応している。結果ファイル3Bにより、B社は、暗号化されたプロペラ部分のデータ部210に依拠するシミュレーション結果の領域30以外の結果を見ることができる。
図8(c)は、A社用の結果ファイル3Aの表示例を示す。図8(c)に示すように、シミュレーション装置1は、シミュレーション結果の領域30を、B社用の結果ファイル3Bには含めずにA社用の結果ファイル3Aに含める。また、シミュレーション装置1は、プロペラ部分のデータ部210に対するシミュレーション結果の閲覧が、A社のシミュレーション装置1Aに制限されるように、A社用の結果ファイル3Aを暗号化する。これにより、A社は暗号化された結果ファイル3Aを復号することで(結果ファイル復号処理)、自社のデータ部210に依拠するシミュレーション結果を確認することができる。以下、本実施形態に係る解析データ暗号化処理、協調設計シミュレーション処理及び結果ファイル復号処理について、それぞれ説明する。
2−2.解析データ暗号化処理
本実施形態に係る解析データ暗号化処理について、図面を参照して説明する。本実施形態では、図1に示すように、A社のシミュレーション装置1Aが、暗号化前の解析データ2(図5(a))に対して解析データ暗号化処理を行い、暗号化後の解析データ2A(図5(b))を出力する。また、本実施形態では、解析データ暗号化処理においてヘッダ部200を暗号化する際、公開キーを用いる。以下、図9を用いて、本実施形態に係る解析データ暗号化処理を説明する。
図9は、本実施形態に係る解析データ暗号化処理を示すフローチャートである。本実施形態において、図9に示すフローチャートは、A社のシミュレーション装置1Aの制御部10Aによって実行される。
まず、制御部10Aは、暗号化前の解析データ2(図5(a))を取得する(S1)。解析データ2は、例えばユーザの操作により、予めA社のシミュレーション装置1Aの記憶部11Aに記録されている。
次に、制御部10Aは、ユーザ等によって指定された第2承認事項及び第3承認事項を取得する(S2)。ユーザは、例えば、A社のシミュレーション装置1Aの操作部12を操作して、所望の実行場所及び閲覧場所を示すMACアドレス等を入力することにより、第2承認事項及び第3承認事項を指定する。本実施形態では、第2承認事項においてB社のシミュレーション装置1が指定され、第3承認事項においてA社のシミュレーション装置1Aが指定されることとする。
次に、制御部10Aは、例えば乱数を発生させることによりAES方式のキーを生成し、図5(b)に示すデータ部用のキー201として、生成したキーをヘッダ部200に埋め込む(S3)。データ部用のキー201は、ヘッダ部200に対応するデータ部210を暗号化及び復号するために用いられる。
次に、制御部10Aは、指定された第2承認事項を、図5(b)に示すように、解析データ2のヘッダ部200における第2承認事項202として埋め込む(S4)。
次に、制御部10Aは、指定された第3承認事項を、図5(b)に示すように、解析データ2のヘッダ部200における第3承認事項203として埋め込む(S5)。
次に、制御部10Aは、上記の各情報が埋め込まれたヘッダ部200を、公開キーを用いて暗号化する(S6)。公開キーは、例えばアプリケーションが内蔵するキー情報D1(図3参照)として記憶部11Aに記憶されている
次に、制御部10Aは、ヘッダ部200に埋め込んだデータ部用のキー201を用いて、データ部210を暗号化し(S7)、本処理を終了する。
以上の処理により、解析シミュレーションの実行場所を制限するための第2承認事項202と、シミュレーション結果の閲覧場所を制限するための第3承認事項203とがヘッダ部200に埋め込まれた上で、暗号化された解析データ2Aが生成される(S4,S5)。このため、解析データ2Aの解析シミュレーションへの入出力に亘って、暗号化した情報のセキュリティを確保できる。
また、本実施形態では、公開キーによってヘッダ部200が暗号化される(S6)。このため、B社のシミュレーション装置1では、アプリケーションが保有する秘密キー(図3参照)によってヘッダ部200を復号することができる。
以上の説明では、暗号化前の解析データ2から暗号化された解析データ2を生成するコンバート処理として解析データ暗号化処理を説明した。しかし、本発明に係る解析データの暗号化方法はこれに限らず、例えば、解析データを作成するアプリケーションにおいて、暗号化までの処理を行った状態の解析データを直接、出力してもよい。
2−3.協調設計シミュレーション処理
本実施形態に係る協調設計シミュレーション処理について、図面を参照して説明する。協調設計シミュレーション処理は、暗号化された解析データを含む複数の解析データに基づき、各解析データの協調設計に関する解析シミュレーションを実行する処理である。本実施形態では、図1に示すように、B社のシミュレーション装置1が、A社から提供される暗号化済みの解析データ2Aと、自社の暗号化されていない解析データ2Bとに基づき、船全体に関する協調設計シミュレーション処理を実行する(図8参照)。
なお、A社で暗号化された解析データ2Aは、例えば可搬性のある記録媒体(たとえばCD,DVD,USBメモリ等)に保存された状態で、B社に提供され、記録媒体からB社のシミュレーション装置1に取り込まれる。また、解析データ2Aは、例えばセキュリティ性のある通信方法においてA社のシミュレーション装置1AからB社のシミュレーション装置1に取り込まれてもよい。
以下、図10〜12を用いて、本実施形態に係る協調設計シミュレーション処理を説明する。図10及び図11は、本実施形態に係る協調設計シミュレーション処理を示すフローチャートである。
本実施形態において、図10のフローチャートは、B社のシミュレーション装置1の制御部10によって実行される。
本フローチャートは、A社の解析データ2Aが、B社のシミュレーション装置1の記憶部11に格納された状態において開始される。また、B社の解析データ2Bは、予め記憶部11に格納されていることとする。
まず、制御部10は、記憶部11に格納されたB社の解析データ2Bを取得する(S11)。
次に、制御部10は、取得した解析データ2Bが暗号化されているか否かを判断する(S12)。本実施形態では、B社の解析データ2Bが暗号化されていないため、制御部10は、ステップS12において「NO」に進む。なお、本処理は、解析データ2Bの全体を取得する前に行われてもよい。
次に、制御部10は、解析データ2Bに対するステップS11〜S14の処理と同様の処理(S11A〜S14A)を、解析データ2Aに対して行う。
制御部10は、ステップS11,S12と同様に、記憶部11からA社の解析データ2Aを取得し(S11A)、解析データ2Aが暗号化されているか否かを判断する(S12A)。本実施形態では、図5(b)に示すように、A社の解析データ2Aのヘッダ部200及びデータ部210が暗号化されている、このため、制御部10は、ステップS12Aにおいて「YES」に進む。
制御部10は、取得した解析データ2Aが暗号化されていると判断すると(S12AでYES)、解析データ2Aを復号するための解析データ復号処理を行う(S13A)。本実施形態における解析データ復号処理について、図12を用いて説明する。
図12は、本実施形態に係る解析データ復号処理(図10のステップS13,S13A)を示すフローチャートである。図12のフローチャートにおいて、まず、制御部10は、アプリケーションに内蔵されて記憶部11に記憶されているキー情報D1が示す秘密キーにより、解析データ2Aのヘッダ部200を復号する(S31)。復号結果のヘッダ部200に埋め込まれた各種情報201〜203(図5(b))は、一時記憶部11bに保持される。
次に、制御部10は、B社のシミュレーション装置1のMACアドレス等を参照し、シミュレーション装置1が、復号したヘッダ部200中の第2承認事項202に該当するか否かを判断する(S32)。
制御部10は、B社のシミュレーション装置1が、第2承認事項202に該当すると判断すると(S32でYES)、ヘッダ部200中のデータ部用のキー201を用いてデータ部210を復号し(S33)、図10のステップS14Aに進む。データ部210の復号結果は、一時記憶部11bに保持される。
一方、制御部10は、B社のシミュレーション装置1が、第2承認事項202が示す実行場所に該当しないと判断すると(S32でNO)、エラーと判定し(S34)、図10のステップS14Aに進む。
図10に戻り、制御部10は、解析データ復号処理(S13A)において解析データ2Aが復号できたか否かを判断する(S14A)。ステップS14Aにおいて、例えば、制御部10は、解析データ復号処理において何らかの理由により解析データ2Aの復号ができなかった場合には「NO」に進み、本処理を終了する。
制御部10は、図12のステップS34でエラーと判定した場合、解析データ復号処理において解析データ2Aが復号できなかったと判断し(S14AでNO)、本フローチャートによる処理を終了する。
一方、制御部10は、図12のステップS33でデータ部210を復号できた場合、解析データ復号処理において解析データ2Aが復号できたと判断し(S14AでYES)、ステップS15に進む。
次に、制御部10は、B社の解析データ2B及び復号したA社の解析データ2Aに基づいて、解析シミュレーションを実行する(S15)。制御部10は、解析シミュレーション中に、暗号化されていたデータ部210が別途、取り出されることがないように規制しながら、ステップS15の処理を行う。
具体的に、制御部10は、まず、各解析データ2A,2Bのデータ部210,210’に基づき、プロペラ部分のデータ領域212(図6(a))が船体部分のデータ領域215中の領域214(図6(b))に位置するように繋ぎ合わせ、船全体のデータを生成する。次に、制御部10は、各解析データ2A,2Bに含まれる解析条件又は別ファイルで指定される解析条件ファイルに基づき、プロペラ211の回転数や流体の物性値などを適宜設定し、生成した船全体のデータに対して熱流体シミュレーションを行う。熱流体シミュレーションにおいて、制御部10は種々の数値計算処理を行い、例えば位置毎の流体の速度、圧力、温度などを計算する。シミュレーション結果全体のデータD2(図8(a)参照)は、一時記憶部11bに一時的に記憶される。
本実施形態では、シミュレーション結果の出力は、各解析データ2A,2Bに対応する結果をそれぞれ結果ファイル3A,3Bに含めることによって行われる。ここで、シミュレーション結果の出力においては、一方の解析データ2Aにおいて暗号化された情報(データ部210)を取り出し得るような内容が、他方の結果ファイル3Bに含まれないように規制される必要がある。そこで、制御部10は、シミュレーション結果において、結果ファイル3A,3Bに含めるデータ領域間の重なりの有無を判定する(S16)。
本実施形態では、図6(a),(b)に示すように、データ領域212,215の境界が対応しているため、シミュレーション結果においてデータ領域間に重なりは生じていない。このため、制御部10は、ステップS16において、データ領域間の重なりがないことを判定する。この判定結果に基づき、ステップS17,S17Aでは、各解析データ2B,2Aと同じデータ領域毎に、結果ファイル3B,3Aが生成される。なお、ステップS16の判定は、ステップS15の処理中に行われてもよく、例えば船全体のデータを生成する際に、繋ぎ合わせたデータ領域212,215を確認することで行われてもよい。
制御部10は、シミュレーション結果、及びB社の解析データ2Bに基づいて、B社の解析データ2Bのデータ領域215(図6(b))におけるシミュレーション結果を含めるように、B社用の結果ファイル3Bを生成する(S17)。これにより、B社用の結果ファイル3Bでは、図8(b)に示すように、プロペラ部分のデータ部210に依拠するシミュレーション結果の領域30が閲覧できないようになる。
次に、制御部10は、B社の解析データ2Bに基づいて、B社用の結果ファイル3Bを暗号化する必要があるか否かを判断する(S18)。本実施形態では、ステップS11の取得時の解析データ2Bが暗号化されていなかったことに基づき、制御部10は、ステップS18において「NO」に進む。結果ファイル3Bは、データ格納部11aに格納される。
また、制御部10は、B社用の結果ファイル3Bに対するステップS17〜S20の処理と同様の処理(S17A〜S20A)を、A社用の結果ファイル3Aに対して行う。
ステップS17A〜S20Aにおいて、制御部10は、シミュレーション結果およびA社の解析データ2Aに基づいて、A社の解析データ2Aのデータ領域212(図6(a))のシミュレーション結果を含めるように、A社用の結果ファイル3Aを生成する(S17A)。この場合、図8(c)に示すように、A社用の結果ファイル3Aには、船体部分のデータ部210’に依拠するシミュレーション結果が含まれないこととなる。
次に、制御部10は、A社の解析データ2Aに基づいて、A社用の結果ファイル3Aを暗号化する必要があるか否かを判断する(S18A)。本実施形態では、ステップS11Aの取得時の解析データ2Aが暗号化されていたことに基づき、制御部10は、ステップS18Aにおいて「YES」に進む。
制御部10は、A社用の結果ファイル3Aを暗号化する必要があると判断すると(S18AでYES)、A社の解析データ2Aの第3承認事項203が結果ファイル3Aの第2承認事項になるように、結果ファイル3Aのヘッダ部を設定する(S19A)。本実施形態では、A社の解析データ2Aの第3承認事項203には、A社のシミュレーション装置1Aを示す情報が埋め込まれている(図1参照)。このため、本処理により、結果ファイル3Aの第2承認事項にA社のシミュレーション装置1Aを示す情報が埋め込まれる。
次に、制御部10は、A社の解析データ2Aの第3承認事項203中の暗号化キーを用いて、結果ファイル3Aの暗号化を行う(S20A)。具体的に、制御部10は、結果ファイル3Aのデータ部用のキーを生成して結果ファイル3Aのヘッダ部に埋め込み、ヘッダ部を暗号化キーにより暗号化する。さらに、制御部10は、生成したキーにより結果ファイル3Aのデータ部を暗号化する。暗号化された結果ファイル3Aは、データ格納部11aに格納される。なお、結果ファイル3Aにおいて暗号化される部分は、解析データ2Aのデータ部210に対応するシミュレーション結果の一部分であってもよい。
制御部10は、結果ファイル3Aの暗号化後、一時記憶部11bに保持した各種情報を消去し、本フローチャートによる処理を終了する。
以上の処理によると、A社の解析データ2Aは、本処理を実行するシミュレーション装置1が第2承認事項202に該当する場合にのみ、暗号化されたデータ部210が復号される(S32)。解析データ2Aを用いた解析シミュレーションは、復号されたデータ部210の取り出しができないように規制しながら実行される(S15)。また、各結果ファイル3A,3Bは重なりのないデータ領域212,215毎に生成され(S17,S17A)、A社用の結果ファイル3Aには、A社の解析データ2Aの第3承認事項に応じた閲覧制限が課される(S19A,A20A)。以上の処理により、解析シミュレーションの実行時から結果の出力に及んで、暗号化された情報のセキュリティを確保できる。
以上の説明では、それぞれのデータ領域212,215が重ならないという各解析データ2A,2Bのデータ部210,210’間の関係に基づいて(S16)、結果ファイル3A,3Bがデータ領域212,215毎に生成された。各解析データ2A,2Bのデータ部210,210’のデータ領域が重なる関係の場合には、制御部10は、結果ファイル3Bにおいて重なった領域の結果をマスクすることによって、暗号化されたデータ部210に依拠する結果を結果ファイル3Bに含まれないようにする。
また、以上の説明では、解析データ復号処理(S13,S13A)をコンバート処理として説明したが、これに限らず、例えばアプリケーションにおいて、復号までの処理を行った状態の解析データを直接、出力してもよい。
また、以上の説明では、制御部10は、ステップS17,S17Aにおいて結果ファイル3A,3Bを生成してから暗号化を行ったが、適宜、暗号化を行いながら結果ファイルを作成してもよい。
2−4.結果ファイル復号処理
本実施形態に係る解析データ復号処理について、図面を参照して説明する。本実施形態では、図1に示すように、B社がシミュレーション装置1で生成したA社用の結果ファイル3Aを暗号された状態でA社に提供する。結果ファイル3Aは、可搬性のある記憶媒体に保存された状態でA社に提供されてもよいし、セキュリティ性のネットワークを介してA社に提供されてもよい。A社は、シミュレーション装置1Aにより、暗号化された結果ファイル3Aに結果ファイル復号処理を行うことで、結果ファイル3Aの内容を閲覧できる。以下、図13を用いて、本実施形態に係る結果ファイル復号処理を説明する。
図13は、本実施形態に係る結果ファイル復号処理を示すフローチャートである。本実施形態において、図13に示すフローチャートは、A社のシミュレーション装置1Aの制御部10Aによって実行される。
本フローチャートは、B社において暗号化された結果ファイル3Aが、シミュレーション装置1Aの記憶部11Aに格納された状態において開始される。また、シミュレーション装置1Aの記憶部11Aには、解析データ2を暗号化した際に第3承認事項203に埋め込んだ暗号化キーに対応する復号キーが、格納されていることとする。
まず、制御部10Aは、記憶部11Aから、暗号化された結果ファイル3Aを取得する(S41)。
次に、制御部10Aは、記憶部11Aから、解析データ2を暗号化した際に第3承認事項203に埋め込んだ暗号化キーに対応した復号キーを取得する(S42)。
次に、制御部10Aは、取得した復号キーにより結果ファイル3Aのヘッダ部を復号する(S43)。
次に、制御部10Aは、A社のシミュレーション装置1AのMACアドレス等を参照し、シミュレーション装置1Aが、結果ファイル3Aのヘッダ部中の第2承認事項に該当するか否かを判断する(S44)。
制御部10Aは、A社のシミュレーション装置1Aが第2承認事項に該当すると判断すると(S44でYES)、結果ファイル3Aのヘッダ部に埋め込まれたデータ部用のキーを用いてデータ部を復号し(S45)、本処理を終了する。
一方、制御部10Aは、A社のシミュレーション装置1Aが第2承認事項に該当しないと判断すると(S44でNO)、エラーと判定し(S45)、結果ファイル3Aのデータ部の復号を行うことなく本処理を終了する。
以上の処理によると、A社用の結果ファイル3Aは、本処理を実行するシミュレーション装置1Aが結果ファイル3Aの第2承認事項に該当して且つ復号するためのキーが入手できた場合、すなわち解析データ2Aの第3承認事項203に該当する場合にのみ、暗号化された内容が復号され、閲覧可能になる(S44)。これにより、解析シミュレーションの入力に対して暗号化した情報について、シミュレーション結果に到るまで、セキュリティを確保することができる。
また、結果ファイル3A中のシミュレーション結果には、B社の船体部分の存在を設定した影響が含まれているので(図8(a),(c)参照)、情報のセキュリティを確保しながらA社のB社との協調設計を行い易くすることができる。
3.まとめ
以上のように、本実施形態において、B社のシミュレーション装置1は、1つ又は複数の解析データに基づきシミュレーションを実行する。シミュレーション装置1は、記憶部11と、制御部10とを備える。記憶部11は、暗号化されたヘッダ部200及びデータ部210を有する解析データ2Aを格納する。制御部10は、データ部210の取り出しを制限しながら解析データ2Aに基づくシミュレーションを実行する。解析データ2Aのヘッダ部200は、シミュレーションの実行場所を示す第2承認事項と、シミュレーション結果の閲覧場所を示す第3承認事項203とを含む。制御部10は、ヘッダ部200を復号し、自装置がヘッダ部200に含まれる第2承認事項202に該当する場合にのみデータ部210を用いて、シミュレーションを実行する。制御部10は、データ部210に対するシミュレーション結果の閲覧が、第3承認事項203が示す閲覧場所に制限されるように、シミュレーション結果を示す結果ファイル3Aを暗号化する。
また、本実施形態において、A社のシミュレーション装置1Aは、B社のシミュレーション装置1によるシミュレーションの対象となる解析データ2を暗号化する暗号化装置を構成する。シミュレーション装置1Aは、操作部12と、記憶部11Aと、制御部10Aとを備える。操作部12は、ユーザによって指定された、シミュレーションの実行場所を示す第2承認事項、およびシミュレーション結果の閲覧場所を示す第3承認事項を取得する。記憶部11Aは、ヘッダ部200及びデータ部210を有する解析データ2を格納する。制御部10Aは、記憶部11Aに格納された解析データ2を暗号化する。制御部10Aは、解析データ2のヘッダ部200に、操作部12によって取得された第2承認事項及び第3承認事項を埋め込み、ヘッダ部200とデータ部210とをそれぞれ暗号化する。
以上のシミュレーション装置1,1Aによると、A社が、B社にシミュレーション対象のデータを渡し、B社からシミュレーション結果を受け取るまでに及ぶ情報のセキュリティを確保することができる。
(実施形態2)
実施形態1では、公開キーを用いて解析データのヘッダ部の暗号化が行われた。実施形態2では、解析データのヘッダ部の暗号化に、ユーザが生成した公開キーを用いる。以下、図14,15を参照して、本実施形態に係る動作について説明する。ユーザが公開キーを生成する場合、ペアとなる秘密キーも同時生成される。
図14は、本実施形態に係る解析データ暗号化処理を示すフローチャートである。本実施形態に係る解析データ暗号化処理では、第2,第3承認事項の指定に加えて、ユーザが生成した公開キーも指定される。
図14のフローチャートにおいて、A社のシミュレーション装置1Aの制御部10Aは、実施形態1に係る解析データ暗号化処理(図9)のステップS2に代えて、第2,第3承認事項とともに指定されたユーザが生成した公開キーを取得する(S2A)。
また、制御部10Aは、図9のステップS6に代えて、ユーザが生成した公開キーを用いて解析データ2Aのヘッダ部の暗号化を行う(S6A)。
以上の処理により、公開キーにより暗号化された解析データ2Aは、復号時に、暗号化で用いた公開キーに対応する秘密キーを知得する必要がある。以下、秘密キーがA社からB社に提供されることにより、B社のシミュレーション装置1で行われる解析データ復号処理について、図15を用いて説明する。
図15は、本実施形態に係る解析データ復号処理を示すフローチャートである。本フローチャートは、図14のステップS2Aにおいて指定された公開キーと同時生成された秘密キーが、B社のシミュレーション装置1の記憶部11に予め格納された状態において開始される。
本実施形態に係る解析データ復号処理では、実施形態1に係る解析データ復号処理(図12)のステップS31に代えて、B社のシミュレーション装置1の制御部10は、図15のステップS31A,S31Bの処理を行う。
ステップS31Aにおいて、B社のシミュレーション装置1の制御部10は、記憶部11から、解析データ暗号化処理で同時生成された秘密キーを取得する。
次に、制御部10は、取得した秘密キーを用いて、解析データ2Aのヘッダ部を復号する(S31B)。
以上のように、A社のシミュレーション装置1Aにおいてユーザが生成した公開キーにより暗号化された解析データ2Aは、暗号化した公開キーに対応した秘密キーを知得しなければ復号することができない。このため、暗号化を行ったA社から秘密キーが提供されない限り、他社は、(例えアプリケーションベンダーであっても)利用できないこととなり、解析データ2Aの秘匿性を向上することができる。
(実施形態3)
本実施形態では、解析データの暗号化において、セキュリティ性を向上する方法について説明する。以下、図16、図17及び図18を参照して、本実施形態を説明する。
図16は、本実施形態に係る解析データ2A’のデータ構造を説明するための図である。17は、本実施形態に係る解析データ暗号化処理を示すフローチャートである。本実施形態に係る暗号化後の解析データ2A’は、暗号化の対象のデータ部210に対応するヘッダ部200’が、第1及び第2ヘッダ200a,200bに分かれ、第1及び第2ヘッダ200a,200bの順番に読み込まれるように構成される。
実施形態1では、解析データ2Aの暗号化の際、ヘッダ部200に、データ部用のキー201と、第2承認事項202と、第3承認事項203とが埋め込まれた(図9のステップS3,S4,S5参照)。本実施形態では、図16に示すように、第2承認事項202は、第1ヘッダ200aに埋め込まれる(図17のステップS4A)。一方、データ部用のキー及び第3承認事項は、第1及び第2ヘッダ200a,200bに分割して埋め込まれる(ステップS5A)。
ステップS5Aにおいて、制御部10Aは、第3承認事項の指定に基づき、第3承認事項及びデータ部用のキーの一部を示す情報203a,201aと残部を示す情報203b,201bとが揃わなければ、第3承認事項が意味をなさないように、各情報203a,201a,203b,201bを生成する。制御部10Aは、各情報203a,201a,203b,201bを、それぞれ第1及び第2ヘッダ200a,200bに埋め込む。
また、本実施形態では、第1ヘッダ200aの暗号化には、アプリケーションが保有する公開キーを用いてもよいし、ユーザが生成した公開キーを用いてもよい(図17のステップS6B)。一方、第2ヘッダ200bの暗号化には、公開キーを用いる(図17のステップS6C)。
また、本実施形態では、図17に示すように、制御部10Aは、解析データ2A’の暗号化の際に、第1及び第2ヘッダ200a,200bのそれぞれに対してスクランブル処理を行う(S8)。なお、スクランブル処理の対象は第1及び第2ヘッダ200a,200bに限らず、例えばデータ部210を含んでもよい。
以上のように暗号化された解析データ2A’に対する解析データ復号処理について、図18を用いて説明する。
図18は、本実施形態に係る解析データ復号処理を示すフローチャートである。本実施形態に係る解析データ復号処理において、制御部10は、まず、暗号化された解析データ2A’における第1及び第2ヘッダ200a,200bのそれぞれに対してデスクランブル処理を行う(S30)。
次に、制御部10は、第1及び第2ヘッダ200a,200bの内で先に読み込まれる第1ヘッダ200aを復号する(S31A)。第1ヘッダ200aには、上述のとおり、第2承認事項202が埋め込まれている。
制御部10は、第2ヘッダ200bの復号を行う前に、ステップS32の第2承認事項202に関する判断を行う。このため、制御部10が、シミュレーション装置1が第2承認事項202に該当しないと判断し(S32でNO)、エラー判定を行った場合(S34)、第2ヘッダ200bが復号されず、データ部用のキー等の情報が取り出されないこととなる。
一方、制御部10は、シミュレーション装置1が第2承認事項202に該当すると判断すると(S32でYES)、公開キーのペアの秘密キーによって第2ヘッダ200bを復号する(S31B)。
次に、制御部10は、第1及び第2ヘッダ200a,200bの復号結果に基づいて、データ部用のキーと第3承認事項を再構成する(S31C)。これにより、制御部10が、ステップS33でデータ部用のキーを用いて、データ部210を復号することが可能となる。
以上の処理により、第2承認事項の承認がなされない限り、解析データ2A’のデータ部210の復号は為されず、解析データ2A’のセキュリティ性を向上することができる。
以上の説明では、第2ヘッダ200bの暗号化に公開キーを用いた。これにより、シミュレーション装置1は、内部的に保持したペアの秘密キーを用いて、第2ヘッダ200bを復号することができた。第2ヘッダ200bの暗号化には、ユーザが生成する公開キーを用いてもよい。この場合、例えば、ペアの秘密キーが第1ヘッダ200aに埋め込まれてもよい。
(実施形態4)
実施形態1では、B社が、A社から提供された解析データと自社の解析データを用いて、解析シミュレーションを行う例について説明した。本実施形態では、A社及びB社から解析データを提供されたC社が解析シミュレーションを行う例について説明する。
図19は、実施形態4に係るシミュレーション装置(及び暗号化装置)が構成するシステムを説明するための図である。図19において、C社は、例えば数値シミュレーションを専業とするメーカである。
A社では、シミュレーション装置1Aが、上記各実施形態と同様の解析データ暗号化処理を行い、解析データ2を暗号化する。A社はC社に暗号化された解析データ2Aを提供する。
B社では、シミュレーション装置1Aと同様の構成を有するシミュレーション装置1Bが、シミュレーション装置1Aと同様に解析データ暗号化処理を行い、解析データ2Bを暗号化する。B社はC社に、解析データ2Bが暗号化された解析データ2B’を提供する。
C社では、シミュレーション装置1の制御部10が、A社及びB社の解析データ2A,2B’に基づき、実施形態1と同様の協調設計シミュレーション処理(図10,11)を行う。
本実施形態では、B社の解析データ2B’が暗号化されているため、制御部10は、図10のステップS12では「YES」に進み、解析データ復号処理を行う(S13)。ここで、図19に示すように、B社の解析データ2B’の第2承認事項にC社のシミュレーション装置1が設定されていることで、上記の各実施形態と同様に、解析データ復号処理において解析データ2B’の復号が行われる。制御部10は、ステップS12で「YES」に進み、A社の解析データ2Aの復号後、解析シミュレーションを行う(S15)。
また、本実施形態では、B社用の結果ファイル3Bも暗号化される。このため、C社は解析シミュレーションを実行するが、結果ファイル3A,3Bの閲覧はできないこととなる。以上のように、業務委託で協調設計シミュレーションを行う際のセキュリティ性を向上することができる。
(実施形態5)
実施形態1では、A社及びB社による複数の解析データを用いて解析シミュレーションを行う例について説明した。本実施形態では、1つの解析データを用いて解析シミュレーションを行う例について説明する。
開発中の形状データや解析条件などは、企業においては高度なセキュリティを必要とされるこれらの情報には企業内のある部署においてのみ取り扱いが許される情報もある一方、アプリケーションは部署をまたがって同じものを使うことも多い。このため、社内で用いるデータ自体に対してセキュリティを課すことが求められている。また、コンピュータ資源を有効に活用するために、CAE等においてもクラウドの活用が検討されているが、重要なデータを社外に出すことになり、クラウド等を利用するうえで大きな障壁になっている。これに対して、本開示技術によると、1つのデータをアプリケーションに入力する際にも、第2及び第3承認事項を設定して暗号化することで、解析データ及び結果ファイルの閲覧を制限することができる。このため、データが暗号化された状態で自社内、クラウド上で利用することができる。
図20は、実施形態5に係るシミュレーション装置(及び暗号化装置)が構成するシステムを説明するための図である。図20では、A社が社内において、解析データ2の管理端末(シミュレーション装置1A)とは別のシミュレーション装置1で解析シミュレーションを行う際に、シミュレーション装置1において解析データ2及び結果ファイル3を閲覧できないようにしている。なお、解析データ2の管理端末は、シミュレーション装置でなくてもよく、上記各実施形態の解析データ暗号処理、結果ファイル復号処理が実行可能で結果ファイル3の閲覧機能を有する情報処理装置であってもよい。
図21は、本実施形態に係る解析シミュレーション処理を示すフローチャートである。図21に示すフローチャートは、暗号化された解析データAが入力されたシミュレーション装置1の制御部10により実行される。
本実施形態に係る解析シミュレーション処理において、制御部10は、解析データ2Aに対して図10のステップS11A〜S14Aと同様の処理を行い、1つの解析データAに対する解析シミュレーションを実行する(S15A)。
また、制御部10は、シミュレーション結果に対して図11のステップS17A〜S20Aと同様の処理を行い、暗号化された結果ファイル3Aを出力する。
以上の処理により、第2承認事項には該当するが第3承認事項には該当しないシミュレーション装置1において、閲覧を制限しながら解析シミュレーションが行われ、シミュレーション装置1Aでのみ閲覧可能な結果ファイル3を得ることができる。
(他の実施形態)
実施形態3では、解析データ暗号化処理において第1及び第2ヘッダ200a,200bのそれぞれに対してスクランブル処理を行った(図17のステップS17)。上記の各実施形態1,2,4,5における解析データ暗号化処理においてスクランブル処理を行ってもよい。この場合、適宜、解析データ復号処理においてデスクランブル処理を行う
上記の各実施形態では、本発明に係るシミュレーション装置及び暗号化装置の一例として、造船業界における使用例を説明した。本発明は、造船業界に限らず種々の技術分野に適用可能であり、例えば、自動車、ターボ機器、機械、重工業、建築、土木、化学、薬品バイオ業界などにおける種々の解析シミュレーションに適用可能である。
上記の各実施形態では、ヘッダ部の暗号化にRSA方式を適用し、データ部の暗号化にAES方式を適用したが、これに限らず、種々の暗号化方式を用いてもよい。例えば、AES方式に代えて、RC4,DES,3DES方式などの他の共通鍵暗号方式を用いてもよい。また、RSA方式に代えて、ElGamal,Diffie−Hellman/DSS方式などの他の共通鍵暗号方式を用いてもよいし、共通鍵暗号方式以外の暗号化方式を用いてもよい。
1,1A,1B,1C シミュレーション装置
10,10A 制御部
11,11A 記憶部
12 操作部(取得部)
2,2A,2A’,2B,2B’ 解析データ
3,3A,3B,3B’ 結果ファイル

Claims (9)

  1. 1つ又は複数の解析データに基づきシミュレーションを実行するシミュレーション装置であって、
    暗号化されたヘッダ部及びデータ部を有する第1の解析データを格納する記憶部と、
    前記データ部の取り出しを制限しながら前記第1の解析データに基づくシミュレーションを実行する制御部とを備え、
    前記第1の解析データのヘッダ部は、前記シミュレーションの実行場所を示す情報と、シミュレーション結果の閲覧場所を示す情報とを含み、
    前記制御部は、
    前記ヘッダ部を復号し、自装置が前記ヘッダ部に含まれる実行場所を示す情報に該当する場合にのみ前記データ部を用いて、前記シミュレーションを実行し、
    前記データ部に対するシミュレーション結果の閲覧が、前記閲覧場所に制限されるように、前記シミュレーション結果を示す第1の結果ファイルを暗号化する
    シミュレーション装置。
  2. 前記記憶部は、シミュレーション対象の少なくとも一部を構成するデータ部及びヘッダ部を有する第2の解析データを格納し、
    前記制御部は、
    前記第1及び第2の解析データに基づきシミュレーションを実行した後、
    シミュレーション結果全体のうちで前記第1の解析データのデータ部に依拠する結果を含めずに前記第2の解析データのデータ部に対する結果を含めるように、第2の結果ファイルを生成する
    請求項1に記載のシミュレーション装置。
  3. 前記記憶部は、シミュレーション対象の少なくとも一部を構成するデータ部及びヘッダ部を有する第2の解析データを格納し、
    前記制御部は、
    前記第1及び第2の解析データに基づきシミュレーションを実行した後、
    シミュレーション結果全体のうちで前記第2の解析データのデータ部に依拠する結果を含めずに前記第1の解析データのデータ部に対する結果を含めるように、第1の結果ファイルを生成する
    請求項1又は2に記載のシミュレーション装置。
  4. 前記第2の解析データのヘッダ部及びデータ部が暗号化されており、
    前記第2の解析データのヘッダ部が、前記第1の解析データのヘッダ部に含まれる閲覧場所とは異なる閲覧場所を示す情報を含む場合、
    前記制御部は、
    前記第1及び第2の解析データに基づき実行したシミュレーション結果全体のうちで前記第2の解析データのデータ部に依拠する結果の閲覧が、前記第2の解析データの閲覧場所に制限されるように、第2の結果ファイルを暗号化する
    請求項2又は3に記載のシミュレーション装置。
  5. 前記第1の解析データのヘッダ部は、前記第1の解析データのデータ部を復号するためのデータ部用のキーを示す情報、及び前記第1の結果ファイルを暗号化するための暗号化キーを示す情報をさらに含む
    請求項1〜4のいずれか1項に記載のシミュレーション装置。
  6. 前記第1の解析データのヘッダ部は、第1ヘッダ部分と第2ヘッダ部分とを含み、
    前記実行場所を示す情報は、前記第1ヘッダ部分に埋め込まれ、
    前記第1の解析データのデータ部用のキー及び前記第1の結果ファイルの暗号化キーは、それぞれ前記第1ヘッダ部分と前記第2ヘッダ部分とに分割して埋め込まれており、
    前記制御部は、
    前記第1ヘッダ部分を復号し、
    前記第1ヘッダ部分の復号結果に基づいて、自装置が前記実行場所に該当する場合にのみ前記第2ヘッダ部分を復号する
    請求項5に記載のシミュレーション装置。
  7. シミュレーション装置が1つ又は複数の解析データに基づきシミュレーションを実行する方法であって、
    前記シミュレーション装置の記憶部には、暗号化されたヘッダ部及びデータ部を有する解析データが格納され、
    前記解析データのヘッダ部は、前記シミュレーションの実行場所を示す情報と、前記データ部の閲覧場所を示す情報とを含み、
    前記シミュレーション装置の制御部が、
    前記解析データのヘッダ部を復号するステップと、
    前記解析データのヘッダ部の復号結果に基づき、自装置が前記ヘッダ部に含まれる実行場所を示す情報に該当する場合にのみ前記データ部を復号するステップと、
    前記データ部の取り出しを制限しながら前記解析データに基づくシミュレーションを実行するステップと、
    前記データ部に対するシミュレーション結果の閲覧が前記閲覧場所に制限されるように、前記シミュレーション結果を示す結果ファイルを暗号化するステップと
    を含む方法。
  8. 請求項7に記載の方法をシミュレーション装置に実行させるためのプログラム。
  9. シミュレーション装置によるシミュレーションの対象となる解析データを暗号化する暗号化装置であって、
    前記シミュレーションの実行場所を示す情報、およびシミュレーション結果の閲覧場所を示す情報を取得する取得部と、
    ヘッダ部及びデータ部を有する解析データを格納する記憶部と、
    前記記憶部に格納された解析データを暗号化する制御部とを備え、
    前記制御部は、
    前記解析データのヘッダ部に、前記取得部によって取得された実行場所を示す情報と、前記取得部によって取得された閲覧場所を示す情報とを埋め込み、
    前記ヘッダ部と前記データ部とをそれぞれ暗号化する
    暗号化装置。
JP2016016662A 2016-01-29 2016-01-29 シミュレーション装置、方法、プログラム及び暗号化装置 Active JP5976967B1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016016662A JP5976967B1 (ja) 2016-01-29 2016-01-29 シミュレーション装置、方法、プログラム及び暗号化装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016016662A JP5976967B1 (ja) 2016-01-29 2016-01-29 シミュレーション装置、方法、プログラム及び暗号化装置

Publications (2)

Publication Number Publication Date
JP5976967B1 JP5976967B1 (ja) 2016-08-24
JP2017135687A true JP2017135687A (ja) 2017-08-03

Family

ID=56759984

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016016662A Active JP5976967B1 (ja) 2016-01-29 2016-01-29 シミュレーション装置、方法、プログラム及び暗号化装置

Country Status (1)

Country Link
JP (1) JP5976967B1 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002175381A (ja) * 2000-12-07 2002-06-21 Mitsui Zosen Plant Engineering Inc 仮想創作物の実体物化システムおよび図形データ構造並びに記録媒体
JP2003006238A (ja) * 2001-06-22 2003-01-10 Asahi Glass Co Ltd 車両窓用部材の設計評価支援システム
JP2007034389A (ja) * 2005-07-22 2007-02-08 Casio Comput Co Ltd ライセンス認証装置及びライセンス認証方法
JP2015106279A (ja) * 2013-11-29 2015-06-08 京セラドキュメントソリューションズ株式会社 画像形成装置、端末、ファイル閲覧制御システム、及び画像形成方法
JP2015130144A (ja) * 2014-01-06 2015-07-16 富士通株式会社 第三者遠隔製品シミュレーションに機密構造コンポーネントを含める方法及び装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002175381A (ja) * 2000-12-07 2002-06-21 Mitsui Zosen Plant Engineering Inc 仮想創作物の実体物化システムおよび図形データ構造並びに記録媒体
JP2003006238A (ja) * 2001-06-22 2003-01-10 Asahi Glass Co Ltd 車両窓用部材の設計評価支援システム
JP2007034389A (ja) * 2005-07-22 2007-02-08 Casio Comput Co Ltd ライセンス認証装置及びライセンス認証方法
JP2015106279A (ja) * 2013-11-29 2015-06-08 京セラドキュメントソリューションズ株式会社 画像形成装置、端末、ファイル閲覧制御システム、及び画像形成方法
JP2015130144A (ja) * 2014-01-06 2015-07-16 富士通株式会社 第三者遠隔製品シミュレーションに機密構造コンポーネントを含める方法及び装置

Also Published As

Publication number Publication date
JP5976967B1 (ja) 2016-08-24

Similar Documents

Publication Publication Date Title
CN109844751B (zh) 用于提供信息隔离的方法和处理器
CN112005237B (zh) 安全区中的处理器与处理加速器之间的安全协作
EP3229397B1 (en) Method for fulfilling a cryptographic request requiring a value of a private key
US20120079282A1 (en) Seamless end-to-end data obfuscation and encryption
CN103221961B (zh) 包括用于保护多用户敏感代码和数据的架构的方法和装置
JP6652771B2 (ja) アクセス管理方法、情報処理装置、プログラム、及び記録媒体
US20160254912A1 (en) Systems and methods for privacy-preserving functional ip verification utilizing fully homomorphic encryption
JP6955378B2 (ja) データ管理方法およびコンピュータプログラム
CN105320895B (zh) 用于联机加密处理的高性能自主硬件引擎
CN103514414A (zh) 一种基于ARM TrustZone的加密方法及加密系统
JPWO2012157166A1 (ja) 仮想計算機システム、仮想計算機システムの制御方法、仮想計算機システムの制御プログラム、及び集積回路
Saha et al. SoC: a real platform for IP reuse, IP infringement, and IP protection
KR101047884B1 (ko) 가상 환경을 이용한 데이터 보호 방법과 장치 및 이 방법을 수행하는 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체
JP5976967B1 (ja) シミュレーション装置、方法、プログラム及び暗号化装置
CN103049705A (zh) 一种基于虚拟化的安全存储方法、终端及系统
CN106326782A (zh) 一种信息处理方法及电子设备
CN107078897A (zh) 用于失序数据的推定的密码处理
CN104182691A (zh) 数据保密方法及装置
CN114996725B (zh) 一种保护开发程序的方法以及处理器
JP2010257045A5 (ja)
Zhang et al. A reverse engineering-based framework assisting hardware Trojan detection for encrypted IPs
Konstantinou et al. Privacy-preserving functional IP verification utilizing fully homomorphic encryption
JP2010244261A (ja) 情報処理装置、情報処理方法
CN107688729B (zh) 基于可信主机的应用程序保护系统及方法
CN104951407A (zh) 一种可加密u盘及其加密方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160531

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160620

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160712

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160720

R150 Certificate of patent or registration of utility model

Ref document number: 5976967

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250