IT 그리고 정보보안/Knowledge base

DS (Dual Signature) / SET (Secure Electronic Transactions)

plummmm 2021. 4. 19. 07:47
반응형

SET 프로토콜에 먼저 대해 알아보자.  

 

SET (Secure Electronic Transactions)

SET은 한국말로 하면 "안전한 전자 거래" 를 뜻한다.

신용카드를 이용한 인터넷 거래에서 암호화, 보안을 위해 VISA/MasterCard 사가 1996년에 

공동 제작한 카드 결제 전용 보안 프로토콜이다.

X.509v3 인증서를 기반으로한 신뢰 모델이고 프라이버시를 반드시 보장한다.

 

SET 프로토콜의 몇가지 특징이 있다.

1. 정보의 기밀성 : DES 암호를 사용하고 카드 소지자의 신용카드 번호를 판매자가 알지 못하도록 한다.

2. 데이터의 무결성 : 디지털 서명을 이용하여 무결성을 보장한다.

3. 카드소지자의 계좌 인증 : RSA 서명된 X.509v3 인증서에 기반한 인증을 한다.

4. 판매자 인증 RSA 서명된 X.509v3 인증서에 기반한 인증을 한다.

 

 

SET에는 위와 같이 여러가지 구성 요소들의 존재한다.

카드 소지자 (Cardholder) : 고객을 말한다.

카드 발급사 (Issuer) : 카드를 발급해주거나 고객의 카드 계좌가 등록된 금융 기관 즉, 카드 회사

인증기관(Certificate authority) : 인증서를 발급하는 인증기관

온라인 상점 (Merchant) : 상인, 거래에서 판매자

매입사 (Acquirer) : 판매자의 계좌가 계설된 기관, 판매자의 가맹점 승인 기관 등

지급정보 중계기관(Payment Gateway) : 판매자가 요청한 고객의 지불 정보를 가지고 금융기관에 결제요청 하는 곳.

 

SET의 거래 과정은 아래와 같다.

1. 고객은 인증을 받을 계좌를 오픈한다.

2. 판매자는 인증서를 갖고 있다.

3. 고객이 주문한다.

4. 판매자는 주문서와 증명서를 고객에게 보낸다. (고객은 판매자를 확인한다.)

5. 고객은 결제정보를 자신의 증명서와 같이 보낸다. (판매자가 못보도록 암호화 되어 있다.)

6. 판매자는 결제 인증을 지급정보 중계기관에 요청한다. (지급정보 중계기관에서 고객 카드의 유효성 체크?)

7. 판매자는 고객이 구매한 물품을 전달한다.

8. 판매자는 지급정보 중계기관에 결제를 요청한다.

 

SET의 장단점을 알아보자.

* 장점

- 전자거래의 사기를 방지

- 기존 신용카드 기반 그대로 활용

- SSL의 단점인 상인에게 지불정보 노출을 해결함.

 

* 단점

- 암호 프로토콜이 너무 복잡하다.

- RSA 동작은 속도 저하를 야기한다.

- 카드 소지자 / 상점에게 S/W 설치를 요구한다.

 

다음은 DS(Dual Signature)에 대해 알아보자.

 

DS (Dual Signature)

SET에서 고객의 결제정보가 판매자에게 노출 될 가능성 / 주문정보가 결제기관에게 노출 될 가능성이 농후하다.

양쪽 중 하나가 마음먹고 변조한다면 굉장히 취약할 수 있다.

 

고객은 OI (Order Info, 주문 정보) 와 PI (Payment Info, 결제 정보)를 무조건 보내야 하니까 위에서 말했듯이

보안적으로 취약하다고 볼 수 있다. 그래서 나온 것이 DS, 이중 서명이다.

 

PI는 merchant에게, OI는 bank에게 숨겨져야 한다. 다만 OI 와 PI 는 연결이 되어 있어야 한다.

 

 

 

DS의 과정은 위와 같다.

1. PI 와 OI를 각각 hash 함수를 돌려 160비트 짜리 PIMD, OIMD (PI Message Digest, OI Message Digest)를 생성 

2. PIMD와 OIMD를 합쳐서 또 hash를 돌려서 POMD 라는 메세지 다이제스트를 생성

3. POMD에 고객의 개인키로 전자 서명을 한다. --> DS

 

H(PI) = PIMD

H{OI) = OIMD

H(PIMD || OIMD) = POMD

POMD KRc로 암호화  = DS

 

이정도로 개념을 이해하고 있으면 될 것 같다.

판매자는 DS와 OI 그리고 PIMD를 받아 H[PIMD || H(OI)] 를 하여 DS와 값이 일치하는지 확인한다.

결제기관에서는 DS와 PI 그리고 OIMD를 받아 H[OIMD || H(PI)] 를 하여 DS와 값이 일치하는지 확인한다.

반응형