STARTTLS er en udvidelse til den almindelige tekstudvekslingsprotokol, der giver dig mulighed for at oprette en krypteret forbindelse ( TLS eller SSL ) lige oven på en normal TCP -forbindelse i stedet for at åbne en separat port til den krypterede forbindelse.
STARTTLS for IMAP og POP3 er defineret i RFC 2595 , for SMTP i RFC 3207 , for FTP i RFC 4217 , for XMPP i RFC 6120 , for LDAP i RFC 2830 og for NNTP i RFC 4642 .
TLS er en applikationslagsuafhængig protokol; i forhold til RFC 5246
Protokoller på højt niveau kan sidde oven på den gennemsigtige TLS-protokol. TLS-standarden beskriver ikke, hvordan andre protokoller interagerer med TLS, den beskriver ikke, hvordan man initialiserer TLS-håndtrykket, og hvordan man bruger autentificeringscertifikatudveksling . Dette gøres ved hjælp af protokoller, der kører over TLS. [en]For at bruge TLS skal du bruge biblioteker, der allerede har TLS indbygget. For eksempel viser RFC 3207 SMTP- udvidelsen i følgende protokolbeskrivelse, hvordan klienten og serveren starter en krypteret session: [2]
S: <venter på forbindelse på TCP-port 25> C:<åbner forbindelse> S: 220 mail.example.org ESMTP-tjeneste klar C: EHLO client.example.org S: 250-mail.example.org byder på et varmt velkomstkram S: 250 STARTTLS C: STARTTLS S: 220 Fortsæt C: <starter TLS-forhandling> C&S: <forhandle en TLS-session> C&S: <tjek resultatet af forhandling> C: EHLO client.example.org [3] . . .Den sidste EHLO-kommando går gennem en sikker kanal. Bemærk, at evnen til at godkende ikke er påkrævet for SMTP, og mulige serversvar genkendes muligvis ikke som AUTH PLAIN - udvidelser til SMTP, som ikke er til stede i normal tekstudveksling.
Før STARTTLS blev introduceret, blev mange TCP-porte tildelt til SSL-krypteret forbindelse af mange servere. TLS etablerer en sikker forbindelse over et kommunikationsflow, der er identisk med den gamle, ikke-krypterede protokol. Siden introduktionen af mere effektive STARTTLS, anbefales det ikke at bruge knappe portnumre, hvilket giver mulighed for lettere enhedskonfiguration [4] . Nogle eksempler:
Protokol | Formål | normal port | SSL variant | SSL port |
---|---|---|---|---|
http | Webserver | 80 | HTTPS | 443 |
SMTP | Send e-mail | 25 | SMTPS | 465 |
IMAP | læse e-mail | 143 | IMAPS | 993 |