I modelli di sicurezza ad alto livello identificati in questa attività sono i seguenti. Gli elementi
dell' Architettura del sistema interessati ai requisiti di sicurezza (la sicurezza riguarda sia gli elementi
software che hardware) potrebbero essere associati a uno o più modelli (preferibilmente documentati in Artefatto: Documento dell'architettura software) in modo tale che
possano essere raffinati durante le attività del tempo di progettazione.
Identità e autenticazione
Un utente finale possiede un identificato (nome utente) e/o un insieme di identificativi (titoli, ruoli, alias) e prove
(password), che conserva probabilmente su un sistema client come un laptop o un PDA. Per autenticare, l'utente presenta
l'identificativo e la prova ad un'applicazione quando viene richiesto per identificarsi all'applicazione. Se
l'applicazione convalida l'identificativo e la prova, l'utente ha correttamente "autenticato" e l'identità è ora
un'"identità autenticata". Quando un'applicazione implementa la logica del business e rafforza le proprie politiche di
sicurezza, è necessario conservare il repository dei dati/metadati (file system, database, ecc). Con l'avvento del Web,
l'utente finale non dispone più solo del codice client dell'applicazione sul proprio sistema, ma spesso accedere alle
applicazioni tramite un browser, e la rete trova un'applicazione tramite un URI (universal resource identifier) fornito
dall'utente finale.
Single Sign-On
Quando un utente ha più applicazioni con identificativi e prove diverse , diventa a volte difficile gestire i
dati ed i metadati d'identità per prendere le decisioni appropriate. SSO (Single Sign-On) è un termine applicato a
diverse tecniche (umane e automatizzate) per ridurre questa complessità.
Le soluzioni per SSO possono essere basate sul client o sul server/servizio e possono essere fermamente o debolmente
accoppiati alle applicazioni. Il SSO basato sul Web fa riferimento alle soluzioni basate sul browser e generalmente
include i cookie. Negli SSO basati sul client e accoppiati fermamente, la responsabilità è dell'utente per registrare e
sincronizzare più id e password che sono conservati in più repository di applicazione. Alcuni SSO si basano
sull'"associazione di identità" altri forniscono "propagazione di identità" o "asserzioni di identità". Nuove
iniziative negli SSO associati consentono ad un utente di registrare con un Provider del servizio di entità di terza
parte che quindi gestisce le informazioni utente fornendo un'alternativa debolmente accoppiata. Nelle aziende, un SSO
di backend può includere l'azienda che agisce come ISP. L'SSO di beckend include un repository comune per tutte le
applicazioni e ogni applicazione/server viene riconfigurato per non utilizzare un repository locale. Gli SSO di backend
conservano più repository per le informazioni utente e utilizzando un processo di gestione per forzare la
sincronizzazione dei dati di entità in più repository. Quando più entità sono interessate, spesso i requisiti isolano
le applicazioni in realm che spesso si correlano a domini amministrativi.
Identità digitali
Poiché le persone e le imprese sono diventate più dipendenti dalla tecnologia del computer, c'è stata una
proliferazione di informazioni relative all'identità che sono state create. Con la consapevolezza del furto di
identità, i governi legiferano sui requisiti per le aziende a proposito delle informazioni di identità per le quali
loro sono custodi.
Soluzioni di identità digitale - Ci sono due strategie principali per la gestione delle identità digitali. Una è
"incentrata sull'utente", e si basa su un utente che partecipa attivamente alla protezione dell'identità, "registrando"
con provider di terze parti e quindi garantendo l'autorizzazione all'accesso dei propri dati e metadati di entità ai
provider di cui si fidano. La Liberty Alliance è un consorzio che porta avanti questa strategia, ma c'è anche uno
sforzo open source con l'iniziativa Higgins nella partnership con Apache Foundation.
Il secondo è un modello incentrato sul business nel quale un business fornisce servizi di gestione dell'entità ai
clienti, ai partner e agli impiegati. La tecnologia sottostante è la stessa per ogni approccio, ma l'autorità e la
responsabilità per la fornitura della gestione identità è diversa. LE aziende hanno a che fare con diversi volumi di
informazioni rispetto agli individui singoli e quindi hanno diversi requisiti di scala. Le aziende devono inoltre avere
i propri sistemi per gestire l'accesso agli utenti in base ai ruoli di business e cambiare le condizioni di business
(ad esempio, si è sempre "My Self", ma non si desidera lavorare sempre per la società xyz.)
Autorizzazione
Poiché le persone e le imprese sono diventate più dipendenti dalla tecnologia del computer, le regole relative a chi
può accedere a quali risorse è diventata più codificata. Quando si progettano le applicazioni, la decisione di chi può
accedere a quali informazioni potrebbe dipendere dalle informazioni del contesto aziendale o potrebbe essere
esternalizzata all'applicazione e gestita da un insieme separato di middleware. La maggior parte dei prodotti e dei
sistemi del computer hanno implementato un insieme di meccanismi di "controllo degli accessi", ma ognuno di solito
mantiene la propria associazione di nomi utente autorizzati e questi sono chiamati "elenchi di controllo accessi".
Protezione del messaggio
Ci sono due tipi di base di protezione; protezione dell'integrità (prova che il messaggio non è stato modificato mentre
era in transito) e riservatezza (applicazione di crittografia per assicurare che solo i destinatari autorizzati possano
visualizzare il messaggio). Quando i messaggi vengono inviati su un protocollo ogni messaggio può essere firmato in
modo digitale o codificato o il protocollo di rete può firmare/codificare tutto il traffico tra i due punti di
ingresso. Quando il protocollo fornisce la protezione, spesso si dice che è "point to point" (ad esempio l'endpoint
della rete all'endpoint della rete).
|