WO2019012625A1 - 権限判定システム、セキュアデバイス、判定装置、権限管理方法及び権限判定プログラム - Google Patents

権限判定システム、セキュアデバイス、判定装置、権限管理方法及び権限判定プログラム Download PDF

Info

Publication number
WO2019012625A1
WO2019012625A1 PCT/JP2017/025414 JP2017025414W WO2019012625A1 WO 2019012625 A1 WO2019012625 A1 WO 2019012625A1 JP 2017025414 W JP2017025414 W JP 2017025414W WO 2019012625 A1 WO2019012625 A1 WO 2019012625A1
Authority
WO
WIPO (PCT)
Prior art keywords
secure space
area
secure
authority
space
Prior art date
Application number
PCT/JP2017/025414
Other languages
English (en)
French (fr)
Inventor
亮 濱本
貴之 佐々木
Original Assignee
日本電気株式会社
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 日本電気株式会社 filed Critical 日本電気株式会社
Priority to US16/630,056 priority Critical patent/US20200293695A1/en
Priority to JP2019529373A priority patent/JP6721125B2/ja
Priority to PCT/JP2017/025414 priority patent/WO2019012625A1/ja
Publication of WO2019012625A1 publication Critical patent/WO2019012625A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/145Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being virtual, e.g. for virtual blocks or segments before a translation mechanism
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/74Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/86Secure or tamper-resistant housings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1052Security improvement

