CHAP protokols

Last modified by superadmin on 2018-01-12 20:38

CHAP protokols

Hešings nozīmē pielietot stringam algoritmu, lai iegūtu tā pirkstu nospiedumu. (Hešings ir arī izplatīta metode datu struktūru - asociatīvo masīvu, kopu, utml. programmēšanai, tomēr šiem lietojumiem algoritmi ir pavisam citi - to galvenās iezīmes ir tieksme pēc hešvērtības īsuma un izvairīšanās no sadursmēm (collisions).) Pirkstu nospiedumu rēķināšanai kriptogrāfijas pasaulē ir vairākas kopīgas īpašības:
  • Sākotnējais strings (ievade) ir ar mainīgu garumu.
  • Hešvērtība (izvade) ir ar fiksētu garumu.
  • Nevar efektīvi noteikt sākotnējo stringu, ja dota tā hešvērtība, tādēļ šos datordrošībā izmantotos algoritmus sauc par vienvirziena hešvfunkcijām (one-way hash).
  • Parasti neizdodas atrast arī divus dažādus stringus, kuriem atbilst vienādas hešvērtības, lai gan, ņemot vērā ierobežoto skaitu hešfunkcijas vērtību (piemēram, 2128, ja hešvērtības ir 128 biti). Tādēļ nosacīti šādas hešfunkcijas sauc par bezsadursmju funkcijām (collision-free hash).
  • Algoritms ir relatīvi vienkāršs - neprasa pārāk daudz atmiņas un un procesora ciklu.

    Šādu hešingu var izmantot, lai nodrošinātos pret gara dokumenta viltošanu (dokumenta izmainītājam ir praktiski neiespējami panākt, lai oriģinālā un jaunā dokumenta hešvērtības sakristu). Ar hešvērtībām var apmainīties arī tāpēc, lai nevajadzētu sūtīt paroles atklātā tekstā - tikai apliecinot, ka klientam parole bija zināma, ja reiz viņš spēja iegūt pareizo hešinga vērtību. Protams, ja parolei vienkārši vienmēr rēķinātu hešfunkciju vienā un tai pašā veidā, tad pašu hešvērtību kāds varētu noklausīties un izmantot paroles vietā. Lai tā nenotiktu, izmanto CHAP (Challenge Handshake Authentication Protocol), sk. [RFC1994].

    Šī protokola pamatideja ir sekojoša - Web serveris izrēķina nejaušu skaitli (vai pat vienkārši noskaidro pašreizējo laiku milisekundēs kopš 1970. gada). To aizsūta klientam. Šis nejaušais skaitlis saucas "izaicinājums" (challenge). Klients šo skaitli pieraksta galā savai parolei un izrēķina hešvērtību, ko aizsūta atpakaļ serverim. Serveris rīkojas tāpat - ar to klienta paroli, kura glabājas datubāzē. Ja hešvērtības sakrīt, klientu akceptē. Ja var nodrošināt, ka izaicinājums katrreiz ir cits - arī hešvērtības būs katru reizi citas, un neviens nevarēs izmantot atkārtoti noklausītas hešvērtības.

    Izplatītākie kriptogrāfiskā hešinga algoritmi šobrīd ir MD4, MD5 un Secure Hash Algoritm (SHA). Šajā kursā mēs programmējam autentifikācijas shēmu, kura atvasināta no CHAP, lietojot MD5 algoritmu.

Literatūra

[Apache]
Kā konfigurēt SSL uz Apache
[Boran]
Drošības rokasgrāmata
[IE6Cert]
Digitālie sertifikāti iekš IE6
[IE6Privacy]
Sīkdatņu politikas iekš IE6
[MSDNAuth]
Microsoft par drošību
[NTPassw]
Windows NT paroļu drošība salīdzinājumā ar UNIX
[RFC1994]
CHAP protokols
[RFC2440]
Open PGP
Tags:
Created by Kalvis Apsītis on 2008-05-04 18:05
    
This wiki is licensed under a Creative Commons 2.0 license
XWiki Enterprise 6.4 - Documentation