Criptografia Canalelor de comunicații și Aplicațiistud.usv.ro/CCCA/curs-VIII/CCCA-C8.pdfSSL...

of 30/30
CRIPTOGRAFIA CANALELOR DE COMUNICAȚII ȘI APLICAȚII CURS VIII – SECURITATEA COMUNICAȚIILOR RCC - CCCA - 2015 1
  • date post

    03-Aug-2019
  • Category

    Documents

  • view

    215
  • download

    0

Embed Size (px)

Transcript of Criptografia Canalelor de comunicații și Aplicațiistud.usv.ro/CCCA/curs-VIII/CCCA-C8.pdfSSL...

  • CRIPTOGRAFIA CANALELOR

    DE COMUNICAII I APLICAII

    CURS VIII SECURITATEA COMUNICAIILOR

    RCC - CCCA - 2015 1

  • CONINUT

    Securitatea comunicaiilor web

    Protocoale de securitate

    SSL

    TLS

    HTTPS

    SSH

    RCC - CCCA - 2015 2

  • SECURITATEA

    COMUNICAIILOR WEB

    Securitatea comunicaiilor web

    Ameninri de securitate Web

    Securitatea traficului web

    Protocoale de securitate web

    SSL Secure Sockets Layer

    TLS Transport Layer Security

    HTTPS HTTP over SSL

    SSH Secure SHell

    Consideraii de securitate web

    Securizarea componentelor (client, server, cod web)

    Compromiterea unui server web permite accesul n reea

    Utilizatorii, de regul, nu cunosc riscurile de securitate i nu au instrumente de protecie

    RCC - CCCA - 2015 3

  • AMENINRI DE

    SECURITATE

    Comparaie ntre diferite ameninri pentru comunicaiile web

    RCC - CCCA - 2015 4

  • NIVELURI DE

    SECURITATE

    Elemente de securitate n stiva de protocoale TCP/IP

    Nivel reea (IPSec - IP security)

    Nivel transport (SSL, TLS)

    Nivel aplicaie

    RCC - CCCA - 2015 5

  • SSL - SECURE

    SOCKETS LAYER

    SSL - Secure Sockets Layer

    Unul dintre cele mai folosite protocoale de

    securizare

    Serviciu de securizare

    Implementat ca un set de protocoale pentru stiva

    TCP

    Transparent (parte a unui protocol inferior din

    stiva)

    Embedded (inclus n diferite aplicaii server

    web, browser)

    RCC - CCCA - 2015 6

  • ARHITECTURA SSL

    SSL

    utilizeaz stiva TCP pentru activarea de servicii securizate

    2 niveluri de protocoale

    1 protocol la nivel de baz

    SSL Record Protocol

    furnizeaz servicii de securitate

    la nivelurile superioare

    3 protocoale la nivel superior

    Handshake Protocol

    The Change Cipher Spec Protocol

    Alert Protocol

    RCC - CCCA - 2015 7

  • CONCEPTE SSL

    Componente SSL

    Sesiunea SSL

    Asocierea dintre client i server

    Sesiunile sunt create de Handshake Protocol

    Definete un set de parametri criptografici ce pot fi partajai la nivelul mai multor conexiuni

    Folosite pentru a evita negocierea parametrilor de securitate pentru fiecare conexiune

    Conexiunea SSL

    Sesiune de transport ce ofer o anumit tip de serviciu

    Conexiune punct la punct

    Conexiunile sunt tranzitorii

    Fiecare sesiune este asociat cu o sesiune

    RCC - CCCA - 2015 8

  • SSL HANDSHAKE PROTOCOL,

    STRI SSL

    Parametri specifici strilor sesiune

    Identificator de sesiune (secven de identificare aleas de server pentru identificarea unui status de sesiune activ sau reutilizabil )

    Certificat (certificat X509.v3, poate fi nul)

    Metod de compresie (algoritm de compresie, nainte de criptare)

    Specificaii de criptare (algoritmul de criptare null, AES, etc. )

    Cheie master (cheie secret, partajat ntre client i server, 48 byte)

    Indicator reutilizare (dac sesiunea poate fi utilizat pentru a iniializa noi conexiuni)

    RCC - CCCA - 2015 9

  • SSL HANDSHAKE PROTOCOL,

    STRI SSL

    Parametri specifici strilor conexiune

    Identificator server/client aleatoriu (secven de octei aleas de client i server pentru fiecare conexiune)

    Cheie MAC server (cheie secret utilizat n operaiile la nivel MAC asupra datelor trimise de server)

    Cheie MAC client (cheie secret utilizat n operaiile la nivel MAC asupra datelor trimise de client)

    Cheie server (cheie de criptare pentru datele criptate de server i decriptate de client)

    Cheie client (cheia de criptare simetric pentru datele criptate de client i decriptate de server)

    Vectori de iniializare (meninut pentru fiecare cheie sau secvenial, preluat de la un bloc de criptare la urmtorul)

    Numere de secven (maxim 2^64 - 1)

    RCC - CCCA - 2015 10

  • SSL RECORD PROTOCOL

    Furnizeaz 2 servicii pentru conexiunile SSL

    Confidenialitate

    Se definete o cheie secret partajat, utilizat pentru

    criptarea SSL

    Integritatea mesajului

    Se definete o cheie secret partajat, utilizat pentru

    formarea unui MAC - message authentication code

    RCC - CCCA - 2015 11

  • SSL RECORD PROTOCOL,

    OPERAII SPECIFICE

    Operaii

    Fragmentare

    Compresia

    Asociere MAC

    Criptare

    Asociere antet

    RCC - CCCA - 2015 12

  • SSL RECORD PROTOCOL

    PAYLOAD

    SSL Record Protocol Payload

    Change Cipher Spec Protocol

    Determin copierea strii n ateptare n starea curent, fapt

    ce determin actualizarea suitei criptografice utilizat la

    nivelul conexiunii

    Alert Protocol

    Transmite mesaje specifice SSL ctre entiti, mesajele sunt

    compresate i criptate, conform specificaiilor strii curente

    RCC - CCCA - 2015 13

  • SSL HANDSHAKE PROTOCOL,

    MESAJE

    RCC - CCCA - 2015 14

  • HANDSHAKE

    PROTOCOL,

    ACIUNI

    RCC - CCCA - 2015 15

    Etape

    1

    Stabilirea capacitailor de securitate, inclusiv versiunea de protocol, ID-ul de sesiune, suita criptografic, metoda de compresie, vectorul de iniializare.

    2

    Serverul poate transmite certificatul, face schimbul de chei si solicita certificatul de securitate

    3

    Clientul trimite certificat la solicitare, face schimbul de chei i poate trimite verificarea certificatului

    4

    Se face schimbul de mesaje criptate i se finalizeaz protocolul

  • TLS - TRANSPORT

    LAYER SECURITY

    TLS

    versiune standard SSL pentru Internet

    RFC 5246 - Proposed Internet Standard

    Foarte similar cu SSL v3

    SSLv3.0 nu mai este sigur (vulnerabilitatea POODLE)

    TLSv1.0 poate fi privit ca SSLv3.1

    RCC - CCCA - 2015 16

  • FUNCIA DE

    CRIPTARE TLS

    Funcia de

    expandare

    a datelor

    RCC - CCCA - 2015 17

  • HTTPS

    HTTPS (HTTP over SSL)

    RFC 2818

    Combinaia dintre HTTP i SSL pentru implementarea comunicaiilor securizate dintre clienii i serverele web

    Caracteristicile HTTPS sunt incluse n browser

    Folosirea depinde de server, dac suport HTTPS

    Diferen URL https:// vs. http://

    Diferen port 443 vs. 80

    Criptarea elementelor de comunicaie

    URL

    Coninutul documentului web

    Coninutul formelor web (completate de utilizator)

    Cookie-urile

    Coninutul antetului HTTP

    RCC - CCCA - 2015 18

  • CONEXIUNI HTTPS

    Nu exist diferene fundamentale n utilizarea HTTP cu SSL sau cu TLS (ambele sunt denumite HTTPS)

    Iniierea conexiunilor

    Clientul iniiaz conexiunea ctre server (este i client TLS)

    Cererea HTTP poate fi iniializat dup ncheierea protocolului de handshake TLS

    Toate datele HTTP sunt transmise ca i date TLS

    nchiderea conexiunilor

    Conexiunile HTTP pot fi nchise de client sau de server

    Pentru nchiderea HTTPS, trebui mai nti semnalizat i nchis conexiunea TLS

    Clienii HTTPS trebuie s fac fa situaiei in care conexiunea TCP este terminat, fr ncheierea protocolului de semnalizare

    RCC - CCCA - 2015 19

  • SSH - SECURE SHELL

    Secure Shell (SSH)

    Protocol pentru comunicaii securizate

    Facilitate de conectare la distan (nlocuiete TELNET)

    Dispune de capabiliti generale client/server care pot fi

    utilizate pentru diverse funcii de reea

    transfer de fiiere,

    email,

    vpn,

    tunelare interfa grafic,

    etc.

    RCC - CCCA - 2015 20

  • PROTOCOALE SSH

    Stiva de protocoale SSH

    Transport Layer Protocol

    ofer autenticitatea serverului,

    confidenialitatea i integritatea

    datelor, opional compresie

    User Authentication Protocol

    asigur autentificarea utilizatorilor

    ctre server

    Connection Protocol

    multiplexeaz diferitele canale de

    comunicaie logice la nivelul unei

    singure conexiuni SSH

    RCC - CCCA - 2015 21

  • SCHIMBUL DE

    PACHETE SSH

    Mesajele specifice SSH

    Transport Layer Protocol

    Stabilirea conexiunii

    Identificare

    Negociere algoritm

    Schimbul de chei

    Transferul de chei

    Cererea de serviciu

    RCC - CCCA - 2015 22

  • PACHETUL SSH

    Formatul pachetului SSH

    Lungime pachet

    Lungime bii de padding

    Coninut efectiv (payload)

    MAC (Message

    authentication code)

    RCC - CCCA - 2015 23

  • ALGORITMI SSH

    TRANSPORT LAYER

    RCC - CCCA - 2015 24

  • SSH USER

    AUTHENTICATION

    PROTOCOL

    Metode de autentificare solicitate de server

    Cu cheie public

    Depinde de algoritmul cu cheie public folosit

    Cu parol

    Clientul trimite un mesaje cu parola, criptat de SSH

    Transport Layer Protocol

    Pa baz de host

    Este autentificat un host (nu un client)

    (pentru toi clienii pe care i-ar putea avea)

    RCC - CCCA - 2015 25

  • CONEXIUNE

    SSH

    Mesaje specifice SSH

    Deschidere canal

    Transfer de date

    nchidere canal

    RCC - CCCA - 2015 26

  • SSH CONNECTION

    PROTOCOL

    Protocolul conexiune SSH

    ruleaz deasupra nivelului Transport SSH

    presupunnd c este deja utilizat o conexiune securizat

    de autentificare, denumit tunel SSH

    multiplexeaz conexiunile logice la nivelul tunelului SSH

    Tipuri de canale

    Sesiune (execuia la distan a unui program, shell,

    aplicaie, comand sistem sau sub-shell)

    X11 (X Window System pentru aplicaii GUI)

    Forward tcp/ip (remote port forwarding,)

    Direct tcp/ip (local port forwarding,)

    RCC - CCCA - 2015 27

  • SSH PORT

    FORWARDING

    Funcia de redirecionare a portului

    Una dintre cele mai utile faciliti ale SSH

    Convertete orice conexiune TCP nesigur ntr-o conexiune securizat SSH

    SSH tunneling

    2 tipuri de port forwarding

    Local

    permite clientului s creeze un proces de redirectare a unei conexiuni prin intermediul unui tunel SSH

    Remote

    clientul SSH al utilizatorului acioneaz n numele serverului,

    cnd se dorete utilizarea unui server din spatele unui firewall ce nu permite conexiuni ssh

    RCC - CCCA - 2015 28

  • TUNELARE SSH

    Schimb de pachete SSH

    RCC - CCCA - 2015 29

  • TERMENI CHEIE

    Alert protocol

    Change Cipher Spec protocol

    Handshake protocol

    HTTPS (HTTP over SSL)

    Master Secret

    Secure Shell (SSH)

    Secure Socket Layer (SSL)

    Transport Layer Security (TLS)

    RCC - CCCA - 2015 30