Di seguito è una proposta per affrontare una situazione di sicurezza del sito web. Mi chiedo se sia fattibile, sia dal punto di vista tecnico che di usabilità. Voglio assicurarmi che la proposta contenga errori evidenti.
- Il sito web
Il sito web in questione è un sito web scolastico in cui gli studenti possono acquistare vari oggetti. Questi studenti ottengono un account sul sito Web con un nome utente e una password, che possono utilizzare per accedere. Una volta effettuato il login, hanno accesso a pagine protette con contenuti privati che non sono disponibili per il pubblico in generale.
- La preoccupazione per la sicurezza
I proprietari del sito Web desiderano evitare una situazione in cui un singolo studente si iscrive sul sito Web, ottiene un nome utente e una password e quindi fa circolare tali credenziali in una cerchia di amici che sono quindi in grado di accedere al sito Web e illegalmente visualizza il contenuto privato.
- La soluzione
L'idea centrale che abbiamo elaborato per risolvere questo problema di sicurezza è consentire a ogni studente di accedere al sito Web solo su due dispositivi. Una volta che uno studente accede a due dispositivi diversi, questi sono limitati a questi due dispositivi. Se poi tentano di accedere a un terzo dispositivo, il sistema semplicemente non consente loro di farlo. Siamo a conoscenza del fatto che altri siti Web che offrono contenuti privati, come Netflix, utilizzano tale approccio.
- Attuazione
Due idee vengono in mente per implementare la suddetta misura di sicurezza: indirizzo IP e cookie. Escludiamo gli indirizzi IP che possono cambiare e scegliere i cookie. Siti web come amazon.com consentono ai loro clienti di effettuare il login una volta, e quindi ogni volta che ritornano al sito Web, vengono sempre riconosciuti. Questo è quasi certamente raggiunto attraverso i cookie.
Quindi ogni volta che uno studente si connette, memorizzeremo sul suo dispositivo un cookie. E conserveremo anche questo cookie nel nostro database sotto l'account di quell'alunno. Pertanto, ogni volta che uno studente accede a qualsiasi dispositivo, controlleremo se il dispositivo su cui stanno attualmente effettuando l'accesso contiene il cookie che abbiamo memorizzato per quello studente. In caso contrario, sapremo che lo studente sta effettuando l'accesso su un altro dispositivo. Saremo quindi in grado di sapere quanti dispositivi lo studente sta tentando di accedere.
- Inconvenienti
Abbiamo identificato almeno tre possibili inconvenienti a questo approccio:
- Cancellazione dei cookie. Le persone possono, per una serie di motivi, scegliere di cancellare i cookie dal proprio computer.
- Una persona in buona fede potrebbe occasionalmente non avere accesso al proprio dispositivo abituale e desidera accedere su un altro computer.
- Le persone acquistano nuovi dispositivi di volta in volta.
- Questi sono esempi di situazioni in cui un utente in buona fede, per motivi legittimi, desidera effettuare il login, ma non sarà in grado di farlo, a causa della limitazione della sicurezza del sito web di due dispositivi.
Abbiamo alcune idee su come costruire la logica nel sistema per gestire tali situazioni, che potremmo implementare in futuro, ma per il momento riteniamo che tali situazioni siano sufficientemente rare che non abbiamo bisogno di gestiscili a livello di codice.
Piuttosto, per ora, nel caso in cui uno studente è bloccato, otterrà una schermata con un messaggio che spiega perché non li abbiamo autorizzati nel sistema, e un pulsante su cui possono fare clic su che genererà automaticamente un email agli amministratori del sito.
L'email informerà che uno studente desidera accedere a un terzo dispositivo. Gli amministratori possono quindi contattare lo studente e, se sono soddisfatti che la necessità sia in buona fede, saranno in grado di prendere provvedimenti dal CMS per consentire a quello studente di entrare.
La dimensione del corpo studentesco è sufficientemente gestibile che l'approccio sopra dovrebbe essere fattibile.
- Avviso equivoco
Informeremo gli studenti di queste misure di sicurezza quando il loro account è attivato per evitare spiacevoli sorprese.