В предыдущей статье мы рассмотрели, как Channel Hardening и асимптотическая ортогональность защищают информацию при большом числе антенн. Однако в реальных сценариях возникают две критические угрозы:
- Пассивный подслушиватель (Passive Eavesdropper): Ева полностью молчит в эфире, поэтому базовая станция (БС) не обладает информацией о состоянии ее канала (CSI).
- Активная атака загрязнения пилот-сигналов (Active Pilot Contamination Attack): Злоумышленник передает идентичную пилотную последовательность на этапе оценки канала, искажая диаграмму направленности БС в свою сторону!
Эффективным решением этих проблем является совместное использование Искусственного Шума в нуль-пространстве (Null-Space Artificial Noise - AN) и Защищенного диаграммообразования (Secure Beamforming).
1. Принцип генерации искусственного шума в нуль-пространстве
Идея AN (предложенная Гоэлом и Неги) заключается в следующем: Базовая станция (Алиса) разделяет общий бюджет мощности на две составляющие:
- Мощность для передачи информационного символа .
- Мощность для генерации псевдослучайного шума , проецируемого строго в нуль-пространство (ортогональное дополнение) канала легитимного пользователя Боба.
+----------------------------------------------+
| Алиса (BS) |
| Сигнал: x = w * s + V_n * z |
+----------------------------------------------+
/ \
Информационный луч w*s / \ Искусственный шум V_n*z
направлен на Боба / \ излучается во все стороны
v v
+-------------------+ +--------------------+
| Боб (Легитим) | | Ева (Шпион) |
| h_B^H * V_n = 0 | | h_E^H * V_n != 0 |
| => Шум = 0 | | => Ева полностью |
| Чистый прием | | подавлена шумом|
+-------------------+ +--------------------+
Математическая модель
Пусть БС имеет антенн, а канал к Бобу описывается вектором . Алиса формирует матрицу нуль-пространства , удовлетворяющую условию:
Передаваемый сигнал имеет вид:
Где:
- — вектор диаграммообразования MRT.
- — вектор независимого гауссовского шума.
- — ограничение на общую мощность передачи.
2. Анализ принятых сигналов
2.1. На стороне Боба
Принятый сигнал у Боба:
Благодаря ортогональности нуль-пространства, искусственный шум на 100% компенсируется у Боба. Отношение сигнал/шум (SNR) Боба не ухудшается от наличия AN!
2.2. На стороне Евы
Поскольку канал статистически независим от , он не лежит в нуль-пространстве матрицы (). Принятый сигнал Евы:
Отношение сигнал/помеха+шум (SINR) Евы резко деградирует:
При величина , откуда:
При увеличении мощности шума величина , сводя пропускную способность Евы независимо от ее расположения!
3. Оптимальное распределение мощности ( и )
Задача максимизации скорости секретности формулируется как:
Оптимизация на основе условий ККТ показывает, что оптимально выделять 65% - 75% мощности на полезный сигнал () и 25% - 35% мощности на искусственный шум () при .
4. Защита от атак загрязнения пилот-сигналов (Pilot Contamination)
- Энергетический детектор аномалий (Energy Ratio Detection): БС отслеживает всплески энергии в пилотных интервалах для обнаружения активного нарушителя.
- Пространственная фильтрация по углам прихода (AoA Subspace Filtering): За счет высокого углового разрешения Massive MIMO разделяет лучи Боба и Евы в угловой области, блокируя утечку.
5. Python-моделирование
import numpy as np
def simulate_an_pls(M=64, P_total=1.0, power_split=0.7, trials=1000):
P_s = power_split * P_total
P_n = (1.0 - power_split) * P_total
sigma2 = 0.01
secrecy_rates = []
for _ in range(trials):
h_B = (np.random.randn(M, 1) + 1j * np.random.randn(M, 1)) / np.sqrt(2)
h_E = (np.random.randn(M, 1) + 1j * np.random.randn(M, 1)) / np.sqrt(2)
w = h_B / np.linalg.norm(h_B)
Q, _ = np.linalg.qr(h_B, mode='complete')
V_n = Q[:, 1:]
gamma_B = (P_s * (np.linalg.norm(h_B) ** 2)) / sigma2
C_B = np.log2(1 + gamma_B)
an_leakage = np.linalg.norm(h_E.conj().T @ V_n) ** 2 / (M - 1)
sig_eve = np.abs(h_E.conj().T @ w) ** 2
gamma_E = float((P_s * sig_eve) / (P_n * an_leakage + sigma2))
C_E = np.log2(1 + gamma_E)
R_s = max(0.0, float(C_B - C_E))
secrecy_rates.append(R_s)
return np.mean(secrecy_rates)
print("=== МОДЕЛИРОВАНИЕ SECURE BEAMFORMING И ИСКУССТВЕННОГО ШУМА ===")
for split in [0.99, 0.8, 0.7, 0.5, 0.3]:
rate = simulate_an_pls(M=64, P_total=1.0, power_split=split)
print(f"Доля P_s: {split*100:2.0f}% | P_n: {(1-split)*100:2.0f}% -> Скорость секретности: {rate:.3f} бит/с/Гц")
6. Заключение
Метод Null-Space Artificial Noise превращает огромное фазовое пространство Massive MIMO в идеальный щит:
- Легитимный пользователь принимает неискаженный сигнал.
- Пассивный или активный нарушитель слепнет в плотном облаке искусственных помех.
- Защита гарантируется на уровне фундаментальных физических законов передачи волн.