SET
- Secure Electronic Transction
- Visa, Master 카드사가 공동으로 개발
- 신용카드기반 전자지불 프로토콜
- 공개키 기반구조(PKI 기반)를 활용 (암호학적 프로토콜과 사용자 인증)
즉, 공개키기반 구조를 활용한 신용카드기반 전자지불 프로토콜
SET 주요 암호 기술
- 신용카드 정보와 결제정보의 노출방지 등 지불(결제) 메시지에 대한 암호화.
- 카드 소유자 인증
- 상점 인증
- 매입 은행 인증
- 주문정보, 결제정보 등 거래 정보의 무결성. (PKI 기반의 디지털 서명)
SET 구성 요소
CA (인증기관)
- 소비자, 상점, 지불중개기관, 금융기관의 인증서를 발급 및 관리
- 소비자와 상점간의 거래는 전자지갑과 Merchant 서버 프로그램을 이용하여 처리
- 신용카드 결제정보는 지불중개기관이 금융기관과 연동하여 처리
Customer (소비자 : 카드 소지자)
- 카드 발급자에 의해서 허가된 지불카드를 사용
카드 발급자
- 소비자의 계정을 만들어 주고 카드를 발급해주는 기관
Merchant (상점)
- 지불에 대한 대가로 상품과 서비스를 제공
금융기관 (은행, 신용카드사)
- 상점과 계정을 체결하고 카드 결제에 대한 신뢰성과 지불을 담당
Payment Gateway (지불중개기관)
- 금융기관에 의해 운영되는 장치
- 상점의 지불 메시지를 처리하는 제 3자
SET 특징
1. Dual Encryption (이중 암호)
- 소비자의 결제 정보와 주문정보를 분리하여 이중으로 암호화
(이중.Dual의 의미는 암호화를 두번 한다는 뜻이 아니라, 따로따로 각각 암호화한다는 의미임)
- 결제정보 : 계좌정보, 신용카드번호
- 주문정보 : 주문서, 송장 등
2. Certificate Issuance (인증서 기반)
- X.509 ver3 에 기반
- 거래 행위의 주체인 소비자와 상점간의 상호 확인
- PKI 기반 인증서를 이용한 소비자, 상점, Payment Gateway(지불중개기관)을 상호 인증
3. Digital Signature (디지털 서명)
- 결제 및 주문정보는 디지털 서명 기법을 적용하여 거래 당사자가 거래 내용에 대해 부인할 수 없도록 함
( 디지털 서명을 함으로서, 거래 당사자 부인봉쇄, 메시지 무결성 보장, PKI기반 인증서를 사용하기 때문에 법적 효력
발생 : PKI기반 인증서는 국가가 인정한 인증서이고 모든 사람들이 무조건적으로 신뢰하기 때문에 법적 효력을 갖음.)
- Digital Signature 및 해쉬함수 사용
SET 인증서발급 프로세스
- 소비자는 인증기관에 인증서 발급을 요청하고, 인증기관은 소비자에게 인증서를 발급
- 상점은 인증기관에 인증서 발급을 요청하고, 인증기관은 상점에게 인증서를 발급
SET 결제 프로세스
1. 소비자는 진짜 상점인지 확인차 상점의 인증서를 요청.
- 상점은 자신의 공개키가 담겨있는 상점의 인증서와 신용카드 결제를 도와주는 중개기관의 인증서( 물론 중개기관의
공개키가 들어있음 )를 보내줌
2. 상점, 중개기관의 인증서를 받은 소비자는 주문정보(주문서)는 상점의 공개키로 암호화하고 결제정보(카드번호)는 중
개기관의 공개키로 암호화하여 상점에게 전송. SET의 특징 : Dual Encryption
- 상점의 공개키로 암호화된 주문정보(주문서)를 상점으로 전송
- 상점은 중개기관의 공개키로 암호화된 결제정보(카드번호)를 중개기관으로 전송
3. 자신의 공개키로 암호화된 결제정보(카드정보)를 받은 중개기관은 자신의 개인키로 소비자의 결제정보(카드정보)를
확인하여 금융망을 이용하여 신용카드회사(승인기관)으로 전송
- 중개기관은 승인기관에서 승인하면, 그 결과를 상점에게 전송.
- 상점은 전달받은 결과를 기반으로 소비자에게 카드 승인 결과(결제완료)를 전송.
SET 소비자 상점 간 암호처리
소비자 A의 암호화
1. 소비자 A는 주문정보를 해쉬하여 나온 해쉬값을 자신(A)의 개인키로 암호화하여 서명을 생성
2. 주문정보, 서명, 소비자 A의 인증서를 XML형태로 태깅하여 하나의 파일로 만들고, 대칭키로 암호화하여 암호문 생성
- 만들어진 A의 서명을 검증하려면 A의 공개키가 필요하기 때문에, A의 인증서(A의 공개키가 포함) 를 보내주는 것.
- 사용한 대칭키는 상점 B도 알아야 복호화할 수 있기 때문에, 상점 B의 공개키(B의 인증서에 포함) 로 암호화하여
암호문 키 파일을 생성
3. 대칭키로 암호화된 암호문 문서와 암호문 키 파일을 상점 B에게 전송
상점 B의 복호화
4. 암호문 문서와 암호문 키 파일을 전송받은 상점 B는 자신의 개인키로 암호문 키 파일을 복호화하여 대칭키를 획득
5. 획득한 대칭키로 암호문 문서를 복호화하여 주문정보, A의 서명, 소비자 A의 인증서를 획득.
6. A의 인증서에 포함되있는 A의 공개키로 A의 서명을 복호화하여 A에서 해쉬했던 주문정보에 대한 해쉬값을 획득.
또한, A의 서명은 A가 작성한것임에 틀림없다라는 서명 검증을할 수 있음.
7. 획득한 해쉬값과 암호문 문서에 포함되있던 주문정보를 해쉬한 해쉬값을 비교하여 결제정보에 대한 무결성을 검증.
'Cyrpto > ECSEC' 카테고리의 다른 글
[전자상거래] 전자화폐 요구사항 (0) | 2021.12.17 |
---|---|
[전자상거래] 전자화폐 (0) | 2021.12.10 |
[전자상거래] 신용카드 기반 전자 지불 시스템 (0) | 2021.12.01 |
[전자상거래] S/MIME (0) | 2021.12.01 |
[전자상거래] PGP - 키 링 (0) | 2021.11.30 |