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.
| Betyg | Villkor |
|---|---|
| Z | Inget TLS alls |
| T | Utgånget, självsignerat, värdnamnsfel eller ej betrott certifikat |
| F | RSA-nyckel < 1024 bitar |
| F | Inget TLS 1.2 eller 1.3 (enbart äldre) |
| C | SHA1-certifikat |
| B | RSA-nyckel < 2048 bitar |
| B | Krypteringsstyrka < 128 bitar |
| B | TLS 1.0 eller 1.1 stöds |
| B | RC4 stöds |
| A+ | PFS + ingen Sweet32 + ingen nyckelkompromettering + HSTS (lång max-age) + TLS 1.3 |
| A | PFS + 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ält | Poäng | Beskrivning |
|---|---|---|
autoRedirectsToSsl | 1 | HTTP → HTTPS-omdirigering |
certificateOrgMatchesRealOrganization | 1 | Certifikatorg matchar webbplatsorg |
contentSecurityPolicySuccess | 2 | CSP-header finns |
daneTlsa | 1 | DANE/TLSA-poster finns |
dnsCaa | 1 | DNS CAA-poster finns |
dnsSecSupported | 1 | DNSSEC validerat (AD-flagga) |
hpkpSuccess | 1 | HPKP (utfasad, äldre) |
hstsSuccess | 1 | HSTS med max-age ≥ 6 månader |
hstsPreloaded | 1 | På HSTS-förladdningslistan |
ipv6Supported | 1 | AAAA-post finns |
ocspStaplingSuccess | 1 | OCSP-stapling aktiverad |
pfsSuccess | 1 | Forward secrecy stöds |
securityTxtSuccess | 1 | security.txt finns |
tls12Success | 1 | TLS 1.2 stöds |
tls13Success | 1 | TLS 1.3 stöds |
validationType = "E" | 2 | EV-certifikat |
validationType = "D" | 1 | DV-certifikat |
Felpoäng (läggs till bas)
Varje fel lägger till poäng (försämrar resultatet).
| JSON-fält | Poäng | Beskrivning |
|---|---|---|
bleichenbacherVulnerably | 1 | Bleichenbacher |
diffieVulnerably | 1 | Svaga DH-parametrar |
drownVulnerably | 1 | DROWN |
freakVulnerably | 1 | FREAK |
goldenDoodleVulnerable | 1 | GOLDENDOODLE |
heartbleedVulnerably | 1 | Heartbleed |
keyCompromiseImpersonationVulnerably | 1 | Nyckelkompromettering |
logJamVulnerably | 1 | Logjam |
openSslCcsVulnerably | 1 | OpenSSL CCS |
openSslLuckyMinus20Vulnerably | 1 | Lucky Minus 20 |
poodleVulnerably | 1 | POODLE |
rc4Vulnerably | 1 | RC4 |
sha1Vulnerably | 1 | SHA1-signatur |
sleepingPoodleVulnerable | 1 | Sleeping POODLE |
ssl2Vulnerably | 1 | SSL 2.0 |
ssl3Vulnerably | 1 | SSL 3.0 |
sweet32Vulnerably | 1 | Sweet32 |
ticketbleedVulnerably | 1 | Ticketbleed |
tls10Vulnerably | 1 | TLS 1.0 stöds |
tls11Vulnerably | 1 | TLS 1.1 stöds |
zeroLengthPaddingOracleVulnerable | 1 | Nollängdsutfyllnad |
zombiePoodleVulnerable | 1 | Zombie POODLE |
Mjukvaruavdrag (läggs till bas)
| Villkor | Poä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ält | Beskrivning |
|---|---|
certExpired | Certifikatet har gått ut (begränsas till T) |
certSelfSigned | Självsignerat certifikat (begränsas till T) |
certHostnameMismatch | Värdnamnsfel (begränsas till T) |
certUntrusted | Ej betrodd rot-CA (begränsas till T) |
chainIssues | Kedjeproblem (lista) |
certKeyType | Nyckeltyp (RSA, ECDSA, Ed25519) |
certKeySize | Nyckelstorlek i bitar |
cipherStrength | Symmetrisk krypteringsstyrka |
hstsHeader | Tolkad HSTS-header (maxAge, includeSubDomains, preload) |
keyExchangeCurveName | ECDHE-kurvnamn (t.ex. X25519, P-256) |
sessionResumptionSuccess | Sessionsåterupptag fungerar |
sessionTicketSupported | Sessionsbiljettstöd |
sessionIDSupported | Sessions-ID-stöd |