Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Windows] Code Signing - verifica supporto SHA2 #7

Closed
gvarisco opened this issue Apr 6, 2017 · 9 comments
Closed

[Windows] Code Signing - verifica supporto SHA2 #7

gvarisco opened this issue Apr 6, 2017 · 9 comments

Comments

@gvarisco
Copy link
Contributor

gvarisco commented Apr 6, 2017

Bisogna assicurarsi che i certificati SHA2 usati per il signing siano supportati da tutti gli OS che il middleware supporterà (Windows 7 -> Windows 10?)

  • Verificare con IPZS i problemi riscontrati in fase di code signing su determinati OS e/o Service Pack(s).
@gvarisco gvarisco created this issue from a note in CIE Middleware (TODO) Apr 6, 2017
@gvarisco
Copy link
Contributor Author

gvarisco commented Apr 6, 2017

@fottavi @aantetomaso avete dati da condividere in merito a quanto discusso? Se non sbaglio avete riportato alcuni problemi riscontrati in fase di signing e la necessità di usare certificati differenti (SHA-1/SHA-2).

Lascio qui questo link per fare ulteriori verifiche: https://knowledge.symantec.com/support/code-signing-support/index?page=content&id=INFO3199

@fottavi
Copy link
Collaborator

fottavi commented Apr 7, 2017

@gvarisco @aantetomaso il problema che abbiamo incontrato riguarda l'installazione di controlli ActiveX in Internet Explorer (e non è detto che sia lo stesso scenario del middleware). Abbiamo provato inizialmente a firmare due volte il CAB dell'ActiveX, con un certificato SHA-1 (con timestamp SHA1) e un certificato SHA-256 (con timestamp SHA-256). Abbiamo comunque avuto problemi sui sistemi più vecchi, fino a XP SP2, perché a quanto abbiamo capito la firma multipla non era ancora supportata.
Se decidiamo di non supportare Windows XP diventa tutto più facile perché possiamo distribuire un solo binario con la firma SHA-256, ma se XP deve essere supportato credo che l'unica strada sia distribuire due binari distinti, uno firmato SHA-1 e l'altro SHA-256

Comunque, al di là del fatto che sia buna norma distribuire solo librerie firmate digitalmente, la firma del codice, almeno fino a Windows 10, non è critica per l funzionamento del minidriver:
https://social.msdn.microsoft.com/Forums/onedrive/en-US/dcba3ba5-f1fc-4af0-847d-730f137d5367/smart-card-minidriver-authenticode-verification-at-runtime?forum=windowssecurity

Infatti ho fatto altri test su minidriver non firmati in passato e non ho mai avuto problemi. E' possibile che sia stato implementato un controllo del genere su Windows 10 (mi sembra di averlo letto su Microsoft Tech, se ritrovo l'articolo ve lo giro), e in tal caso comunque è sufficiente la firma SHA-256.

In passato, quando si sviluppava il CSP completo e non il solo minidriver, era molto più complicato perché la dll poteva essere firmata solo da Microsoft, ma adesso le cose sono più semplici.

@gvarisco
Copy link
Contributor Author

gvarisco commented Apr 7, 2017

@fottavi considerato che Windows XP è formalmente EOL da Aprile 2014, prenderei rapidamente una decisione in merito (spero anche da voi condivisa) di escluderlo, così da focalizzarci su Windows 7, 8, 8.1 e 10. Va aperta anche una piccola parentesi su Windows Vista (che però supporta SHA-2), considerato che diventerà EOL questo mese (Aprile 2017, ref. https://support.microsoft.com/en-us/help/13853/windows-lifecycle-fact-sheet)

@valeriopaolini @rasky @umbros siete d'accordo sul non considerare Windows XP tra le piattaforme supportate?

@rasky
Copy link
Member

rasky commented Apr 7, 2017

sì penso che promettere di poter ottenere sicurezza su un sistema non più supportato da qualche anno è comunque un errore.

@valeriopaolini
Copy link
Member

valeriopaolini commented Apr 7, 2017 via email

@umbros
Copy link
Member

umbros commented Apr 10, 2017

Si, xp e vista li terrei fuori.

Ciao, Umberto

@rasky
Copy link
Member

rasky commented Apr 10, 2017

Aggiungo il fatto che lo specifico problema (SHA256 non supportato) è presente solo in XP SP2 che è andato EOL a Luglio 2010. Probabilmente non basta un contatore a 16 bit per i problemi di sicurezza conosciuti e non fixati su quella versione di Windows; secondo me non possiamo dare il messaggio che su XP SP2 si può utilizzare la CIE in modo sicuro, perché non è cosi, indipendentemente dai nostri sforzi.

@alranel
Copy link
Member

alranel commented Sep 26, 2017

Ad oggi nel manuale utente del middleware (#17) è indicato che sono supportati solo Windows 7, Windows 8, Windows 8.1 e Windows 10. Se capisco bene questo soddisfa questa issue e non servono altre azioni prima di chiuderla, giusto @gvarisco?

Vogliamo aggiungere un runtime check relativo alle versioni di Windows supportate?

@gvarisco
Copy link
Contributor Author

@alexrj se non un 'runtime check', almeno assicurarci che sia chiaro nella documentazione che produrremo.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Development

No branches or pull requests

6 participants