JP2006190050A - Multitask execution system and multitask execution method - Google Patents

Multitask execution system and multitask execution method Download PDF

Info

Publication number
JP2006190050A
JP2006190050A JP2005001026A JP2005001026A JP2006190050A JP 2006190050 A JP2006190050 A JP 2006190050A JP 2005001026 A JP2005001026 A JP 2005001026A JP 2005001026 A JP2005001026 A JP 2005001026A JP 2006190050 A JP2006190050 A JP 2006190050A
Authority
JP
Japan
Prior art keywords
task
authority data
function
unique key
system call
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.)
Pending
Application number
JP2005001026A
Other languages
Japanese (ja)
Inventor
Takeshi Inamura
雄 稲村
Atsushi Takeshita
敦 竹下
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.)
NTT Docomo Inc
Original Assignee
NTT Docomo 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 NTT Docomo Inc filed Critical NTT Docomo Inc
Priority to JP2005001026A priority Critical patent/JP2006190050A/en
Publication of JP2006190050A publication Critical patent/JP2006190050A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To allow safe cooperative work among tasks by access control of fine granularity without lowering the execution efficiency. <P>SOLUTION: The multitask execution system 1 is provided with: a specific key generation/imparting function 103 for generating a specific key and imparting it to an object to be operated; and a system call processing function 104 for decoding authority data of an operation subject task by using the specific key when the system call for performing operation to the object to be operated is called by the operation subject task and deciding on the basis of the decoded authority data whether or not the system call can be executed. <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

本発明は、同時に複数のタスクを並列的に実行することが可能な現代的なオペレーティングシステム(OS:Operating System)を用いたマルチタスク実行システム及びマルチタスク実行方法に関する。   The present invention relates to a multitask execution system and a multitask execution method using a modern operating system (OS) capable of executing a plurality of tasks simultaneously in parallel.

近年、個人の使用するパーソナルコンピュータ(PC:Personal Computer)から、電子商取引(EC:Electric Commerce)等のサービスを提供するサーバコンピュータ、さらにはスーパーコンピュータまで、事実上あらゆるコンピュータ(計算機)が「マルチタスク環境」を提供するものとなっている。   In recent years, virtually all computers (computers), from personal computers (PCs) used by individuals to server computers that provide services such as EC (Electric Commerce), and supercomputers, have become “multitasking”. "Environment" is provided.

ここでいう「マルチタスク環境」とは、コンピュータが扱う処理の単位である「タスク」を複数個同時に実行できる環境であり、近い将来には、携帯電話のようなリソースの限られたプラットフォームにおいてもこのようなマルチタスク環境を提供することが期待されている。   The "multitasking environment" here is an environment that can simultaneously execute multiple "tasks" that are units of processing handled by computers. In the near future, even on platforms with limited resources such as mobile phones. It is expected to provide such a multitasking environment.

一般に、このようなマルチタスク環境を提供するオペレーティングシステムでは、複数の独立したタスクが同時に実行され得るだけでなく、複数の独立したタスクが協調して1つの仕事を成し遂げることができる。   In general, in an operating system that provides such a multitasking environment, not only a plurality of independent tasks can be executed simultaneously, but a plurality of independent tasks can cooperate to accomplish one task.

このような協調作業は、「タスク間通信」や「複数のタスクによるファイルやメモリ等の共有」といった形態で実現される。   Such collaborative work is realized in the form of “intertask communication” or “sharing of files, memories, etc. by a plurality of tasks”.

しかしながら、特に複数の利害の異なるユーザが同時に1つのコンピュータを利用することが可能な「マルチユーザシステム」では、同一コンピュータ上で動作するタスクは、異なるユーザによって実行されたものである可能性があるため、任意のタスク間で自由に協調作業を行うことができるのは問題である。   However, particularly in a “multi-user system” in which a plurality of users having different interests can use one computer at the same time, a task operating on the same computer may be executed by different users. Therefore, it is a problem that a cooperative work can be freely performed between arbitrary tasks.

また、単一のユーザしか利用しないコンピュータであっても、コンピュータシステム自体を管理するためのタスク等、ユーザ自身が直接実行したものではないタスクが存在することは一般的であるため、このようなコンピュータであっても任意のタスク間で自由に協調作業が行えてしまうのは問題となり得る。   Moreover, even if a computer is used only by a single user, there are generally tasks that are not directly executed by the user, such as tasks for managing the computer system itself. Even if it is a computer, it can be a problem that collaboration can be freely performed between arbitrary tasks.

このような問題を解決するために、「タスク間の血縁関係」や「ファイル等の特定リソースへのアクセス権」や「利用者識別子」といった性質を利用して、タスク間の協調作業を制限する方法が知られている。   In order to solve such a problem, the collaborative work between tasks is limited by using properties such as “related relationships between tasks”, “access rights to specific resources such as files” and “user identifiers”. The method is known.

典型的マルチタスクオペレーティングシステムである「UNIX(登録商標)」では、「タスク間の血縁関係」を利用してタスク間の協調作業を制限する方法として、血縁関係にあるタスク間での通信手段として用いられるパイプを用いる方法が知られている。   In “UNIX (registered trademark)”, which is a typical multitasking operating system, as a method of restricting the cooperative work between tasks using “related relationships between tasks”, as a means of communication between related tasks. A method using a pipe to be used is known.

また、「ファイル等の特定リソースへのアクセス権」を利用してタスク間の協調作業を制限する方法として、任意のタスク間での双方向通信手段として用いられるUNIX(登録商標)ドメインソケットを用いる方法が知られている。   In addition, as a method of restricting the cooperative work between tasks by using “access right to a specific resource such as a file”, a UNIX (registered trademark) domain socket used as a bidirectional communication means between arbitrary tasks is used. The method is known.

また、「利用者識別子」を利用する方法として、非同期型単方向通信であるシグナル及び共有メモリを用いる方法が知られている。   Further, as a method of using the “user identifier”, a method of using a signal and shared memory that is asynchronous unidirectional communication is known.

これらの方法によれば、それぞれの条件に適ったタスク間でのみ協調作業を許可することができるため、任意のタスク間で自由に協調作業が行われてしまうという問題点を解決することができる。   According to these methods, it is possible to permit collaborative work only between tasks that meet the respective conditions, so it is possible to solve the problem that the collaborative work is freely performed between arbitrary tasks. .

しかしながら、これらの方法は、いずれも任意のタスク間での協調作業の制限を行う粒度が粗く、原則的に、同一ユーザによって実行されたタスク間では協調作業を制限することができないという問題点があった。   However, each of these methods has a problem that the granularity of restricting the cooperative work between arbitrary tasks is coarse, and in principle, the cooperative work cannot be restricted between tasks executed by the same user. there were.

さらに、UNIX(登録商標)では、コンピュータシステムを管理するための特権ユーザとして「rootユーザ」が存在するが、かかる「rootユーザ」の下で動作するタスク(rootタスク)は、あらゆる制限を受けることなく、任意のタスクに対して任意の操作を行うことが可能であるため、rootタスクからの干渉は防ぐことができないという問題点があった。   Furthermore, in UNIX (registered trademark), a “root user” exists as a privileged user for managing a computer system. However, a task (root task) that operates under the “root user” is subject to all restrictions. In addition, since any operation can be performed on any task, there is a problem that interference from the root task cannot be prevented.

同様の特権ユーザという概念は、多くのマルチタスクオペレーティングシステムで採用されているため、かかる特権ユーザによる攻撃から他のタスクを保護することが、セキュリティ的に重要な課題と言える。なお、近年発生した攻撃の多くは、特権ユーザの下で動作するタスクがセキュリティホールにより乗っ取られた結果発生したものである。   Since the same concept of privileged users is adopted in many multitasking operating systems, it can be said that protecting other tasks from attacks by such privileged users is an important security issue. Note that many of the attacks that have occurred in recent years have occurred as a result of hijacking a task operating under a privileged user through a security hole.

かかる問題点を解決するための方法として、「トラステッドオペレーティングシステム」と呼ばれる、より厳格な形式でアクセス権限管理を実現したオペレーティングシステムが知られている。   As a method for solving such a problem, an operating system called “trusted operating system” that realizes access right management in a stricter form is known.

例えば、非特許文献1に示されている「SELinux」というオペレーティングシステムでは、「必須アクセス制御(Mandatory Access Control:MAC)」と呼ばれる技術によって、上述のアクセス権限管理が実現されている。「必須アクセス制御」は、コンピュータシステム上に存在するほとんどのオブジェクト(ファイルやタスク等)に対して、従来の利用者識別子を用いる場合よりも細かい粒度のアクセス権限を割り当て、割り当てたアクセス権限に基づくアクセス制御を強制するという技術である。   For example, in the operating system “SELinux” disclosed in Non-Patent Document 1, the above-described access authority management is realized by a technique called “Mandatory Access Control (MAC)”. “Mandatory access control” assigns finer granularity to most objects (files, tasks, etc.) existing on computer systems than when using conventional user identifiers, and is based on the assigned access rights. This is a technology that enforces access control.

かかる必須アクセス制御技術は、上述のrootタスクにも適用されるため、たとえ、rootタスクであっても任意のタスクに対して干渉することは不可能となり、タスク間で安全な協調作業を行うことが可能な環境を実現できる。   Since this essential access control technology is also applied to the above-mentioned root task, even if it is a root task, it is impossible to interfere with an arbitrary task, and a safe collaborative work is performed between tasks. Can realize an environment that can.

また、特許文献1には、プログラムの実行単位として「タスク」よりもさらに細かい単位である「スレッド」を用いたアクセス制御が開示されている。特許文献1に係るアクセス制御は、特定スレッドの所定スレッドに対する所望操作を許可するか否かについて明示的に設定するように構成されている。   Further, Patent Document 1 discloses access control using a “thread” which is a finer unit than a “task” as a program execution unit. The access control according to Patent Literature 1 is configured to explicitly set whether or not to permit a desired operation on a predetermined thread of a specific thread.

具体的には、特許文献1によれば、操作対象のスレッドに対して所望操作を行うことを許可又は拒否されたスレッド(操作を行うスレッド)の情報を記述した操作権限情報(すなわち、所定スレッドへの所望操作を行うことをどのスレッドに対して許可するかについて示す情報)を、当該操作対象のスレッドに割り当てることで、細粒度でのアクセス制御を実現している。
特開平7-200317号公報 「Security-Enhanced Linux」、[平成16年12月23日検索]、インターネット<URL:http://www.nsa.gov/selinux/>
Specifically, according to Patent Document 1, operation authority information (that is, a predetermined thread) describing information on a thread (thread that performs an operation) that is permitted or denied to perform a desired operation on the operation target thread. By assigning information indicating which thread is allowed to perform the desired operation to the operation target thread, access control with fine granularity is realized.
JP 7-200317 A “Security-Enhanced Linux”, [searched on December 23, 2004], Internet <URL: http://www.nsa.gov/selinux/>

しかしながら、従来のトラステッドオペレーティングシステムでは、コンピュータシステム上に存在する全てのオブジェクトに対して、通常のオペレーティングシステムでも存在していた所有者というラベルの他に、アクセス権限管理用の新たなラベル付けを行う必要があり、システム管理のコストが増大するという問題点があった。   However, in the conventional trusted operating system, all the objects existing on the computer system are newly labeled for managing the access right in addition to the owner label that existed in the normal operating system. Therefore, there is a problem that the cost of system management increases.

