JP2009060496A - Cipher protocol executing device, cipher protocol executing method and program - Google Patents

Cipher protocol executing device, cipher protocol executing method and program Download PDF

Info

Publication number
JP2009060496A
JP2009060496A JP2007227590A JP2007227590A JP2009060496A JP 2009060496 A JP2009060496 A JP 2009060496A JP 2007227590 A JP2007227590 A JP 2007227590A JP 2007227590 A JP2007227590 A JP 2007227590A JP 2009060496 A JP2009060496 A JP 2009060496A
Authority
JP
Japan
Prior art keywords
execution
definition file
cryptographic protocol
function
file
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
JP2007227590A
Other languages
Japanese (ja)
Other versions
JP5281774B2 (en
Inventor
Shinsaku Kiyomoto
晋作 清本
Yoki Ota
陽基 太田
Toshiaki Tanaka
俊昭 田中
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.)
KDDI Research Inc
Original Assignee
KDDI R&D Laboratories Inc
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 KDDI R&D Laboratories Inc filed Critical KDDI R&D Laboratories Inc
Priority to JP2007227590A priority Critical patent/JP5281774B2/en
Publication of JP2009060496A publication Critical patent/JP2009060496A/en
Application granted granted Critical
Publication of JP5281774B2 publication Critical patent/JP5281774B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To arbitrarily update or change a cipher protocol depending on an opposite party. <P>SOLUTION: A cipher protocol function executed by an application is transmitted to an execution-control module, an electronic signature in a definition file is verified and the definition file is stored when its validity can be confirmed. The definition file corresponding to the cipher protocol function executed by the application received by the execution-control module is read from the definition file and interpreted to generate a compiler description language, and the compiler description language is compiled and a practice file is generated. The execution-control module executs the cipher protocol function by the generated practice file. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は、エンティティ間で、暗号プロトコルを実行する暗号プロトコル実行装置、暗号プロトコル実行方法およびプログラムに関する。   The present invention relates to a cryptographic protocol execution device, a cryptographic protocol execution method, and a program for executing a cryptographic protocol between entities.

近年、コンピュータを利用した様々なサービスが提供されている。多くのサービスでは、利用者を認証する認証プロトコルや、暗号化するための鍵を交換する鍵交換プロトコルが使用されている。   In recent years, various services using computers have been provided. In many services, an authentication protocol for authenticating a user and a key exchange protocol for exchanging a key for encryption are used.

従来は、このような認証プロトコルや鍵交換プロトコルを使用するシステムにおいては、1つのプロトコルを実装することがほとんどであった。また、機器ごとにプロトコルを変更する場合は、その分個別にプロトコルを実装せざるを得なかった(例えば、特許文献1参照。)。また、更新する場合には、プログラムをすべて入れ替えなければならなかった。IPSECなどは、複数のプロトコルを利用可能であるが、最適なプロトコルを導出しているとは言えず、また実行できるプロトコルも2種類程度と非常に限られていた。
特開2004−112037号公報
Conventionally, in a system using such an authentication protocol or a key exchange protocol, it is almost always implemented one protocol. Moreover, when changing a protocol for every apparatus, the protocol had to be individually mounted by that amount (for example, refer to Patent Document 1). Moreover, when updating, all the programs had to be replaced. IPSEC and the like can use a plurality of protocols, but it cannot be said that an optimum protocol is derived, and the number of protocols that can be executed is very limited to about two.
JP 2004-112037 A

つまり、上記のような従来の技術では、プロトコルに問題が発生した場合、実行プログラムをすべて交換しなければならず、非常にコストがかかってしまうという問題点があった。また、暗号プロトコルが使用する暗号アルゴリズムに欠陥が見つかった場合も、同様にプロトコルごと交換しなければならなかった。さらに、こうしたプログラムの入れ替えなしに、動的にプロトコルを変更することは不可能であった。   In other words, the conventional technology as described above has a problem in that when a problem occurs in the protocol, all the execution programs must be replaced, which is very expensive. Also, when a defect is found in the cryptographic algorithm used by the cryptographic protocol, the protocol must be exchanged in the same manner. Furthermore, it has been impossible to dynamically change the protocol without replacing such a program.

そこで、本発明は、上述の課題に鑑みてなされたものであり、通信相手によって、暗号プロトコルを任意に更新あるいは変更することが可能な暗号プロトコル実行装置、暗号プロトコル実行方法およびプログラムを提供することを目的とする。   Therefore, the present invention has been made in view of the above-described problems, and provides a cryptographic protocol execution device, a cryptographic protocol execution method, and a program capable of arbitrarily updating or changing a cryptographic protocol by a communication partner. With the goal.

本発明は、上記の課題を解決するために、以下の事項を提案している。   The present invention proposes the following matters in order to solve the above problems.

(1)本発明は、アプリケーション(例えば、図1のアプリケーション6に相当)から、該アプリケーションが実行したい暗号プロトコル機能を受信する実行・管理モジュール(例えば、図1の実行・管理モジュール5に相当)と、定義ファイルの中から、前記実行・管理モジュールが受信した前記アプリケーションが実行したい暗号プロトコル機能に対応する定義ファイルを読み込み、解釈してコンパイラ記述言語を生成するコンパイラ言語変換モジュール(例えば、図1のコンパイラ言語変換モジュール3に相当)と、該コンパイラ記述言語をコンパイルして実行ファイルを生成するコンパイラモジュール(例えば、図1のコンパイラモジュール4に相当)と、を備え、前記実行・管理モジュールが前記生成した実行ファイルにより、前記暗号プロトコル機能を実行することを特徴とする暗号プロトコル実行装置を提案している。   (1) The present invention is an execution / management module (for example, equivalent to the execution / management module 5 in FIG. 1) that receives an encryption protocol function that the application wants to execute from an application (for example, the application 6 in FIG. 1). From the definition file, a compiler language conversion module (for example, FIG. 1) that reads a definition file corresponding to a cryptographic protocol function that is received by the execution / management module and that the application wants to execute and interprets it. And a compiler module (for example, equivalent to the compiler module 4 in FIG. 1) that compiles the compiler description language to generate an executable file. Depending on the generated executable file, It proposes a cryptographic protocol execution device and executes the cryptographic protocol functions.

