Sécurité 1 : Introduction à la Cryptographie

L'informateur
25 Jan 201812:04

Summary

TLDRBienvenue dans cette nouvelle série de vidéos sur la cybersécurité ! Nous explorons la notion de sécurisation d'un système, en distinguant les propriétés de sécurité et de liveness. Nous abordons le cryptage, qui dépasse le simple chiffrement pour inclure la confidentialité, l'authenticité et l'intégrité des communications. Le script présente des techniques historiques comme le chiffre de César et le chiffre de Vigenère, soulignant la progression vers des clés de chiffrement plus complexes et la transition vers les cryptosystèmes asymétriques pour résoudre le problème de l'échange de clés.

Takeaways

  • 🔒 La sécurité d'un système signifie de garantir que toutes les propriétés de sécurité sont respectées.
  • 🔐 Les propriétés de sécurité comprennent les propriétés de liveness (fonctionnalités) et de safety (ce qui ne devrait pas être possible).
  • 🧠 La difficulté de la cybersécurité vient de la complexité de lister toutes les failles potentielles d'un système.
  • 🌐 Il est nécessaire de comprendre le fonctionnement d'un système pour exploiter ses failles.
  • 💌 La cryptographie est un outil pour concevoir des systèmes sécurisés, en particulier pour sécuriser les communications.
  • 📧 La sécurité des communications inclut la confidentialité, l'authenticité et l'intégrité des messages.
  • 🔑 Le chiffrement consiste à transformer un message en un format illisible pour que seul le destinataire puisse le décoder.
  • 🔄 Le César cipher est un ancien système de chiffrement où les lettres sont décalées d'un nombre fixe de positions.
  • 🔤 Le Vigenère cipher améliore le César cipher en utilisant une séquence de lettres comme clé pour le décalage.
  • 🔗 Selon le principe de Kerckhoffs, la sécurité d'un système de cryptographie doit dépendre uniquement de la clé et non de la connaissance du système.
  • 🔄 La cryptographie symétrique utilise la même clé pour le chiffrement et le déchiffrement, tandis que la cryptographie asymétrique utilise deux clés différentes.

Q & A

  • Qu'est-ce que la sécurité d'un système dans le contexte du script?

    -La sécurité d'un système signifie de garantir les propriétés de sécurité, qui sont tout ce que nous ne devrions pas être en mesure de faire avec le système, tout en énumérant et en protégeant toutes ces propriétés.

  • Quels sont les deux types de propriétés mentionnés dans le script?

    -Les deux types de propriétés sont 'les propriétés de vivacité' qui décrivent les fonctionnalités du système, et 'les propriétés de sécurité' qui décrivent tout ce que nous ne devrions pas être en mesure de faire avec le système.

  • Pourquoi le script considère-t-il que la cybersécurité est un sujet difficile?

    -La cybersécurité est considérée comme difficile car elle nécessite de comprendre le système pour exploiter ses failles et il est difficile de lister toutes les choses qui ne devraient pas être possibles.

  • Quel est le rôle de la cryptographie dans la sécurité des systèmes?

    -La cryptographie est vue comme un ensemble d'outils pour concevoir des systèmes sécurisés, en particulier pour sécuriser les messages envoyés sur Internet.

  • Quelles sont les trois propriétés importantes de la communication sécurisée mentionnées dans le script?

    -Les trois propriétés importantes sont la confidentialité, l'authenticité et l'intégrité.

  • Quelle est la différence entre la confidentialité, l'authenticité et l'intégrité?

    -La confidentialité empêche un attaquant de voir le contenu d'un message en transit. L'authenticité permet au destinataire de s'assurer que l'expéditeur est bien celui qu'il prétend être. L'intégrité garantit que le message n'a pas été altéré par un attaquant entre l'expéditeur et le destinataire.

  • Comment fonctionne le chiffrement par le biais du Cesar cipher?

    -Le Cesar cipher consiste à décaler les lettres d'un message de manière cyclique par un nombre fixe de positions. Par exemple, avec un décalage de 3, la lettre 'A' serait remplacée par la lettre 'D'.

  • Quelle est la faiblesse du Cesar cipher?

    -La faiblesse du Cesar cipher est que le nombre de décalages possibles est limité à 25 (pour un alphabet de 26 lettres), ce qui rend le chiffrement vulnérable à une attaque par force brute.

  • Quel est le principe de base du Vigenère cipher?

    -Le Vigenère cipher utilise une séquence de lettres comme clé et chaque lettre de la clé détermine le décalage pour le chiffrement de chaque lettre du message.

  • Quelle est l'amélioration apportée par le Vigenère cipher par rapport au Cesar cipher?

    -Le Vigenère cipher améliore le chiffrement en utilisant une clé variable pour chaque lettre, ce qui augmente considérablement le nombre de combinaisons possibles et rend la déchiffrement par force brute beaucoup plus difficile.

  • Quel est le principe de Kerckhoffs sur lequel repose la sécurité des systèmes de cryptographie?

    -Le principe de Kerckhoffs stipule que la sécurité d'un système de cryptographie doit dépendre uniquement de la clé et non de la connaissance du design du système.

  • Quelle est la différence entre la cryptographie symétrique et asymétrique?

    -La cryptographie symétrique utilise la même clé pour le chiffrement et le déchiffrement, tandis que la cryptographie asymétrique utilise une clé pour le chiffrement et une autre pour le déchiffrement.

