SSH je binßrnφ protokol zalo₧en² na paketech, kter² pracuje na vrcholu jakΘhokoliv transportu, kter² bude p°edßvat tok binßrnφch dat. Normßln∞ se TCP/IP pou₧φvß jako transport, ale jeho implementace takΘ umo₧≥uje vyu₧itφ libovolnΘho proxy programu k p°edßvßnφ dat do/ze serveru, a zahrnuje p°φmou podporu pro firewally zalo₧enΘ na SOCKS a FWTK.
Paketov² mechanismus a s nφm spojenΘ autentizace, v²m∞na klφΦ∙, Üifrovßnφ a mechanismus integrity implementujφ bezpeΦnostnφ mechanismus transportu, kter² je pak pou₧it k implementaci funkcφ bezpeΦnΘho spojenφ.
P°φpadn² ·toΦnφk tak mß siln∞ omezenΘ mo₧nosti zasahovat a vlastn∞ m∙₧e jen p°eruÜit spojenφ.
Server odeÜle sv∙j ve°ejn² RSA host klφΦ a jinΘ ve°ejnΘ RSA klφΦe. "Serverov² klφΦ'' se m∞nφ ka₧dou hodinu. Klient porovnß obdr₧en² host klφΦ se svou vlastnφ databßzφ znßm²ch host klφΦ∙.
FSecure SSH server normßln∞ akceptuje klφΦ neznßmΘho hostu a ulo₧φ jej do svΘ databßze pro budoucφ reference (to vyu₧φvß SSH prakticky ve vÜech prost°edφch). Ale FSecure SSH server m∙₧e b²t takΘ nastaven tak, ₧e odmφtne p°φstupk jak²mkoliv host∙m, jejich₧ klφΦ nenφ znßm.
┌Φelem host klφΦe je svßzat spojenφ s ₧ßdan²m serverov²m hostem (pouze server m∙₧e deÜifrovat zaÜifrovan² klφΦ sezenφ). Druh² klφΦ, m∞n∞n² ka₧dou hodinu, serverov² klφΦ, se pou₧φvß k znep°φstupn∞nφ zaznamenanΘ hostorie deÜifrovßnφ pro p°φpad, ₧e by byl kompromitovßn host klφΦ. Host klφΦ je normßlnφ, RSA klφΦ, dlouh² 1024 bit∙ a serverov² klφΦ je dlouh² 768 bit∙. Oba klφΦe jsou vygenerovßny pomocφ kryptograficky silnΘho generßtoru nßhodn²ch Φφsel.
Server deÜifruje RSA zaÜifrovßnφ a zφskß tak klφΦ sezenφ. Ob∞ strany zaΦaly pou₧φvat klφΦ sezenφ a spojenφ je nynφ zaÜifrovanΘ. Server vyÜle zaÜifrovanΘ potvrzenφ klientu. P°φjetφ potvrzenφ °φkß klientu, ₧e server byl schopen deÜifrovat klφΦ a proto mß v dr₧enφ p°φsluÜnΘ soukromΘ klφΦe.
V tomto okam₧iku byl poΦφtaΦ serveru autentizovßn, a Üifrovßnφ na ·rovni transportu a ochrana integrity jsou vyu₧ity.
U₧ivatel m∙₧e b²t autentizovßn serverem n∞kolika zp∙soby. Dialog pro u₧ivatelskou autentizaci je °φzen klientem, kter² odesφlß ₧ßdost na server. Prvnφ ₧ßdost v₧dy deklaruje u₧ivatelskΘ jmΘno, jak bylo pou₧ito pro log in. Server odpovφdß na ka₧dou ₧ßdost bu∩ "success'' a nebo "failure'' (je vy₧adovßna dalÜφ autentizace).
V souΦasnosti podporovan²mi metodami autentizace jsou:
AutentizaΦnφ agent je program, kter² b∞₧φ na u₧ivatelskΘm lokßlnφm poΦφtaΦi (nebo v budoucnosti na ΦipovΘ kart∞ p°ipojenΘ k n∞mu). Agent udr₧uje u₧ivatelskΘ soukromΘ RSA klφΦe. Nikdy nevydßvß soukromΘ klφΦe, ale akceptuje autentizaΦnφ ₧ßdosti a dßvß zp∞t vhodnΘ odpov∞di.
V prost°edφ UNIX agent komunikuje s FSecure SSH serverem pomocφ prßce s otev°en²m souborem, kter² je zd∞d∞n vÜemi potomky procesu agenta. Jinφ u₧ivatelΘ nemohou zφskat p°φstup k agentu. U jin²ch operaΦnφch systΘm∙ jsou pou₧ity jinΘ mechanismy.
SSH protokol poskytuje silnou bezpeΦnost kryptografick²mi metodami.
SSH vyu₧φvß RSA pro host autentizaci a u₧ivatelskou autentizaci. Host klφΦe a klφΦe pro u₧ivatelskou autentizaci jsou dlouhΘ 1024 bit∙.
Serverov² klφΦ, kter² se m∞nφ ka₧dou hodinu, je implicitn∞ dlouh² 768 bit∙. Pou₧φvß se k ochran∞ p°edjφman²ch historiφ jednotliv²ch sezenφ p°ed deÜifrovßnφm v p°φpad∞, ₧e by n∞kdy pozd∞ji byl host klφΦ kompromitovßn. Serverov² klφΦ nikdy nenφ ulo₧en na disku.
V²mna klφΦ∙ je provßd∞na zaÜifrovßnφm 256-bit∙ dlouhΘho klφΦe sezenφ dvakrßt pomocφ RSA. Je p°ed ka₧d²m zaÜifrovßnφm vycpßn nenulov²mi nßhodn²mi byty. Server host autentizace se d∞je implicitn∞ s v²m∞nou klφΦ∙ (idea je takovß, ₧e pouze dr₧itel platnΘho soukromΘho klφΦe m∙₧e deÜifrovat klφΦ sezenφ, a obdr₧enφ zaÜifrovanΘho potvrzenφ °φkß klientu, ₧e klφΦ sezenφ byl ·sp∞Ün∞ deÜifrovßn).
Klient host autentizace a RSA u₧ivatelskß autentizavce jsou provedeny pomocφ v²m∞ny v²zvy-odezvy, kde odezvou je MD5 deÜifrovanΘ v²zvy plus data, kterß vß₧ou v²sledek k urΦitΘmu sezenφ (host klφΦ a "anti-spoofing cookie").
V²m∞na klφΦ∙ p°enßÜφ 256 bit∙ klφΦov²ch dat na server. JinΘ Üifrovacφ metody pou₧φvajφ r∙zn∞ velkΘ klφΦe: IDEA pou₧φvß 128 bitovΘ, t°φ klφΦov² 3DES 168 bitov² a RC4-ekvivalent 128 bitov² na jeden sm∞r.
VÜechna nßhodnß Φφsla vyu₧φvanß v SSH jsou generovßnapomocφ kryptograficky silnΘho generßtoru nßhodn²ch Φφsel.