また、オブジェクトに対する適切なアクセス権限付与が行えないと、セキュリティホールとなる危険があるが、オブジェクトの数が増えると、この作業は困難性を増すといった問題点が指摘されている。したがって、このようなトラステッドオペレーティングシステムを日常的に運用することは、通常のオペレーティングシステムの運用と比較してはるかに難しい。   In addition, there is a risk of a security hole if appropriate access authority cannot be given to an object, but it has been pointed out that this work becomes more difficult as the number of objects increases. Therefore, operating such a trusted operating system on a daily basis is much more difficult than operating an ordinary operating system.

また、スレッドは、コンピュータシステムの中で動的に生成や消滅を繰り返す種類のオブジェクトであるため、特許文献1に示すアクセス制御では、コンピュータシステム上で新たなスレッドの生成・消滅が行われるたびに、操作権限情報が与えられている既存のスレッドに対して、割り当てる操作権限情報の見直しを行う必要が生じ、実行効率を落とすことになるという問題点があった。   In addition, since a thread is a type of object that repeatedly generates and disappears dynamically in a computer system, the access control shown in Patent Document 1 causes a new thread to be created and disappeared each time on the computer system. Therefore, it is necessary to review the operation authority information to be assigned to the existing thread to which the operation authority information is given, and there is a problem that the execution efficiency is lowered.

そこで、本発明は、以上の点に鑑みてなされたもので、実行効率を落とすことなく、細かい粒度のアクセス制御によって、タスク間の安全な協調作業を可能とするマルチタスク実行システム及びマルチタスク実行方法を提供することを目的とする。   Therefore, the present invention has been made in view of the above points, and a multitask execution system and multitask execution that enable safe collaborative work between tasks by fine-grained access control without reducing execution efficiency. It aims to provide a method.

本発明の第1の特徴は、操作対象オブジェクトに対して固有鍵を生成して付与する固有鍵生成付与機能と、前記操作対象オブジェクトに対する操作を行うためのシステムコールが操作主体タスクによって呼び出された場合、前記固有鍵を用いて該操作主体タスクの権限データを復号し、復号した該権限データに基づいて該システムコールを実行することができるか否かについて判断する前記権限データ確認機能とを具備するマルチタスク実行システムであることを要旨とする。   The first feature of the present invention is that a unique key generation / grant function for generating and assigning a unique key to an operation target object and a system call for performing an operation on the operation target object are called by an operation subject task. The authority data confirmation function for decrypting authority data of the operating subject task using the unique key and determining whether or not the system call can be executed based on the decrypted authority data. The gist of this is a multitask execution system.

かかる発明によれば、前記権限データ確認機能が、操作対象オブジェクトに付与された固有鍵で操作主体タスクの権限データを復号でき、かつ、当該権限データによって許容されている場合に、当該操作主体タスクが当該操作対象オブジェクトに対する操作を行うことを許容するように構成されているので、タスク間の安全な協調作業を実現することができる。   According to this invention, when the authority data confirmation function can decrypt the authority data of the operation subject task with the unique key assigned to the operation target object and is permitted by the authority data, the operation subject task Is configured to allow an operation on the operation target object to be performed, so that a safe cooperative work between tasks can be realized.

また、かかる発明によれば、操作対象オブジェクトに対してではなく、操作主体タスクに対して権限データを生成するため、コンピュータシステム上で新たなオブジェクト(タスクを含む)の生成・消滅が行われるたびに、付与されている権限データの見直しを行う必要がなくなる。   In addition, according to the invention, since authority data is generated not for the operation target object but for the operation subject task, every time a new object (including a task) is generated or deleted on the computer system. In addition, it is not necessary to review the granted authority data.

すなわち、かかる発明によれば、新たに操作主体タスクを生成するとき、操作主体タスクの実行中に操作権限を新たに得る又は放棄するときに、当該操作主体タスクに対してのみ操作対象オブジェクトに対する操作権限を設定すればよいことになるため、既存の操作対象オブジェクトに対する操作権限の見直しという煩雑な操作が必要ではなくなる。   That is, according to this invention, when a new operation subject task is generated, when an operation authority is newly obtained or abandoned during the execution of the operation subject task, only the operation subject task is operated on the operation target object. Since the authority only needs to be set, the complicated operation of reviewing the operation authority for the existing operation target object is not necessary.

本発明の第1の特徴において、前記操作主体タスクからの権限データ生成要求に応じて、該操作主体タスクについての認証処理を行うタスク認証機能と、前記認証処理結果に基づいて前記権限データを生成する権限データ生成機能とを具備するように構成されていてもよい。   In the first aspect of the present invention, a task authentication function for performing an authentication process for the operation subject task in response to an authority data generation request from the operation subject task, and generating the authority data based on the authentication process result And an authority data generation function.

本発明の第1の特徴において、前記操作主体タスクについての認証処理が行われているか否かについて管理するタスク情報記憶機能を具備し、前記タスク認証機能が、前記タスク情報記憶機能を参照して、前記操作主体タスクについての認証処理が行われていない場合に、該操作主体タスクについての認証処理を行うように構成されていてもよい。   In the first aspect of the present invention, the system includes a task information storage function for managing whether or not authentication processing for the operation subject task is performed, and the task authentication function refers to the task information storage function. When the authentication process for the operation subject task is not performed, the authentication process for the operation subject task may be performed.

本発明の第1の特徴において、前記タスク認証機能が、前記操作主体タスクについての認証処理が行われている場合、該操作主体タスクの子タスクについての認証処理を行わないように構成されていてもよい。   In the first feature of the present invention, the task authentication function is configured not to perform authentication processing for a child task of the operation subject task when the authentication processing for the operation subject task is performed. Also good.

本発明の第1の特徴において、前記操作主体タスクが、ユーザのログイン認証処理を行うログインタスクであり、前記子タスクが、前記ログイン認証処理後に実行されるログインシェルタスクであってもよい。   In the first aspect of the present invention, the operation subject task may be a login task that performs a login authentication process of a user, and the child task may be a login shell task that is executed after the login authentication process.

本発明の第1の特徴において、前記権限データ確認機能が、第1の条件に基づいて前記システムコールを実行することができるか否かについて判断し、該システムコールを実行することができると判断した場合に、復号した前記権限データに基づいて該システムコールを実行することができるか否かについて判断するように構成されていてもよい。   In the first aspect of the present invention, the authority data confirmation function determines whether or not the system call can be executed based on a first condition, and determines that the system call can be executed. In this case, it may be configured to determine whether or not the system call can be executed based on the decrypted authority data.

本発明の第1の特徴において、前記権限データ確認機能によって、前記権限データに基づいて前記システムコールを実行することができると判断された場合に、第2の条件に基づいて該システムコールを実行することができるか否かについて判断するシステムコール処理機能を具備するように構成されていてもよい。   In the first aspect of the present invention, when the authority data confirmation function determines that the system call can be executed based on the authority data, the system call is executed based on a second condition. It may be configured to have a system call processing function for determining whether or not it can be performed.

本発明の第1の特徴において、前記タスク情報記憶機能が、ユーザ制御から独立して動作するタスクに対しては、該タスクについての認証処理が行われているか否かについて管理しないように構成されていてもよい。   In the first feature of the present invention, the task information storage function is configured not to manage whether or not authentication processing is performed for a task that operates independently of user control. It may be.

本発明の第1の特徴において、前記固有鍵生成付与機能が、前記固有鍵として、共通鍵暗号アルゴリズムで用いられる共通鍵を生成するように構成されていてもよい。   In the first aspect of the present invention, the unique key generation / giving function may be configured to generate a common key used in a common key encryption algorithm as the unique key.

本発明の第1の特徴において、前記固有鍵生成付与機能が、前記固有鍵として、公開鍵暗号アルゴリズムで用いられる公開鍵及び秘密鍵のペアを生成するように構成されていてもよい。   In the first feature of the present invention, the unique key generation and grant function may be configured to generate a public key and secret key pair used in a public key encryption algorithm as the unique key.

本発明の第1の特徴において、前記権限データとして、前記操作主体タスクを識別するタスクIDと、前記システムコールを識別するシステムコールIDと、前記システムコールにおける操作モードと、前記権限データの有効期間を設定することができるように構成されていてもよい。   In the first aspect of the present invention, as the authority data, a task ID for identifying the operation subject task, a system call ID for identifying the system call, an operation mode in the system call, and a validity period of the authority data You may be comprised so that can be set.

本発明の第2の特徴は、第1のタスク及び第2のタスクに対して固有鍵を生成して付与する固有鍵生成付与機能を具備しており、前記第1のタスクが、前記固有鍵を用いて該第2のタスク用の権限データを暗号化し、暗号化した該権限データを該第2のタスクに送信するように構成されており、前記第2のタスクが、前記第1のタスクから送信された前記権限データを前記固有鍵で復号することができた場合、該第1のタスクが正当なタスクであると判断するように構成されているマルチタスク実行システムであることを要旨とする。   The second feature of the present invention includes a unique key generation / grant function that generates and grants a unique key to the first task and the second task, and the first task includes the unique key. Is used to encrypt the authority data for the second task and send the encrypted authority data to the second task, the second task being the first task The multitask execution system is configured to determine that the first task is a legitimate task when the authority data transmitted from can be decrypted with the unique key. To do.

本発明の第3の特徴は、オペレーティングシステムにおいて、操作主体タスクに対して固有鍵を生成して付与する工程と、前記オペレーティングシステムにおいて、前記操作主体タスクから前記システムコールが呼び出された場合、前記固有鍵を用いて該操作主体タスクの権限データを復号し、復号した該権限データに基づいて該システムコールを実行することができるか否かについて判断する工程とを有するマルチタスク実行方法であることを要旨とする。   According to a third aspect of the present invention, in the operating system, a step of generating and assigning a unique key to the operation subject task; and in the operating system, when the system call is called from the operation subject task, Decrypting authority data of the operation subject task using a unique key, and determining whether or not the system call can be executed based on the decrypted authority data. Is the gist.

本発明の第4の特徴は、オペレーティングシステムにおいて、第1のタスク及び第2のタスクに対して固有鍵を生成して付与する工程と、前記第1のタスクにおいて、前記固有鍵を用いて該第2のタスク用の権限データを暗号化し、暗号化した該権限データを該第2のタスクに送信する工程と、前記第2のタスクにおいて、前記第1のタスクから送信された前記権限データを前記固有鍵で復号することができた場合、該第1のタスクが正当なタスクであると判断する工程とを有するマルチタスク実行方法であることを要旨とする。   According to a fourth aspect of the present invention, in the operating system, a step of generating and assigning a unique key to the first task and the second task, and using the unique key in the first task, Encrypting the authority data for the second task and transmitting the encrypted authority data to the second task; and in the second task, the authority data transmitted from the first task The gist of the present invention is a multitask execution method including a step of determining that the first task is a legitimate task when decryption is possible using the unique key.

以上説明したように、本発明によれば、実行効率を落とすことなく、細かい粒度のアクセス制御によって、タスク間の安全な協調作業を可能とするマルチタスク実行システム及びマルチタスク実行方法を提供することができる。   As described above, according to the present invention, it is possible to provide a multitask execution system and a multitask execution method that enable safe collaborative work between tasks by fine-grained access control without reducing execution efficiency. Can do.

(本発明の第1の実施形態に係るマルチタスク実行システムの構成)
図1乃至図4を参照して、本発明の第1の実施形態に係るマルチタスク実行システム1の構成について説明する。
(Configuration of multitask execution system according to the first embodiment of the present invention)
The configuration of the multitask execution system 1 according to the first embodiment of the present invention will be described with reference to FIGS.

