서브리소스 무결성(SRI)이란?
서브리소스 무결성(SRI)은 브라우저가 가져오는 파일(예: CDN에서)이 예기치 않게 수정되지 않았는지 확인할 수 있는 보안 기능입니다. 리소스의 암호화 해시를 HTML에서 제공하는 해시와 비교하여 작동합니다.
작동 방식:
- 리소스 파일의 암호화 해시 생성
- script 또는 link 태그의 integrity 속성에 해시 포함
- 브라우저가 리소스를 가져와서 해시 계산
- 브라우저가 계산된 해시와 제공된 해시 비교
- 해시가 일치하면 리소스 로드, 일치하지 않으면 로딩 차단
이점:
- 보안: 서드파티 리소스의 악의적인 수정으로부터 보호
- CDN 보호: CDN에서 제공하는 파일이 변조되지 않았음을 보장
- 공급망 보안: 외부 종속성의 무결성 검증
- 브라우저 지원: 모던 브라우저에서 광범위하게 지원
지원되는 알고리즘:
- SHA-256 (권장 최소)
- SHA-384 (권장)
- SHA-512 (최고 보안)