Questo template permette di inserire facilmente nella propria pagina utente un hash, che consente all'utente di dimostrare la proprietà dell'account in caso di compromissione tramite uno schema di commitment.

Parametri modifica

Inserire l'hash come primo parametro posizionale, la funzione hash (se diversa da SHA-512) come secondo parametro facoltativo. Sono disponibili tre parametri opzionali per personalizzare lo stile del box.

  • hash: valore dell'hash usato nel committment.
  • funzione hash: funzione usata per generare l'hash.
  • sfondo: colore dello sfondo del riquadro (in formato HTML hex: #RRGGBB).
  • bordo: colore del bordo del riquadro (in formato HTML hex: #RRGGBB).
  • extra-style: dichiarazioni CSS da assegnare alla proprietà style del riquadro.

(legenda colori)

{{Committed identity
|hash =
|funzione hash =
|sfondo =
|bordo =
|extra-style =
}}

Uso modifica

Generare l'hash di una stringa o di un file. Una funzione hash robusta permette di risalire da una stringa o un file all'hash, ma non è ragionevolmente possibile fare il contrario (se non con un attacco bruteforce). Per questo motivo il file o la stringa che generano l'hash devono essere poi mantenuti rigorosamente segreti e comunicati solo a personale affidabile in caso di reale necessità. Si consiglia di utilizzare una funzione hash robusta: per tale motivo è sconsigliata la funzione MD5, e si raccomanda di usare una funzione SHA (possibilmente SHA-512 o superiore).

Si consiglia di usare caratteri e simboli casuali nella stringa, per evitare la vulnerabilità ad un attacco a dizionario, possibilmente includendo identità wikipediana o recapito mail nella stringa stessa, insieme ad altre eventuali informazioni aggiuntive (evitando di inserire informazioni che non si vuole in ogni caso rendere note a terzi: anche se l'hash sarà ragionevolmente indecifrabile, potrebbe essere necessario comunicare il contenuto della stringa ad un amministratore o a un altro utente con privilegi nel caso fosse necessario provare la propria identità). Se la stringa contiene caratteri casuali, è possibile generarne una nuova e sicura in caso di necessità conservando la parte di contatto e cambiando solo i caratteri casuali.

Esempi modifica

Seguono alcuni esempi di stringhe ragionevolmente robuste (esempi puramente indicativi, come già detto la scelta delle informazioni personali da includere o non includere è assolutamente libera):

Buona identificabilità: email, recapito telefonico e una stringa di caratteri casuali:

joe@example.com 555-123-3456 fFfwq0DuDmMXj8hYTM3NTKeDhk

Identificabilità avanzata: proprio contatto dettagliato, contatto di un amico affidabile, caratteri casuali:

Joe Schmoe. joe@example.com. 555-123-3456. P.O. Box 1234, San Jose, CA. My best friend Bob's email: bob@example.com. fFfwq0DuDmMXj8hYTM3NTKeDhk

Paranoico: estremi di documenti, aggiunta di più contatti, link a profili social e link ad una propria immagine (certificata aggiungendo l'hash dell'immagine stessa) per un eventuale riconoscimento facciale in videochat:

Joe Schmoe. joe@example.com. 555-123-3456. P.O. Box 1234, San Jose, CA.
My best friend Bob's contact info: bob@example.com, 555-234-5678
My wife's contact info: anne@example.com, 555-345-6789
Other accounts: http://www.youtube.com/user/joeschmoe http://flickr.com/photos/joeschmoe/
Driver's license number: 123456789, SSN: 123-45-6789, passport number: 9876H432L
SHA-512 of joeschmoe.jpg: 747ec1836486a3dbe8a5d6805a2cc080fb8dc427d9535579ecb04c750d7a4a515641fd0411ed6bb97242a3e63ab9cbd4d6d66c27611ff5f98aa84497bf64b8a8
NSffKWSHaGbcTm3WGtE8hyUQ

Come generare l'hash modifica

Assicurarsi di conservare una copia esatta della stringa che genera l'hash (attenzione: maiuscole, spazi, rientri a capo e caratteri invisibili sono significativi), avendo cura di non scegliere una stringa banale o indovinabile e comunque diversa dalla propria password (l'hash potrebbe rendersi utile proprio nel caso l'utenza sia compromessa, e quindi la password nota all'aggressore). Si raccomanda l'uso di algoritmi di hash robusti, possibilmente SHA-512 o superiore, evitando MD5 (vulnerabile) e SHA-1 (la cui sicurezza non è garantita sul lungo periodo, visti i progressi della crittanalisi).

Gli utenti di sistemi Unix-like possono ricorrere ai comandi sha224sum, sha256sum, sha384sum e sha512sum, forniti da GNU Core Utilities. Un comando di esempio può essere il seguente:

echo -n 'Inserire qui la propria stringa' | sha512sum

Gli utenti Windows possono usare alternative di terze parti (possibilmente programmi eseguiti client side, per motivi di sicurezza; alcune possibilità sono SHA512 Encrypt, jsSHA e HashCalc 2.01) oppure il seguente comando PowerShell:

[bitconverter]::tostring((new-object security.cryptography.sha512managed).computehash([text.encoding]::utf8.getbytes("Inserire qui la propria stringa"))).replace("-", "")

Per verificare il corretto funzionamento della procedura, si può testare eseguendo l'hashing della stringa 'My name is Joe Schmoe, and I can be contacted at: joe@example.com' (senza gli apici), il cui hash SHA-512 è:

b7a84efbbd843545666957384e874c894fdc17f48ced53abd231c2e4d08e45ad10287b1225432e3ed9794c12994ff1e82aecf66a2ded61ad4baf6d8b9c81dab8