Questi sono gerarchici nel modo in cui genere, specie e individuo sono gerarchici.
- Oggetto : in un contesto di sicurezza, un soggetto è qualsiasi entità che richiede l'accesso a un oggetto . Questi sono termini generici usati per indicare la cosa che richiede l'accesso e la cosa contro cui viene fatta la richiesta. Quando si accede a un'applicazione, l'utente è soggetto e l'applicazione è l'oggetto. Quando qualcuno bussa alla tua porta, il visitatore è il soggetto che richiede l'accesso e la tua casa è l'oggetto di cui è richiesto l'accesso.
- Principal : un sottoinsieme di soggetti rappresentato da un account, ruolo o altro identificatore univoco. Quando arriviamo al livello dei dettagli di implementazione, i principali sono le chiavi uniche che utilizziamo negli elenchi di controllo degli accessi. Possono rappresentare utenti umani, automazione, applicazioni, connessioni, ecc.
- Utente : un sottoinsieme di entità principale che si riferisce di solito a un operatore umano. La distinzione si confonde nel tempo perché le parole "utente" o "ID utente" sono comunemente scambiate con "account". Tuttavia, quando è necessario fare una distinzione tra l'ampia classe di cose che sono principali e il sottoinsieme di questi che sono operatori interattivi che guidano le transazioni in modo non deterministico, "utente" è la parola giusta.
Oggetto / Oggetto eredita dagli stessi termini usati in grammatica. In una frase il soggetto è l'attore e l'oggetto è la cosa recitata. In questo senso l'uso è in uso da prima dell'invenzione dei computer. In un contesto di sicurezza, un soggetto è tutto ciò che può fare una richiesta. Come notato sopra, questo non deve essere limitato alla sicurezza IT e quindi è una classificazione molto ampia. La cosa interessante è che il soggetto implica oggetto. Senza un oggetto, non c'è soggetto.
I presidi sono ciò che i soggetti risolvono. Quando presenti la tua carta di credito sei il soggetto e il numero di conto è il principale. In altri contesti l'ID utente o l'identificazione rilasciata dallo stato è il principale. Ma i presidi possono essere associati a molti tipi di soggetti che non sono persone. Quando le applicazioni fanno richieste per funzioni a livello di sistema, il principale può firmare un modulo di codice eseguibile firmato ma anche in quel caso l'utente che guida la richiesta rimane l'oggetto.
L'utente è più specifico del soggetto o dell'entità in quanto di solito si riferisce a un operatore interattivo. Ecco perché abbiamo un'interfaccia utente grafica e non un'interfaccia principale grafica. Un utente è un'istanza di soggetto che si risolve in un'entità . Un singolo utente può risolvere un numero qualsiasi di entità, ma si prevede che qualsiasi entità si risolva in un singolo utente (supponendo che le persone osservino il requisito di non condividere gli ID). Nell'esempio sopra, il firmatario di un modulo di codice eseguibile non è sicuramente l'utente, ma è un'entità valida. L'operatore interattivo che cerca di caricare il modulo è l'utente.
Come notato nei commenti, anche le fonti autorevoli non concordano su questi termini. Ho cercato NIST, SANS, IEEE, MITRE e diverse fonti "quasi autorevoli" come le guide agli esami di sicurezza mentre preparavo questa risposta. Nessuna singola fonte che ho trovato che fosse almeno quasi autorevole copriva tutti e tre i termini e differivano significativamente nel loro utilizzo. Questa è la mia opinione su come usare i termini , ma da un punto di vista pratico, quando stai studiando attentamente un manuale nel cuore della notte, le definizioni tendono ad essere qualunque sia il venditore o lo scrittore che dicono di essere. Speriamo che le risposte qui forniranno informazioni sufficienti per navigare nelle acque e analizzare qualsiasi documento di sicurezza usando questi termini.