Form Calc Grille P 1

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 44

Cryptographie et sécurité informatique

La machine de Lorenz était utilisée pour chiffrer


les communications militaires allemandes de haute
importance pendant la Seconde Guerre Mondiale
2
Sommaire
La cryptographie
..............symétrique
..............asymétrique

La signature numérique

La fonction de hachage

OpenSSL

Le certificat électronique

L'Autorité de Certification (AC)

Serveurs sécurisés (HTTPS/SSL)

Les certificats dans le navigateur Mozilla

Le certificat personnel
3
La cryptographie symétrique
(out cryptographie à clé secrète)

Exemple: le chiffrier de Jules César (substitution)

clé – une information devant permettre de chiffrer et de déchiffrer un message


et sur laquelle peut reposer toute la sécurité de la communication

ALICE ............................... DOLFH


4
Communication chiffré avec algorithme symétrique
La cryprographie asymétrique 5

(ou cryptographie à clé publique)


La fonction à sens unique ­ peut être aisément calculée, mais dificile à inverser

−1
y= f  x  x= f  y

Exemple: le problème de la factorisation

Soit deux nombres premiers p et q. Calculer x = pq est facile, même si p et q sont


très grand. Par contre, retrouver p et q à partir de x est iréalisable en pratique, si
q et p sont suffisament grands.

Fonctions (clé publique) à brèche secrète, qui leur permet de revenir facilement en
arière, par example en utilisant une clé privée.

en plus...

Le mécanisme d'authentification garantit la provenance des informations chiffrée.

−1
x= f  f  x 
6
L'algorithme asymétrique de cryptographie
à clé publique RSA (Rivest, Shamir, Adleman)

Création des clés

­ on choisit p et q deux nombres premiers distincts

­ on note n leur produit, appelé module de chiffrement: n = pq

­ on calcule l'indicatrice Euler de n: Ф(n) = (p­1)(q­1)

­ on choisit e un entier premier avec Ф(n), appelé exposant de chiffrement

­ comme e est premier avec Ф(n), on obtient d'après la théorème de Bachet de Méziriac,
qu'il est inversible module Ф(n), i.e. il existe un entier d tel que ed ≡ 1 (mod Ф(n)).
d est l'exposant de déchiffrement

Le couple (n,e) est appelé clé publique alors que le couple (n,d) est appelé clé privée.
7
Exemple: A veut envoyer un message chiffré à B

chiffrage déchiffrage

soit le message “entier” m < n


ciffré en:
c = me (mod n) m = cd (mod n)
A envoye le message chiffré à B

A B

(n,e) clé publique de B (n,e) clé publique


A obtien la clé publique de B (n,d) clé privée
8
Communication chiffré avec algorithme asymétrique
9
Chiffrement avec clé de session (moins coûteux en temps de calcul)
10
ssh, slogin, scp, ... (avec clé de session)

la machine serveur clralicep06:

/etc/ssh/ssh_host_key (avec le permissions -rw------- et chiffré)


/etc/ssh/ssh_host_rsa_key.pub (avec le permissions -rw-r--r--)

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEAorAzrTvkERNYJwo1VEwnA+5Ct14P8Qn5+k
LvCCNHWDyMC6K2zsttB4zakMYk0sDTccbymaTFh7Poy++xSRNE/3KjFSMSGNHCzZTVHJxF
sn6eB+9ZECOo0+fgjYrmUee95KXwkJ98pHl4h6usMHQUP0qXQcVN1YB/8uFdUQsUqW0=
root@clralicep06

la machine client clralice07:

/home/user/.ssh/known_host

clralicep06,134.158.125.37 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEAorAzrT


vkERNYJwo1VEwnA+5Ct14P8Qn5+kLvCCNHWDyMC6K2zsttB4zakMYk0sDTccbymaTFh7Po
y++xSRNE/3KjFSMSGNHCzZTVHJxFsn6eB+9ZECOo0+fgjYrmUee95KXwkJ98pHl4h6usMH
QUP0qXQcVN1YB/8uFdUQsUqW0=
11
La signature numérique

● authentique = l'identité du signataire doit pouvoir être retrouvée


de manière certaine

● infalsifiable = quelqu'un d'autre ne peut pas se faire passer pour un autre

● non réutilisable = elle fait partie du document signé et ne peut être déplacée
sur un autre document

● inaltérable = une fois un document signé, on ne peut plus le modifier

● irévocable = la personne qui a signé ne peut le nier

Valeur légale: depuis mars 2000, la signature numérique d'un document a en France la
même valeur légale qu'une signature sur papier.
12
Documents signés
13
Fonction de hachage
Fonction qui fait subir une succession de traitements à un donnée quelconque fourni en
entrée pour en produire une “empreinte” (ou somme de contrôle, ou condensat) servant à
identifier la donnée initiale.

Exemple: la fonction de hachage MD5


