JP6111210B2 - Information generating apparatus, information generating method, and information generating program - Google Patents
Information generating apparatus, information generating method, and information generating program Download PDFInfo
- Publication number
- JP6111210B2 JP6111210B2 JP2014032240A JP2014032240A JP6111210B2 JP 6111210 B2 JP6111210 B2 JP 6111210B2 JP 2014032240 A JP2014032240 A JP 2014032240A JP 2014032240 A JP2014032240 A JP 2014032240A JP 6111210 B2 JP6111210 B2 JP 6111210B2
- Authority
- JP
- Japan
- Prior art keywords
- functional block
- application
- function
- usage
- registration
- 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)
- Document Processing Apparatus (AREA)
Description
この発明は、端末及び/又はクラウドに保存されたデータを利用するアプリケーションを実行する際に、それらのデータがどのように処理・加工されるのかを利用者に対して説明する利用許諾文とその処理を実際に行うアプリケーションを生成する情報生成装置と、この情報生成装置で用いられる情報生成方法及び情報生成プログラムに関する。 The present invention provides a usage agreement that explains to a user how the data is processed and processed when an application that uses the data stored in the terminal and / or cloud is executed. The present invention relates to an information generation apparatus that generates an application that actually performs processing, an information generation method and an information generation program used in the information generation apparatus.
アプリケーションがユーザの持つ特定のデータを利用する際、ユーザは、利用許諾を得ることが望ましい。ユーザは、何のデータを、何の目的で、どのように利用するかが明確化されることで、アプリケーションとその開発者を信頼し、ユーザ自身が持つ個人データを提供する。一方、ユーザは、不信感を抱くアプリケーションとその開発者に対してはアプリケーションを利用しないことで個人データを提供することを避けることが可能である。 When an application uses specific data that the user has, it is desirable that the user obtain a use permission. By clarifying what data is used for what purpose and how it is used, the user trusts the application and its developer, and provides personal data held by the user. On the other hand, the user can avoid providing personal data to the application and the developer who have distrust by not using the application.
現在、利用許諾文はアプリケーションの開発者によって記述されているが、アプリケーションと利用許諾文とが正しく対応付いていることは担保されていない。そのため、悪意のあるアプリケーション作成者であった場合でも、利用許諾文の内容を信じるしかないという問題がある。一方、正しい挙動をしているにも関わらず、適切な信頼を得ることができないため、アプリケーションを利用してもらえないというアプリケーションの開発者に対する不利益が発生する問題もある。 Currently, the license agreement is written by the application developer, but it is not guaranteed that the application and the license agreement are correctly associated. Therefore, even if it is a malicious application creator, there is a problem that it is only possible to believe the contents of the license agreement. On the other hand, there is also a problem that a disadvantage to an application developer that the application cannot be used because an appropriate trust cannot be obtained even though the behavior is correct.
利用許諾文とアプリケーションの挙動とを対応付けるための方法として、電話帳データへのアクセス及びインターネットアクセス等の重要な操作を、特権が必要な操作として特定の識別子が付された操作に限定し、さらに、アプリケーション内に記載された識別子を解析し、利用する識別子を宣言したファイルの記載と照らし合わせることでアクセスされるデータ及び実行される操作をユーザに対して明示的に示す方法がAndroid OS(登録商標)等で用いられている。 As a method for associating the license agreement with the behavior of the application, important operations such as access to phone book data and Internet access are limited to operations with specific identifiers as operations requiring privileges, and Android OS (registered) is a method to explicitly indicate to the user the data to be accessed and the operation to be performed by analyzing the identifier described in the application and comparing the identifier to be used with the description of the declared file. Trademark) and the like.
現在のモデルの問題点として、それぞれの利用許諾が独立して扱われているため、ユーザは、利用許諾により許諾される処理同士が関連しているか否かが理解できず、どのデータに対してどの処理が実行されているかが不明瞭な点が挙げられる。例えば、電話帳データへのアクセスとインターネットアクセスとに対する許諾が要求されている場合、電話帳データへのアクセス及びインターネットアクセスを実行する処理がアプリケーション中に含まれていることは担保されるが、電話帳データは外部に送信されるのか端末内のみで利用されるのかを知ることはできない。現状のモデルにおいて、どのデータに対してどの処理が実行されているかを、アプリケーションの開発者が記述する、アプリケーションと対応付けられていない利用許諾文に基づいて判断することも可能であるが、アプリケーションと対応付けられていない利用許諾文は、利用許諾情報としては不完全であると言える。また、データの一部のみを利用する場合、及び、データを加工してサーバ上に集約・保存するような場合でもその処理を網羅的に識別子と関連付けることは難しく、動作の担保された利用許諾として表現することができない。 The problem with the current model is that each license is handled independently, so the user cannot understand whether or not the processes permitted by the license are related, and for which data It is unclear which process is being executed. For example, when permission is required for access to phone book data and Internet access, it is ensured that the application includes processing for executing access to phone book data and Internet access. It is not possible to know whether the book data is transmitted to the outside or used only within the terminal. In the current model, it is possible to determine which process is being executed for which data based on the license agreement that is not associated with the application, which is written by the application developer. It can be said that the usage agreement text not associated with is incomplete as the usage agreement information. Even when only a part of the data is used, or when the data is processed and aggregated and stored on the server, it is difficult to comprehensively associate the processing with the identifier, and the usage permission is guaranteed to operate. Cannot be expressed as
そこで目的は、動作の担保された利用許諾文を生成することが可能な情報生成装置と、この情報生成装置で用いられる情報生成方法及び情報生成プログラムとを提供することにある。 An object of the present invention is to provide an information generation apparatus capable of generating a usage agreement with a guaranteed operation, and an information generation method and an information generation program used in the information generation apparatus.
本発明は、上記目的を達成するために、以下のような手段を講じている。
本発明の第1の態様は、機能に応じた利用許諾メッセージが付与される機能ブロックを登録して管理する登録・管理部と、前記登録・管理部で登録される機能ブロックを表示し、前記表示する機能ブロックに対する選択を受け付け、前記選択された機能ブロックに基づいてアプリケーションを生成させるアプリケーション生成指示と、前記選択された機能ブロックに基づいて利用許諾文を生成させる利用許諾文生成指示とを受け付ける操作・表示部と、前記アプリケーション生成指示が入力されると、前記選択された機能ブロックを連結させてアプリケーションを生成し、前記利用許諾文生成指示が入力されると、前記選択された機能ブロックに付与されている利用許諾メッセージを連結させて利用許諾文を生成する演算処理部とを具備する。
第1の態様によれば、情報生成装置は、常にアプリケーションに対応付けられた利用許諾文を生成することが可能となる。
In order to achieve the above object, the present invention takes the following measures.
The first aspect of the present invention displays a registration / management unit that registers and manages a functional block to which a usage permission message according to a function is given, and displays the functional block registered in the registration / management unit, Accepts a selection for a functional block to be displayed, and accepts an application generation instruction for generating an application based on the selected functional block and a usage permission sentence generation instruction for generating a usage permission text based on the selected functional block When the operation / display unit and the application generation instruction are input, the selected functional block is connected to generate an application, and when the usage agreement generation instruction is input, the selected functional block An arithmetic processing unit that concatenates the granted license messages and generates a license statement
According to the first aspect, the information generation apparatus can always generate a usage agreement text associated with an application.
また、第2の態様では、前記演算処理部は、前記生成したアプリケーションと、前記生成した利用許諾文とに対して署名を付与する。
第2の態様によれば、アプリケーションを実行する際に、システムによって生成された内容が改ざんされていないことを保証することが可能となる。
In the second aspect, the arithmetic processing unit gives a signature to the generated application and the generated usage agreement.
According to the second aspect, it is possible to ensure that the content generated by the system has not been tampered with when executing the application.
また、第3の態様では、前記演算処理部は、前記アプリケーション生成指示が入力されると、前記選択された機能ブロックにより形成される経路が閉路を含むか否かを判断し、含まない場合、前記アプリケーションを生成し、含む場合、アプリケーションを生成しない。
第3の態様によれば、ループ構造のために生じる無限の経路毎に利用許諾文が生成される状態を回避することが可能となる。
In the third aspect, when the application generation instruction is input, the arithmetic processing unit determines whether or not a path formed by the selected functional block includes a closed path. If the application is generated and included, no application is generated.
According to the third aspect, it is possible to avoid a state in which a use permission sentence is generated for each infinite route that occurs due to the loop structure.
また、第4の態様では、前記操作・表示部は、前記機能ブロックのうち、外部装置に処理を実行させる機能ブロックに対してフラグを付加する指示を受け付け、前記登録・管理部は、前記フラグが付加される機能ブロックを登録して管理し、前記演算処理部は、前記アプリケーション生成指示が入力されると、前記フラグが付加される機能ブロックも含めて前記アプリケーションを生成する。
第4の態様によれば、画一的な安全性と高速性とのバランスではなく、個々人によって最適な按分でのプログラム実行が実現可能となる。
In the fourth aspect, the operation / display unit receives an instruction to add a flag to a functional block that causes an external device to execute processing among the functional blocks, and the registration / management unit receives the flag When the application generation instruction is input, the arithmetic processing unit generates the application including the functional block to which the flag is added.
According to the fourth aspect, it is possible to realize program execution with an optimal apportionment by each individual, not the balance between uniform safety and high speed.
本発明によれば、動作の担保された利用許諾文を生成することが可能な情報生成装置と、この情報生成装置で用いられる情報生成方法及び情報生成プログラムとを提供することができる。 ADVANTAGE OF THE INVENTION According to this invention, the information generation apparatus which can produce | generate the use permission sentence with which operation | movement was ensured, the information generation method and information generation program which are used with this information generation apparatus can be provided.
以下、図面を参照してこの発明に係わる実施形態を説明する。 Embodiments according to the present invention will be described below with reference to the drawings.
(第1の実施形態)
図1は、第1の実施形態に係る情報生成装置10が用いられるシステムを示す。図1に示されるシステムは、情報生成装置10及びエージェント20を備える。
(First embodiment)
FIG. 1 shows a system in which an
図2は、図1に示す情報生成装置10の機能構成を示すブロック図である。図2に示す情報生成装置10は、機能ブロック登録・管理部11、操作・表示部12及び演算処理部13を備える。
FIG. 2 is a block diagram showing a functional configuration of the
機能ブロック登録・管理部11は、機能ブロックを演算処理部13からの指示に従って登録し、登録した機能ブロックを管理する。機能ブロックは、特定の関数及び/又はオブジェクトを内包したブロックである。機能ブロックは、「データソース出力」を実施する第1の機能ブロックと、「処理」を実施する第2の機能ブロックとの2種類に大別される。
The functional block registration /
第1の機能ブロックは、エージェント20と連携し、エージェント20が保持するデータ及びエージェント20が収集してくるデータをアプリケーション上で使用可能にする。第1の機能ブロックを通じてのみエージェント20はアプリケーションに対してデータを提供する。第2の機能ブロックは、「データソース出力」以外のあらゆる処理、例えば、統計処理、絞込み及びデータの送信等の処理を実行する。
The first functional block cooperates with the
各機能ブロックには利用許諾に用いる利用許諾メッセージが付与されている。第1の機能ブロックに付与されている利用許諾メッセージには、利用するデータの種類が記載されている。また、第2の機能ブロックに付与されている利用許諾メッセージは、処理内容と対応付けられている。 Each function block is provided with a use permission message used for use permission. The type of data to be used is described in the usage permission message assigned to the first functional block. Further, the usage permission message given to the second functional block is associated with the processing content.
操作・表示部12は、外部とのインタフェースであり、アプリケーションの開発者及びシステムの管理者からの操作を受け付ける。また、操作・表示部12は、機能ブロック登録・管理部11に登録されている機能ブロック、アプリケーション及び利用許諾文等を表示する。
The operation /
開発者は、操作・表示部12に表示されている機能ブロックを選択し、操作・表示部12上で選択した機能ブロックを連結させる。
The developer selects a functional block displayed on the operation /
また、操作・表示部12は、システムの管理者又は信頼ある第三者により承認された機能ブロックを機能ブロック登録・管理部11に登録する。
Further, the operation /
操作・表示部12による機能ブロックの登録処理の例を具体的に示す。操作・表示部12は、第1の機能ブロックのソースコードを表示する。システムの管理者及び信頼ある第三者は、操作・表示部12に表示されるソースコードの目視、又は、第1の機能ブロックの実行による確認作業を経て、第1の機能ブロックにより取得されるデータの種類が、アプリケーションで利用されるデータの種類と一致するか否かを予め判断する。一致する場合、システムの管理者及び信頼ある第三者は、第1の機能ブロックを承認する。操作・表示部12は、承認された第1の機能ブロックを機能ブロック登録・管理部11に登録させる。
An example of functional block registration processing by the operation /
また、操作・表示部12は、第2の機能ブロックのソースコードを表示する。システムの管理者及び信頼ある第三者は、操作・表示部12に表示されるソースコードを参照し、第2の機能ブロックの処理内容と利用許諾メッセージとが対応付いているか否かを予め判断する。対応付いている場合、システムの管理者及び信頼ある第三者は、第2の機能ブロックを承認する。操作・表示部12は、承認された第2の機能ブロックを機能ブロック登録・管理部11に登録させる。
The operation /
演算処理部13は、例えば、CPU(Central Processing Unit)、並びにROM(Read Only Memory)及びRAM(Random Access Memory)等のCPUが処理を実行するためのプログラムやデータの格納領域等を含む。演算処理部13は、CPUにプログラムを実行させることで、アプリケーション生成部131、利用許諾文生成部132及び署名付与部133を実現する。
The
操作・表示部12上で機能ブロックの配置が決定し、任意の出力が得られる構成になると、開発者は、操作・表示部12を介してアプリケーション生成部131へアプリケーション生成指示を与える。アプリケーション生成部131は、開発者からアプリケーション生成指示が与えられると、各機能ブロックをノード、各機能ブロック間の連結部分を有向エッジとして全体をグラフと見なし、トポロジカルソートを開始する。トポロジカルソートとは、グラフが閉路を持つか否かを確認するための処理である。トポロジカルソートの結果、グラフが無閉路有向グラフである場合、アプリケーション生成部131は、機能ブロックの連結処理に移行する。トポロジカルソートの結果、グラフが閉路を持つ場合、アプリケーション生成部131は、エラーを出力する。これは、利用許諾文は、利用許諾文生成部132により、全ての経路に対して生成されるため、閉路が存在していると、無限に生成されてしまうからである。例えば、機能ブロックの組み合わせが図3のようなグラフ構成だった場合、B→C→Bで閉路が形成されているため、A→B→C→D、A→B→C→B→C→D、A→B→C→B→C→B→C→D、…と無限通りの経路が存在する。そのため、経路毎に、無限の利用許諾文が生成されることになる。
When the arrangement of functional blocks is determined on the operation /
アプリケーション生成部131は、トポロジカルソートにより無閉路有向グラフと判断されたグラフを構成する機能ブロック間の入力形式と、出力形式とが一致しているか否かを確認する。一致する場合、アプリケーション生成部131は、機能ブロック間で返り値を引数として渡すこと等により、機能ブロック同士を連結させる。ここで、第1の機能ブロックは出力形式を持ち、第2の機能ブロックは出力形式及び入力形式を持つ。なお、第2の機能ブロックは、複数の入力形式及び複数の出力形式を有する場合もある。
The
なお、第2の機能ブロックは、パラメータを有し、数値及び文字列を自由に変更できるようにしても良い。例えば、データの生成時間による絞込みを行う機能ブロックの場合、{epoc_start:xxx,epoc_end:yyy}といったパラメータを指定することで、複数の機能ブロックを用意しなくてもどの範囲で絞込みを行うかを変更することが可能である。ただし、パラメータは利用許諾メッセージにも含まれなければならない。 Note that the second functional block may have parameters, and numerical values and character strings may be freely changed. For example, in the case of a functional block that narrows down according to the data generation time, by specifying parameters such as {epoc_start: xxx, epoc_end: yyy}, it is possible to narrow down the range to narrow down without preparing multiple functional blocks. It is possible to change. However, the parameter must also be included in the usage permission message.
また、開発者は、操作・表示部12を介して利用許諾文生成部132へ利用許諾文生成指示を入力する。利用許諾文生成部132は、利用許諾文生成指示が入力されると、連結される各機能ブロックに付与されている利用許諾メッセージに基づいて利用許諾文を生成する。このとき、利用許諾文生成部132は、機能ブロックに書かれた利用許諾メッセージを羅列するように利用許諾文を生成しても良いし、羅列した利用許諾メッセージを読みやすく整形して利用許諾文を生成するようにしても良い。例えば、第1の機能ブロックにより取得されるデータの種類をA、第2の機能ブロックの処理内容をBとした場合、利用許諾文生成部132は、「A:B1,B2,B3…」と記載しても良いし、「Aを取得、B1を行った後にB2を行い、B3を行う」と記載することも可能である。これは情報生成装置10の処理機能によるところとする。
Further, the developer inputs a usage agreement text generation instruction to the usage agreement
署名付与部133は、ハッシュ関数及び暗号鍵等の形式により実装される秘密鍵を用い、アプリケーション生成部131で生成されたアプリケーションと、利用許諾文生成部132で生成された利用許諾文とに署名を付与する。なお、この署名は、一般的な電子署名であっても良い。アプリケーションの開発者は、アプリケーション及び利用許諾文に正しく署名が付与されると、署名が付与されたアプリケーション及び利用許諾文をユーザへ配布する。
The
エージェント20は、ユーザからアプリケーションのコンパイルの要求を受けると、まずアプリケーションと利用許諾文とに付された署名を確認する。これにより、エージェント20は、アプリケーション及び利用許諾文に対して改ざんが加えられていないことを確認する。エージェント20は、アプリケーション及び利用許諾文に改ざんが加えられていないことを確認すると、ユーザに対して利用許諾文を提示する。ユーザは、利用許諾文の内容に許諾する場合、アプリケーションのコンパイルを実行する。
When the
次に、以上のように構成される情報生成装置10の動作を具体的に説明する。図4は、情報生成装置10が機能ブロックを登録する際のシーケンス図を示す。
Next, the operation of the
まず、アプリケーションの開発者は、機能ブロックを操作・表示部12へアップロードする(シーケンスS41)。操作・表示部12は、機能ブロックのソースコード等を表示し、システム管理者等からの承認を受け付ける(シーケンスS42)。操作・表示部12は、システム管理者等からの承認を受けると(シーケンスS43)、承認を受けた機能ブロックを機能ブロック登録・管理部11に登録させる(シーケンスS44)。
First, the application developer uploads a functional block to the operation / display unit 12 (sequence S41). The operation /
図5は、情報生成装置10が機能ブロックを登録する際のフローチャートを示す。
FIG. 5 shows a flowchart when the
まず、情報生成装置10は、操作・表示部12により、新たな機能ブロックを受信する(ステップS51)。操作・表示部12は、機能ブロックに対する処理を待機させ、機能ブロックのソースコード等を表示する(ステップS52)。
First, the
操作・表示部12は、表示するソースコードに対し、システム管理者等からの承認があるか否かを判断する(ステップS53)。承認がある場合(ステップS53のYes)、操作・表示部12は、機能ブロックを機能ブロック登録・管理部11に登録させ(ステップS54)、処理を終了させる。承認がない場合(ステップS53のNo)、操作・表示部12は、機能ブロックの登録を棄却し(ステップS55)、処理を終了させる。
The operation /
図6は、情報生成装置10がアプリケーション及び利用許諾文を生成する際のシーケンス図を示す。
FIG. 6 shows a sequence diagram when the
まず、情報生成装置10は、機能ブロック登録・管理部11に登録されている機能ブロックを操作・表示部12に表示する(シーケンスS61)。操作・表示部12は、アプリケーションの開発者からの操作を受け付ける。図7に操作・表示部12の表示例を示す。右側の機能ブロック選択パレットに機能ブロック登録・管理部11から読み出された機能ブロックが表示される。開発者は、選択パレットから機能ブロックを選択し、選択した機能ブロックを連結させることで、アプリケーションを組み立てる。操作・表示部12には、アプリケーション/利用許諾文生成ボタンが表示されている。開発者は、アプリケーションの組み立てが完了すると、アプリケーション/利用許諾文生成ボタンをクリックする(シーケンスS62)。操作・表示部12は、アプリケーション/利用許諾文生成ボタンがクリックされると、アプリケーション生成指示及び利用許諾文生成指示を演算処理部13へ出力する(シーケンスS63)。
First, the
演算処理部13は、アプリケーション生成指示を受けると、トポロジカルソートを実施する(シーケンスS64)。トポロジカルソートにより、グラフが無閉路有効グラフであると判断した場合、演算処理部13は、機能ブロック同士を連結することで、アプリケーションを生成する(シーケンスS65)。また、演算処理部13は、機能ブロックに付与される利用許諾メッセージを用いて利用許諾文を生成する(シーケンスS66)。
When receiving the application generation instruction, the
また、演算処理部13は、生成されたアプリケーション及び利用許諾文に対し、署名を付与する(シーケンスS67)。演算処理部13は、生成したアプリケーション及び利用許諾文を操作・表示部12へ出力する(シーケンスS68)。
In addition, the
操作・表示部12は、アプリケーション及び利用許諾文を開発者へ表示する(シーケンスS69)。
The operation /
図8は、情報生成装置10がアプリケーション及び利用許諾文を生成する際のフローチャートを示す。
FIG. 8 shows a flowchart when the
まず、情報生成装置10は、機能ブロック登録・管理部11に登録されている機能ブロックを読み出し、読み出した機能ブロックを操作・表示部12に表示する(ステップS81)。操作・表示部12は、開発者が機能ブロックを組み合わせている間、待機する(ステップS82)。操作・表示部12は、図7に示す生成ボタンがクリックされると、アプリケーション及び利用許諾文の生成を開始するように演算処理部13へアプリケーション/利用許諾文生成指示を出力する(ステップS83)。
First, the
演算処理部13は、アプリケーション及び利用許諾文の生成が指示されると、トポロジカルソートを用いて閉路が検出されるか否かを判断する(ステップS84)。検出される場合(ステップS84のYes)、演算処理部13は、エラーを出力し(ステップS85)、処理を終了させる。閉路が検出されない場合(ステップS84のNo)、演算処理部13は、組み合わされた機能ブロック間の入力形式と出力形式とが一致するか否かを判断する(ステップS86)。一致する場合(ステップS86のYes)、演算処理部13は、機能ブロックを連結し、アプリケーションを生成する(ステップS87)。また、演算処理部13は、利用許諾文を生成する(ステップS88)。組み合わされた機能ブロック間の入力形式と出力形式とが一致しない場合(ステップS86のNo)、処理をステップS85へ移行する。
When the generation of the application and the usage agreement is instructed, the
演算処理部13は、アプリケーション及び利用許諾文を生成すると、生成したアプリケーション及び利用許諾文に対し、署名を付与する(ステップS89)。演算処理部13は、署名を付与したアプリケーション及び利用許諾文を操作・表示部12に表示させる(ステップS810)。
When generating the application and the usage agreement text, the
以上のように、第1の実施形態では、演算処理部13は、関数やオブジェクトを内包する機能ブロックを組み合わせてアプリケーションを生成すると同時に、機能ブロック内にあらかじめ付与された利用許諾メッセージから処理全体に関する利用許諾文を生成するようにしている。これにより、連結された機能ブロックをアプリケーションプログラムとして生成すると共に、連結した機能ブロックに付与される利用許諾メッセージから利用許諾文が生成されることになるため、常にアプリケーションに対応付けられた利用許諾文を生成することが可能となる。
As described above, in the first embodiment, the
また、第1の実施形態では、署名付与部133は、アプリケーションの実行内容及び利用許諾文の内容を担保するため、アプリケーション及び利用許諾文を生成する際に、アプリケーション及び利用許諾文に署名を付与するようにしている。これにより、アプリケーションを実行する際に、システムによって生成された内容が改ざんされていないことを保証することが可能となる。すなわち、アプリケーション及び利用許諾文の正当性を担保することが可能となる。
In the first embodiment, the
また、第1の実施形態では、演算処理部13は、機能ブロックが連結されるグラフに対してトポロジカルソートが可能であるかを計算することで、ループ構造の経路を有するアプリケーションを許可しないようにしている。これにより、生成される利用許諾文が、アプリケーションと必ず対応付けられることとなる。また、機能ブロックの組み合わせとして無限に利用許諾文が生成されるような組み合わせを抑制することが可能となる。
Further, in the first embodiment, the
これまで機能を持つオブジェクト、及び、関数を組み合わせてプログラムを生成する方法は、コンポーネント型のプログラミング言語やフレームワークによって実現されてきた。しかしながら、これらの方法は、アプリケーション作成者の負担の軽減を目的としており、開発者に対する利便性を図ったものであった。本発明では、アプリケーションを生成すると同時に利用許諾文を生成することで、動作の担保された利用許諾文をアプリケーションのユーザに対して明確に提示することができ、ユーザに対する利便性を向上させることができる。 Until now, a method of generating a program by combining an object having a function and a function has been realized by a component type programming language or a framework. However, these methods are intended to reduce the burden on the application creator, and are intended for the convenience of the developer. In the present invention, by generating a license agreement at the same time as generating an application, it is possible to clearly present a license agreement whose operation is guaranteed to the user of the application, and to improve convenience for the user. it can.
(第2の実施形態)
第1の実施形態では、アプリケーションを生成する際に用いられる第2の機能ブロックによる処理は、エージェント20上で実行されることを想定している。しかしながら、第2の機能ブロックによる処理の全てをエージェント20が実行すると、高速性が失われてしまうことがある。
(Second Embodiment)
In the first embodiment, it is assumed that the processing by the second functional block used when generating the application is executed on the
そこで、実際に第2の機能ブロックによる処理を実行する環境を、エージェント20上ではなく、外部サーバ等の外部装置へ委託するようにしても構わない。しかしながら、第2の機能ブロックによる処理の実行を外部サーバへ委託することにより、エージェント20内で扱っていたデータが外部へ送信される場合があり得る。このため、セキュリティの問題及び/又はプライバシの問題が発生することがある。
Therefore, the environment in which the processing by the second functional block is actually executed may be outsourced to an external device such as an external server instead of on the
一般に端末上の動作プログラムを、プログラムの実行箇所のリソースが少ない端末上から、リソースの多い近傍の代理端末へ移動させて実行させる技術はCyber foraging(非特許文献1,2参照)と呼ばれている。ただし、これらの技術はプログラム全体を端末からクラウドに移行しており、一部の処理に限定して処理の受け渡しが行えるわけではない。 In general, a technique for moving an operation program on a terminal from a terminal with few resources at the execution location of the program to a nearby proxy terminal with many resources is called Cyber foraging (see Non-Patent Documents 1 and 2). Yes. However, with these technologies, the entire program is transferred from the terminal to the cloud, and processing cannot be transferred only to a part of the processing.
一方、Amazon(登録商標)が開発したウェブブラウザーであるsilkは描画アクセラレーションのために機能単位で実行場所をクラウドに変更することが可能である。しかしながら最適な高速化にのみ注目しているため、プライバシやセキュリティが守られていないという批判がある。 On the other hand, Amazon silk (registered trademark) is a web browser developed is possible to change the execution location to the cloud in the functional units for drawing acceleration. However, there is a criticism that privacy and security are not protected because we focus only on the optimal speedup.
以上のように、高速化と安全性とをユーザが望むバランスで両立できる仕組みは現存していない。第2の実施形態では、エージェント20のユーザが高速性及び安全性を選択しながら実行できるアプリケーションを生成可能な情報生成装置について説明する。
As described above, there is no existing mechanism that can achieve both high speed and safety in the balance desired by the user. In the second embodiment, an information generation apparatus capable of generating an application that can be executed while the user of the
図9は、第2の実施形態に係る情報生成装置30の機能構成を示すブロック図である。図9に示す情報生成装置30は、機能ブロック登録・管理部11、操作・表示部31及び演算処理部13を備える。
FIG. 9 is a block diagram illustrating a functional configuration of the
操作・表示部31は、外部とのインタフェースであり、アプリケーションの開発者及びシステムの管理者からの操作を受け付ける。また、操作・表示部31は、機能ブロック登録・管理部11に登録されている機能ブロック、アプリケーション及び利用許諾文等を表示する。
The operation /
開発者は、操作・表示部31に表示されている機能ブロックを選択し、操作・表示部31上で選択した機能ブロックを連結させる。
The developer selects a functional block displayed on the operation /
また、操作・表示部12は、システムの管理者又は信頼ある第三者により承認された機能ブロックを機能ブロック登録・管理部11に登録する。このとき、外部への送信処理を機能として有する処理を実行する第2の機能ブロックがある場合、システムの管理者又は信頼ある第三者は、この第2の機能ブロックに対してフラグを付加する。このフラグは、第2の機能ブロックによる処理が、他の場所への送信処理を含むものであることを示し、フラグを付加された第2の機能ブロック以降のすべての第2の機能ブロックが他の場所で実行されることを示すものである。
Further, the operation /
操作・表示部31による機能ブロックの登録処理の例を具体的に示す。操作・表示部31は、第1の機能ブロックのソースコードを表示する。システムの管理者及び信頼ある第三者は、操作・表示部31に表示されるソースコードの目視、又は、第1の機能ブロックの実行による確認作業を経て、第1の機能ブロックにより取得されるデータの種類が、アプリケーションで利用されるデータの種類と一致するか否かを予め判断する。一致する場合、システムの管理者及び信頼ある第三者は、第1の機能ブロックを承認する。操作・表示部31は、承認された第1の機能ブロックを機能ブロック登録・管理部11に登録させる。
また、操作・表示部31は、第2の機能ブロックのソースコードを表示する。システムの管理者及び信頼ある第三者は、操作・表示部31に表示されるソースコードを参照し、第2の機能ブロックによる処理が外部への送信処理を機能として有するか否かを予め判断する。送信処理を機能として有する場合、システムの管理者及び信頼ある第三者は、この第2の機能ブロックに対し、フラグを付加する。また、システムの管理者及び信頼ある第三者は、操作・表示部31に表示されるソースコードを参照し、第2の機能ブロックの処理内容と利用許諾メッセージとが対応付いているか否かを予め判断する。対応付いている場合、システムの管理者及び信頼ある第三者は、第2の機能ブロックを承認する。操作・表示部31は、承認された第2の機能ブロックを機能ブロック登録・管理部11に登録させる。
An example of functional block registration processing by the operation /
The operation /
演算処理部13は、アプリケーション生成部131、利用許諾文生成部132及び署名付与部133を実現する。
The
操作・表示部31上で機能ブロックの配置が決定し、任意の出力が得られる構成になると、開発者は、操作・表示部31を介してアプリケーション生成部131へアプリケーション生成指示を与える。アプリケーション生成部131は、開発者からアプリケーション生成指示が与えられると、各機能ブロックをノード、各機能ブロック間の連結部分を有向エッジとして全体をグラフと見なし、トポロジカルソートを開始する。トポロジカルソートの結果、グラフが無閉路有向グラフである場合、アプリケーション生成部131は、トポロジカルソートにより無閉路有向グラフと判断されたグラフを構成する機能ブロック間の入力形式と、出力形式とが一致しているか否かを確認する。一致する場合、アプリケーション生成部131は、機能ブロック間で返り値を引数として渡すこと等により、機能ブロック同士を連結させる。ここで、第1の機能ブロックは出力形式を持ち、第2の機能ブロックは出力形式及び入力形式を持つ。また、第2の機能ブロックにフラグが付されている場合は、フラグも含めて連結される。なお、第2の機能ブロックは、複数の入力形式及び複数の出力形式を有する場合もある。
When the arrangement of the functional blocks is determined on the operation /
エージェント20は、情報生成装置30で生成されるアプリケーション及び利用許諾文を受信する。エージェント20は、ユーザからアプリケーションのコンパイルの要求を受けると、まずアプリケーションと利用許諾文とに付された署名を確認する。これにより、エージェント20は、アプリケーション及び利用許諾文に対して改ざんが加えられていないことを確認する。エージェント20は、アプリケーション及び利用許諾文に改ざんが加えられていないことを確認すると、ユーザに対して利用許諾文を提示する。ユーザは、利用許諾文の内容に許諾する場合、アプリケーションのコンパイルを実行する。
The
また、エージェント20は、アプリケーションのコンパイルの際に、アプリケーションに、フラグが付された機能ブロックが含まれるか否かを判断する。フラグが付された機能ブロックが含まれる場合、エージェント20は、フラグが付された機能ブロックの位置と、アプリケーションに含まれるその他の第2の機能ブロックの位置とを可換であることをユーザへ表示する。
Further, the
ユーザは、エージェント20の表示に基づき、高速性を担保するか、安全性を担保するかを自ら判断し、機能ブロックの位置を入れ替える。
Based on the display of the
図10及び図11は、アプリケーションの機能ブロックの構成例を示す図である。コンパイルを要求されたアプリケーションが図10に示す構成をしている場合、エージェント20は、エージェント20から外部サーバへデータを送信する機能ブロックB1にフラグが付されていると判断する。エージェント20は、機能ブロックB1の位置と、第1次メッシュ変換を実施する第2の機能ブロックB2の位置とを変更可能であることをユーザに表示する。
10 and 11 are diagrams illustrating a configuration example of a functional block of an application. When the application requested to be compiled has the configuration shown in FIG. 10, the
ユーザは、自端末が高速性及び安全性のいずれを求めるかに応じて、機能ブロックの位置を移動させる。すなわち、ユーザは、高速性よりも安全性を重視する場合、図11に示すように、機能ブロックB2を機能ブロックB1の前に移動させる。図11に示すアプリケーションでは、外部サーバへデータを送信する前に、エージェント20内で緯度データ及び経度データをメッシュコードへ変換する。このため、外部サーバへ送信するデータの情報量は少なくなるため、安全性は高まることになる。一方、エージェント20内でメッシュコードへ変換する必要があるため、空きリソースがサーバ上で変換処理を実行するよりも少なくなり、高速性が損なわれる可能性がある。
The user moves the position of the functional block depending on whether the terminal needs high speed or safety. That is, when safety is more important than high speed, the user moves the functional block B2 before the functional block B1, as shown in FIG. In the application shown in FIG. 11, before transmitting data to an external server, latitude data and longitude data are converted into a mesh code in the
また、安全性よりも高速性を重視する場合、ユーザは、図10に示す構成を維持したまま、アプリケーションのコンパイルを実行する。図10に示すアプリケーションでは、外部サーバへ緯度データ及び経度データを一切の丸め処理を行うことなく送信するため、安全性は低くなる。一方、エージェント20内でメッシュコードへ変換する必要がないため、空きリソースが増え、高速性を維持することが可能である。
When high speed is more important than safety, the user compiles the application while maintaining the configuration shown in FIG. In the application shown in FIG. 10, since the latitude data and the longitude data are transmitted to the external server without performing any rounding process, safety is low. On the other hand, since there is no need to convert to a mesh code within the
以上のように、第2の実施形態では、機能ブロック登録・管理部11は、関数及び/又はオブジェクトが他の場所で実行されることを示すフラグを付した機能ブロックを登録する。そして、エージェント20は、アプリケーションに含まれる機能ブロックにフラグが付されている場合、アプリケーションを構成する機能ブロックの実行位置をユーザが自由に決定できるようにしている。これにより、ユーザは、セキュリティリスクの少ない機能以降を外部サーバに実行させることが可能となる。また、可変的に移動する機能ブロックをユーザが選択することが可能であるため、画一的な安全性と高速性とのバランスではなく、個々人によって最適な按分でのプログラム実行が実現可能となる。また、ユーザは、高速性と安全性とのいずれに重点を置くかを考慮した上で、外部サーバを交えてアプリケーションを実施することが可能となる。
As described above, in the second embodiment, the functional block registration /
したがって、第2の実施形態に係る情報生成装置30によれば、ユーザに高速性と安全性とを選択させた上で、外部装置と連携を取りながら実行することが可能なアプリケーションを生成することができる。
Therefore, according to the
なお、第2の実施形態では、エージェント20の表示を参照し、ユーザが機能ブロックの位置を変更する場合を例に説明した。しかしながら、これに限定されない。例えば、エージェント20には、セキュリティ・プライバシポリシがユーザにより予め設定されていても構わない。エージェント20は、アプリケーションに、フラグが付された機能ブロックが含まれる場合、設定されているセキュリティ・プライバシポリシを参照して機能ブロックの実施位置を移換する。
In the second embodiment, the case where the user changes the position of the functional block with reference to the display of the
なお、この発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態に亘る構成要素を適宜組み合せてもよい。 Note that the present invention is not limited to the above-described embodiment as it is, and can be embodied by modifying the constituent elements without departing from the scope of the invention in the implementation stage. Further, various inventions can be formed by appropriately combining a plurality of constituent elements disclosed in the embodiment. For example, some components may be deleted from all the components shown in the embodiment. Furthermore, you may combine suitably the component covering different embodiment.
また、本発明の装置は、コンピュータとプログラムによっても実現でき、プログラムを記録媒体に記録することも、ネットワークを通して提供することも可能である。 The apparatus of the present invention can also be realized by a computer and a program, and can be recorded on a recording medium or provided through a network.
10,30…情報生成装置、11…機能ブロック登録・管理部、12,31…操作・表示部、13…演算処理部、20…エージェント、131…アプリケーション生成部、132…利用許諾文生成部、133…署名付与部
DESCRIPTION OF
Claims (9)
前記登録・管理部で登録される機能ブロックを表示し、前記表示する機能ブロックに対する選択を受け付け、前記選択された機能ブロックに基づいてアプリケーションを生成させるアプリケーション生成指示と、前記選択された機能ブロックに基づいて利用許諾文を生成させる利用許諾文生成指示とを受け付ける操作・表示部と、
前記アプリケーション生成指示が入力されると、前記選択された機能ブロックを連結させてアプリケーションを生成し、前記利用許諾文生成指示が入力されると、前記選択された機能ブロックに付与されている利用許諾メッセージを連結させて利用許諾文を生成する演算処理部と
を具備し、
前記利用許諾メッセージは、当該利用許諾メッセージが付与されている前記機能ブロックの機能に応じて、利用するデータの種類、又は処理内容を表す情報を含み、
前記操作・表示部は、前記機能ブロックの登録処理時に、前記機能ブロックのソースコードを表示することで、前記機能ブロックにより取得されるデータの種類が当該機能ブロックに付与されている前記利用許諾メッセージと一致するか、又は、前記機能ブロックの処理内容が当該機能ブロックに付与されている前記利用許諾メッセージと対応付いているかの確認を操作者に要求し、一致する又は対応付いていることを示す承認指示が入力された場合に、前記機能ブロックを前記登録・管理部に登録させる情報生成装置。 And a predetermined function, and / or registration and management unit for use permission message function object corresponding to encapsulated the features registers and manages Tei Ru function block is assigned,
The function block registered by the registration / management unit is displayed, selection of the function block to be displayed is received, an application generation instruction for generating an application based on the selected function block, and the selected function block An operation / display unit for receiving a license agreement generation instruction for generating a license agreement based on the
When the application generation instruction is input, an application is generated by concatenating the selected functional blocks, and when the usage permission sentence generation instruction is input, the usage license granted to the selected functional block An arithmetic processing unit that concatenates messages to generate a license agreement ,
The usage permission message includes information indicating the type of data to be used or the processing content according to the function of the functional block to which the usage permission message is attached.
The operation / display unit displays the source code of the functional block during the functional block registration process, whereby the type of data acquired by the functional block is given to the functional block. Or whether the processing content of the functional block corresponds to the usage permission message assigned to the functional block, and indicates that it matches or corresponds. approval if the instruction is input, the function block the registration and management information generating apparatus Ru is registered in the unit.
前記登録・管理部は、前記フラグが付加される機能ブロックを登録して管理し、
前記演算処理部は、前記アプリケーション生成指示が入力されると、前記フラグが付加される機能ブロックも含めて前記アプリケーションを生成する請求項1又は3記載の情報生成装置。 The operation / display unit receives an instruction to add a flag to a functional block that executes a process having a function of a transmission process to an external device among the functional blocks,
The registration / management unit registers and manages the functional block to which the flag is added,
The information generation apparatus according to claim 1, wherein when the application generation instruction is input, the arithmetic processing unit generates the application including a functional block to which the flag is added.
操作・表示部が、前記登録・管理部で登録される機能ブロックを表示し、前記表示する機能ブロックに対する選択を受け付け、
演算処理部が、前記選択された機能ブロックを連結させてアプリケーションを生成し、前記選択された機能ブロックに付与されている利用許諾メッセージを連結させて利用許諾文を生成し、
前記利用許諾メッセージは、当該利用許諾メッセージが付与されている前記機能ブロックの機能に応じて、利用するデータの種類、又は処理内容を表す情報を含み、
前記操作・表示部は、前記機能ブロックの登録処理時に、前記機能ブロックのソースコードを表示することで、前記機能ブロックにより取得されるデータの種類が当該機能ブロックに付与されている前記利用許諾メッセージと一致するか、又は、前記機能ブロックの処理内容が当該機能ブロックに付与されている前記利用許諾メッセージと対応付いているかの確認を操作者に要求し、一致する又は対応付いていることを示す承認指示が入力された場合に、前記機能ブロックを前記登録・管理部に登録させる情報生成方法。 Registration and management unit, it registers the predetermined function, and / or Tei Ru functional block usage agreement message function object corresponding to encapsulated the function is applied,
Operation and display unit, the functional blocks to be registered in the registration and management unit shown Table accepts the selection to the function blocks of the display,
The arithmetic processing unit generates an application by concatenating the selected functional blocks, generates a usage agreement by concatenating the usage permission message given to the selected functional blocks ,
The usage permission message includes information indicating the type of data to be used or the processing content according to the function of the functional block to which the usage permission message is attached.
The operation / display unit displays the source code of the functional block during the functional block registration process, whereby the type of data acquired by the functional block is given to the functional block. Or whether the processing content of the functional block corresponds to the usage permission message assigned to the functional block, and indicates that it matches or corresponds. If the approval instruction is input, the information generating method of the functional blocks Ru is registered in the registration-management unit.
前記フラグが付加される機能ブロックを登録し、
前記アプリケーション・利用許諾文生成指示が入力されると、前記フラグが付加される機能ブロックも含めて前記アプリケーションを生成する請求項5又は7記載の情報生成方法。 Accepting an instruction to add a flag to a functional block that executes a process having a function of a transmission process to an external device among the functional blocks;
Register the functional block to which the flag is added,
The information generation method according to claim 5 or 7, wherein when the application / usage license generation instruction is input, the application is generated including the functional block to which the flag is added.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014032240A JP6111210B2 (en) | 2013-08-23 | 2014-02-21 | Information generating apparatus, information generating method, and information generating program |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013173944 | 2013-08-23 | ||
JP2013173944 | 2013-08-23 | ||
JP2014032240A JP6111210B2 (en) | 2013-08-23 | 2014-02-21 | Information generating apparatus, information generating method, and information generating program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015062100A JP2015062100A (en) | 2015-04-02 |
JP6111210B2 true JP6111210B2 (en) | 2017-04-05 |
Family
ID=52821429
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014032240A Active JP6111210B2 (en) | 2013-08-23 | 2014-02-21 | Information generating apparatus, information generating method, and information generating program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6111210B2 (en) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008225559A (en) * | 2007-03-08 | 2008-09-25 | Nec Corp | Apparatus, system, method and program for integrating program license agreement |
WO2011080945A1 (en) * | 2009-12-28 | 2011-07-07 | 三菱電機株式会社 | Program creation support device |
-
2014
- 2014-02-21 JP JP2014032240A patent/JP6111210B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2015062100A (en) | 2015-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Hernández Ramos et al. | Mqtt security: A novel fuzzing approach | |
CN109614823B (en) | Data processing method, device and equipment | |
US10380008B2 (en) | Identifying implicit assumptions associated with a software product | |
WO2019072110A1 (en) | Method for generating application program, apparatus, system, device, and medium | |
JP6494609B2 (en) | Method and apparatus for generating a customized software development kit (SDK) | |
US9237130B2 (en) | Hierarchical rule development and binding for web application server firewall | |
US20130019314A1 (en) | Interactive virtual patching using a web application server firewall | |
CN108346028A (en) | A kind of business approval processing method, apparatus and system | |
Montesi | Process-aware web programming with Jolie | |
CN111724169A (en) | Service processing system, service processing method, device and equipment | |
Ferry et al. | Security evaluation of the OAuth 2.0 framework | |
CN108564363B (en) | Transaction processing method, server, client and system | |
Bihis | Mastering OAuth 2.0 | |
US11695774B2 (en) | System and method for federated identity functionality for API development | |
Block et al. | Designing Evolvable Web APIs with ASP. NET: Harnessing the Power of the Web | |
Szymoniak et al. | Timed analysis of security protocols | |
CN113746882A (en) | User session information storage method and device and electronic equipment | |
CN112651741A (en) | Data processing method and device based on block chain | |
JP6111210B2 (en) | Information generating apparatus, information generating method, and information generating program | |
US9565201B2 (en) | Security threat identification/testing using annotated sequence diagrams | |
CN113190780B (en) | Block chain-based website construction and information query method, device and system | |
Malladi et al. | Adapting constraint solving to automatically analyze UPI protocols | |
Ylli et al. | OAUTH 2.0 IN SECURING APIS | |
Rivera-Dourado | DebAuthn: a Relying Party Implementation as a WebAuthn Authenticator Debugging Tool | |
Selvaraj | Building RESTful APIs with Serverless Cloud Platforms |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160216 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20161115 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170113 |
|
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: 20170307 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170313 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6111210 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |