전자 지불 시스템 : 신용카드 결제 / 전자 화폐
전자 지급 거래
선불형 : 전자 화폐 / 선불카드
직불형 : 전자 자금 이체, 직불 카드
후불형 : 신용카드. 휴대폰 소액 결제, 전자 채권
신용카드 방식이 가장 흔하게 사용됨
신용카드 번호를 판매자에게 제공하면 신용카드사들로부터 지급 받고 신용 카드사가 구매자에게 청구하는 형식
사용자가 제공하는 신용카드의 정보가 올바른지, 상품을 지급했는지 등을 확인하기 위한 제도가 존재해야한다
-> 결제 대금 예치 제도
전자 자금 결제 대행 업체(PG : Payment Gateway) ex KG 이니시스 등
온라인 신용카드 결제
국내 전자 지불 시스템
지불 게이트웨이 방식 : 쇼핑몰에서 구매가 이루어지면 쇼핑몰로부터 결제 정보를 받아 은행이나 카드 회사에 연결해 거래 승일을 받는 시스템 혹은 대행 회사 -> 거래 및 승인 정보 중계, 정산 대행
KG 이니시스의 경우
국가 표준 SEED 128bit키로 데이터를 암호화하고,
거래 정보 및 거래 결과의 위조 불가능성을 위해 RSA 전자 서명을 사용한다.
간편 결제 시스템
- 모바일 단말기 사용자 증가
- 삼성 pay, 카카오 pay, Npay 등 존재
- 지문 또는 비밀번호로 사용자 인증 -> 공인인증서 사용 안함
기존 신용카드 결제 : 공인인증서가 필요했음
현재는 모바일 기기와 사람이 일대일 대응하기 때문에 이를 통해 사용자 인증을 할 수 있다. - 결제 : 등록된 신용카드 및 계좌로 결제 / 휴대폰 결제 / 충전 포인트 결제
- 이체 : 등록된 계좌에서 이체 대행
- 환전 기능 등 제공
- 추가 기능 : 모바일 단말기 직접 결제 / 계좌 연계 등
전자상거래 - 신용카드 결제
SET (Secure Electronic Protocol)
1996년 비자와 마스터에 의해 개발
구성
- 카드 사용자 : 신용카드를 소지한 사람, SET에 이용되는 인증서를 보유
- 상점 : 인터넷 쇼핑몰을 운영, SET을 이용하여 상품을 판매
- 지불 게이트웨이 (PG) : 기존의 신용카드 지불 방식, 은행과 거래 내역을 상호 호환
- 신용카드 회사 : 사용자에게 신용카드를 발급, CA를 운영하여 사용자에게 인증서 발급
- 은행 : 상점의 계좌 개설, 지불 게이트웨이 운영, CA를 운영하며 상점에 인증서 발급
- 인증 기관 : Root CA, SET에 참여하는 모든 구성원의 정당성 보장
기능
- 정보의 기밀성 : 결제 및 지불 정보의 암호화
- 데이터 무결성 : 구매 정보 및 결제 정보가 위변조 되지 않았음을 검증
- 사용자 인증 : 사용자 카드 및 계좌의 유효성 인증
- 판매자 인증 : 판매자 계좌 유효성 인증
정보의 공유
불필요한 정보를 노출시키지 말자
사용자 <-> 상점 : 주문 정보만 필요함
-> 사용자의 지불 정보는 불필요 (사용자의 신용카드 정보, 거래 은행, 계좌 정보 등)
상점 <-> 은행 : 결제 대금만 알면 됨
-> 은행은 구매자의 구매 정보는 불필요
즉, 상점은 사용자의 지불 정보를 모르고, 은행은 사용자의 구매 내역을 모르도록 해야한다.
그러면, 은행은 사용자의 구매 내역을 모르면서 은행은 상점의 결제 대금이 정확한지 인증할 수 있을까?
=> PG가 대금이 지급되도록 암호화 프로토콜을 만들어야한다
이중 해시
- 구매 (주문)정보와 지불 정보 분리
- 각 정보를 해시한 후
- 해시된 두 정보를 합하여 다시 해시한 결과에 서명
암호화 한 후, 맨 마지막은 사용자가 전자서명을 생성하는 것이다
기존 전자서명과 다르다
기존에는 H(구매 + 지불), 개인키로 전자 서명을 한다.
이 서명을 검증하기 위해서는 구매정보와 지불정보를 알아야한다.
따라서 각각 해시 시킨 후 붙이고 이걸 다시 해시시킨다
내가 알고있는 정보를 보여주지 않으면서 이 정보가 맞다고 확인시키는 기술이 들어간다.
상점에 지불 정보 감추기 => 전자 봉투 사용
사용자 : 구매 + 지불 -> 전자 서명 생성
지불 정보는 은행에 전달 되어야함
사용자 -> 상점 : 모든 정보 제공
상점 -> 은행 : 지불 정보 제공
이때, 상점은 지불 정보를 알지 못해야함
- 비밀키 생성
- 사용자가 하나의 비밀키 (대칭키)를 생성 : SK
- 비밀키를 사용해 지불 정보를 암호화 : E(SK, 지불정보)
- 비밀키는 은행이 운영하는 지불 게이트웨이의 공개키로 암호화 : PKE(은행 공개키, SK) -> 은행으로 전달되면 복호화 가능
결제를 위해 상점으로 데이터 전송
- 구매 정보 (상점에게 노출되어도 상관 없음)
- 암호화된 지불 정보 (상점에게 노출되면 안됨)
- 암호화된 비밀키 (은행만 복호화 가능)
- 사용자의 전자서명 (H(H(구매정보)+H(지불정보))
- H(구매정보) + H(지불정보) -> 서명을 확인하기 위함
이러면 지불 정보를 알지는 못하지만 서명을 검증할 수 있게 ㅚㄴ다.
상점에서 구매정보 확인
- 사용자의 구매 정보에 대한 해시 계산
- 카드 사용자가 보내온 해시 값 중에서 구매 정보에 대한 해시를 상점이 계산한 것으로 대체
- 새로운 이중 해시 계산
- 사용자가 전자서명한 해시값과 비교
- 카드 사용자가 보내온 구매 정보가 그 카드사용자의 것인지 확인
- 구매 정보가 변조되지 않았는지 확인
상점에서 지불 게이트웨이로 지불 정보 전송
구매 정보를 확인한 후 구매정보가 맞으면 전송하는 값들
- 암호화된 지불 정보
- 암호화된 비밀키
- H(구매정보) + H(지불정보)
- 전자서명
지불 게이트웨이의 지불 정보의 확인
- 자신의 개인키로 비밀키 복호화
- 지불 정보를 확인
- 지불 정보에 대한 해시 계산
- 사용자가 보낸 해시 쌍 중에서 지불 정보 부분 대체
- 이중 해시 재계산
- 사용자가 전자서명한 해시값과 비교
- 지불 정보가정확하면 상점에 대금 입금
전자 화폐
- David Chaum에 의해 최초로 전자 화폐 개념 도입
- 독립적인 신용 구조를 갖는 온라인 상의 현금 : 현금의 익명성과 양도성을 보장
- 실제 현실 세계의 돈을 비트로 표현하고자 함
가상 화폐 혹은 암호 화폐 | Cryptocurrency
- satoshi Naksmoto에 의해 개발된 암호 화폐
- 제 3의 중앙 신뢰 기관 없이 완전히 분산된 구조로 화폐의 안전성 보장
- 1900년대에는 비트 정보가 실제 돈 처럼 사용됨
- 2000년대에 제안된 비트코인은 돈이 오고가는 것이 아니라, 거래 내역을 가지고 있는 것
분류
- IC카드형 전자화폐 : VisaCash, 선불카드, 교통카드, 기프트카드
- 네트워크형 전자화폐 : e-cash, Net-cash
- 가상화폐 (암호화폐) : Bitcoin
'Hacking > Cryptography' 카테고리의 다른 글
암호 프로토콜 활용 (1) | 2024.12.16 |
---|---|
Bitcoin (0) | 2024.12.16 |
공개키 기반 구조(PKI) (1) | 2024.12.15 |
전자서명 (1) | 2024.12.15 |
[Key Exchange] Diffie-Hellman (0) | 2024.12.15 |