Non ho esperienza nella firma del codice, ma stavo pensando a questo: come sai, ci sono vari strumenti per la generazione di certificati digitali autofirmati (come makecert da Windows o OpenSSL). Ora, sarebbe bello se uno sviluppatore di malware potesse firmare il codice del suo malware da una CA affidabile. Può solo firmarlo in due modi:
- Paga una CA attendibile per generare un certificato con il quale firmerà il suo malware;
- Crea un certificato autofirmato in cui, per ovvi motivi, l'autorità che rilascia il certificato è uguale al nome del soggetto
In particolare, il secondo punto riguarda la mia domanda: se l'algoritmo per generare un certificato digitale è noto , potrei scrivere il mio generatore di certificati per firmare la mia domanda, dove l'Emittente è un nome noto di CA; quindi aggiungo il certificato appena generato nell'Autorità di certificazione radice affidabile (nel sistema operativo Windows). Ora, quando qualcuno apre l'applicazione, il certificato viene installato nel TRCA e quindi il malware inizia. Il malware è firmato dal certificato che è stato appena aggiunto e sembra provenire da una fonte ben nota a causa del nome della CA. So che, se fosse possibile, la CA e tutta la roba della crittografia non esisterebbero e sarebbe molto semplice generare un certificato per conto mio in cui il releaser è una CA. Quindi la mia domanda è: perché non c'è modo di generare un certificato autofirmato in cui l'Emittente è diverso dall'oggetto?