この発明によれば、実行・管理モジュールが、アプリケーションから、そのアプリケーションが実行したい暗号プロトコル機能を受信し、コンパイラ言語変換モジュールが、定義ファイルの中から、実行・管理モジュールが受信したアプリケーションが実行したい暗号プロトコル機能に対応する定義ファイルを読み込み、解釈してコンパイラ記述言語を生成する。そして、コンパイラモジュールが、コンパイラ記述言語をコンパイルして実行ファイルを生成し、実行・管理モジュールが生成した実行ファイルにより、暗号プロトコル機能を実行する。したがって、アプリケーションからの要求に応じて、暗号プロトコルを任意に更新、変更することができる。   According to the present invention, the execution / management module receives from the application the cryptographic protocol function that the application wants to execute, and the compiler language conversion module wants to execute the application received by the execution / management module from the definition file. Reads and interprets the definition file corresponding to the cryptographic protocol function to generate a compiler description language. Then, the compiler module compiles the compiler description language to generate an execution file, and executes the cryptographic protocol function using the execution file generated by the execution / management module. Therefore, the cryptographic protocol can be arbitrarily updated or changed according to a request from the application.

(2)本発明は、(1)の暗号プロトコル実行装置について、前記定義ファイルが、少なくとも関数、データ、エンティティ、フローで構成されていることを特徴とする暗号プロトコル実行装置を提案している。   (2) The present invention proposes an encryption protocol execution device characterized in that, for the encryption protocol execution device of (1), the definition file is composed of at least a function, data, an entity, and a flow.

この発明によれば、定義ファイルが、少なくとも関数、データ、エンティティ、フローで構成されている。したがって、あらゆるプロトコルを簡単に記述することができる。   According to the present invention, the definition file includes at least functions, data, entities, and flows. Therefore, any protocol can be described easily.

(3)本発明は、(1)の暗号プロトコル実行装置について、前記定義ファイルに電子署名が付加されていることを特徴とする暗号プロトコル実行装置を提案している。   (3) The present invention proposes an encryption protocol execution device characterized in that an electronic signature is added to the definition file for the encryption protocol execution device of (1).

この発明によれば、定義ファイルに電子署名が付加されている。したがって、この電子署名を検証することによって、定義ファイルの正当性を確認することができる。   According to the present invention, an electronic signature is added to the definition file. Therefore, the validity of the definition file can be confirmed by verifying the electronic signature.

(4)本発明は、(1)の暗号プロトコル実行装置について、前記定義ファイルが、前記暗号プロトコルを実行する双方のエンティティの記述を含むことを特徴とする暗号プロトコル実行装置を提案している。   (4) The present invention proposes a cryptographic protocol execution device according to (1), wherein the definition file includes descriptions of both entities that execute the cryptographic protocol.

この発明によれば、定義ファイルが、暗号プロトコルを実行する双方のエンティティの記述を含む。したがって、1つの定義ファイルから複数の異なる実行モジュールが生成される。   According to the present invention, the definition file includes a description of both entities executing the cryptographic protocol. Therefore, a plurality of different execution modules are generated from one definition file.

(5)本発明は、(1)の暗号プロトコル実行装置について、前記定義ファイルが、XMLで記述されていることを特徴とする暗号プロトコル実行装置を提案している。   (5) The present invention proposes a cryptographic protocol execution device characterized in that, in the cryptographic protocol execution device of (1), the definition file is described in XML.

この発明によれば、定義ファイルが、XMLで記述されている。そのため、ユーザにとって可読性があり、しかも、編集が容易で汎用性に優れている。   According to the present invention, the definition file is described in XML. Therefore, it is readable for the user, is easy to edit, and has excellent versatility.

(6)本発明は、(5)の暗号プロトコル実行装置について、前記コンパイラ言語変換モジュールが前記XMLで記述された定義ファイルの構造解析、意味解析を行って、ソースコードを生成することを特徴とする暗号プロトコル実行装置を提案している。   (6) The present invention is characterized in that, for the cryptographic protocol execution device according to (5), the compiler language conversion module performs structure analysis and semantic analysis of a definition file described in XML to generate a source code. A cryptographic protocol execution device is proposed.

この発明によれば、コンパイラ言語変換モジュールがXMLで記述された定義ファイルの構造解析、意味解析を行って、ソースコードを生成する。つまり、構造解析では、XMLデータで記述された定義ファイルをいくつかのブロックに分解し、意味解析では、構造解析により分解されたブロック内の共通要素に基づいて、各ブロックの紐付けを行い、エンティティで必要となるデータやフローを収集し、格納し直してソースコードを生成する。   According to the present invention, the compiler language conversion module performs structure analysis and semantic analysis of a definition file described in XML to generate a source code. In other words, in the structural analysis, the definition file described in XML data is decomposed into several blocks, and in the semantic analysis, the blocks are linked based on the common elements in the blocks decomposed by the structural analysis, Collect the data and flow required by the entity, store it again, and generate the source code.

(7)本発明は、(1)の暗号プロトコル実行装置について、前記定義ファイルが、同種の関数定義をまとめて記述していることを特徴とする暗号プロトコル実行装置を提案している。   (7) The present invention proposes an encryption protocol execution device characterized in that the definition file collectively describes the same type of function definition for the encryption protocol execution device of (1).

この発明によれば、定義ファイルが、同種の関数定義をまとめて記述している。したがって、これにより、コードサイズが小さくなることから、冗長性を抑制することができる。   According to the present invention, the definition file collectively describes the same type of function definition. Therefore, this reduces the code size, so that redundancy can be suppressed.

(8)本発明は、アプリケーションが実行したい暗号プロトコル機能を実行・管理モジュールに送信する第1のステップ(例えば、図6のステップS101に相当)と、定義ファイル内の電子署名を検証し、正当性が確認できたときに、該定義ファイルを格納する第2のステップ(例えば、図6のステップS102に相当)と、前記定義ファイルの中から、前記実行・管理モジュールが受信した前記アプリケーションが実行したい暗号プロトコル機能に対応する定義ファイルを読み込み、解釈してコンパイラ記述言語を生成する第3のステップ(例えば、図6のステップS103に相当)と、該コンパイラ記述言語をコンパイルして実行ファイルを生成する第4のステップ(例えば、図6のステップS104に相当)と、前記実行・管理モジュールが前記生成した実行ファイルにより、前記暗号プロトコル機能を実行する第5のステップ(例えば、図6のステップS105に相当)と、を備えたことを特徴とする暗号プロトコル実行方法を提案している。   (8) The present invention verifies the first step (for example, equivalent to step S101 in FIG. 6) of transmitting the cryptographic protocol function that the application wants to execute to the execution / management module, and verifies the electronic signature in the definition file. And when the application received by the execution / management module from the definition file is executed by the second step of storing the definition file (for example, corresponding to step S102 in FIG. 6). A third step (for example, corresponding to step S103 in FIG. 6) of reading a definition file corresponding to the cryptographic protocol function to be read and interpreting it to generate a compiler description language, and generating an executable file by compiling the compiler description language A fourth step (e.g., corresponding to step S104 in FIG. 6) and the execution / management module And a fifth step (for example, corresponding to step S105 of FIG. 6) for executing the cryptographic protocol function by the generated executable file. Yes.

