SET (Secure Electronic Transaction) 상세 가이드
1. SET (Secure Electronic Transaction) 소개
SET는 안전한 전자 거래(Secure Electronic Transaction)의 약자로, 인터넷을 통한 신용카드 결제의 보안을 강화하기 위해 개발된 프로토콜입니다. 1990년대 후반 Visa와 Mastercard가 주도하여 만들었으며, 온라인 쇼핑이 급증하면서 발생할 수 있는 보안 위협에 대응하기 위해 설계되었습니다.
2. SET의 목적
SET의 주요 목적은 다음과 같습니다:
a) 기밀성(Confidentiality): 거래 정보를 암호화하여 제3자의 무단 접근을 방지합니다.
b) 무결성(Integrity): 전송 중 데이터 변조를 감지하고 방지합니다.
c) 인증(Authentication): 거래 당사자의 신원을 확실히 검증합니다.
d) 부인 방지(Non-repudiation): 거래 당사자가 나중에 거래 사실을 부인할 수 없도록 합니다.
e) 상호 운용성(Interoperability): 다양한 소프트웨어 플랫폼과 네트워크 시스템 간의 호환성을 보장합니다.
3. SET의 주요 구성요소
SET는 다음과 같은 주요 구성요소로 이루어져 있습니다:

a) 카드 소지자 (Cardholder): 온라인 구매를 하는 소비자입니다.
b) 판매자 (Merchant): 상품이나 서비스를 판매하는 온라인 상점입니다.
c) 발행 은행 (Issuer): 카드 소지자에게 신용카드를 발급한 금융 기관입니다.
d) 가맹점 은행 (Acquirer): 판매자와 계약을 맺고 카드 결제를 처리하는 은행입니다.
e) 결제 게이트웨이 (Payment Gateway): 판매자와 금융 네트워크 사이에서 결제 정보를 중계합니다.
f) 인증 기관 (Certificate Authority): 디지털 인증서를 발급하고 관리하는 신뢰할 수 있는 제3자 기관입니다.
4. SET의 상세 동작 방식
SET의 동작 과정을 더 자세히 설명하겠습니다:

1) 구매 시작 (Purchase Initiation): 
- 카드 소지자가 온라인 상점에서 상품을 선택하고 결제를 시작합니다.
 
- 이 단계에서 카드 소지자의 브라우저는 SET 소프트웨어를 활성화합니다.
 
2) 주문 정보 생성 (Order Information): 
- 판매자는 주문 번호, 금액, 날짜 등이 포함된 주문 정보를 생성합니다.
 
- 이 정보는 디지털 서명되어 무결성이 보장됩니다.
 
3) 카드 소지자 인증 (Cardholder Authentication):
- 카드 소지자는 자신의 디지털 인증서를 사용하여 신원을 증명합니다.
 
- 이 과정에서 공개키 암호화 기술이 사용됩니다.
 
4) 결제 정보 전송 (Payment Information):
- 카드 소지자의 지불 정보(카드 번호 등)와 주문 정보가 별도로 암호화됩니다.
 
- 카드 정보는 판매자가 볼 수 없도록 이중 암호화됩니다.
 
5) 결제 승인 요청 (Payment Authorization):
- 결제 게이트웨이는 암호화된 결제 정보를 복호화하고 발행 은행에 승인을 요청합니다.
 
- 이 과정은 기존의 금융 네트워크를 통해 이루어집니다.
 
6) 결제 승인 (Payment Confirmation):
- 발행 은행은 카드 소지자의 계좌 상태를 확인하고 결제를 승인합니다.
 
- 승인 결과는 다시 결제 게이트웨이를 통해 전달됩니다.
 
7) 거래 완료 (Transaction Completion):
- 승인 결과가 판매자와 카드 소지자에게 전달됩니다.
 
- 판매자는 상품 배송을 시작하고, 카드 소지자는 구매 확인을 받습니다.
 
5. SET의 주요 보안 원리
SET는 다음과 같은 고급 보안 기술을 활용합니다:
a) 공개키 암호화 (Public Key Encryption): 
- 비대칭 암호화 방식으로, 공개키와 개인키 쌍을 사용합니다.
 
- 주로 디지털 서명과 키 교환에 사용됩니다.
 
b) 대칭키 암호화 (Symmetric Key Encryption): 
- 동일한 키로 암호화와 복호화를 수행합니다.
 
- 대량의 데이터를 빠르게 암호화하는 데 사용됩니다.
 
c) 디지털 서명 (Digital Signature): 
- 문서의 진위성과 무결성을 보장합니다.
 
- 송신자의 개인키로 생성되고 공개키로 검증됩니다.
 
d) 디지털 인증서 (Digital Certificate): 
- 인증 기관이 발행한 전자 신분증 역할을 합니다.
 
- 공개키의 소유자 정보와 유효기간 등을 포함합니다.
 
e) 이중 서명 (Dual Signature):
- SET의 고유한 기능으로, 주문 정보와 지불 정보를 연결하면서도 분리합니다.
 
- 판매자는 주문 정보만, 은행은 지불 정보만 볼 수 있게 합니다.
 
6. SET 데이터 암호화
SET 프로토콜에서 데이터 암호화는 기밀성, 무결성, 인증, 부인 방지 등의 보안 목표를 달성하기 위해 핵심적인 역할을 합니다. SET 데이터 암호화는 주로 공개키 암호화, 대칭키 암호화, 이중 서명 방식을 사용하여 이루어집니다.
6.1 데이터 암호화의 종류
6.1.1 공개키 암호화 (Public Key Encryption)
- 역할: 송신자와 수신자가 서로의 공개키와 개인키를 사용하여 데이터를 안전하게 주고받을 수 있도록 합니다.
 
