📋 개요
API 통신 보안 강화를 위해 FZAPIClient에 인증서 피닝을 구현합니다.
🎯 목적
- 중간자 공격(MITM) 방지
- API 통신 보안 강화
- 사용자 데이터 보호
📝 구현 방안
1. Alamofire ServerTrustManager 활용
// ServerTrustManager 설정 예시
let evaluators: [String: ServerTrustEvaluating] = [
"api.flitz.app": PinnedCertificatesTrustEvaluator()
]
let serverTrustManager = ServerTrustManager(evaluators: evaluators)
2. 피닝 방식 선택
- PublicKeyPinning: 공개 키만 검증 (인증서 갱신 시 유연함) ✅ 권장
- CertificatePinning: 전체 인증서 검증 (더 엄격하지만 갱신 시 앱 업데이트 필요)
3. FZAPIClient 수정 사항
🔧 구현 단계
-
인증서 준비
-
코드 구현
-
테스트
⚠️ 주의사항
- 인증서 갱신 주기 관리 필요
- 개발 환경에서는 피닝 비활성화 옵션 필요
- 피닝 실패 시 fallback 전략 수립
- 인증서 파일은 앱 번들에 포함되므로 보안 관리 필요
🔗 참고 자료
📌 라벨
- security
- enhancement
- networking
📋 개요
API 통신 보안 강화를 위해 FZAPIClient에 인증서 피닝을 구현합니다.
🎯 목적
📝 구현 방안
1. Alamofire ServerTrustManager 활용
2. 피닝 방식 선택
3. FZAPIClient 수정 사항
🔧 구현 단계
인증서 준비
코드 구현
테스트
🔗 참고 자료
📌 라벨