Cryptographie et sécurité des systèmes informatiques
Olivier Markowitch
1. La principes de sécurité informatique
2. Le chiffrement symétrique
3. Le chiffrement asymétrique
4. L’intégrité
5. L’identification
6. Les signatures digitales
7. Les protocoles d’échange de clés
8. L’analyse de risques et plan de sécurité
Sécurité = besoin, cryptographie = outils
Politique de sécurité considèrant les aspects physiques et logiques
Réalisation d’une analyse de risques :
– prévention, détection et réaction
– confidentialité, intégrité et disponibilité
Attentions aux coûts (nouvelles ressources, modification de la manière de travailler, gestion de la sécurité)
1. Que veut-on sécuriser ?
2. Quel niveau du système informatique désire t’on sécuriser ?
3. Quel degré de complexité est acceptable?
4. La sécurisation devra t’elle être centralisée ou distribuée ?
5. Quel mécanisme pour se protéger d’un attaquant tentant d’avoir accès à un niveau du sytème (cf question 2) qui est en-deçà des mécanismes sécuritaires ?
11 principes sécuritaires
à l’usage des concepteurs et administrateurs :
1. Un système parfaitement sûr n’existe pas
2. Un système sûr peut être cher
3. Minimiser le nombre, l’importance et la complexitéde composants du système dans lesquel il faut être « aveuglément » confiants
4. Concevoir des mécanismes sécuritaires les plussimples possibles
5. Multiplier les niveaux de sécurité
6. Pas de sécurité par l’obscurité
7. Donner à chaque utilisateur les privilèges juste nécessaires à l’accomplissement d’une opération autorisée, ni plus, ni moins
8. Simplicité d’usage
9. Etre sceptique et paranoïaque
10. Définir une politique d’usage
11. Eduquer les utilisateurs du système
– Tempest : utilisation des émissions électromagné-tiques émanant d’un PC
M.G. Kuhn and R.J. Anderson" Soft Tempest : Hidden Data Transmission Using Electromagnetic Emanations. Lecture Notes in Computer Science, volume 1525, Springer 1998
– « Wiretapping » : techniques tentant d’intercepterdes communications. Pour les cables : « paquet sniffing » ou inductance
L’identification est nécessaire, entre autres, au contrôle d’accès (prévention) et à l’analyse des fichiers de logs (détection)
Ambiguité dans le vocabulaire : identification, intégrité, authentification (d’entités et de données)
Technique la plus répandue : login et mot de passe
Risques :
– un même utilisateur utilise souvent le même mot depasse pour accéder à diverses ressources
– retenir <> deviner
Attaques :
– onlines (fake login, attaques sociales)
– offlines (recherches exhaustives ou par dictionnaire)
Défenses : longueur minimum, format, généré automatiquement, expiration, limite essais, affichage informations, attaque par dictionnaire, salting, shadowing, trusted path, etc.
Il est très fréquent qu’un mot de passe circule en clair sur le réseau lors d’une connexion distante
Le système d’indentification SKey est une solution à ce problème
Neil Haller The S/Key one-time password system. Symposium on Network and Distributed Systems Security, 1994
Ce système fait l’objet d’une standardisation internet RFC 1760.
ftp
Peut-être basé sur :
– un secret
– possession
– identitié physique
– comportement– etc.
Formellement nous avons :
– S un ensemble de sujets
– O un ensemble d’objets
– A un ensemble d’opérations d’accès – M une matrice de contrôle d’accès
M =(Ms,o)s?S,o?O et Ms,o ?A
Une ligne de la matrice correspond à un utilisateur et s’appelle parfois en anglais « capabilities »
Une colonne de la matrice correspond à un objet et s’appelle parfois en anglais « access control list » (ACL)
C(s) : niveau de sécurité d’un sujet (clearance level)
C(o) : niveau de sécurité d’un objet (classification level)
Propriété simple : un sujet s peut avoir accès en lecture à un objet o si et seulement si C(o)?C(s))
Propiété ? : un sujet s qui a accès en lecture à un objet o ne peut avoir accès en écriture à un objet p que si et seulement si C(o)?C(p)
Un état dépend d’un sujet, d’un objet, de leur niveau de sécurité respectif et du contenu de la cellule correspondante dans la matrice de contrôle d’accès
Un état est sûr s’il respecte les deux propriétés
Problèmes :
– uniquement la confidentialité
– matrice de contrôle d’accès statique
– covert channel
I(s) : niveau d’intégrité d’un sujet
I(o) : niveau d’intégrité d’un objet
Propriété simple : un sujet s peut modifier un objet o si et seulement si I(o)?I(s)
Propiété ? : un sujet s qui a accès en lecture à un objet o ne peut avoir accès en écriture à un objet p que si et seulement si I(p)?I(o)
– Harrion - Ruzzo - Ullman (intégrité et confidentia-lité)
– Chinese Wall (intégrité et confidentialité)
– Clark - Wilson (intégrité)
D.F. Sterne On the buzzword ’Security policy’. Proceedings of the 1991 IEEE Symposium on research in security and privacy
H.J. Smith Privacy policies and practices : inside the organisational maze. Communication of the ACM 36(12), décembre 1993
J. McLean Security models. Encyclopedia of software engineering. Wiley & Sons, 1994
Evaluation d’applications ou de systèmes d’exploitation
Etapes : évaluation, certification, accréditation
Evaluation sur base de critères
Orange book ou TCSEC (Trusted Computer System Evaluation Criteria) : USA
ITSEC (Information Technology Security Evaluation Criteria) : France, Allemagne, Royaumes Unis, Pays Bas.
7 classes de sécurité définies itérativement par dégré croissant de précision
– D (minimal protection) : produit ou système qui nerencontre aucun des critères de l’Orange Book
– C1 (discretionary security protection) : un utilisateurpeut décider ce qui doit être contrôlé. Les utilisateurs doivent être identifiés par le système, les utilisateurs sont séparés en terme de données
– C2 (controlled access protection) : comme en C1,les utilisateurs sont responsables de leurs actions avec une granularité de contrôle plus fine. Mise en place d’audit des actions des utilisateurs sur chacun des objets du système
– B1 (labelled security protection) : contôle d’accèsnon à discretion des utilisateurs. Tous les objets contrôlés et tous les sujets sont assignés à un niveau de sécurité. Tous les objets ne doivent pas être contrôlés en B1. Chaque objet contrôlé et sujet possède un label indiquant ce niveau de sécurité. Ce label sera utilisé lors du contrôle d’accès. La police de contrôle d’accès doit implémenter le modèle de Bell-La Padula
– B2 (structred protection) : un design de haut ni-veau (conceptuel) vérifiable doit être présenté, ainsi qu’un test confirmant que le système ou produit implémente ce design. Le système ou produit doit être conçu en modules indépendants. Une analyse des
« covert channels » doit être réalisé
– B3 (security domain) : le management du systèmeou produit doit permettre l’audit et la récupération des données (« recovery »). Chaque fonctionnalité de sécurité doit pouvoir être complètement testée. En plus des tests, une argumentation formelle montrant que le système ou produit respecte le design doit être présenté
– A1 (verified design) : le design est entièrement vé-rifié formellement. Il faut :
– un modèle formel du système de protection et lapreuve de sa consistance
– une spécification formelle des fonctionnalités dehaut niveau du système de protection
– une preuve de la correspondance du modèle etla spécification
– montrer informellement que l’implantation du sys-tème de protection est consistant avec la spécification
– une analyse formelle des « covert channels »
Effectiveness (quoi) séparé de la correctness (comment)
Effectiveness évalue les adéquations du produit avec les besoins, la synergie avec les autres fonctionnalités, la robustesse et la simplicité d’usage. Cotations entre F1 et F10
La correctness évalue le processus de développement, l’environnement de développement, la documentation et la configuration du produit. Cotations entre E0 et
E6
10 classes de fonctionnalités
Classes 6 à 10 non incrémentales mais spécifiques
– F1 ? F5 : correspond respectivement aux fonctionnalités décrites dans les classes D ? A1 de l’Orange Book
– F6 : haute intégrité
– F7 : haute disponibilité
– F8 : intégrité des données au cours de communica-tions
– F9 : haute confidentialité
– F10 : réseau avec hautes confidentialité et intégrité
– E0 : assigné aux TOE qui échouent à l’évaluation
– E1 : description informelle du TOE et tests de lacorrespondance du TOE avec son but sécuritaire
– E2 : E1 + une description informelle du design doitêtre fourni
– E3 : un design détaillé et les codes sources desfonctions sécuritaires doivent être fournis. C’est le niveau le plus habituel
– E4 : un modèle formel de la police de sécurité ainsiqu’une analyse rigoureuse des vulnérabilités doit être fourni
– E5 : établissement des correspondances entre ledesign détaillé et le code source. L’analyse des vulnérabilités se base dés lors sur le code source
– E6 : description formelle de l’architecture sécuri-taire et la vérification de la consistance vis à vis du modèle formel de la police de sécurité doivent être fournis
Correspondance
entre l’Orange Book et ITSEC :
– D ? E0
– C1 ? F1 + E2
– C2 ? F2 + E2
– B1 ? F3 + E3
– B2 ? F4 + E4
– B3 ? F5 + E5
– A1 ? F5 + E6
Le stack TCP-IP peut être modifié pour y intégrer des mécanismes sécuritaires
Security architecture for IP (RFC 1825, 26 et 27)
Modification du stack basée sur IP : ajoute des mécanismes assurant l’intégrité et la confidentialité
Application
Transport & Session (TCP)
IPSEC
Interface
L’interface habituelle à IP ? couches supérieures ne changent pas
N. Doraswamy et D. Harkins IPSec : the new security standard for the Internet, Intranets, and Virtual Private Networks. Prentice-Hall, 1999 (ISBN :0-13-011898-2) http
SSL : Netscape et repris par IETF sous le nom de
« Transport layer security » (TLS)
Application
SSL
TCP
Internet (IP)
Interface
Ajoute à TCP des mécanismes d’intégrité et de confidentialité, les applications doivent explicitement faire appel aux mécanismes de sécurité
K.E.B. Hickman et T. Elgamal The SSL Protocol. RFC draft, Netscape Communications Corp. 1995
ISO Telecommunications and Information Exchange Between Systems - Transport Layer Security Protocol.
International Standards Organization, ISO/IEC JTC1/SC6 N6794
le firewall utilise :
1. le packet filtering : mécanisme qui lit les headers des paquets de données et vérifie éventuellement :
– l’adresse source
– l’adresse destination– le protocole utilisé
– le type de connexion
le firewall utilise :
2. un serveur proxy qui :
– intercepte les requêtes provenant du réseau interneet décide s’il la laisse passer ou non sur base de règles définies
– impersonnalise l’émetteur de la requête vis à vis dumonde extérieur (cette opération est transparente pour l’émetteur)
– réalise le logging
Le serveur proxy peut être précis et peut accepter un protocole mais limiter les opérations au sein du protocole (par exemple permettre ftp mais empêcher get). Un tel serveur proxy est nécessaire par application existante.