Possibilités
Conceptuellement, des possibilités sont comme la rangée d'une matrice de contrôle d'accès. Chaque sujet a associé à elles un ensemble de paires, avec chaque paire contenant un objet et un ensemble de droites. Le sujet s'est associé à cette liste peut accéder à l'objet appelé de n'importe laquelle de ces manières indiquées par les droites appelées. Plus formellement :
Nous abrégeons la "liste de possibilités" comme C-Liste. Les possibilités encapsulent l'identité d'objet. Quand un processus présente des possibilités au nom d'un utilisateur, le logiciel d'exploitation examine les possibilités pour déterminer l'objet et l'accès auxquels le processus a droit. Ceci reflète comment les capabiliies pour la gestion de mémoire travaillent ; l'endroit de l'objet dans la mémoire est encapsulé dans les possibilités. Sans possibilités, le processus ne peut pas appeler l'objet dans une manière dont lui donnera l'accès désiré.
Les "codewords" d'Iliffe sont semblables aux possibilités. les "possibilités" sont une manière de commander l'accès aux objets dans la mémoire ou stockage secondaire. Fabry a généralisé cette idée de mettre en application l'adressage possibilité-basé. L'architecture des possibilités est plus intéressante que celle des listes de contrôle d'accès. Le Access Control List et l'identité de processus sont sous la commande du logiciel d'exploitation. En l'absence des pailles, les processus d'utilisateur peuvent les changer seulement en appelant les services de logiciel d'exploitation. Cependant, un processus doit identifier des possibilités afin de les employer, ainsi le processus doit avoir un certain contrôle des possibilités. Si le processus peut forger des possibilités et puis les employer, les contrôles d'accès échouent. Exécution des possibilitésTrois mécanismes sont employés pour protéger des possibilités : étiquettes, mémoire protégée, et cryptographie. Une architecture étiquetée a un ensemble de peu lié à chaque mot de matériel. L'étiquette a deux états : l'ensemble et a supprimé. Si l'étiquette est placée, un processus ordinaire peut lire mais ne pas modifier le mot. Si l'étiquette est supprimait, un processus ordinaire peut lire et modifier le mot. De plus, un processus ordinaire ne peut pas changer l'état de l'étiquette ; le processeur doit être en mode privilégié à faire ainsi.
Plus commun est employer le peu de protection lié à la pagination ou à la segmentation. Toutes les possibilités sont stockées dans une page (segment) que le processus peut lire mais ne pas changer. Ceci n'exige aucun matériel pour un but particulier autre que cela employé par l'arrangement de gestion de mémoire. Mais le processus doit mettre en référence des possibilités indirectement, habituellement par des indicateurs, plutôt que directement.
Une troisième alternative doit employer la cryptographie. Le but des étiquettes et de la protection de mémoire est d'empêcher les possibilités d'être changé. C'est apparenté à la vérification d'intégrité. Les sommes cryptographiques sont un autre mécanisme pour vérifier l'intégrité d'information. Chaque possibilités ont une somme cryptographique liée à elles, et la somme est digitalement chiffrée en utilisant un cryptosystem dont la clef est connue au logiciel d'exploitation. Quand le processus présente des possibilités au logiciel d'exploitation, les premiers recomputes de système que la somme cryptographique a associés aux possibilités. Elle alors chiffre la somme en utilisant la clef cryptographique et la compare à celle stockée dans les possibilités, ou déchiffre la somme équipée de possibilités et la compare à la somme calculée. S'ils s'assortissent, les possibilités sont inchangées. Si pas, les possibilités sont rejetées.
Possibilités copiantes et d'amplificationsLa capacité de copier des possibilités implique la capacité de donner des droits. Pour empêcher des processus de donner aléatoirement des droits partis, un drapeau de copie est associé aux possibilités. Un processus ne peut pas copier des possibilités à un autre processus à moins que le drapeau de copie soit placé. Si le processus copie les possibilités, le drapeau de copie peut être arrêté (à la discrétion du processus ou du grain).
L'amplification est l'augmentation des privilèges. L'idée de la programmation modulaire, et particulièrement des types de données abstraits, exige que les droites que un processus a au-dessus d'un objet soient amplifiées. Pour comprendre pourquoi, considérez le type de données abstrait suivant pour un compteur. compteur de module ; ctr increment(var d'entrée de procédé : nombre entier) ; commencez le ctr : = ctr + 1 ; extrémité ; getval(ctr d'entrée de fonction : nombre entier) ; commencez getval : = ctr ; extrémité ; ctr clear(var d'entrée de procédé : nombre entier) ; commencez le ctr : = 0 ; extrémité ; extrémité. Supposez que x est déclaré pour être un compteur. Les règles des types de données abstraits admettent qu'objet à consulter seulement par le contre- module. Ainsi, au commencement les possibilités pour x contiendraient la droite d'appeler le contre- module seulement. Mais quand l'objet est passé au contre- module, le processus doit maintenant pouvoir lire et écrire à cet objet. Par conséquent, les possibilités doivent être amplifiées temporairement tandis que le compteur de module est en activité.
Révocation des droitesDans un système de possibilités, le retrait de l'accès à un objet exige que toutes les possibilités accordant l'accès à cet objet soient retirées. Conceptuellement, chaque processus a pu être vérifié, et les possibilités être supprimé. Le coût d'une telle opération serait inacceptable, cependant, ainsi des méthodes alternatives sont employées. Le mécanisme le plus simple est adressage indirect. Définissez une ou plusieurs tables globales d'objet. Dans cet arrangement, chaque objet a une entrée correspondante dans une table. Les possibilités n'appellent pas l'objet directement ; elles appellent l'entrée dans la table correspondant à l'objet. Cet arrangement a plusieurs avantages. D'abord, pour retirer des possibilités, l'entrée dans la table globale d'objet est infirmée. Alors toutes les références obtiendront une entrée inadmissible de table et seront rejetées. En second lieu, si seulement certaines des possibilités doivent être retirées, l'objet peut avoir les entrées multiples, chacune qui correspond à un ensemble différent de droites ou un groupe différent d'utilisateurs.
Un mécanisme alternatif de révocation emploie le type de données abstrait directeurs. Inclus avec chaque type de données abstrait est un procédé de révocation. Quand l'accès doit être retiré, le type directeur simpy rejette d'autres accès par le sujet dont les droites sont retirées. Ceci n'affecte pas des méthodes alternatives d'accéder aux objets sous-tendants les types de données abstraits. Par exemple, l'accès à un dossier peut être retiré, mais cette technique ne bloquerait pas l'accès aux segments fondamentaux par un type alternatif directeur. Le système SCP3 a employé cette technique. Comparaison avec des listes de contrôle d'accèsDeux questions sont à la base de l'utilisation des contrôles d'accès :
Dans la théorie, les listes ou les possibilités de contrôle d'accès peuvent répondre à ces questions. Pour la première question, les possibilités sont les plus simples ; liste juste les éléments de la C-Liste associée du sujet. Pour la deuxième question, ACLs sont les plus simples ; liste juste les éléments du Access Control List de l'objet. Dans un système d'ACL-based, la réponse de la première question exige de tous les objets d'être balayés. Le système extrait toutes les entrées de ACL liées au sujet en question. Dans un système possibilité-basé, la réponse de la deuxième question exige de tous les sujets d'être balayés. Le système extrait toutes les possibilités liées à l'objet en question. Karger et Herbert speculent que la différence pratique en répondant à la deuxième question est la raison plus de listes de contrôle d'accès d'utilisation de systèmes que des possibilités. On pose cette question plus souvent que le premier. Car le centre de la réponse d'incident décale de "qui a accédé à l'objet" pour inclure "quoi encore a fait cet accès soumis," les systèmes possibilité-basés peuvent devenir plus communs. c'est un article supplémentaire par Fred Foster
|
|||||||||||
|