Voor zover ik zie is OpenSSL v1.0.1g van 7 april 2014 onderzocht (een update voor v1.0.1f met het Heartbleed lek), maar ik zie in security announcements van latere versies niet zo snel dat genoemde issues zijn gefixed of als onzin zijn beoordeeld.
Het lijkt inderdaad vooral te gaan om issues gerelateerd aan de CSPRNG (Cryptographically Secure Pseudo Random Number Generator), maar in veel gevallen lijken bewuste keuzes tussen security en performance daaraan ten grondslag te liggen - helaas zonder dat daar (door het OpenSSL team) veel ruchtbaarheid aan gegeven wordt.
Voorbeeld: als je de verbinding tussen jouw browser en een server (met OpenSSL) een DHE of ECDHE cipher suite gebruikt, suggereert dit dat er een
uniek (= "ephemeral") Diffie-Hellmann (DH) sleutelpaar is gebruikt voor het uitwisselen van de symmetrische sleutel (tegenwoordig meestal AES). Mocht de versleutelde sessie door een aanvaller zijn opgeslagen, en de DH private key ooit herleid kunnen worden uit de public key, dan kan
alleen die ene sessie worden ontsleuteld. Dit mechanisme staat bekend als (Perfect) Forward Secrecy.
Nou, perfect is het bij OpenSSL zeker niet, want by default genereert OpenSSL helemaal geen nieuw DH sleutelpaar voor elke verbinding. Dat doet OpenSSL kennelijk
alleen als je deze compileert met de compilerflags SSL_OP_SINGLE_DH_USE en SSL_OP_SINGLE_ECDH_USE, en dat is niet de default. Als je naar die laatste flag Googled vind je pagina's waarin mensen klagen over serverperformanceverlies als ze dit aanzetten (zie bijv.
https://crypto.stackexchange.com/questions/32265/degrade-in-performance-with-ssl-op-single-ecdh-use).
Nb. momenteel gebruikt mijn browser "TLS_ECDHE_RSA_WITH_AES_128_CGM_SHA256, 128 bit keys, TLS 1.2" voor de https verbinding met www.security.nl. Of daarbij daadwerkelijk sprake is van Forward Secrecy, is dus nog maar helemaal de vraag.
Noem me paranoïde, maar bij het genereren van RSA sleutelparen voor certificaten gebruik ik al enkele jaren een seperaat programma dat (onder invloed van muisbewegingen en/of toetsaanslagen) een bestand met willekeurige bytewaarden genereert. Met de OpenSSL parameter "-rand" meng ik vervolgens die bytes met de random bytes die OpenSSL zelf heeft gegenereerd. Ervan uitgaande dat OpenSSL dit mixen niet verklooit, heb ik in elk geval geen SPOF (Single Point Of Failure) bij het genereren van de noodzakelijke random numbers.
Off topic: als je CSPRNG persé wilt vertalen, gebruik dan iets als "Cryptografisch Veilige Pseudo Willekeurige
Getallen Generator".