JP7272156B2 - Information processing device, information processing method - Google Patents
Information processing device, information processing method Download PDFInfo
- Publication number
- JP7272156B2 JP7272156B2 JP2019130889A JP2019130889A JP7272156B2 JP 7272156 B2 JP7272156 B2 JP 7272156B2 JP 2019130889 A JP2019130889 A JP 2019130889A JP 2019130889 A JP2019130889 A JP 2019130889A JP 7272156 B2 JP7272156 B2 JP 7272156B2
- Authority
- JP
- Japan
- Prior art keywords
- source code
- electronic signature
- program
- information processing
- unit
- 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.)
- Active
Links
Images
Landscapes
- Storage Device Security (AREA)
Description
本発明は、情報処理装置及び情報処理方法に関する。 The present invention relates to an information processing device and an information processing method.
一般に、プログラムを開発する際には、開発者や評価者等の複数の関係者が、サーバ等に格納されたプログラムのソースコードにアクセスする(例えば、特許文献1)。 In general, when developing a program, multiple parties such as developers and evaluators access the source code of the program stored in a server or the like (eg, Patent Document 1).
ところで、プログラムの開発に携わる関係者の数が増加すると、例えば、関係者になりすました者がソースコードを書き換えてしまう危険性や、プログラムの試験項目の一部がミスにより実施されず、プログラムがリリースされてしまう危険性が増加する。この結果、プログラムが実行された際に、問題が発生してしまうことがある。 By the way, if the number of people involved in program development increases, for example, there is a risk that someone pretending to be a related person will rewrite the source code, or that part of the program's test items will not be performed due to mistakes, and the program will not be executed. Increased risk of being released. As a result, problems may occur when the program is executed.
本発明は、上記のような従来の問題に鑑みてなされたものであって、開発されたプログラムが実行された際に問題が発生することを抑制できる技術を提供することを目的とする。 SUMMARY OF THE INVENTION The present invention has been made in view of the conventional problems as described above, and an object of the present invention is to provide a technique that can prevent problems from occurring when a developed program is executed.
前述した課題を解決する主たる本発明は、プログラムのソースコードを作成した作成者の第1電子署名を、前記ソースコードに対して付与する第1付与部と、前記第1電子署名が付与された前記ソースコードを、記憶部に格納する格納部と、を含む情報処理装置である。 The main aspect of the present invention for solving the above-mentioned problems is to provide a first adding unit for adding a first electronic signature of a creator who created a source code of a program to the source code; and a storage unit that stores the source code in a storage unit.
本発明によれば、開発されたプログラムが実行された際に問題が発生することを抑制できる技術を提供することができる。 ADVANTAGE OF THE INVENTION According to this invention, the technique which can suppress that a problem arises when the developed program is run can be provided.
本明細書及び添付図面の記載により、少なくとも以下の事項が明らかとなる。 At least the following matters will become apparent from the descriptions of this specification and the accompanying drawings.
=====本実施形態=====
<<<情報処理装置10の構成>>>
図1は、本実施形態の情報処理装置10のハードウェア構成例を示す図である。情報処理装置10は、プログラムの構成管理を支援するとともに、開発されるプログラムが格納されるサーバである。
=====This Embodiment=====
<<<configuration of
FIG. 1 is a diagram showing a hardware configuration example of an
なお、ここで「プログラムの構成管理」とは、例えば、開発されるプログラムを、バージョンナンバー(以下、単に“バージョン”という。)とともに更新して管理することをいう。このため、プログラムの構成管理を示す情報(後述)を参照することにより、必要に応じて過去のプログラムの状態を再現することが可能となる。 Here, "program configuration management" means, for example, updating and managing a developed program together with its version number (hereinafter simply referred to as "version"). Therefore, by referring to information (to be described later) indicating configuration management of the program, it is possible to reproduce the past state of the program as necessary.
また、本実施形態において、「開発されるプログラム」は、例えば、FA分野のコントローラや自動販売機等に組み込まれた組み込み機器15a~15cの動作を設定するためのものであり、ソースコード、バイナリコードを含む。
Further, in the present embodiment, the "program to be developed" is, for example, for setting the operation of the embedded
情報処理装置10は、CPU(Central Processing Unit)20、メモリ21、記憶装置22、入力装置23、表示装置24、及び通信装置25を含んで構成される。
The
CPU20は、メモリ21や記憶装置22に格納されたプログラムを実行することにより、情報処理装置10における様々機能を実現する。
The
メモリ21は、例えばRAM(Random Access Memory)等であり、プログラムやデータ等の一時的な記憶領域として用いられる。
The
記憶装置22は、例えばハードディスク等の不揮発性の記憶手段領域であり、プログラムや様々なデータが格納される。
The
入力装置23は、例えばキーボードやタッチパネルであり、利用者の操作結果が入力を受け付ける装置である。また、表示装置24は、例えばディスプレイであり、処理結果を表示する装置である。
The
通信装置25は、ネットワークインターフェイスなどの適宜な通信手段であって、ネットワーク11を介して組み込み機器15a~15cとデータの送受信を行う。なお、詳細は後述するが、組み込み機器15a~15cは、プログラムの開発を管理する“管理者”の電子署名(後述)を検証可能な機器である。
The
<<情報処理装置10に実現される機能ブロック等>>
図2は、情報処理装置10に実現される機能ブロックと、記憶される情報を示す図である。情報処理装置10には、CPU20が記憶装置22に格納された所定のプログラム(不図示)を実行することにより、記憶部50、構成管理部51、通信部52が実現される。
<<Function Blocks Implemented in
FIG. 2 is a diagram showing functional blocks implemented in the
==記憶部50の情報==
記憶部50は、例えば、記憶装置22に割り当てられた記憶領域であり、認証情報DB(DB:データベース)60、プログラムDB61,63、構成管理情報62,64、及び機器情報DB65を記憶する。
== Information in
The
認証情報DB60は、例えば図3に示すにように、情報処理装置10の利用者の認証等に関連する各種情報を含む。具体的には、認証情報DB60は、利用者の識別情報を示す“User ID”、利用者のパスワードを示す“PW”、利用者の“利用者名”を含む。
For example, as shown in FIG. 3, the
さらに、認証情報DB60は、利用者の権限を示す“権限”と、利用者の公開鍵の情報を示す“鍵情報”を含む。なお、「利用者の権限」は、利用者が、プログラムの“作成者(若しくは開発者)”であるか、プログラムの“評価者”であるか、プログラムの“試験者”であるか、プログラム開発の“管理者”であるか、によって区別される。
Furthermore, the
そして、「公開鍵」は、複数の利用者の夫々に割り当てられ、各種情報に電子署名を付与する際に用いられる「秘密鍵」(後述)に対する鍵情報である。 A "public key" is key information for a "secret key" (described later) that is assigned to each of a plurality of users and used when attaching an electronic signature to various types of information.
例えば、図3の1行目においては、“User ID”が“001”であり、“PW”が“abc12”であり、“利用者名”が“A1”であることが示されている。このため、“A1”が、“User ID”である“001”と、“PW”である“abc12”と、を用いて情報処理装置10にアクセスした場合、情報処理装置10では、“A1”の“権限”である“作成者”に応じた処理が実行可能となる。
For example, the first line in FIG. 3 indicates that "User ID" is "001", "PW" is "abc12", and "user name" is "A1". Therefore, when "A1" accesses the
プログラムDB61は、開発された複数のプログラムiの夫々に対するソースコードXiを含むデータベースである。なお、詳細は後述するが、ソースコードXiには、プログラム開発の関係者の“電子署名”が付されている。 The program DB 61 is a database containing source codes Xi for each of a plurality of developed programs i. Although the details will be described later, the source code Xi is attached with an “electronic signature” of a person involved in program development.
構成管理情報62は、ソースコードXiの構成管理に関する情報であり、例えば、図4に示すように、ソースコードXiの“バージョン”と、ソースコードXiに付された“電子署名”との関係を含む情報である。
The
ところで、一般的にプログラムがリリースされるまでには、ソースコードが更新されて所定の機能を実現する毎に、ソースコードは評価される。そして、評価結果に問題がある場合には、ソースコードは修正される。一方、評価結果に問題がない場合は、ソースコードがバイナリコードに変換され、プログラムの対象となる機器(例えば、組み込み機器15a)にインストールされ、試験が実行される。
By the way, the source code is generally evaluated every time the source code is updated to implement a predetermined function before the program is released. Then, if there is a problem with the evaluation result, the source code is modified. On the other hand, if there is no problem in the evaluation result, the source code is converted into binary code, installed in the target device of the program (for example, embedded
また、試験結果に問題がある場合には、ソースコードは修正されるが、試験結果に問題がない場合には、プログラムは他の機器等に対し、リリースされる。 If there is a problem with the test results, the source code is corrected, but if there are no problems with the test results, the program is released to other devices.
ここで、例えば、ソースコードの“作成者”や“評価者”等になりすました者が、プログラムDB61のソースコードにアクセスすると、結果的にプログラムに不正な処理が含まれてしまうことがある。
Here, for example, if a person pretending to be the "creator" or "evaluator" of the source code accesses the source code in the
また、ソースコードが変換されたバイナリ―コードの“試験者”が、ミスにより一部の試験の実施をしなかった場合、プログラムにバグが含まれた状態でリリースされてしまうことがある。 Also, if the "tester" of the binary code converted from the source code fails to conduct part of the test due to a mistake, the program may be released with bugs.
詳細は後述するが、本実施形態では、このような事態を抑制すべく、開発されるプログラムのソースコードの更新や評価等の作業がされる毎に、作業を行った者の“電子署名”がソースコードに付され、記憶部50に格納される。
Although details will be described later, in this embodiment, in order to prevent such a situation, every time work such as updating or evaluating the source code of the developed program is performed, the "electronic signature" of the person who performed the work is added. is attached to the source code and stored in the
一般に、“電子署名”が付されること、ソースコードに改ざん等が施されていなこと、及び“電子署名”の署名者の認証と、が可能となる。この結果、プログラムがリリースされた後、仮に、プログラムに問題があった場合、問題があったプログラムに関与した関係者が確実に特定できる。 In general, it is possible to attach an "electronic signature", to ensure that the source code has not been tampered with, and to authenticate the signer of the "electronic signature". As a result, even if there is a problem with the program after the program is released, it is possible to reliably identify the parties involved in the problem program.
これにより、例えば、ソースコードの“作成者”等のなりすましや、試験等の一部が誤って実施されない等のミスを防止することができるため、結果的に開発したプログラムが実行された際に問題が発生することを抑制可能となる。 As a result, for example, it is possible to prevent mistakes such as spoofing of the "creator" of the source code and mistakes such as part of the test being incorrectly performed, so when the developed program is executed as a result It is possible to suppress the occurrence of problems.
なお、例えば、図4の1行目には、ソースコードX1の“バージョン”が“2.0”であり、ソースコードX1には作成者“A2”の“電子署名”が付されていることを示す。 For example, the first line in FIG. 4 indicates that the “version” of the source code X1 is “2.0” and the “electronic signature” of the creator “A2” is attached to the source code X1. indicates
プログラムDB63は、ソースコードXiに対応するバイナリコードYiを含むデータベースである。なお、詳細は後述するが、バイナリコードYiには、“試験者”または“管理者”の“電子署名”が付与される。 The program DB 63 is a database containing binary code Yi corresponding to source code Xi. Although the details will be described later, the "electronic signature" of the "tester" or "administrator" is attached to the binary code Yi.
構成管理情報64は、バイナリコードYiの関する情報であり、例えば、バイナリコードYiの“バージョン”と、バイナリコードYiに付された“電子署名”との関係を含む情報である。
The
機器情報DB65は、開発されたプログラム(ここでは、バイナリコード)の送信先である、組み込み機器15a~15cに関する情報を含むデータベースである。
The device information DB 65 is a database containing information on embedded
==構成管理部51の機能ブロック==
構成管理部51は、主として開発されるプログラムの構成管理を行うためのブロックであり、第1付与部70、第2付与部71、第3付与部72、第4付与部73、格納部74、更新部75、取得部76、判定部77、及び生成部78を含む。
== Functional Blocks of
The
第1付与部70は、ソースコードXiの“作成者”の“電子署名”を、ソースコードXiに対して付与する。
The
第2付与部71は、ソースコードXiの評価を行う“評価者”の“電子署名”を、ソースコードXiに対して付与する。
The
第3付与部72は、ソースコードXiを変換したバイナリコードYiの試験を行う“試験者”の“電子署名”を、ソースコードXiに対して付与する。
The
第4付与部73は、“試験者”の“電子署名”、またはプログラムを管理する“管理者”(若しくは、“構成管理者”)の“電子署名”(認証情報)の何れかを、バイナリコードYiに対して付与する。
The
格納部74は、“電子署名”が付与されたソースコードXiを、記憶部50のプログラムDB61に格納する。また、格納部74は、“電子署名”が付与されたバイナリコードYiを、記憶部50のプログラムDB63に格納する。
The
更新部75は、格納部74が、ソースコードXiをプログラムDB61に格納する毎に、構成管理情報62を更新する。さらに、更新部75は、格納部74が、バイナリコードYiをプログラムDB63に格納する毎に、構成管理情報64を更新する。
The
取得部76は、利用者の操作結果等に基づいて、記憶部50から、“電子署名”が付与されたソースコードXiや、“電子署名”が付与されたバイナリコードYiを取得する。
The
判定部77は、“評価者”の評価記録Eiに基づいて、ソースコードXiの評価結果に問題が有るか否かと、“試験者”の試験記録Tiに基づいて、ソースコードXiのバイナリコードYiの試験結果に問題が有るか否かと、を判定する。
Based on the evaluation record Ei of the "evaluator", the
生成部78は、ソースコードXiから、組み込み機器15a等で実行可能なバイナリコードYiを生成する。
The
==通信部52==
通信部52(送信部)は、組み込み機器15a~15cと各種情報のやりとりを行い、リリース用のプログラム(ここでは、バイナリコードYi)を、組み込み機器15a~15cに対して送信する。この結果、組み込み機器15a~15cは、リリースされたプログラムに基づいた処理を実行することができる。
==
The communication unit 52 (transmitting unit) exchanges various information with the embedded
<<<プログラムを作成・評価・試験・配信する際の処理S10>>>
図5及び図6は、プログラムを作成・評価・試験・配信する際に実行される処理S10の一例を示すフローチャートである。なお、本実施形態の情報処理装置10の利用者は、情報処理装置10を利用する際に、各自の“秘密鍵”を示す情報が格納された、図示しないデバイス(例えば、USBトークン)を情報処理装置10に接続する。これにより、情報処理装置10の第1付与部70~第4付与部73は、利用者の“秘密鍵”を用いて、利用者の“電子署名”を、データに対して付与することができる。
<<<Process S10 when creating, evaluating, testing, and distributing a program>>>
5 and 6 are flowcharts showing an example of the processing S10 executed when creating, evaluating, testing, and distributing a program. Note that when using the
==作成者署名付与==
まず、“作成者”がプログラムのソースコードXiを作成すると、第1付与部70は、ソースコードXiに対し、“作成者”の“電子署名”を付与する(S20:第1ステップ)。
==Author Signature==
First, when the "creator" creates the source code Xi of the program, the
図7は、“電子署名”を付与する際に実行される処理100の一例であり、図8は、ソースコードXiと、“作成者”の電子署名100iとの関係を説明するための図である。
FIG. 7 shows an example of a process 100 executed when adding an "electronic signature", and FIG. 8 is a diagram for explaining the relationship between the source code Xi and the
まず、第1付与部70は、データとして、ソースコードXiを取得する(S200)。つぎに、第1付与部70は、取得されたソースコードXiのハッシュ値を計算する(S201)。そして、第1付与部70は、“作成者”の“秘密鍵”を用いて、計算されたハッシュ値の暗号化を実行する(S202)。暗号化が実行されると、第1付与部70は、暗号化の結果を、対象であるソースコードXiに対して、電子署名100iとして付与する(S203)。
First, the
また、処理S20が実行され、ソースコードXiに“作成者”の電子署名100iが付与されると、格納部74は、電子署名100iが付与されたソースコードXiを、プログラムDB61に格納する(S21:第2ステップ)。なお、電子署名100iは、「第1電子署名」に相当する。
Further, when the process S20 is executed and the
そして、ソースコードXiがプログラムDB61に格納されると、更新部75は、構成管理情報62を更新する(S22)。ここで、例えば、“作成者A2”が作成したソースコードX1(i=1)が、プログラムDB61に格納される場合、構成管理情報62には、“バージョン”が“2.0”であり、“署名者”が“作成者A2”との1行目の情報が追加されることになる。
Then, when the source code Xi is stored in the
作成されたソースコードXiがプログラムDB61に格納されると、“評価者”は、プログラムの開発仕様書等に基づいて、格納されたソースコードXiに問題があるか否かを評価する必要がある。そして、“評価者”の指示に基づいて、取得部76が、電子署名100iが付されたソースコードXiを取得すると(S23:Yes)、判定部77は、評価結果の情報を含む評価記録Eiに基づいて、ソースコードXiに問題があるか否かを判定する(S24)。
When the created source code Xi is stored in the
そして、判定部77は、評価結果に問題があると判定すると(S24:Yes)、ソースコードXiの修正を指示する(S25)。
When the
ここで、例えば、ソースコードX1に修正が施された、ソースコードX2が新に作成されると、再度、処理S20~S22が実行される。そして、ソースコードX2が、“作成者A2”によって作成された場合、図4の2行目に示す情報が、構成管理情報62に追加されることになる。したがって、“作成者A2”の“電子署名”が付されたソースコードX2が、プログラムDB61に格納される。
Here, for example, when the source code X2 is newly created by modifying the source code X1, the processes S20 to S22 are executed again. Then, when the source code X2 is created by “creator A2”, the information shown in the second line of FIG. 4 is added to the
==評価者署名付与==
一方、判定部77が評価記録Eiに基づいて、評価結果に問題が無いと判定すると(S24:No)、第2付与部71は、問題がないと判定された、電子署名100iが付されたソースコードXiに対して、“電子署名”を付与する(S26)。ここで、処理S26で実行される、ソースコードXiに対して“電子署名”を付与する処理は、上述した処理S20(または、処理S100)と基本的に同様である。ただし、処理S26においては、図9に示すように、処理S200においてハッシュ値を計算するための“データ”は、評価記録Ei、ソースコードXi、及び電子署名100iである。
== Evaluator signature attached ==
On the other hand, when the
このため、ここでは、これらの“データ”に基づいて得られる“評価者”の電子署名101iが、電子署名100iが付されたソースコードXiに対し、更に付されることになる。なお、第2付与部71は、「第2付与部」に相当し、電子署名101iは、「第2電子署名」に相当する。
Therefore, here, the
そして、格納部74は、電子署名100i,101iが付与されたソースコードXiを、プログラムDB61に格納する(S27)。また、ソースコードXiがプログラムDB61に格納されると、更新部75は、構成管理情報62を更新する(S28)。なお、例えば、処理S27が実行された際のソースコードが、ソースコードX3(i=3)であり、“バージョン”が“2.1”であり、“作成者”が“A2”、“評価者”が“B1”である場合、構成管理情報62には、3行目の情報が追加されることになる。
Then, the
==試験用バイナリコードYi生成==
また、ソースコードXiの評価結果には問題が無いと判定され、処理S27が実行されると、生成部78は、ソースコードXiを変換し、バイナリコードYiを生成する(S29)。これにより、実際の機器(例えば、組み込み機器15a)等でのプログラムの検証が可能となる。
== test binary code Yi generation ==
Also, when it is determined that there is no problem in the evaluation result of the source code Xi and the process S27 is executed, the
バイナリコードYiが生成されると、第4付与部73は、“試験者”の電子署名200iを、バイナリコードYiに付与する(S30)。なお、電子署名200iが付されたバイナリコードYiは、「第1バイナリコード」に相当する。
When the binary code Yi is generated, the fourth adding
ここで、処理S30で実行される、バイナリコードYiに対して“電子署名”を付与する処理は、上述した処理S20等(または、処理S100)と基本的に同様である。ただし、処理S30においては、図10に示すように、処理S200においてハッシュ値を計算するための“データ”は、構成管理情報62、バイナリコードYiである。この結果、ここでは、これらの“データ”に基づいて得られる“試験者”の電子署名200iが、バイナリコードYiに対して付されることになる。
Here, the process of adding an "electronic signature" to the binary code Yi executed in process S30 is basically the same as the above-described process S20 or the like (or process S100). However, in the process S30, as shown in FIG. 10, the "data" for calculating the hash value in the process S200 is the
そして、格納部74は、電子署名200iが付与されたバイナリコードYiを、プログラムDB63に格納する(S31)。また、バイナリコードYiがプログラムDB63に格納されると、更新部75は、構成管理情報64を更新する(S32)。
Then, the
ここで、“試験者”がバイナリコードYiを用いて実際の機器等の試験を実施した結果、試験結果を含む試験記録Tiが情報処理装置10に入力される。そして、判定部77は、試験記録Tiに基づいて、ソースコードXiに問題があるか否かを判定する(S33)。
Here, a test record Ti including the test results is input to the
判定部77は、試験結果に問題があると判定すると(S33:Yes)、ソースコードXiの修正を指示する(S25)。
If the
ここで、例えば、図4に示すソースコードX3が試験され、試験結果に問題があると判定されると、修正が施された、ソースコードX4が新に作成される。そして、上述した、処理S20~S22等が実行される。この結果、新たなソースコードX4が、“作成者A1”によって作成された場合、図4の4行目に示す情報が、構成管理情報62に追加されることになる。さらに、“作成者A1”の“電子署名”が付されたソースコードX4が、プログラムDB61に格納される。以降、ソースコードX4に対し、処理S33までの処理が実行される。
Here, for example, source code X3 shown in FIG. 4 is tested, and if it is determined that there is a problem in the test result, corrected source code X4 is newly created. Then, the processes S20 to S22 and the like described above are executed. As a result, when the new source code X4 is created by “creator A1”, the information shown in the fourth line in FIG. 4 is added to the
==試験者署名付与==
一方、判定部77が試験結果に問題が無いと判定すると(S33:No)、第3付与部72は、問題がないと判定された、電子署名100i,101iが付されたソースコードXiに対して、“試験者”の“電子署名”を付与する(S34)。
==Examiner's Signature Granted==
On the other hand, if the
ここで、処理S34で実行される、ソースコードXiに対して“電子署名”を付与する処理は、上述した処理S20(または、処理S100)と基本的に同様である。ただし、処理S34においては、図11に示すように、処理S200においてハッシュ値を計算するための“データ”は、評価記録Ei、試験記録Ti、ソースコードXi、及び電子署名100i,101iである。
Here, the process of attaching the “electronic signature” to the source code Xi executed in process S34 is basically the same as process S20 (or process S100) described above. However, in the process S34, as shown in FIG. 11, the "data" for calculating the hash value in the process S200 are the evaluation record Ei, the test record Ti, the source code Xi, and the
このため、ここでは、これらの“データ”に基づいて得られる“試験者”の電子署名102iが、電子署名100i,101iが付されたソースコードXiに対し、更に付されることになる。なお、電子署名102iは、「第3電子署名」に相当する。
Therefore, here, the
そして、格納部74は、電子署名100i~102iが付与されたソースコードXiを、プログラムDB61に格納する(S35)。また、ソースコードXiがプログラムDB61に格納されると、更新部75は、構成管理情報62を更新する(S36)。なお、例えば、処理S36が実行された際のソースコードが、ソースコードX6(i=6)であり、“バージョン”が“2.2”であり、“作成者”が“A1”、“評価者”が“B2”、“試験者”が“C3”である場合、構成管理情報62には、6行目の情報が追加されることになる。
Then, the
==リリース用バイナリコードYi生成==
関係者全員の電子署名100i~102iが付与されたソースコードXiが格納され、構成管理情報62が処理S36にて更新されると、生成部78は、ソースコードXiを変換し、バイナリコードYiを生成する(S37)。これにより、実際の機器(例えば、組み込み機器15a)にリリースされ、実行されるプログラム(バイナリコードYi)が生成される。
== Binary Code Yi Generation for Release ==
When the source code Xi to which the
バイナリコードYiが生成されると、第4付与部73は、“管理者”の電子署名201iを、バイナリコードYiに付与する(S38)。なお、“管理者”の電子署名201iは、「第4電子署名」に相当し、“管理者”の電子署名201iが付されたバイナリコードYiは、「第2バイナリコード」に相当する。
When the binary code Yi is generated, the fourth adding
ここで、処理S38で実行される、バイナリコードYiに対して“電子署名”を付与する処理は、上述した処理S20等(または、処理S100)と基本的に同様である。ただし、処理S38においては、図12に示すように、処理S200においてハッシュ値を計算するための“データ”は、構成管理情報62、バイナリコードYiである。この結果、ここでは、これらの“データ”に基づいて得られる“管理者”の電子署名201iが、バイナリコードYiに対して付されることになる。
Here, the process of adding the "electronic signature" to the binary code Yi, which is executed in process S38, is basically the same as the above-described process S20 and the like (or process S100). However, in the process S38, as shown in FIG. 12, the "data" for calculating the hash value in the process S200 are the
そして、格納部74は、電子署名201iが付与されたバイナリコードYiを、プログラムDB63に格納する(S39)。また、バイナリコードYiがプログラムDB63に格納されると、更新部75は、構成管理情報64を更新する(S40)。
Then, the
==プログラムの配信==
処理S40が実施されると、通信部52は、“管理者”の電子署名201iが付されたバイナリコードYiを、組み込み機器15a~15cの夫々に対して送信する。
==Distribution of the program==
When the process S40 is performed, the
組み込み機器15a~15cでは、例えば“管理者”の電子署名201iと、“管理者”の公開鍵と、を用いて電子署名の検証ができた場合にのみ、バイナリプログラムYiはインストールされる。この結果、組み込み機器15a~15cでは、問題が発生する可能性が少ないプログラムを実行することができる。
In the embedded
===まとめ===
以上、本実施形態の情報処理装置10について説明した。第1付与部70は、作成されたプログラムiのソースコードXiに対し、作成者の電子署名100iを付与する。そして、電子署名100iが付与されたソースコードXiは、記憶部50に格納される。この結果、プログラムを作成した作成者を確実に特定できるため、なりすまし等が防止される。したがって、プログラムが実行された際に問題が発生する可能性を低減できる。
===Summary===
The
また、第2付与部71は、ソースコードXiに対し、更に“評価者”の電子署名101iも付与する。これにより、例えば評価者が、故意に評価項目の一部を省略等することを防ぐことができるため、問題を含むプログラムがリリースされることを抑制できる。
The second adding
また、生成部78は、“作成者”及び“評価者”の電子署名が付与されたソースコードXiを、試験用のバイナリコードYiに変換し、電子署名が付与されていないソースコードXiは、変換しない。これにより、プログラムの試験の質を高めることができる。
In addition, the
また、第3付与部72は、ソースコードXiに対し、更に“試験者”の電子署名102iも付与する。これにより、例えば試験者が、故意に試験項目の一部を省略等することを防ぐことができるため、問題を含むプログラムがリリースされることを抑制できる。さらに、本実施形態では、ソースコードXiには、関係者の全ての電子署名が付与される。したがって、仮にリリースされたプログラムに問題があった場合、問題があったプログラムに関与した者を確実に特定できる。
In addition, the third adding
また、生成部78は、“作成者”及び“評価者”の電子署名が付与されたソースコードXiを、リリース用のバイナリコードYiに変換し、電子署名が付与されていないソースコードXiは、変換しない。これにより、問題を含むプログラムがリリースされることを抑制できる。
In addition, the
また、リリース用のバイナリコードYiには、“管理者”の電子署名が付与されているため、組み込み機器15a~15cは、電子署名の検証をすることにより、正式なプログラムのみをインストールできる。
In addition, since the release binary code Yi is given the electronic signature of the "administrator", the embedded
上記の実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。また、本発明は、その趣旨を逸脱することなく、変更や改良され得るとともに、本発明にはその等価物が含まれるのはいうまでもない。 The above-described embodiments are intended to facilitate understanding of the present invention, and are not intended to limit and interpret the present invention. Further, the present invention can be modified and improved without departing from its spirit, and it goes without saying that the present invention includes equivalents thereof.
例えば、生成部78は、ソースコードXiに付された“電子署名”を検証せずに、バイナリコードYiに変換したが、公開鍵を用いて検証し、検証結果に問題がない場合にのみバイナリコードYiに変換することとしても良い。このような場合であっても、本実施形態と同様に、作成されるプログラムを実行した際に問題が発生することを抑制できる。
For example, the
10 情報処理装置
20 CPU
21 メモリ
22 記憶装置
23 入力装置
24 表示装置
25 通信装置
50 記憶部
51 構成管理部
52 通信部
60 認証情報DB
61,63 プログラムDB
62,64 構成管理情報
65 機器情報DB
70 第1付与部
71 第2付与部
72 第3付与部
73 第4付与部
75 更新部
76 取得部
77 判定部
78 生成部
100i~102i,200i,201i 電子署名
Xi ソースコード
Ei 評価記録
Ti 試験記録
10
21
61, 63 Program DB
62, 64
70
Claims (5)
前記第1電子署名が付与された前記ソースコードを、記憶部に格納する格納部と、
前記第1電子署名が付与された前記ソースコードの評価結果に問題がない場合、前記第1電子署名が付与された前記ソースコードを評価した評価者の第2電子署名を、前記第1電子署名が付与された前記ソースコードに対して付与する第2付与部と、
前記第1及び第2電子署名が付与された前記ソースコードに基づいて、第1バイナリコードを生成する生成部と、
前記第1バイナリコードを用いて実行された前記プログラムの試験に問題がない場合、前記プログラムの試験を行った試験者の第3電子署名を、前記第1及び第2電子署名が付与された前記ソースコードに対して付与する第3付与部とを含み、
前記格納部は、
前記第1~第3電子署名が付与された前記ソースコードを、前記記憶部に格納すること、
を特徴とする情報処理装置。 a first granting unit that grants a first electronic signature of a creator who created a source code of a program to the source code;
a storage unit that stores the source code to which the first electronic signature is attached in a storage unit;
When there is no problem in the evaluation result of the source code to which the first electronic signature is attached, the second electronic signature of the evaluator who evaluated the source code to which the first electronic signature is attached is the first electronic signature. a second granting unit that grants to the source code to which is granted;
a generation unit that generates a first binary code based on the source code to which the first and second digital signatures are attached;
If there is no problem in the test of the program executed using the first binary code, the third electronic signature of the tester who tested the program is added to the first and second electronic signatures. and a third granting unit that grants to the source code,
The storage unit is
storing the source code to which the first to third electronic signatures are attached in the storage unit;
An information processing device characterized by:
前記生成部は、
前記第1~第3電子署名が付与された前記ソースコードに基づいて、第2バイナリコードを生成すること、
を特徴とする情報処理装置。 The information processing device according to claim 1 ,
The generating unit
generating a second binary code based on the source code to which the first to third electronic signatures are attached;
An information processing device characterized by:
前記第2バイナリコードに対し、前記第2バイナリコードを送信する機器が検証可能な認証情報を付与する第4付与部と、
前記認証情報が付与された前記第2バイナリコードを、前記機器に送信する送信部と、
を含むことを特徴とする情報処理装置。 The information processing device according to claim 2 ,
a fourth granting unit that grants, to the second binary code, authentication information that can be verified by a device that transmits the second binary code;
a transmission unit that transmits the second binary code to which the authentication information is attached to the device;
An information processing device comprising:
前記認証情報は、前記プログラムを管理する管理者の第4電子署名であること、
を特徴とする情報処理装置。 The information processing device according to claim 3 ,
the authentication information is a fourth electronic signature of an administrator who manages the program;
An information processing device characterized by:
プログラムのソースコードを作成した作成者の第1電子署名を、前記ソースコードに対して付与する第1ステップと、
前記第1電子署名が付与された前記ソースコードを、記憶部に格納する第2ステップと、
前記第1電子署名が付与された前記ソースコードの評価結果に問題がない場合、前記第1電子署名が付与された前記ソースコードを評価した評価者の第2電子署名を、前記第1電子署名が付与された前記ソースコードに対して付与する第3ステップと、
前記第1及び第2電子署名が付与された前記ソースコードに基づいて、第1バイナリコードを生成する第4ステップと、
前記第1バイナリコードを用いて実行された前記プログラムの試験に問題がない場合、前記プログラムの試験を行った試験者の第3電子署名を、前記第1及び第2電子署名が付与された前記ソースコードに対して付与する第5ステップと、
前記第1~第3電子署名が付与された前記ソースコードを、前記記憶部に格納する第6ステップと、
を含むことを特徴とする情報処理方法。
An information processing method executed by an information processing device,
a first step of attaching a first electronic signature of a creator who created a program source code to the source code;
a second step of storing the source code to which the first electronic signature is attached in a storage unit;
When there is no problem in the evaluation result of the source code to which the first electronic signature is attached, the second electronic signature of the evaluator who evaluated the source code to which the first electronic signature is attached is the first electronic signature. a third step of assigning to the source code assigned with
a fourth step of generating a first binary code based on the source code with the first and second digital signatures;
If there is no problem in the test of the program executed using the first binary code, the third electronic signature of the tester who tested the program is added to the first and second electronic signatures. A fifth step of assigning to the source code;
a sixth step of storing the source code to which the first to third electronic signatures are attached in the storage unit;
An information processing method comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019130889A JP7272156B2 (en) | 2019-07-16 | 2019-07-16 | Information processing device, information processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019130889A JP7272156B2 (en) | 2019-07-16 | 2019-07-16 | Information processing device, information processing method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021015534A JP2021015534A (en) | 2021-02-12 |
JP7272156B2 true JP7272156B2 (en) | 2023-05-12 |
Family
ID=74530790
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019130889A Active JP7272156B2 (en) | 2019-07-16 | 2019-07-16 | Information processing device, information processing method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7272156B2 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000041035A (en) | 1998-07-23 | 2000-02-08 | Ntt Data Corp | System and method for certification and recording medium |
JP2006293417A (en) | 2005-04-05 | 2006-10-26 | Ntt Docomo Inc | Application program verification system and method, and computer program |
JP2009110061A (en) | 2007-10-26 | 2009-05-21 | Nec Corp | Version management system and version management method |
-
2019
- 2019-07-16 JP JP2019130889A patent/JP7272156B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000041035A (en) | 1998-07-23 | 2000-02-08 | Ntt Data Corp | System and method for certification and recording medium |
JP2006293417A (en) | 2005-04-05 | 2006-10-26 | Ntt Docomo Inc | Application program verification system and method, and computer program |
JP2009110061A (en) | 2007-10-26 | 2009-05-21 | Nec Corp | Version management system and version management method |
Also Published As
Publication number | Publication date |
---|---|
JP2021015534A (en) | 2021-02-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5178341B2 (en) | Secure boot with optional components | |
CN109313690B (en) | Self-contained encrypted boot policy verification | |
CN107615292B (en) | System and method for managing installation of application packages requiring high risk permission access | |
KR101041543B1 (en) | Apparatus and methods for performing trusted computing integrity measurement reporting | |
CN102279760B (en) | Initial protection assembly is utilized to carry out equipment guiding | |
US7788730B2 (en) | Secure bytecode instrumentation facility | |
CN101441692B (en) | Method for binding computer hardware and software | |
US20130031371A1 (en) | Software Run-Time Provenance | |
US20170366525A1 (en) | Apparatus and method for controlling profile data delivery | |
JP2012532358A (en) | Secure boot method and secure boot device | |
JP2006293417A (en) | Application program verification system and method, and computer program | |
CN102656592A (en) | Information processing device, information processing system, software routine execution method, and remote attestation method | |
JP2016025628A (en) | Information processing system and electronic apparatus | |
WO2016165215A1 (en) | Method and apparatus for loading code signing on applications | |
CN105518686A (en) | Software revocation infrastructure | |
KR101097103B1 (en) | Method and system for preventing outflow in software source code | |
JP2023120387A (en) | Management method, management apparatus, and program | |
EP3195551B1 (en) | Method and system for managing fine-grained policies for requiring user approval of device management operations | |
Barrera et al. | Baton: Certificate agility for android's decentralized signing infrastructure | |
Balfe et al. | Challenges for trusted computing | |
JP7272156B2 (en) | Information processing device, information processing method | |
CS Machado et al. | Software control and intellectual property protection in cyber-physical systems | |
JP7303653B2 (en) | Management method, management device, and program | |
CN113127015A (en) | Installation method and device and electronic equipment | |
WO2020027159A1 (en) | Information processing device, verification method and verification program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220614 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230214 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230215 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230310 |
|
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: 20230328 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230410 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7272156 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |