4.3.1.1) Crittografia a chiave segreta (o simmetrica) ’ ˘7 C ˆ ˇ ˇ˜ ˝ Alice Bob Canale...

30
1 Appunti dei corsi di PROF. G. BONGIOVANNI 4) LA SICUREZZA .............................................................................................................. 2 4.1) Controllo dei diritti di accesso ............................................................................................................................. 2 4.1.1) Basic authentication in HTTP 1.0 ................................................................................................................... 2 4.1.2) Digest authentication in HTTP 1.1 ................................................................................................................. 4 4.1.3) Firewall ........................................................................................................................................................... 4 4.2) Protezione delle risorse da danneggiamento ...................................................................................................... 7 4.2.1) La sicurezza e le estensioni del Web............................................................................................................... 7 4.2.2) La sicurezza e Java ......................................................................................................................................... 8 4.3) Protezione delle informazioni durante il transito sulla rete .............................................................................. 9 4.3.1) Crittografia .................................................................................................................................................... 10 4.3.1.1) Crittografia a chiave segreta (o simmetrica).......................................................................................... 13 4.3.1.1.1) Il DES ................................................................................................................................................ 14 4.3.1.1.2) IDEA .................................................................................................................................................. 15 4.3.1.1.3) AES .................................................................................................................................................... 16 4.3.1.2) Crittografia a chiave pubblica ............................................................................................................... 16 4.3.1.2.1) RSA.................................................................................................................................................... 18 4.3.1.2.2) Premesse matematiche ....................................................................................................................... 18 4.3.1.2.3) L’algoritmo RSA................................................................................................................................ 19 4.3.1.2.4) Correttezza dell’algoritmo RSA ......................................................................................................... 20 4.3.1.2.5) Considerazioni su RSA ...................................................................................................................... 21 4.3.2) Funzioni hash e firme digitali........................................................................................................................ 21 4.3.3) Protocolli crittografici ................................................................................................................................... 25 4.3.3.1) Chiave segreta di sessione ..................................................................................................................... 25 4.3.3.2) Centro di distribuzione delle chiavi....................................................................................................... 27 4.3.3.3) Secure Socket Layer e Secure-HTTP .................................................................................................... 29

Transcript of 4.3.1.1) Crittografia a chiave segreta (o simmetrica) ’ ˘7 C ˆ ˇ ˇ˜ ˝ Alice Bob Canale...

Page 1: 4.3.1.1) Crittografia a chiave segreta (o simmetrica) ’ ˘7 C ˆ ˇ ˇ˜ ˝ Alice Bob Canale sicuro E D Canale insicuro C P P ˘˜ # ˇ 14 " ˇ ˇ ˝ 4 ˇ ˘˝ ˆ ’ ˇ ˇ ...

1�

Appunti dei corsi di ���������������� ��

��������������������� ������

PROF. G. BONGIOVANNI �

4) LA SICUREZZA ..............................................................................................................2

4.1) Controllo dei diritti di accesso ............................................................................................................................. 2 4.1.1) Basic authentication in HTTP 1.0 ................................................................................................................... 2 4.1.2) Digest authentication in HTTP 1.1 ................................................................................................................. 4 4.1.3) Firewall ........................................................................................................................................................... 4

4.2) Protezione delle risorse da danneggiamento ...................................................................................................... 7 4.2.1) La sicurezza e le estensioni del Web............................................................................................................... 7 4.2.2) La sicurezza e Java ......................................................................................................................................... 8

4.3) Protezione delle informazioni durante il transito sulla rete.............................................................................. 9 4.3.1) Crittografia.................................................................................................................................................... 10

4.3.1.1) Crittografia a chiave segreta (o simmetrica).......................................................................................... 13 4.3.1.1.1) Il DES ................................................................................................................................................ 14 4.3.1.1.2) IDEA.................................................................................................................................................. 15 4.3.1.1.3) AES.................................................................................................................................................... 16 4.3.1.2) Crittografia a chiave pubblica ............................................................................................................... 16 4.3.1.2.1) RSA.................................................................................................................................................... 18 4.3.1.2.2) Premesse matematiche ....................................................................................................................... 18 4.3.1.2.3) L’algoritmo RSA................................................................................................................................ 19 4.3.1.2.4) Correttezza dell’algoritmo RSA......................................................................................................... 20 4.3.1.2.5) Considerazioni su RSA ...................................................................................................................... 21

4.3.2) Funzioni hash e firme digitali........................................................................................................................ 21 4.3.3) Protocolli crittografici................................................................................................................................... 25

4.3.3.1) Chiave segreta di sessione..................................................................................................................... 25 4.3.3.2) Centro di distribuzione delle chiavi....................................................................................................... 27 4.3.3.3) Secure Socket Layer e Secure-HTTP.................................................................................................... 29

Page 2: 4.3.1.1) Crittografia a chiave segreta (o simmetrica) ’ ˘7 C ˆ ˇ ˇ˜ ˝ Alice Bob Canale sicuro E D Canale insicuro C P P ˘˜ # ˇ 14 " ˇ ˇ ˝ 4 ˇ ˘˝ ˆ ’ ˇ ˇ ...

2�

4) La sicurezza �

����������������� ���������������������������� �������������• ��������������������������������������������������

• ��������������������������������������������������������������������

• ������������������������������������������������������� ����������

• ����������������������� ��������������������������������������������������������������������������������������������������� ������������� ���������������� ������������������������� ��������������������������������������!������� ����������� �������������������������� �������������������������������������������������������������������� ���"#$%�$��&��������������' ������������������������������������������������������������������������ ��������������������������������(������� ���������������������� �������������������������� ������������������������ ������������������������)������������� ������������������������������������������������������������������ ���������������������������' �����$�������������������������������� ������������������ ��������*��������������������+� ��������������������������������������������������� ������� ������������������������������ ����� ��������� �������������������� ������������������ ����������� ������ ������������������������#�(�������������� ����������������������� ��������������� ������������������������� �������

4.1) Controllo dei diritti di accesso ��

4.1.1) Basic authentication in HTTP 1.0 �

*��������������,""$����������� ������������������������������ ��������������

��������������������������������������������� ���� ������ ����������������������������-������. ������������������������������ ����������������� ���������

• ������������������������������������������/���������������������+� �������������������' �������� ���� ����������

• ��������������� �������������� ������� ��������������������������-������

Page 3: 4.3.1.1) Crittografia a chiave segreta (o simmetrica) ’ ˘7 C ˆ ˇ ˇ˜ ˝ Alice Bob Canale sicuro E D Canale insicuro C P P ˘˜ # ˇ 14 " ˇ ˇ ˝ 4 ˇ ˘˝ ˆ ’ ˇ ˇ ...

3�

0������������������� �������������������" ��������� ���������� ��01�����������' ������������������������������������2 ������������ ������������34"����� ����� ����������������������� �������������������������� ���������� ��������� ���������������' ������HTTP/1.0 401 Unauthorized WWW-Authenticate: Basic realm="NomeRealm" Server: ..... Date: ..... Content-type: ..... Content-length: 0

�2 ����������������������' ������������������������� �������������� �������������������������������������������������� ����������������� �������� ������� ���������������������������������56��7�' ����� �������������������� ���� ����������������������������������� �������GET url(la stessa di prima) HTTP/1.0 Authorization: Basic ***************** User-agent: ..... Accept: ..... ecc.

�������������������������������������������������������� ��������������-��������������� ����������������������������������������� ������ ���������������������0��8��������������������9:;9���9<=9�������������� ���� ��������� ��������������������������������������������7.#�����������2 ���������������������������������������������������������������������������������� ������>��-���������������������' �������� ��������������������NomeRealm����

• ����� ����56������ ���������� ����������������

• ���������������� ���� ���������������������403 forbidden���������������������������������� ������������������� ������>��-��������������� ����������� �������������������� ������������������ ���������������������������������������� �' ������������������������������������������������������������������������������������' �������� ��������

Page 4: 4.3.1.1) Crittografia a chiave segreta (o simmetrica) ’ ˘7 C ˆ ˇ ˇ˜ ˝ Alice Bob Canale sicuro E D Canale insicuro C P P ˘˜ # ˇ 14 " ˇ ˇ ˝ 4 ˇ ˘˝ ˆ ’ ˇ ˇ ...

4�

4.1.2) Digest authentication in HTTP 1.1 �

������ ���������' �������������������� �����������-��������������������������������� �������������������������������� ������������������������������������������������ ������' ������ (������������������������������������� �������������������������� ������=?@A���������� ���� ��������������������� ������ �����������-���� ����� ���������������� ������������� ������������ �����������������������������������������������������������������������)�����������2 �������������������������������������� ����������

• �������������������������������������������������� ���������������� �����������������������������

• �������������������������������������������B �����!�����������������������������������������

• ����������� ��������������

• ������������ �������

• ��-��������� �����������' ������������������������������ ������� �����������-��������������������������������� �����������2 ������������������������B �����!���������������������� ���������� ���������������������������������� ����������.������ � ������� ����56������������������

4.1.3) Firewall �

����������� ����������� ������� ����������������������������� ������������������������������������� (�����������������������

• ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� �����������������������������������

• ����������������������������������� ������������� ��������������������������������������������� �����������������

�2 ������� (����������������������� �������������������������� ������������������������������������������������������' ���������������������������������������������������������������������������������������������

Page 5: 4.3.1.1) Crittografia a chiave segreta (o simmetrica) ’ ˘7 C ˆ ˇ ˇ˜ ˝ Alice Bob Canale sicuro E D Canale insicuro C P P ˘˜ # ˇ 14 " ˇ ˇ ˝ 4 ˇ ˘˝ ˆ ’ ˇ ˇ ...

5�

������������������������

• ����������������������� ������(������������������� ����������������������������������������������������� �� ������ ���������������� ������������������������������ �������������� ��������������

��������-��������������������������������������' �������������������������� ��������������������� �������������������������������������������������������������-������

Application gateway

Router A

Router B

Rete interna Rete esterna

Filtra i pacchetti in uscita

Filtra i pacchetti in ingresso

��

������������"������������ ����������� ������-�����4������������������ ���������������-������)����������������������' ������������� ������������������� ����������������������

• � ��� ������������������������������7����������� �����C���������������������������������������������������������������������������������� �����������������������������������������������������������������

• ���������� ����������' ���������������������������������������������' �������������������������������� ������������������������7��������� ��������������� (������������������������� ������������������������������ ���� ������ D���������������������������� ���������������������� ������������������������������������������E �� E������������

�#������������������������������������������������������������������ ��������������������

• �����������$������������������������������������������������������' ����� (��������' ������������������������������������� ���������������������������������� ������������������������� ���������������������

• � �����������������������������' ����� (������������� ������������������������������������������������ ������������������������=:���� ���������������������� (������������ � ��

Page 6: 4.3.1.1) Crittografia a chiave segreta (o simmetrica) ’ ˘7 C ˆ ˇ ˇ˜ ˝ Alice Bob Canale sicuro E D Canale insicuro C P P ˘˜ # ˇ 14 " ˇ ˇ ˝ 4 ˇ ˘˝ ˆ ’ ˇ ˇ ...

6�

��� �����������������������������0����� �������������������������� �������������������+� ������������������������ ��������������������

• ������������������ �������� ���������� ��� ��������� ����������������0!$���)��������������������������

�$���������������������������������-�/� ����������������������������������������������������� ������������������.������������������������������������������� ����������������� ����������� ��������� (��������������������������-�/������� �������������������������������������������������������������������������������������������������������7�������������������� �����������8/�������������������,""$�� !!"��� ��������������������� ����� ������������' �����

• ������������������������������������������ �������������������������������������,""$����8/��

• �������-���������������� ��������������������������������������,""$������������,""$����8/���2 ����� �� ������������� �����F������ ������ ��������+� ������������������� ������' �����9� ��������������� ��������������������8/��������������������������=� ������8/������� (���������������-���������� ��������������������������+� ��������������������������������������������

:� ���������+� ������������������������������8/��;� ������8/�E����E�����������������������

Firewall

Rete interna Rete esterna

Web client

HTTP proxy

Web server

1 2

34

��

������������0����� ��,""$����8/�������8/������������������� ���� ��������������������������������)������������������������������������������������������������������������)���� ���������� �����������G��������������������� ������� ����� ����������������������� �� ������������������������� ����� ������������������ ������������������������������ ��������+� �� �������������������������������������������������-������

Page 7: 4.3.1.1) Crittografia a chiave segreta (o simmetrica) ’ ˘7 C ˆ ˇ ˇ˜ ˝ Alice Bob Canale sicuro E D Canale insicuro C P P ˘˜ # ˇ 14 " ˇ ˇ ˝ 4 ˇ ˘˝ ˆ ’ ˇ ˇ ...

7�

4.2) Protezione delle risorse da danneggiamento �

!����������������+� ��������������������������������34"����$5."�������������������������' �������������������������������������' ������������ ��������������������������������������������������������+� ��������������������������01��������������������������������������������/����������������������������������������������+� �������! �' ��������������' ��������������������������������������������������� ���������������+� ��������������������������������

4.2.1) La sicurezza e le estensioni del Web �

�������������(���� �����������������' ��������������������� ��������������������� �����• ����������������������#3���

• �������������������������������������������� ����������������� ���������������������� ������������������������������������� ���������������������������������������������������� ����������������������������������������������������.�������������������������������������� �����H��4��������������� (������' �����

• ��)�������������������������������� �����������#3�� ��������������������������������������' ���������������

�����������. ��������������� ������� ��������� �������� ���������������������� �����������" �#�����' ������������ �������$��.���������������������������� �����������������������������������������������������������������������������������������������' �������������������������$��.��������������������������� �� ����� ������������������� ��������������������� ��������������������������� ��������5���$��.�������� ��������������� ���������������������������������������������������������������� �������/�����.����� ������������ ������$��.����������� ������������������������������������������� ��������������������������� ������������������������$��.����������� ��������������������� ���������������������� ����������������������������������� ����������

Page 8: 4.3.1.1) Crittografia a chiave segreta (o simmetrica) ’ ˘7 C ˆ ˇ ˇ˜ ˝ Alice Bob Canale sicuro E D Canale insicuro C P P ˘˜ # ˇ 14 " ˇ ˇ ˝ 4 ˇ ˘˝ ˆ ’ ˇ ˇ ...

8�

����������0������������������������ �����������������' �����

• �������������#3������������� �������������������������������������� ���������������������� ��������������������������

• ���������������������������������������������������������� �������7 ������������������������� �������������������� ��� ���������

• �������������������� ����������� ���' ��/��

• �������������������������������������� ����������5�������������

• ����������������������������������������������������������

• �������������#3�������������� ����������������������������������������������� �����

• ���������+� �������������������� ������������������������������������������������#3�����' �������������������������������

�������������������������������� �� �������������� (��������� ������������������ ����������������������������������������-���������������7�� ������������ ��������� ����������������������� ������������������������������ ������

• ������������������� ����������I?���������������������������������������� (�������� ����F��� ��� ���-���>F��-������������� �����������������������������������������������������������������������������������������������������������������������������������' �������������������������������#3��������������������������

• ������������#3���������������������������������������������������������������������������������������������������������������������

• ������������������������������������������������� ���������������������������������������������������� �����

��

4.2.2) La sicurezza e Java �

0������������������������������������������������������ ��������������JKB������� ���������� ���������������������������������������������������������� ������ ��������������������� ������������������������ ������������������������(����������� �����������������������������7���������������� ���������������' ������������������������������� �����

• ���������������� ��������������������������������������������������� ������������������������������������������� ����

• ���������� �������������������������������������' ��� ���������

• ������������������� ���������������������

Page 9: 4.3.1.1) Crittografia a chiave segreta (o simmetrica) ’ ˘7 C ˆ ˇ ˇ˜ ˝ Alice Bob Canale sicuro E D Canale insicuro C P P ˘˜ # ˇ 14 " ˇ ˇ ˝ 4 ˇ ˘˝ ˆ ’ ˇ ˇ ...

9�

���������������������������������������������������� �������������

• �������������������

• �������������� �������������������/��

• ������ ����������������������������� ����������������������������������������' ���������������������������" �������!������ ���������������������������������)������ ���������������������������� ��������������#��������� �������� /��������������������������������������������� ��������������������J������$���' ���������������JKB ���������������������������������������������� ������������������������ ���������������������� ��� ���������������� �� /������������������������������� �������������������������������������������������

• ���� ����� ���������

• ������������������������������������������

• ��������� �������������������������������������������������������������������������� ���������������������������������������������4������������������������� ������������������������������� ������ ������������������������������������������������������������ ���������' ��� ��������������� �� ��������������������������������������������� ������������������������������� ���������������������(������������������������������������������ (�����������������������������������������+� ��������7�����K��-����������������������� ���� ���/������������������������� �������������������

• �����������������/������������

• �������������������������������������������' ���������������������

• ���������������������������K�������� ���������������J����������������������������������� ���� ���/������������������������������������������������������������������' ��������������� ������������������������������������

4.3) Protezione delle informazioni durante il transito sulla rete �

4������ ������������ ������������������� ���������������������������������������������������������� ����� ��� �������-�����

Page 10: 4.3.1.1) Crittografia a chiave segreta (o simmetrica) ’ ˘7 C ˆ ˇ ˇ˜ ˝ Alice Bob Canale sicuro E D Canale insicuro C P P ˘˜ # ˇ 14 " ˇ ˇ ˝ 4 ˇ ˘˝ ˆ ’ ˇ ˇ ...

10�

�4��������������������������� ������������������������������

• ������$$���������������������������������������������������������������������������������������������������������

• �������$� ����������������� ����������� ���������� ������' ���������������������������������������������

• ������%������������� ����� ����������� �������������������������������������������������� ������������������

�*���������������������������������� ����������������������� ������������ �������������������������������������������������������� �������������������������� (���� ���������"� �/��������� ������ ����������������������������������������� ���������� ��������)��������������������������' ������������������������������������������������������� ��������������� ������������������� �������������������� ���������4���(��������� ������������ ����������������������������

• �������������������������������������������������������������� ����

• ��������������������������������������������"� �/���������������������� ����������������������� ����������������������������

������ �������������������������������������� ���� � �� ���� ������ ��������������� �������������������' ������ �������������������������� ������

• ��� ��������

• �����������������

4.3.1) Crittografia �

������������������������ ����������������������������������� ������� ������������������������������ ���������������������������������������������������������������������������������.����� ���� �' ��������� ���������������������������' �������������������������������������

• ����������������������������������������������������

• ��������������������������������������������������������������������������� �����������

• ��� ������������ ����������������������������������� ������0������������ ���������� ������ ��������������������������������������������� ��������������������������� ��������������������������������������������������������������� ������������������ ������������������������������������������������� ������������

Page 11: 4.3.1.1) Crittografia a chiave segreta (o simmetrica) ’ ˘7 C ˆ ˇ ˇ˜ ˝ Alice Bob Canale sicuro E D Canale insicuro C P P ˘˜ # ˇ 14 " ˇ ˇ ˝ 4 ˇ ˘˝ ˆ ’ ˇ ˇ ...

11�

Encryption

Internet

Decryption

Testo in chiaro

Testo incomprensibile

Testo in chiaro

Testo incomprensibile

��

������������#����� ������������� ����7���������� �� ���������������������������������������� (����������� ���������� �����������������������' ������������������ ��������� ����������������������-���>��� ������2 �����������������(�����������������������' ����������&�������� ��������������������������������������������������$���' ������������������������������ �������������������������������

• ���� � ���������� ����� �������������� ������������������� ����������������������������� ���������������������������������������� ��������������������

• ����' �������� ������������������������������������������� ������������!��������������������������� ����� ������$� ���4���������������������������� �������� �����������$��� ����������F����� ����������� ������ �����������#���

#�L�4�$F�������������������������������������

#�L�4F�$���2 ������������������������ ��������������������������� ������������������������� �����7�������������������

• ���������������� ����� ����������� �����������������������' �������������� ������������F������-���>��� �����

• ���������������������������F���

Page 12: 4.3.1.1) Crittografia a chiave segreta (o simmetrica) ’ ˘7 C ˆ ˇ ˇ˜ ˝ Alice Bob Canale sicuro E D Canale insicuro C P P ˘˜ # ˇ 14 " ˇ ˇ ˝ 4 ˇ ˘˝ ˆ ’ ˇ ˇ ...

12�

��������������������� ����� ��������� �������������������������������������������������������������������������������#� ����������F�������� ��������������������������������$���

$�L�!F�#���5������������������������������

!F�4F�$���L�$��#�������������������������������� �� ������������������������� �������������������� �������������� �������

Metodo di encryption

Internet

Metodo di decryptionk kTrudy passiva

Trudy attivaC

P

C

P

��

������������#����� ������������� ��� ����� ���������"� �/�� (�����������������������������������������������������������������������������������������������

Page 13: 4.3.1.1) Crittografia a chiave segreta (o simmetrica) ’ ˘7 C ˆ ˇ ˇ˜ ˝ Alice Bob Canale sicuro E D Canale insicuro C P P ˘˜ # ˇ 14 " ˇ ˇ ˝ 4 ˇ ˘˝ ˆ ’ ˇ ˇ ...

13�

���������������������� ���������������� �������������� ��������������������� ������������� ���������������� ����������� ������������� ���������������������� ������������������������������������������� �������������������������������������������� ���������������������������������������2 ���������������� (������������������������� ��������

• ���������������������������������������������������������� �������� ��������� �������������������������2 ������������������������ �$����������� ��������������������������������������������������������������������������������������������������������)�' �������� �����������������������������9=I� ��������������������=9=I���������������� ������

• ���������������� ������ �������������� �������4���!�������� ���������������������������������������

�#������� ������������������������������������������������� �������������������

• ����������������������������������������������������������G����������������� ����������������������� ����� �' �����������"� �/������ ��' ������������������������������������������������������� ���������������� ����������������������������������

• ������������������������������������' ����������������� ���������������������������"� �/�������������� ��������� ������������������7�������������������������"� �/������������ ����������� ������������ ����������������������������

��

4.3.1.1) Crittografia a chiave segreta (o simmetrica) �

���' �������������������������������������������������������7�������C� �������������������������������������������������������������������������� � ��������������������������� ����������������������� ������������������ �����

Alice Bob

Canale sicuro

E DCanale insicuro

C

P P

��

������������#����������������������������

Page 14: 4.3.1.1) Crittografia a chiave segreta (o simmetrica) ’ ˘7 C ˆ ˇ ˇ˜ ˝ Alice Bob Canale sicuro E D Canale insicuro C P P ˘˜ # ˇ 14 " ˇ ˇ ˝ 4 ˇ ˘˝ ˆ ’ ˇ ˇ ...

14�

�" ����������������������������������������������������� �����������������������������4���������� � �� ��������� ���������������������������� ���������������� ������� ��������� ����������������� �������' ������������������������������������������ ����������������������������������������� ������������������������� ������������������������������������������������������� �� ����� ����� ��M �������������������������������������������������� ���$� �����������$� ����������� ��������� ����� �&���������������������������� ��������� ��������������������������� ������ ����������������� ��� �������� ������� ������ ������4M������ ��������� �� ��������������������� ������������ ����������������������#�� ������������ �������� �������������������� �������������������������������� ����������������� ��������������������������������������� ������������������������� ����������������$�������������������������� ��������� �� ������������������������������������������������ ��������������������������������������������������������������������������

4.3.1.1.1) Il DES �

��������������)����� �����' ��������������������'#������'������ ��#������������������������CB �������������������������������������0�.�7������9ANN������������������������������������� ����������@;� ����������� ��������� ���@;� ��������������������������������� ��������������������������������������� �������������<@� ��������������� ���9A������������� �������' ������������ ����������������������� �� ���������������������������������������9@�����9A������������������������������� �������������.> �8�������������������� ������ ����������������������� ���������������������!4.��������������������������������������������������� ����������

• �����������������������CB ���������������������9=I� �����������������<@� �����������������0�.�7��E ���������E�������������(#���(�� ����#���������������������������������������( �#������������������� �������.������������������� ������� ����������������������������������������������������������� �������������������������������������������

• ��������!4.���������)�������������� ������' ���������������������������������������������������������������������������������������=;:���� �������

�0��� ��������������!�������'#�������(���� ��������������������� ������' ��������������������� ���������������������������������������� �������

Page 15: 4.3.1.1) Crittografia a chiave segreta (o simmetrica) ’ ˘7 C ˆ ˇ ˇ˜ ˝ Alice Bob Canale sicuro E D Canale insicuro C P P ˘˜ # ˇ 14 " ˇ ˇ ˝ 4 ˇ ˘˝ ˆ ’ ˇ ˇ ...

15�

E D E

Encryption

k1 k2 k1

D E D

Decryption

k1 k2 k1

C

P

P

C

��

��������� ��"������!4.��2 ������������������F9LF=��������������������� �������������������������������!4.���4�����������������"������!4.������ ���� ����������������' ���������������������������� � ������������=99=���������������������� ����������������������������� ���� ������������������������������������������� ����9??���������������������������������� �������

4.3.1.1.2) IDEA �

0�����������������������������������������������)�'���)������ ��������'������ ����� �������4��� �����������������A?����.��������������' ������������������������������������������� ��� ���� �����������������������������0�.�7������������������������������� ���������� ��������������������������������������������� ��������#�������!4.��!47������� �� ��������� ����� �����������@;� ������� �� �������������9=I� �����������������������������' ��������� ������� �� �������������� ������ ��������� ��������������������������!4.����*�������������� �������������������������������� ����������

Page 16: 4.3.1.1) Crittografia a chiave segreta (o simmetrica) ’ ˘7 C ˆ ˇ ˇ˜ ˝ Alice Bob Canale sicuro E D Canale insicuro C P P ˘˜ # ˇ 14 " ˇ ˇ ˝ 4 ˇ ˘˝ ˆ ’ ˇ ˇ ...

16�

4.3.1.1.3) AES �

���=���������9AAN��M���������������*�."��*������������� ������.������������"��������/�������(��������������������������������� �����������!4.���������������������'������ ��#���������'#���"���������������������� ��(���������������������� ���������������������������� ����������������������������������������������������������������������� �����;������ ���=??9���������������������������1�D���������� �����������������' ���������� ��� ������� �����J��!��������K��1�D������74.������������������1�D������������� ����������� ��� � ����������9=I� ������ (� ��������������������9=I�9A=���� ���=<@� �������� ���������������������������� ��������������������� �����������������9?��������������������9=I� ���9=��������������������9A=� �����9;��������������������=<@� �����3���.> �8��������������������������������������������������������������������������������������������������������� ��������������������������������#���������!47���������������� ������������������������������ ��������74.������� ��������������������� ������� ����������� �����������������������=<@������������������������� ������������������� � ������

4.3.1.2) Crittografia a chiave pubblica �

0����� �������������������������������������������������������' ������ ���������� ������������������������������������������������ ������������������$����&�������������������������������������������� ��������������������������*��������������������� ����������������������������*�*>9�%=������������� ���������������������#�(����������������������������������� ���������������� �������������������������������� ������ �������� ���������������*�����������������������������N?�� �������������!��������,��������.��������0�������/�� ������������������������������������� �����������������������������������������������������' �����

• ��� ����������� ���������������� ��������������

• �����������������������������������������������

• ������������������������������������ �����

Page 17: 4.3.1.1) Crittografia a chiave segreta (o simmetrica) ’ ˘7 C ˆ ˇ ˇ˜ ˝ Alice Bob Canale sicuro E D Canale insicuro C P P ˘˜ # ˇ 14 " ˇ ˇ ˝ 4 ˇ ˘˝ ˆ ’ ˇ ˇ ...

17�

• ��(���������������������������������������� (���������������������������������������������������

• ��' �������� ��������� �' ��������������������������������������������������������������������������

�! �' ������ ���� �������*�������������������������=*�������������� ����������������������������������$$����' �����

• 7������������������������������������� ��������C� ���������������� ������

• C� ��������������������������������������������������������������������� �����

Alice Bob

E DCanale insicuro

Chiave pubblica di Bob

Chiave privata di Bob

C

P P

��

���������!��1������������������������������������������� �������������������������������� ������������������� �����������������������������������$� �������������������������������������������������������������� ��������������' ��� ������������������%������������� �����������������������������������������������������������' ������������������������������

• 7�����������������������������������������������������

• C� ��������������������������� ��������7�������

Page 18: 4.3.1.1) Crittografia a chiave segreta (o simmetrica) ’ ˘7 C ˆ ˇ ˇ˜ ˝ Alice Bob Canale sicuro E D Canale insicuro C P P ˘˜ # ˇ 14 " ˇ ˇ ˝ 4 ˇ ˘˝ ˆ ’ ˇ ˇ ...

18�

Alice Bob

E DCanale insicuro

Chiave privata di Alice

Chiave pubblicadi Alice

C

P P

��

���������"��7 ��������������������������������������������� ���������' �������������������������������������� �' ��� (��������������������������� ���������7��������� ����� ������� ������������������ ���� (�������������������

4.3.1.2.1) RSA �

���������������������� ������� ��������� ������������������*#������������������������� �����1�����.��������7�����������������9ANI���4���������� ��������������������������������������������������������������������� ���������� ���������������������� ������������������������������������������������������ ��� ��������=??���������9?=<���������� ��� ��������<??����������

4.3.1.2.2) Premesse matematiche �#�������$�%����.����������� ����������������������������������� ��� �������������������������?9����>9�����������������������

• .��������� ������������������������������������������������������������ ������������������������� ������

• !���� ��� �����8��+������ ���������' ���� �����/����������

8/�≡ 1������������������&�����

!���� ��������������� ����������4 �����ΦΦΦΦ,�-���������������� ��������� ��������������������������������#��������������������

• .�������������Φ����L���>�9��

Page 19: 4.3.1.1) Crittografia a chiave segreta (o simmetrica) ’ ˘7 C ˆ ˇ ˇ˜ ˝ Alice Bob Canale sicuro E D Canale insicuro C P P ˘˜ # ˇ 14 " ˇ ˇ ˝ 4 ˇ ˘˝ ˆ ’ ˇ ˇ ...

19�

• .����������������������� ��� ����������������Φ����L���>�9����>�9����'��������&�����!����� ��� ������������������������������������

� Φ����≡ 1�������.����������������������� ��� ���������������������������� ����������4 ����������

� ��>�9����>�9��≡ 1��������

4.3.1.2.3) L’algoritmo RSA �

9� .���������������������������������������������������������������9?9??����������������.����=� #���������$�.�ΦΦΦΦ,�-�����$�.�,����/-,���/-��:� .��������� ��� ����������� �� ��ΦΦΦΦ,�-��;� "����������� �������������� ����������+���������������� ��� �ΦΦΦΦ,�-��������� ������������ ���

���≡ 1�����Φ������

• *����9��' ������������������������������������������������ ������������� ��������� ��� ���������������

• *����=����������������� �����������������������������������4 ������������

��L��� �����>9������������������

�������������L������ �����>9����������L���� �����������������������������������������������������������������������4 ����������

� Φ�Φ�����≡ 1�����Φ������' �����������

���≡ 1�����Φ����� �' ���������������������������������������' ��������������������� ����������������������� ���������������� ���������� ������������������������������������������� �����������������8��������' ����

��8�>�9�% ���������������

Page 20: 4.3.1.1) Crittografia a chiave segreta (o simmetrica) ’ ˘7 C ˆ ˇ ˇ˜ ˝ Alice Bob Canale sicuro E D Canale insicuro C P P ˘˜ # ˇ 14 " ˇ ˇ ˝ 4 ˇ ˘˝ ˆ ’ ˇ ˇ ...

20�

<� $������• #�����$����(������������������)*+��

• #�����$����(�����������������)*�+,�5������������������������ ������������������������� ������

@� . �������������������������������������$�����-������������������������������� ������"������ ������������������������� �������������������������5������������F�����������

=F>9�O����N� 0��������������� ������ �������������������� ���������������� �����

• �����%����������� ����������������$� �� ������#�����������

.�/�)��+������

• ������%����������� ����������������#� �� ������$�����������

��/�).��+������

��

4.3.1.2.4) Correttezza dell’algoritmo RSA �

#��������������������#�L��$����������

$�L��#����������! �' ������������������������ ������$���� ��������������������� ������ �� ������#������� �������������������� ������ �� ������$�������

$��L��$�����������1������������������������������������������������ ������������ ������������������

$��L��$F���P9�������L���$����F�$��������

.��$����������������������������������4 �����������

$ Φ����≡ 1�������!��� ���������������

$��L��9F�$��������L�$��.���������$��������������������������������� ��������������������

• $���������L���$������������������ ��������������� ������������������� ���������������� �� � �����������

• . �������������$�L�'������������$�� ���������� ������������������������'�O��������������$���� �� � ���������������������

Page 21: 4.3.1.1) Crittografia a chiave segreta (o simmetrica) ’ ˘7 C ˆ ˇ ˇ˜ ˝ Alice Bob Canale sicuro E D Canale insicuro C P P ˘˜ # ˇ 14 " ˇ ˇ ˝ 4 ˇ ˘˝ ˆ ’ ˇ ˇ ...

21�

7��������� ������������

$��L��'�����������L��'F���P9��������

4�������������������

$��L��'F��>�9����>�9��'��������#������ �������������������

��9���������������������������������������������������$��L���'F��>�9�����>�9��'����������

4.3.1.2.5) Considerazioni su RSA �

.������������������������������������������������������������ �����"� �/������ ��������������9� ��������(���0������' �������=� �������������������������������������������� ������������������������ ��� ����'���������*���9AA;�1.7��������������������������� ��������������� ������ ������� �.����������7��������������������������������G��� �������������9=A��������;=@� ������� ���������������9@??���� �������� ��������������I��������� ������������<???�������������������9�B �$.���������������� �������������������!���������������&�1.7��������������� �������������������������������������� ������� (������� ���������������������������� ���������������������������������������������������������������������������� ����������������������&������������������������� �����������������)������������ �����������������' ������������������������� �������������9??���9???��������� ���������� ���������������������������� ��������������������� ������ ������������������������������������� ������ ���������������������� ����������������������������� ��������������������������������� ������������' ����!4.����!47����

4.3.2) Funzioni hash e firme digitali �

#����� ������������������������������������ ������ (������ ��������� ����������������������� ���������������������������������������������������������������� ������������$��(����� ��������������� ����������' ���������������� ��������������������� ���������������������������������������������������������������������������������������� ������������� ������������ ����������������������

Page 22: 4.3.1.1) Crittografia a chiave segreta (o simmetrica) ’ ˘7 C ˆ ˇ ˇ˜ ˝ Alice Bob Canale sicuro E D Canale insicuro C P P ˘˜ # ˇ 14 " ˇ ˇ ˝ 4 ˇ ˘˝ ˆ ’ ˇ ˇ ...

22�

�7� �� ������� �������������������� ����������������������)�������������������(������� ��� ��������������������������������� ����������������������' ��������� ��� ��� �����������$� ����������������������$� ��������������� ���������� ����������������������������������������������� �������� ���� ����� ����������������������"������� ���������������������������������������������������������9?�����=?� /���������������������������� ���������������������������������

MD (funzione hash)

Message digestMessaggio originario

MD(P) P �

����������1��#�������������� ����������������

�$����������������������������� ���������������������������� �������' ������

• ������ ������������������������������������B!�$���

• �����B!�$���������������������� ��������������$��

• �������������������� ������������� ����� ������$9���$=����������� ��B!�$9��L�B!�$=���.�����������' ������' ���������������������������������������������

�$�������������� ��������' ����������� ���������������� ������� �����������9=I� ����7������������������������������ ����������������������������� �����������������������' �����������������������������&����������������������������������������������������������� ����������' ������������������������ ��������������������)����� ��������������������������������������������� ���������������1�����9AA=�����' �������� ���������������������������9:=9��$��� ������������9=I� ������ �������' ������� ����������� ������ ����������������Q ���������������N�B C�� � ��$���� ��$�����=??�B,����0��������������������������� ������������������������������� �������������������������������%������������� ����������������������������������������� ��������������������������������' ��������������������������

Page 23: 4.3.1.1) Crittografia a chiave segreta (o simmetrica) ’ ˘7 C ˆ ˇ ˇ˜ ˝ Alice Bob Canale sicuro E D Canale insicuro C P P ˘˜ # ˇ 14 " ˇ ˇ ˝ 4 ˇ ˘˝ ˆ ’ ˇ ˇ ...

23�

Alice Bob

Canale insicuroMD + +

MD

=

Si

OK

No

ERRORE; messaggio alterato

MD(P)

P

MD(P)

P

MD(P)

��

����������2��0�������������������������������������������������������7��������������������������������������� �����' �����C� ������������ �������������������� �����������������������' ���������� �����5����������' ��������������������������������������������"� �/���������� ������������������������������ ��������� ����������������������������������������������������C� ������������' ��������������������7�������$������������' ������� ����������������� �����������������������)���������������� ������������������������������������� ������������ ����������������������������������������������������������������������������������������������������������������������������� �������������������0����� ���������������' ������������������������������������������������������������������&���� ������������������������������������� ������������������������������������ ������������������������������������������ ����� �����������������

Page 24: 4.3.1.1) Crittografia a chiave segreta (o simmetrica) ’ ˘7 C ˆ ˇ ˇ˜ ˝ Alice Bob Canale sicuro E D Canale insicuro C P P ˘˜ # ˇ 14 " ˇ ˇ ˝ 4 ˇ ˘˝ ˆ ’ ˇ ˇ ...

24�

Alice

Bob

Canale insicuroMD +

MD

=

Si

OK

No

ERRORE; messaggio alterato

E

Chiave privata di Alice

+

+

D

Chiave pubblica di Alice

Canale insicuro

MD(P)

P

MD(P) MD(P)

P

Firma digitale

P

Firma digitale

��

�������������Q��������������

Page 25: 4.3.1.1) Crittografia a chiave segreta (o simmetrica) ’ ˘7 C ˆ ˇ ˇ˜ ˝ Alice Bob Canale sicuro E D Canale insicuro C P P ˘˜ # ˇ 14 " ˇ ˇ ˝ 4 ˇ ˘˝ ˆ ’ ˇ ˇ ...

25�

4.3.3) Protocolli crittografici �

2 ����������������� �������������� � �� ���� ������ ��������� ��������������������������������� ������ ����������� ����� ������������������������������' �����������������0��������������������������������������������������������������������� ���������������������� �������

• ' ��������������������������������������������������������� ������%�����������������������������

• ' ���� ��������������������������� ������' ��������������������������������������4�������������������������������������������������������������

• ����������������������������������� ��������������������� ����������������������� �������R�#����������������������������� ����������R���

• ����������������� ������������������� ������������������������������� �R����K�������������� ��������������������������� ������������������������� ���������������' ���������+� �������

• ����� ��������� ���������� ���������������������������������������������������������� ����������

• ����������������� ��������������������� ��������"� �/��������������������3�� ��������H���

��

4.3.3.1) Chiave segreta di sessione �

0����������� ��������������������������������������� ���������������������������������� �����������&�������������������������������������������)���������������' ��������������� �������� ���� ������������������������������� ���������������������������������������������������$��(���� ��������������� ������������+� ��������� ������������������������������������ ����������������� ������������������! �' �� �������������� ����������������������������������������������������������������������� ����� ������������������������������������' �������������������������� �����0������������������������������������������������ ������������������������������ ������9� C� ���������� ����������� ��������7������

Page 26: 4.3.1.1) Crittografia a chiave segreta (o simmetrica) ’ ˘7 C ˆ ˇ ˇ˜ ˝ Alice Bob Canale sicuro E D Canale insicuro C P P ˘˜ # ˇ 14 " ˇ ˇ ˝ 4 ˇ ˘˝ ˆ ’ ˇ ˇ ...

26�

=� 7������������ ���� ������������������������������������������ ��������C� ��������������C� ��

:� C� ������������������������������������������������������������������������������;� 7�������C� ���' ����� ����������������������������������������������������������' ������������� ����������� ������ �������

�Alice Bob

E DCanale insicuro

Chiave pubblica di Bob

Chiave privata di Bob

1)

Chiave pubblica di Bob

2)

3)

4)

Chiave segreta di sessione

E(chiave segreta di sessione)

Chiave segreta di sessione

��

�������������!��������������������������������������������$�������������� ������������������������ ����������"� �/���� �� ������������&�������������� ������������ ������(�����������������������������������������������������������������������!���������������������������������� ����������������� ������� �������������������������������������� ����������������������������������������� ���������� �� �������� ������*�������*������������������������� ��*�-�S��F�"��������9A%A%A<���

Page 27: 4.3.1.1) Crittografia a chiave segreta (o simmetrica) ’ ˘7 C ˆ ˇ ˇ˜ ˝ Alice Bob Canale sicuro E D Canale insicuro C P P ˘˜ # ˇ 14 " ˇ ˇ ˝ 4 ˇ ˘˝ ˆ ’ ˇ ˇ ...

27�

4.3.3.2) Centro di distribuzione delle chiavi �

����������������������������(���� ����� ����������������������������������"� �/�� (��� ������������������������7���������������������������������� ��������C� �' ��������"� �/���' ��������������������� ���������� ����������������������� ������������������������&����

Alice Bob

Chiave pubblica di Bob

1)

$

Chiave pubblica di Trudy

2)

Chiave pubblica di Trudy

Chiave pubblica di Bob

Trudy

4)3)

E(chiave segreta di sessione) E(chiave segreta di sessione)

��

�������������"� �/�����������������7�������C� ��$������������' ������� ������������� ��� ��������� ���� ������������������ �����������$� �����������������4���� ��������������������������������� �' ����������������� ��������������������������

• ����������� ������������������� ����������������������������������������������������������

• ������� ���������������������� ������������������������������������������������������� �������������������������������� ����������������������� ���������� �������������' ����������

• ����������� �' �������������� ���������������������� ��������������������������������������������������� �������

• ������������� �����������������������������������������' ����������������� ��������������������� ���������� ������������������������� ����� �������

Page 28: 4.3.1.1) Crittografia a chiave segreta (o simmetrica) ’ ˘7 C ˆ ˇ ˇ˜ ˝ Alice Bob Canale sicuro E D Canale insicuro C P P ˘˜ # ˇ 14 " ˇ ˇ ˝ 4 ˇ ˘˝ ˆ ’ ˇ ˇ ...

28�

• ���������������������� ������������������

• ���������������������������������������������������������������

• ��������������������������������������������������� ��������� ����$���' ����������������������������������������0����������� �����0�����������������������-���� �������7���������� �������� ��������������������� �����������#7������ ����������������������������������������������������������������������#7���' ��������������� ��������������� ����������������������������������������������������������������� ��������������������������������������' ��������������������������������������� ��������C� ��������������������7������������������� ��������������������������C� ���� ���#7�����' ���������7���������������������������������������������������������C� ����������' ��������"� �/���

Alice Bob

1)

2)

Chiave pubblica di Bob

Chiave privata della CA

CA

E(chiave segreta di sessione)

Certificato di Bob (contiene la chiave pubblica di Bob)

��

�������������1��������� ���#7���������������������� ��������C� �

Page 29: 4.3.1.1) Crittografia a chiave segreta (o simmetrica) ’ ˘7 C ˆ ˇ ˇ˜ ˝ Alice Bob Canale sicuro E D Canale insicuro C P P ˘˜ # ˇ 14 " ˇ ˇ ˝ 4 ˇ ˘˝ ˆ ’ ˇ ˇ ...

29�

4.3.3.3) Secure Socket Layer e Secure-HTTP �

�������������������������� ���#7��������������������������������������7���������C� �� (�������� ������������������������������������7������ (��������������������������� ������������������#7���2 ������������������' ������������� ��+� �' ���������������� �����F��������������������https://�������������������������������������������#������# �&��1������##1����������������*���������4���������������������������������������� ���� ��������������"#$������ ��� (������ �����������,""$���������Q"$���"4�*4"���7��������� ��������,"B�������������������������� ���������' ������������������� ���������������������������������������������������������������F���https://www.server.com/order.html

�2 ������� ����������������������������� ������������F������ ����' �����������������������

Alice (client Web)

Bob (server Web)

1) Dammi la form "order.html"

2) Ecco il mio certificato

3) Il tuo certificato è OK, ecco la chiave segreta di sessione cifrata con la tua chiave pubblica

4) Transazione sicura cifrata con la chiave segreta

E(chiave segreta di sessione)

Certif.

��

�������������Q ���������������������������..���*���������������..�������������� ������������

• 1.7�������������������������� ������

• !4.���� ���1#;���9=I� �����������������������������������

• B!<���� ���.,7������������������������������

Page 30: 4.3.1.1) Crittografia a chiave segreta (o simmetrica) ’ ˘7 C ˆ ˇ ˇ˜ ˝ Alice Bob Canale sicuro E D Canale insicuro C P P ˘˜ # ˇ 14 " ˇ ˇ ˝ 4 ˇ ˘˝ ˆ ’ ˇ ˇ ...

30�

$�����������������������������������������������������������*��������� ����1#;�������;?� ���������������� ��������������������$�������� ���������������������������� �������������������������������������������� ������!4.���<@� �������������' �������������������������������������������������������������������������������� ��������������������� ����������+� �#������ !!"��#� !!"���4���� ��� ���������������������..�������������������������������,""$�������������������������������������������������,""$����������������"#$�������������

Header S-HTTP

Body S-HTTP (cifrato con la chiave di sessione)

Header HTTP Body HTTP

��

���������� ��Q���������� ����������.>,""$��*�����������.>,""$�������������������� ��������������������������������������������� ���������������������������������������������������������������������������������,"B���� ������

"��������M��������