Definitions

  • the present invention relates to an authority determination system that determines and controls an authority of a secure space, a secure device, a determination device, an authority management method, and an authority determination program.
  • IoT Internet of Things
  • embedded devices connected on the network are increasing. Therefore, measures against fraud such as tampering with device information are becoming increasingly important.
  • a security measure is implemented by TEE (Trusted Execution Environment).
  • TEE Trusted Execution Environment
  • a memory space in which the user can not directly access is constructed to implement confidential information and security processing in the secure space.
  • Intel SGX Software Guard eXtentions
  • ARM TrustZone etc. may be mentioned. Note that Intel, ARM and TrustZone are registered trademarks.
  • Patent Document 1 describes a method for preventing an unauthorized person from accessing a program of a microprocessor having confidential information.
  • the main storage memory is classified into a secure area and a non-secure area, and the secure area is further subdivided into areas such as a secure common area, a secure boot area, and a secure application instruction area. .
  • the normal read / write operation is permitted for authorized access, otherwise, the access restriction is implemented such that the write / read operation fails. Ru.
  • Patent Document 2 describes a data processing apparatus using domains with different security. And, Patent Document 2 describes that the programming code is executed in each of the lowest security domain, the security domain and the highest security domain, and different levels of security data can be accessed depending on the domain.
  • the privileges set in the secure space are generally small in number and often low in order to prevent operations by the process.
  • TEE time since a malicious process is implemented in a secure space
  • the privileges set in the secure space are generally small in number and often low in order to prevent operations by the process.
  • only one type of function authority is implemented in the secure space for security.
  • the least privilege of Ring 3 is granted to the secure space.
  • a device driver for operating an input device such as a sensor or a keyboard and an output device such as an actuator or a display is implemented outside the secure space. This is because the device driver can not be used directly in the secure space. However, outside the secure space, it can be said that security is low and it is exposed to the threat of tampering. Therefore, if the driver is tampered with, there is a problem that the input / output device of the device does not operate properly.
  • Patent Document 1 targets only the read / write operation of the area. As such, it does not take into consideration that it can be implemented to secure the operation of the device.
  • the present invention is an authority determination system capable of constructing a secure channel (path) between an input / output device and a secure space by improving the degree of freedom in design while maintaining the security of the secure space.
  • Secure device, determination device, authority management method, and authority determination program capable of constructing a secure channel (path) between an input / output device and a secure space by improving the degree of freedom in design while maintaining the security of the secure space.
  • the authority determination system comprises a device including a memory space having a secure space, a determination device arranged in the secure space to determine the authority in the area of the secure space, and a determination device arranged in the secure space
  • a policy storage unit storing a policy that defines at least one of the access right and the right to execute the function placed in the area; and access to the secure space and execution of the function in the secure space via the determination device It is characterized in that the determination device controls access and execution to the secure space based on the policy.
  • a secure device is a secure device including a memory space having a secure space, the secure device being disposed in the secure space, determining apparatus for determining the authority in the area of the secure space, and disposed in the secure space
  • a policy storage unit storing a policy that defines at least one of access right to access and right to execute function located in an area, and a determination device for accessing the secure space and executing the function in the secure space
  • the determination device is characterized by controlling access and execution to the secure space based on the policy.
  • the determination device is a determination device disposed in a secure space in a memory space of a device, and access to the secure space and execution of a function in the secure space are performed via the determination device, and secure
  • the authority in the area of the secure space is determined based on a policy that defines the authority of the area allocated in the space and at least one of the access right to the area in the secure space and the execution right of the function arranged in the area. It is characterized by controlling access to space and execution.
  • An authority management method is a authority management method of a secure device including a memory space having a secure space, wherein a determination device disposed in the secure space and determining the authority in the area of the secure space is in the secure space. Control access to and execution of the secure space based on a policy that is located in the area and that defines at least one of the access right to the area of the secure space and the execution right of the function located in the area , And the execution of the function in the secure space are performed through the determination device.
  • the authority determination program is an authority determination program applied to a computer disposed in a secure space in a memory space of a device, and access to the secure space and execution of functions in the secure space are performed by the computer. Based on a policy that defines at least one of the access right to the area in the secure space and the execution right of the function placed in the area. A process of determining an authority in the area and a process of controlling access and execution to the secure space are performed.
  • a secure channel can be constructed between the input / output device and the secure space by improving the degree of freedom of design while maintaining the security of the secure space.
  • FIG. 1 is a block diagram illustrating an embodiment of an authority determination system according to the present invention. It is an explanatory view showing an example of a device. It is an explanatory view showing an example of a memory space of a device. It is explanatory drawing which shows the example of the policy by which the authority of each area
  • FIG. 1 is a block diagram illustrating an overview of a secure device according to the present invention. It is a block diagram which shows the outline
  • FIG. 1 is a block diagram showing an embodiment of an authority determination system according to the present invention.
  • the authority determination system 100 of the present embodiment is realized by the device 10 including the memory space 20.
  • the device 10 securely manages the memory space 20 by a function to be described later, so that the device 10 for realizing the authority determination system 100 of the present embodiment can be called a secure device.
  • Memory space 20 has non-secure space 30 and secure space 40.
  • the non-secure space 30 is a freely accessible memory space that is not particularly provided with external access restrictions and function execution restrictions.
  • the secure space 40 is a memory space provided with certain limitations on external access and function execution. In the present embodiment, the secure space 40 is a memory space accessible only via the determination device 42 described later.
  • the non-secure space 30 and the secure space 40 are each represented as one space.
  • the non-secure space 30 and the secure space 40 do not have to be realized in one space, but may be realized in two or more spaces.
  • the secure space 40 is divided into one or more areas (Enclave).
  • the authority is set in each area.
  • information indicating what can be performed is set.
  • the area may be described as an address of a memory space or a partial space of the memory space.
  • the authority determination system 100 includes a policy storage unit 41 and a determination device 42.
  • the policy storage unit 41 and the determination device 42 are both arranged in the secure space 40.
  • FIG. 2 is an explanatory view showing an example of the device 10 of the present embodiment.
  • the device 10 assumed in this embodiment is one (single) IoT device, and is equipped with a tamper-resistant hardware level security function.
  • the device 10 further includes a process 11 for generating data D11, and an input / output device (actuator as an example in FIG. 2) 12 operated based on the data D11 generated by the process 11, or connected to the process 11. Including.
  • the data D11 generated by the process 11 includes not only mere numerical values and character strings but also instruction commands to the input / output device 12.
  • the process 11 is, for example, a CPU of a computer that operates according to a program or code.
  • the input / output device 12 is a part operated by an operation, and examples thereof include a motor driven by control by a device driver.
  • the device 10 may include a plurality of processes 11 and input / output devices 12.
  • the data D12 transmitted to the outside from the device 10 and the data D13 transmitted to the device 10 from the outside are not targets of control.
  • FIG. 3 is an explanatory view showing an example of the memory space 20 of the device 10.
  • the memory space 20 illustrated in FIG. 2 has a non-secure space 30 and a secure space 40 realized by TEE.
  • a code or program (hereinafter simply referred to as an actuator interface) for realizing an input / output device interface (actuator interface as an example in FIG.
  • a code or program (hereinafter, simply referred to as a data transmission / reception function) for realizing the data transmission / reception function 30b for exchanging data between the secure space and the non-secure space.
  • the actuator interface and the data transmission / reception function are not particularly limited in execution.
  • the secure space 40 illustrated in FIG. 3 has two areas R1 and R2 (Enclave 1 and Enclave 2). Then, low authority is set in the area R1, and medium authority is set in the area R2.
  • an encryption key 40a in the area R1, an encryption key 40a, a code or program for realizing the authentication function 40b (hereinafter simply referred to as the authentication function 40b), and a data tampering detection signature generation / verification function 40c.
  • a code or program to be realized hereinafter simply referred to as data tampering detection signature generation / verification function 40c) is disposed.
  • a device driver 40d for an input / output device an actuator as an example in FIG. 3
  • a code or program for realizing the data generation function 40e (hereinafter simply referred to as data generation function 40e) are arranged. It is done.
  • “arrangement of functions in an area” specifically means that a code or program for realizing the functions is held in the area.
  • the policy storage unit 41 stores a policy that defines the access authority to each area in the secure space 40.
  • the policy storage unit 41 stores a policy that defines the execution authority of the function arranged in each area in the secure space 40.
  • the policy storage unit 41 may store only one of the access authority and the execution authority, or may store both the access authority and the execution authority.
  • FIG. 4 is an explanatory view showing an example of a policy in which the authority of each area is defined.
  • different access authorities are set in the two areas.
  • the access right of Rank 3 is set in the area R1 (Enclave 1)
  • the access right of Rank 2 is set in the area R2 (Enclave 2).
  • the access right to set the area to “Default” may be defined in the policy.
  • the contents that can be executed according to the rank of the access authority are determined in advance.
  • FIG. 5 is an explanatory view showing another example of the defined policy.
  • a policy may be defined such that an Enclave permits or denies access to the function of a certain device (for example, a display device). Even in this case, a policy may be defined in which the area is "Default".
  • FIG. 6 is an explanatory view showing an example of a policy in which the authority of each function is defined.
  • the authority to execute Rank 3 is set to the authentication function
  • the authority to execute Rank 2 is set to the device driver
  • the authority to Rank 3 is set to the encryption key.
  • the device driver can be executed even from within Enclave.
  • the execution authority to set the target to “Default” may be defined in the policy.
  • FIG. 7 is an explanatory view showing another example of the defined policy.
  • a policy may be defined such that the function of one device permits access to the function (for example, the actuator) of another device but does not permit it. . Even in this case, a policy in which the function of the access source is "Default" may be defined.
  • the determination device 42 determines the authority in each area of the secure space. As described above, the determination device 42 is disposed in the secure space 40. Then, in the present embodiment, access to the secure space 40 and execution of functions in the secure space 40 are performed via the determination device 42. For example, in the example illustrated in FIG. 3, an instruction transmitted from the non-secure space 30 via the bus 43 is received by the determination device 42. That is, when the secure space 40 is accessed from the non-secure space 30 (memory space outside the secure space 40), the determination device 42 is always passed through.
  • the determination device 42 controls access and execution of the secure space 40 based on the policy stored in the policy storage unit 41. For example, if it is determined that there is no authority to access or execute the secure space 40, the determination device 42 may discard the request for the access or execution or may return to the request source that the authority is not authorized. .
  • the determination device 42 reads from the area of the secure space 40, writes to the area of the secure space 40, and executes the code or program stored in the area according to the authority indicated by the determination result based on the policy, for example. I do.
  • the determination device 42 controls access and execution to the secure space 40, the determination device 42 (and the policy storage unit 41) has the highest authority set in the secure space. For example, when the secure space is realized by TEE, the highest authority among the authorities set in TEE is set in the determination device 42 (and the policy storage unit 41).
  • the determination device 42 may be realized, for example, as an extended function of the CPU. That is, the determination device 42 may be realized by the CPU of a computer that operates according to a program (authority determination program). For example, a program may be stored in the policy storage unit 41, and the CPU may read the program and operate as the determination device 42 according to the program.
  • a program may be stored in the policy storage unit 41, and the CPU may read the program and operate as the determination device 42 according to the program.
  • the determination device 42 may be realized by dedicated hardware, or may be implemented as software on TEE dedicated to the determination device 42.
  • the determination device 42 may be disposed in any one of the plurality of secure spaces 40. Further, the determination device 42 and the policy storage unit 41 corresponding to each of the plurality of secure spaces may be arranged.
  • the policy storage unit 41 is realized by a storage (not shown) included in the device 10, a RAM (Random Access Memory) of the device 10, and the like. Note that the RAM here may be a dedicated RAM, or a part of the commonly used RAM may be cut out for policy storage.
  • FIG. 8 is a flowchart showing an operation example of the authority determination system 100 of the present embodiment.
  • the determination device 42 receives the access request to the secure space 40 (step S11).
  • the determination device 42 compares the content of the access request and the policy (step S12), and determines the authority of the secure space.
  • the determination device 42 executes the access request (step S14).
  • the determination device 42 discards the access request (step S15). In step S15, the determination device 42 may notify the user that access is not possible.
  • access to the secure space 40 and execution of the function in the secure space 40 are performed via the determination device 42, and the determination device 42 is also disposed in the secure space 40. Then, the determination device 42 determines the authority in the area of the secure space 40 based on a policy that defines at least one of the access right to the area of the secure space 40 and the execution authority of the function arranged in the area. , Control access to and execution of the secure space.
  • the degree of freedom in design can be improved while maintaining the security of the secure space. That is, in this embodiment, since the authority of the secure space can be set individually and stepwise for each area of the secure space, the trade-off that occurs between security and freedom of design can be solved, and as a result, input and output It becomes possible to establish a secure channel between the device and the secure space.
  • the device driver by raising the authority of the secure space in which the device driver is implemented, it becomes possible to allow direct access even within the secure space.
  • the device driver by arranging the device driver in the secure space, it is possible to prevent falsification of the device driver and operate the input / output device (actuator) as illustrated in FIG. 2 correctly. That is, the process 11 illustrated in FIG. 2 to the operation of the actual input / output device (actuator) 12 can be implemented more flexibly and securely, and a secure channel can be established between the input / output device and the secure space.
  • FIG. 9 is a block diagram showing an outline of the authority determination system according to the present invention.
  • the authority determination system 80 is arranged in a secure space (e.g. the device 10) including a memory space (e.g. the memory space 20) having the secure space (e.g. the secure space 40), and the secure space
  • a determination device 82 for example, determination device 42 for determining the authority in the area of the space, and at least one of the authority for access to the area and the execution authority for the function disposed in the area and arranged in the area are defined.
  • a policy storage unit 83 for example, a policy storage unit 41 for storing a policy.
  • Access to the secure space and execution of functions in the secure space are performed via the determination device 82, which controls access and execution to the secure space based on the policy.
  • a secure channel can be constructed between the input / output device and the secure space by improving the degree of freedom of design while maintaining the security of the secure space.
  • the policy storage unit 83 may store a policy that defines at least one of the stepwise access authority for each area in the secure space and the stepwise execution authority for each function arranged in the area.
  • the secure space is tamper-resistant, and the determination device 82 has the highest authority set in the tamper-resistant secure space.
  • the determination device 82 may read from the area of the secure space, write to the area, or execute a code or a program stored in the area according to the authority indicated by the determination result.
  • the memory space may have a plurality of secure spaces. Then, the determination device 42 may be disposed in any one of a plurality of secure spaces.
  • FIG. 10 is a block diagram showing an overview of a secure device according to the present invention.
  • a secure device 90 according to the present invention is a secure device (e.g. device 10) including a memory space (e.g. memory space 20) having a secure space (e.g. secure space 40) and is arranged in the secure space
  • a determination device 91 for example, determination device 42
  • a policy storage unit 92 for example, a policy storage unit 41 for storing the selected policy.
  • the access to the secure space and the execution of the function in the secure space are performed through the determination device 91, and the determination device 91 controls the access and the execution to the secure space based on the policy.
  • Such a configuration can also improve the freedom of design while maintaining the security of the secure space.
  • the policy storage unit 92 may store a policy that defines at least one of the stepwise access authority for each area in the secure space and the stepwise execution authority for each function arranged in the area.
  • FIG. 11 is a block diagram showing an outline of a determination apparatus according to the present invention.
  • the determination apparatus 70 according to the present invention is a determination apparatus (for example, determination apparatus 42) disposed in a secure space (for example, secure space 40) in a memory space (for example, memory space 20) of a device (for example, device 10).
  • the access to the secure space and the execution of the function in the secure space are performed via the determination device 70.
  • the determination device 70 determines the area of the secure space And control access to and execution of its secure space.
  • Such a configuration can also improve the freedom of design while maintaining the security of the secure space.
  • a device including a memory space having a secure space, a determination device disposed in the secure space, and determining an authority in the area of the secure space, and a device disposed in the secure space and accessing the area
  • a policy storage unit storing a policy that defines at least one of the right and the right to execute the function arranged in the area, and the determination as to the access to the secure space and the execution of the function in the secure space is performed
  • An authority determination system which is performed via an apparatus, and wherein the determination apparatus controls access and execution of the secure space based on the policy.
  • the policy storage unit stores a policy that defines at least one of the stepwise access authority for each area in the secure space and the stepwise execution authority for each function arranged in the area. Authority determination system.
  • the determination apparatus performs reading from the area of the secure space, writing to the area, or execution of a code or a program stored in the area according to the authority indicated by the determination result.
  • the authority determination system described in any one of three.
  • the memory space includes a plurality of secure spaces, and the determination device is disposed in any one of the plurality of secure spaces.
  • the authority according to any one of supplementary notes 1 to 4 Judgment system.
  • a secure device including a memory space having a secure space, the determination device being disposed in the secure space and determining the authority in the area of the secure space, and being disposed in the secure space
  • a policy storage unit storing a policy that defines at least one of the access right to the access and the right to execute the function placed in the area, and accessing the secure space and executing the function in the secure space
  • a secure device which is performed via the determination device, and the determination device controls access and execution of the secure space based on the policy.
  • the policy storage unit stores a policy that defines at least one of the stepwise access authority for each area in the secure space and the stepwise execution authority for each function arranged in the area. Secure device.
  • a determination device disposed in a secure space in a memory space of a device, wherein access to the secure space and execution of a function in the secure space are performed via the determination device, and the secure The authority in the area of the secure space is determined based on a policy disposed in the space and defining at least one of the access right to the area in the secure space and the execution authority of the function arranged in the area;
  • a determination apparatus characterized by controlling access and execution to the secure space.
  • a method of managing authority of a device including a memory space having a secure space, wherein a determination device disposed in the secure space and determining the authority in the area of the secure space is disposed in the secure space Controlling access to and execution of the secure space based on a policy defining at least one of the access authority to the area of the secure space and the authority to execute the function placed in the area;
  • An authority management method characterized in that access and execution of functions in the secure space are performed via the determination device.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)

