Quelle est la signification et la différence entre le sujet, l'utilisateur et le principal?


Dans le contexte des cadres de sécurité, quelques termes fréquemment se produire sujet, l'utilisateur et principal, dont je n'ai pas été en mesure de trouver une définition claire et la différence entre eux.

Donc, ce que signifient ces termes, et pourquoi ces distinctions de objet et principal nécessaire?

Author: nbro, 2011-02-14

6 answers

Ceux-ci sont hiérarchiques de la manière dont le genre, l'espèce et l'individu sont hiérarchiques.

  • Objet - Dans un contexte de sécurité, un objet est une entité qui demande l'accès à un object. Ce sont des termes génériques utilisés pour désigner la chose demandant l'accès et la chose contre laquelle la demande est faite. Lorsque vous vous connectez à une application que vous êtes l'objet et l'application est l'objet. Quand quelqu'un frappe à votre porte le visiteur est le sujet demande d'accès et votre maison est l'objet dont l'accès est demandé.
  • Principal - Un sous-ensemble de subject qui est représenté par un compte, un rôle ou un autre identifiant unique. Lorsque nous arrivons au niveau des détails d'implémentation, les principaux sont les clés uniques que nous utilisons dans les listes de contrôle d'accès. Ils peuvent représenter les utilisateurs humains, l'automatisation, les applications, les connexions, etc.
  • Utilisateur - Un sous-ensemble de principal généralement référence à un opérateur humain. La distinction est floue au fil du temps parce que les mots "utilisateur" ou "ID utilisateur" sont généralement échangés avec "compte". Cependant, lorsque vous devez faire la distinction entre la grande classe de choses qui sont principes et le sous-ensemble de ceux-ci qui sont des opérateurs interactifs conduisant des transactions de manière non déterministe, "utilisateur" est le bon mot.

Sujet/Objet hérite des mêmes termes que ceux utilisés en grammaire. En une phrase, le sujet est l'acteur et le l'objet est la chose a agi sur. En ce sens, l'utilisation existe depuis avant l'invention des ordinateurs. Dans un contexte de sécurité, un sujet est tout ce qui peut faire une demande. Comme indiqué ci-dessus, cela ne doit pas se limiter à la sécurité informatique et il en va de même pour une classification très large. Ce qui est intéressant, c'est que le sujet implique l'objet. Sans objet, il n'y a pas de sujet.

Les principes sont ce à quoi les sujets se résolvent. Lorsque vous présentez votre carte de crédit vous êtes le sujet et le compte nombre est le principal. Dans d'autres contextes, votre ID utilisateur ou votre identification émise par l'État est votre principal. Mais les directeurs peuvent être associés à de nombreux types de sujets qui ne sont pas des personnes. Lorsque les applications font des demandes de fonctions au niveau du système, le principal peut être le signataire d'un module de code exécutable signé, mais même dans ce cas, l'utilisateur qui pilote la demande est toujours le sujet.

L'utilisateur est plus spécifique que le sujet ou le principal en ce sens qu'il se réfère généralement à un opérateur interactif. C'est pourquoi nous avons une Interface Utilisateur graphique et non une Interface Principale Graphique. Un utilisateur est une instance de objet, ce qui correspond à un principal. Un seul utilisateur peut résoudre à un nombre quelconque de principaux, mais tout principal est censé résoudre à un seul utilisateur (en supposant que les gens observent l'exigence de ne pas partager les ID). Dans l'exemple ci-dessus, le signataire d'un code exécutable module est certainement pas l'utilisateur, mais c' est valide principal. Le l'opérateur interactif essayant d'obtenir le module chargé est l'utilisateur.

Comme indiqué dans les commentaires, même les sources ne sont pas d'accord sur ces termes. J'ai cherché NIST, SANS, IEEE, MITRE et plusieurs sources "quasi-faisant autorité" telles que les guides d'examen de sécurité tout en préparant cette réponse. Aucune source unique que j'ai trouvée qui était au moins quasi-faisant autorité ne couvrait les trois termes et tous différaient considérablement dans leur utilisation. Ceci est mon point de vue sur la façon dont les termes devraient être utilisé mais d'un point de vue pratique, lorsque vous examinez un manuel au milieu de la nuit, les définitions ont tendance à être ce que le vendeur ou l'écrivain disent qu'ils sont. Espérons que les réponses ici fourniront suffisamment d'informations pour naviguer dans les eaux et analyser tout document de sécurité en utilisant ces termes.

 216
Author: T.Rob, 2011-02-17 20:12:03
 50
Author: Marinus, 2015-01-09 08:02:59

Je pense que la terminologie est tirée de JAAS.