本実施形態に係るマルチタスク実行システム1は、同時に複数のタスク204を並列的に実行することができる現代的なオペレーティングシステム101において、複数のタスク204が柔軟かつ安全に協調動作を行う環境を実現するためにタスク権限を管理するように構成されている。   The multitask execution system 1 according to the present embodiment realizes an environment in which a plurality of tasks 204 flexibly and safely perform cooperative operations in a modern operating system 101 capable of executing a plurality of tasks 204 in parallel at the same time. To be configured to manage task rights.

本明細書において、「操作を行うオブジェクト」とは、能動的に他のオブジェクト(操作対象オブジェクト)に対して所望操作を行える類のものでなければならないため、「プロセス(他のプロセスとは独立したメモリ空間を備える実行単位)」や「スレッド(他のスレッドとメモリ空間を共有する実行単位)」等の、プログラムをコンピュータ上で動作させる際の単位となるオブジェクトでなければならない。   In this specification, “an object to be operated” must be a kind that can actively perform a desired operation on another object (operation target object), and therefore, “a process (independent of other processes)”. Must be an object that is a unit for operating a program on a computer, such as “execution unit having a memory space” and “thread (execution unit sharing memory space with other threads)”.

本明細書では、プロセスとスレッドとを区別する必要がないため、以降、「操作を行うオブジェクト」を総称して「操作主体タスク」と呼ぶことにする。   In the present specification, it is not necessary to distinguish between a process and a thread, and hence, “objects to be operated” will be collectively referred to as “operation subject tasks”.

本実施形態に係るマルチタスク実行システム1は、オペレーティングシステム101と、複数のオブジェクトとを具備している。ここで、オブジェクトには、オペレーティングシステム101の管理下で動作するタスク204-Xと、オペレーティングシステム101及びタスク204-Xの操作対象となるファイル201-X及びメモリ202-Xと、通信用のソケット203-X等が含まれる。   The multitask execution system 1 according to the present embodiment includes an operating system 101 and a plurality of objects. Here, the object includes a task 204-X that operates under the management of the operating system 101, a file 201-X and a memory 202-X that are the operation targets of the operating system 101 and the task 204-X, and a communication socket. 203-X and the like are included.

タスク間通信を行う場合等では、タスク204-Xも、操作対象となる可能性があるため、タスク204-Xは、操作主体タスクとしての役割を果たすと共に、操作対象オブジェクトとしての役割を演じる場合もある。   In the case of performing communication between tasks, the task 204-X may also be an operation target. Therefore, the task 204-X plays a role as an operation subject task and also plays a role as an operation target object. There is also.

タスク204-Xを含むオブジェクトには、マルチタスク実行システム1内で当該オブジェクトを一意に識別可能な固有鍵を割り当てるための固有鍵割当領域205-Xが割り当てられている。   An object including the task 204-X is assigned a unique key assignment area 205-X for assigning a unique key that can uniquely identify the object in the multitask execution system 1.

かかる固有鍵割当領域205-Xは、他のタスクからアクセスできないように構成されている。この「他のタスクからはアクセスできない」という性質は、トラステッドオペレーティングシステムによって提供されるアクセス管理機能や、オペレーティングシステムのみがアクセス可能な鍵によって当該固有鍵割当領域205-Xを暗号化する方法等で実現することができる。   The unique key assignment area 205-X is configured not to be accessible from other tasks. This property of “inaccessibility from other tasks” is due to an access management function provided by the trusted operating system, a method of encrypting the unique key assignment area 205-X with a key accessible only by the operating system, or the like. Can be realized.

かかる固有鍵は、後述するように、オペレーティングシステム101内の擬似乱数生成機能102及び固有鍵生成付与機能103によって生成され、細粒度の操作権限の管理が必要とされるオブジェクトに対して付与されるものである。   As will be described later, such a unique key is generated by a pseudo random number generation function 102 and a unique key generation / granting function 103 in the operating system 101, and is given to an object that requires management of fine-grained operation authority. Is.

本実施形態に係るマルチタスク実行システム1において、タスク204-Xは、当該固有鍵によって検証可能なデータを所有することをもって、オブジェクトに対する操作権限を持つものと判断されることになる。   In the multitask execution system 1 according to the present embodiment, the task 204-X is determined to have the operation authority for the object by possessing data that can be verified by the unique key.

以降では、そのようなオブジェクトに付与された固有鍵で検証可能なデータのことを「権限データ」と呼ぶ。   Hereinafter, data that can be verified with a unique key assigned to such an object is referred to as “authority data”.

一般に、操作主体タスク204-Xによる操作対象オブジェクトに対する操作は、オペレーティングシステム101が提供するシステムコールによって実施される。   In general, an operation on an operation target object by the operation subject task 204 -X is performed by a system call provided by the operating system 101.

図1に示すように、本実施形態に係るマルチタスク実行システム1のオペレーティングシステム101は、擬似乱数生成機能102と、固有鍵生成付与機能103と、システムコール処理機能104と、権限データ確認機能105と、権限データ生成機能106と、タスク情報記憶機能107と、権限データ保存機能108と、タスク認証機能109と、認証情報継承機能110とを具備している。   As shown in FIG. 1, the operating system 101 of the multitask execution system 1 according to this embodiment includes a pseudo-random number generation function 102, a unique key generation / assignment function 103, a system call processing function 104, and an authority data confirmation function 105. An authority data generation function 106, a task information storage function 107, an authority data storage function 108, a task authentication function 109, and an authentication information inheritance function 110.

擬似乱数生成機能102は、図2に示すように、キー入力やマウス入力や各種割込や熱雑音や乱数生成ハードウエア等のエントロピー源を元データとして暗号学的に強い擬似乱数ビット列を生成するように構成されている。   As shown in FIG. 2, the pseudo-random number generation function 102 generates a cryptographically strong pseudo-random bit string using key inputs, mouse inputs, various interrupts, thermal noise, and entropy sources such as random number generation hardware as original data. It is configured as follows.

固有鍵生成付与機能103は、擬似乱数生成機能102によって生成された擬似乱数ビット列に基づいて、マルチタスク実行システム1内でユニークな固有鍵を生成するように構成されている。   The unique key generation / assignment function 103 is configured to generate a unique key unique within the multitask execution system 1 based on the pseudo random number bit string generated by the pseudo random number generation function 102.

例えば、固有鍵生成付与機能103は、固有鍵として、共通鍵暗号アルゴリズムで用いられる共通鍵や、公開鍵暗号アルゴリズムで用いられる公開鍵及び秘密鍵のペアを生成するように構成されている。   For example, the unique key generation / assignment function 103 is configured to generate, as the unique key, a common key used in the common key encryption algorithm, or a public key / private key pair used in the public key encryption algorithm.

固有鍵生成付与機能103は、生成した固有鍵を操作対象オブジェクトに対して付与するように構成されている。すなわち、固有鍵生成付与機能103は、生成した固有鍵を、操作対象オブジェクトの持つ固有鍵割当領域205に保存するように構成されている。   The unique key generation / assignment function 103 is configured to assign the generated unique key to the operation target object. That is, the unique key generation / assignment function 103 is configured to store the generated unique key in the unique key assignment area 205 of the operation target object.

システムコール処理機能104は、操作主体タスク204-1によって呼び出された操作対象オブジェクト201-1に対する操作を行うためのシステムコールを受信した場合、権限データ確認機能105に対して、当該システムコールの実行可否について問い合わせるように構成されている。   When the system call processing function 104 receives a system call for performing an operation on the operation target object 201-1 called by the operation subject task 204-1, the system call processing function 104 executes the system call to the authority data confirmation function 105. It is configured to inquire about availability.

また、システムコール処理機能104は、権限データ確認機能105によって当該システムコールが実行可能である旨の回答を受けた場合、当該システムコールを実行する、すなわち、操作主体タスク204-1が操作対象オブジェクト201-1に対する所望操作を行うことを許可するように構成されている。   Further, when the system call processing function 104 receives an answer indicating that the system call can be executed by the authority data confirmation function 105, the system call processing function 104 executes the system call, that is, the operation subject task 204-1 operates the object to be operated. It is configured to permit a desired operation to be performed on 201-1.

権限データ確認機能105は、システムコール処理機能104からの問い合わせに応じて、固有鍵生成付与機能103から取得した操作対象オブジェクト201-1用の固有鍵を用いて、タスク情報記憶機能107に記憶されている操作主体タスク204-1の権限データを復号し、復号した当該権限データに基づいて当該システムコールを実行することができるか否かについて判断するように構成されている。   The authority data confirmation function 105 is stored in the task information storage function 107 using the unique key for the operation target object 201-1 acquired from the unique key generation and grant function 103 in response to an inquiry from the system call processing function 104. The authority data of the operating subject task 204-1 is decrypted, and it is determined whether or not the system call can be executed based on the decrypted authority data.

権限データ生成機能106は、タスク認証機能109による操作主体タスクについての認証処理結果に基づいて、当該操作主体タスクの権限データを生成するように構成されている。   The authority data generation function 106 is configured to generate authority data of the operation subject task based on the authentication processing result for the operation subject task by the task authentication function 109.

図3に示すように、権限データ生成機能106は、各オブジェクトに対する権限データとして、「実行ファイル名」と、「タスクID」と、「システムコール種別」と、「操作モード」と、「有効開始時刻」と、「有効終了時刻」とを設定することができる。   As shown in FIG. 3, the authority data generation function 106 includes “execution file name”, “task ID”, “system call type”, “operation mode”, and “valid start” as authority data for each object. "Time" and "Effective end time" can be set.

「実行ファイル名」及び「タスクID」は、いずれも、当該オブジェクトに対して操作を行うことができる操作主体タスクを識別するものである。ここで、「実行ファイル名」及び「タスクID」の2種類の情報で、操作主体タスクを指定可能としているのは、権限データを生成する時点で既にタスクとして存在する場合と、その時点では未だタスクとしては存在していない場合という2通りのケースに対応するためである。   Both “executable file name” and “task ID” identify an operation subject task that can perform an operation on the object. Here, the two types of information “executable file name” and “task ID” make it possible to specify the operation subject task when it already exists as a task at the time of generating authority data, and at that point it is still This is because it corresponds to two cases where the task does not exist.

一般に、ある実行ファイルが実行されてタスクとなったときにオペレーティングシステム101から割り当てられる「タスクID」は、当該実行ファイルの実行以前の段階では確定不能である。   In general, the “task ID” assigned by the operating system 101 when a certain execution file is executed to become a task cannot be determined before the execution of the execution file.

ただし、操作主体タスクを指定するための情報としての「実行ファイル名」及び「タスクID」の使い分けは、上述の例に制限されるものではなく、既に実行中のタスクを「実行ファイル名」によって指定してもよいし、両者を併用してもよい。   However, the proper use of “executable file name” and “task ID” as information for designating the operation subject task is not limited to the above example, and an already executing task is determined by “executable file name”. You may specify, and you may use both together.

さらに、操作主体タスクを指定せず、当該権限データを所有するタスクであれば、どのタスクでも当該オブジェクトに対する操作を行うことができることを示す権限データを実現するために、「実行ファイル名」及び「タスクID」に、ワイルドカード(図3における「*」)を使用可能なように構成されていてもよい。   Furthermore, in order to realize authority data indicating that any task can perform an operation on the object as long as the task owns the authority data without specifying the operation subject task, the “executable file name” and “ A “wild card” (“*” in FIG. 3) may be used for “task ID”.