この発明によれば、アプリケーションが実行したい暗号プロトコル機能を実行・管理モジュールに送信し、定義ファイル内の電子署名を検証し、正当性が確認できたときに、定義ファイルを格納する。そして、定義ファイルの中から、実行・管理モジュールが受信したアプリケーションが実行したい暗号プロトコル機能に対応する定義ファイルを読み込み、解釈してコンパイラ記述言語を生成し、コンパイラ記述言語をコンパイルして実行ファイルを生成する。実行・管理モジュールは、生成した実行ファイルにより、暗号プロトコル機能を実行する。したがって、アプリケーションからの要求に応じて、暗号プロトコルを任意に更新、変更することができる。   According to the present invention, the cryptographic protocol function desired to be executed by the application is transmitted to the execution / management module, the electronic signature in the definition file is verified, and when the validity is confirmed, the definition file is stored. Then, the definition file corresponding to the cryptographic protocol function that the application received by the execution / management module wants to execute is read from the definition file, interpreted to generate a compiler description language, and the compiler description language is compiled to execute the execution file. Generate. The execution / management module executes the cryptographic protocol function using the generated execution file. Therefore, the cryptographic protocol can be arbitrarily updated or changed according to a request from the application.

(9)本発明は、コンピュータに、アプリケーションが実行したい暗号プロトコル機能を実行・管理モジュールに送信する第1のステップ(例えば、図6のステップS101に相当)と、定義ファイル内の電子署名を検証し、正当性が確認できたときに、該定義ファイルを格納する第2のステップ(例えば、図6のステップS102に相当)と、前記定義ファイルの中から、前記実行・管理モジュールが受信した前記アプリケーションが実行したい暗号プロトコル機能に対応する定義ファイルを読み込み、解釈してコンパイラ記述言語を生成する第3のステップ(例えば、図6のステップS103に相当)と、該コンパイラ記述言語をコンパイルして実行ファイルを生成する第4のステップ(例えば、図6のステップS104に相当)と、前記実行・管理モジュールが前記生成した実行ファイルにより、前記暗号プロトコル機能を実行する第5のステップ(例えば、図6のステップS105に相当)と、を実行させるためのプログラムを提案している。   (9) The present invention verifies the electronic signature in the definition file and the first step (for example, equivalent to step S101 in FIG. 6) of transmitting to the execution / management module the cryptographic protocol function that the application wants to execute. When the validity is confirmed, the second step of storing the definition file (for example, corresponding to step S102 of FIG. 6) and the execution / management module received from the definition file A third step (for example, corresponding to step S103 in FIG. 6) that reads and interprets a definition file corresponding to the cryptographic protocol function that the application wants to execute to generate a compiler description language, and compiles and executes the compiler description language A fourth step (for example, corresponding to step S104 in FIG. 6) for generating a file, The execution and management module the generated executable file, proposes a program for executing a fifth step of executing the cryptographic protocol function (for example, corresponding to step S105 of FIG. 6) and, the.

この発明によれば、アプリケーションが実行したい暗号プロトコル機能を実行・管理モジュールに送信し、定義ファイル内の電子署名を検証し、正当性が確認できたときに、定義ファイルを格納する。そして、定義ファイルの中から、実行・管理モジュールが受信したアプリケーションが実行したい暗号プロトコル機能に対応する定義ファイルを読み込み、解釈してコンパイラ記述言語を生成し、コンパイラ記述言語をコンパイルして実行ファイルを生成する。実行・管理モジュールは、生成した実行ファイルにより、暗号プロトコル機能を実行する。したがって、アプリケーションからの要求に応じて、暗号プロトコルを任意に更新、変更することができる。   According to the present invention, the cryptographic protocol function desired to be executed by the application is transmitted to the execution / management module, the electronic signature in the definition file is verified, and when the validity is confirmed, the definition file is stored. Then, the definition file corresponding to the cryptographic protocol function that the application received by the execution / management module wants to execute is read from the definition file, interpreted to generate a compiler description language, and the compiler description language is compiled to execute the execution file. Generate. The execution / management module executes the cryptographic protocol function using the generated execution file. Therefore, the cryptographic protocol can be arbitrarily updated or changed according to a request from the application.

本発明によれば、認証・鍵共有プロトコルを動的に更新することが可能となるという効果がある。したがって、相手ごとにプロトコルを変更したり、セキュリティフローが見つかった場合に直ちにプロトコル仕様を更新したりできるようになる。   According to the present invention, an authentication / key sharing protocol can be dynamically updated. Therefore, the protocol can be changed for each partner, or the protocol specification can be updated immediately when a security flow is found.

以下、本発明の実施形態について、図面を用いて、詳細に説明する。
なお、本実施形態における構成要素は適宜、既存の構成要素等との置き換えが可能であり、また、他の既存の構成要素との組合せを含む様々なバリエーションが可能である。したがって、本実施形態の記載をもって、特許請求の範囲に記載された発明の内容を限定するものではない。
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
Note that the constituent elements in the present embodiment can be appropriately replaced with existing constituent elements, and various variations including combinations with other existing constituent elements are possible. Therefore, the description of the present embodiment does not limit the contents of the invention described in the claims.

<暗号プロトコル実行装置の構成>
本実施形態に係る暗号プロトコル実行装置は、図1に示すように、プロトコル定義ファイル1と、環境パラメータ取得モジュール2と、コンパイラ言語変換モジュール3と、コンパイラモジュール4と、実行・管理モジュール5と、アプリケーション6とから構成されている。
<Configuration of cryptographic protocol execution device>
As shown in FIG. 1, the cryptographic protocol execution device according to the present embodiment includes a protocol definition file 1, an environment parameter acquisition module 2, a compiler language conversion module 3, a compiler module 4, an execution / management module 5, It consists of an application 6.

