블록암호화 사용때 적용할 수 있는 방식
NOTE: 블록암호화 = 데이터를 일정 크기의 블록으로 나누어 각 블록을 암호화하는 것.
CBC모드는 이 블록들을 `연결'하는 특별한 방식을 제공
[CBC모드 작동 방식]
1. 초기화 벡터 (IV)
- 첫번째 블록을 암호화하기 전, 이 블록과 XOR연산을 수행할 초기화 벡터 (IV)를 무작위로 생성.
- IV는 각 암호화 세션마다 고유함.
2. 첫번째 블록 암호화
- 첫번째 블록와 IV를 XOR연산하고, 그 결과에 대해 암호화를 수행함.
3. 연쇄적 암호화
- 두번째 블록부터 앞서 암호화된 블록의 결과를 현재 블록과 XOR연산한 후 암호화를 수행함.
- 따라서 이전 블록들과 연결되어 암호화되기때문에 각 블록의 암호화가 서로 영향을 줌.
[복호화]
암호문 블록을 복호화 한 뒤, IV 또는 이전 암호문 블록과 XOR연산을 수행해 원본 데이터를 얻게됨.
[활용]
대칭 키 블록 암호화를 사용하는 다양한 암호화 시나리오에서 사용될 수 있음.
- 웹 통신: SSL/TLS프로토콜
- VPN
- 디스크 암호화
- 메시징 앱
[사용시 유의점]
- 초기화 벡터 (IV): 재사용시 보안 취약점이 될 수 있음
- 패딩: 데이터를 일정 크기의 블록으로 처리해야하기 때문에 데이터가 블록 크기에 맞지않으면 패딩을 통해 맞춰야함. 패딩 오라클 공격과 같은 보안 위혐에 주의해야함.
- 오류전파: 암호화된 블록 사이의 종속성이 있기 때문에 한 블록의 오류가 다음 블록으로 전파될 수 있음. 데이터 손상시 복구가 어려울 수 있음.
'Information Security' 카테고리의 다른 글
Symmetric Encryption (0) | 2024.05.07 |
---|---|
Steganography (0) | 2024.05.07 |
Data Privacy & Law 👩⚖️ (0) | 2024.05.07 |
🦹Threat Actors🦹 (0) | 2024.05.07 |
❗Risks, Threats & Vulnerabilities ☢️ (0) | 2024.05.07 |