(57)【要約】      （修正有）【課題】秘密鍵の暗号関数を実装するための方法を提供する。【解決手段】秘密鍵の暗号関数を実装するための方法は、装置１のデータ処理手段１１によって秘密鍵の暗号関数を表す、暗号マクロ命令の一意のシーケンスを所与の仮想マシンによって実行可能な暗号マクロ命令のジェネリックリストおよびシーケンスを記述したデータの個別ファイルに基づいて構築することと、仮想マシンによって、暗号マクロ命令の一意のシーケンスを実行することとに存するステップの実装を含む。【選択図】図１
2019175461.tif 000002
【特許請求の範囲】
【請求項１】
秘密鍵の暗号関数を実装するための方法であって、装置（１）のデータ処理手段（１１）によって：
（ｂ）  前記秘密鍵の前記暗号関数を表す、暗号マクロ命令の一意のシーケンスを：
所与の仮想マシンによって実行可能な暗号マクロ命令のジェネリックリスト；および
前記シーケンスを記述したデータの個別ファイル；
に基づいて構築することと、
（ｃ）  前記仮想マシンによって、暗号マクロ命令の前記一意のシーケンスを実行することと
に存するステップの実装を含むことを特徴とする、方法。
【請求項２】
前記個別ファイルが、暗号マクロ命令の前記一意のシーケンスを、暗号マクロ命令の前記ジェネリックリストの要素のシーケンスとして定義する、請求項１に記載の方法。
【請求項３】
前記シーケンスを記述した前記データが、暗号マクロ命令の前記ジェネリックリストにおける前記シーケンスのマクロ命令のそれぞれを連続して識別する、請求項２に記載の方法。
【請求項４】
個別ファイルが、秘密鍵と一意に関連付けられている、請求項１から３のいずれかに記載の方法。
【請求項５】
個別ファイルが、秘密鍵の関数である、請求項４に記載の方法。
【請求項６】
前記仮想マシンを実装することができ、仮想マシンによって実行可能な暗号マクロ命令の、および前記個別ファイルの前記ジェネリックリストを含むジェネリックアプリケーションを得る事前のステップ（ａ）を含む、請求項１から５のいずれかに記載の方法。
【請求項７】
前記個別ファイルを得るステップが、前記アプリケーションによるその後のファイルのローディングを含む、請求項６に記載の方法。
【請求項８】
ジェネリックアプリケーションが、装置（１）によって第１のアプリケーションプラットフォームサーバ（２）からロードされ、個別ファイルが、アプリケーションによって、秘密鍵を保持する第２のサーバ（３）からロードされる、請求項７に記載の方法。
【請求項９】
個別ファイルのロードディングが、あらかじめ第２のサーバ（３）への要求の送出と、第２のサーバ（３）による秘密鍵からの個別ファイルの生成と、装置（１）による個別ファイルの受領とを含む、請求項５および８の組合せに記載の方法。
【請求項１０】
装置（１）のユーザの秘密鍵の暗号関数を表す、暗号マクロ命令の一意のシーケンスを：
所与の仮想マシンによって実行可能な暗号マクロ命令のジェネリックリスト；および
前記シーケンスを記述したデータの個別ファイル；
に基づいて構築し、
前記仮想マシンによって、ユーザの個別の鍵の前記暗号関数を実装するように、暗号マクロ命令の前記一意のシーケンスを実行する
ように構成されたデータ処理手段（１１）を備えることを特徴とする、装置（１）。
【請求項１１】
プログラムがコンピュータによって実行されるとき、秘密鍵の暗号関数を実装するための請求項１から９のいずれかに記載の方法を実行するためのコード命令を備える、コンピュータプログラム製品。
【請求項１２】
コンピュータプログラム製品が、秘密鍵の暗号関数を実装するための請求項１から９のいずれかに記載の方法を実行するためのコード命令を備える、コンピュータ装置可読記憶手段。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、暗号法の分野に関し、詳しくは、「ホワイトボックス」タイプの暗号方法に関する。
【背景技術】
【０００２】
関数は、その内部機能にアクセスすることができないとき、すなわち、その入力および出力は知ることができるが、その秘密パラメータ（鍵）またはその中間状態は知ることができないとき、「ブラックボックス」とみなされる。
【０００３】
したがって、暗号アルゴリズム（例えば、暗号化またはシグネチャの）は、それらの信頼性（耐攻撃性）が評価されたとき、ブラックボックスであると従来仮定される。
【０００４】
この仮定は、これらのパラメータの記憶および操作に対して強い制約を課す。しかし、補助チャネルまたはフォールト攻撃と呼ばれる、ハードウェア実装に対する攻撃の自動化を可能にするツールが最近公開されている。
【０００５】
今日、モバイル決済を含む多くの使用の場合に、ターゲットハードウェアのセキュリティに関する最小限の仮定を有する暗号アルゴリズムを配備することが必要である。次いで、秘密パラメータの安全な記憶および操作を適用レベルで確実にしなければならない。
【０００６】
ホワイトボックス暗号法と呼ばれる暗号法は、攻撃者がアルゴリズムのソフトウェア実装に完全にアクセスすることができる攻撃の場合でも、秘密の抽出を不可能にすると考えられる暗号アルゴリズムの実装を提案することによってこの課題に対応することを目的とする。より正確には、関数は、その機構が可視であり、その機能を理解することを可能にするとき、「ホワイトボックス」とみなされる。言い換えれば、攻撃者は自分の欲するすべてのものにアクセスすることができる（バイナリは、そのとき実行プラットフォームを完全に制御する攻撃者によって完全に可視であり、変更可能である）ことが直接仮定される。したがって、実装自体が唯一の防衛線である。
【０００７】
したがって、暗号アルゴリズムの実装を保護するために、解決策は、表による計算を表すことによって、鍵を関数と、それらを使用して統合することに存する。これは鍵を可視にすることを回避し、それらは「ホワイトボックス化」されると言われる。
【０００８】
しかし、この解決策は、いくつかのオペレーティングシステム（ＯＳ）とは互換性がないことが判明しており、特に、コードの検証後、「ストア」（例えば、ｉＯＳのアプリストア）と呼ばれる公式アプリケーションンプラットフォームからだけのコードローディングを可能にし、中間ユーザ（例えば、セキュリティソフトウェア提供者）または最終ユーザ（電話の所有者）によるローディングまたはその後のコード変更を可能にしないモバイルのものとは互換性がないことが判明している。
【０００９】
実際、鍵をホワイトボックス化することは、アルゴリズムを実装するコードが鍵ごとに、すなわち、ユーザごとに異なることを含意する。
【００１０】
すると、ＯＳのアプリケーションンプラットフォームがアプリケーションの各個別バージョンを個別に許可することが必要とされるが、それは不可能である。
【００１１】
あるいは、アプリケーションの共通バージョンの公式プラットフォームを介したローディングをアプリケーションンプラットフォームが許可することが必要とされ、その場合、認定組織が個別コードブロックを挿入するが、ローディング時に提案される一連のコードがＯＳ提供者による検証および許可を事前に受けていることを条件とする現在のプロセスにおいてそのような「違反」をＯＳ提供者が承諾しそうにない。
【発明の概要】
【発明が解決しようとする課題】
【００１２】
したがって、アプリケーションを公式、特にモバイルのＯＳプラットフォーム上で利用可能にするプロセスと引き続き互換性がある新たな「ホワイトボックス」解決策を有することが望ましい。
【課題を解決するための手段】
【００１３】
第１の態様によれば、本発明は、秘密鍵の暗号関数を実装するための方法に関し、方法は、装置のデータ処理手段によって：
（ｂ）  前記秘密鍵の前記暗号関数を表す、暗号マクロ命令の一意のシーケンスを：
−  所与の仮想マシンによって実行可能な暗号マクロ命令のジェネリックリスト；および
−  前記シーケンスを記述したデータの個別ファイル；
に基づいて構築することと、
（ｃ）  前記仮想マシンによって、暗号マクロ命令の前記一意のシーケンスを実行することと
に存するステップの実装を含むことを特徴とする。
【００１４】
他の有利なおよび非限定的な特徴によれば：
・  前記個別ファイルは、暗号マクロ命令の前記一意のシーケンスを暗号マクロ命令の前記ジェネリックリストの要素のシーケンスとして定義し；
・  前記シーケンスを記述した前記データは、暗号マクロ命令の前記ジェネリックリストにおける前記シーケンスのマクロ命令のそれぞれを連続して識別し；
・  個別ファイルは、秘密鍵と一意に関連付けられ；
・  ジェネリックアプリケーションを得る事前ステップ（ａ）は、前記仮想マシンを実装することができ、仮想マシンによって実行可能な暗号マクロ命令の、および前記個別ファイルの前記ジェネリックリストを含み；
・  前記個別ファイルを得ることは、前記アプリケーションによるファイルのその後のローディングを含み；
・  ジェネリックアプリケーションは、装置によって、第１のアプリケーションンプラットフォームサーバからロードされ、個別ファイルは、アプリケーションによって、秘密鍵を保持する第２のサーバからロードされ、
・  個別ファイルのローディングは、あらかじめの第２のサーバへの要求の送出と、第２のサーバによる秘密鍵からの個別ファイルの生成と、装置による個別ファイルの受領とを含む。
【００１５】
第２の態様によれば：
−  装置のユーザの秘密鍵の暗号関数を表す、暗号マクロ命令の一意のシーケンスを：
○  所与の仮想マシンによって実行可能な暗号マクロ命令のジェネリックリスト；および
○  前記シーケンスを記述したデータの個別ファイル；
に基づいて構築し；
−  前記仮想マシンによって、ユーザの秘密鍵の前記暗号関数を実装するように、暗号マクロ命令の前記一意のシーケンスを実行する：
ように構成されたデータ処理手段を備えることを特徴とする装置が提案される。
【００１６】
第３および第４の態様によれば、本発明は、秘密鍵の暗号関数の実装の第１の態様による方法を実行するためのコード命令を備えるコンピュータプログラム製品、およびコンピュータプログラム製品が秘密鍵の暗号関数の実装の第１の態様による方法を実行するためのコード命令を備えるコンピュータ装置可読記憶手段を提案する。
【００１７】
本発明の他の特徴および利点は、好ましい実施形態の以下の説明を読むことにより、明らかとなるであろう。この説明は、添付の図面を参照して行われる。
【図面の簡単な説明】
【００１８】
【図１】本発明による方法を実装するためのアーキテクチャの図である。
【図２】本発明による方法の実施形態のステップ（ａ）の例示的な実装を示す図である。
【発明を実施するための形態】
【００１９】
アーキテクチャ
図１を参照すると、モバイル端末（スマートフォン、タッチパッドなど）などの装置１、すなわち、安全なハードウェアを特に有さず、ハードウェアの実装に対する攻撃の対象となり得、ホワイトボックス方式が有用となる装置内に実装される「ホワイトボックス」暗号関数を実装するための方法が提案される。
【００２０】
装置１は、データ処理手段１１（プロセッサなどの処理ユニット）と、データ記憶手段１２（メモリ、例えば、フラッシュメモリ）とを備える。
【００２１】
装置１は、例えば、インターネットネットワーク２を介して第１のサーバ２および／または第２のサーバ３に接続することができる。各サーバ２、３は、データ処理手段２１、３１を備えることができる。第１のサーバは、アプリケーションンプラットフォーム、特に、装置１のオペレーティングシステムに関付けられた公式アプリケーションンプラットフォームのもの（例えば、装置１がｉＯＳモバイル端末である場合アプリストアのもの）であることができ、第２のサーバは、セキュリティソリューション提供者のものであることができる。
【００２２】
わかるように、好ましい実施形態において、装置１は、本方法の実装に対して、第１のサーバ２からアプリケーションおよび第２のサーバ３からデータファイルを得ることが必要とされることになる。
【００２３】
装置１は、それ自体、他の第三者のサーバに接続することができ、例えば、本方法の手段によって得られたメッセージをそれと交換することができる。
暗号関数
本方法は、個別の秘密鍵（または秘密鍵の個別の組合せ）、特に、装置１のユーザの鍵の暗号関数を実装するための方法である。第２のサーバ３は、秘密鍵（および一般に複数のユーザの鍵）を保持できることに留意されたい。
【００２４】
暗号関数は、「暗号化または暗号化解除」であることができ、それは、必要に応じて、データを暗号化または暗号化解除することを可能にすることを意味する。あるいは、暗号関数は、シグネチャであることができ、すなわち、ユーザが文書に変更不可に署名することを可能にする。
【００２５】
当業者は、装置１の外では知られるべきではない秘密を伴う、任意の対称または非対称暗号関数に本方法を適用することができるであろう。
【００２６】
本方法は知られているアルゴリズムの新たな実装であることが理解されよう。より具体的には、本方法は、新たな暗号戦略を提案するのではなく、「ホワイトボックス」においてすべてのハードウェア攻撃に対して耐性がある、アルゴリズム内のデータを操作する新たなやり方を提案するだけである。したがって、ユーザの秘密鍵は、装置１のメモリ１２にアクセスすることができる第三者がクリア鍵を読むことができないように、暗号関数で「難読化」され、すなわち、入力パラメータである代わりに後者と統合される（したがって、暗号関数は個別化される）。
【００２７】
言い換えると、本明細書では「難読化」という用語は、ホワイトボックス暗号法の文脈内で意味され、すなわち、具体的には、環境にアクセスできるであろう第三者による抽出を防止するような秘密鍵の埋設に関し、任意の暗号問題にかかわらず、一般的なやり方でリバースエンジニアリングを防止するために、あるコンピュータコードを「判読不能または理解不能」にするという事実であるコード難読化と混同されるべきではないことが理解されよう。
【００２８】
したがって、目的は、現在、秘密鍵の前記暗号関数の白色化された実装、すなわち、秘密鍵を難読化する実施である。
【００２９】
本方法は、装置１のデータ処理手段１１によって実装される。本方法は、公式アプリケーションンプラットフォームを使用し続けながら暗号関数を個別化する技巧を実現する。
【００３０】
図２を参照すると、この目的のための本方法は２つの要素を組み合わせる：
−  所与の仮想マシンによって実行可能な、特に、やはりジェネリックであるアプリケーション（Ａと記載）によって含まれる暗号マクロ命令のジェネリックリスト（Ｌと記載）；および
−  個別データファイル（Ｆと記載）。
【００３１】
「ジェネリック」とは、ユーザに特有の個別ファイルに対して、すべてのユーザに共通であることを意味する。
【００３２】
わかるように、仮想マシンによるこれらの２つの要素の組合せにより、前記秘密鍵の前記暗号関数、すなわち、個別化した関数を表す、暗号マクロ命令の一意のシーケンスの構築が可能になる。言い換えれば、暗号マクロ命令の一意のシーケンスは、前記秘密鍵の前記暗号関数の白色化された実装を構成する、すなわち、秘密鍵を難読化する。
【００３３】
任意選択のステップ（ａ）において、２つの要素は、装置１によって得られる。図２を参照すると、ジェネリックリストを得るステップは、（ａ１）と記載され、個別ファイルを得るステップは、（ａ２）と記載される。
【００３４】
このステップ（ａ）は、１回だけ実装される必要があり、次いで、方法の残りは、暗号関数を実装することが所望されるときはいつでも実装することができることが理解されよう。
【００３５】
説明したように、リストは、好ましくは、仮想マシンを実装することができるジェネリックアプリケーションに含まれる（すなわち、装置１の処理手段１１の仮想マシンの実行に必要なコードを含む）。このアプリケーションは、すべてのユーザに共通であり、したがって、プラットフォームを実装するサーバ２からジェネリックにダウンロード可能であるように（すなわち、ユーザの秘密鍵にかかわらず、すべてのユーザによって）アプリケーションンプラットフォームに提案することができる（それは認証プロセスを経ることができる）。
【００３６】
仮想マシンは、暗号マクロ命令を「カプセル化」することを可能にする。より具体的には、これらは、仮想マシンによって実行可能であるが、装置のデータ処理手段１１によって実行可能ではない言語で書かれる（すなわち、ＯＳによって認識される言語ではない）。したがって、仮想化により、ＯＳから孤立して多様なコードの実行が可能になり、これは「サンドボックス化」と呼ばれる。仮想マシンによって実行可能なこの言語は、好ましくは、あらゆるマクロ命令を実施するコードおよびデータを含む低レベルのバイトコードである。
【００３７】
一方、仮想マシンは、有利には、性能を改善するのに可能な限り単純であり、特に、純粋なアルゴリズムの仮想マシンである。
【００３８】
これは、それが任意の外部機能を可能にしない、すなわち、入力／出力なし、ドライバなし、ネットワークアクセスなし、ファイルアクセスなし、および絶対的にオペレーティングシステムとの相互作用なしであることを意味する。しかし、もちろん、仮想マシンはランダムアクセスメモリ（ＲＡＭ）にアクセスして作業できることは可能であるが、その他の記憶システムにはアクセスできない。このように、記憶領域は、アプリケーションによって使用されるメモリ内に（「密閉して」）予約され、ブロックされることができる。
【００３９】
端末の機能を制御できることによって未検証のコードのローディングの禁止を「回避する」であろうＶＭが、装置１のオペレーティングシステムに関連付けられた公式プラットフォームアプリケーションで利用可能とすることを拒絶され、禁止されるであろうことを理解することは実際重要である。
【００４０】
それは、本方法の対象である「複合」暗号関数を表現する構成要素として働く暗号マクロ命令「初等」暗号関数によって意味される。それは、基本的な算術関数、「ルックアップ」、表における計算、一方もしくは他方の方向へのシフト、誤り検出など、すなわち、トリプルＤＥＳまたはＡＥＳタイプのアルゴリズムの典型的な関数であることができる。
【００４１】
したがって、わかるように、個別化した暗号関数（秘密鍵の）は、前記リストの暗号マクロ命令の一意のシーケンスとして表現されることになる。異なるシーケンスにより、暗号関数の異なるバージョン、すなわち、様々な鍵の値を表すことが可能となる。
【００４２】
暗号マクロ命令の「リスト」は、各可能なマクロ命令のコンピュータコードを仮想マシンの言語で含む。このリストは、すべての使用可能なマクロ命令の網羅的集合を記述するある種のオントロジーとして見ることができる。マクロ命令は、名前または番号によりリストにおいて一意に識別することができる。
【００４３】
リストがコードを含む限りにおいて、ＯＳ提供者が制限を加えた場合、サーバ２のアプリケーションンプラットフォーム経由の他に得ることができない。しかし、それはジェネリックであるので、問題ではない。
【００４４】
したがって、リスト単独の知識を有する第三者は、それがマクロ命令を宣言するだけであり、それらをどのように使用するかを指定しないので、それに対して何もできない。この考えは、リストのお蔭で、実装に対して実行すべきコード全体は、最初からアプリケーションに存在するが、このコードが実行されなければならないやり方はまだ知られていないということである。それゆえ、事後にコードローディングする必要がなく、したがって、公式プラットフォームを通過する観点でＯＳの制限には違反しない。
【００４５】
「個別ファイル」は、翻って、鍵によって個別化された暗号関数を表す一意のシーケンスの記述データファイルである。したがって、それは単にデータファイルであり、それはコードを含まず、実際、サーバ２のアプリケーションンプラットフォームから得られる必要を回避し、サーバ３（説明したように、典型的には、セキュリティソリューション提供者のサーバ）から事後に復元することができる。
【００４６】
個別ファイルは、鍵の暗号関数のバージョンを一意に得ることを可能にする限りにおいて、個別の鍵（およびその個別の鍵の同じ関数）に関連付けられている。より正確には、所与の鍵、所与の暗号関数および暗号マクロ命令の所与のジェネリックリストに対して、この個別ファイルのために構築された暗号マクロ命令の前記一意のシーケンスが、その秘密鍵の暗号関数を正確に表すように、個別ファイルは選ばれる。したがって、異なる秘密鍵は、結果として異なる個別ファイルとなることになり、したがって、個別ファイルは、秘密鍵を「表し」、それを含むことなく、それゆえ、後者はアクセス可能でなく、、ゆえに、難読化である。
【００４７】
したがって、各ユーザは（与えられると仮定される）自分の個別の鍵から生成された個別ファイルを有し、ゆえに、個別ファイルは完全に定義されており、（自発的にまたは任意に）選択された対象ではないことが理解される。
【００４８】
「前記シーケンスの記述データ」によって、前記個別ファイルが、暗号マクロ命令の前記一意のシーケンスを暗号マクロ命令の前記ジェネリックリストの要素のシーケンスとして定義することを意味される。
【００４９】
有利には、前記シーケンスを記述する前記データは、暗号マクロ命令の前記ジェネリックリストにおける前記シーケンスのマクロ命令のそれぞれを連続して識別する命令である。
【００５０】
個別ファイルは、ジェネリックリストが実行されることを可能にする点において、暗号マイクロ命令の「インタプリタ」として見ることができる。
【００５１】
再び言い換えると、ファイルは、シーケンスを構成する、リストにおけるマクロ命令の選択および順序を定義するだけである。今度の場合も、ファイルは、任意のコードを含まず（および、なおさらマクロ命令の正確なコードではなく）、したがって、例えば、リストにおけるそれらの名前またはそれらの番号を介してマクロ命令を識別だけする。したがって、ファイルを盗み取る悪意のある第三者は、それに対して何もすることができない。また、彼／彼女がユーザのファイルおよびリストを持っていたとしても（例えば、彼／彼女がユーザの装置１を盗んだ場合）、彼／彼女は、せいぜい暗号関数を実装することができるが、一意のシーケンスで難読化された秘密鍵を見つけることができない。
【００５２】
図２の例において、リストＬにおいて定義された、「＋」および「−」と印された２つのマクロ命令があり、ファイルＦは「＋，−，−，＋，−，−，−」のシーケンスを記述する。
【００５３】
言い換えれば、個別化した暗号関数を表す一意の実行可能なシーケンスは、以下の通りである：関数＋のコード１回、関数−のコード２回、関数＋のコード１回、関数−のコード３回。
【００５４】
好ましくは、初期化ステップ（ａ）は、このやり方で実行される：
−  サブステップ（ａ１）において、ユーザは、サーバ２のアプリケーションンプラットフォームから、前記仮想マシンを実装することができ、仮想マシンよって実行可能な暗号マクロ命令の前記ジェネリックリストを含む、ジェネリックアプリケーションをロードし（メモリ１２内に）、次いで、アプリケーションは、装置１にインストールされる。ユーザは、アプリケーションのダウンロードを起動するために同じ名前のプラットフォームへのアクセスを可能にするｉＯＳ「アプリストア」アプリケーションなどの前記アプリケーションンプラットフォームへのアクセスのためにＯＳの専用アプリケーションを通してこれを行うことができることに留意されたい。
【００５５】
−  サブステップ（ａ２）において、アプリケーションは、サーバ３から、自分の個人の鍵に対応する個別ファイルのローディング（メモリ１２内への）の結果、「カスタマイズ」される。公式アプリケーションンプラットフォームを通じてより長い通路があることに留意されたい。このローディングは、例えば、静止したジェネリックアプリケーションの最初の起動において開始することができる。好ましくは、ステップ（ａ２）は、次いで、第２のサーバ３への要求の事前送出と、第２のサーバ３による（そのデータ処理手段３１を使用して）秘密鍵からの個別ファイルの生成と、装置による個別ファイルの受領とを含む。このように、サーバ３は、要求を処理することを受け入れる前に、ユーザの識別、例えば、装置のカメラによる最近の写真およびスキャンされた識別文書、を証明するデータの装置１からの伝送を要求することができる。
【００５６】
次いで、カスタマイズされたアプリケーションは、難読化された鍵を実際に収め、暗号関数を実装するように動作可能である。
【００５７】
従来の動作のステップ（ｂ）において、説明したように、データ処理手段１１は、前記秘密鍵の前記暗号関数を表す暗号マクロ命令の一意のシーケンスを：
−  所与の仮想マシンによって実行可能な暗号マクロ命令のジェネリックリスト；および
−  前記シーケンスを記述したデータの個別ファイル；
に基づいて構築する。
【００５８】
最後に、方法は、前記仮想マシンによって、ユーザの秘密鍵の暗号関数を実装するように、暗号マクロ命令の前記一意のシーケンスを実行するステップ（ｃ）を含む。
コンピュータプログラム製品
第２の態様によれば、本発明は、第１の態様による方法を実装するための、特に、モバイル端末タイプの装置１に関する。
【００５９】
したがって、装置１は：
−  装置１のユーザの秘密鍵の暗号関数を表す、暗号マクロ命令の一意のシーケンスを：
○  所与の仮想マシンによって実行可能な暗号マクロ命令のジェネリックリスト；および
○  前記シーケンスを記述したデータの個別ファイル；
に基づいて構築し、
−  前記仮想マシンによって、ユーザの秘密鍵の前記暗号関数を実装するように、暗号マクロ命令の前記一意のシーケンスを実行する
ように構成されたデータ処理手段１１を備える。
コンピュータプログラム製品
第３の態様および第４の態様によれば、本発明は、秘密鍵の暗号関数を実装するための本発明の第１の態様による方法を行うための（特に、装置１のデータ処理手段１１上で）コード命令、ならびにこのコンピュータプログラム製品を見つけることができる、コンピュータ装置によって可読の記憶手段（装置１のメモリ１２）を備える、コンピュータプログラム製品に関する。
【符号の説明】
【００６０】
１  装置
２  第１のサーバ
３  第２のサーバ
１１  データ処理手段
１２  データ記憶手段
２０  インターネットネットワーク
２１  データ処理手段
３１  データ処理手段
Ａ  アプリケーション
Ｆ  個別データファイル
Ｌ  ジェネリックリスト
ａ１  ジェネリックリストを得るステップ、サブステップ
ａ２  個別ファイルを得るステップ、サブステップ
【図１】
2019175461.tif 000003
【図２】
2019175461.tif 000004
【外国語明細書】
2019175461000001.pdf