(Message Digest 5)
avec la commande md5sum sous linux taille taille
variable fixe

user@host:home> md5sum Umzug.txt


afc2cfdd713085ada557875ff2ba9aa6 Umzug.txt

user@host:home> md5sum Umzug.txt > Hash.txt

user@host:home> md5sum -c Hash.txt


Umzug.txt: OK
14
La messagerie signée
15
OpenSSL
la boîte à outils de chiffrement

Génération d'une clé privée:

openssl genrsa -des3 -out privkey.pem 2048


Generating RSA private key, 2048 bit long modulus
..........................+++
.........+++
e is 65537 (0x10001)
Enter pass phrase for privkey.pem:
Verifying - Enter pass phrase for privkey.pem:

privkey.pem

-----BEGIN RSA PRIVATE KEY-----


Proc-Type: 4,ENCRYPTED
DEK-Info: DES-EDE3-CBC,0452E016497A1941

5XpV4uqqUR5E4Pger6d1XxVYRE5nGRhTACp9mc4csMemXnBJMc7HR1eQeb0kv/my
vYFggswO2u5w37X1xG7Jr1zsgYlCmIuiRRaR3ZrevJeGD0u7OO7p3tUjMbm1+BmV
4AClDeDelXz4EFYVzflxYmaIxMuFJAZJa0ShSBdLXVchiczLSo8eCQQPl8F33wH/
...
FwyOLHUbE96rmgpra+A9bOds7KM4Wf60ax4uWTcL05/pn8lcwB0i9F46nK9ahpsl
TBC1Zznlb6AoQRh/RAjgsfOKd3Gx/TwSFsxwFTGnz2ujLN5OESvW7hugi/f5OIDs
-----END RSA PRIVATE KEY-----
16
OpenSSL, continué
Génération d'une clé publique à partir d'une clé privée:
openssl rsa -in privkey.pem -pubout -out publkey.pem

publkey.pem