Abstract

デバイス81は、セキュア空間を有するメモリ空間を含む。判定装置82は、セキュア空間内に配置され、そのセキュア空間の領域における権限を判定する。ポリシ記憶部83は、セキュア空間内に配置され、領域へのアクセス権限および領域に配置された機能の実行権限の少なくとも一方の権限を規定したポリシを記憶する。セキュア空間へのアクセス及びセキュア空間での機能の実行は、判定装置82を介して行われ、判定装置82は、ポリシに基づいて、セキュア空間に対するアクセス及び実行を制御する。

Description

権限判定システム、セキュアデバイス、判定装置、権限管理方法及び権限判定プログラム
 本発明は、セキュア空間の権限を判定して制御する権限判定システム、セキュアデバイス、判定装置、権限管理方法及び権限判定プログラムに関する。
 IoT(Internet of Things)の普及に伴い、ネットワーク上に接続される組み込み機器が増加している。そのため、機器情報の改ざんなど、不正行為への対策がますます重要になっている。
 このような不正行為を防止するための方法が各種知られている。ハードウェアレベルでは、例えば、TEE(Trusted Execution Environment )によるセキュリティ対策が行われている。また、ユーザが直接アクセスできないメモリ空間を構築して、セキュア空間内に機密情報やセキュリティ処理を実装することも行われている。具体的には、Intel SGX(Software Guard eXtentions )や、ARM TrustZoneなどが挙げられる。なお、Intel、ARMおよびTrustZoneは、登録商標である。
 また、特許文献1には、機密情報を有するマイクロプロセッサのプログラムに対して、権限のない者がアクセスする行為を阻止する方法が記載されている。特許文献1に記載された方法では、主記憶メモリが、セキュア領域と非セキュア領域に分類され、セキュア領域が、さらにセキュア共通領域、セキュアブート領域、セキュアアプリ命令領域等の領域に細分化される。そして、細分化した領域の定義に従って、権限のあるアクセスに対しては通常通りのリード・ライト動作を許容し、そうでない場合には、ライト・リード動作が失敗に終わるようにアクセス制限が実施される。
 また、特許文献2には、安全性の異なるドメインを使用するデータ処理装置が記載されている。そして、特許文献2には、最低安全ドメイン、安全ドメイン、及び最高安全ドメインそれぞれでプログラミング・コードが実行され、ドメインに応じて、異なるレベルの安全データにアクセスできることが記載されている。