「システムコール種別」は、当該オブジェクトに対して行うことを許可するシステムコールの種別を示す(すなわち、当該オブジェクトに対して行うことを許可するシステムコールを識別する)ものである。また、「操作モード」は、当該オブジェクトに対して行うことを許可するシステムコールにおける操作モードを示すものである。   The “system call type” indicates the type of system call permitted to be performed on the object (that is, the system call permitted to be performed on the object is identified). The “operation mode” indicates an operation mode in a system call that is permitted to be performed on the object.

さらに、「有効開始時刻」と「有効終了時刻」とによって、当該権限データの有効期間を設定することができる。権限データの有効期間を定めることで、システムコール実行後に、不要な権限データが悪用される危険を抑えることができる。   Furthermore, the validity period of the authority data can be set by the “valid start time” and the “valid end time”. By determining the validity period of the authority data, it is possible to reduce the risk of unnecessary authority data being misused after the system call is executed.

なお、権限データは、図3の例では、表形式として表現されているが、表現形式はこれに限定されるものではない。   In the example of FIG. 3, the authority data is expressed in a table format, but the expression format is not limited to this.

権限データ生成機能106は、生成した権限データを、当該操作対象オブジェクトの固有鍵で暗号化するように構成されている。この結果、権限データは、特定の操作対象オブジェクトと一意に結び付けられることになるため、当該権限データを、他の操作対象オブジェクトに流用することはできなくなる。   The authority data generation function 106 is configured to encrypt the generated authority data with the unique key of the operation target object. As a result, the authority data is uniquely associated with a specific operation target object, so that the authority data cannot be diverted to other operation target objects.

権限データ生成機能106は、暗号化した権限データを、タスク情報記憶機能107における操作主体タスク用領域に記憶するように構成されている。   The authority data generation function 106 is configured to store the encrypted authority data in the operation subject task area in the task information storage function 107.

タスク情報記憶機能107は、マルチタスク実行システム1上に存在する個々のタスク204-Xに対応して独立した操作主体タスク用領域を保持しており、操作主体タスク用の権限データを当該操作主体タスク用領域に記録するように構成されている。   The task information storage function 107 holds an independent operation subject task area corresponding to each task 204-X existing on the multitask execution system 1, and the authority data for the operation subject task is stored as the operation subject. It is configured to record in the task area.

また、タスク情報記憶機能107は、特定の操作主体タスクについての認証処理が行われているか否かについて管理するように構成されている。具体的には、図4に示すように、タスク情報記憶機能107は、「タスクID」と、当該タスクIDによって識別される操作主体タスクについての認証処理が行われているか否かについて示す「認証処理」とを関連付けて記憶している。   The task information storage function 107 is configured to manage whether or not an authentication process for a specific operation subject task is being performed. Specifically, as illustrated in FIG. 4, the task information storage function 107 displays “task ID” and “authentication processing” indicating whether or not authentication processing is being performed for the operation subject task identified by the task ID. "Process" is stored in association with each other.

権限データ保存機能108は、既にタスクとして存在するのではなく、今後いずれかの時点でタスクとなる実行ファイルに対して、予め権限データを割り当てておくことを可能とするために、権限データをファイルとして保存するように構成されている。かかる実行ファイルには、権限データの他、例えば、起動日時や起動コマンドや引数等の情報が含まれている。   The authority data storage function 108 does not already exist as a task, but the authority data is stored in the file so that the authority data can be assigned in advance to an execution file that becomes a task at some point in the future. Configured to save as. In addition to the authority data, the execution file includes information such as a start date and time, a start command, and an argument.

例えば、オペレーティングシステム101は、かかる実行ファイルに記憶されている起動日時に、当該実行ファイルに記憶されている起動コマンドや引数に従って、特定タスクを生成するように構成されている。   For example, the operating system 101 is configured to generate a specific task at the start date and time stored in the execution file according to the start command and arguments stored in the execution file.

タスク認証機能109は、操作主体タスクからの権限データ生成要求(システムコール)に応じて、当該操作主体タスクについての認証処理を行うように構成されている。   The task authentication function 109 is configured to perform an authentication process for the operation subject task in response to an authority data generation request (system call) from the operation subject task.

すなわち、上述の権限データは、操作主体タスクからの権限データ生成要求(システムコール)により生成されるが、任意のタスクが、任意のオブジェクトに対する操作を行うことができることを示す権限データを取得できてしまうのでは、何ら権限管理を行っていないことに等しくなる。したがって、タスク認証機能109は、そのような権限データを生成可能なタスクを制限する、すなわち、正しいタスクであると判断した上で権限データの生成及び記録を行うように構成されている。   That is, the authority data described above is generated by an authority data generation request (system call) from the operation subject task, but authority data indicating that an arbitrary task can perform an operation on an arbitrary object can be acquired. In other words, it is equivalent to not performing any authority management. Therefore, the task authentication function 109 is configured to limit the tasks that can generate such authority data, that is, generate and record authority data after determining that the task is a correct task.

ここで、タスク認証機能109は、通常のオペレーティングシステムがユーザ認証処理を行うために利用している機能を流用して上述の認証処理を行うように構成されていてもよいし、独自の認証処理を行うための機能を用意して上述の認証処理を行うように構成されていてもよい。   Here, the task authentication function 109 may be configured to perform the above-described authentication process by diverting a function used by a normal operating system to perform the user authentication process, or a unique authentication process. A function for performing the above-described authentication processing may be prepared and the above-described authentication process may be performed.

また、タスク認証機能109は、タスク情報記憶機能107を参照して、操作主体タスクについての認証処理が行われていない場合に、当該操作主体タスクについての認証処理を行うように構成されていてもよい。   Further, the task authentication function 109 may be configured to refer to the task information storage function 107 and perform the authentication process for the operation subject task when the authentication process for the operation subject task is not performed. Good.

また、タスク認証機能109は、操作主体タスクについての認証処理が行われている場合、当該操作主体タスクの子タスクについての認証処理を行わないように構成されている。   Further, the task authentication function 109 is configured not to perform the authentication process for the child task of the operation subject task when the authentication processing for the operation subject task is performed.

認証情報継承機能110は、操作主体タスクの子タスクに対して、当該操作主体タスクについての認証処理が既に行われているという情報を継承させるように構成されている。   The authentication information inheritance function 110 is configured to cause the child task of the operation subject task to inherit information that the authentication process for the operation subject task has already been performed.

すなわち、認証情報継承機能110は、タスク情報記憶機能107に記録されている当該操作主体タスク204-1に対応する認証済情報及び権限データを、それ以降、当該操作主体タスク204-1によって生成される子タスクに対して継承させるように構成されている。   That is, the authentication information inheritance function 110 generates the authenticated information and authority data corresponding to the operation subject task 204-1 recorded in the task information storage function 107, and thereafter generated by the operation subject task 204-1. It is configured to be inherited for a child task.

かかる認証情報継承機能110は、一般的なオペレーティングシステム101に対する追加機能として実現される必要があるが、例えば、UNIX(登録商標)におけるオペレーティングシステムの場合には、子タスクが、親タスク自身に関するタスク情報(認証済情報や権限データ等)を複製するという形で生成されているため、特別には必要とされない。   The authentication information inheritance function 110 needs to be realized as an additional function to the general operating system 101. For example, in the case of an operating system in UNIX (registered trademark), a child task is a task related to the parent task itself. Since it is generated in the form of copying information (authenticated information, authority data, etc.), it is not specifically required.

いずれにしても、認証処理を行った操作主体タスクにのみ権限データの付与を許し、かつ、認証処理が既に行われているという情報を子タスクに継承可能とすることで、一般的な利用形態、すなわち、コンピュータにログインした後は、ログイン後に実行されるタスク(一般的なのは、ログインシェルと呼ばれるコマンド解釈系だが、ウインドウ環境では、ウインドウマネージャ等がその役割を果たすことも多い)の子タスクとして、様々な仕事を行うという形態で、コンピュータを利用する際の利便性が確保されることになる。   In any case, it is possible to grant authority data only to the operator task that has performed the authentication process, and to allow the child task to inherit information that the authentication process has already been performed. That is, as a child task of a task that is executed after logging in after logging in to a computer (generally, it is a command interpretation system called a login shell, but in a window environment, a window manager or the like often plays a role) The convenience of using a computer is ensured in the form of performing various tasks.

上述のように、本実勢形態に係るオペレーティングシステム101は、操作対象オブジェクト201-1を操作するためのシステムコールが操作主体タスク204-1によって呼び出された場合であって、当該操作対象オブジェクト201-1に対する操作権限を管理している場合に、当該システムコールを呼び出した操作主体タスク204-1が適切な権限データを持ったものであるか否かを確認することによって、当該システムコールの実行可否を判断するように構成されている。   As described above, the operating system 101 according to the present embodiment is a case where a system call for operating the operation target object 201-1 is called by the operation subject task 204-1, and the operation target object 201-1 is operated. When the operation authority for 1 is managed, whether or not the system call can be executed by checking whether or not the operating subject task 204-1 that called the system call has appropriate authority data Is configured to determine.

(本発明の第1の実施形態に係るマルチタスク実行システムの動作)
図5乃至図9を参照して、本発明の第1の実施形態に係るマルチタスク実行システムの動作について説明する。
(Operation of the multitask execution system according to the first embodiment of the present invention)
The operation of the multitask execution system according to the first embodiment of the present invention will be described with reference to FIGS.

第1に、図5を参照して、本実施形態に係るマルチタスク実行システム1のオペレーティングシステム101において、権限データを生成する動作について説明する。   First, with reference to FIG. 5, an operation of generating authority data in the operating system 101 of the multitask execution system 1 according to the present embodiment will be described.

権限データ生成機能106は、ステップS101において、システムコール処理機能104を介して操作主体タスク204-1から権限データ生成要求(システムコール)を受けると、ステップS102において、タスク情報記憶機能107を参照して、当該操作主体タスク204-1についての認証処理が既に行われているか否かについて判断する。   When the authority data generation function 106 receives an authority data generation request (system call) from the operating subject task 204-1 via the system call processing function 104 in step S101, the authority data generation function 106 refers to the task information storage function 107 in step S102. Thus, it is determined whether or not the authentication process for the operation subject task 204-1 has already been performed.

当該認証処理が既に行われていると判断された場合、本動作はステップS104に進み、当該認証処理が未だ行われていないと判断された場合、本動作はステップS103に進む。   If it is determined that the authentication process has already been performed, the operation proceeds to step S104. If it is determined that the authentication process has not yet been performed, the operation proceeds to step S103.

ステップS103において、タスク認証機能109が、後述するように、操作主体タスク204-1についての認証処理を行う。   In step S103, the task authentication function 109 performs an authentication process for the operation subject task 204-1 as will be described later.

ステップS104において、認証処理の結果が肯定的であった場合、すなわち、受信した権限データ生成要求が正当であると認められた場合、本動作はステップS105に進み、認証処理の結果が否定的であった場合、すなわち、受信した権限データ生成要求が正当であると認められなかった場合、本動作は異常終了する。   If the result of the authentication process is affirmative in step S104, that is, if the received authority data generation request is confirmed to be valid, the operation proceeds to step S105, and the result of the authentication process is negative. If there is, that is, if the received authority data generation request is not recognized as valid, this operation ends abnormally.