Simple chiffrage d'un fichier (liste des chiffres avec openssl list-cipher-commands):
openssl enc -des3 -in Umzug.txt -out Umzug.enc
enter des-ede3-cbc encryption password:
et le déchiffrage:
openssl enc -d -des3 -in Umzug.enc -out Umzug.txt
enter des-ede3-cbc decryption password:
Créer une “empreinte” d'un fichier (fonction de hachage) et signer avec la clé privée:
openssl dgst -sha1 -sign privkey.pem -out Umzug.txt.sha1 Umzug.txt
Enter pass phrase for privkey.pem:
Vérifier une empreinte signée avec la clé privée en utilisant la clé publique:
openssl dgst -sha1 -verify publkey.pem -signature Umzug.txt.sha1 \
Umzug.txt
Verified OK
17
Le certificat électronique
(une carte d'identité numérique)

L'autorité de certification fait foi de tiers de confiance et atteste du lien entre


l'identité physique et l'entité numérique.
18
L'authentification; les autorités de certification

La procédure qui consiste, pour un système informatique, à verifier l'identité


d'une entité (personne, ordinateur ...), afin d'autoriser l'accès de cette entité à
des ressources (systèmes, réseaux, applications ...).

l'Autorité de Certification CNRS­Standard

http://igc.services.cnrs.fr/CNRS­Standard

CNRS­Projets

GRID­FR

http://igc.services.cnrs.fr/GRID­FR
(accés grilles de calcul et sites web sécurisés)

Dictionaire:
IGC – infrastructure de gestion de clés
ICP – infrastructure à clés publique
PKI – public key infrastructure
Les étapes pour la création d'un certificat 19
20
Exemple: serveur sécurisé du “Crédit Agricole Centre France”21

le serveur qui héberge cette page n'est pas sécurisé !


Informations sur le site web 22
23
“Accédez à vos comptes”

redirection vers une page hébergée par un serveur sécurisé !


24
La page sécurisée
Informations sur le site web 25

l'autorité de certification est


VeriSign
La clé publique du serveur et l'algorithme cryptographique 26
27
La signature du certificat, faite par l'AC
28
La limite de validité du certificat
29
Les certificats dans le navigateur web
(certificats des AC pre­installés)
Mozilla ­> Edit ­> Preferences... ­> Privacy & Security ­> Certificates
30
Le certificat de l'Autorité de Certification

l'onglet “Authorities”
31
L'hiérarchie des certificats

certificat racine = certificat auto­signé


(il n'existe aucune autorité superieure)

le certificat racine
l'autorite de certification du CERN

https://ca.cern.ch/ca

afin de se confier en certificats émis par


CERN CA il faut faire confiance à
CERN Root CA et CERN TCA également
32
33
Les certificats personnels

Distinguished Name (DN)


/O=GRID­FR/C=FR/O=CNRS/OU=LPC/CN=Bogdan Vulpescu

O ­ organizationName
C ­ countryName
OU ­ organizationalUnitName
CN ­ commonName

LDAP (Lightweight Directory Access Protocol) = une norme pour les systèmes
d'annuaires (ldap://... , le DN est une entrée dans un annuaire LDAP).

Organisation Virtuelle (VO) = groupe abstrait d'individus ou institutions qui partagent


les ressources de calcul d'une “grille” avec un but commun (ALICE, ATLAS, etc.)

Le rôle dans le certificat – extension VOMS


VOMS (Virtual Organisation Membership Service) fournit le mécanisme d'autorisation
basée sur les différents rôles au sein de l'organisation virtuelle
­ admin, user, production, etc.
34
Software Security Device
le “coffre­fort” du navigateur pour le stockage des données confidentielles
comme les certificats personnelles
la clé du coffre­fort s'appelle “Master Password”

(ici le “coffre­fort” et fermé,


“Log in” pour l'ouvrir)
35
Authentification avec un certifical personnel
(e.g. https://ca.cern.ch/ca)

choisir un certificat et
OK + mot de passe “coffre­fort”
(à partir de ce moment il reste
ouvert jusqu'à la fin de la session)

Cancel

le serveur peut accepter une connexion


sans l'authentification du client mais,
éventuellement, sur un niveau de
confidentialité diminué
36
La création d'une paire de clés (publique/privés)
à partir du certificat navigateur

Exemple: dans $HOME/.globus/certificat.p12 Le certificat sera chiffré par


un mot de passe !
(PKCS#12 ­ Public Key Cryptography Standards #12)
37
... encore une fois openssl ...
cd $HOME/.globus

openssl pkcs12 -clcerts -nokeys -in certificat.p12 -out usercert.pem


Enter Import Password: ...
MAC verified OK
publique, visible!
chmod 644 usercert.pem

openssl pkcs12 -nocerts -in certificat.p12 -out userkey.pem


Enter Import Password: ...
MAC verified OK
Enter PEM pass phrase: ...
Verifying Enter PEM pass phrase: ...
privée, secrète!
chmod 600 userkey.pem

/.globus/
-rw------- 1 vulpescu alice 5912 Mar 5 11:15 certificat.p12
-rw-r--r-- 1 vulpescu alice 1932 Mar 5 11:18 usercert.pem
-rw------- 1 vulpescu alice 1919 Mar 5 11:17 userkey.pem

PEM (Base64 – chiffrage) pass phrase: le mot de passe pour l'autorisation sur la grille.
38
... et comment vérifier le certificat sans le navigateur

L'autorité de certification qui a émis le certificat:

openssl x509 -noout -in usercert.pem -issuer


issuer= /C=FR/O=CNRS/CN=GRID-FR

Le propriétaire du certificat:

openssl x509 -noout -in usercert.pem -subject


subject= /O=GRID-FR/C=FR/O=CNRS/OU=LPC/CN=Bogdan Vulpescu

La validité du certificat:

openssl x509 -noout -in usercert.pem -dates


notBefore=Jan 7 09:48:40 2008 GMT
notAfter=Jan 7 09:48:40 2009 GMT

Tout:

openssl x509 -text -in usercert.pem


... vraiment tout ...
Enregistrement d'un certificat personnel dans une VO du LCG 39

http://lcg.web.cern.ch/lcg/users/registration/registration.html
Enregistrement dans la VO ATLAS 40

(le certificat est déjà chargé dans le navigateur)


41
Trouver l'AC pour les expériences au LHC

http://www.eugridpma.org/
members/worldmap/

http://lcg.web.cern.ch/
LCG/users/registration/
certificate.html
42
Récapitulation

1) Demandez un certificat auprès d'une AC

2) Récupérez le certificat sur votre navigateur web

3) Créez votre paire de clés publique/privée avec openssl

4) Enregistrez votre certificat dans un VOMS (Virtual Organisation


Membership Service) correspondant à votre organisation virtuelle
(ATLAS, ALICE, BIOMED, etc.)

5) Chargez votre certificat sur un navigateur different sur le même


poste de travail ou sur un autre poste de travail (optionnel...)

6) Contactez une page qui demande autorisation par certificat personnel


43

Quelques ressources:

http://igc.services.cnr.fr/Doc

http://ca.cern.ch/ca

http://www.auvergrid.fr/infos/Certificate.php
44
2ème partie ... à venir

Excercices avec le middleware gLite – interface utilisateur (UI)

­ certificat personnel

­ ordinateur portable

­ connexion réseau cable dans la salle

­ noeud utilisateur clrpc174.in2p3.fr avec gLite UI 3.1.8­0

­ utilisateur/mot_de_passe pour les participants

● autorisation sur la grille


● écrire des fichiers en format “jdl” (Job Description Language)

● envoyer des jobs (très simple) sur la grille

● récupérer les resultats

● manipuler les fichiers sur la grille (éléments de stockage)

● suivre le parcours d'un job sur la grille

Vous aimerez peut-être aussi