特開2010-134572号公報 特表2015-534689号公報
 悪意あるプロセスがセキュア空間に実装された際、そのプロセスによる動作を防ぐため、セキュア空間に設定されている権限は一般に種類が少なく、低いものが多い。例えば、上述するTEEでは、安全のため、セキュア空間へ実装されている機能の権限は1種類のみである。また、SGXでは、最低権限であるRing3の権限がセキュア空間に付与される。
 一方、一般的なデバイスの設計を考えると、自由度よりも安全性に重きを置くため、デバイス設計時の自由度が低下する。すなわち、設計の自由度と安全性とはトレードオフの関係にあるため、ある程度の権限が必要になる機能は、セキュア空間外に実装されることになる。
 例えば、一般的なデバイス設計の場合、センサやキーボードなどの入力装置、アクチュエータやディスプレイなどの出力装置を動作させるデバイスドライバは、セキュア空間外に実装される。セキュア空間では、直接デバイスドライバを利用できないからである。しかし、セキュア空間外は、セキュリティが低く、改ざんの脅威にさらされていると言える。そのため、ドライバが改ざんされた場合、デバイスの入出力装置が正しく動作しなくなるという問題がある。
 特許文献1に記載された方法は、領域のリード・ライト動作のみを対象としている。そのため、デバイスの動作をセキュアにする実行できるようにする点については考慮されていない。
 また、特許文献2に記載された方法では、ガード命令という拡張した命令の有無によってアクセス制御を実現する。しかし、このように命令を拡張して制御する方法では、プログラムを改変する必要があり、また、設計の自由度も低いままと言える。
 そこで、本発明は、セキュア空間の安全性を維持しつつ、設計の自由度を向上させることで入出力装置とセキュア空間との間に安全なチャネル(経路)を構築することができる権限判定システム、セキュアデバイス、判定装置、権限管理方法及び権限判定プログラムを提供することを目的とする。
 本発明による権限判定システムは、セキュア空間を有するメモリ空間を含むデバイスと、セキュア空間内に配置され、そのセキュア空間の領域における権限を判定する判定装置と、セキュア空間内に配置され、領域へのアクセス権限および領域に配置された機能の実行権限の少なくとも一方の権限を規定したポリシを記憶するポリシ記憶部とを備え、セキュア空間へのアクセス及びセキュア空間での機能の実行が、判定装置を介して行われ、判定装置が、ポリシに基づいて、セキュア空間に対するアクセス及び実行を制御することを特徴とする。
 本発明によるセキュアデバイスは、セキュア空間を有するメモリ空間を含むセキュアデバイスであって、セキュア空間内に配置され、そのセキュア空間の領域における権限を判定する判定装置と、セキュア空間内に配置され、領域へのアクセス権限および領域に配置された機能の実行権限の少なくとも一方の権限を規定したポリシを記憶するポリシ記憶部とを備え、セキュア空間へのアクセス及びセキュア空間での機能の実行が、判定装置を介して行われ、判定装置は、ポリシに基づいて、セキュア空間に対するアクセス及び実行を制御することを特徴とする。
 本発明による判定装置は、デバイスが有するメモリ空間におけるセキュア空間に配置される判定装置であって、セキュア空間へのアクセス及びセキュア空間での機能の実行が、その判定装置を介して行われ、セキュア空間内に配置され、セキュア空間における領域へのアクセス権限および領域に配置された機能の実行権限の少なくとも一方の権限を規定したポリシに基づいて、そのセキュア空間の領域における権限を判定し、そのセキュア空間に対するアクセス及び実行を制御することを特徴とする。
 本発明による権限管理方法は、セキュア空間を有するメモリ空間を含むセキュアデバイスの権限管理方法であって、セキュア空間内に配置され、そのセキュア空間の領域における権限を判定する判定装置が、セキュア空間内に配置され、そのセキュア空間の領域へのアクセス権限およびその領域に配置された機能の実行権限の少なくとも一方の権限を規定したポリシに基づいて、セキュア空間に対するアクセス及び実行を制御し、セキュア空間へのアクセス及びセキュア空間での機能の実行は、判定装置を介して行われることを特徴とする。
 本発明による権限判定プログラムは、デバイスが有するメモリ空間におけるセキュア空間に配置されるコンピュータに適用される権限判定プログラムであって、セキュア空間へのアクセス及びセキュア空間での機能の実行は、そのコンピュータを介して行われ、コンピュータに、セキュア空間内に配置され、セキュア空間における領域へのアクセス権限および領域に配置された機能の実行権限の少なくとも一方の権限を規定したポリシに基づいて、そのセキュア空間の領域における権限を判定する処理、および、セキュア空間に対するアクセス及び実行を制御する処理を実行させることを特徴とする。
 本発明によれば、セキュア空間の安全性を維持しつつ、設計の自由度を向上させることで入出力装置とセキュア空間との間に安全なチャネル(経路)を構築することができる。
