ArticleHead('OTP neboli jednorßzovß hesla, p°evß₧n∞ pro UNIX', 'Jan Kulveit', 'jan.kulveit@krypta.cz', '30.11.2001', '20:07:07', '╚lßnek');
Intro('Princip metod v²zva-odpov∞∩ je prost², ale ·Φinn². Server a u₧ivatel sdφlejφ n∞jakΘ tajemstvφ, nap°φklad tajnΘ heslo. ("U₧ivatel" je dost abstraktnφ, m∙₧e to b²t t°eba i poΦφtaΦ.) P°i pokusu o autentizaci u₧ivatel poskytne svoje u₧ivatelskΘ jmΘno. Server vygeruje v²zvu, kterou zobrazφ u₧ivateli. U₧ivatel z v²zvy a svΘho tajnΘho hesla spoΦφtß jednorßzovΘ heslo, kterΘ poÜle serveru. Server stejnou operaci s tajn²m heslem a v²zvou provedl i na svΘ stran∞, v²sledek porovnß se vstupem u₧ivatele, a pokud souhlasφ, toto₧nost u₧ivatele je ov∞°ena. Myslφm, ₧e u₧ z obecnΘho popisu je jasnΘ, proti Φemu jednorßzovß hesla chrßnφ, proti Φemu nechrßnφ. Je to v²bornß ochrana proti vÜem ·tok∙m, zalo₧en²m na odposlouchßvßnφ a nßslednΘm zopakovßnφ komunikace. To je hodn∞! OTP jsou toti₧ ·Φinnß i proti zßke°n²m ·tok∙m stylu logovßnφ stisknut²ch klßves nebo odchytßvßnφ hesel a klφΦ∙ a "upraven²m" ssh klientem. Jinak °eΦeno, mohou umo₧nit p°ijateln∞ bezpeΦnΘ p°ihlßÜenφ se k serveru i z ned∙v∞ryhodnΘho klienta.');
Server nebo klient vygeneruje seed, 1-16 znak∙ dlouh² alfanumerick² °et∞zec. Rozdφlnost seed∙ umo₧nuje pou₧φvat stejnΘ tajnΘ heslo na vφce poΦφtaΦφch. TajnΘ heslo takΘ nenφ nutnΘ m∞nit- s Φasem se m∞nφ seedy. Heslo+seed se spojφ dohromady a pro₧enou hashovacφ funkcφ, v²sledek nazveme nult²m heslem. NejlΘpe je, aby tuto operaci provedl u₧ivatel v bezpeΦnΘm prost°edφ, ale program na serveru spuÜt∞n² skrz bezpeΦnΘ p°ipojenφ poslou₧φ stejn∞. P°φkaz pro gerovßnφ hesel se obvykle jmenuje keyinit, mo₧nß ho na svΘm systΘmu mßte, ani₧ byste si toho dosud vÜimli.</UL>
</DIV></FONT></b></i>
<FONT Size=2><DIV Align=Justify Class=Paragraph>
<UL STYLE="margin-right:50px;" Class=LinkItem><LI> poΦφtßnφ iteracφ: 0tΘ heslo se pro₧ene hashovacφ funkcφ, v²stupem je heslo 1, kterΘ op∞t poslou₧φ jako vstup atd. Proces se provede tolikrßt, kolikrßt si u₧ivatel p°eje. V²stupem bude N hesel.</UL>
</DIV></FONT></b></i>
<FONT Size=2><DIV Align=Justify Class=Paragraph>
<UL STYLE="margin-right:50px;" Class=LinkItem><LI> inicializace hesla na serveru: "Poslednφ", NtΘ heslo se p°edß serveru, kter² si je ulo₧φ. </UL>
</DIV></FONT></b></i>
<FONT Size=2><DIV Align=Justify Class=Paragraph>
<UL STYLE="margin-right:50px;" Class=LinkItem><LI> autentizace: server poskytne u₧ivateli v²zvu, sestßvajφcφ ze seedu a po°adovΘho Φφsla hesla. V naÜem p°φpad∞, p°i prvnφm p°ihlßÜenφ N-1. U₧ivatel poskytne N-1 heslo, server jej zahashuje a porovnß s ulo₧en²m Nt²m. Pokud v²sledek souhlasφ, je u₧ivatel p°ipuÜt∞n a aktußlnφm ·dajem, kter² si server pamatuje, je heslo N-1 (poslednφ pouitΘ sprßvnΘ heslo)</UL>
</DIV></FONT></b></i>
<FONT Size=2><DIV Align=Justify Class=Paragraph>
<UL STYLE="margin-right:50px;" Class=LinkItem><LI> opakovßni: Postupn∞ se pou₧φvajφ hesla se stßle ni₧Üφmi Φφsly.</UL>
</DIV></FONT></b></i>
<FONT Size=2><DIV Align=Justify Class=Paragraph>
<UL STYLE="margin-right:50px;" Class=LinkItem><LI> reinicializace: Je podobnß inicializaci, jen je po u₧ivateli v∞tÜinou po₧adovßno poslednφ heslo z p°edczhozφho "b∞hu" a odliÜn² seed.</UL>
</DIV></FONT></b></i>
<FONT Size=2><DIV Align=Justify Class=Paragraph>
Jak celou v∞c uΦinit u₧ivatelsky p°φjemnou...
</DIV></FONT></b></i>
<FONT Size=2><DIV Align=Justify Class=Paragraph>
<UL STYLE="margin-right:50px;" Class=LinkItem><LI> VÜechna hesla jsou 64bitovß celß Φφsla, co₧ samoz°ejm∞ nenφ nic moc zapamatovatelnΘho. Proto se pro "lidskΘ" u₧ivatele p°evßd∞jφ do Üestic zapamtovateln²ch slov z definovanΘho slovnφku. V∞tÜin∞ lidφ se "dadaistickß v∞ta" CARD SAD MINI RYE COL KIN pamatuje lΘpe, ne₧ Φφslo 6347 3EF0 1CD0 B444.</UL>
</DIV></FONT></b></i>
<FONT Size=2><DIV Align=Justify Class=Paragraph>
<UL STYLE="margin-right:50px;" Class=LinkItem><LI> NejlepÜφ je, ₧e poΦφtßnφ hesel je opravdu snadnΘ. OTP kalkulaΦky existujφ pro celou °adu p°enosn²ch za°φzenφ, pro Nokia komukßtory, nap°φklad. Myslφm, ₧e by nic nebrßnilo v²voji kalkulaΦek pro inteligentn∞jÜφ mobilnφ telefony (Mo₧nß existujφ, aplikace je to jednoduÜÜφ ne₧ hry.) </UL>
</DIV></FONT></b></i>
<FONT Size=2><DIV Align=Justify Class=Paragraph>
<UL STYLE="margin-right:50px;" Class=LinkItem><LI> Je mo₧nΘ si hesla vytisknout, existuje spousta utilitek, kterΘ vytisknou nap°. sto hesel na kartiΦku velikosti platebnφ karty.</UL>
</DIV></FONT></b></i>
<FONT Size=2><DIV Align=Justify Class=Paragraph>
<UL STYLE="margin-right:50px;" Class=LinkItem><LI> Shrnuto, nejv²razn∞jÜφ p°ednostφ OTP asi je, ₧e u₧ivatel m∙₧e mφt kryptograficky citlivou Φßst fyzicky separovanou a mno₧stvφ dat, kterΘ musφ "p°enßÜet" psanφm na klßvesnici, je snesiteln∞ malΘ. Pokud vφm, tuto vlastnost v∞tÜina b∞₧n²ch kryptograficky "siln∞jÜφch" systΘm∙ postrßdß (nap°. SRM) a zase se obejvuje terve u nejnßroΦn∞jÜφch bezpeΦnostnφch °eÜenφ s Φipov²mi kartami, nap°. v elektronickΘm bankovnictvφ.</UL>
<UL STYLE="margin-right:50px;" Class=LinkItem><LI> z matematickΘho hlediska z°ejm∞ vÜe zßvisφ na bezpeΦnosti hashovacφ funkce, resp. na tom, jak t∞₧kΘ je najφt k 64bitovΘ hashi 64bitov² originßl. Pou₧φvajφ se vÜechny obvyklΘ algoritmy- RFC 2289 defunuje jako standardnφ MD4, MD5, SHA1, v dalÜφch dokumentech je dopln∞no SHA256, SHA384, SHA512.</UL>
</DIV></FONT></b></i>
<FONT Size=2><DIV Align=Justify Class=Paragraph>
<UL STYLE="margin-right:50px;" Class=LinkItem><LI> OTP nep°edstavujφ ₧ßdnou ochranu proti aktivnφm ·tok∙m, kradenφ spojenφ, ·toku "proxy" uprost°ed a pod.</UL>
</DIV></FONT></b></i>
<FONT Size=2><DIV Align=Justify Class=Paragraph>
<UL STYLE="margin-right:50px;" Class=LinkItem><LI> specifickΘ a zajφmavΘ ·toky vychßzejφ z Φasovßnφ. Nap°. - co se stane, kdy₧ n∞kdo poslouchß komuinkaci, v okam₧iku, kdy u₧ivatel pφÜe konec poslednφho slova rychle vykouÜφ v∞echny zb²vajφcφ mo₧nosti a p°edb∞hne jej? V reßln²ch implementacφch by proto po zadßnφ loginu m∞lo b²t zablokovßno otev°enφ "paralelnφho" logovßnφ.</UL>
</DIV></FONT></b></i>
<FONT Size=2><DIV Align=Justify Class=Paragraph>
Je snad patrnΘ, ₧e OTP jsou tΘm∞° "ortogonßlnφ" s transportnφm Üifrovßnφm a ov∞°enφm identity protistrany. V tom je naopak dobrΘ ssh.
</DIV></FONT></b></i>
<FONT Size=2><DIV Align=Justify Class=Paragraph>
Zßv∞rem by tedy mohlo v²t doporuΦenφ - pou₧φvejte obojφ, ssh a otp se dopl≥ujφ.