なお、権限データ生成要求の正当性の判断基準として、操作主体タスク204-1及び操作対象オブジェクト201-1が同一のユーザに属する場合、当該操作主体タスク204-1が当該操作対象オブジェクトに対して任意の操作を行うことができることを示す権限データを付与可能とするという方針をデフォルトとする。   As a criterion for determining the validity of the authority data generation request, when the operation subject task 204-1 and the operation target object 201-1 belong to the same user, the operation subject task 204-1 is assigned to the operation target object. The policy is to make it possible to grant authority data indicating that any operation can be performed.

そして、操作主体タスクが属するユーザと異なるユーザに属する操作対象オブジェクトに対して、当該操作主体タスクが所望操作を行うことができることを示す権限データを付与する必要があるケースのように、上述のデフォルト方針では、うまく機能しないケースでのみ、事前に明示的な設定を要請するように構成されることが好ましい。この結果、トラステッドオペレーティングシステムにおけるような煩雑な事前設定を強いることを回避しつつ、権限データを取得する前提として上述の認証処理を要求することによって、実行中の操作主体タスク204-1が、プログラム中のセキュリティホールなどのために乗っ取られたような場合でも、マルチタスク実行システム1における他の操作対象オブジェクト201-1に対して悪い行為がなされることを防ぐ。   Then, as in the case where authority data indicating that the operation subject task can perform a desired operation needs to be given to an operation target object belonging to a user different from the user to which the operation subject task belongs, The policy is preferably configured to require explicit settings in advance only in cases where it does not work well. As a result, by executing the above-described authentication process as a precondition for acquiring the authority data while avoiding the complicated pre-setting as in the trusted operating system, the executing subject task 204-1 can execute the program. Even in the case of being hijacked due to a security hole in the middle, it is possible to prevent a bad act from being performed on another operation target object 201-1 in the multitask execution system 1.

権限データ生成機能106は、ステップS105において、当該操作主体タスクが当該当該操作対象オブジェクトに対して所望操作を行うことができることを示す権限データを生成し、ステップS106において、当該該権限データを当該操作対象オブジェクト用の固有鍵で暗号化してタスク情報記憶機能107の当該操作主体タスク用領域に記録する。   In step S105, the authority data generation function 106 generates authority data indicating that the operation subject task can perform a desired operation on the operation target object. In step S106, the authority data generation function 106 converts the authority data into the operation data. It is encrypted with the unique key for the target object and recorded in the operation subject task area of the task information storage function 107.

第2に、図6を参照して、操作主体タスク204-1についての認証処理について説明する。   Secondly, with reference to FIG. 6, the authentication process for the operation subject task 204-1 will be described.

ステップS201において、タスク認証機能109は、上述の権限データ生成要求(システムコール)を呼び出したタスク204-1が、権限データの生成を要求することが許可されたタスクであるか否かについて判断する。かかる判断は、上述のように、当該タスクの所有者についての認証処理を行うことで実現される。   In step S201, the task authentication function 109 determines whether or not the task 204-1 that has called the authority data generation request (system call) described above is a task that is permitted to request generation of authority data. . As described above, this determination is realized by performing an authentication process for the owner of the task.

かかる認証処理は、一般的なオペレーティングシステムへのログイン時に用いられるユーザ名及びパスワードを用いるものでも良いし、暗証番号やワンタイムパスワードや指紋等のバイオメトリックデータやスマートカード上の秘密鍵等の様々な技術を用いることができる。   Such authentication processing may be performed using a user name and password used when logging in to a general operating system, and may include a biometric data such as a personal identification number, a one-time password and a fingerprint, and a secret key on a smart card. Technology can be used.

認証処理に用いられる技術に応じて、ユーザは、適切な情報(パスワードや指紋データやスマートカード上の秘密鍵等)を、マルチタスク実行システム1に提示した結果、正規ユーザと判断された場合、本動作はステップS203に進み、それ以外の場合、本動作は異常終了する。   Depending on the technology used for the authentication process, if the user is determined to be an authorized user as a result of presenting appropriate information (password, fingerprint data, secret key on the smart card, etc.) to the multitask execution system 1, The operation proceeds to step S203, and otherwise, the operation ends abnormally.

ステップS203において、タスク認証機能109は、当該操作主体タスク204-1についての認証処理が完了した旨を示す情報(認証済情報)をタスク情報記憶機能107に記録する。   In step S203, the task authentication function 109 records information (authenticated information) indicating that the authentication process for the operation subject task 204-1 has been completed in the task information storage function 107.

第3に、図7及び図8を参照して、本実施形態に係るマルチタスク実行システム1において、操作主体タスク204-1によって呼び出されたシステムコール(操作対象オブジェクト201-1に対する操作を行う)を実行する動作を説明する。   Thirdly, referring to FIG. 7 and FIG. 8, in the multitask execution system 1 according to the present embodiment, a system call called by the operation subject task 204-1 (to perform an operation on the operation target object 201-1). The operation to execute is described.

図7の例では、オペレーティングシステム101は、通常条件(第1の条件)に基づいてシステムコールを実行することができるか否かについて判断し、当該システムコールを実行することができると判断した場合に、復号した権限データに基づいて当該システムコールを実行することができるか否かについて判断するように構成されている。   In the example of FIG. 7, the operating system 101 determines whether or not the system call can be executed based on the normal condition (first condition), and determines that the system call can be executed. In addition, it is configured to determine whether or not the system call can be executed based on the decrypted authority data.

図7の例におけるマルチタスク実行システム1は、一般的な粗粒度の権限管理しか行えないオペレーティングシステムにおいて、より細粒度の権限管理を実現する方式、すなわち、オペレーティングシステムが提供する協調作業の制限を強化する方式を採用している。   The multitask execution system 1 in the example of FIG. 7 is a method that realizes finer-level authority management in an operating system that can perform only general coarse-grained authority management, that is, the limitation of the cooperative work provided by the operating system. Employs a strengthening method.

図7に示すように、ステップS301において、システムコール処理機能104は、ユーザID等の通常条件(第1の条件)に基づいて当該システムコールを実行することができるか否かについて判断する。   As shown in FIG. 7, in step S301, the system call processing function 104 determines whether or not the system call can be executed based on a normal condition (first condition) such as a user ID.

可能であると判断された場合、本動作は、ステップS302に進み、不可であると判断された場合、本動作は、ステップS306においてエラー処理を行う(すなわち、当該システムコールを実行することなく終了する)。   If it is determined that it is possible, the operation proceeds to step S302. If it is determined that the operation is not possible, the operation performs error processing in step S306 (that is, ends without executing the system call). To do).

ステップS302において、権限データ確認機能105は、操作対象オブジェクト201-1に固有鍵が付与されているか否かについて判断する。   In step S302, the authority data confirmation function 105 determines whether or not a unique key is assigned to the operation target object 201-1.

付与されていない場合、本動作は、ステップS307において、そのまま当該システムコールを実行し、付与されている場合、本動作は、ステップS303に進む。   If not granted, this operation directly executes the system call in step S307. If granted, the operation proceeds to step S303.

ステップS303において、権限データ確認機能105は、タスク情報記憶機能107内の操作主体タスク204-1用領域に、権限データが保存されているか否かについて判断する。保存されている場合、本動作はステップS304に進み、保存されていない場合、本動作はステップS306に進む。   In step S <b> 303, the authority data confirmation function 105 determines whether authority data is stored in the area for the operation subject task 204-1 in the task information storage function 107. If stored, the operation proceeds to step S304. If not stored, the operation proceeds to step S306.

ステップS304において、権限データ確認機能105は、保存されている権限データが、当該操作対象オブジェクトに付与されている固有鍵によって復号できるか否かについて判断する。復号できた場合、本動作はステップS305に進み、復号できなかった場合、本動作はステップS306に進む。   In step S304, the authority data confirmation function 105 determines whether the stored authority data can be decrypted with the unique key assigned to the operation target object. If the decoding is successful, the operation proceeds to step S305. If the decoding is not possible, the operation proceeds to step S306.

ステップS306において、権限データ確認機能105は、当該システムコールによって実行しようとしている処理内容が権限データに記載されているか否か(すなわち、当該システムコールを実行することができるか否か)について判断する。   In step S306, the authority data confirmation function 105 determines whether or not the processing content to be executed by the system call is described in the authority data (that is, whether or not the system call can be executed). .

判断結果が肯定的であった場合、ステップS307において、システムコール処理機能104が、当該システムコールを実行する。一方、判断結果が否定的であった場合、ステップS306において、システムコール処理機能104が、当該システムコールを実行することなく終了する。   If the determination result is affirmative, in step S307, the system call processing function 104 executes the system call. On the other hand, if the determination result is negative, in step S306, the system call processing function 104 ends without executing the system call.

一方、図8の例では、オペレーティングシステム101は、復号した権限データに基づいてシステムコールを実行することができるか否かについて判断し、当該システムコールを実行することができると判断した場合に、通常条件(第2の条件)に基づいて当該システムコールを実行することができるか否かについて判断するように構成されている。   On the other hand, in the example of FIG. 8, when the operating system 101 determines whether or not the system call can be executed based on the decrypted authority data, and determines that the system call can be executed, It is configured to determine whether or not the system call can be executed based on a normal condition (second condition).

図8の例におけるマルチタスク実行システム1は、トラステッドオペレーティングシステムのように細分化された権限管理を必須としているオペレーティングシステムにおいて、権限設定を一時的にオーバーライドした形での操作を許容するための方式、すなわち、オペレーティングシステムが提供する協調作業の制限を緩和する方式を採用している。   The multitask execution system 1 in the example of FIG. 8 is a method for allowing an operation in a form in which authority settings are temporarily overridden in an operating system that requires subordinate authority management like a trusted operating system. In other words, a system that relaxes restrictions on cooperative work provided by the operating system is adopted.

図8に示すように、ステップS401において、権限データ確認機能105は、操作対象オブジェクト201-1に固有鍵が付与されているか否かについて判断する。付与されていない場合、本動作はステップS406に進み、付与されている場合、本動作はステップS402に進む。   As shown in FIG. 8, in step S401, the authority data confirmation function 105 determines whether a unique key is assigned to the operation target object 201-1. If not, the operation proceeds to step S406. If granted, the operation proceeds to step S402.

ステップS402において、権限データ確認機能105は、タスク情報記憶機能107内の操作主体タスク204-1用領域に、権限データが保存されているか否かについて判断する。保存されている場合、本動作はステップS403に進み、保存されていない場合、本動作はステップS406に進む。   In step S <b> 402, the authority data confirmation function 105 determines whether authority data is stored in the area for the operation subject task 204-1 in the task information storage function 107. If stored, the operation proceeds to step S403. If not stored, the operation proceeds to step S406.

ステップS403において、権限データ確認機能105は、保存されている権限データが、当該操作対象オブジェクトに付与されている固有鍵によって復号できるか否かについて判断する。復号できた場合、本動作はステップS404に進み、復号できなかった場合、本動作はステップS406に進む。   In step S403, the authority data confirmation function 105 determines whether the stored authority data can be decrypted with the unique key assigned to the operation target object. If the decoding is successful, the operation proceeds to step S404. If the decoding is not possible, the operation proceeds to step S406.

ステップS404において、権限データ確認機能105は、当該システムコールによって実行しようとしている処理内容が権限データに記載されているか否か(すなわち、当該システムコールを実行することができるか否か)について判断する。   In step S404, the authority data confirmation function 105 determines whether or not the processing content to be executed by the system call is described in the authority data (that is, whether or not the system call can be executed). .

