웹사이트 보안을 확인할 때 SSL 인증서의 해시값(핑거프린트)을 확인하는 방법을 아시나요? 브라우저에서 바로 확인할 수 있습니다.
인증서 핑거프린트란
SSL 인증서의 핑거프린트는 인증서 전체 내용을 해시한 값입니다. 주로 SHA-256이 사용되며, 이 값으로 인증서의 진위를 확인할 수 있습니다. 해시 생성기와 같은 원리로 인증서 데이터를 해시값으로 변환하는 거죠.
크롬에서 확인하기
주소창 옆 자물쇠 아이콘 클릭 → 연결이 안전함 → 인증서 → 세부정보 탭에서 SHA-256 핑거프린트를 확인할 수 있습니다. 이 값이 해당 인증 기관에서 발급한 값과 일치하는지 비교하면 됩니다.
왜 필요한가
중간자 공격(MITM)을 방지하기 위해서입니다. 공격자가 가짜 인증서를 사용하면 핑거프린트가 달라지기 때문에 탐지할 수 있습니다.
개발 환경에서의 해시 활용
개발자라면 해시 생성기를 다양한 상황에서 활용할 수 있습니다. API 테스트 시 요청 서명을 검증하거나, 캐시 키를 생성하거나, 파일 업로드 전 중복 체크를 할 때 유용합니다. 특히 디버깅할 때 "내가 계산한 해시가 맞는지" 빠르게 확인하는 용도로 좋습니다. 코드에서 계산한 값과 온라인 도구의 결과가 다르면 인코딩이나 입력 처리에 문제가 있다는 뜻이니까요.
해시 결과 비교 방법
두 해시값을 비교할 때는 대소문자를 통일해야 합니다. 일부 도구는 대문자로, 일부는 소문자로 출력합니다. 프로그래밍에서는 대소문자 무시 비교를 하거나, 양쪽 다 소문자로 변환 후 비교하는 게 안전합니다. 또한 해시 비교는 항상 상수 시간 비교 함수를 사용해야 타이밍 공격을 방지할 수 있습니다.