Outlines

00:00

🔒 Introduction à la cybersécurité

Le paragraphe 1 présente le concept de sécurité des systèmes, en distinguant deux types de propriétés : les propriétés de liveness (fonctionnalités du système) et les propriétés de safety (tout ce qui ne devrait pas être possible). La cybersécurité est considérée comme difficile car elle nécessite de comprendre les systèmes pour exploiter leurs failles. L'auteur souligne l'importance de la cryptographie comme outil pour concevoir des systèmes sécurisés, en particulier pour protéger les communications sur Internet. Trois propriétés essentielles de la sécurité des communications sont abordées : la confidentialité, l'authenticité et l'intégrité. L'auteur explique que la sécurité des communications ne se résume pas simplement à l'encryptage des messages, mais inclut également ces trois aspects. Le paragraphe conclut en annonçant l'introduction de la cryptographie dans les prochaines vidéos.

05:04

🔐 Techniques de cryptographie

Le paragraphe 2 explore deux techniques de cryptographie : le chiffre de César et le chiffre de Vigenère. Le chiffre de César est une méthode simple de chiffrement par décalage de lettres, mais elle est vulnérable car elle a un nombre limité de clés possibles. On explique comment un attaquant pourrait retrouver la clé en utilisant la fréquence des lettres dans le texte. Le chiffre de Vigenère est présenté comme une amélioration avec un nombre beaucoup plus élevé de clés possibles, en utilisant une séquence de lettres comme clé. Cette méthode est plus complexe et offre une sécurité accrue, car chaque lettre peut être chiffrée de manière différente en fonction de la position de la lettre de la clé correspondante. L'auteur explique également comment gérer des messages plus longs que la clé en doublant la clé ou en utilisant une partie de celle-ci.

10:04

🔑 Principe de Kerckhoffs et types de cryptographie

Le paragraphe 3 aborde le principe de Kerckhoffs, qui stipule que la sécurité d'un système de cryptographie doit dépendre uniquement de la clé et non de la connaissance du design du système. Cela signifie que même si l'attaquant connaît le système, il ne peut pas le casser sans la clé. L'auteur mentionne que de nombreux systèmes ont essayé de cacher leur design, mais ont finalement été divulgués, révélant des failles de sécurité. Le paragraphe conclut en mentionnant que les prochaines vidéos traiteront de la cryptographie symétrique et asymétrique. La cryptographie symétrique utilise la même clé pour le chiffrement et le déchiffrement, tandis que la cryptographie asymétrique utilise deux clés différentes, ce qui résout le problème de l'échange de clés secrètes.

Mindmap

Keywords

💡Sécurité des systèmes

La sécurité des systèmes fait référence à la protection contre les menaces et les attaques pour assurer l'intégrité, la confidentialité et la disponibilité des données et des fonctionnalités d'un système. Dans la vidéo, cela est abordé en distinguant deux types de propriétés : les propriétés de 'vivacité' qui décrivent les fonctionnalités du système, et les propriétés de 'sécurité' qui décrivent ce qui ne devrait pas être possible avec le système.

💡Propriétés de sécurité

Les propriétés de sécurité sont des règles ou des conditions qui doivent être respectées pour garantir que les systèmes informatiques fonctionnent de manière sécurisée. Elles comprennent la confidentialité, l'authenticité et l'intégrité des données. Dans le script, cela est expliqué en disant que la sécurité d'un système signifie s'assurer que ces propriétés de sécurité sont maintenues.

💡Cryptographie

