Upload
others
View
5
Download
0
Embed Size (px)
Citation preview
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
�
2�
�
4) La sicurezza �
����������������� ���������������������������� �������������• ��������������������������������������������������
• ��������������������������������������������������������������������
• ������������������������������������������������������� ����������
• ����������������������� ��������������������������������������������������������������������������������������������������� ������������� ���������������� ������������������������� ��������������������������������������!������� ����������� �������������������������� �������������������������������������������������������������������� ���"#$%�$��&��������������' ������������������������������������������������������������������������ ��������������������������������(������� ���������������������� �������������������������� ������������������������ ������������������������)������������� ������������������������������������������������������������������ ���������������������������' �����$�������������������������������� ������������������ ��������*��������������������+� ��������������������������������������������������� ������� ������������������������������ ����� ��������� �������������������� ������������������ ����������� ������ ������������������������#�(�������������� ����������������������� ��������������� ������������������������� �������
4.1) Controllo dei diritti di accesso ��
4.1.1) Basic authentication in HTTP 1.0 �
*��������������,""$����������� ������������������������������ ��������������
��������������������������������������������� ���� ������ ����������������������������-������. ������������������������������ ����������������� ���������
• ������������������������������������������/���������������������+� �������������������' �������� ���� ����������
• ��������������� �������������� ������� ��������������������������-������
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���������������������������������� ������������������� ������>��-��������������� ����������� �������������������� ������������������ ���������������������������������������� �' ������������������������������������������������������������������������������������' �������� ��������
4�
�
4.1.2) Digest authentication in HTTP 1.1 �
������ ���������' �������������������� �����������-��������������������������������� �������������������������������� ������������������������������������������������ ������' ������ (������������������������������������� �������������������������� ������=?@A���������� ���� ��������������������� ������ �����������-���� ����� ���������������� ������������� ������������ �����������������������������������������������������������������������)�����������2 �������������������������������������� ����������
• �������������������������������������������������� ���������������� �����������������������������
• �������������������������������������������B �����!�����������������������������������������
• ����������� ��������������
• ������������ �������
• ��-��������� �����������' ������������������������������ ������� �����������-��������������������������������� �����������2 ������������������������B �����!���������������������� ���������� ���������������������������������� ����������.������ � ������� ����56������������������
4.1.3) Firewall �
����������� ����������� ������� ����������������������������� ������������������������������������� (�����������������������
• ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� �����������������������������������
• ����������������������������������� ������������� ��������������������������������������������� �����������������
�2 ������� (����������������������� �������������������������� ������������������������������������������������������' ���������������������������������������������������������������������������������������������
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������������
�#������������������������������������������������������������������ ��������������������
• �����������$������������������������������������������������������' ����� (��������' ������������������������������������� ���������������������������������� ������������������������� ���������������������
• � �����������������������������' ����� (������������� ������������������������������������������������ ������������������������=:���� ���������������������� (������������ � ��
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��������������������� ������� ����� ����������������������� �� ������������������������� ����� ������������������ ������������������������������ ��������+� �� �������������������������������������������������-������
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���$��.�������� ��������������� ���������������������������������������������������������������� �������/�����.����� ������������ ������$��.����������� ������������������������������������������� ��������������������������� ������������������������$��.����������� ��������������������� ���������������������� ����������������������������������� ����������
8�
����������0������������������������ �����������������' �����
• �������������#3������������� �������������������������������������� ���������������������� ��������������������������
• ���������������������������������������������������������� �������7 ������������������������� �������������������� ��� ���������
• �������������������� ����������� ���' ��/��
• �������������������������������������� ����������5�������������
• ����������������������������������������������������������
• �������������#3�������������� ����������������������������������������������� �����
• ���������+� �������������������� ������������������������������������������������#3�����' �������������������������������
�������������������������������� �� �������������� (��������� ������������������ ����������������������������������������-���������������7�� ������������ ��������� ����������������������� ������������������������������ ������
• ������������������� ����������I?���������������������������������������� (�������� ����F��� ��� ���-���>F��-������������� �����������������������������������������������������������������������������������������������������������������������������������' �������������������������������#3��������������������������
• ������������#3���������������������������������������������������������������������������������������������������������������������
• ������������������������������������������������� ���������������������������������������������������� �����
��
4.2.2) La sicurezza e Java �
0������������������������������������������������������ ��������������JKB������� ���������� ���������������������������������������������������������� ������ ��������������������� ������������������������ ������������������������(����������� �����������������������������7���������������� ���������������' ������������������������������� �����
• ���������������� ��������������������������������������������������� ������������������������������������������� ����
• ���������� �������������������������������������' ��� ���������
• ������������������� ���������������������
9�
���������������������������������������������������� �������������
• �������������������
• �������������� �������������������/��
• ������ ����������������������������� ����������������������������������������' ���������������������������" �������!������ ���������������������������������)������ ���������������������������� ��������������#��������� �������� /��������������������������������������������� ��������������������J������$���' ���������������JKB ���������������������������������������������� ������������������������ ���������������������� ��� ���������������� �� /������������������������������� �������������������������������������������������
• ���� ����� ���������
• ������������������������������������������
• ��������� �������������������������������������������������������������������������� ���������������������������������������������4������������������������� ������������������������������� ������ ������������������������������������������������������������ ���������' ��� ��������������� �� ��������������������������������������������� ������������������������������� ���������������������(������������������������������������������ (�����������������������������������������+� ��������7�����K��-����������������������� ���� ���/������������������������� �������������������
• �����������������/������������
• �������������������������������������������' ���������������������
• ���������������������������K�������� ���������������J����������������������������������� ���� ���/������������������������������������������������������������������' ��������������� ������������������������������������
4.3) Protezione delle informazioni durante il transito sulla rete �
4������ ������������ ������������������� ���������������������������������������������������������� ����� ��� �������-�����
10�
�4��������������������������� ������������������������������
• ������$$���������������������������������������������������������������������������������������������������������
• �������$� ����������������� ����������� ���������� ������' ���������������������������������������������
• ������%������������� ����� ����������� �������������������������������������������������� ������������������
�*���������������������������������� ����������������������� ������������ �������������������������������������������������������� �������������������������� (���� ���������"� �/��������� ������ ����������������������������������������� ���������� ��������)��������������������������' ������������������������������������������������������� ��������������� ������������������� �������������������� ���������4���(��������� ������������ ����������������������������
• �������������������������������������������������������������� ����
• ��������������������������������������������"� �/���������������������� ����������������������� ����������������������������
������ �������������������������������������� ���� � �� ���� ������ ��������������� �������������������' ������ �������������������������� ������
• ��� ��������
• �����������������
4.3.1) Crittografia �
������������������������ ����������������������������������� ������� ������������������������������ ���������������������������������������������������������������������������������.����� ���� �' ��������� ���������������������������' �������������������������������������
• ����������������������������������������������������
• ��������������������������������������������������������������������������� �����������
• ��� ������������ ����������������������������������� ������0������������ ���������� ������ ��������������������������������������������� ��������������������������� ��������������������������������������������������������������� ������������������ ������������������������������������������������� ������������
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���
12�
��������������������� ����� ��������� �������������������������������������������������������������������������������#� ����������F�������� ��������������������������������$���
$�L�!F�#���5������������������������������
!F�4F�$���L�$��#�������������������������������� �� ������������������������� �������������������� �������������� �������
Metodo di encryption
Internet
Metodo di decryptionk kTrudy passiva
Trudy attivaC
P
C
P
��
������������#����� ������������� ��� ����� ���������"� �/�� (�����������������������������������������������������������������������������������������������
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
��
������������#����������������������������
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��� ��������������!�������'#�������(���� ��������������������� ������' ��������������������� ���������������������������������������� �������
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.����*�������������� �������������������������������� ����������
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�������/�� ������������������������������������� �����������������������������������������������������' �����
• ��� ����������� ���������������� ��������������
• �����������������������������������������������
• ������������������������������������ �����
17�
• ��(���������������������������������������� (���������������������������������������������������
• ��' �������� ��������� �' ��������������������������������������������������������������������������
�! �' ������ ���� �������*�������������������������=*�������������� ����������������������������������$$����' �����
• 7������������������������������������� ��������C� ���������������� ������
• C� ��������������������������������������������������������������������� �����
Alice Bob
E DCanale insicuro
Chiave pubblica di Bob
Chiave privata di Bob
C
P P
��
���������!��1������������������������������������������� �������������������������������� ������������������� �����������������������������������$� �������������������������������������������������������������� ��������������' ��� ������������������%������������� �����������������������������������������������������������' ������������������������������
• 7�����������������������������������������������������
• C� ��������������������������� ��������7�������
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��
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�% ���������������
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��������������$���� �� � ���������������������
�
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 �
#����� ������������������������������������ ������ (������ ��������� ����������������������� ���������������������������������������������������������������� ������������$��(����� ��������������� ����������' ���������������� ��������������������� ���������������������������������������������������������������������������������������� ������������� ������������ ����������������������
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��������������������������� ������������������������������� �������������������������������%������������� ����������������������������������������� ��������������������������������' ��������������������������
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����� ���������������' ������������������������������������������������������������������&���� ������������������������������������� ������������������������������������ ������������������������������������������ ����� �����������������
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��������������
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������
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<���
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���� ��������������������������������� �' ����������������� ��������������������������
• ����������� ������������������� ����������������������������������������������������������
• ������� ���������������������� ������������������������������������������������������� �������������������������������� ����������������������� ���������� �������������' ����������
• ����������� �' �������������� ���������������������� ��������������������������������������������������� �������
• ������������� �����������������������������������������' ����������������� ��������������������� ���������� ������������������������� ����� �������
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� �
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������������������������������
30�
$�����������������������������������������������������������*��������� ����1#;�������;?� ���������������� ��������������������$�������� ���������������������������� �������������������������������������������� ������!4.���<@� �������������' �������������������������������������������������������������������������������� ��������������������� ����������+� �#������ !!"��#� !!"���4���� ��� ���������������������..�������������������������������,""$�������������������������������������������������,""$����������������"#$�������������
Header S-HTTP
Body S-HTTP (cifrato con la chiave di sessione)
Header HTTP Body HTTP
��
���������� ��Q���������� ����������.>,""$��*�����������.>,""$�������������������� ��������������������������������������������� ���������������������������������������������������������������������������������,"B���� ������
"��������M��������