Le Problème D'Emprisonnement

Bookmark and Share this Article Original English article

Considérez un client et un serveur. Quand le client publie une demande au serveur, le client envoie au serveur quelques données. Le serveur alors emploie les données pour exécuter une certaine fonction et ne renvoie un résultat (ou aucun résultat) au client. Le contrôle d'accès affecte la fonction du serveur de deux manières.

  1. Le serveur doit s'assurer que les ressources qu'il accède au nom du client incluent seulement ces ressources que le client est autorisé à accéder.

  2. Le serveur doit s'assurer qu'il n'indique les données du client à aucune autre entité non autorisée à voir les données du client.

La première condition représente le but du fournisseur de service. Ce but est d'empêcher le client d'envoyer les messages au serveur qui le causent à l'accès, changent, transmettent, ou consomment les ressources que le client n'est pas autorisé à accéder, changer, transmettre, ou consommer. La deuxième condition représente le but de l'utilisateur de service. Ce but est d'empêcher le serveur de transmettre l'information confidentielle au fournisseur de service. Dans les deux cas, le serveur doit être confiné à accéder seulement à un ensemble spécifique de ressources.

EXEMPLE : Soldes d'un serveur pour des abonnés. Les abonnés emploient un client pour transmettre les entrées de registre, le solde bancaire courant, et ces retraits et dépôts qui ont dégagé la banque au serveur. Le serveur renvoie la liste de contrôles et de dépôts exceptionnels et n'importe quelle anomalie entre l'équilibre de registre et le solde bancaire. Les abonnés payent des honoraires pour chaque usage.

Le fournisseur de service exige que le disque de serveur correctement qui a employé le service chaque fois il est employé. Autrement, le fournisseur de service ne peut pas afficher pour l'usage du service. La menace est que quelqu'un peut employer le service sans être détecté (et donc sans être chargé) ou que l'utilisateur peut personnifier un autre abonné (ayant pour résultat l'abonné faux étant chargé). Le fournisseur de service également ne veut pas que le serveur ne communique des disques de facturation ou aucune autre information non autorisée à le client. Le serveur devrait envoyer seulement l'information qu'il a dérivée des données que le client a envoyées. Ainsi le serveur doit être confiné au fonctionnement seulement sur les données qu'il est envoyé.

L'abonné s'attend à certains services de sécurité du serveur. Le serveur doit correctement noter l'invocation de l'utilisateur de sorte que l'utilisateur ne soit pas chargé inexactement. (ceci assortit le besoin du fournisseur de service.) Le serveur ne doit pas enregistrer ou transmettre les données que l'abonné lui envoie parce que les données de l'abonné sont confidentielles à l'abonné et ne sont pas appropriées au fournisseur de service. Ainsi le serveur doit être confiné à garder les données à lui-même et à envoyer les résultats seulement à l'abonné.


Lampson appelle ceci le problème d'emprisonnement.

Le problème d'emprisonnement est le problème d'empêcher un serveur de l'information disjointe que l'utilisateur du service considère confidentiel.

Une caractéristique des processus qui ne fuient pas l'information vient de l'observation qu'un processus doit stocker des données pour la récupération postérieure (la fuite). Un processus qui ne stocke pas l'information ne peut pas la fuir. Cependant, à l'extrème, de tels processus ne peuvent également exécuter aucun calculs, parce qu'un analyste pourrait observer l'écoulement de la commande (ou l'état du processus) et de cet écoulement déduisez les informations sur les entrées. Ceci mène à l'observation qu'un processus qui ne peut pas être observé et ne peut pas communiquer avec d'autres processus ne peut pas fuir l'information. Lampson appelle cet isolement total.

Dans la pratique, la réalisation de l'isolement total est difficile. Les processus à être habituellement confinées les ressources de part telles que CPUs, réseaux, et mémoire à disque avec autre, unconfined des processus. Unconfined des processus peut transmettre l'excédent de l'information ces ressources partagées.

Un canal secret est un chemin de communication qui n'a pas été conçue pour être employée pour la communication.

EXEMPLE : Le processus p doit être confiné tels qu'il ne peut pas communiquer avec le processus q. Cependant, les processus p et q partagent un système de fichiers. Afin le processus p pour envoyer un message au processus q, il crée un dossier appelé introduisez un annuaire que les deux processus peuvent lire. Juste avant que le processus q doive lire l'information, q supprime le dossier d'envoi. Le processus p transmet alors un peu en créant un dossier appelé 0bit ou 1bit, comme approprié. Quand q détecte l'un ou l'autre dossier, il enregistre le bit et supprime le dossier. Ceci continue jusqu'à ce que p crée un dossier appelé l'extrémité, laquelle au point la communication cesse.


