{"action":"created","issue":{"url":"https://api.github.com/repos/drwetter/testssl.sh/issues/359","repository_url":"https://api.github.com/repos/drwetter/testssl.sh","labels_url":"https://api.github.com/repos/drwetter/testssl.sh/issues/359/labels{/name}","comments_url":"https://api.github.com/repos/drwetter/testssl.sh/issues/359/comments","events_url":"https://api.github.com/repos/drwetter/testssl.sh/issues/359/events","html_url":"https://github.com/drwetter/testssl.sh/issues/359","id":155838756,"number":359,"title":"Require longer server key sizes","user":{"login":"dcooper16","id":16493199,"avatar_url":"https://avatars.githubusercontent.com/u/16493199?v=3","gravatar_id":"","url":"https://api.github.com/users/dcooper16","html_url":"https://github.com/dcooper16","followers_url":"https://api.github.com/users/dcooper16/followers","following_url":"https://api.github.com/users/dcooper16/following{/other_user}","gists_url":"https://api.github.com/users/dcooper16/gists{/gist_id}","starred_url":"https://api.github.com/users/dcooper16/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dcooper16/subscriptions","organizations_url":"https://api.github.com/users/dcooper16/orgs","repos_url":"https://api.github.com/users/dcooper16/repos","events_url":"https://api.github.com/users/dcooper16/events{/privacy}","received_events_url":"https://api.github.com/users/dcooper16/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2016-05-19T21:24:51Z","updated_at":"2016-05-30T15:16:22Z","closed_at":null,"body":"At the moment, testssl.sh displays warnings for RSA key sizes as follows:\r\n- keysize <= 512 bits - pr_svrty_critical\r\n- 512 < keysize <= 768 bits - pr_svrty_high\r\n- 768 < keysize <= 1024 bits - pr_svrty_medium\r\n- 1024 < keysize <= 2048 bits - out\r\n- 2048 < keysize <= 4096 - pr_done_good\r\n\r\nAt the moment, Chrome seems to report NET::ERR_CERT_WEAK_KEY is an RSA key with less than 1024 bits is used and Microsoft issued a [security advisory](https://support.microsoft.com/en-us/kb/2661254) in 2012 about blocking the use of keys with less than 1024 bits. So, it seems that anything less than 1024 bits should be marked as critical.\r\n\r\nThere is also work to phase out 1024-bit RSA. The [CA-Browser Forum Baseline Requirements](https://cabforum.org/wp-content/uploads/CA-Browser-Forum-BR-1.3.4.pdf) call for a minimum key size of 2048 bits, and [Mozilla](https://blog.mozilla.org/security/2015/01/28/phase-2-phasing-out-certificates-with-1024-bit-rsa-keys/) is working towards phasing out 1024-bit keys and encouraging a move to 2048-bits.\r\n\r\nSo, I would propose changing the warnings for RSA key sizes to:\r\n- keysize < 1024 bits - pr_svrty_critical\r\n- 1024 <= keysize < 1536 bits - pr_svrty_high\r\n- 1536 <= keysize < 2048 bits - pr_svrty_medium\r\n- 2048 <= keysize < 3072 bits - out\r\n- 3072 <= keysize <= 4096 - pr_done_good\r\n\r\nWhile I haven't seen anything about browsers' treatment of different ECC key sizes, it seems that somewhat comparable rules should apply for ECC. The [CA-Browser Forum Baseline Requirements](https://cabforum.org/wp-content/uploads/CA-Browser-Forum-BR-1.3.4.pdf) limit ECC to three NIST prime curves: P-256, P-384, and P-521.\r\n\r\nMy proposal, based on my proposal for RSA and on the ECC keys mentioned in NamedCurve in [RFC 4492](https://www.rfc-editor.org/rfc/rfc4492.txt) would be:\r\n- keysize < 160 bits - pr_svrty_critical\r\n- 160 <= keysize < 192 bits - pr_svrty_high\r\n- 192 <= keysize < 224 bits - pr_svrty_medium\r\n- 224 <= keysize < 256 bits - out\r\n- 256 <= keysize <= 533 - pr_done_good"},"comment":{"url":"https://api.github.com/repos/drwetter/testssl.sh/issues/comments/222512924","html_url":"https://github.com/drwetter/testssl.sh/issues/359#issuecomment-222512924","issue_url":"https://api.github.com/repos/drwetter/testssl.sh/issues/359","id":222512924,"user":{"login":"chrcoluk","id":8260578,"avatar_url":"https://avatars.githubusercontent.com/u/8260578?v=3","gravatar_id":"","url":"https://api.github.com/users/chrcoluk","html_url":"https://github.com/chrcoluk","followers_url":"https://api.github.com/users/chrcoluk/followers","following_url":"https://api.github.com/users/chrcoluk/following{/other_user}","gists_url":"https://api.github.com/users/chrcoluk/gists{/gist_id}","starred_url":"https://api.github.com/users/chrcoluk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chrcoluk/subscriptions","organizations_url":"https://api.github.com/users/chrcoluk/orgs","repos_url":"https://api.github.com/users/chrcoluk/repos","events_url":"https://api.github.com/users/chrcoluk/events{/privacy}","received_events_url":"https://api.github.com/users/chrcoluk/received_events","type":"User","site_admin":false},"created_at":"2016-05-30T15:16:22Z","updated_at":"2016-05-30T15:16:22Z","body":"I agree with this."}}
{"actor":{"display_login":"chrcoluk"}}