결제위젯 clientKey, secretKey 보안 관련 문의
안녕하세요. 결제위젯 연동 과정에서 사용하는 clientKey, secretKey의 보안 관련 문의드립니다.
프론트에서 clientKey, secretKey를 갖고 있으면 브라우저의 개발자도구를 통해 추적이 가능할 것으로 예상되어서 해당 키들을 서버 쪽에서 관리하고자 합니다. 해당 키들을 서버에서 관리한다고 하면 저희 프로젝트가 csr로 구현되어 있어서 결제위젯이 붙는 페이지만 ssr로 내려주거나 해당 키들을 주고 받는 api의 body를 암호화 / 복호화, 또는 쿠키를 활용해서 서버와 클라이언트 사이에서 키를 주고받고자 했는데요.
이와 별개로 한 가지 문제를 찾았습니다. 토스페이먼츠에서 제공해주신 가이드에 따라 프론트에서 결제위젯의 결제 요청(인증) 후 생성된 결제 데이터를 기반으로 결제 승인 api를 요청할 때 결제 승인 api의 헤더 - Authorization에 secretKey가 포함되어 있기 때문에 브라우저의 개발자도구를 통해 노출되는 문제가 있습니다. 이렇게 노출되어도 괜찮은걸까요? clientKey, secretKey의 보안 측면에서 보관 가이드가 궁금합니다.
프론트에서 clientKey, secretKey를 갖고 있으면 브라우저의 개발자도구를 통해 추적이 가능할 것으로 예상되어서 해당 키들을 서버 쪽에서 관리하고자 합니다. 해당 키들을 서버에서 관리한다고 하면 저희 프로젝트가 csr로 구현되어 있어서 결제위젯이 붙는 페이지만 ssr로 내려주거나 해당 키들을 주고 받는 api의 body를 암호화 / 복호화, 또는 쿠키를 활용해서 서버와 클라이언트 사이에서 키를 주고받고자 했는데요.
이와 별개로 한 가지 문제를 찾았습니다. 토스페이먼츠에서 제공해주신 가이드에 따라 프론트에서 결제위젯의 결제 요청(인증) 후 생성된 결제 데이터를 기반으로 결제 승인 api를 요청할 때 결제 승인 api의 헤더 - Authorization에 secretKey가 포함되어 있기 때문에 브라우저의 개발자도구를 통해 노출되는 문제가 있습니다. 이렇게 노출되어도 괜찮은걸까요? clientKey, secretKey의 보안 측면에서 보관 가이드가 궁금합니다.