プロトコル定義ファイル1は、暗号プロトコルの仕様が記述されたファイルであり、暗号プロトコルの仕様に従った処理の実行に係る各種の定義や実行ステップを記述するための特殊な記述言語で記述されている。つまり、あらゆるプロトコルを簡単に記述できるように暗号プロトコル記述言語を関数、データ、エンティティ、及びフローから構成している。   The protocol definition file 1 is a file in which the specifications of the cryptographic protocol are described, and is described in a special description language for describing various definitions and execution steps related to the execution of processing according to the specifications of the cryptographic protocol. . In other words, the cryptographic protocol description language is composed of functions, data, entities, and flows so that any protocol can be described easily.

さらに、詳細には、プロトコル目的記述、エンティティ定義記述、データ定義記述、およびプロトコル定義記述から構成される。なお、データ定義記述には、関数定義記述が含まれる。また、プロトコル定義記述は、XML記述に基づいて分類されている。これにより、ユーザにとって、可読性があり、編集容易で汎用性をもたせることができる。また、プロトコル定義ファイル1には、電子署名が付加されている。したがって、この電子署名を検証することによって、定義ファイルの正当性を確認することができる。   In more detail, it consists of a protocol purpose description, an entity definition description, a data definition description, and a protocol definition description. The data definition description includes a function definition description. The protocol definition description is classified based on the XML description. As a result, it is easy for the user to edit, easy to edit, and versatile. In addition, an electronic signature is added to the protocol definition file 1. Therefore, the validity of the definition file can be confirmed by verifying the electronic signature.

環境パラメータ取得モジュール2は、コンパイラ言語変換モジュール3が必要とする各種パラメータを取得しコンパイラ言語変換モジュール3に入力する。また、プロトコル定義ファイルの送受信を仲介する。コンパイラ言語変換モジュール3は、プロトコル記述言語形式で記述されたプロトコル定義ファイル1を読み込み、実行ファイルを出力する。   The environment parameter acquisition module 2 acquires various parameters required by the compiler language conversion module 3 and inputs them to the compiler language conversion module 3. It also mediates transmission and reception of protocol definition files. The compiler language conversion module 3 reads the protocol definition file 1 described in the protocol description language format and outputs an execution file.

実行・管理モジュール5は、生成された実行モジュールを実際に動作させてプロトコルを実行する。また、コンパイル及びプロトコル実行後に、OK/NGの結果をアプリケーション6に返信する。アプリケーション6は、実行したいプロトコル機能(認証や鍵共有)をコンパイラに与える。また、アプリケーション6は、機能ごと(認証プロトコル、鍵共有プロトコル)に共通化されたインターフェースで暗号アルゴリズムを呼び出すことができる。あるいは、アプリケーション6からプロトコル定義ファイル1名を与えて実行することもできる。   The execution / management module 5 executes the protocol by actually operating the generated execution module. Also, after compiling and executing the protocol, the result of OK / NG is returned to the application 6. The application 6 gives a protocol function (authentication and key sharing) to be executed to the compiler. Further, the application 6 can call the encryption algorithm with an interface common to each function (authentication protocol, key sharing protocol). Alternatively, the application 6 can be executed by giving a protocol definition file 1 name.

暗号アルゴリズムなどは、外部ライブラリを呼ぶことで、プロトコルを実行することとする。従って、コンパイラモジュール4は、コンパイル処理時に外部ライブラリのヘッダファイルを読み込み、コンパイルを行う。また、あらゆる環境で同一のプロトコル定義ファイルをコンパイル可能とするため、ヘッダファイルのフォーマットは共通化する。具体的には、以下の機能のヘッダファイルを共通化する。
1)共通鍵暗号アルゴリズム
2)公開鍵暗号アルゴリズム
3)電子署名アルゴリズム
4)ハッシュ関数アルゴリズム
5)メッセージ認証子生成アルゴリズム
6)鍵共有アルゴリズム
7)乱数生成アルゴリズム
The cryptographic algorithm and the like execute a protocol by calling an external library. Therefore, the compiler module 4 reads and compiles the header file of the external library during the compilation process. Also, in order to compile the same protocol definition file in any environment, the header file format is shared. Specifically, the header files for the following functions are shared.
1) Common key encryption algorithm 2) Public key encryption algorithm 3) Digital signature algorithm 4) Hash function algorithm 5) Message authenticator generation algorithm 6) Key sharing algorithm 7) Random number generation algorithm

また、暗号アルゴリズムに対して、共通IDを付与し、ヘッダファイルがどのアルゴリズムのヘッダファイルなのかを、コンパイラモジュールが識別可能とする。環境パラメータ取得モジュールは、実行管理モジュールによってコールされる。環境パラメータ取得機能は、以下のパラメータを取得し、取得したパラメータを実行管理モジュールに返す。
1)各暗号アルゴリズム、関数のAPI(ヘッダファイル)
2)鍵等事前に所有しているデータを格納したファイル
3)プロトコル定義ファイル
4)InitiaterとResponderの区分
In addition, a common ID is assigned to the encryption algorithm so that the compiler module can identify which algorithm the header file is. The environment parameter acquisition module is called by the execution management module. The environment parameter acquisition function acquires the following parameters and returns the acquired parameters to the execution management module.
1) API (header file) of each cryptographic algorithm and function
2) File that stores data such as keys in advance 3) Protocol definition file 4) Classification of Initiator and Responder

2つのエンティティのどちらか一方がプロトコル定義ファイルを送信し、他方が受信した場合、送信した方がInitiator、受信した方がResponderとなる。通常、一方のエンティティが、最初にプロトコル定義ファイル1の要求を行い、他方のモジュールがプロトコル定義ファイル1を送信する。クライアント−サーバモデルの場合、クライアントがプロトコル定義ファイル1を受信するResponder、サーバがプロトコル定義ファイル1を送信するInitiatorとなる。なお、どちらが、Initiatorになるかは、別途、エンティティ間で動的に決定してもよい。   When one of the two entities transmits a protocol definition file and the other receives it, the transmitting side is an initiator and the receiving side is a responder. Usually, one entity makes a request for the protocol definition file 1 first, and the other module sends the protocol definition file 1. In the case of the client-server model, the client is a responder that receives the protocol definition file 1, and the server is an initiator that transmits the protocol definition file 1. Note that which is the initiator may be determined dynamically between entities separately.

