Sto lavorando a un concetto di sicurezza di un progetto più grande. Sarà fatto con Spring, ma al momento non è rilevante.
L'intero sistema è un albero gerarchico di nodi di computer che eseguono un software platfrom personalizzato, mentre i nodi layer 1 si connettono a un nodo sul layer 2, i nodi layer 2 si connettono a un nodo sul layer 3 e così via.
L'ideaèchel'interosistemaabbiaunnodoprincipalechesaràlaradicedell'albero.L'interagestionedegliutenti,inclusal'autenticazione,verràeseguitalì.Significacheunarichiestadiaccessodaunnododilivelloinferioreverràinoltrataalnodoradice.Ilconcettoperquestoèpraticamentefattoesembrabuono.
Lapartedifficileinquestomomentoèl'autorizzazione.Ilsistemadovrebbedareunasensazionetop-downSingleSignOn.Significatosehoeffettuatol'accessosuunnododilivello3,nondovròpiùcollegarmiadalcunnododilivelloinferiore.Attualmenteloimmaginoinquestomodo:
Accedi
- L'utenteaccedeaunnodosuperiore
- L'utenteottienelachiavedisessionememorizzatainuncookie
- L'utenteaccedeaunapiattaformasuunnodoinferiore
- Ilmodulodiautorizzazionedelnodoinferiorenonconoscelachiavedisessionefornita
- Modulodiautorizzazionechiedialnodosuperioreselachiavedisessioneènota
- Un'istanzanodosuperioreconoscelachiavedisessioneelerisposteconunOK
- Ilmodulodiautorizzazionesulnodoconaccessotentatocreaunanuovasessionelocaleperquestoutente.
- Lachiavedisessionevieneaggiuntaalcookie.
- L'utenteutilizzalachiavedisessionelocaleperunulterioreaccessoaquestonodo.
Accedi
- L'utentesidisconnettesuunnodocasuale
- Ilnodosucuil'utentesièdisconnessoinformailnodoconlachiavedisessioneoriginalememorizzata,chelasessionenonèpiùvalida.
- Ilnodoconlachiavedisessioneoriginaledellasessionearchiviatainviaunatrasmissioneversoilbassoperinformaretuttiiclientchequestasessionenonèpiùvalida.
Ovviamente,l'interacomunicazioneinterlayersaràprotetta.
Questoconcettofunzionerebbetecnicamente,suppongo.Datochenonhomaidovutocreareunconcettodisicurezzacomplessocomequesto,mipiacedavverosentireunaltroparere.Forsestosupervisionandounproblemaimportante.Riesciavedereunbucofatalenellastoria,odovreiandareconquello?
Aggiorna
Undettaglioimportantechehoperso,ècheunlivelloinferiorenonhanecessariamenteaccessodirettoallareteallivellosuperiore.Puòsuccederecheilivellisitrovinoinretidiverseeabbianosolounaconnessionediretedirettaallivellosuperioresuccessivo.PertantononavròlapossibilitàdicreareunserverdilogincentralecomedisolitousatoconSSO.
Aggiorna
Diagrammadisequenzachespiegal'interoprocessoelanecessitàdichiavi