以下、添付の図面を参照して本発明に係るシミュレーション装置、方法、プログラム及び暗号化装置の実施の形態を説明する。なお、以下の各実施形態において、同様の構成要素については同一の符号を付している。
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方式などの他の共通鍵暗号方式を用いてもよいし、共通鍵暗号方式以外の暗号化方式を用いてもよい。