목표
1. 전자 서명에 대해서 이해함
2. 전자 봉투에 대해서 이해함
3. 신용카드 처리에 대해서 이해함
전자서명
- 계약을 할 때 사용하는 인감도장은 동사묻소 등과 같은 공공기관에 등록하여 공증을 받은 것으로, 계약서 등의 날인에 사용함.
- 인감도장의 역할을 하는 것이 전자서명이고, 이 전자서명이 공인 인증기관에 등록되고 검증되어 사용되는 것
생성
- 원본의 해시값을 구한 뒤 부인방지 기능을 부여하기 위해 공개키 방법을 사용함.
ex) 철수가 영희에게 편지를 보낼 때, 편지의 해시값을 구한 후 자신의 사설키로 암호화하여 보냄
영희는 철수의 공개키를 이용하여 암호회된 해시값을 복호화하고, 원본 문서를 해시한 값과 비교함
(복호화한 해시값과 전달된 편지에서 구한 해시값이 일치하면 편지가 철수로부터 온 것이 맞고, 위조되지 않았음을 확신)
제공하는 기능
- 위조 불가(Unforgeable)
: 서명자만이 서명문을 생성할 수 있음
- 인증(Authentication)
: 서명문의 서명자를 확인할 수 있음
- 재사용 불가(Not Reusable)
: 서명문의 해시값을 전자서명에 이용하므로, 한 번 생성된 서명을 다른 문서의 서명으로 사용할 수 없음
- 변경 불가(unalterable)
: 서명된 문서는 내용을 변경할 수 없기 때문에 데이터가 변조되지 않았음을 보장하는 무결성(Integrity)을 만족함
- 부인 방지(Non Repudiation) : 서명자가 서명 사실을 부인할 수 없음
- 미국에는 1994년 만들어진 DSA(Digital Signature Algorithm)를 사용하는 DSS(Digital Signature Standard)가 있음
- DSA는 슈노어와 엘가말의 알고리즘을 기반으로 하며, 서명 생성이나 암호키 생성에서는 SHA-1을 이용함.
국내의 전자서명
- 1996년 개발된 KCDSA(Korea Certifice-based Digital Signature Algorithm)가 있음. 전자서명법에 따르면, 전자서명은 인터넷을 통해 전자 문서를 교환할 때 일반 문서에서 쓰이는 인감 도장과 법적으로 동일한 효력을 지님.
전자봉투
: 전달하고자 하는 메시지를 암호화하여 한 사람을 통해서 보내고, 암호화 키는 또다른 사람을 통해 보내는 것을 암호학적으로 구현한 것.
- 전자서명으로 인한 기밀성, 무결성, 부인방지 기능을 모두 지원함.
ex)
- 철수가 전자봉투를 사용하기 위해 전자서명을 생성하고, 전자서명과 원문, 자신의 공캐키가 들어있는 인증서를 비밀키(DES, 알고리즘에 사용되는 대칭키)를 사용하여 암호화.
- 인증서를 암호화한 비밀키를 영희의 공개키로 암호화. (전자봉투)
- 철수는 최종적으로 비밀키로 암호화한 결과(전자서명 세트)와 비밀키가 암호화 된 전자봉투를 영희에게 보냄.
복호화
- 전자봉투를 영희의 사설키로 복호화하여 비밀키를 획득함
- 비밀키로 전자서명 세트(전자서명, 철수의 공개키가 있는 인증서, 문서)를 복호화 함
- 철수의 공개키로 전자서명을 복호화하여 원문의 해시 결과와 비교하여 일치 여부를 확인함
전자상거래 - 신용카드 결제
SET (Secure Electronic Transaction) Protocol
: 1996년 비자(Visa)와 마스터(Master) 카드 회사의 합의에 의해 만들어진 프로토콜
구성
1. 카드 사용자
: 신용카드를 소지한 사람. SET에 이용되는 인증서를 소유.
2. 상점
: 인터넷 쇼핑몰을 운영하며, SET을 이용하여 상품을 판매
3. 지불 게이트웨이(PG, Payment Gateway)
: 기존의 신용카드 지불 방식으로 은행과 거래 내역을 주고 받음.
4. 신용카드 회사(Issuer)
: 사용자에게 신용카드를 발급하고, CA를 운영하여 사용자에게 인증서를 발급함
5. 은행 (Acquirer)
: 상점의 계좌가 있으며, PG를 운영. CA 또한 운영하여 상점에 인증서를 발급함
6. 인증기관
: SET에 참여하는 모든 구성원들의 정당성을 보장하는 (ROOT)CA.
신용카드 결제
이중서명 값 생성
: 카드 사용자가 구매 정보와 지불 정보를 각각 해시한 후, 두 해시값을 합한 뒤 다시 해시. 이렇게 만들어진 최종 해시값을 카드 사용자의 사설키로 암호화(서명)
목적
- 상점이 카드 사용자의 계좌번호같은 지불 정보를 모르게 하고, 상점에 대금을 지불하는 은행이 카드 사용자가 상점에서 산 물건이 무엇인지 모르게 하면서 상점이 요구한 결제 대금이 정확한지 확인할 수 있게 함.
비밀키 생성
: 카드 사용자가 생성.(대칭키) 비밀키를 사용하여 지불정보를 암호화하고, 은행이 운영하는 PG의 공개키로 암호화함.
상점으로 데이터 전송
- 카드 사용자의 구매정보
- 카드 사용자가 구매정보와 지불정보를 각각 해시한 이중서명 정보
- 카드 사용자가 지불 정보를 비밀키로 암호화한 것
- 카드 사용자가 생성한 자신의 비밀키를 PG의 공개키로 암호화한 것
상점에서의 구매 정보 확인
1. 카드 사용자가 신청한 물건에 대한 구매정보의 해시를 구함
2. 카드 사용자가 보내온 한 쌍의 해시값을 새로 구한 해시로 대치
3. 새로운 이중 해시를 구함
4. 카드 사용자의 사설 키로 암호화된 해시값을 복호화
5 새로운 이중 해시값과 카드 사용자의 공개키로 복호화한 해시값을 비교하여 카드 사용자가 보내온 구매 정보가 카드 사용자의 것이 맞는지, 혹은 구매 정보가 변조되지는 않았는지 확인함
상점에서 PG로 지불 정보 전송
- 카드 사용자가 구매정보와 지불정보를 각각 해시한 이중서명 정보
- 카드 사용자가 지불 정보를 비밀키로 암호화한 것
- 카드 사용자가 생성한 자신의 비밀키를 PG의 공개키로 암호화한 것
PG에서 지불 정보 확인
- PG에서는 자신의 사설키로 카드 사용자의 비밀키를 복호화
- 카드 사용자의 비밀키로 카드 사용자의 지불 정보를 복호화하여 지불 정보 확인
- 상점에서와 마찬가지로 해시값을 지불정보를 새롭게 해시한 값으로 대치한 후, 기존의 해시값과 일치하는지 여부를 확인하여 지불 정보의 변조 여부를 확인한 뒤, 상점에 대금을 지급함
Cyber Cash
- 1995년부터 서비스하고 있고 미국에서는 80%의 은행이 가입했지만, 세계적으로 널리 쓰이지는 않음
- 고객이 웹 브라우저를 이용하여 원하는 상점에 구입 의사를 표시하고 해당 물건에 대한 지불 버튼을 누르면 웹 브라우저가 자동으로 Cyber Cash의 소프트웨어를 실행시킴
- 소비자는 이 소프트웨어에서 어떤 신용카드로 대금을 지불할 것인지 선택한 후 확인 버튼을 눌러 판매자에게 주문 및 결제 정보를 보냄. 이때 소프트웨어는 결제 정보를 암호화.
- 판매자는 결제 정보에 확인 정보를 추가하고, 이를 사설키로 암호화한 뒤 Cyber Cash 서버에 보냄
- 이때 판매자는 SET처럼 고객의 신용카드 정보를 확인할 수 없음
- 서버에서는 구매자와 판매자의 신원을 확인한 후 거래를 처리하며, 처리한 정보를 은행에 보냄
- 현재 국내의 상당수 신용카드 결제 시스템이 이와 비슷하게 동작하고 있음
- SET과 달리 Cyber Cash에서는 PG 역할을 하는 Cyber Cash 서버가 고객이 어떤 물건을 구입했는지에 대한 정보를 알게 된다는 문제점이 있음
First Virtual
- 전자상거래에서의 메시지 전달을 통해 거래 정보를 교환함
- 메시지 전달은 이메일(전자우편) 즉, SMTP 프로토콜로 이루어짐
- 고객이 상점에 물건을 구입할 의사를 밝히면 상점은 서버에 대금 지불을 요구하는 전송-요청(Transferreqeust) 메시지를 전송
- 서버는 고객에게 전송-질의(transfer-query) 메시지를 전송
- 고객은 구매 확인 이메일을 받게 되고, 이에 회신을 보내는 것으로 구매 절차가 완료.
- 전달되는 이메일에는 Yes(구매 확인) / No(구매 취소) / Fraud(구매한 적 없음, 사기) / Help 중 하나를 반드시 선택하도록 되어 있음.
- Fraud의 경우 누군가 ID를 도용한 것이므로, 서버가 해당 ID를 취소하고 새로운 ID를 부여함
- 신뢰도가 낮은 편이라 100달러 이하의 거래에 이용됨.
'정보보호 > 정보보호학 개론 (2013, 백석대 이근호 교수님)' 카테고리의 다른 글
9-1. 시스템 보안 : 계정과 패스워드 세션 관리 (0) | 2024.08.13 |
---|---|
8-3. 전자화폐, 워터마크, 암호화 통신 (0) | 2024.08.12 |
8-1. 공개키 기반 구조 및 공인 인증서 (0) | 2024.08.12 |
7-2. 비대칭 암호화 및 해시 (0) | 2024.08.10 |
7-1. 암호의 발전사 및 대칭 암호화 (0) | 2024.08.10 |
댓글