Le Problème D'Emprisonnement
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.
-
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.
-
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.