Канальне кодування та перемішування
Кодування в радіоканалі використовується для виявлення і виправлення помилок, які виникають при передачі інформації по радіоінтерфейсу. В системі GSM використовується два види канального кодування: блокове і згорткове. Згорткове кодування є потужним засобом боротьби з одиночними помилками, а блокове кодування в основному використовується для виявлення невиправлених помилок.
При блоковому кодуванні вхідна інформація розділяється на блоки, що містять по k символів, і які по визначеному закону перетворюються блоковим кодером в n символьні блоки, причому n>k. Відношення R=k/n називається швидкістю кодування і є мірою надлишковості, яка вноситься кодером. При правильній побудові коду збільшення надлишковості призводить до підвищення завадостійкості.
При згортковому кодуванні К послідовних символів вхідної інформаційної послідовності, по k біт в кожному символі, приймають участь в утворенні n-бітових символів вихідної послідовності, n>k, причому на кожен символ вхідної послідовності припадає по одному символу вихідної. В стандарті GSM використовуються символи з k=l, тобто символи однобітові, а згортковий кодер - двійковий. Параметр К визначає довжину зсувного регістру (в символах), вміст якого приймає участь в формуванні одного вихідного символу, і називається довжиною обмеження. Оскільки складність декодування згорткового коду по алгоритму Вітербі (даний алгоритм є найбільш вигідний зточки зору реалізації) зростає за експоненційним законом із збільшенням довжини кодового обмеження, то на практиці використовуються значення К в межах від 3 до 10.
В стандарті GSM основні властивості розмовних каналів і каналів управління значно відрізняються один від одного. Для розмовних каналів необхідний зв'язок в реальному масштабі часу з короткими затримками при порівняно низьких вимогах до ймовірності помилок в каналі. Для каналів управління вимагається абсолютна цілісність даних і виявлення помилок, але допускається більш тривалий час передачі і затримки. Як наслідок кодування в каналах управління і розмовних каналах має свої особливості.
Розглянемо процес кодування мовної інформації в повношвидкісному розмовному каналі.
Кодер мовлення поставляє на схему канального кодування 20-мілісекундні блоки довжиною по 260 біт з швидкістю 13 кбіт/с. Кожен блок довжиною 260 біт розбивається на три частини:
- 50 біт класу 1А;
- 132 біти класу 1B;
- 78 біт класу 2.
Біти класу 1А захищаються за допомогою слабого блокового кодування для виявлення помилок в приймачі. В результаті блокового кодування до 50 біт класу 1А додається 3 біти перевірки на парність. Блоковий код являє собою вкорочений систематичний код з формуючим поліномом виду:
g(D)=D3 + D + l.
На даній стадії виконується перший крок перемішування. Перемішування - це така зміна порядку слідування символів інформаційної послідовності, тобто перестановка символів, при якій символи, що були розміщені поряд, стають розділеними декількома іншими символами.
Рис.8.17 Схема канального кодування в розмовному каналі GSM
Перемішування здійснюється з метою перетворення пакетів помилок в одиночні, з якими легше боротись за допомогою блокового і згорткового кодування. Отже, на першій стадії перемішування біти з парними індексами збираються в першій частині інформаційного слова, за ними слідує три біти перевірки на парність. Після цього біти з непарними індексами запам'ятовуються в буферній пам'яті і переставляються так, як це показано на рис. 8.18б. Далі слідує чотири нульових біти, які необхідні для роботи кодера, що формує код для виправлення випадкових помилок в радіоканалі.
Наступним кроком є згорткове кодування 189 біт класу 1 кодом (2, 1, 5) з швидкістю г=1/2. Як показано на рис.8.18в, після згорткового кодування загальна довжина кадру складає 2x189+78 = 456 біт.
Після цього отриманий кадр з 456 біт поділяється на вісім 57-бітових блоків (рис. 8.18г), які зазнають блоково-діагонального перемішування.
При діагональному перемішуванні вхідна інформація поділяється на блоки, а блоки - на субблоки, і в вихідній послідовності субблоки чергуються між собою. Така схема перемішування вносить малу затримку, але розставляє сусідні субблоки лише через один, тобто роззосередження помилкових символів групи є невеликим.
а) інформаційна послідовність на виході схеми блокового кодування;
б) перший етап перемішування;
в) інформаційна послідовність на виході схеми загорткового кодування;
г) блоково-діагональне перемішування;
д) розбиття на пакети
Рис.8.18 Канальне кодування і перемішування в розмовному каналі
При блочному перемішуванні вхідна інформація також поділяється на блоки по n субблоків в кожному, але в вихідній послідовності чергуються субблоки k послідовних блоків. Роботу цієї схеми можна представити у вигляді запису вхідної послідовності у стрічки матриці (k,n), зчитування інформації з якої здійснюється по стовпцях. Дана схема вносить велику затримку, але значно краще роззосереджує символи пакетів помилок.
На рис. 8.18г біти В0 і В4 субблоків попарно перемішуються, утворюючи процес блокового перемішування.
В звичайному пакеті, який переносить розмовну інформацію, є простір для двох 57-бітових блоків інформації. Тому на наступному етапі перемішування вісім 57-розрядних блоків, призначених для передачі, розміщуються в вісім різних інформаційних пакетів. Кожен інформаційний пакет буде містити блоки інформації з різними вибірками мовлення.
В результаті перемішування кожен інформаційний пакет буде містити два 57-розрядні блоки інформації з різними вибірками мовлення. Перевагою перемішування пакетів є те, що воно дозволяє загубити цілий пакет. Оскільки втрата одного пакета впливає тільки на 12.5% біт з кожного циклу розмови, процес кодування каналу дає можливість зробити відповідні виправлення.
Шифрування
Радіоінтерфейс - це найбільш зручна для несанкціонованого доступу ланка системи базової станції. Результатом несанкціонованого доступу може бути не тільки прослуховування розмов абонентів, але і безкоштовне користування послугами мобільного зв'язку. Щоб запобігти цьому в стандарті GSM використовується шифрування повідомлень, що передаються по радіоінтерфейсу, а також введено процедуру аутентифікації, тобто підтвердження достовірності абонента. Режими секретності в стандарті GSM визначаються Рекомендаціями, які приведені в табл.8.3.
Таблиця 8.3. Аспекти безпеки в стандарті GSM
Рекомендації | Назва | Опис |
GSM 02.09 | Аспекти секретності | Визначають характеристики безпеки, які застосовуються в мережах GSM. Регламентується їх використання в рухомих станціях і мережах. |
GSM 03.20 | Секретність, пов’язана з функціями мережі | Визначає функції мережі, необхідні для забезпечення характеристик безпеки, які розглядаються в рекомендаціях GSM 02.09 |
GSM 02.17 | Алгоритми секретності | Визначає криптографічні алгоритми в системі зв’язку |
GSM 02.17 | Модуль достовірності абонента (SIM) | Визначає основні характеристики модуля SIM |
Для захисту сигналів управління і даних користувача, які передаються по радіоканалу, базова станція використовує дані, які містяться в центрі аутентифікації (AUC) - мережевому елементі системи комутації. Розгляд центру аутентифікації, як і розгляд абонентського модуля SIM, хоч і виходить за межі системи базової станції, проте є необхідний для розуміння процедури шифрування на радіоінтерфейсі.
Захист в GSM реалізовано в трьох елементах системи:
- центрі аутентифікації;
- абонентському модулі SIM;
- мобільній станції.
В центрі аутентифікації зберігаються бази даних з інформацією про аутентифікацію і ідентифікацію абонентів, а саме: міжнародний номер мобільного абонента (IMSI), тимчасовий номер мобільного абонента (TMSI), номер зони викликів (LAI) та індивідуальний ключ шифрування для кожного абонента.
Модуль SIM містить номер IMSI, індивідуальний ключ шифрування абонента (Ki), алгоритм генерування ключа шифрування (А8), алгоритм шифрування (A3) і персональний ідентифікаційний номер абонента (PIN).
Мобільна станція містить алгоритм шифрування розмовної інформації і даних (А5). Захист інформації при передачі по радіоінтерфейсу зводиться до виконання трьох процедур:
- ідентифікації;
- шифрування;
- визначення і перевизначення тимчасового номера абонента (TMSI).
Функцією базової станції є шифрування повідомлень, що передаються мобільній станції, і дешифрування повідомлень, прийнятих від MS. На відміну від мобільної станції BTS не розраховує ключі шифрування, а отримує їх від центру аутентифікації. При ідентифікації абонента і присвоєнні тимчасового номера базова станція лише передає інформацію від і до системи комутації, в якій AUC виконує необхідні розрахунки і на основі записів в базах даних приймаються рішення.
В стандарті GSM ідентифікація абонента відбувається за допомогою механізму «запит-відповідь». Для цього 128-бітове випадкове число (RAND) посилається мобільній станції. Мобільна станція розраховує 32 бітовий відклик (SRES), який базується на шифруванні числа RAND за допомогою алгоритму шифрування A3 при використанні ключа шифрування ki. При отриманні відклику система повторює розрахунок, і якщо результат не збігається з отриманим SRES, мобільна станція отримає відмову в доступі до системи. Слід відмітити, що ключ шифрування ki ніколи не передається по радіоканалу: він зберігається в SIM модулі і центрі аутентифікації.
У випадку успішного завершення процедури ідентифікації мобільна і базова станції будуть виконувати процедуру шифрування розмовної інформації і даних, які передаються по радіоінтерфейсу. Мобільна станція починає шифрування/дешифрування інформації по команді системи. Для цього модуль SIM містить алгоритм генерування ключа шифрування (А8), який використовується для генерування 64-бітового ключа шифрування kc. Цей ключ обчислюється на основі того ж випадкового числа RAND, яке використовується при ідентифікації абонента, за допомогою алгоритму А8 і ключа ki. В мобільній станції ключ розраховується в SIM-модулі, а базова станція отримує ключ kc від центру аутентифікації. Шифрування розмовної інформації і даних відбувається за допомогою алгоритму А5 і ключа шифрування kc. Для підвищення захисту від несанкціонованого доступу в стандарті GSM передбачено зміну ключа шифрування в часі: ця зміна відбувається періодично на основі номера циклу TDMA.
Для забезпечення конфіденційності ідентифікації абонента використовується тимчасовий номер мобільного абонента (TMSI). TMSI посилається мобільній станції після виконання процедур ідентифікації та шифрування і служить для виключення можливості визначення (ідентифікації) абонента шляхом перехоплення повідомлень, що передаються по радіоканалу. Мобільна станція підтверджує прийом TMSI. Тимчасовий номер дійсний лише в межах території викликів (location area), в якій він був виданий. Для комунікації ззовні території викликів використовується код зони викликів (LAI) і TMSI.
Технічні деталі алгоритмів шифрування, що використовуються в GSM, тримаються в секреті. Алгоритми були розроблені в Великобританії, і виробники обладнання для коміркових мереж, які бажають реалізувати в своїй продукції технологію шифрування, повинні отримати ліцензію від уряду Великобританії. Агентства Великобританії, США, Франції, Нідерландів та деяких інших країн контролюють експорт ліцензій, оскільки вільне поширення технології шифрування ускладнить боротьбу з терористичними організаціями та організованою злочинністю. Розузгодження між виробниками обладнання для коміркових мереж та урядом Великобританії щодо поширення дозволів на експорт ліцензій призвели до виникнення двох версій алгоритмів шифрування: А5/1 та А5/2. Західно-Європейські країни і деякі інші країни, такі як Гонг-Конг, отримують дозвіл на використання алгоритму А5/1. Дещо слабша версія алгоритму (А5/2) експортується в більшість інших країн. Країни, які на даний час не мають технології криптографії, в майбутньому зможуть отримати алгоритм А5/2.
В стандарті GSM використовуються симетричні алгоритми шифрування, тобто алгоритми, в яких для шифрування і дешифрування використовується один ключ. Наприклад, якщо інформаційне повідомлення позначити змінною Р, зашифрований текст - С, шифрування ключем х функцією Ех(), а дешифрування ключем х функцією Dx(), тоді симетричний алгоритм характеризується наступним чином:
Симетричні алгоритми шифрування надалі можуть поділятись на блочні і стрічкові алгоритми. Блочні шифри шифрують і дешифрують блоки (групи) бітів. Найбільш відомим прикладом блочного шифру є алгоритм DES, який використовує 56-бітовий ключ для шифрування 64-бітового блоку даних, причому 64 бітам вихідного повідомлення відповідає 64 біт зашифрованого тексту.
Стрічкові( мабуть Лінійні) алгоритми працюють на рівні бітів, тобто кожному зашифрованому біту відповідає один біт вихідного повідомлення. Стрічкові алгоритми реалізовані за допомогою операції виключаюче «АБО» (англ. exclusive-or - XOR) стрічки даних з ключем. Захист стрічкового шифру визначається властивостями ключа шифрування. Випадковий ключ забезпечує надзвичайно надійне одноразове шифрування, а визначений ключ з малим періодом практично не захищає повідомлення від несанкціонованого доступу. Ключовим елементом більшості стрічкових шифрів є Зсувні Регістри з Зворотнім Зв'язком LFSR (англ. Linear Feedback Shift Registers), в яких вакантний біт утворений зсувом є функцією попереднього стану. При правильному визначенні зворотного зв'язку LFSR можуть функціонувати як генератори псевдовипадкових чисел.
Інформація про алгоритми шифрування є конфіденційною і не розголошується, проте все-такі деякі відомості про алгоритм А5 існують:
1. Алгоритм А5 є стрічковим шифром, який складається з трьох LFSR, які мають розрядність 19, 22 і 23. Регістри керуються тактовими імпульсами.
2. Керування тактовими імпульсами є функцією середніх бітів кожного з трьох регістрів.
3. Сума розрядів трьох регістрів становить 64. Тому початковим вмістом регістрів є 64-бітовий ключ.
4. 22-бітовий номер циклу TDMA подається в зсувні регістри.
5. В кожному циклі TDMA утворюється дві 114-бітові ключові послідовності, які сумуються по модулю 2 з відповідними повідомленнями, що передаються по каналах інформаційних потоків «вверх» і «вниз».
6. Існують припущення, що ефективна довжина ключа в алгоритмі А5 становить 40 біт (замість 64 біт).
В табл. 8.4 приведено підрахунки часу, необхідного для взлому ключів різної довжини.
Таблиця 8.4. Час взлому ключа при брутальній атаці
Довжина ключа в бітах | |||||
Час, необхідний для перебору ключів | 1,19 год | 12,7 днів | 2,291 років | 584,542 роки | 10,8∙1024 років |
Враховуючи, що довжина ключа для алгоритму А5 може становити 40 біт, а «тактичний час життя» телефонної розмови, по загальних спостереженнях, вимірюється в тижнях, надійний захист інформації на короткий час забезпечується.
Форматування пакетів
Система GSM - це система з комутацією каналів (GSM 2-го покоління), проте інформація по радіоінтерфейсу передається у вигляді пакетів. Пакет - це блок бітів, який міститься в одному часовому інтервалі TDMA циклу на радіоінтерфейсі. Функцію розміщення інформації в потрібний пакетний формат виконує приймально-передавальний модуль базової станції.
В системі GSM передбачено п'ять типів пакетів:
- звичайний пакет;
- пакет частотної корекції;
- синхронізаційний пакет;
- пакет доступу;
- замінний пакет.
Звичайний пакет.
Звичайний пакет використовується для перенесення інформації по каналах інформаційних потоків і каналах управління: ВССН, РСН, AGCH, SDCCH, SACCH і FACCH.
На початку і в кінці звичайного пакету розміщені 3-бітові блоки - кінцеві біти (ТВ). Ці біти завжди є нульовими (0,0,0) і призначені для вказання еквалайзеру стартових і стопових точок.
Рис.8.19 Звичайний пакет
Основною частиною пакету є інформаційні біти - 2 блоки по 57 біт захищеної від помилок зашифрованої інформації, які відповідають сигналам мови або даних.
Оскільки при поширенні через радіоінтерфейс інформація може бути пошкоджена, в склад звичайного пакета включена т.зв. тренувальна послідовність - послідовність відомого зразка. На приймальному кінці на основі цієї послідовності еквалайзер створює математичну модель каналу в певний момент часу, що дозволяє йому відновити пошкоджену інформацію. В системі GSM є 8 різних зразків тренувальних послідовностей. По замовчуванню використовується тренувальна послідовність, яка є тотожною кольоровому коду базової станції номера BSIC. Дві базові станції, які працюють на одній частоті і розміщені недалеко одна від одної, використовують різні тренувальні послідовності, що дозволяє еквалайзеру розрізнити їх пакети.
Тренувальна послідовність з двох боків відокремлюється від інформаційних блоків бітами-прапорцями (SF). Кожен біт-прапорець відповідає за свою інформаційну послідовність і вказує, чи в даному пакеті передається, наприклад, розмовна інформація, чи інформація сигналізації. Стан бітів-прапорців дозволяє правильно розшифрувати вміст пакетів.
В часовому інтервалі є простір для 156.25 біт, а звичайний пакет містить лише 148 біт. Решті 8.25 біт утворюють т.зв. захисний інтервал (GP). Захисний інтервал зменшує ймовірність перекривання сусідніх пакетів, яке може призвести до втрати інформації.
Пакет частотної корекції
Пакет частотної корекції використовується для синхронізації частоти мобільної і базової станції. Періодична синхронізація необхідна, щоб компенсувати похибки генератора і ефекти помноження частоти, які виникають внаслідок швидкості транспортних засобів. Тому базова станція через визначені проміжки часу посилає чистий синусоїдальний сигнал - немодульовану несучу. Для цього в склад пакета частотної корекції входить т.зв. синхронізуюча послідовність (142 нульові біти). Як і в звичайному пакеті, в пакеті частотної корекції містяться два блоки кінцевих бітів (ТВ) і захисний інтервал (GP).
Рис.8.20 Пакет частотної корекції
Синхронізаційний пакет
Після виконання процедури синхронізації по частоті, мобільна станція здійснює часову синхронізацію з точністю до біта. Для цього базова станція по широкомовному каналу передає синхронізаційні пакети. В склад синхронізаційного пакета входить 64-бітова синхронізаційна послідовність і два 39-бітові блоки інформаційних біт. Інформаційні біти містять номер циклу TDMA, який використовується для правильного дешифрування інформації, яка міститься в звичайних пакетах, і номер тренувальної послідовності (BSIC), який використовується еквалайзером. Лише після отримання синхронізаційного пакету мобільна станція може пробувати розкодувати інформацію, яку містить ВССН.
Рис.8.21 Синхронізаційний пакет
Пакет доступу
Пакет доступу використовується для передачі інформації по каналу довільного доступу RACH. За допомогою цього пакету мобільна станція вимагає доступу до системи. При першому доступі невідома відстань від мобільної до базової станції, тому невідоме запізнення, з яким надійде пакет.
Як наслідок пакет має видовжений захисний інтервал (68,25 біт, що відповідає тривалості 252 мкс), який запобігає накладанню пакетів, навіть якщо мобільна станція перебуває на границі комірки (252 мкс∙300000 км/с = 2∙37,75 км).
Рис.8.22 Пакет доступу
Рис.8.23 Замінний пакет