Betygsättning

Detta dokument beskriver hur webbplatser betygsätts och poängsätts.

Bokstavsbetyg

Bokstavsbetyget bestäms först, sedan beräknas ett numeriskt poäng (ratingInt) från betyget plus bonus/avdrag.

Betyg tilldelas uppifrån och ner; den första matchande regeln gäller.

BetygVillkor
ZInget TLS alls
TUtgånget, självsignerat, värdnamnsfel eller ej betrott certifikat
FRSA-nyckel < 1024 bitar
FInget TLS 1.2 eller 1.3 (enbart äldre)
CSHA1-certifikat
BRSA-nyckel < 2048 bitar
BKrypteringsstyrka < 128 bitar
BTLS 1.0 eller 1.1 stöds
BRC4 stöds
A+PFS + ingen Sweet32 + ingen nyckelkompromettering + HSTS (lång max-age) + TLS 1.3
APFS + ingen Sweet32 + ingen nyckelkompromettering
A-Allt annat (modernt TLS men mindre problem)

EC- och Ed25519-nycklar bestraffas inte för storlek (annan säkerhetsmodell än RSA).

Numeriskt poäng (ratingInt)

Baspoängen utgår från bokstavsbetyget:

bas = 100 * ASCII(betyg[0])
A+ → 6500 - 50 = 6450
A  → 6500
A- → 6500 + 50 = 6550
B  → 6600
...

Sedan justeras:

ratingInt = bas
          - framgångspoäng
          + felpoäng
          + mjukvaruavdrag

Lägre ratingInt är bättre.

Framgångspoäng (dras från bas)

Varje framgång drar av poäng (förbättrar resultatet).

JSON-fältPoängBeskrivning
autoRedirectsToSsl1HTTP → HTTPS-omdirigering
certificateOrgMatchesRealOrganization1Certifikatorg matchar webbplatsorg
contentSecurityPolicySuccess2CSP-header finns
daneTlsa1DANE/TLSA-poster finns
dnsCaa1DNS CAA-poster finns
dnsSecSupported1DNSSEC validerat (AD-flagga)
hpkpSuccess1HPKP (utfasad, äldre)
hstsSuccess1HSTS med max-age ≥ 6 månader
hstsPreloaded1På HSTS-förladdningslistan
ipv6Supported1AAAA-post finns
ocspStaplingSuccess1OCSP-stapling aktiverad
pfsSuccess1Forward secrecy stöds
securityTxtSuccess1security.txt finns
tls12Success1TLS 1.2 stöds
tls13Success1TLS 1.3 stöds
validationType = "E"2EV-certifikat
validationType = "D"1DV-certifikat

Felpoäng (läggs till bas)

Varje fel lägger till poäng (försämrar resultatet).

JSON-fältPoängBeskrivning
bleichenbacherVulnerably1Bleichenbacher
diffieVulnerably1Svaga DH-parametrar
drownVulnerably1DROWN
freakVulnerably1FREAK
goldenDoodleVulnerable1GOLDENDOODLE
heartbleedVulnerably1Heartbleed
keyCompromiseImpersonationVulnerably1Nyckelkompromettering
logJamVulnerably1Logjam
openSslCcsVulnerably1OpenSSL CCS
openSslLuckyMinus20Vulnerably1Lucky Minus 20
poodleVulnerably1POODLE
rc4Vulnerably1RC4
sha1Vulnerably1SHA1-signatur
sleepingPoodleVulnerable1Sleeping POODLE
ssl2Vulnerably1SSL 2.0
ssl3Vulnerably1SSL 3.0
sweet32Vulnerably1Sweet32
ticketbleedVulnerably1Ticketbleed
tls10Vulnerably1TLS 1.0 stöds
tls11Vulnerably1TLS 1.1 stöds
zeroLengthPaddingOracleVulnerable1Nollängdsutfyllnad
zombiePoodleVulnerable1Zombie POODLE

Mjukvaruavdrag (läggs till bas)

VillkorPoäng
serverSoftwareIsOutdated+25
serverSoftwareIsOld+50

Informationsfält (ingen poängsättning)

Dessa fält finns i JSON men påverkar inte poängen direkt:

JSON-fältBeskrivning
certExpiredCertifikatet har gått ut (begränsas till T)
certSelfSignedSjälvsignerat certifikat (begränsas till T)
certHostnameMismatchVärdnamnsfel (begränsas till T)
certUntrustedEj betrodd rot-CA (begränsas till T)
chainIssuesKedjeproblem (lista)
certKeyTypeNyckeltyp (RSA, ECDSA, Ed25519)
certKeySizeNyckelstorlek i bitar
cipherStrengthSymmetrisk krypteringsstyrka
hstsHeaderTolkad HSTS-header (maxAge, includeSubDomains, preload)
keyExchangeCurveNameECDHE-kurvnamn (t.ex. X25519, P-256)
sessionResumptionSuccessSessionsåterupptag fungerar
sessionTicketSupportedSessionsbiljettstöd
sessionIDSupportedSessions-ID-stöd