本発明による権限判定システムの一実施形態を示すブロック図である。 デバイスの例を示す説明図である。 デバイスのメモリ空間の例を示す説明図である。 各領域の権限が規定されたポリシの例を示す説明図である。 規定されたポリシの他の例を示す説明図である。 各機能の権限が規定されたポリシの例を示す説明図である。 規定されたポリシの他の例を示す説明図である。 権限判定システムの動作例を示すフローチャートである。 本発明による権限判定システムの概要を示すブロック図である。 本発明によるセキュアデバイスの概要を示すブロック図である。 本発明による判定装置の概要を示すブロック図である。
 以下、本発明の実施形態を図面を参照して説明する。図1は、本発明による権限判定システムの一実施形態を示すブロック図である。本実施形態の権限判定システム100は、メモリ空間20を含むデバイス10で実現される。なお、デバイス10は、後述する機能により、メモリ空間20をセキュアに管理することから、本実施形態の権限判定システム100を実現するデバイス10を、セキュアデバイスと呼ぶことができる。
 メモリ空間20は、非セキュア空間30と、セキュア空間40とを有する。非セキュア空間30は、外部からのアクセス制限や機能の実行制限が特に設けられていない、自由にアクセスが可能なメモリ空間である。一方、セキュア空間40は、外部からのアクセスおよび機能の実行に一定の制限が設けられたメモリ空間である。本実施形態では、セキュア空間40は、後述する判定装置42を介してのみアクセス可能なメモリ空間である。
 なお、図1に示す例では、非セキュア空間30およびセキュア空間40が、それぞれ1つの空間として表されている。ただし、非セキュア空間30およびセキュア空間40は、それぞれ、1つの空間で実現されている必要はなく、2つ以上の空間で実現されていてもよい。
 また、本実施形態では、セキュア空間40は、1以上の領域(Enclave)に分けられているものとする。本実施形態では、各領域に権限が設定される。言い換えると、各領域において、何が実行可能かを示す情報が設定される。なお、領域のことを、メモリ空間のアドレス、または、メモリ空間の部分空間と記すこともある。
 権限判定システム100は、ポリシ記憶部41と、判定装置42とを備えている。ポリシ記憶部41および判定装置42は、いずれも、セキュア空間40内に配置される。
 図2は、本実施形態のデバイス10の例を示す説明図である。本実施形態で想定するデバイス10は、1つの(単一の)IoTデバイスであり、耐タンパ性を有するハードウェアレベルのセキュリティ機能を搭載している。また、デバイス10は、データD11を生成するプロセス11と、プロセス11が生成したデータD11に基づいて動作する、もしくは、プロセス11に接続される入出力装置(図2では一例としてアクチュエータ)12とを含む。
 プロセス11が生成するデータD11は、単なる数値や文字列だけでなく、入出力装置12への命令コマンドも含む。プロセス11は、例えば、プログラムやコードに従って動作するコンピュータのCPUである。
 入出力装置12は、オペレーションによって動作する箇所であり、例えば、デバイスドライバによる制御で駆動するモータなどが挙げられる。なお、デバイス10は、複数のプロセス11および入出力装置12を含んでいてもよい。なお、本実施形態では、デバイス10から外部に送信されるデータD12および外部からデバイス10内に送信されるデータD13は、制御の対象外である。
 図3は、デバイス10のメモリ空間20の例を示す説明図である。図2に例示するメモリ空間20は、非セキュア空間30と、TEEにより実現されるセキュア空間40とを有する。また、図2に例示する非セキュア空間30には、入出力装置20と情報をやり取りする入出力装置インタフェース(図3では一例としてアクチュエータインタフェース)30aを実現するコードまたはプログラム(以下、単にアクチュエータインタフェースと記す。)と、セキュア空間と非セキュア空間との間のデータのやり取りを行うデータ送受信機能30bを実現するコードまたはプログラム(以下、単にデータ送受信機能と記す。)とが配置されている。図3に示す例では、アクチュエータインタフェースおよびデータ送受信機能は、実行制限が特に設けられていない。
 一方、図3に例示するセキュア空間40は、2つの領域R1,R2(Enclave1,Enclave2)を有する。そして、領域R1には、低い権限が設定され、領域R2には、中程度の権限が設定されているものとする。図2に示す例では、領域R1には、暗号鍵40aと、認証機能40bを実現するコードまたはプログラム(以下、単に認証機能40bと記す。)と、データ改ざん検知用署名生成/検証機能40cを実現するコードまたはプログラム(以下、単にデータ改ざん検知用署名生成/検証機能40cと記す。)とが配置されている。
 同様に、領域R2には、入出力装置(図3では一例としてアクチュエータ)に対するデバイスドライバ40dと、データ生成機能40eを実現するコードまたはプログラム(以下、単にデータ生成機能40eと記す。)とが配置されている。なお、本実施形態における説明で、「機能を領域に配置する」とは、具体的には、その機能を実現するためのコードまたはプログラムが領域に保持されることを意味する。
 ポリシ記憶部41は、セキュア空間40における各領域へのアクセス権限を規定したポリシを記憶する。また、ポリシ記憶部41は、セキュア空間40における各領域に配置された機能の実行権限を規定したポリシを記憶する。なお、ポリシ記憶部41は、アクセス権限と実行権限のいずれか一方のみを記憶していてもよく、アクセス権限と実行権限の両方を記憶していてもよい。
 具体的には、ポリシには、セキュア空間における領域ごとに段階的なアクセス権限を規定する。図4は、各領域の権限が規定されたポリシの例を示す説明図である。図4に示す例では、2つの領域で異なるアクセス権限が設定されている。具体的には、図4に示す例では、領域R1(Enclave1)には、Rank3のアクセス権限が設定され、領域R2(Enclave2)には、Rank2のアクセス権限が設定されていることを示す。なお、明示的に規定された領域以外のアクセス権限を設定するため、領域を「Default」とするアクセス権限をポリシに規定してもよい。なお、アクセス権限のランクに応じて実行可能な内容は、予め定められる。
 また、図5は、規定されたポリシの他の例を示す説明図である。ランクによる設定以外にも、図5に例示するように、あるEnclaveがあるデバイス(例えば、ディスプレイ装置)の機能に対するアクセスを許可する、許可しないとするようにポリシが規定されてもよい。なお、この場合でも領域を「Default」とするポリシが規定されてもよい。
 さらに、ポリシには、領域に配置された機能ごとの段階的な実行権限を規定する。図6は、各機能の権限が規定されたポリシの例を示す説明図である。図6に示す例では、領域に含まれる対象ごとに異なる実行権限が設定されている。具体的には、図6に示す例では、認証機能には、Rank3の実行権限が設定され、デバイスドライバにはRank2の実行権限が設定され、暗号鍵には、Rank3の権限が設定されていることを示す。例えば、権限がRank3の場合に、Enclave内から直接デバイスドライバを実行することができなかったとする。一方、本実施形態では、デバイスドライバの権限をRank2にすることで、Enclave内からであってもデバイスドライバを実行することが可能になる。なお、明示的に規定された機能以外の実行権限を設定するため、対象を「Default」とする実行権限をポリシに規定してもよい。
 また、図7は、規定されたポリシの他の例を示す説明図である。ランクによる設定以外にも、図7に例示するように、あるデバイスの機能が別のデバイスの機能(例えば、アクチュエータ)対してアクセスを許可する、許可しないとするようにポリシが規定されてもよい。なお、この場合でもアクセス元の機能を「Default」とするポリシが規定されてもよい。
 判定装置42は、セキュア空間の各領域における権限を判定する。上述するように、判定装置42は、セキュア空間40に配置される。そして、本実施形態では、セキュア空間40へのアクセス及びセキュア空間40での機能の実行は、判定装置42を介して行われる。例えば、図3に示す例では、非セキュア空間30からバス43を介して送信される指示が、判定装置42で受信される。すなわち、非セキュア空間30(セキュア空間40外のメモリ空間)からセキュア空間40へアクセスする場合、必ず判定装置42が経由される。
 判定装置42は、ポリシ記憶部41に記憶されたポリシに基づいて、セキュア空間40に対するアクセス及び実行を制御する。例えば、セキュア空間40に対するアクセスまたは実行の権限がないと判定した場合、判定装置42は、そのアクセスまたは実行の要求を破棄してもよいし、権限がない旨を要求元に返信してもよい。
 また、判定装置42は、例えば、ポリシに基づく判定結果が示す権限に応じて、セキュア空間40の領域からの読み込み、セキュア空間40の領域への書き込み、その領域に保存されたコードまたはプログラムの実行を行う。
 なお、判定装置42がセキュア空間40に対するアクセスや実行を制御するため、判定装置42(および、ポリシ記憶部41)には、そのセキュア空間内で設定される最高の権限を有する。例えば、セキュア空間がTEEで実現される場合、判定装置42(および、ポリシ記憶部41)には、TEEに設定する権限の中でも最高権限が設定される。
 判定装置42は、例えば、CPUの拡張機能として実現されてもよい。すなわち、判定装置42は、プログラム(権限判定プログラム)に従って動作するコンピュータのCPUによって実現されてもよい。例えば、プログラムが、ポリシ記憶部41に記憶され、CPUが、そのプログラムを読み込み、プログラムに従って、判定装置42として動作してもよい。
 また、判定装置42は、専用のハードウェアによって実現されてもよいし、判定装置42専用のTEE上にソフトウェア的に実装されてもよい。なお、メモリ空間20が、複数のセキュア空間40を有している場合、判定装置42は、複数のセキュア空間40のいずれか一つに配置されればよい。また、複数のセキュア空間それぞれに対応した判定装置42とポリシ記憶部41とが配置されていてもよい。
 また、ポリシ記憶部41は、デバイス10に含まれるストレージ(図示せず)や、デバイス10のRAM(Random Access Memory)などにより実現される。なお、ここでのRAMは、専用のRAMであってもよく、一般的に用いられるRAMからポリシ保存用に一部を切り出したものでもよい。
 次に、本実施形態の権限判定システム100の動作を説明する。図8は、本実施形態の権限判定システム100の動作例を示すフローチャートである。判定装置42は、セキュア空間40へのアクセス要求を受信する(ステップS11)。判定装置42は、アクセス要求の内容とポリシとを比較し(ステップS12)、セキュア空間の権限を判定する。アクセス可と判定された場合(すなわち、権限があると判定された場合)(ステップS13におけるYes)、判定装置42は、そのアクセス要求を実行する(ステップS14)。一方、アクセス可と判断されなかった場合(すなわち、権限がないと判定された場合)(ステップS13におけるNo)、判定装置42は、そのアクセス要求を破棄する(ステップS15)。なお、ステップS15において、判定装置42は、ユーザに対してアクセス不可である旨を通知してもよい。
 以上のように、本実施形態では、セキュア空間40へのアクセス及びセキュア空間40での機能の実行は、判定装置42を介して行われ、判定装置42も、セキュア空間40に配置される。そして、判定装置42が、セキュア空間40の領域へのアクセス権限および領域に配置された機能の実行権限の少なくとも一方の権限を規定したポリシに基づいて、そのセキュア空間40の領域における権限を判定し、そのセキュア空間に対するアクセス及び実行を制御する。
 よって、セキュア空間の安全性を維持しつつ、設計の自由度を向上させることができる。すなわち、本実施形態では、セキュア空間の権限をセキュア空間の領域ごとに個別かつ段階的に設定できるため、安全性と設計の自由度との間に発生するトレードオフを解決でき、結果、入出力装置とセキュア空間との間に安全なチャネルを構築することが可能になる。
 例えば、デバイスドライバを実装したセキュア空間の権限を上げることで、セキュア空間内であっても、直接アクセスできるようにすることが可能になる。また、セキュア空間にデバイスドライバを配置することで、デバイスドライバの改ざんを防ぎ、図2に例示するような入出力装置(アクチュエータ)を正しく動作させることが可能になる。すなわち、図2に例示するプロセス11から実際の入出力装置(アクチュエータ)12の動作までを、より柔軟かつセキュアに実装でき、入出力装置とセキュア空間との間に安全なチャネルを構築できる。
 次に、本発明の概要を説明する。図9は、本発明による権限判定システムの概要を示すブロック図である。本発明による権限判定システム80は、セキュア空間(例えば、セキュア空間40)を有するメモリ空間(例えば、メモリ空間20)を含むデバイス81(例えば、デバイス10)と、セキュア空間内に配置され、そのセキュア空間の領域における権限を判定する判定装置82(例えば、判定装置42)と、セキュア空間内に配置され、領域へのアクセス権限および領域に配置された機能の実行権限の少なくとも一方の権限を規定したポリシを記憶するポリシ記憶部83(例えば、ポリシ記憶部41)とを備えている。
 セキュア空間へのアクセス及びセキュア空間での機能の実行は、判定装置82を介して行われ、判定装置82は、ポリシに基づいて、セキュア空間に対するアクセス及び実行を制御する。
 そのような構成により、セキュア空間の安全性を維持しつつ、設計の自由度を向上させることで入出力装置とセキュア空間との間に安全なチャネル(経路)を構築することができる。
 また、ポリシ記憶部83は、セキュア空間における領域ごとの段階的なアクセス権限および領域に配置された機能ごとの段階的な実行権限の少なくとも一方の権限を規定したポリシを記憶していてもよい。
 具体的には、セキュア空間は耐タンパ性を有し、判定装置82は、その耐タンパ性を有するセキュア空間で設定される最高の権限を有する。
 また、判定装置82は、判定結果が示す権限に応じて、セキュア空間の領域からの読み込み、その領域への書き込み、または、その領域に保存されたコード若しくはプログラムの実行を行ってもよい。
 また、メモリ空間は、複数のセキュア空間を有していてもよい。そして、判定装置42は、複数のセキュア空間のいずれか一つに配置されてもよい。
 図10は、本発明によるセキュアデバイスの概要を示すブロック図である。本発明によるセキュアデバイス90は、セキュア空間(例えば、セキュア空間40)を有するメモリ空間(例えば、メモリ空間20)を含むセキュアデバイス(例えば、デバイス10)であって、セキュア空間内に配置され、そのセキュア空間の領域における権限を判定する判定装置91(例えば、判定装置42)と、セキュア空間内に配置され、領域へのアクセス権限および領域に配置された機能の実行権限の少なくとも一方の権限を規定したポリシを記憶するポリシ記憶部92(例えば、ポリシ記憶部41)とを備えている。
 セキュア空間へのアクセス及びセキュア空間での機能の実行は、判定装置91を介して行われ、判定装置91は、ポリシに基づいて、セキュア空間に対するアクセス及び実行を制御する。
 そのような構成によっても、セキュア空間の安全性を維持しつつ、設計の自由度を向上させることができる。
 また、ポリシ記憶部92は、セキュア空間における領域ごとの段階的なアクセス権限および領域に配置された機能ごとの段階的な実行権限の少なくとも一方の権限を規定したポリシを記憶していてもよい。
 図11は、本発明による判定装置の概要を示すブロック図である。本発明による判定装置70は、デバイス(例えば、デバイス10)が有するメモリ空間(例えば、メモリ空間20)におけるセキュア空間(例えば、セキュア空間40)に配置される判定装置(例えば、判定装置42)であって、セキュア空間へのアクセス及記セキュア空間での機能の実行は、その判定装置70を介して行われる。
 そして、セキュア空間内に配置され、セキュア空間における領域へのアクセス権限および領域に配置された機能の実行権限の少なくとも一方の権限を規定したポリシに基づいて、判定装置70は、そのセキュア空間の領域における権限を判定し、そのセキュア空間に対するアクセス及び実行を制御する。
 そのような構成によっても、セキュア空間の安全性を維持しつつ、設計の自由度を向上させることができる。
 上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)セキュア空間を有するメモリ空間を含むデバイスと、前記セキュア空間内に配置され、当該セキュア空間の領域における権限を判定する判定装置と、前記セキュア空間内に配置され、前記領域へのアクセス権限および前記領域に配置された機能の実行権限の少なくとも一方の権限を規定したポリシを記憶するポリシ記憶部とを備え、前記セキュア空間へのアクセス及び前記セキュア空間での機能の実行は、前記判定装置を介して行われ、前記判定装置は、前記ポリシに基づいて、前記セキュア空間に対するアクセス及び実行を制御することを特徴とする権限判定システム。
