iOS SSL Pinning ๊ตฌํ ์ ๋ต ๋ฐ ์ด์ ๋ฆฌ์คํฌ ๋ถ์
๐ SSL Pinning in Mobile Apps: Android & iOS (Practical Guide + Trade-offs) - Part 2
AI ์์ฝ
Context
๋คํธ์ํฌ ํต์ ์ ์๋ฒ ์ธ์ฆ์์ ์ ๋ขฐ์ฑ์ ๋ณด์ฅํ์ฌ MITM ๊ณต๊ฒฉ์ ๋ฐฉ์ดํ๋ ค๋ ๋ชฉ์ ์ ์ค๊ณ์. iOS์ ์ ์์ค ๋คํธ์ํน API ํน์ฑ์ ๊ตฌํ ๋ฐฉ์์ ๋ฐ๋ผ ์ฑ์ ์์ ์ฑ๊ณผ ์ ์ง๋ณด์ ๋น์ฉ์ด ๊ทน๋ช ํ๊ฒ ๊ฐ๋ฆฌ๋ ํ๊ณ๊ฐ ์กด์ฌํจ.
Technical Solution
- .cer ํ์ผ ๊ธฐ๋ฐ Certificate Pinning์ ํตํ ๋ฐํ์ ์ธ์ฆ์ ๋ฐ์ดํฐ ์ง์ ๋น๊ต ๋ฐฉ์ ์ค๊ณ
- ์ธ์ฆ์ ๋ง๋ฃ ์ ์ฑ ์ ๋ฐ์ดํธ๊ฐ ๊ฐ์ ๋๋ Fragileํ ๊ตฌ์กฐ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ Public Key Pinning์ผ๋ก์ ์ ํ
- Public Key ์ถ์ถ ๋ฐ ํด์ ๋น๊ต๋ฅผ ํตํด ์ธ์ฆ์ ๊ฐฑ์ ์ฃผ๊ธฐ์ ๋ฌด๊ดํ ํต์ ์์ ์ฑ ํ๋ณด
- ๊ตฌํ ๋ณต์ก๋ ๊ฐ์์ ๊ฒ์ฆ๋ ๋ณด์ ๋ก์ง ์ ์ฉ์ ์ํ Alamofire ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ServerTrustManager ๋์
- SSL Pinning์ ๋จ์ผ ๋ณด์์ฑ ์ด ์๋ JWT, API Gateway, WAF์ ๊ฒฐํฉํ ๋ค์ธต ๋ฐฉ์ด ์ํคํ ์ฒ ๊ตฌ์ฑ
์ค์ฒ ํฌ์ธํธ
- ์ธ์ฆ์ ์ ์ฒด ๋น๊ต ๋์ Public Key Pinning์ ์ฑํํ์ฌ ๊ฐฑ์ ์ฃผ๊ธฐ ๋ฆฌ์คํฌ ์ต์ํ - ์ธ์ฆ์ ๋กํ ์ด์ ์คํจ ์ ์๋น์ค ์ค๋จ์ ๋ฐฉ์งํ๊ธฐ ์ํ Fallback Pin ์ค์ ๊ฒํ - Charles Proxy ๋ฑ ํธ๋ํฝ ๋ถ์ ๋๊ตฌ ์ฌ์ฉ ์ ํ์ ๋ฐ๋ฅธ ๋๋ฒ๊น ํ๊ฒฝ ๋ณ๋ ๊ตฌ์ถ - Fintech ๋๋ Healthcare ์์ค์ ๊ณ ๋ณด์ ์๊ตฌ์ฌํญ ์ฌ๋ถ์ ๋ฐ๋ฅธ ๋์ ๋น์ฉ ํธ์ต ๋ถ์