判断結果が肯定的であった場合、ステップS405において、システムコール処理機能104が、当該システムコールを実行する。一方、判断結果が否定的であった場合、ステップS406において、システムコール処理機能104が、ユーザID等の通常のトラステッドオペレーティングシステムにおける条件(第2の条件)に基づいて当該システムコールを実行することができるか否かについて判断する。   If the determination result is affirmative, the system call processing function 104 executes the system call in step S405. On the other hand, if the determination result is negative, in step S406, the system call processing function 104 executes the system call based on a condition (second condition) in a normal trusted operating system such as a user ID. Judge whether or not

可能であると判断された場合、ステップS405において、システムコール処理機能104が、当該システムコールを実行する。一方、不可であると判断された場合、システムコール処理機能104は、ステップS407において、エラー処理を行う(すなわち、当該システムコールを実行することなく終了する)。   If it is determined that it is possible, in step S405, the system call processing function 104 executes the system call. On the other hand, if it is determined that it is not possible, the system call processing function 104 performs error processing in step S407 (that is, ends without executing the system call).

第4に、図9を参照して、例えば、UNIX(登録商標)に見られるように、操作主体タスクが自身のタスク情報を複製することで子タスクを生成するように構成されているオペレーティングシステムにおいて、デーモンタスクの実行時に必要な処理について説明する。   Fourth, referring to FIG. 9, for example, as seen in UNIX (registered trademark), an operating system configured to generate a child task by duplicating its task information by the operation subject task. The processing required when executing the daemon task will be described.

デーモンタスクとは、他のタスクとは親子関係なしに存在し、マルチタスク実行システム1上のサービス等を提供するタスク、すなわち、ユーザ制御から独立して動作するタスクの総称である。   The daemon task is a general term for tasks that exist without parent-child relationship with other tasks and that provide services on the multitask execution system 1, that is, tasks that operate independently of user control.

デーモンタスクは、ネットワークからの要求に応じてサービスを提供するために用いられることが多く、したがって、攻撃の対象となることも最も多い種類のタスクである。そのため、デーモンタスクが、任意の権限データを取得できてしまうと、マルチタスク実行システム1に対する危険が増加することになる。   Daemon tasks are often used to provide services in response to requests from the network, and are therefore the type of task that is most often attacked. Therefore, if the daemon task can acquire arbitrary authority data, the risk to the multitask execution system 1 increases.

したがって、オペレーティングシステム101は、デーモンタスクを生成する場合には、タスク情報記憶機能107から、デーモンタスクに係る認証処理済情報を削除する必要がある。   Therefore, when generating the daemon task, the operating system 101 needs to delete the authentication processing completed information relating to the daemon task from the task information storage function 107.

すなわち、タスク情報記憶機能は、ユーザ制御から独立して動作するタスク(デーモンタスク)に対しては、当該デーモンタスクについての認証処理が行われているか否かについて管理しないように構成されている。   In other words, the task information storage function is configured not to manage whether or not authentication processing for the daemon task is being performed for a task (daemon task) that operates independently of user control.

タスク情報記憶機107から認証済情報を削除されたデーモンタスクに対して権限データを生成するためには、当該デーモンタスクについての認証処理を実施しなければならないが、前述の通り、当該認証処理では、デーモンタスクのユーザに対する認証処理が必須となる。したがって、デーモンタスクのユーザについての認証処理を行う機会は存在しないことから、攻撃者に乗っ取られたデーモンタスクが、マルチタスク実行システム1に対して悪い行為を行うことは困難とすることができる。   In order to generate authority data for a daemon task for which authenticated information has been deleted from the task information storage device 107, authentication processing for the daemon task must be performed. Authentication processing for daemon task users is essential. Therefore, since there is no opportunity to perform authentication processing for the user of the daemon task, it can be difficult for the daemon task hijacked by the attacker to perform a bad act on the multitask execution system 1.

デーモンタスクも、一般のタスクと同じように、特定のタスクの子タスクとして生成されるため、タスク情報記憶機能107内に、親タスクの認証済情報又は権限データが保持されている場合、デーモンタスクに対して当該親タスクの認証済情報又は権限データ継承させないようにする必要がある。   A daemon task is also generated as a child task of a specific task in the same way as a general task. Therefore, if authenticated information or authority data of a parent task is held in the task information storage function 107, the daemon task It is necessary to prevent inheritance of the authenticated information or authority data of the parent task.

図9に示すように、オペレーティングシステム101は、デーモンタスク作成時に、ステップS501において、タスク情報記憶機能107内に、デーモンタスクに係る認証済情報が記憶されているか否かについて判断する。   As shown in FIG. 9, when creating a daemon task, the operating system 101 determines whether or not authenticated information related to the daemon task is stored in the task information storage function 107 in step S501.

記憶されていると判断された場合、ステップS502において、オペレーティングシステム101は、当該認証済情報を削除する。一方、記憶されていないと判断された場合、本動作はステップS503に進む。   If it is determined that the information is stored, the operating system 101 deletes the authenticated information in step S502. On the other hand, if it is determined that it is not stored, the operation proceeds to step S503.

ステップS503において、オペレーティングシステム101は、タスク情報記憶機能107内に、デーモンタスクに係る権限データが記憶されているか否かについて判断する。   In step S <b> 503, the operating system 101 determines whether authority data relating to the daemon task is stored in the task information storage function 107.

記憶されていると判断された場合、ステップS504において、オペレーティングシステム101は、当該権限データを削除する。一方、記憶されていないと判断された場合、本動作は終了する。   If it is determined that it is stored, the operating system 101 deletes the authority data in step S504. On the other hand, if it is determined that it is not stored, this operation ends.

(本発明の第1の実施形態に係るマルチタスク実行システムの作用・効果)
本発明の第1の実施形態に係るマルチタスク実行システムによれば、権限データ確認機能105が、操作対象オブジェクト201-1に付与された固有鍵で操作主体タスク204-1の権限データを復号でき、かつ、当該権限データによって許容されている場合に、当該操作主体タスク204-1が当該操作対象オブジェクト201-1に対する操作を行うことを許容するように構成されているので、タスク間の安全な協調作業を実現することができる。
(Operation and effect of the multitask execution system according to the first embodiment of the present invention)
According to the multitask execution system according to the first embodiment of the present invention, the authority data confirmation function 105 can decrypt the authority data of the operation subject task 204-1 with the unique key assigned to the operation target object 201-1. And when it is permitted by the authority data, the operation subject task 204-1 is configured to permit the operation on the operation target object 201-1. Collaborative work can be realized.

また、本発明の第1の実施形態に係るマルチタスク実行システムによれば、操作対象オブジェクト201-1に対してではなく、操作主体タスク204-1に対して権限データを生成するため、コンピュータシステム上で新たなオブジェクト(タスクを含む)の生成・消滅が行われるたびに、付与されている権限データの見直しを行う必要がなくなる。   Further, according to the multitask execution system according to the first embodiment of the present invention, since the authority data is generated not for the operation target object 201-1 but for the operation subject task 204-1, the computer system Whenever new objects (including tasks) are created or deleted, it is not necessary to review the granted authority data.

すなわち、本発明の第1の実施形態に係るマルチタスク実行システムによれば、新たに操作主体タスク204-1を生成するとき、操作主体タスク204-1の実行中に操作権限を新たに得る又は放棄するときに、当該操作主体タスク204-1に対してのみ操作対象オブジェクト201-1に対する操作権限を設定すればよいことになるため、既存の操作対象オブジェクト201-1に対する操作権限の見直しという煩雑な操作が必要ではなくなる。   That is, according to the multitask execution system according to the first embodiment of the present invention, when the operation subject task 204-1 is newly generated, the operation authority is newly obtained during the execution of the operation subject task 204-1 or When abandoning, it is only necessary to set the operation authority for the operation target object 201-1 only for the operation subject task 204-1. Therefore, it is complicated to review the operation authority for the existing operation target object 201-1. No need to operate.

(変更例1)
図10及び図11を参照して、本実施形態の変更例1に係るマルチタスク実行システム1について説明する。
(Modification 1)
With reference to FIGS. 10 and 11, a multitask execution system 1 according to the first modification of the present embodiment will be described.

図10に示すように、本変更例に係るマルチタスク実行システム1は、上述の第1の実施形態に係るオペレーティングシステム101に加えて、ユーザのログイン認証処理を行うログインタスク(操作主体タスク)301と、当該ログイン認証処理後に実行されるログインシェルタスク(子タスク)302とを具備している。   As illustrated in FIG. 10, the multitask execution system 1 according to this modification example includes a login task (operation subject task) 301 that performs user login authentication processing in addition to the operating system 101 according to the first embodiment described above. And a login shell task (child task) 302 executed after the login authentication process.

以下、図10及び図11を参照して、本変更例1に係るマルチタスク実行システム1におけるログイン処理(UNIX(登録商標)におけるオペレーティングシステムの例)について説明する。   Hereinafter, a login process (an example of an operating system in UNIX (registered trademark)) in the multitask execution system 1 according to the first modification will be described with reference to FIGS. 10 and 11.

ステップS601において、ユーザが、ユーザ端末のディスプレイ上に表示されたログインプロンプトに対してユーザ名を入力すると、オペレーティングシステム101が、ログイン認証処理を行うためのloginタスク(ログインタスク301)を生成する。   In step S601, when the user inputs a user name in response to a login prompt displayed on the display of the user terminal, the operating system 101 generates a login task (login task 301) for performing login authentication processing.

そして、ユーザが、ユーザ端末のディスプレイ上に表示されたパスワードプロンプトに対してパスワードを入力すると、マルチタスク実行システム1におけるloginタスク301が、入力されたパスワードが当該ユーザのものであるか否かについてパスワードデータベース等を参照することで、当該ユーザのログイン認証処理を行う。   When the user inputs a password in response to the password prompt displayed on the display of the user terminal, the login task 301 in the multitask execution system 1 determines whether or not the input password belongs to the user. By referring to the password database or the like, the login authentication process for the user is performed.

ログイン認証処理が失敗した場合、loginタスク301が、既定の試行回数だけ、パスワードの再入力を求め、その後、全てのログイン認証処理が失敗した場合、本動作は、エラー終了となる。   If the login authentication process fails, the login task 301 requests re-input of the password for the predetermined number of attempts, and if all the login authentication processes fail thereafter, this operation ends in error.

一方、ログイン認証処理が成功した場合、ステップS602において、loginタスク301は、当該ユーザについてのログイン認証処理が完了した旨(認証済情報)を、タスク情報記憶機能105において、ログイン処理後に実行される操作主体タスク用領域に記録する。   On the other hand, if the login authentication process is successful, in step S602, the login task 301 is executed after the login process in the task information storage function 105 to the effect that the login authentication process for the user has been completed (authenticated information). Record in the operation subject task area.

ステップS603において、loginタスクは、forkシステムコールを呼び出すことによって、当該loginタスク自身の内容を複製して子タスクを生成する。   In step S603, the login task creates a child task by copying the content of the login task itself by calling a fork system call.

ステップS604において、生成された子タスクは、execveシステムコール(引数は、ログインシェルタスク)を呼び出すことによって、ログインシェルタスク(初期プログラム、コマンド通訳系プログラム)の実行を開始する。   In step S604, the generated child task starts execution of the login shell task (initial program, command interpreting system program) by calling an execute system call (the argument is a login shell task).