(付記2)ポリシ記憶部は、セキュア空間における領域ごとの段階的なアクセス権限および前記領域に配置された機能ごとの段階的な実行権限の少なくとも一方の権限を規定したポリシを記憶する付記1記載の権限判定システム。
(付記3)セキュア空間は耐タンパ性を有し、判定装置は、当該耐タンパ性を有するセキュア空間で設定される最高の権限を有する付記1または付記2記載の権限判定システム。
(付記4)判定装置は、判定結果が示す権限に応じて、セキュア空間の領域からの読み込み、当該領域への書き込み、または、当該領域に保存されたコード若しくはプログラムの実行を行う付記1から付記3のうちのいずれか1つに記載の権限判定システム。
(付記5)メモリ空間は、複数のセキュア空間を有し、判定装置は、前記複数のセキュア空間のいずれか一つに配置される付記1から付記4のうちのいずれか1つに記載の権限判定システム。
(付記6)セキュア空間を有するメモリ空間を含むセキュアデバイスであって、前記セキュア空間内に配置され、当該セキュア空間の領域における権限を判定する判定装置と、前記セキュア空間内に配置され、前記領域へのアクセス権限および前記領域に配置された機能の実行権限の少なくとも一方の権限を規定したポリシを記憶するポリシ記憶部とを備え、前記セキュア空間へのアクセス及び前記セキュア空間での機能の実行は、前記判定装置を介して行われ、前記判定装置は、前記ポリシに基づいて、前記セキュア空間に対するアクセス及び実行を制御することを特徴とするセキュアデバイス。
(付記7)ポリシ記憶部は、セキュア空間における領域ごとの段階的なアクセス権限および前記領域に配置された機能ごとの段階的な実行権限の少なくとも一方の権限を規定したポリシを記憶する付記6記載のセキュアデバイス。
(付記8)デバイスが有するメモリ空間におけるセキュア空間に配置される判定装置であって、前記セキュア空間へのアクセス及び前記セキュア空間での機能の実行は、当該判定装置を介して行われ、前記セキュア空間内に配置され、前記セキュア空間における領域へのアクセス権限および前記領域に配置された機能の実行権限の少なくとも一方の権限を規定したポリシに基づいて、当該セキュア空間の領域における権限を判定し、当該セキュア空間に対するアクセス及び実行を制御することを特徴とする判定装置。
(付記9)ポリシには、セキュア空間における領域ごとの段階的なアクセス権限および前記領域に配置された機能ごとの段階的な実行権限の少なくとも一方の権限が規定される付記8記載の判定装置。
(付記10)セキュア空間を有するメモリ空間を含むデバイスの権限管理方法であって、前記セキュア空間内に配置され、当該セキュア空間の領域における権限を判定する判定装置が、前記セキュア空間内に配置され、当該セキュア空間の領域へのアクセス権限および当該領域に配置された機能の実行権限の少なくとも一方の権限を規定したポリシに基づいて、前記セキュア空間に対するアクセス及び実行を制御し、前記セキュア空間へのアクセス及び前記セキュア空間での機能の実行は、前記判定装置を介して行われることを特徴とする権限管理方法。
(付記11)ポリシには、セキュア空間における領域ごとの段階的なアクセス権限および前記領域に配置された機能ごとの段階的な実行権限の少なくとも一方の権限が規定される付記10記載の権限管理方法。
(付記12)デバイスが有するメモリ空間におけるセキュア空間に配置されるコンピュータに適用される権限判定プログラムであって、前記セキュア空間へのアクセス及び前記セキュア空間での機能の実行は、当該コンピュータを介して行われ、前記コンピュータに、前記セキュア空間内に配置され、前記セキュア空間における領域へのアクセス権限および前記領域に配置された機能の実行権限の少なくとも一方の権限を規定したポリシに基づいて、当該セキュア空間の領域における権限を判定する処理、および、前記セキュア空間に対するアクセス及び実行を制御する処理を実行させるための権限判定プログラム。
(付記13)ポリシには、セキュア空間における領域ごとの段階的なアクセス権限および前記領域に配置された機能ごとの段階的な実行権限の少なくとも一方の権限が規定される付記12記載の権限判定プログラム。
 10 デバイス
 20 メモリ空間
 30 非セキュア空間
 40 セキュア空間
 41 ポリシ記憶部
 42 判定装置
 43 バス
 100 権限判定システム