<コンパイラ言語変換モジュールの機能>
コンパイラ言語変換モジュールの処理構成は、図2に示すようになっており、コンパイラ言語変換モジュールは、構造解析機能、意味解析機能、各種テーブル生成機能を有する。
<Functions of compiler language conversion module>
The processing configuration of the compiler language conversion module is as shown in FIG. 2, and the compiler language conversion module has a structure analysis function, a semantic analysis function, and various table generation functions.

構造解析機能では、プロトコル定義ファイルのXMLを解析し、データテーブルおよび解析テーブルを生成する。具体的には、1)ノード取り出し、2)データテーブルレコード追加、3)解析テーブルレコード追加、4)データ格納、5)data−list生成を実行する。   The structure analysis function analyzes the XML of the protocol definition file and generates a data table and an analysis table. Specifically, 1) node extraction, 2) data table record addition, 3) analysis table record addition, 4) data storage, and 5) data-list generation are executed.

また、構造解析機能では、データテーブルの構造解析を行う。具体的には、1)構文チェック、2)function実行結果格納用dataをdata tableに追加する。なお、この処理はdataを最初に行う。構造解析終了後のイメージを図2右上に示す。   The structure analysis function analyzes the structure of the data table. Specifically, 1) syntax check and 2) data for storing the function execution result are added to the data table. In this process, data is performed first. The image after the structural analysis is shown in the upper right of FIG.

意味解析機能では、データテーブル上で意味解析を行い、データテーブルおよび解析テーブルに反映する。具体的には、1)data−listのリンク生成、2)リレーションチェック、3)解析テーブルのentity項目データ生成を行う。なお、この処理はflow tableの各レコードについて行う。意味解析終了後のイメージを図2右下に示す。   The semantic analysis function performs semantic analysis on the data table and reflects it in the data table and the analysis table. Specifically, 1) data-list link generation, 2) relation check, and 3) analysis table entity item data generation are performed. This process is performed for each record of the flow table. The image after semantic analysis is shown in the lower right of FIG.

<解析テーブル、データテーブル、ソース生成テーブルの関係>
解析テーブル、データテーブル、ソース生成テーブルの関係を図3に示す。
データテーブルには、プロトコル定義ファイルを記述するXMLを実際に解析した内容(データ)を格納する。データテーブルは、リレーションの関係を持っており、各テーブルは他テーブルのデータを参照するためにid項目のデータを持っている。
<Relationship between analysis table, data table, and source generation table>
The relationship between the analysis table, data table, and source generation table is shown in FIG.
The data table stores contents (data) obtained by actually analyzing the XML describing the protocol definition file. The data table has a relation relationship, and each table has data of an id field in order to refer to data of another table.

ソース生成テーブルは、実際にソースを生成する際に利用するテーブルである。内容はデータテーブルへのインデックスとし、データの参照を容易にするためデータを直接参照するポインタを用意する。なお、ソース生成時にはこのテーブルとデータテーブルを合わせて利用する。   The source generation table is a table used when the source is actually generated. The content is an index to the data table, and a pointer that directly refers to the data is prepared to facilitate the data reference. This table and data table are used together when generating the source.

解析テーブルの内容は、データテーブルへのインデックスとし、データの参照を容易にするためデータを直接参照するポインタを用意する。また、ソース生成テーブルの構築を容易にするためentityごとの使用をチェックする。   The content of the analysis table is an index to the data table, and a pointer for directly referring to the data is prepared in order to facilitate data reference. Also, the usage for each entity is checked to facilitate the construction of the source generation table.

データテーブルは、他テーブルの項目をidで持つが、解析テーブル/ソース生成テーブルはidに対応したデータテーブル上のポインタを直接持つ。   The data table has items of other tables by id, but the analysis table / source generation table directly has a pointer on the data table corresponding to id.

<ソース生成テーブルの構成>
ソース生成テーブルは、図4に示すように、アルゴリズムテーブル、Data、Function、Flow、Scriptからなり、アルゴリズムテーブルがヘッダファイルを提供し、Dataが変数の宣言と初期化、Functionが関数の定義、Flowがフロー、Scriptがボディを与えて、ソースコードを生成する。具体的には、エンティティで必要になるデータやフロー、関数をそれぞれ、Data、Function、Flowに格納して、ソースコードを生成する。なお、図示しなかったが、必要に応じてエラー処理を付加してもよい。
<Configuration of source generation table>
As shown in FIG. 4, the source generation table is made up of an algorithm table, Data, Function, Flow, and Script. The algorithm table provides a header file, Data is a variable declaration and initialization, Function is a function definition, Flow Gives the flow and Script gives the body to generate the source code. Specifically, the data, flow, and function required by the entity are stored in Data, Function, and Flow, respectively, and source code is generated. Although not shown, error processing may be added as necessary.

<プロトコル定義ファイルと各テーブルの関係>
プロトコル定義ファイルと各テーブルの関係を図5に示す。図5によれば、プロトコル定義ファイルからデータテーブル群が生成され、プロトコル定義ファイルとデータテーブル群から解析テーブルが生成される。
<Relationship between protocol definition file and each table>
FIG. 5 shows the relationship between the protocol definition file and each table. According to FIG. 5, a data table group is generated from the protocol definition file, and an analysis table is generated from the protocol definition file and the data table group.

さらに、解析テーブルとデータテーブル群からソースコード生成用テーブル群が生成され、ソースコード生成用テーブル群からソースコードが得られる。このソースコードをコンパイルすることにより、実行プログラムが生成される。   Further, a source code generation table group is generated from the analysis table and the data table group, and a source code is obtained from the source code generation table group. By compiling this source code, an execution program is generated.

