긴 길이 처리를 위해서
고정된 크기의 데이터 블록을 입력으로 받아, 암호화된 데이터 블록을 출력하는 방식으로 작동한다는 의미
고정된 크기의 데이터 블록을 암호화하고 복호화하니 보안 취약 있을 수 있는데 Operation Modes들 다양하게 이용해 보완한다
1. Replay Attack
- 문제점: 동일한 메시지 블록이 같은 방식으로 암호화될 때, 동일한 암호문을 생성할 수 있습니다. 이는 패턴 인식이나 재사용 공격에 대한 문을 열 수 있습니다.
- 대응 방법: IV의 사용, CBC나 CTR와 같은 운영 모드를 사용하여 각 블록을 unique
2. Chosen Plaintext Attack
- 문제점: 공격자가 특정 평문 블록을 선택하여 암호화하고 결과를 관찰함으로써, 암호 시스템에 대한 정보를 얻을 수 있습니다.
- 대응 방법: 고급 암호화 표준과 같은 강력한 암호 알고리즘 사용, 충분히 긴 키 길이를 사용하여 공격을 실현 불가능하게 만듭니다.q
3. Block Rearrangement Attack
- 문제점: 암호문 블록을 재정렬하여 다른 메시지를 생성할 수 있는 가능성.
- 대응 방법: AEAD를 사용하면, 메시지의 무결성과 인증을 보장하여 이러한 유형의 공격을 방지
Different modes of operation
Bad
- Electronic Code Book (ECB)
각 블록을 독립적으로 암호화
- Cipher Block Chaining (CBC)
각 블록을 암호화하기 전에 이전 블록의 암호문과 XOR 연산을 수행
Decryption error propagation affect to the next block (not all preceding blocks)
Block Replay Attacks
Good
- Counter Mode (CTR)
카운터 값을 암호화하고 이 결과를 평문 블록과 XOR 연산하여 암호문을 생성
- Galois Counter Mode (GCM)
- Confidentiality + Origin Authentication (Integrity)
- Can verify that ciphertext came from an authentic origin, and not from attackers. (thus, can prevent chosen ciphertext attacks)
- In other words, it is infeasible to generate any new, valid ciphertext with a valid tag
Provides Authenticated encryption by GCM은 각 암호화된 메시지 끝에 검증 태그(Authentication Tag)를 추가하여, 데이터의 무결성과 출처의 인증을 제공
ECB problem
Each block size is same and use same cipher text
CBC
Cannot be parallelized (for decryption, it can be parallelized)
CTR
Like Stream cipher’s One-time Pad, use nonce
GCM
Provides authenticated encryption (Confidentiality + Origin Authentication (Integrity))
- Can verify that ciphertext came from an authentic origin, and not from attackers
- High throughput too