In our previous post, we examined how Channel Hardening and asymptotic orthogonality empower Physical-Layer Security (PLS) in Massive MIMO setups. However, real-world wireless deployments face two critical threat vectors:
- Passive Eavesdroppers: Covert eavesdroppers remain strictly silent during transmission, leaving the Base Station (BS) with zero Channel State Information (CSI) regarding Eve’s channel .
- Active Pilot Contamination Attacks: Malicious nodes transmit identical pilot sequences during the uplink channel estimation phase, intentionally corrupting the BS’s channel estimates and steering downlink beamforming straight toward the attacker!
To combat these threats, Null-Space Artificial Noise (AN) generation combined with Secure Beamforming provides a robust, provable security architecture.
1. The Principle of Null-Space Artificial Noise (AN)
The fundamental concept of Artificial Noise (originally introduced by Goel and Negi) is elegant: The Base Station (Alice) partitions its total available power budget into two components:
- Power dedicated to transmitting the confidential data symbol .
- Power dedicated to injecting pseudo-random noise strictly confined to the Null-Space (Orthogonal Complement) of the authorized user Bob’s channel.
+----------------------------------------------+
| Alice (BS) |
| Transmit Signal: x = w * s + V_n * z |
+----------------------------------------------+
/ \
Information Beam w * s / \ Artificial Noise V_n * z
steered toward Bob / \ flooded omnidirectionally
v v
+-------------------+ +--------------------+
| Bob (Legit) | | Eve (Spy) |
| h_B^H * V_n = 0 | | h_E^H * V_n != 0 |
| => Noise = 0 | | => Eve is blinded |
| Clear reception | | by massive jam |
+-------------------+ +--------------------+
Mathematical Formulation
Consider a BS equipped with antenna elements serving single-antenna user Bob whose channel is . Alice constructs an orthonormal null-space projection matrix satisfying:
The composite transmit signal is:
Where:
- is the MRT beamforming vector.
- is an independent Gaussian artificial noise vector.
- represents the total transmit power constraint.
2. Received Signal Dynamics at Bob vs. Eve
2.1. At Authorized User Bob
The received signal at Bob is:
Due to the null-space orthogonality condition, the injected artificial noise is 100% neutralized at Bob. Bob’s Signal-to-Noise Ratio (SNR) experiences zero degradation from the AN!
2.2. At Eavesdropper Eve
Because Eve’s channel is statistically independent of Bob’s channel , is almost surely not in the null space of (). The received signal at Eve is:
The resulting Signal-to-Interference-plus-Noise Ratio (SINR) at Eve is severely degraded:
By applying the Law of Large Numbers for large arrays (), , yielding:
As artificial noise power increases, , forcing the eavesdropper’s channel capacity regardless of Eve’s physical location!
3. Optimal Power Allocation ( vs. )
The secrecy rate optimization problem is formulated as:
Analytical derivation via Karush-Kuhn-Tucker (KKT) conditions confirms that allocating 60% - 75% power to data () and 25% - 40% power to artificial noise () yields near-optimal secrecy capacity when .
4. Mitigating Active Pilot Contamination Attacks
When an active attacker broadcasts training pilots synchronously with Bob:
- Energy Ratio Detection: The BS computes the energy ratio between orthogonal pilot slots to detect malicious signal injection.
- Angle-of-Arrival (AoA) Subspace Filtering: Leveraging massive spatial degrees of freedom, the BS resolves angular signatures and projects the channel estimate onto an uncontaminated spatial subspace.
5. Python Simulation
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 # Noise variance
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)
# MRT Precoding
w = h_B / np.linalg.norm(h_B)
# Null-space matrix via QR decomposition
Q, _ = np.linalg.qr(h_B, mode='complete')
V_n = Q[:, 1:] # Shape: (M, M-1)
# Bob SNR (AN is completely canceled)
gamma_B = (P_s * (np.linalg.norm(h_B) ** 2)) / sigma2
C_B = np.log2(1 + gamma_B)
# Eve SINR (Jammed by AN)
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 & ARTIFICIAL NOISE SIMULATION ===")
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"Split P_s: {split*100:2.0f}% | P_n: {(1-split)*100:2.0f}% -> Secrecy Rate: {rate:.3f} bps/Hz")
6. Conclusion
By exploiting the immense null-space dimensionality of Massive MIMO, Null-Space Artificial Noise turns wireless propagation geometry into a deterministic security shield. Authorized nodes receive pristine transmissions while eavesdroppers are blinded by targeted interference.