<暗号プロトコル実行装置の処理>
次に、図6を用いて、暗号プロトコル実行装置の処理について説明する。
まず、アプリケーション6が実行したい暗号プロトコル機能(認証プロトコル、鍵共有プロトコル)を実行・管理モジュール5に送信する(ステップS101)。コンパイラ言語変換モジュール3は、プロトコル定義ファイル1内の電子署名を検証し、正当性が確認できたときに、このプロトコル定義ファイル1を格納する(ステップS102)。
<Processing of cryptographic protocol execution device>
Next, processing of the cryptographic protocol execution device will be described with reference to FIG.
First, the cryptographic protocol function (authentication protocol, key sharing protocol) that the application 6 wants to execute is transmitted to the execution / management module 5 (step S101). The compiler language conversion module 3 verifies the electronic signature in the protocol definition file 1 and stores the protocol definition file 1 when the validity is confirmed (step S102).

プロトコル定義ファイル1の中から、実行・管理モジュール5が受信したアプリケーション6が実行したい暗号プロトコル機能に対応するプロトコル定義ファイルを読み込み、解釈してコンパイラ記述言語を生成する(ステップ103)。   A protocol definition file corresponding to a cryptographic protocol function desired to be executed by the application 6 received by the execution / management module 5 is read from the protocol definition file 1 and interpreted to generate a compiler description language (step 103).

そして、コンパイラモジュール4が、コンパイラ記述言語をコンパイルして実行ファイルを生成し(ステップS104)、実行・管理モジュール5が生成した実行ファイルにより、暗号プロトコル機能を実行する(ステップS105)。   Then, the compiler module 4 compiles the compiler description language to generate an execution file (step S104), and executes the cryptographic protocol function using the execution file generated by the execution / management module 5 (step S105).

したがって、本実施形態によれば、認証・鍵共有プロトコルを動的に更新することが可能となることから、相手ごとにプロトコルを変更したり、セキュリティフローが見つかった場合に直ちにプロトコル仕様を更新したりできるようになる。   Therefore, according to the present embodiment, the authentication / key sharing protocol can be dynamically updated. Therefore, when the protocol is changed for each partner or a security flow is found, the protocol specification is immediately updated. You will be able to.

<実施例1>
以下、実施例1として、図7を用いて、functionInstanceの生成を具体例により示す。
まず、図7のfunctionInstance−listの1レコードにつき1関数を記述する。そして、図7のfunctionInstance−listよりfunctionInstance tableの対象レコードを取得し、対応するfunctionを呼び出すソースコードを生成する。
<Example 1>
Hereinafter, as Example 1, the generation of functionInstance is shown by a specific example with reference to FIG.
First, one function is described for each record of the functionInstance-list in FIG. Then, the target record of the functionInstance table is acquired from the functionInstance-list of FIG. 7, and source code for calling the corresponding function is generated.

このとき、ソースコードは以下の要素で構成する。
1行目:関数宣言
2行目:関数呼び出し
At this time, the source code is composed of the following elements.
1st line: Function declaration 2nd line: Function call

関数名は、functionInstance tableより取得する。呼び出す関数の関数名はfunction table対象レコードのデータより生成する。引数はfunctionInstance tableの対象レコードにあるdata−listより取得し、先頭から順に第1引数、第2引数・・・となる。引数名は、data−list対象レコードよりdata table対象レコードを取得しlabel項目の内容をこれに充てる。なお、function tableのalgorithm項目とプロトコル定義ファイル上のalgorithmの記述は一致しない。この対応については定義ファイルを参照する必要がある。   The function name is acquired from the functionInstance table. The function name of the function to be called is generated from the data of the function table target record. The arguments are acquired from the data-list in the target record of the functionInstance table, and are first argument, second argument,. For the argument name, the data table target record is acquired from the data-list target record, and the contents of the label item are assigned to this. It should be noted that the description of the algorithm item in the function table does not match the description of the algorithm in the protocol definition file. For this correspondence, it is necessary to refer to the definition file.

上記の処理の結果、下記のようなソースコードが得られる。
func_a()::=
aaa_from(d1、func_b_ret、func_a_ret)
As a result of the above processing, the following source code is obtained.
func_a () :: =
aaa_from (d1, func_b_ret, func_a_ret)

<実施例2>
以下、実施例2として、図8を用いて、flowの生成を具体例により示す。
まず、図8のflow−listの1レコードにつき1関数を記述する。そして、図8のflow−listよりflow tableの対象レコードを取得し、対応するfunctionInstanceおよびsendもしくはrecv関数を呼び出すソースコードを生成する。
<Example 2>
Hereinafter, as a second embodiment, the generation of the flow will be described with a specific example with reference to FIG.
First, one function is described for each record of the flow-list in FIG. Then, the target record of the flow table is acquired from the flow-list of FIG. 8, and source code for calling the corresponding functionInstance and send or recv function is generated.

ソースコードは、以下の要素で構成する。
1)fromの場合:
1行目:関数宣言
2行目以降:functionInstance関数呼び出し
最終行:send関数呼び出し
2)toの場合:
1行目:関数宣言
2行目:recv関数呼び出し
3行目移行:functionInstance関数呼び出し
The source code consists of the following elements.
1) From:
1st line: Function declaration 2nd line and after: functionInstance function call Last line: send function call 2) To:
1st line: Function declaration 2nd line: recv function call 3rd line transition: functionInstance function call

呼び出す関数は、flow table対象レコードのdata−listにfunctionInstance−idの記述がされたもの全てと、それらのfunctionInstanceが持つdata−listにfunctionInstance−idの記述がされたもの、と再帰的に取得する。   The function to be called is recursively acquired with all the descriptions of functionInstance-id in the data-list of the flow table target record and those with the description of functionInstance-id in the data-list of those functionInstances. .

関数呼び出し順はネストの深い側からとする。ただし、互いに関連のない関数同士はネストを考慮する必要はない。   The function call order is from the deepest nesting. However, functions that are not related to each other need not be nested.

引数は、data−listより取得し、先頭から順に第1引数、第2引数・・・となる。引数名はdata−list対象レコードよりdata table対象レコードを取得しlabel項目の内容をこれに充てる。   The arguments are acquired from the data-list, and are first argument, second argument,... For the argument name, the data table target record is obtained from the data-list target record, and the contents of the label item are assigned to this.

上記の処理の結果、下記のようなソースコードが得られる。
flow_1()::=
func_b()
func_a()
send(d1、func_a_ret)
As a result of the above processing, the following source code is obtained.
flow_1 () :: =
func_b ()
func_a ()
send (d1, func_a_ret)