L'emprisonnement est transitif. Supposez qu'un processus p est confiné pour empêcher la fuite. S'il appelle un deuxième processus q, alors q doit être pareillement confiné ou q pourrait fuir l'information que p passe.

La règle de l'emprisonnement transitif déclare que si un processus confiné appelle un deuxième processus, le deuxième processus doit être en tant que confiné en tant que visiteur.

L'emprisonnement est un mécanisme pour imposer le principe de moindre privilège. Un processus correctement confiné ne peut pas transmettre des données à un deuxième processus à moins que la transmission soit nécessaire pour accomplir le leur chargent. Le problème est que le processus confiné a besoin de l'accès aux données pour être transmis et ainsi l'emprisonnement doit être sur la transmission, pas sur l'accès de données. Pour compliquer des sujets, le processus peut devoir transmettre de l'information au deuxième processus. Dans ce cas-ci, le mécanisme d'emprisonnement doit distinguer la transmission des données autorisées et la transmission des données non autorisées.

La combinaison de ces problèmes illustre la difficulté d'empêcher la fuite. Le dilemme est que des ordinateurs modernes sont conçus pour partager des ressources, mais par l'acte partageant d'eux créent les canaux de dont communication le long l'information peut être fuie.

Lipner examine le problème d'une politique et aspect de modeler. Il considère deux types de canaux secrets. Le premier comporte l'utilisation du stockage de transmettre l'information. Si un modèle décrit correctement toutes les manières dans lesquelles l'information peut être stockée et lue, alors le modèle soustrait les canaux légitimes et secrets le long dont l'information peut couler. Le modèle contraint tous les accès au stockage. Les seuls accès permis sont ceux autorisés par la politique, ainsi les écoulements d'information sont légitimes. Cependant, si le modèle ne capture pas tous tels écoulements, puis écoulements non autorisés, ou canaux secrets, surgissez.

Lipner note alors que tous les processus peuvent obtenir au moins une idée approximative de temps. Ceci fait à temps une voie de transmission. Temps un "lu" de bidon de programme en vérifiant l'horloge de système ou (alternativement) en comptant le nombre d'instructions il s'est exécuté pendant une période de temps d'horloge de mur. Un bidon de programme "écrivent" le temps en exécutant un nombre d'ensemble d'instructions et l'arrêt, permettant à un autre processus de s'exécuter. Ce canal partagé ne peut pas être rendu exclusif à moins qu'un processus ne partage pas l'ordinateur avec un autre processus, qui suggère l'isolement comme remède.

Les attaques de la synchronisation de Kocher sur des cryptosystems illustrent ce problème. Kocher note que les instructions exécutées par des réalisations des cryptosystems dépendent de l'arrangement du peu dans la clef. Par exemple, l'algorithme au-dessous des instruments une fonction modulaire rapide d'élévation à une puissance. Si un peu est 1, deux multiplications se produisent ; autrement, une multiplication se produit. La multiplication supplémentaire prend du temps supplémentaire. Kocher détermine le peu de l'exposant confidentiel en mesurant le temps de calcul.

Une routine modulaire rapide d'élévation à une puissance. Cette routine calcule x = mod n d'az. Le peu de z est zk1. . . ,z0.
X : = 1 ; atmp : = a ; pour I : = 
0 à k-1 commencent        si zi = 1 puis           x :
= (x * atmp) mod n ;        atmp : = (atmp * atmp) 
mod n ; extrémité ; résultat : = X ;

Nous explorons le mécanisme de l'isolement d'abord. Alors nous examinons les canaux secrets en plus détail et discutons d'autres approches à les analyser, y compris des techniques pour identifier les canaux secrets et les isoler.

c'est un article supplémentaire par Bill Kuriko


Déni : Notre site Web n'est pas responsable de l'information contenue par cet article. Cet article reflète nullement les vues, les avis, les pensées ou la croyance du personnel d'annuaire d'articles.

Notification de traduction : L'article "le problème d'emprisonnement" a été traduit en utilisant un service de traduction automatisé. Nous faisons des excuses sincèrement pour toutes les erreurs de traduction qui se sont produites. Merci de l'arrangement.


  Online: 1069 users browsing the articles directory © 2005-2010 E-articles.info All Rights Reserved.  
The articles and tutorials in the directory are property of their respective owners and authors.