Lorsqu'une application utilise JAAS authentification pour authentifier le utilisateur (ou autre entité telle qu'un service), un Subject est créé en tant que résultat. Le but du sujet est pour représenter l'utilisateur authentifié. Un Le sujet est composé d'un ensemble de Principaux , où chaque Principal représente une identité pour cet utilisateur. Par exemple, un Sujet pourrait avoir un nom Principal ("Susan Smith") et un Numéro de Sécurité Sociale Principal ("987-65-4321"), ainsi distinguer ce sujet des autres Sujet.

 14
Author: Aravind R. Yarram, 2018-02-01 00:10:37

Sujet est l'entité qui demande un service. Il peut être un utilisateur ou un processus. C'est probablement pourquoi le nom Subject a été choisi à la place de user.

Lorsqu'un sujet tente d'accéder à un service, il doit d'abord être authentifié. L'authentification réussie se termine par le chargement des principes de sécurité pour ce sujet. Par exemple, dans un système de contrôle d'accès basé sur les rôles, un utilisateur authentifié (connecté) aura généralement deux principes: userId et roleId. Dans de tels systèmes, les privilèges(c'est-à-dire qui peut accéder à quoi) sont spécifiés pour les rôles et pour les utilisateurs. Lors de l'autorisation(c'est-à-dire vérifier si le service demandé doit être autorisé), le système de sécurité vérifiera l'accessibilité par rapport aux deux principes.

Par conséquent, du point de vue de l'autorisation, les mandants sont les entités réelles pour lesquelles l'accès est autorisé ou refusé. Subject est juste un utilisateur/thread / processus qui contient certains principes.

 10
Author: rahulmohan, 2011-02-16 20:54:45

Comme T. Rob l'a expliqué, le sujet est toute entité qui demande l'accès à un objet. À partir de ce point, j'ai trouvé un commentaire sur javax.sécurité.auth.Code sujet que j'ai trouvé TRÈS utile et facile à comprendre:

"Les sujets peuvent potentiellement avoir plusieurs identités. Chaque identité est représentée comme un Principal au sein du Sujet. Les principes lient simplement les noms à un sujet. Par exemple, un Sujet qui se trouve être une personne, Alice, pourrait avoir deux principes: un qui lie " Alice Bar", le nom sur son permis de conduire, au Sujet, et un autre qui lie, "999-99-9999", le numéro sur sa carte d'identité d'étudiant, au Sujet. Les deux principes se réfèrent au même sujet même si chacun a un nom différent."

J'espère que ça aide.

 9
Author: Rafael, 2014-01-09 10:33:45

Ceci est le lien pour l'explication ci-dessous de la documentation Oracle Java SE.

Sujets, Principes, Authentification et Informations d'identification Pour autoriser l'accès aux ressources, les applications doivent d'abord authentifier la source de la demande. Le cadre JAAS définit le terme subject pour représenter la source d'une demande. Un sujet peut être toute entité, telle qu'une personne ou un service. Un sujet est représenté par le javax.sécurité.auth.Sujet classe.

L'authentification représente le processus par lequel l'identité d'un sujet est vérifiée et doit être effectuée de manière sécurisée; sinon, un auteur peut se faire passer pour d'autres personnes pour accéder à un système. L'authentification implique généralement que le sujet démontre une certaine forme de preuve pour prouver son identité. Ces preuves peuvent être des informations que seul le sujet pourrait connaître ou avoir (comme un mot de passe ou une empreinte digitale), ou il peut s'agir d'informations que seul le sujet pourrait produire (comme les données signées à l'aide d'une clé privée).

Une fois authentifié, un sujet est rempli avec des identités associées, ou Principals (de type java.sécurité.Principal ). Un Sujet peut avoir plusieurs principes. Par exemple, une personne peut avoir un nom Principal ("John Doe") et un SSN Principal ("123-45-6789"), ce qui la distingue des autres sujets.

En plus des Principes associés, un Sujet peut posséder des attributs liés à la sécurité, auxquels il est fait référence comme informations d'identification. Un identifiant peut contenir des informations utilisées pour authentifier le sujet à de nouveaux services. Ces informations d'identification comprennent des mots de passe, des tickets Kerberos et des certificats de clé publique. Les informations d'identification peuvent également contenir des données permettant au sujet d'effectuer certaines activités. Les clés cryptographiques, par exemple, représentent des informations d'identification qui permettent au sujet de signer ou de chiffrer des données. Les classes d'informations d'identification publiques et privées ne font pas partie de l'API J2SE principale. Toute classe peut donc représenter un justificatif d'identité.

 3
Author: fgul, 2017-11-02 11:43:55