[정보보안]SET 이중서명(Dual Signature) 프로세스
정보보안기사 시험을 준비하고 있는데 SET(Secure Electronic Transaction) 이중서명(Dual Signature)을 이해하기 위해 동작순서를 Process Map으로 정리해 봤습니다. 이중서명을 설명하기에 앞서 해시 함수와 암호화에 대해 가볍게 이해하도록 하겠습니다.
- 해시 함수 (Hash Function):
일방향 함수로, 주어진 입력에 대해 고정된 크기의 출력 값을 생성합니다. 그 출력 값을 Message Digest(MD)라고 합니다. 주로 데이터의 무결성을 확인하거나 데이터를 식별하기 위해 사용됩니다. 해시 함수는 키가 아니라 단일 입력을 받아 고정된 길이의 해시 값을 출력합니다. - 암호화 (Encryption):
양방향 함수로, 주어진 입력을 암호화하여 출력 값을 생성하며, 그 역도 가능한 복호화를 수행할 수 있는 키가 필요합니다. 암호화에는 공개키 암호화와 대칭키 암호화 두 가지 주요 유형이 있습니다.
고객, 상점, PG(Payment Gateway) 관점에서 이중서명이 어떻게 작동하는지 살펴보도록 하겠습니다.
[고객]검증 정보 생성
- 고객의 전자서명 생성
- 구매정보에 Hash함수를 적용하여 B MD를 생성
- 결제정보에 Hash함수를 적용하여 P MD를 생성
- 생성된 B MD와 P MD를 접합(Concatenation)한 BP에 Hash함수를 적용하여 M MD를 생성
- M MD를 고객의 개인키로 암호화 → 전자서명
- PG에게 전해질 전자봉투 생성
- 대칭키를 램덤으로 생성하여 결제정보를 암호화 후
- 해당 대칭키를 PG의 공개키로 암호화 → 전자봉투
– 결제정보를 바로 PG의 공개키로 암호화하지 않는 이유는, 이 정보가 상점를 거쳐 PG사에게 전달되는데 상점도 PG의 공개키를 알 고 있으므로 이 정보를 다른 정보로 바꿔치기 할 수 있기 때문
- BP, 전자서명, 구매정보, 암호화된 결제정보, 전자봉투를 상점에게 전송
– 구매 정보는 암호화되지 않고 상점에게 전송됩니다.
– 결제정보는 암호화되었기 때문에 상점은 고객의 결제정보를 알 수가 없습니다.
[상점] 검증
- 상점는 구매정보에 고객과 동일 Hash함수를 적용하여 B` MD를 생성
- 상점는 BP 를 B`P로 대체 후, 동일 Hash함수를 적용하여 M` MD를 구함
- 상점는 전자서명을 고객의 공개키로 복호화하여 M MD를 추출
- 상점는 M MD와 M’ MD를 비교하여 동일한 경우 정당한 구매요청으로 간주하여 처리
- 상점는 BP, 전자서명, 암호화된 결제정보, 전자봉투를 PG(Payment Gateway)로 전송
– 구매정보는 전송되지 않으므로 PG는 고객의 구매정보를 알 수가 없습니다.
[PG(Payment Gateway)] 검증
- PG의 전자봉투 및 결제정보 복호화
- PG의 개인키로 전자봉투를 복호화하여 고객의 대칭키 추출
- 추출된 대칭키로 암호화된 결제정보 복호화
- PG의 고객 이중서명 확인 및 결제정보 확인
- PG는 결제정보에 동일한 Hash함수를 적용하여 P` MD를 생성
- PG는 BP 를 BP`로 대체한 후 동일한 Hash함수를 적용하여 M` MD를 구함
- PG는 전자서명을 고객의 공개키로 복호화하여 M MD를 추출
- PG는 M MD와 M` MD를 비교하여 동일한 경우 정당한 결제요청으로 간주하여 처리
함께 읽어보면 좋은 Contensts