ここで、タスク情報記憶機能107内のログインシェルタスク用領域には、認証済情報が記録されているため、当該ログインシェルタスク及び当該ログインシェルタスクからさらに生成される子タスク(デーモンタスクを除く)は、それ以降、タスク認証機能109による認証処理を要求されることなく自由に権限データを取得できることになるため、一般的なシステム利用形態における利便性が確保されることになる。   Here, since the authenticated information is recorded in the login shell task area in the task information storage function 107, the login shell task and child tasks further generated from the login shell task (excluding the daemon task) Thereafter, authority data can be freely acquired without requiring authentication processing by the task authentication function 109, so that convenience in a general system usage form is ensured.

一方、親タスクであるloginタスクは、ステップS605において、forkシステムコール処理の終了後に、タスク情報記憶機能107に登録されている認証済情報を削除した上で、子タスクであるログインシェルタスクの終了を待機する。   On the other hand, in step S605, the login task that is the parent task deletes the authenticated information registered in the task information storage function 107 after the fork system call processing ends, and then ends the login shell task that is the child task. Wait.

loginタスクが、タスク情報記憶機能107から認証済情報を削除するのは、当該loginタスクが、万一攻撃者に乗っ取られた場合に、マルチタスク実行システム1に悪影響を及ぼす危険性を可能な限り排除するためである。   The reason why the login task deletes the authenticated information from the task information storage function 107 is that if the login task is hijacked by an attacker, the risk of adversely affecting the multitask execution system 1 is as much as possible. This is to eliminate it.

なお、ログイン認証処理として一般的なのは、上述の通り、パスワードを用いた認証処理であるが、本発明は、これらに制限されるものではない。すなわち、本変更例に係るマルチタスク実行システム1は、パスワードそのものではなく、認証済であるか否かという抽象的な情報を保持しているため、スマートカードや公開鍵暗号のような他の認証機構をログイン認証手段として用いるシステムにも容易に適用可能である。   Note that the general login authentication process is an authentication process using a password as described above, but the present invention is not limited thereto. That is, since the multitask execution system 1 according to the present modification example holds not the password itself but abstract information indicating whether or not it is authenticated, other authentication such as smart card or public key encryption is used. The present invention can be easily applied to a system using the mechanism as a login authentication unit.

(変更例2)
図12乃至図14を参照して、本実施形態の変更例2に係るマルチタスク実行システム1について説明する。本変更例2では、操作対象オブジェクトが共に「タスク」となるケースを対象としている。このように、タスクが操作対象オブジェクトとなるケースは、例えば、タスク間通信を実施する際等に見ることができる。図12は、タスクA(204-1)とタスクB(204-2)との間でタスク間通信を行う場合の例について示す。
(Modification 2)
A multitask execution system 1 according to a second modification of the present embodiment will be described with reference to FIGS. In the second modification, the case where the operation target objects are both “tasks” is targeted. As described above, a case where a task is an operation target object can be seen, for example, when performing communication between tasks. FIG. 12 shows an example in which communication between tasks is performed between task A (204-1) and task B (204-2).

本変更例2において、固有鍵生成付与機能103は、タスクA(第1のタスク)204-1及びタスクB(第2のタスク)204-2に対して、タスクAとタスクBとの間のタスク間通信用の固有鍵を生成して付与するように構成されている。   In the second modification example, the unique key generation / granting function 103 determines whether the task A (first task) 204-1 and task B (second task) 204-2 are between task A and task B. A unique key for inter-task communication is generated and assigned.

また、タスクAは、上述の固有鍵を用いて、タスクB用の権限データを暗号化し、暗号化した当該権限データをタスクBに送信するように構成されている。   Further, the task A is configured to encrypt the authority data for the task B using the above-described unique key, and transmit the encrypted authority data to the task B.

また、タスクBは、タスクAから送信された当該権限データを当該固有鍵で復号することができた場合、タスクAが正当なタスクであると判断するように構成されている。   Further, the task B is configured to determine that the task A is a valid task when the authority data transmitted from the task A can be decrypted with the unique key.

以下、図13を参照して、本変更例2に係るマルチタスク実行システム1において、タスクAとタスクBとの間で、タスク間通信が行われる動作について説明する。   Hereinafter, with reference to FIG. 13, an operation in which inter-task communication is performed between the task A and the task B in the multitask execution system 1 according to the second modification will be described.

ステップS701において、タスクA及びタスクBは、固有鍵生成付与機能103によって生成された当該タスク間通信用の固有鍵を取得して、それぞれ固有鍵割当領域205-7及び205-8に保存する。   In step S701, task A and task B acquire the unique key for inter-task communication generated by the unique key generation and grant function 103, and store it in the unique key assignment areas 205-7 and 205-8, respectively.

ステップS702において、タスクA及びタスクBは、権限データ生成機能106によって生成された相手タスク用の権限データを取得し、それぞれ固有鍵割当領域205-7及び205-8に保存する。   In step S702, task A and task B acquire the authority data for the partner task generated by the authority data generation function 106, and store them in the unique key assignment areas 205-7 and 205-8, respectively.

ステップS703において、タスクA及びタスクBは、相手タスクに対する通信データの先頭に、当該相手タスク用の権限データを置く。そして、そのような通信データを受け取ったタスクA及びタスクBは、当該通信データの先頭に置かれた権限データが自身の固有鍵によって正しく検証(復号)できるか否かについて判断する。   In step S703, task A and task B place authority data for the partner task at the head of the communication data for the partner task. Then, the task A and the task B that have received such communication data determine whether or not the authority data placed at the head of the communication data can be correctly verified (decrypted) with its own unique key.

検証(復号)に成功した場合、タスクA及びタスクBは、通信相手が正当なタスクであると判断し、当該通信データについての受信処理を行う。一方、検証(復号)に失敗した場合、タスクA及びタスクBは、通信相手が正当なタスクでないと判断し、当該通信データについて受信処理を行うことなく廃棄する。   When the verification (decryption) is successful, the task A and the task B determine that the communication partner is a valid task, and perform reception processing on the communication data. On the other hand, if verification (decryption) fails, Task A and Task B determine that the communication partner is not a valid task, and discard the communication data without performing reception processing.

本変更例2に係るマルチタスク実行システム1では、権限データの検証作業の実行をタスク自身に委ねることにより、オペレーティングシステムの介在を排除することが可能となる。   In the multitask execution system 1 according to the second modification, it is possible to eliminate the intervention of the operating system by entrusting the execution of authority data verification work to the task itself.

本変更例2に係るマルチタスク実行システム1は、「操作主体はタスクである」、「操作内容はシステムコールではない」、「操作内容は実行されるコンテキストから一意に決まる」という性質を有するため、権限データの内容としては、図14に示すように、「タスクID」及び「有効期間」のみを記述すれば良い。また、既に、操作主体はタスクとして存在しているため、タスクIDにワイルドカードを許容する必要もない。   The multitask execution system 1 according to the second modification example has the properties that “the operation subject is a task”, “the operation content is not a system call”, and “the operation content is uniquely determined from the context in which it is executed”. As the contents of the authority data, only the “task ID” and the “valid period” need be described as shown in FIG. Further, since the operating subject already exists as a task, it is not necessary to allow a wild card for the task ID.

なお、本変更例2に係るマルチタスク実行システム1では、固有鍵が、他のタスクから読み出せないように保持することが必須であり、権限データも、同様に、他のタスクから読み出せないようになっていることが望ましい。   In the multitask execution system 1 according to the second modification example, it is essential to hold the unique key so that it cannot be read from other tasks, and the authority data cannot be read from other tasks as well. It is desirable that

オペレーティングシステムの保護範囲外に存在するタスクのメモリ上に、このような重要データを安全に保管するための方式としては、例えば、特開2004-272816号公報に開示されている保持タスク以外からのメモリへのアクセスを防止する技術等が利用可能である。   As a method for safely storing such important data on the memory of a task that exists outside the protection range of the operating system, for example, a method other than the holding task disclosed in Japanese Patent Application Laid-Open No. 2004-272816 can be used. A technique for preventing access to the memory can be used.

本発明の第1の実施形態に係るマルチタスク実行システムの全体構成図である。1 is an overall configuration diagram of a multitask execution system according to a first embodiment of the present invention. 本発明の第1の実施形態に係るマルチタスク実行システムにおける鍵の生成方法の一例を説明するための図である。It is a figure for demonstrating an example of the production | generation method of the key in the multitask execution system which concerns on the 1st Embodiment of this invention. 本発明の第1の実施形態に係るマルチタスク実行システムの権限データの一例を示す図である。It is a figure which shows an example of the authority data of the multitask execution system which concerns on the 1st Embodiment of this invention. 本発明の第1の実施形態に係るマルチタスク実行システムのタスク情報保存機能における記憶内容の一例を示す図である。It is a figure which shows an example of the memory content in the task information storage function of the multitask execution system which concerns on the 1st Embodiment of this invention. 本発明の第1の実施形態に係るマルチタスク実行システムにおいて、権限データ生成要求を処理する動作を示すフローチャートである。5 is a flowchart showing an operation of processing an authority data generation request in the multitask execution system according to the first embodiment of the present invention. 本発明の第1の実施形態に係るマルチタスク実行システムにおけるタスク認証機能の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the task authentication function in the multitask execution system which concerns on the 1st Embodiment of this invention. 本発明の第1の実施形態に係るマルチタスク実行システムにおいて、システムコールを処理する動作を示すフローチャートである。5 is a flowchart showing an operation for processing a system call in the multitask execution system according to the first embodiment of the present invention. 本発明の第1の実施形態に係るマルチタスク実行システムにおいて、システムコールを処理する動作を示すフローチャートである。5 is a flowchart showing an operation for processing a system call in the multitask execution system according to the first embodiment of the present invention. 本発明の第1の実施形態に係るマルチタスク実行システムにおいて、デーモンタスクを生成する際の動作を示すフローチャートである。It is a flowchart which shows the operation | movement at the time of producing | generating a daemon task in the multitask execution system which concerns on the 1st Embodiment of this invention. 本発明の変更例1に係るマルチタスク実行システムの全体構成図である。It is a whole block diagram of the multitask execution system which concerns on the example 1 of a change of this invention. 本発明の変更例1に係るマルチタスク実行システムの動作を示すフローチャートである。It is a flowchart which shows operation | movement of the multitask execution system which concerns on the example 1 of a change of this invention. 本発明の変更例2に係るマルチタスク実行システムの全体構成図である。It is a whole block diagram of the multitask execution system which concerns on the modification 2 of this invention. 本発明の変更例2に係るマルチタスク実行システムの動作を示すフローチャートである。It is a flowchart which shows operation | movement of the multitask execution system which concerns on the modification 2 of this invention. 本発明の変更例2に係るマルチタスク実行システムにおける権限データの一例を示す図である。It is a figure which shows an example of the authority data in the multitask execution system which concerns on the example 2 of a change of this invention.

符号の説明Explanation of symbols

1…マルチタスク実行システム
101…オペレーティングシステム
102…擬似乱数生成機能
103…固有鍵生成付与機能
104…システムコール処理機能
105…権限データ確認機能
106…権限データ生成機能
107…タスク情報記憶機能
108…権限データ保存機能
109…タスク認証機能
110…認証情報継承機能
201…ファイル
202…メモリ領域
203…ソケット
204…タスク
205…固有鍵割当領域
DESCRIPTION OF SYMBOLS 1 ... Multitask execution system 101 ... Operating system 102 ... Pseudorandom number generation function 103 ... Unique key generation grant function 104 ... System call processing function 105 ... Authority data confirmation function 106 ... Authority data generation function 107 ... Task information storage function 108 ... Authority Data storage function 109 ... task authentication function 110 ... authentication information inheritance function 201 ... file 202 ... memory area 203 ... socket 204 ... task 205 ... unique key allocation area