なお、暗号プロトコル実行装置の処理をコンピュータ読み取り可能な記録媒体に記録し、この記録媒体に記録されたプログラムを暗号プロトコル実行装置に読み込ませ、実行することによって本発明の暗号プロトコル実行装置を実現することができる。ここでいうコンピュータシステムとは、OSや周辺装置等のハードウェアを含む。   Note that the cryptographic protocol execution device of the present invention is realized by recording the processing of the cryptographic protocol execution device on a computer-readable recording medium, causing the cryptographic protocol execution device to read and execute the program recorded on the recording medium. be able to. The computer system here includes an OS and hardware such as peripheral devices.

また、「コンピュータシステム」は、WWW(World Wide Web)システムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されても良い。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。   Further, the “computer system” includes a homepage providing environment (or display environment) if a WWW (World Wide Web) system is used. The program may be transmitted from a computer system storing the program in a storage device or the like to another computer system via a transmission medium or by a transmission wave in the transmission medium. Here, the “transmission medium” for transmitting the program refers to a medium having a function of transmitting information, such as a network (communication network) such as the Internet or a communication line (communication line) such as a telephone line.

また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。   The program may be for realizing a part of the functions described above. Furthermore, what can implement | achieve the function mentioned above in combination with the program already recorded on the computer system, and what is called a difference file (difference program) may be sufficient.

以上、この発明の実施形態につき、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。   The embodiments of the present invention have been described in detail with reference to the drawings. However, the specific configuration is not limited to the embodiments, and includes designs and the like that do not depart from the gist of the present invention.

本実施形態に係る暗号プロトコル実行装置の構成図である。It is a block diagram of the encryption protocol execution apparatus which concerns on this embodiment. 本実施形態に係るコンパイラ言語変換モジュールの機能を示す図である。It is a figure which shows the function of the compiler language conversion module which concerns on this embodiment. 本実施形態に係る解析テーブル、データテーブル、ソース生成テーブルの関係を示す図である。It is a figure which shows the relationship between the analysis table which concerns on this embodiment, a data table, and a source generation table. 本実施形態に係るソース生成テーブルの構成を示す図である。It is a figure which shows the structure of the source generation table which concerns on this embodiment. 本実施形態に係るプロトコル定義ファイルと各テーブルの関係を示す図である。It is a figure which shows the relationship between the protocol definition file which concerns on this embodiment, and each table. 本実施形態に係る暗号プロトコル実行装置の処理フローである。It is a processing flow of the encryption protocol execution apparatus which concerns on this embodiment. 実施例1に係る処理の概要を示す図である。FIG. 3 is a diagram illustrating an outline of processing according to the first embodiment. 実施例2に係る処理の概要を示す図である。FIG. 10 is a diagram illustrating an outline of processing according to a second embodiment.

符号の説明Explanation of symbols

1・・・プロトコル定義ファイル、2・・・環境パラメータ取得モジュール、3・・・コンパイラ言語変換モジュール、4・・・コンパイラモジュール、5・・・実行・管理モジュール、6・・・アプリケーション
DESCRIPTION OF SYMBOLS 1 ... Protocol definition file, 2 ... Environment parameter acquisition module, 3 ... Compiler language conversion module, 4 ... Compiler module, 5 ... Execution management module, 6 ... Application

Claims (9)

アプリケーションから、該アプリケーションが実行したい暗号プロトコル機能を受信する実行・管理モジュールと、
定義ファイルの中から、前記実行・管理モジュールが受信した前記アプリケーションが実行したい暗号プロトコル機能に対応する定義ファイルを読み込み、解釈してコンパイラ記述言語を生成するコンパイラ言語変換モジュールと、
該コンパイラ記述言語をコンパイルして実行ファイルを生成するコンパイラモジュールと、を備え、
前記実行・管理モジュールが前記生成した実行ファイルにより、前記暗号プロトコル機能を実行することを特徴とする暗号プロトコル実行装置。
An execution / management module that receives from the application a cryptographic protocol function that the application wants to execute;
A compiler language conversion module that reads a definition file corresponding to a cryptographic protocol function that the application received by the execution / management module wants to execute from a definition file, interprets it, and generates a compiler description language;
A compiler module that compiles the compiler description language to generate an executable file,
An encryption protocol execution apparatus, wherein the execution / management module executes the encryption protocol function by using the generated execution file.
前記定義ファイルが、少なくとも関数、データ、エンティティ、フローで構成されていることを特徴とする請求項1に記載の暗号プロトコル実行装置。   2. The cryptographic protocol execution apparatus according to claim 1, wherein the definition file includes at least a function, data, an entity, and a flow. 前記定義ファイルに電子署名が付加されていることを特徴とする請求項1に記載の暗号プロトコル実行装置。   The cryptographic protocol execution apparatus according to claim 1, wherein an electronic signature is added to the definition file. 前記定義ファイルが、前記暗号プロトコルを実行する双方のエンティティの記述を含むことを特徴とする請求項1に記載の暗号プロトコル実行装置。   2. The cryptographic protocol execution apparatus according to claim 1, wherein the definition file includes descriptions of both entities that execute the cryptographic protocol. 前記定義ファイルが、XMLで記述されていることを特徴とする請求項1に記載の暗号プロトコル実行装置。   2. The cryptographic protocol execution apparatus according to claim 1, wherein the definition file is described in XML. 前記コンパイラ言語変換モジュールが前記XMLで記述された定義ファイルの構造解析、意味解析を行って、ソースコードを生成することを特徴とする請求項5に記載の暗号プロトコル実行装置。   6. The cryptographic protocol execution apparatus according to claim 5, wherein the compiler language conversion module generates a source code by performing structure analysis and semantic analysis of a definition file described in XML. 前記定義ファイルが、同種の関数定義をまとめて記述していることを特徴とする請求項1に記載の暗号プロトコル実行装置。   2. The cryptographic protocol execution apparatus according to claim 1, wherein the definition file collectively describes function definitions of the same type. アプリケーションが実行したい暗号プロトコル機能を実行・管理モジュールに送信する第1のステップと、
定義ファイル内の電子署名を検証し、正当性が確認できたときに、該定義ファイルを格納する第2のステップと、
前記定義ファイルの中から、前記実行・管理モジュールが受信した前記アプリケーションが実行したい暗号プロトコル機能に対応する定義ファイルを読み込み、解釈してコンパイラ記述言語を生成する第3のステップと、
該コンパイラ記述言語をコンパイルして実行ファイルを生成する第4のステップと、
前記実行・管理モジュールが前記生成した実行ファイルにより、前記暗号プロトコル機能を実行する第5のステップと、
を備えたことを特徴とする暗号プロトコル実行方法。
A first step of transmitting to the execution / management module a cryptographic protocol function that the application wants to execute;
A second step of verifying the electronic signature in the definition file and storing the definition file when the validity is confirmed;
A third step of reading a definition file corresponding to a cryptographic protocol function received by the execution / management module from the definition file and interpreting it to generate a compiler description language;
A fourth step of compiling the compiler description language to generate an executable file;
A fifth step in which the execution / management module executes the cryptographic protocol function by the generated execution file;
A cryptographic protocol execution method characterized by comprising:
コンピュータに、
アプリケーションが実行したい暗号プロトコル機能を実行・管理モジュールに送信する第1のステップと、
定義ファイル内の電子署名を検証し、正当性が確認できたときに、該定義ファイルを格納する第2のステップと、
前記定義ファイルの中から、前記実行・管理モジュールが受信した前記アプリケーションが実行したい暗号プロトコル機能に対応する定義ファイルを読み込み、解釈してコンパイラ記述言語を生成する第3のステップと、
該コンパイラ記述言語をコンパイルして実行ファイルを生成する第4のステップと、
前記実行・管理モジュールが前記生成した実行ファイルにより、前記暗号プロトコル機能を実行する第5のステップと、
を実行させるためのプログラム。
On the computer,
A first step of transmitting to the execution / management module a cryptographic protocol function that the application wants to execute;
A second step of verifying the electronic signature in the definition file and storing the definition file when the validity is confirmed;
A third step of reading a definition file corresponding to a cryptographic protocol function received by the execution / management module from the definition file and interpreting it to generate a compiler description language;
A fourth step of compiling the compiler description language to generate an executable file;
A fifth step in which the execution / management module executes the cryptographic protocol function by the generated execution file;
A program for running
JP2007227590A 2007-09-03 2007-09-03 Cryptographic protocol execution device, cryptographic protocol execution method and program Expired - Fee Related JP5281774B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007227590A JP5281774B2 (en) 2007-09-03 2007-09-03 Cryptographic protocol execution device, cryptographic protocol execution method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007227590A JP5281774B2 (en) 2007-09-03 2007-09-03 Cryptographic protocol execution device, cryptographic protocol execution method and program

