기기 바운드 세션 사용자 인증 정보 (DBSC)는 하드웨어 지원 세션 보안을 추가하여 인증을 강화합니다.
소개
많은 웹사이트에서 사용자 인증을 위해 수명이 긴 쿠키를 사용하지만 이러한 쿠키는 세션 하이재킹에 취약합니다. 기기 바운드 세션 사용자 인증 정보 (DBSC)는 이러한 위험을 완화하기 위해 하드웨어 지원 보안 레이어를 추가하여 세션이 특정 기기에 바인딩되도록 합니다.
이 가이드는 웹 애플리케이션에서 인증 흐름을 유지하는 개발자를 대상으로 합니다. DBSC의 작동 방식과 사이트에 통합하는 방법을 설명합니다.
DBSC 작동 방식
개략적으로 DBSC는 사용자의 기기와 연결된 암호화 키 쌍을 도입합니다. Chrome은 로그인 중에 이 키 쌍을 생성하고, 사용 가능한 경우 신뢰할 수 있는 플랫폼 모듈 (TPM)과 같은 보안 하드웨어에 비공개 키를 저장합니다. 세션은 단기 쿠키를 사용합니다. 이러한 쿠키 중 하나가 만료되면 Chrome은 쿠키를 새로고침하기 전에 비공개 키의 소유권을 증명합니다. 이 프로세스는 세션 연속성을 원래 기기에 연결합니다.
사용자의 기기가 보안 키 저장소를 지원하지 않는 경우 DBSC는 인증 흐름을 중단하지 않고 정상적으로 표준 동작으로 대체됩니다.
구현 개요
애플리케이션에 DBSC를 통합하려면 다음 변경사항을 적용해야 합니다.
Secure-Session-Registration헤더를 포함하도록 로그인 흐름을 수정합니다.- 다음을 충족하는 세션 등록 엔드포인트를 추가합니다.
- 공개 키를 사용자의 세션과 연결합니다.
- 세션 구성을 제공합니다.
- 단기 쿠키로 전환됩니다.
- 쿠키 갱신 및 키 소유권 확인을 처리하는 새로고침 엔드포인트 추가
기존 엔드포인트 대부분은 변경할 필요가 없습니다. DBSC는 추가적이고 방해가 되지 않도록 설계되었습니다.
필수 단기 쿠키가 누락되거나 만료되면 Chrome은 요청을 일시중지하고 쿠키를 새로고침하려고 시도합니다. 이렇게 하면 앱에서 일반적인 세션 쿠키 확인을 계속 사용하여 사용자가 로그인되어 있는지 확인할 수 있습니다. 이는 일반적인 인증 흐름과 일치하므로 로그인 로직을 최소한으로 변경하여 DBSC를 사용할 수 있습니다.
구현 단계
이 섹션에서는 로그인 흐름을 수정하고, 세션 등록을 처리하고, 수명이 짧은 쿠키 새로고침을 관리하는 방법 등 인증 시스템에 필요한 변경사항을 설명합니다. 각 단계는 기존 인프라와 원활하게 통합되도록 설계되었습니다.
구현 단계는 로그인 시 등록 후 정기적인 단기 쿠키 새로고침이 이어지는 로그인한 사용자가 DBSC가 활성 상태일 때 경험하는 일반적인 흐름을 따릅니다. 앱의 세션 민감도 수준에 따라 각 단계를 독립적으로 테스트하고 구현할 수 있습니다.