- 사용 시점: 카드 소지자 인증, 결제 정보 전송 시 사용됩니다.
 
- 과정:
- 송신자는 수신자의 공개키로 데이터를 암호화합니다.
 
- 수신자는 자신의 개인키로 암호화된 데이터를 복호화합니다.
 
 
6.1.2 대칭키 암호화 (Symmetric Key Encryption)
- 역할: 동일한 키를 사용하여 데이터를 암호화하고 복호화합니다. 대량의 데이터를 빠르게 처리할 수 있는 장점이 있습니다.
 
- 사용 시점: 주문 정보 생성, 결제 정보 전송 시 사용됩니다.
 
- 과정:
- 송신자와 수신자는 사전에 공유된 대칭키를 사용하여 데이터를 암호화하고 복호화합니다.
 
 
6.2 디지털 서명과 인증
6.2.1 디지털 서명 (Digital Signature)
- 역할: 문서나 메시지의 무결성과 진위성을 보장합니다.
 
- 사용 시점: 주문 정보 생성, 카드 소지자 인증 시 사용됩니다.
 
- 과정:
- 송신자는 자신의 개인키로 문서에 디지털 서명을 합니다.
 
- 수신자는 송신자의 공개키로 서명의 진위를 검증합니다.
 
 
6.2.2 디지털 인증서 (Digital Certificate)
- 역할: 인증 기관이 발행한 디지털 서명된 전자 신분증으로, 공개키 소유자의 신원을 확인합니다.
 
- 사용 시점: 카드 소지자 인증, 결제 승인 요청 시 사용됩니다.
 
- 과정:
- 인증 기관은 사용자에게 공개키와 함께 디지털 인증서를 발급합니다.
 
- 거래 당사자들은 디지털 인증서를 사용하여 상대방의 신원을 확인합니다.
 
 
6.3 이중 서명 (Dual Signature)
- 역할: 주문 정보와 결제 정보를 연결하면서도 각각의 기밀성을 유지합니다.
 
- 사용 시점: 결제 정보 전송 시 사용됩니다.
 
- 과정:
- 카드 소지자는 주문 정보와 결제 정보를 각각 해시 함수로 변환하여 해시값을 생성합니다.
 
- 두 해시값을 결합한 후 자신의 개인키로 이중 서명을 생성합니다.
 
- 판매자와 은행은 각자의 공개키로 이중 서명을 검증하고, 필요한 정보만 접근합니다.
 
 
6.4 암호화 데이터의 전송 과정
- 
카드 소지자 인증 및 주문 정보 생성:
- 카드 소지자는 자신의 디지털 인증서를 사용하여 판매자에게 인증을 수행합니다.
 
- 판매자는 주문 정보를 생성하고, 이를 카드 소지자의 공개키로 암호화합니다.
 
 
- 
결제 정보 전송:
- 카드 소지자는 결제 정보를 발행 은행의 공개키로 암호화합니다.
 
- 결제 정보와 주문 정보의 이중 서명을 생성하여 판매자에게 전송합니다.
 
 
- 
결제 승인 요청:
- 판매자는 결제 게이트웨이에 암호화된 결제 정보를 전송합니다.
 
- 결제 게이트웨이는 발행 은행에 결제 승인 요청을 합니다.
 
 
- 
결제 승인 및 완료:
- 발행 은행은 결제 정보를 복호화하여 승인 여부를 결정합니다.
 
- 승인 결과는 결제 게이트웨이를 통해 판매자와 카드 소지자에게 전달됩니다.
 
 
7. SET의 장단점
장점 (Advantages)
- 높은 보안성: 다층적 암호화로 데이터를 보호합니다.
 
- 상호 인증: 모든 거래 당사자의 신원을 확실히 검증합니다.
 
- 정보 분리: 판매자와 금융기관이 꼭 필요한 정보만 접근할 수 있습니다.
 
- 국제 표준: 글로벌 전자상거래에 적용 가능한 표준 프로토콜입니다.
 
단점 (Disadvantages)
- 구현의 복잡성: 설치와 유지보수가 기술적으로 복잡합니다.
 
- 높은 비용: 인증서 발급과 시스템 구축에 상당한 비용이 듭니다.
 
- 사용자 불편: 카드 소지자도 디지털 인증서를 발급받아야 하는 번거로움이 있습니다.
 
- 채택률 저조: 복잡성과 비용 때문에 광범위하게 채택되지 못했습니다.
 
8. 이중서명
- 기술적인 정의는 주문정보의 메시지 다이제스트와 지불정보의 메시지 다이제스트를 구하고, 두 정보의 메시지 다이제스트를 합하여 생성된 새로운 메시지의 메시지 다이제스트를 구한 후, 고객의 서명용 개인키로 암호화한 것 또는 그 행위라고 할 수 있다. 주문정보와 지불정보 각각에는 이중서명과 함께 상대편 정보의 메시지 다이제스트가 포함되어 있다. 따라서 이 정보를 받은 Merchant 또는 Payment Gateway는 자신이 받은 정보의 메시지 다이제스트를 구한 것과 상대편 정보의 메시지 다이제스트를 합하여 메시지 다이제스트를 다시 구한 후, 이중서명을 고객의 서명용 공개키로 푼 것과 비교함으로써 두 개의 정보가 연결되었음을 확인할 수 있다. https://jjum.com/bbs/board.php?bo_table=ec_pilki_k&wr_id=63