16.7.1.2 AES-NI(Advanced Encryption Standard New Instructions) 기반 무자비한 하드웨어 가속 강제 전술

16.7.1.2 AES-NI(Advanced Encryption Standard New Instructions) 기반 무자비한 하드웨어 가속 강제 전술

Zenoh-Flow 파이프라인 배관에 TLS 암호화를 끼얹었을 때, 10Gbps의 스루풋이 2Gbps 로 토막 나며 CPU 코어가 발열로 비명을 지르는 참사(16.7.1.1장 참조)를 목도했다면, 시스템 아키텍트는 즉시 소프트웨어적 연산의 나약함을 버리고 하드웨어 가속(Hardware Acceleration) 의 등판을 강제해야 한다.

현대의 x86-64(Intel/AMD) 칩과 고성능 ARM(v8 Cryptography Extensions) 코어 안에는, 오로지 AES 암복호화만을 마이크로초 단위로 분쇄해 내기 위해 깎아 만든 전용 물리 회로, 즉 AES-NI (New Instructions) 가 잠들어 있다.
본 절에서는 데몬 런타임과 리눅스 커널의 목구멍을 억지로 열어젖혀, 멍청한 소프트웨어 암호 라이브러리 연산을 전면 차단하고 이 물리적 실리콘 회로(AES-NI)로 텐서 바이트 폭격을 쑤셔 박아 TLS 오버헤드를 제로(Zero)에 가깝게 소생시키는 하드웨어 종속 런북을 갈파한다.

1. 소프트웨어 암호화의 맹점: 캐시 스래싱(Cache Thrashing)

TLS가 활성화된 Zenoh 데몬이 평범한 OpenSSL 라이브러리 타깃(소프트웨어 fallback)으로 빌드되었다고 치자.
C++ / Rust 스레드가 10MB짜리 카메라 원본 이미지를 암호화하기 위해 매번 룩업 테이블(S-box)을 메모리(RAM)에 띄우고 지우기를 수천 번 반복한다. 이때 딥러닝 추론에 쓰여야 할 L1/L2 캐시는 이 암호화용 찌꺼기 행렬들 때문에 모조리 밀려나 삭제되는 캐시 스래싱(Cache Thrashing) 멸망전을 겪는다. 딥러닝 추론 속도가 박살 나는 것은 당연한 수순이다.

2. 러스트(Rust) 런타임의 하드웨어 가속 링키지(Linkage) 타격

Zenohrustls 라는 러스트 네이티브 TLS 스택을 사용한다. 아키텍트는 엣지 로봇용 데몬 바이너리를 컴파일(cross-compile)하여 타설 할 때, 대충 cargo build 따위를 치는 행위를 중단해야 한다.
목표 로봇 보드의 CPU가 AES-NI 명령어를 지원한다면, 컴파일 파이프라인에서 하드웨어 특화 C-Flag 연산 명령(target-feature)을 강제로 못 박아야 한다.

# [x86_64 기반 엣지/클라우드의 AES-NI 강제 활성화 컴파일 런북]
# 만일 로봇 보드에 AES-NI 칩이 내장되어 있다면, 컴파일러에게
# 암호화 소프트웨어 루틴을 다 버리고 오직 칩셋의 물리 명령만 쓰도록 강압한다!
RUSTFLAGS="-C target-feature=+aes,+ssse3" cargo build --release --features tls

이 컴파일 옵션 하나로, 데몬 안의 TLS 엔진은 더 이상 RAM 메모리에 암호화 테이블(S-box)을 띄우지 않는다. 대신 AES-NI 어셈블리 명령 한 줄(AESENC, AESDEC)을 CPU 레지스터에 하드 꽂아 넣음으로써, CPU 코어 레이턴시는 1/10 수준으로 압살 되며 L1/L2 캐시는 온전히 딥러닝 연산의 몫으로 비워지게(Preserved) 된다.

3. 매니페스트(YAML) 스위트(Cipher Suite) 구속 전술

하드웨어가 준비되었다면, 데몬 런타임의 설정(Config.json5 혹은 라우터 설정) 단에서 오직 AES-GCM 계열의 암호화 규격만을 강제 인가하도록 통신 폭압을 가해야 한다.

// [Zenoh 라우터의 암호화 알고리즘 강제 구속(Lock-in) 런북]
{
  transport: {
    link: {
      tls: {
        // [강제령] 연결하려는 상대(해커/불상 노드)가 ChaCha20 등 다른 하드웨어 가속이 안 되는 
        // 쓰레기 암호화 알고리즘을 제안(Handshake Negotiation)하려 들면? 
        // 즉시 통신 연결 자체를 찢어버려라! 오직 하드웨어가 씹어먹을 수 있는 AES-256-GCM 만을 고립 허용할 것!
        tls_ciphers: ["TLS_AES_256_GCM_SHA384", "TLS_AES_128_GCM_SHA256"]
      }
    }
  }
}

이 압제가 가동되면, 두 노드가 소켓을 틀어쥘 때 1바이트의 자비도 없이 AES-GCM 하드웨어 파이프가 결속된다.
소프트웨어 모드에서 초당 2Gbps 와 CPU 점유율 100% 로 녹아내리던 엣지 보드의 처참함은, 이 AES-NI 물리 회로 주입 하나만으로 초당 20Gbps (스루풋 10배 폭증!) 와 CPU 점유율 20% 이내의 절대적 안정권으로 대역전(Bounce-back)을 일으킨다.
암호학적 보장은 인프라의 족쇄지만, 하드웨어 명령어(AES-NI)의 강제 폭압은 그 족쇄를 찢고 평문(Plaintext) 시절의 스루풋 파워와 거의 동일한 속도를 쟁취하는 야전 시스템 엔지니어링의 최고 승리 제이드다.