You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@teaclave.apache.org by yu...@apache.org on 2021/03/16 23:39:58 UTC

[incubator-teaclave-verification] 03/05: update README.md at root directory

This is an automated email from the ASF dual-hosted git repository.

yulongzhang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-teaclave-verification.git

commit 50fe7b2fa827e07e6e4c966db3eb16ff2858f942
Author: 小狈 <ca...@antgroup.com>
AuthorDate: Mon Mar 1 18:18:31 2021 +0800

    update README.md at root directory
    
    Signed-off-by: Cao Shuang <ca...@antfin.com>
---
 README.md | 158 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 158 insertions(+)

diff --git a/README.md b/README.md
index e8698cf..011e34d 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1,161 @@
 # Teaclave Verification
 
 This repository contains formal descriptions, specifications, and proofs for Teaclave.
+
+## [`access_control_module`](access_control_module/)
+
+This directory contains formal description and verification of access control 
+module of Teaclave described in [`access-control.md`][0]. It uses [`security 
+functional requirements`][1] to restate the design specifications, then proves 
+the required security objectives in [`Isabelle`][2].
+
+  [0]: https://github.com/apache/incubator-teaclave/blob/master/docs/access-control.md
+  [1]: https://www.commoncriteriaportal.org/files/ccfiles/CCPART2V3.1R5.pdf
+  [2]: https://isabelle.in.tum.de/index.html
+
+### security problem definition
+
+The purpose of security problem definition is to identify the scope of problems to be 
+solved by the access control module. The security problem of access control module of 
+Teaclave is defined in terms of the assets protected by the module, the threats encountered 
+by the module and the preconditions assumed to be true to the module. 
+
+  * Assets: the confidentiality and integrity of critical data operated by the tasks 
+  and functions defined by Teaclave
+  
+  * Threats: runtime tasks and functions abuse which compromise the confidentiality 
+  and integrity of critical data.
+
+  * Assumptions: the critical data can only be accessed through tasks and functions 
+  defined by Teaclave; the identification and authentication of users is achieved by 
+  the other modules of Teaclave.
+
+### security objectives
+
+The security objective of access control module is to prevent unauthorized users from 
+accessing the critical data through tasks and functions. By achieving the security 
+objective, the threats of runtime tasks and functions abuse are eliminated under the 
+assumptions identified in security problem definition.
+
+### security requirements
+
+Security functional requirements of [`Common Criteria`][3] are used for decomposing 
+security objectives with standardized language. The security objective of Teaclave 
+access control module is decomposed as follows: 
+
+  * FIA_UAU.2 User authentication before any action <br>
+  Dependencies:FIA_UID.1 timing of identification
+  
+    * FIA_UAU.2.1 The Teaclave access control module shall require each user to be 
+    successfully authenticated before allowing any other Teaclave-mediated actions on 
+    behalf of that user. *(This requirement is already covered by assumption, so it is 
+    not formalized.)*
+
+  * FIA_UID.2 User identification before any action <br>
+  Dependencies:No dependencies
+  
+    * FIA_UID.2.1 The Teaclave access control module shall require each user to be 
+    successfully identified before allowing any other Teaclave-mediated actions on 
+    behalf of that user. *(This requirement is already covered by assumption, so it 
+    is not formalized.)*
+  
+  * FIA_UAU.3 Unforgeable authentication <br>
+  Dependencies:No dependencies
+  
+    * FIA_UAU.3.1 The Teaclave access control module shall prevent use of authentication 
+    data that has been forged by any user of the Teaclave access control module. *(This 
+    requirement is already covered by assumption, so it is not formalized.)* 
+  
+    * FIA_UAU.3.2 The Teaclave access control module shall prevent use of authentication 
+    data that has been copied from any other user of the Teaclave access control module. 
+    *(This requirement is already covered by assumption, so it is not formalized.)* 
+  
+  * FIA_USB.1 User-subject binding <br>
+  Dependencies:FIA_ATD.1 User attribute definition
+  
+    * FIA_USB.1.1 The Teaclave access control module shall associate the following user 
+    security attributes with subjects acting on the behalf of that user: UsrId. 
+  
+    * FIA_USB.1.2 The Teaclave access control module shall enforce the following rules on 
+    the initial association of user security attributes with subjects acting on the behalf 
+    of users: UsrId is in the participants of subjects. 
+  
+    * FIA_USB.1.3 The Teaclave access control module shall enforce the following rules 
+    governing changes to the user security attributes associated with subjects acting on the 
+    behalf of users: None.
+  
+  * FIA_ATD.1 User attribute definition <br>
+  Dependencies:No dependencies 
+  
+    * FIA_ATD.1 The Teaclave access control module shall maintain the following list of 
+    security attributes belonging to individual users: UsrId.
+  
+  * FDP_ACC.1 Subset access control <br>
+  Dependencies:FDP_ACF.1 Security attribute based access control
+  
+    * FDP_ACC.1.1 The Teaclave access control module shall enforce the Teaclave Subset 
+    access control SFP on: <br>
+    subject: task, user; <br>
+    object: function, data; <br>
+    operation: task_access_data, task_access_function, user_access_data, user_access_function. 
+  
+  * FDP_ACF.1 Security attribute based access control <br>
+  Dependencies:FDP_ACC.1 Subset access control;<br>
+  FMT_MSA.3:Static attribute initialisation
+  
+    * FDP_ACF.1.1 The Teaclave access control module shall enforce the Teaclave Subset access 
+    control SFP to objects based on the following: <br>
+    subject attributes: task_participant; UsrId <br>
+    object attributes: function_owner; data_owner.
+    
+    * FDP_ACF.1.2 The TSF shall enforce the following rules to determine if an operation among 
+    controlled subjects and controlled objects is allowed: <br>
+    task_access_data is allowed if data_owner is the subset of task_participant; <br>
+    task_access_function is allowed if function_owner is the subset of task_participant; <br>
+    user_access_data is allowed if UsrId is in data_owner; <br>
+    user_access_function is allowed if UsrId is in function_owner.
+    
+    * FDP_ACF.1.3 The TSF shall explicitly authorize access of subjects to objects based on the 
+    following additional rules: NONE. 
+    
+    * FDP_ACF.1.4 The TSF shall explicitly deny access of subjects to objects based on the 
+    following additional rules: NONE.
+  
+  * FMT_MSA.3 Static attribute initialization <br>
+  Dependencies:FMT_MSA.1 Management of security attributes;<br>
+  FMT_SMR.1 Security roles
+  
+    * FMT_MSA.3.1 The Teaclave access control shall enforce the Teaclave Subset access control 
+    SFP to provide permissive default values for security attributes that are used to enforce 
+    the SFP. 
+    
+    * FMT_MSA.3.2 The TSF shall not allow the Users to specify alternative initial values to 
+    override the default values when an object or information is created.
+  
+  * FMT_MSA.1 Management of security attributes <br>
+  Dependencies:FDP_IFC.1 Subset information flow control;<br>
+  FMT_SMR.1 Security roles;<br>
+  FMT_SMF.1 Specification of Management Functions
+  
+    * FMT_MSA.1.1 The Teaclave access control module shall enforce the Teaclave Subset access 
+    control SFP to restrict the ability to query the security attributes to Users. 
+  
+  * FMT_SMR.1 Security roles <br>
+  Dependencies:FIA_UID.1 Timing of identification
+  
+    * FMT_SMR.1.1 The Teaclave access control module shall maintain the roles: User. 
+      
+    * FMT_SMR.1.2 The Teaclave access control module shall be able to associate users with roles.
+  
+  * FMT_SMF.1 Specification of Management Functions <br>
+  Dependencies:No dependencies
+  
+    * FMT_SMF.1.1 The Teaclave access control module shall be capable of performing the following 
+    management functions: <br>
+    request_user_access_data, request_user_access_function, request_task_access_data, 
+    request_task_access_function, request_user_access_task. 
+  
+Each security functional requirement listed above is formalized and located in different files. For more information,
+please refer to [`access control module introduction`](access_control_module/README.md).
+
+  [3]: https://www.commoncriteriaportal.org/files/ccfiles/CCPART2V3.1R5.pdf


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@teaclave.apache.org
For additional commands, e-mail: commits-help@teaclave.apache.org