iOS에서 데이터를 저장하는 주요 방식:
| 방식 | 보안 수준 | 특징 |
|---|---|---|
| UserDefaults | 낮음 | 평문 저장, 탈옥 기기에서 쉽게 접근 가능 |
| Keychain | 높음 | AES-256 암호화, Secure Enclave 활용 |
| CoreData | 중간 | 데이터베이스, 암호화 옵션 제공 |
accessToken과 refreshToken은 사용자의 모든 API 요청에 사용되므로, 탈취 시 계정 악용 위험이 있습니다. 따라서 하드웨어 수준의 보안을 제공하는 Keychain을 선택했습니다.
Keychain에 저장되는 모든 데이터는 AES-256 (Advanced Encryption Standard) 알고리즘으로 암호화됩니다.
AES-256??
암호화 과정
평문 데이터 → AES-256 암호화 → 암호화된 데이터 → Keychain 저장
↑
암호화 키 (Secure Enclave에 저장)