Claims (14)

操作対象オブジェクトに対して固有鍵を生成して付与する固有鍵生成付与機能と、
前記操作対象オブジェクトに対する操作を行うためのシステムコールが操作主体タスクによって呼び出された場合、前記固有鍵を用いて該操作主体タスクの権限データを復号し、復号した該権限データに基づいて該システムコールを実行することができるか否かについて判断する権限データ確認機能とを具備することを特徴とするマルチタスク実行システム。
A unique key generation and grant function for generating and assigning a unique key to the operation target object;
When a system call for performing an operation on the operation target object is called by an operation subject task, the authority data of the operation subject task is decrypted using the unique key, and the system call is based on the decrypted authority data. A multi-task execution system comprising: an authority data confirmation function for determining whether or not it can be executed.
前記操作主体タスクからの権限データ生成要求に応じて、該操作主体タスクについての認証処理を行うタスク認証機能と、
前記認証処理結果に基づいて前記権限データを生成する権限データ生成機能とを具備することを特徴とする請求項1に記載のマルチタスク実行システム。
A task authentication function for performing an authentication process for the operation subject task in response to the authority data generation request from the operation subject task;
The multitask execution system according to claim 1, further comprising an authority data generation function that generates the authority data based on the authentication processing result.
前記操作主体タスクについての認証処理が行われているか否かについて管理するタスク情報記憶機能を具備し、
前記タスク認証機能は、前記タスク情報記憶機能を参照して、前記操作主体タスクについての認証処理が行われていない場合に、該操作主体タスクについての認証処理を行うように構成されていることを特徴とする請求項2に記載のマルチタスク実行システム。
A task information storage function for managing whether or not authentication processing for the operation subject task is performed;
The task authentication function is configured to refer to the task information storage function and perform authentication processing for the operation subject task when authentication processing for the operation subject task is not performed. The multitask execution system according to claim 2, wherein:
前記タスク認証機能は、前記操作主体タスクについての認証処理が行われている場合、該操作主体タスクの子タスクについての認証処理を行わないように構成されていることを特徴とする請求項3に記載のマルチタスク実行システム。   The task authentication function is configured such that when authentication processing is performed on the operation subject task, authentication processing is not performed on a child task of the operation subject task. The multitask execution system described. 前記操作主体タスクは、ユーザのログイン認証処理を行うログインタスクであり、前記子タスクは、前記ログイン認証処理後に実行されるログインシェルタスクであることを特徴とする請求項4に記載のマルチタスク実行システム。   5. The multitask execution according to claim 4, wherein the operation subject task is a login task that performs a login authentication process of a user, and the child task is a login shell task that is executed after the login authentication process. system. 前記権限データ確認機能は、第1の条件に基づいて前記システムコールを実行することができると判断された場合に、前記権限データに基づいて該システムコールを実行することができるか否かについて判断するように構成されていることを特徴とする請求項1に記載のマルチタスク実行システム。   The authority data confirmation function determines whether or not the system call can be executed based on the authority data when it is determined that the system call can be executed based on the first condition. The multitask execution system according to claim 1, wherein the multitask execution system is configured to do so. 前記権限データ確認機能によって、前記権限データに基づいて前記システムコールを実行することができると判断された場合に、第2の条件に基づいて該システムコールを実行することができるか否かについて判断するシステムコール処理機能を具備することを特徴とする請求項1に記載のマルチタスク実行システム。   When it is determined by the authority data confirmation function that the system call can be executed based on the authority data, it is determined whether the system call can be executed based on a second condition. The multitask execution system according to claim 1, further comprising a system call processing function. 前記タスク情報記憶機能は、ユーザ制御から独立して動作するタスクに対しては、該タスクについての認証処理が行われているか否かについて管理しないように構成されていることを特徴とする請求項3に記載のマルチタスク実行システム。   The task information storage function is configured not to manage whether or not an authentication process is performed for a task that operates independently of user control. 4. The multitask execution system according to 3. 前記固有鍵生成付与機能は、前記固有鍵として、共通鍵暗号アルゴリズムで用いられる共通鍵を生成するように構成されている請求項1に記載のマルチタスク実行システム。   The multitask execution system according to claim 1, wherein the unique key generation / giving function is configured to generate a common key used in a common key encryption algorithm as the unique key. 前記固有鍵生成付与機能は、前記固有鍵として、公開鍵暗号アルゴリズムで用いられる公開鍵及び秘密鍵のペアを生成するように構成されている請求項1に記載のマルチタスク実行システム。   The multitask execution system according to claim 1, wherein the unique key generation / giving function is configured to generate, as the unique key, a pair of a public key and a secret key used in a public key encryption algorithm. 前記権限データとして、前記操作主体タスクを識別するタスクIDと、前記システムコールを識別するシステムコールIDと、前記システムコールにおける操作モードと、前記権限データの有効期間を設定することができることを特徴とする請求項1に記載のマルチタスク実行システム。   As the authority data, a task ID for identifying the operation subject task, a system call ID for identifying the system call, an operation mode in the system call, and a validity period of the authority data can be set. The multitask execution system according to claim 1. 第1のタスク及び第2のタスクに対して固有鍵を生成して付与する固有鍵生成付与機能を具備しており、
前記第1のタスクは、前記固有鍵を用いて該第2のタスク用の権限データを暗号化し、暗号化した該権限データを該第2のタスクに送信するように構成されており、
前記第2のタスクは、前記第1のタスクから送信された前記権限データを前記固有鍵で復号することができた場合、該第1のタスクが正当なタスクであると判断するように構成されていることを特徴とするマルチタスク実行システム。
It has a unique key generation / grant function that generates and grants unique keys to the first task and the second task,
The first task is configured to encrypt the authority data for the second task using the unique key, and transmit the encrypted authority data to the second task,
The second task is configured to determine that the first task is a valid task when the authority data transmitted from the first task can be decrypted with the unique key. A multitask execution system characterized by
オペレーティングシステムにおいて、操作対象オブジェクトに対して固有鍵を生成して付与する工程と、
前記オペレーティングシステムにおいて、前記操作対象オブジェクトに対する操作を行うためのシステムコールが操作主体タスクによって呼び出された場合、前記固有鍵を用いて該操作主体タスクの権限データを復号し、復号した該権限データに基づいて該システムコールを実行することができるか否かについて判断する工程とを有することを特徴とするマルチタスク実行方法。
In the operating system, generating and assigning a unique key to the operation target object;
In the operating system, when a system call for performing an operation on the operation target object is called by an operation subject task, the authority data of the operation subject task is decrypted using the unique key, and the decrypted authority data is And a step of determining whether or not the system call can be executed based on the method.
オペレーティングシステムにおいて、第1のタスク及び第2のタスクに対して固有鍵を生成して付与する工程と、
前記第1のタスクにおいて、前記固有鍵を用いて該第2のタスク用の権限データを暗号化し、暗号化した該権限データを該第2のタスクに送信する工程と、
前記第2のタスクにおいて、前記第1のタスクから送信された前記権限データを前記固有鍵で復号することができた場合、該第1のタスクが正当なタスクであると判断する工程とを有することを特徴とするマルチタスク実行方法。
In the operating system, generating and assigning a unique key to the first task and the second task;
In the first task, encrypting the authority data for the second task using the unique key, and transmitting the encrypted authority data to the second task;
In the second task, when the authority data transmitted from the first task can be decrypted with the unique key, the step of determining that the first task is a valid task is included. A multitask execution method characterized by the above.
JP2005001026A 2005-01-05 2005-01-05 Multitask execution system and multitask execution method Pending JP2006190050A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005001026A JP2006190050A (en) 2005-01-05 2005-01-05 Multitask execution system and multitask execution method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005001026A JP2006190050A (en) 2005-01-05 2005-01-05 Multitask execution system and multitask execution method

Publications (1)

Publication Number Publication Date
JP2006190050A true JP2006190050A (en) 2006-07-20

Family

ID=36797196

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005001026A Pending JP2006190050A (en) 2005-01-05 2005-01-05 Multitask execution system and multitask execution method

Country Status (1)

Country Link
JP (1) JP2006190050A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008027306A (en) * 2006-07-24 2008-02-07 Aplix Corp User space virtualization system
JP2009032187A (en) * 2007-07-30 2009-02-12 Canon Inc Print device, print control method, and computer program
JP2010176167A (en) * 2009-01-27 2010-08-12 Fujitsu Ltd Program for detecting least privilege violation
US8312779B2 (en) 2006-07-06 2012-11-20 Thorsten Meiss Force sensor for the detection of a force vector
JP2014149727A (en) * 2013-02-01 2014-08-21 Konica Minolta Inc Image forming apparatus and control method of image forming apparatus
CN112799799A (en) * 2020-12-29 2021-05-14 杭州涂鸦信息技术有限公司 Data consumption method and device

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8312779B2 (en) 2006-07-06 2012-11-20 Thorsten Meiss Force sensor for the detection of a force vector
JP2008027306A (en) * 2006-07-24 2008-02-07 Aplix Corp User space virtualization system
JP2009032187A (en) * 2007-07-30 2009-02-12 Canon Inc Print device, print control method, and computer program
US8477341B2 (en) 2007-07-30 2013-07-02 Canon Kabushiki Kaisha Printing apparatus and method of controlling printing
JP2010176167A (en) * 2009-01-27 2010-08-12 Fujitsu Ltd Program for detecting least privilege violation
JP2014149727A (en) * 2013-02-01 2014-08-21 Konica Minolta Inc Image forming apparatus and control method of image forming apparatus
CN112799799A (en) * 2020-12-29 2021-05-14 杭州涂鸦信息技术有限公司 Data consumption method and device

Similar Documents

Publication Publication Date Title
CN109923548B (en) Method, system and computer program product for implementing data protection by supervising process access to encrypted data
US11290446B2 (en) Access to data stored in a cloud
KR101522445B1 (en) Client computer for protecting confidential file, server computer therefor, method therefor, and computer program
US20110016330A1 (en) Information leak prevention device, and method and program thereof
US20070074038A1 (en) Method, apparatus and program storage device for providing a secure password manager
EP3887979A1 (en) Personalized and cryptographically secure access control in operating systems
JP2005535945A (en) How to protect the integrity of a computer program
US8953805B2 (en) Authentication information generating system, authentication information generating method, client apparatus, and authentication information generating program for implementing the method
KR20100133953A (en) System and method for securing data
JPH1185622A (en) Protection memory for core data secret item
JP2006344212A (en) Securely printing of electronic document
CN103246850A (en) Method and device for processing file
JPWO2013080659A1 (en) Confidential information leakage prevention system, confidential information leakage prevention method, and program
US10164980B1 (en) Method and apparatus for sharing data from a secured environment
US20150143107A1 (en) Data security tools for shared data
RU2546585C2 (en) System and method of providing application access rights to computer files
US10623400B2 (en) Method and device for credential and data protection
JP2006228139A (en) Security management system
JP2008160485A (en) Document management system, document managing method, document management server, work terminal, and program
JP2005222155A (en) Secret document management device, secret document management method, and secret document management program
US20150286839A1 (en) Methods, systems, and apparatus to protect content based on persona
JP2006190050A (en) Multitask execution system and multitask execution method
KR20110128371A (en) Mobile authentication system and central control system, and the method of operating them for mobile clients
JP2007188307A (en) Data file monitor apparatus
JP2007179357A (en) Method for installing computer program