La cryptographie est la branche de la sécurité des données qui traite des techniques pour sécuriser les communications en codant les messages de manière à ce qu'ils soient lisibles uniquement par les destinataires autorisés. Dans le script, la cryptographie est présentée comme un ensemble d'outils pour concevoir des systèmes sécurisés, en particulier pour sécuriser les messages envoyés sur Internet.

💡Confidentialité

La confidentialité est l'un des aspects fondamentaux de la sécurité des communications. Elle garantit que les données ne peuvent être lues que par les destinataires autorisés. Dans le script, l'exemple donné est que lorsque A envoie un message à B, il ne veut pas qu'un attaquant voie le contenu pendant le transit.

💡Authenticité

L'authenticité est une propriété de sécurité qui garantit que les données proviennent d'une source authentique et n'a pas été falsifiée. Dans le script, cela est illustré par le besoin de B de s'assurer que le message qu'il reçoit est bien de A et non d'un imposteur.

💡Intégrité

L'intégrité signifie que les données ne peuvent pas être modifiées de manière non autorisée pendant leur transmission. Dans le script, cela est expliqué en disant que B veut s'assurer que le message qu'il reçoit de A n'a pas été altéré par un attaquant entre temps.

💡Chiffrement

Le chiffrement est le processus de transformation d'informations en un format codé pour les rendre illisibles pour les non-autorisés. Dans le script, le chiffrement est présenté comme une méthode pour assurer la confidentialité des messages, en utilisant une fonction E qui transforme un message en un format crypté.

💡Déchiffrement

Le déchiffrement est le processus inverse du chiffrement, qui permet de restaurer le message original à partir du texte crypté. Dans le script, cela est illustré par la fonction D utilisée par B pour récupérer le message original à partir du texte crypté reçu.

💡Clé de chiffrement/déchiffrement

La clé de chiffrement/déchiffrement est un élément secret utilisé pour le chiffrement et le déchiffrement des données. Dans le script, il est expliqué que A et B doivent se rencontrer secrètement pour décider d'une clé à utiliser, qui sera ensuite utilisée pour chiffrer et déchiffrer les messages.

💡Chiffre de César

Le chiffre de César est une méthode de chiffrement par substitution dans laquelle chaque lettre du texte est remplacée par une autre lettre à un nombre fixe de positions plus loin dans l'alphabet. Dans le script, cela est utilisé pour illustrer un exemple simple de chiffrement, mais également pour montrer ses limitations en termes de sécurité.

💡Chiffre de Vigenère

Le chiffre de Vigenère est un système de chiffrement qui utilise une clé pour déterminer les décalages de chaque lettre à chiffrer, ce qui augmente considérablement le nombre de clés possibles par rapport au chiffre de César. Dans le script, il est présenté comme une amélioration par rapport au chiffre de César, offrant plus de sécurité contre les attaques par force brute.

💡Cryptographie symétrique

La cryptographie symétrique est un type de cryptographie où la même clé est utilisée pour le chiffrement et le déchiffrement des données. Dans le script, cela est mentionné en disant que les deux participants doivent échanger cette clé secrètement avant de pouvoir communiquer en toute sécurité.

💡Cryptographie asymétrique

La cryptographie asymétrique utilise deux clés différentes pour le chiffrement et le déchiffrement des données, ce qui résout le problème de l'échange de clés. Dans le script, cela est mentionné comme une solution qui permet de chiffrer et de déchiffrer des messages sans avoir besoin de partager une clé secrète préalablement.

Highlights

Introduction to cybersecurity and the importance of securing systems.

Definition of 'liveness properties' and 'safety properties' in system security.

The challenge of listing all the things that shouldn't be possible in a system.

The necessity of understanding the system to exploit its flaws.

The prerequisite knowledge required for cybersecurity topics.

Introduction to the subtopic of cryptography as a toolbox for secure systems.

Cryptography's role in securing messages sent over the Internet.

The three essential properties of secure communications: confidentiality, authenticity, and integrity.

The importance of not just encrypting messages but also ensuring their authenticity and integrity.

Formal definition of the problem of securing a message from A to B through an insecure channel.

Introduction to the Caesar cipher, an ancient encryption technique.

The weakness of the Caesar cipher due to a limited number of possible keys.

The concept of the encryption/decryption key and its necessity for secure communication.

The Vigenere cipher as an improvement over the Caesar cipher with a more complex key system.

The mathematical explanation of how the Vigenere cipher works and its increased security.

The principle of Kerckhoffs's principle stating that the security of a cryptosystem should depend solely on the key.

The concept of symmetric cryptography using the same key for encryption and decryption.

Introduction to asymmetric cryptography as a solution to the key exchange problem.

