피드로 돌아가기
Dev.toSecurity
원문 읽기
CBC Bit Flipping 방지를 통한 데이터 무결성 보장 및 AES-GCM 전환
CBC Bit Flipping Explained: Why Encryption Alone Doesn't Guarantee Integrity
AI 요약
Context
CBC mode 암호화 시 이전 블록의 ciphertext가 다음 블록의 plaintext에 영향을 주는 구조적 특성 존재. Encryption을 무결성 보장 수단으로 오인하여 Authenticated Encryption 없이 세션 쿠키 등을 처리하는 설계적 허점 발생.
Technical Solution
- Ciphertext 내 특정 비트 조작을 통해 복호화 결과값을 제어하는 Bit Flipping 공격 경로 차단
- Confidentiality와 Integrity를 분리하여 처리하는 기존 구조에서 Authenticated Encryption 구조로 전환
- AES-GCM 도입을 통한 ciphertext 생성 시 cryptographic tag를 병행 생성하는 메커니즘 적용
- 수신 측에서 복호화 전 tag 검증을 우선 수행하여 단 1비트의 변조라도 감지 시 데이터 즉시 폐기
- 레거시 CBC 환경 유지 시 Encrypt-then-MAC 아키텍처를 적용하여 복호화 전 MAC 검증 단계 추가
실천 포인트
1. AES-CBC 대신 AES-GCM과 같은 Authenticated Encryption 사용 여부 검토
2. 암호화된 데이터가 시스템 의사결정(권한 제어 등)에 사용될 경우 반드시 무결성 검증 로직 포함
3. MAC 적용 시 'Encrypt-then-MAC' 순서를 준수하여 복호화 전 위변조 확인 프로세스 구축