Access Control Models for Collaborative Applications Asma Cherif
Total Page:16
File Type:pdf, Size:1020Kb
Access Control Models for Collaborative Applications Asma Cherif To cite this version: Asma Cherif. Access Control Models for Collaborative Applications. Distributed, Parallel, and Cluster Computing [cs.DC]. Université de Lorraine, 2012. English. NNT : 2012LORR0217. tel-01749620v2 HAL Id: tel-01749620 https://tel.archives-ouvertes.fr/tel-01749620v2 Submitted on 11 Dec 2014 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. UFR math´ematiques et informatique Ecole´ doctorale IAEM Lorraine D´epartement de formation doctorale en informatique Mod`elesde Contr^oled'Acc`espour Les Applications Collaboratives THESE` pr´esent´eeet soutenue publiquement le 26 Novembre 2012 pour l'obtention du Doctorat de l'universit´eNancy 2 (sp´ecialit´einformatique) par Asma CHERIF Composition du jury Pr´esident: Kamel SMAILI Pr. Universit´ede Lorraine Rapporteurs : Fr´ed´ericCUPPENS Pr. ENST Bretagne Achour MOSTEFAOUI Pr. Universit´ede Nantes Examinateurs : Ladjel BELLATRECHE Pr. LIAS/ISAE ENSMA Poitiers Sophie CHABRIDON Mcf. T´el´ecom Sud Paris Directeurs de thèse : Abdessamad IMINE Mcf. Universit´ede Lorraine Micha¨elRUSINOWITCH Dr. Inria Nancy Grand Est Laboratoire Lorrain de Recherche en Informatique et ses Applications | UMR 7503 Mis en page avec la classe thloria. Acknowledgments I would like to express my gratitude to my supervisor Abdessamad Imine, whose expertise and patience, added considerably to my graduate experience. I really appreciate his knowledge and skills especially his assistance in writing my thesis report. This thesis could not have been written without Dr. Abdessamad Imine who not only served as my supervisor but also encouraged and challenged me throughout my thesis. A very special thanks goes out to my thesis director, Michaël Rusinowitch, without whose motivation and encouragement I would not have finished my graduate career in computer science research. It was though his understanding and kindness that I succeed to completed this work. He and Dr. Abdessamad Imine, guided me through the dissertation process, never accepting less than my best efforts. I thank them all. I would like to thank Prof. Achour Moustefaoui and Prof. Frédéric Cuppens for taking effort and time out from their busy schedule to serve as my external readers. Finally, I also would like to thank the other members of my committee for accepting reading and monitoring my work: Prof. Kamel Smaili, Prof. Ladjel Bellatreche and Dr. Sophie Chabridon. I would also like to thank the members of Cassis research team, past and present, for their help and friendship. I would also like to thank the members of Score research team. Especial thanks go to Dr. Claudia Ignat for her advices and relevant remarks. I would like to thank Dr. Stéphane Weiss who responded to my questions when needed. I would like to acknowledge and extend my heartfelt gratitude to all computer science department of Nancy 2, faculty members and staff especially Prof. Kamel Smaili and Prof. Odile Thiery for their advices and support. Many thanks to my friends in Loria, particularly, Hanen Maghrebi and Ben Slimane Jamila for our exchanges of knowledge and skills, which really helped enrich the experience. I would also like to thank Charlène Khun, Asma Kerkeni and Asma Ben Abacha for their support and help. Finally, I would like to acknowledge and extend my heartfelt gratitude to all my family, most espe- cially my mother for the support she provided me through my entire life, words alone cannot express what I owe her. I must also express my deepest thanks to my husband, Aymen, without whose love, encouragement and support, I would not have finished this thesis. i ii To my mother, my husband and my children. iii iv Contents Chapter 1 General Introduction 1 1.1 Motivations . .1 1.2 General Context . .3 1.3 Access Control Issues and Requirements in Distributed Collaborative Editors . .4 1.4 Undoability in Distributed Collaborative Editors . .7 1.5 Contributions . .9 1.6 Thesis organization . 10 Chapter 2 State of the Art 2.1 Collaborative Editors . 13 2.1.1 Real Time Collaborative Editors . 15 2.1.2 Overview on the Operational Transformation (OT) Approach . 15 2.2 Access Control for Collaborative Editors . 19 2.2.1 Access Control Issues and Requirements in Collaborative Applications . 19 2.2.2 Classes of Access Control Policies . 20 2.2.3 Access Control in Database Area . 31 2.2.4 Access Control for P2P Systems . 31 2.2.5 Comparing Existing Solutions . 33 2.3 Conclusion . 34 Chapter 3 Our Generic Access Control Model 3.1 Coordination Model . 38 3.1.1 Shared Data Object . 38 3.1.2 Shared Policy Object . 39 3.1.3 Single and Multi-Administrator Approaches . 40 3.2 Concurrency and Security Issues . 43 v Contents 3.2.1 Out-of-order Execution of Cooperative and Administrative Operations . 43 3.2.2 Joint Issue . 47 3.2.3 Remote Check and Unnecessary Undo . 49 3.3 A Generic Security Model . 53 3.4 Distributed Garbage Collection for Administrative Logs . 55 3.4.1 Garbage Collection Issues . 55 3.5 Conclusion . 57 Chapter 4 Concurrency Control Algorithms and Correctness Proof 4.1 Concurrency Control Algorithms . 59 4.1.1 Cooperative Requests . 60 4.1.2 Administrative Requests . 60 4.1.3 Causality Between Cooperative and Administrative Requests . 61 4.1.4 Control Procedures . 62 4.1.5 Check Procedures . 64 4.1.6 Administrative Procedures . 66 4.1.7 Asymptotic Time Complexities . 69 4.1.8 Illustrative Example . 71 4.2 Correctness Proof . 73 4.2.1 General Principles . 73 4.2.2 The Correctness Criteria . 74 4.3 Conclusion . 77 Chapter 5 On the Undoability Problem in Distributed Collaborative Editors 5.1 Notations . 80 5.2 Undo Approach . 80 5.2.1 Principle . 81 5.2.2 Undo Effect . 81 5.2.3 Undo Properties . 82 5.2.4 Illustrative Examples . 83 5.3 Related Work . 86 5.3.1 Proposed Undo Solutions for Single-user Editors . 86 5.3.2 Undo Solutions for Collaborative Editors . 87 5.4 Conclusion . 90 vi Chapter 6 A Necessary and Sufficient Condition for Undoability 6.1 Formal Problem Statement . 92 6.2 Necessary and Sufficient Condition for Undoability . 93 6.2.1 CCO Properties . 93 6.2.2 CSP Model . 97 6.2.3 Necessary and Sufficient Condition for Undoability . 102 6.2.4 Discussion . 103 6.3 Our Generic Undo Framework . 105 6.3.1 The Hide Relation . 106 6.3.2 Transformation Rules . 108 6.3.3 Illustrative Example . 110 6.3.4 Asymptotic Time Complexity of the Undo Command . 111 6.4 Conclusion . 112 Chapter 7 Experimental Study and Performance Measurements 7.1 Coordination Framework . 114 7.1.1 OPTIC Characteristics . 114 7.1.2 Garbage Collector for Cooperative Logs . 116 7.2 Developement Frameworks . 116 7.2.1 JXTA . 116 7.2.2 NetBeans . 117 7.2.3 Grid’5000 . 117 7.3 Experimental Results for the Coordination Layer . 118 7.3.1 Metrics . 119 7.3.2 Performances of the Desktop Application . 119 7.3.3 Performances of the Mobile Devices Application . 121 7.4 Experimental Results for the Security Layer . 125 7.4.1 P2PAgenda Prototype . 126 7.4.2 Processing Time for Checking Local and Remote Requests . 126 7.4.3 Response Time Variation with Peers Number . 128 7.4.4 Access Control Overhead . 129 7.5 Conclusion . 130 vii Contents Chapter 8 General Conclusion 8.1 Summary . 131 8.1.1 Why RCE Require Access Control? . 131 8.1.2 Access Control Requirements and Issues . 132 8.1.3 Undoing Operations in RCE . ..