<aside> 💡 이 템플릿은 프로젝트의 보안 요구사항과 구현을 설명합니다.

</aside>

통행증 보안

보안 통행증

여행 비서 페이몬은 챗봇 사용자로부터 호요버스 API 호출 권한을 위임받기 위해, 그들의 통행증 인증 쿠키 값 3개를 획득해야 한다.

값들을 챗봇과 채팅하면서 순차적으로 입력하도록 한다면 유저가 피로할 뿐만 아니라, 인증 정보를 플레인 텍스트로 전송하게 되므로 안전하지 못하다.

따라서 인증 정보들은 특정 RSA 키로 서명한 후 QR 코드화하여 시스템에 스캔 전송하도록 한다. 이 QR 코드를 보안 통행증이라 한다.

보안 통행증 생성 흐름

Untitled

보안 통행증 QR 생성기

  1. ltuid, ltoken, cookie_token을 콜론 접합한다.
  2. 1을 AWS SSM에서 다운로드한 RSA 퍼블릭 키로 서명한다.
  3. 2에서 생성된 바이너리 스트림을 Base64 인코딩한다.
  4. 3을 QR 코드화하면 보안 통행증 QR이 완성된다.

RSA 공개키&사설키 쌍

통행증은 RSA 공개키로 서명하여 암호화해서 보안 통행증이 된다. 대응하는 RSA 사설키는 보안 통행증을 원래의 정보로 복호화한다.

RSA 키 쌍은 AWS SSM의 파라미터 저장소에 다음과 같은 이름으로 보관하고 있으며, 응용들은 SSM 클라이언트를 사용해 해당 키들을 얻어 보안 작업에 사용한다.

@Deprecated AWS API Gateway 보안