Hai già ricevuto numerose risposte eccellenti, anche se la risposta di @ TomLeek e @ Iszi (entrambe eccellenti) sembra essere in diretta contraddizione.
Entrambi costituiscono punti eccellenti: da un lato, mantenere il design segreto non renderà il sistema sicuro, mentre rivederlo pubblicamente ti consentirà di (eventualmente) trovare alcune vulnerabilità che non hai considerato; d'altra parte, non fa male a mantenere il design segreto, finché questo non è un fattore chiave nella sicurezza del design.
Entrambi i lati sono assolutamente corretti - a volte .
Penso che sarebbe corretto dire che entrambe le parti nell'argomento generale concorderebbero sul fatto che mantenere il segreto del design non aumenti direttamente la sicurezza.
Nel peggiore dei casi, si limita a nascondere i punti deboli della sicurezza (che possono o meno essere una buona cosa, a seconda di chi ritenete sia più nascosto).
Nel migliore dei casi (dove non ci sono vulnerabilità banali che verrebbero esposte pubblicando il design), non aumenta la sicurezza - ma fa minimizza la superficie di attacco .
Ridurre al minimo la superficie di attacco (anche senza la presenza di una vulnerabilità) è sicuramente una buona cosa; tuttavia, questo deve essere valutato e scambiato contro i benefici della pubblicazione (ovvero la revisione da parte di ulteriori gruppi di occhi), e il lato negativo di mantenerlo segreto - ad es. la tentazione di affidarsi ad esso come controllo di sicurezza (la sicurezza sempre più popolare per oscurità), come forma di teatro della sicurezza.
Vale anche la pena notare che, come alludeva @Tikiman, la semplice pubblicazione del design non è sufficiente per garantire che sia recensito , in particolare da coloro che sono in grado di trovare le vulnerabilità e che sono anche propenso a rivelarli a voi. In molti casi, un progetto pubblicato verrebbe esaminato solo da persone malintenzionate con intenti illeciti, pertanto non si otterrebbe il beneficio atteso. Inoltre, spesso uno non sa nemmeno se il suo design rientra nel caso migliore o nel caso peggiore sopra menzionato.
Quindi, linea di fondo - come in così tante cose in sicurezza, la risposta diretta è ancora: Dipende .
Qui c'è un compromesso definitivo - se questo fosse un criptosistema complesso la risposta sarebbe chiara; se si trattasse di un'implementazione tipica del sistema aziendale, una risposta diversa sarebbe chiara.
Il mio pendente in questo caso è come @Tom ha detto, ma per le ragioni secondarie menzionate - in parte la base di utenti anarchici, e principalmente l'obiettivo pedagogico.
Si noti che queste non sono realmente considerazioni sulla sicurezza, almeno non direttamente.
(Oh e per quanto riguarda @ punto di Tikiman - la pedagogia qui coinvolta significa che puoi effettivamente assicurarti che il design sia rivisto, almeno per l'intera classe ;-))