개발자리 iOS Roadmap
Network
/
5-3 네트워크 보안
0/11
5-3
11 topics
🔐 TLS · OAuth · CryptoKit
네트워크 보안
💡 HTTPS인데 왜 해킹당할 수 있습니까 / 토큰을 어디에 저장해야 합니까
데이터를 주고받고 저장할 줄 압니다. 이제 "이게 안전한가?"가 반드시 따라옵니다. 보안은 기능이 완성된 직후 배워야 의미가 있습니다 — 지킬 것이 생겼을 때 잠금장치를 배웁니다.
💡 왜 여기서?
보안은 기능 개발과 동시에 배우는 것이 아니라 기능이 완성된 직후 배워야 의미가 있습니다. 지킬 것이 생겼을 때 잠금장치를 배웁니다.
TOPICS COMPLETED
0 / 11
Topics
−
🔒 HTTPS와 TLS
4 topics
TLS 핸드셰이크 — 암호화 키 교환 과정
인증서와 CA — 서버가 진짜인지 검증
SSL Pinning — MITM 공격 방어
App Transport Security — iOS의 강제 HTTPS
⚠️
HTTPS가 있어도 SSL Pinning 없이는 MITM(중간자 공격)에 취약합니다. 특히 Charles Proxy 같은 도구로 트래픽을 가로챌 수 있습니다.
+
👤 인증 구현
4 topics
OAuth 2.0 — 소셜 로그인 플로우
JWT — 토큰 구조, Access + Refresh 패턴
Keychain에 토큰 저장
Face ID / Touch ID — LocalAuthentication
+
🔑 암호화 기초
3 topics
대칭키(AES), 비대칭키(RSA), 해시(SHA-256)
CryptoKit — Swift 암호화 구현
API Key 코드 하드코딩 금지 — xcconfig 분리
🚨
API Key를 코드에 하드코딩하면 GitHub에 push하는 순간 전 세계에 노출됩니다. 반드시 xcconfig 또는 환경변수로 분리하고 .gitignore에 추가하세요.
Quiz
🔐 5-3
네트워크 보안
💡 실전 상황: 외부 API를 사용합니다.
API Key를 어디에 두시겠습니까?
안전한 방법은?
OPTION A
코드에 하드코딩
GitHub에 올리면 전 세계에 노출
OPTION B
xcconfig / 환경변수 분리
코드에 키가 없음, .gitignore 처리
🎉
Stage 5 완료!
오토바이로 달릴 수 있습니다.
하지만 동시에 두 가지를 할 수 없습니다. → STAGE 6에서 해결합니다.
🧊 STAGE 6 동시성 시작하기 →
← 5-2 데이터 영속성
Network 홈으로