La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Sécurité dans l’UMTS* MOUGEL Sébastien CNAM : UV C

Présentations similaires


Présentation au sujet: "Sécurité dans l’UMTS* MOUGEL Sébastien CNAM : UV C"— Transcription de la présentation:

1 MOUGEL Sébastien smougel@yahoo.fr
Sécurité dans l’UMTS* MOUGEL Sébastien CNAM : UV C *Universal Mobile Telecommunication System

2 Plan Architecture du réseau Carte USIM
Explication de l’algorithme KASUMI

3 Réseau UMTS

4 Réseau UMTS

5 Différences GSM/UMTS Les fonctions de sécurité de l’UMTS sont basée sur ce qui a été implémenté dans le GSM. Quelques fonctions de sécurité ont été ajoutées et d’autres améliorées. Les algorithmes de cryptage sont plus forts et inclus dans le NODE-B jusqu’au contrôleur d’interface radio (RNC : radio network controller ). L’ application des algorithmes d’authentification est plus stricte et la confidentialité de l’abonné plus forte. Les principaux éléments de sécurité du GSM sont : Authentification des abonnés Identité de l’abonné confidentielle La carte SIM doit pouvoir être détachée du terminal. Cryptage de l’interface radio Caractéristiques supplémentaires de sécurité dans l’UMTS: Plus de sécurité contre les « fausses » stations de base (base stations) avec authentification mutuelle Cryptage étendu de :l’air seulement -> Base station-> RNC Système pour les mises à jour de sécurité.

6 USIM Authentification & chiffrement JavaCard Virtual Machine
HLR : Home Location Registrer AuC: Authentification Center IMSI: International Mobile Suscriber Identity (Stocké dans la SIM) IMEI: N°série du mobile ISDN: N°téléphone

7 KASUMI

8 KASUMI Algorithme de chiffrement par blocs (128 bits) construit à partir de l’algorithme MISTY de Mr MATSUI C’est le noyau des algorithmes f8 (confidentialité) et f9 (intégrité) Entrée sur 64 bits Sortie sur 64 bits Clé à 128 bits KASUMI se décompose en 3 fonctions (FL,FO,FI) et 3 sous clés (KL,KO,KI)

9 KASUMI (Fonctions) fi() : La fonction pour le ième « round » de KASUMI
FI() : Transforme une entrée sur 16 bits en une sortie de 16 bits en utilisant une sous clé sur 16 bits FL() : idem sur 32 bits FO() : Entrée (32 bits) Sortie (32 bits) 2 sous-clés de 48 bits chacunes

10 KASUMI (Variables) K : Une clé de 128 bits
KLi,KOi,KIi : Sous clés pour le ième round S7[] : S-Box (Entrée de 7 bits /Sortie de 7 bits) S9[] : S-Box (Entrée de 9 bits /Sortie de 9 bits)

11 Le fonctionnement Chiffrement de FEISTEL avec 8 « round »
I : Entrée sur 64 bits I est divisée en 2 chaînes de 32 bits I= L0 || R (|| représente la concaténation) Pour 1<= i <= Ri=Li-1 , Li=Ri-1 ⊕ fi(Li-1,RKi) SORTIE = KASUMI[I]k ( OUTPUT=L8 || R8 )

12 FEISTEL Dans ce système de chiffrement, un bloc de texte en clair est découpé en deux ; la transformation de ronde est appliquée à une des deux moitiés, et le résultat est combiné avec l'autre moitié par ou exclusif. Les deux moitiés sont alors inversées pour l'application de la ronde suivante. Un avantage de ce type d'algorithmes est que chiffrement et déchiffrement sont structurellement identiques. Nous considérerons que pour une certaine clef entrée, ces fonctions sont les suivantes:

13 La fonction fi() Entrée : 32 bits Sortie : 32 bits
Clé du round : RKi triplet(KLi, KOi,KIi) Fonction qui comprend FL() et FO() FL utilise : KLi FO utilise KOi et KIi Round pair : fi(I,RKi) = FO( FL( I, KLi), KOi, KIi ) Round impair : fi(I,Ki) = FL( FO( I, KOi, KIi ), KLi )

14 Fonction FL La clé est divisée en 2 :KLi = KLi,1 || KLi,2
L’entrée I = L || R R′ = R  ROL( L  KLi,1 ) L′ = L  ROL( R′  KLi,2 ) La sortie vaut : S=L’||R’

15 Fonction FO I=L0||R0 KOi = KOi,1 || KOi,2 || KOi,3 et KIi = KIi,1 || KIi,2 || KIi,3 Les clés de 48 bits sont divisées en 3 clés de 16 bits Pour chaque entier j tel que : 1<=j<=3 Rj = FI(Lj-1  KOi,j , KIi,j )  Rj-1 Lj = Rj-1 A la fin : S=L3||R3

16 Fonction FI I=L0||R0 La clé KIij (16 bits)=KIij,1(7 bits)||KIij,2 (9 bits) Utilise 2 S-box S7 et S9 ZE(x) 0x > 0x TR(x) 0x > 0x L1 = R0 R1 = S9[L0]  ZE(R0) L2 = R1  KIi,j,2 R2 = S7[L1]  TR(R1)  KIi,j,1 L3 = R2 R3 = S9[L2]  ZE(R2) L4 = S7[L3]  TR(R3) R4 = R3 S=L4 || R4

17 S-Box Chacune d'elles rend difficile la table inversible. Une S-Box possible est la transformation d'identité, qui n'a en fait aucun effet. Toute autre transformation a au moins un effet sur les données. – La S-Box Si permet de subtituer les 6 bits (b1b2b3b4b5b6) par les bits Si[b1b6][b2b3b4b5]. – Exemple : S1 substitue (011010) en S1[00][1101] = 9 (1001).

18 S-Box Entrée x Sortie y x = x8 || x7 || x6 || x5 || x4 || x3 || x2 || x1 || x0 y = y8 || y7 || y6 || y5 || y4 || y3 || y2 || y1 || y0

19 S-Box Au niveau hardware :
Les s-box ont été conçues pour être implementées avec peu de composants de logique combinatoire Les opérations S7 et S9 Peuvent être effectuées en parallèle FIi,1 et FIi,2 également

20 Planification des clés
KASUMI a une clé K de 128bits. A chaque tour KASUMI utilise une clé dérivée de K. Deux tableaux de 16-bits Kj et Kj′ (j=1 à 8) : K = K1 || K2 || K3 ||…|| K8. Pour chaque entier j tel que 1  j  8 Kj′ = Kj  Cj Cj est la valeur definie dans la table 2. Les sous clés sont derivée de Kj et Kj′ comme défini dans table 1.

21 KASUMI

22 Références http://www.3gpp.org (3rd generation partnership project)


Télécharger ppt "Sécurité dans l’UMTS* MOUGEL Sébastien CNAM : UV C"

Présentations similaires


Annonces Google