Publications (2)

Publication Number Publication Date
JP2009060496A true JP2009060496A (en) 2009-03-19
JP5281774B2 JP5281774B2 (en) 2013-09-04

Family

ID=40555795

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007227590A Expired - Fee Related JP5281774B2 (en) 2007-09-03 2007-09-03 Cryptographic protocol execution device, cryptographic protocol execution method and program

Country Status (1)

Country Link
JP (1) JP5281774B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020059063A1 (en) * 2018-09-20 2020-03-26 日本電気株式会社 Conversion device, conversion method, and program

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006186773A (en) * 2004-12-28 2006-07-13 Kddi Corp Unit and method for protocol generation and program therefor

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006186773A (en) * 2004-12-28 2006-07-13 Kddi Corp Unit and method for protocol generation and program therefor

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
JPN6012032746; S. Kiyomoto, et al.: 'A Security Protocol Compiler Generating C Source Codes' Proceedings of the 2nd International Conference on Information Security and Assurance (ISA 2008) , 20080507, pp. 20-25, IEEE *
JPN6012032747; D. Pozza, et al.: 'Spi2Java: automatic cryptographic protocol Java code generation from spi calculus' Proceedings of the 18th International Conference on Advanced Information Networking and Applications vol. 1, 20040824, pp. 400-405, IEEE *
JPN6012032748; C.-W. Jeon, et al.: 'Automatic Generation of the C# Code for Security Protocols Verified with Casper/FDR' Proceedings of the 19th International Conference on Advanced Information Networking and Applications vol. 2, 20050425, pp. 507-510, IEEE *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020059063A1 (en) * 2018-09-20 2020-03-26 日本電気株式会社 Conversion device, conversion method, and program
JPWO2020059063A1 (en) * 2018-09-20 2021-08-30 日本電気株式会社 Conversion device, conversion method and program
US11435988B2 (en) 2018-09-20 2022-09-06 Nec Corporation Conversion apparatus, conversion method and program

Also Published As

Publication number Publication date
JP5281774B2 (en) 2013-09-04

Similar Documents

Publication Publication Date Title
US8086744B2 (en) Meta-protocol
US9530012B2 (en) Processing extensible markup language security messages using delta parsing technology
Zheng et al. Ethereum smart contract development in solidity
JP2019115026A (en) Decentralized ledger device, decentralized ledger method, transaction information broadcast device, and method for sharing user information
Carter et al. Blockchain-based interoperable electronic health record sharing framework
Cervesato Typed MSR: Syntax and examples
CN115208665B (en) Germplasm resource data safe sharing method and system based on blockchain
Debant et al. Symbolic verification of distance bounding protocols
Ho et al. Noise: A Library of Verified High-Performance Secure Channel Protocol Implementations
US20210209596A1 (en) Object Oriented Smart Contracts For UTXO-Based Blockchains
Chong et al. Building secure web applications with automatic partitioning
JP5281774B2 (en) Cryptographic protocol execution device, cryptographic protocol execution method and program
Pironti et al. Formally based semi-automatic implementation of an open security protocol
Linderud Reproducible builds: Break a log, good things come in trees
JP5234738B2 (en) Cryptographic protocol execution device, cryptographic protocol execution method and program
Palladino Ethereum for Web Developers
Liskov et al. The cryptographic protocol shapes analyzer: A manual
Geng et al. Blockchain-inspired Framework for Runtime Verification of IoT Ecosystem Task Fulfillment
Brakmić Bitcoin and Lightning Network on Raspberry Pi: Running Nodes on Pi3, Pi4 and Pi Zero
Canal et al. Stability-based adaptation of asynchronously communicating software
Ammann Symbolic-Model-Guided Fuzzing of Cryptographic Protocols
US20240004850A1 (en) Systems and methods for a stateless blockchain overlay layer
Hwang et al. An operational model and language support for securing web services
Biró et al. Securing IoT Firmware Dispatch Systems with Blockchain
von Raumer Continuous integration of embedded security software

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100205

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120626

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120822

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130305

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130423

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: 20130521

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130527

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees