토큰 저장 방식 선택

iOS에서 데이터를 저장하는 주요 방식:

방식 보안 수준 특징
UserDefaults 낮음 평문 저장, 탈옥 기기에서 쉽게 접근 가능
Keychain 높음 AES-256 암호화, Secure Enclave 활용
CoreData 중간 데이터베이스, 암호화 옵션 제공

accessToken과 refreshToken은 사용자의 모든 API 요청에 사용되므로, 탈취 시 계정 악용 위험이 있습니다. 따라서 하드웨어 수준의 보안을 제공하는 Keychain을 선택했습니다.


Keychain 보안 원리

1. Keychain의 암호화 메커니즘

1-1. AES-256 암호화

Keychain에 저장되는 모든 데이터는 AES-256 (Advanced Encryption Standard) 알고리즘으로 암호화됩니다.

AES-256??

암호화 과정

평문 데이터 → AES-256 암호화 → 암호화된 데이터 → Keychain 저장
                ↑
            암호화 키 (Secure Enclave에 저장)

1-2. 암호화 키 관리