Claims (13)

  1.  セキュア空間を有するメモリ空間を含むデバイスと、
     前記セキュア空間内に配置され、当該セキュア空間の領域における権限を判定する判定装置と、
     前記セキュア空間内に配置され、前記領域へのアクセス権限および前記領域に配置された機能の実行権限の少なくとも一方の権限を規定したポリシを記憶するポリシ記憶部とを備え、
     前記セキュア空間へのアクセス及び前記セキュア空間での機能の実行は、前記判定装置を介して行われ、
     前記判定装置は、前記ポリシに基づいて、前記セキュア空間に対するアクセス及び実行を制御する
     ことを特徴とする権限判定システム。
  2.  ポリシ記憶部は、セキュア空間における領域ごとの段階的なアクセス権限および前記領域に配置された機能ごとの段階的な実行権限の少なくとも一方の権限を規定したポリシを記憶する
     請求項1記載の権限判定システム。
  3.  セキュア空間は耐タンパ性を有し、判定装置は、当該耐タンパ性を有するセキュア空間で設定される最高の権限を有する
     請求項1または請求項2記載の権限判定システム。
  4.  判定装置は、判定結果が示す権限に応じて、セキュア空間の領域からの読み込み、当該領域への書き込み、または、当該領域に保存されたコード若しくはプログラムの実行を行う
     請求項1から請求項3のうちのいずれか1項に記載の権限判定システム。
  5.  メモリ空間は、複数のセキュア空間を有し、
     判定装置は、前記複数のセキュア空間のいずれか一つに配置される
     請求項1から請求項4のうちのいずれか1項に記載の権限判定システム。
  6.  セキュア空間を有するメモリ空間を含むセキュアデバイスであって、
     前記セキュア空間内に配置され、当該セキュア空間の領域における権限を判定する判定装置と、
     前記セキュア空間内に配置され、前記領域へのアクセス権限および前記領域に配置された機能の実行権限の少なくとも一方の権限を規定したポリシを記憶するポリシ記憶部とを備え、
     前記セキュア空間へのアクセス及び前記セキュア空間での機能の実行は、前記判定装置を介して行われ、
     前記判定装置は、前記ポリシに基づいて、前記セキュア空間に対するアクセス及び実行を制御する
     ことを特徴とするセキュアデバイス。
  7.  ポリシ記憶部は、セキュア空間における領域ごとの段階的なアクセス権限および前記領域に配置された機能ごとの段階的な実行権限の少なくとも一方の権限を規定したポリシを記憶する
     請求項6記載のセキュアデバイス。
  8.  デバイスが有するメモリ空間におけるセキュア空間に配置される判定装置であって、
     前記セキュア空間へのアクセス及び前記セキュア空間での機能の実行は、当該判定装置を介して行われ、
     前記セキュア空間内に配置され、前記セキュア空間における領域へのアクセス権限および前記領域に配置された機能の実行権限の少なくとも一方の権限を規定したポリシに基づいて、当該セキュア空間の領域における権限を判定し、当該セキュア空間に対するアクセス及び実行を制御する
     ことを特徴とする判定装置。
  9.  ポリシには、セキュア空間における領域ごとの段階的なアクセス権限および前記領域に配置された機能ごとの段階的な実行権限の少なくとも一方の権限が規定される
     請求項8記載の判定装置。
  10.  セキュア空間を有するメモリ空間を含むデバイスの権限管理方法であって、
     前記セキュア空間内に配置され、当該セキュア空間の領域における権限を判定する判定装置が、前記セキュア空間内に配置され、当該セキュア空間の領域へのアクセス権限および当該領域に配置された機能の実行権限の少なくとも一方の権限を規定したポリシに基づいて、前記セキュア空間に対するアクセス及び実行を制御し、
     前記セキュア空間へのアクセス及び前記セキュア空間での機能の実行は、前記判定装置を介して行われる
     ことを特徴とする権限管理方法。
  11.  ポリシには、セキュア空間における領域ごとの段階的なアクセス権限および前記領域に配置された機能ごとの段階的な実行権限の少なくとも一方の権限が規定される
     請求項10記載の権限管理方法。
  12.  デバイスが有するメモリ空間におけるセキュア空間に配置されるコンピュータに適用される権限判定プログラムであって、
     前記セキュア空間へのアクセス及び前記セキュア空間での機能の実行は、当該コンピュータを介して行われ、
     前記コンピュータに、
     前記セキュア空間内に配置され、前記セキュア空間における領域へのアクセス権限および前記領域に配置された機能の実行権限の少なくとも一方の権限を規定したポリシに基づいて、当該セキュア空間の領域における権限を判定する処理、および、
     前記セキュア空間に対するアクセス及び実行を制御する処理
     を実行させるための権限判定プログラム。
  13.  ポリシには、セキュア空間における領域ごとの段階的なアクセス権限および前記領域に配置された機能ごとの段階的な実行権限の少なくとも一方の権限が規定される
     請求項12記載の権限判定プログラム。
