모바일 앱에서 백엔드 서버와의 통신 보안은 매우 중요하다.
일반적인 SSL/TLS 통신은 중간자 공격(Man-in-the-Middle Attack)을 방어하지만, 공격자가 신뢰할 수 있는 CA(인증 기관)에서 발급받은 악성 인증서를 사용하는 경우 우회될 수 있다.
이러한 위협에 대응하기 위한 강력한 보안 메커니즘이 바로 SSL Pinning(인증서 고정) 이다.
SPKI(Subject Public Key Info) 해시 검증 방식 을 사용해서 SSL Pinning을 구현해야 한다.
1분기_비플페이_AI_활용사례_김형준.pdf
Pinning에 사용할 값은 서버 인증서의 공개키(SPKI)를 SHA256으로 해시하고 Base64로 인코딩한 값이다.
이 값을 터미널에서 추출한다.
echo | openssl s_client -servername dev-bp-hmc.bizplay.co.kr -connect dev-bp-hmc.bizplay.co.kr:443 2>/dev/null \
| openssl x509 -pubkey -noout \
| openssl pkey -pubin -outform der \
| openssl dgst -sha256 -binary \
| openssl base64
# BhXNMdNEm/ZIOXTtS7Ux74ZNlvIPvdlVSSBjPJ/zZlk=