Secure Credential Registration Guide (How to use the credential APIs) #1773
seokho-son
started this conversation in
Show and tell
Replies: 1 comment
-
@MZC-CSC POST /credential 를 웹에서 직접 호출하시는 시나리오를 고려하여, 크리덴셜 암호화 방식을 추가해두었습니다. (mc-iam과 별개로 추가적인 보안 체계) 일단 이해가 잘 되시는지, 내용 살펴봐주시면 감사하겠습니다. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Secure Credential Registration Guide (How to use the credential APIs)
개요
이 가이드는 클라이언트가 하이브리드 암호화(AES + RSA)를 사용해 안전하게 CSP API 사용을 위한
credentials
를 CB-Tumblebug 서버에 등록하는 방법을 설명한다.클라이언트는 CB-Tumblebug API를 통해 발급받은 RSA 공개 키를 사용해 자체 생성한 AES 키로
credentials
데이터를 암호화한 후 API를 통해 서버에 안전하게 전송한다. 이 과정에서 RSA는 4096비트 키를 사용하며, AES는 256비트 키를 사용해 데이터를 암호화한다.Credential 등록 관련 APIs
단계별 가이드
1. RSA 공개 키 발급
먼저, 서버에서 RSA 공개 키를 발급받는다. 이 공개 키는 클라이언트에서 생성할 AES 키를 암호화하는 데 사용한다.
발급받은 RSA 공개 키는 1회성 키이며, Credential 등록 작업이 완료되면 RSA 키 페어는 서버 측에서 삭제된다.
GET
/credential/publicKey
API 응답 예시
요청 코드 예시 (Python)
2. AES 키 생성 및 민감 데이터 암호화
클라이언트는 AES-256 키를 생성해 민감한
credentials
데이터의 값(value) 만 암호화한다.이 AES 키는 RSA 공개 키로 암호화되어 서버로 전송된다. AES 암호화는 CBC 모드를 사용하며, 패딩은 PKCS7로 처리해야 한다.
AES 기반 데이터 암호화 및 RSA 공개 키를 통한 AES 키 암호화 예시 코드 (Python 예시)
3. Credential 등록
암호화된 AES 키와 암호화된
credentials
의 값(value) 들을 서버에 전송해credentials
를 등록한다.이때, AES 키는 RSA 공개 키로 암호화된 상태로 전송되며, 서버에서 해당 AES 키를 복호화한 후 데이터를 처리한다.
POST
/credential
API 요청 Body
예시 요청 (Python)
Go 언어 예시
Node.js 예시
예시 출력
성공적으로 요청이 완료되면 다음과 같은 형식의 JSON 응답이 반환된다:
이 가이드를 따라 클라이언트에서 안전하게
credentials
를 등록할 수 있다.Beta Was this translation helpful? Give feedback.
All reactions