PCT/JP2017/025414 2017-07-12 2017-07-12 権限判定システム、セキュアデバイス、判定装置、権限管理方法及び権限判定プログラム WO2019012625A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US16/630,056 US20200293695A1 (en) 2017-07-12 2017-07-12 Right determination system, secure device, determination device, right management method, and right determination program
JP2019529373A JP6721125B2 (ja) 2017-07-12 2017-07-12 権限判定システム、セキュアデバイス、判定装置、権限管理方法及び権限判定プログラム
PCT/JP2017/025414 WO2019012625A1 (ja) 2017-07-12 2017-07-12 権限判定システム、セキュアデバイス、判定装置、権限管理方法及び権限判定プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2017/025414 WO2019012625A1 (ja) 2017-07-12 2017-07-12 権限判定システム、セキュアデバイス、判定装置、権限管理方法及び権限判定プログラム

Publications (1)

Publication Number Publication Date
WO2019012625A1 true WO2019012625A1 (ja) 2019-01-17

Family

ID=65001258

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2017/025414 WO2019012625A1 (ja) 2017-07-12 2017-07-12 権限判定システム、セキュアデバイス、判定装置、権限管理方法及び権限判定プログラム

Country Status (3)

Country Link
US (1) US20200293695A1 (ja)
JP (1) JP6721125B2 (ja)
WO (1) WO2019012625A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3786826A1 (en) * 2019-08-30 2021-03-03 Barclays Execution Services Limited Secure validation pipeline in a third party cloud environment

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160036826A1 (en) * 2014-07-29 2016-02-04 Mcafee, Inc. Secure content packaging using multiple trusted execution environments
JP2016524257A (ja) * 2013-07-01 2016-08-12 クアルコム,インコーポレイテッド グラフィックス処理装置への安全なアクセス制御を提供するためのシステムおよび方法
US20160241548A1 (en) * 2015-02-13 2016-08-18 Samsung Electronics Co., Ltd. Electronic device and method for processing secure information

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016524257A (ja) * 2013-07-01 2016-08-12 クアルコム,インコーポレイテッド グラフィックス処理装置への安全なアクセス制御を提供するためのシステムおよび方法
US20160036826A1 (en) * 2014-07-29 2016-02-04 Mcafee, Inc. Secure content packaging using multiple trusted execution environments
US20160241548A1 (en) * 2015-02-13 2016-08-18 Samsung Electronics Co., Ltd. Electronic device and method for processing secure information

Also Published As

Publication number Publication date
US20200293695A1 (en) 2020-09-17
JPWO2019012625A1 (ja) 2020-04-16
JP6721125B2 (ja) 2020-07-08

Similar Documents

Publication Publication Date Title
US11741240B2 (en) Tokenized hardware security modules
US11126754B2 (en) Personalized and cryptographically secure access control in operating systems
EP2207121B1 (en) Protecting content on virtualized client platforms
EP2369520B1 (en) Computer architecture for an electronic device providing sls access to mls file system with trusted loading and protection of program execution memory
US9536111B2 (en) Secure processing unit systems and methods
JP4089171B2 (ja) 計算機システム
JP4785808B2 (ja) データ処理装置およびシステム制御レジスタ保護方法
US8060744B2 (en) Computer architecture for an electronic device providing single-level secure access to multi-level secure file system
US8127145B2 (en) Computer architecture for an electronic device providing a secure file system
CN110348204B (zh) 一种代码保护系统、认证方法、装置、芯片及电子设备
US10101936B2 (en) Memory access control
JPH0812645B2 (ja) データ処理システム内のシステムフアイルを保護する方法及びデータ処理システム
US11782744B2 (en) Data processing system and method for accessing data in the data processing system
US7765407B2 (en) Method and apparatus for providing centralized user authorization to allow secure sign-on to a computer system
JP6721125B2 (ja) 権限判定システム、セキュアデバイス、判定装置、権限管理方法及び権限判定プログラム
US20100088770A1 (en) Device and method for disjointed computing
US20120311285A1 (en) Method and System for Context Specific Hardware Memory Access Protection
Al-Windawi et al. Secure Module Invocation System (SMIS)
JP5942612B2 (ja) 情報記憶装置及びそのアクセス判定方法
Stallings CSH5 Chapter 24 “Operating System Security”
Sadeghi et al. Design and implementation of a secure linux device encryption architecture
Proudler et al. TPM2 Requirements

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17917736

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2019529373

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17917736

Country of ref document: EP

Kind code of ref document: A1