Anticipation of future videos discussing modern symmetric and asymmetric cryptography.

Transcripts

play00:00

Hi everyone! Welcome to this first video of this new module about cybersecurity!

play00:06

What does it mean to secure a system?

play00:09

Whether it is a computer, a distributed system or an operating system, we can distinguish

play00:13

2 kinds of properties :

play00:16

We have the properties called 'liveness properties'. Basically the functionalities of the system.

play00:23

what we can do with the system, what we should be able to do

play00:26

and we have what we call 'safety properties' : everything we shouldn't be able to do with the system.

play00:33

So securing a system, means listing all these safety properties and make sure they all hold.

play00:43

It is more or less easy to list the functionalities of a system, but it is very hard to list all the things that

play00:50

shouldn't be possible. You can think of 1000 attacks on your system and make sure you are immune

play00:56

against all of them, but you never know if there is another 1001st attack that you never thought of.

play01:03

that's why in my opinion cybersecurity is a difficult topic.

play01:07

there is another reason why I believe it is difficult,

play01:12

since it is about exploiting the flaws of a system, you first need to understand the system itself.

play01:17

which means that I cannot explain to you what is a denial of service attack if you don't know how

play01:23

the Internet works. I cannot explain how to hack a database with an SQL injection if you don't understand

play01:26

how a database works. So in many of these videos we will reference other videos of other modules.

play01:34

This is why it is difficult, you need a lot of prerequisite knowledge. Fortunately, there is a subtopic

play01:40

called cryptography, for which you don't need particular prerequisite knowledge.

play01:47

It will be the subject of this video and the next ones.

play01:55

We can think of cryptography as a toolbox for designing secure systems.

play01:59

For now, we will focus on the use of cryptography to secure messages we send over the Internet.

play02:06

Since etymologically, 'cryptography' means 'write in a hidden way', we often think that it just means

play02:12

to encrypt messages, so making sure that only the receiver is able to read them.

play02:16

But as you will see, it is more complicated than that.

play02:19

When A sends a message to B, he doesn't want an attacker to see the content during the transit.

play02:24

that's what we call 'confidentiality'

play02:26

But it is only one of the properties of secure communications

play02:31

When B receives a message from someone claiming to be A, he wants to be sure

play02:35

that the sender is indeed A. that's what we call 'authenticity'

play02:39

When B receives a message from A, he wants to make sure the message hasn't been tampered in

play02:45

between by an attacker. that's what we call 'integrity'

play02:49

There are other properties when we talk about secure communications, but these 3 are the most important

play02:55

they are essential in almost every application. If there is one thing you should remember from this video :

play03:01

unlike what we hear in the medias everywhere, securing communications is not only encrypting

play03:08

messages, it is 3 things : confidentiality, authenticity and integrity.

play03:12

In this video and the next ones, we will start by talking about confidentiality

play03:17

We will talk about the rest much later. But first let's define the problem more formally.

play03:22

A wants to send a message m to B through a channel where resides an attacker who mustn't see m.

play03:32

A wants a function called E that takes m as argument and transforms it into c such that

play03:42

c is not understandable and only B will be able to recover m from c.

play03:57

So the attacker sees c and cannot understand the content.

play04:01

B receives c and uses another function D to recover m.

play04:11

From now on, we will study several techniques to construct these 2 functions E and D.

play04:18

The first techniques we will see is called the Cesar cipher, it was used in Roman times.

play04:23

It is extremely simple. we will encrypt messages made only of letters from A to Z

play04:30

To encrypt, we shift letters by a constant number of positions, for example 3

play04:35

For example, if we take letter A, the next letter is B, then C and then D. So A is replaced by D

play04:46

It is a cyclic system, which means Y will be replaced by B

play04:59

A wants to encrypt the message 'SALUT'

play05:04

I let you verify that 'VDOXW' is correct.

play05:08

It is then sent to B. To decrypt, B will shift letters by 3 positions backwards.

play05:15

For example, before V there is U, then T, then S. So for V the original letter is S.

play05:22

We do the same for every letter.

play05:27

In this example we used a shift of 3 positions. The attacker doesn't know the shift used by A and B.

play05:37

So A and B need to meet beforehand in secret to decide on a shift to use later.

play05:44

This shift is called the encryption/decryption key.

play05:48

It is a very weak system. Since there are 26 letters in the alphabet, there are only 25 possible shifts.

play05:55

So it is rather easy even for a human being to test all possibilities to recover the key and the plaintext.

play06:04

There is something even worse : there is a better method to recover the key and plaintext.

