Криптиране при 3G
singu
Продължаваме серията статии за сигурност в 3G с малко повече детайли за използваното криптиране в мрежите от ново поколение и с какво е по-добро от това в GSM/GPRS мрежите
Kриптиращият алгоритъм, който ще се използва се определя, когато мрежата получи от мобилният телефон1 списък с поддържаните алгоритми, наречен MS/USIM classmark. Този списък съдържа криптиращи алгоритми, както и алгоритми за осигуряване на интегритета. Мрежата избира алгоритъм от този списък, или може да избере режим без криптиране, ако мобилният телфон разрешава използването на такъв режим. Въпреки това винаги се договарят крипто алгоритъм и алгоритъм за осигуряване на интегритета ( hash algoritm ).
![]() |
За да се намали натоварването на AuC, сесийните и интегритетните ключове могат да се използват отново. На комбинация от вече установени ключове се присъединява идентификатор, наречен key set identifier (KSI). Мрежата може да изиска използването на същата комбинация от ключове при следващи връзки между МС и мрежата, чрез изпращане на този KSI.
Криптирането в UMTS се извършва или на МАС слой или на RLC слой ( виж схемата на слоевете по-горе ) в зависимост от режима на работа на RLC. Ако се използва прозрачен RLC, т.е. всички пакети от горните слоеве се предават директно на МАС слоя без добавяне на RLC хедъри, то криптирането се извършва в МАС слоя. Във всеки друг случай то се извършва в RLC слоя. RLC е аналог на LLC в GPRS, с разликата че LLC се терминира в SGSN, а RLC се терминира в UTRAN. Това означава, че криптирането се извършва между МС и UTRAN (Node B или RNC). Това се различава от GPRS, където шифрирането е между МС и SGSN. ( но UMTS поддържа и такъв режим на работа ). Криптирането се извършва в зависимост от това какъв логически канал се предава, като присъединените контролни канали и каналите за данни се шифрират съгласно спецификация 3G99.
Алгоритъма за криптиране в UMTS е наречен f8 и при разработването му са залегнали следните принципи:
- алгоритъма трябва да е устойчив на атаки следващите 20 години
- алгоритъма трябва да е свободен за експорт, съгласно спогодбата от Wassenaar
- алгоритъма трябва да може да се реализира както хардуерно, така и софтуерно, като хардуерната имплементация е с не повече от 10000 гейта2.
- алгоритъма трябва да може да осигури скорости до 2 Мбит/с в двете посоки ( не е специфициран хардуер за това условие )
- алгоритъма трябва да е синхронен поточен шифър.
- алгоритъма трябва да е отворен за публично обсъждане и оценка.
Алгоритъмът за осигуряване на интегритета е означен като f9
Спецификациите описват два задължителни алгоритъма: UEA0 е алгоритъм без шифриране, а UEA1 е шифър, наречен Kasumi. Други алгоритми са възможни, но имплементацията на тези два е задължителна.
За алгоритъм за осигуряване на интегритет UIA1 използва Kasumi. Няма алгоритъм без осигуряване на интегритет.
Kasumi е описан в спецификация 3GPP TS 35.202 като осем цикълен Feistel шифър, който работи с 64-битови блокове и 128 битов ключ.
Kasumi обработва входния блок I, като използва ключа К, а на изхода на алгоритъма имаме 64 битов OUTPUT както следва:
Входът I се разделя на два 23-bit низа L0 и R0, където
I = L0 || R0
тогава за всяко цяло i със стойност 1 < i < 8 дефинираме:
Ri = Li-1, Li = Ri-1 (+) fi(Li-1, RKi )
Това е Iтата циклова функция на Kasumi, където fi описва циклова функция с Li-1 и ключ RKi като входни данни.
Изходът на алгоритъма е равен на 64-битовия низ (L8 || R8).
![]() |
Публикувано в Мобилни мрежи, Сигурност, ЧЗВ |