play06:07

If we know the language used in the message, we can count the frequency of apparition of each letter

play06:13

In French, the most common letter is E. So if we see in the ciphertext a lot of Js for example,

play06:20

Probably 'j' is the encrypted letter corresponding to 'e'.

play06:25

There are 5 shifts between e and j, so the key is probably 5. So we just need to shift back by 5

play06:33

positions every letter to recover the original message.

play06:41

We need a better technique such that every letter is not encrypted each time the same way.

play06:49

And we need to have A LOT more possible keys such that it is infeasible for a human to test them all.

play06:58

At the end of the Middle Ages, a better technique appeared : the Vigenere cipher.

play07:03

This time the shared secret key between A and B is a sequence of letters for example 'AREB'

play07:10

we will place this key under the message to encrypt for example 'RARE'

play07:15

Now each letter of the key is below a letter of the message.

play07:20

the letter of the key is interpreted as a shift according to its position in the alphabet.

play07:23

For example A is the first letter in the alphabet so R will be shifted by 1 position which gives S.

play07:30

R is the 18th letter, so A is shifted by 18 positions which gives S

play07:38

E is the 5th letter so we shift R by 5 positions. It gives W

play07:44

B is the second letter so we shift E by 2 positions which gives G.

play07:56

As you can see, in the plaintext m we have twice the letter R but once it is replaced by S and another time by W

play08:05

In the ciphertext you see twice the letter S but originally it is not the same letter.

play08:11

B will then receive c and decrypt by shifting backwards.

play08:19

A is the first letter so S is shifted back to R

play08:26

R is the 18th letter so we shift back S by 18 positions this gives A

play08:32

E is the 5th letter, we shift W back to recover R

play08:39

B is the 2nd letter so we shift back G by 2 positions and find E

play08:42

We recover the initial message m

play08:46

The great improvement is the number of possible letters

play08:52

26 possibilities for the first letter, then 26 possibilities for the second letter for each possibility

play08:56

of the first letter. and so on... it gives this total (screen)

play09:05

this is only for a key of length 4

play09:08

the attacker doesn't know the key length, but if he knows it is between 4 and 6 letters

play09:23

I let you imagine if we go until keys of length 20. It is unfeasible for a human being to test all of these.

play09:31

In this example we had a message of length 4 and a key of length 4, so it was easy.

play09:36

if we have a message of length 8, we double the key and place it under the message

play09:46

if the length of the message is not a multiple of 4, we will place only a part of the key under it.

play09:57

In these 2 cipher techniques, we assumed the attacker knows the system used.

play10:04

We have seen that the cesar cipher has only 25 possible keys but the attacker must first know that

play10:11

we used the cesar cipher. Maybe he doesn't know, but when we study security, we always assume

play10:17

that the attacker knows the whole design of the system except the key

play10:22

This principle comes from a 19th century cryptographer, Kerckhoffs, who invented this principle that

play10:28

says basically that the security of a cryptosystem must depend solely on the key and not the knowledge

play10:32

of the design of the system. We assume the enemy knows it.

play10:35

If at some point the design is leaked to the public, the system must remain secure while the key is unknown.

play10:42

Today it is a common and obvious principle, even if still there are systems that don't follow it.

play10:47

Many people have tried to hide the design of their system, but eventually some years later the design was

play10:55

leaked and we discovered a flaw in the system. I think, among other, of GSM.

play10:59

It initially was a private cryptosystem but got leaked and now everyone knows how awfully weak its

play11:02

security is. But we will talk about that in another video.

play11:10

Maybe you noticed that in the 2 systems we studied, we used the same key to encrypt and decrypt

play11:17

The 2 participants must exchange this key in secret beforehand.

play11:23

We call this symmetric cryptography, since we used the same key to encrypt and decrypt

play11:29

There exists another kind of cryptography called asymmetric.

play11:34

This time we use 2 keys : one to encrypt and one to decrypt.

play11:38

It solves the problem of the key exchange.

play11:42

That's the end of the video! in the next video we will focus more on symmetric cryptography

play11:47

the one used today, not the one of the Roman times and Middle Ages

play11:51

In the next-next video we will talk about asymmetric cryptography.

play11:55

I hope you enjoyed, see you soon!

Rate This

5.0 / 5 (0 votes)

Связанные теги
CybersécuritéCryptographieSécurité des systèmesConfidentialitéAuthenticitéIntégritéChiffrementCésar cipherVigenère cipherSymmetric cryptographyAsymmetric cryptography
Вам нужно краткое изложение на английском?