728x90
728x170
68. 전자상거래 보안
1. SET(Secure Electronic Transaction)
- 인터넷에서 신용카드 사용 촉진을 위해 VISA와 MASTER CARD 사에서 공동으로 개발한 프로토콜
- 전자상거래 인증의 상호 작용을 보장함.
- SSL에 비해 상대적으로 느림.
- 전자 서명과 인증서를 통한 안전한 거래가 가능함.
- 신용카드의 지급 결제 처리 절차에 한해서 정의하고, 시스템 구축 및 인증 절차가 복잡함.
- 기밀성, 무결성, 인증, 부인 봉쇄를 제공함.
(1) SET 구성 요소
- 구매자(카드 소지자)
- 전자 상거래를 수행하는 전자 지갑(사용자 신분을 확인하는 SET 인증서 포함)을 얻음.
- 판매자(상점 소유자)
- 웹 상의 상품 운영자
- SET을 이용하여 상품 판매 제공
- PG(Payment Gateway)
- 기존의 카드 지불 네트워크의 통로
- 발급 기관(Issuer)
- 사용자 계좌가 있는 재정 기관으로 신용카드 발행
- CA 운영하여 사용자아게 인증서 발행
- 지불 처리 은행(Acquirer)
- 상점의 계좌가 있는 재정 기관
- 신용카드 인가 여부와 지불 처리
- 지불 Gateway를 운영하고, CA를 운영하여 상인에게 인증서 발행
- 인증 기관(Certification Authority)
- SET에 참여하는 사용자, 상점, PG의 정당성을 보증하는 기관
(2) SET 사용 기술
- 대칭키, 공개키, 전자 서명, 해시 함수, 전자 봉투, 공개키 인증(X.509), 이중 서명 기술
- 알고리즘
- DES
- RSA
- SHA-1
(3) SET 이중 서명 사용 이유
- 사용자는 판매자에게 지불 정보(계좌 정보)를 숨기고 싶음.
- 사용자는 PG(Payment Gateway)로부터 주문 정보(물품 명세서 등)을 숨기고 싶음.
- PG(Payment Gateway)는 판매자가 전송한 결제 요청이 실제 고객이 의뢰한 정보인지 확인하고 싶음.
주문 정보 --- (해시) ---> Hash Digest ↘
연접 --- (해시) ---> [Hash | Digest] --- (암호화) ---> [Hash | Digest]
지불 정보 --- (해시) ---> Hash Digest ↗ ↑
개인키
(4) SET 장점과 단점
- 장점
- 전자 상거래의 사기 방지
- 기존의 신용카드 기반을 그대로 활용
- 단점
- 암호 프로토콜이 너무 복잡함.
- RSA 속도 저하
- 카드 소지자에게 전자 지갑 소프트웨어 요구
SET의 이중 서명(Dual Signature)
- SET은 카드 결제가 일어날 때, 지불 처리를 위해서 만들어진 보안 프로토콜임.
- SET 신용카드 결제 시, 사용자 정보와 가맹점 정보르 활용해서 카드사로부터 결제를 처리하기 위해 Master사와 VISA사가 만듦.
- 지불 처리를 수행할 때, 사용자 정보와 가맹점 정보를 분리해서 서명하는 이중 서명(Dual Signature) 의 특징을 가짐.
가맹점 --- (Hash) ---> [전자 서명] [Dual Signature] 암호화
→ 가맹점 서명 --------> 카드 회사 / Payment Gateway 사
구매자 --- (Hash) ---> [전자 서명] 구매자 서명
- 해시 함수
- 일방향 함수
- 임의의 길이의 문자열을 입력하면, 동일한 길이의 출력을 제공함.
- 만들어진 결과를 Message Digest 라고 함.
- Message Digest 로 입력 값을 다시 생성할 수 없음.
2. SSL(Secure Socket Layer)
- 개인 정보를 전송하는 네트워크 구간
- 보안 서버를 사용해서 송신과 수신되는 데이터를 암호화하는 것이 안전함.
- 암호화를 하지 않으면 스니퍼(Sniffe) 라는 네트워크 패킷 모니터링 도구를 사용해서 송신되고, 수신되는 모든 데이터를 볼 수 있게 됨.
- 보안 서버를 사용해서 송신과 수신되는 데이터를 암호화하는 것이 안전함.
- 보안 서버의 구축
- SSL(Secure Socket Layer)
- 공개용 인터넷에서 사용하는 방식
- 송신되는 데이터를 암호화하고 송신 과정에서 변경되었는지 확인할 수 있게 무결성을 지원함.
- 사용자 패스워드를 사용해서 인증을 수행할 수도 있음.
- Netscape 사에서 개발
- 인터넷과 같은 개방 환경에서 클라이언트와 서버 사이의 안전한 통신을 위해 개발함.
- 암호문 전송을 위해 RSA 공개 키 알고리즘 사용
- X.509 인증서 지원
443
번 포트 사용- 전송 계층(Transport Layer) ~ 응용 계층(Application Layer)에서 동작
http
ftp
telnet
mail
- 3가지 보안 서비스 제공
- 비밀성
- 무결성
- 인증
- 웹 상에서의 거래 활동 보호
- SSO
- SSL(Secure Socket Layer)
(1) SSL 보안 서비스
- 인증(Authentification)
- 거래하고자 하는 사이트가 신뢰되고 검증된 사이트인지 개인 정보를 송신하기 전에 먼저 상대 사이트를 인증하는 기능
- 무결성(Integrity)
- 송신자측의 PC에서(더 정확히는 웹 브라우저) 상대편 웹 서버까지의 송신 중, 공격자나 제3자에 의해 무단으로 데이터가 위·변조 되는 것을 방지하는 기능
- 기밀성(Confidentiality)
DES
,3DES
,IDEA
등 여러 가지 암호화 방식을 사용하여 데이터의 송수신 중에 인가되지 않은 사용자의 데이터에 대한 불법적인 접근을 통제하고, 만일의 경우 데이터가 공격에 의하여 유출되었다 하더라도 쉽게 읽혀질 수 없는 형태로 변환시키는 기능
(2) SSL Handshaking 과정
예) 네이버에 로그인하는 과정에서 SSL이 어떤 작업을 수행하는지 확인해보기
- SSL Handshaking 과정에서 어떤 일이 발생하는지 알아보기 위함.
- SSL로 요청 전에 웹 브라우저는 웹 서버 포트
443
을 호출하여 3 Way Handshaking을 수행함.- TCP 연결을 수행하고, 연결이 완료되면 웹 서버에게
Client Hello
라는 메시지를 전송함.Client Hello
는 웹 브라웢에서 지원하는 SSL 버전(예: TLS 1.0), 지원하는 암호화 알고리즘(예: AES 대칭키 및 CBC 블록 암호화 등) 등의 정보를 전송함.
- TCP 연결을 수행하고, 연결이 완료되면 웹 서버에게
- SSL에서
Random
- 재생 공격(Replay Attack)을 방지하기 위한 임의적 숫자
- 웹 서버가
Client Hello
메시지를 수신 받으면 사용할 암호화 알고리즘을 결정해서 웹 브라우저에게Server Hello
메시지를 전송함.- 웹 서버는
Client Hello
요청에Server Hello
응답으로 회신함. - 웹 서버가 암호화 알고리즘을 결정해서 웹 브라우저에게 전송함.
- 웹 서버는
- 웹 브라우저는 최종적으로
Change Cipher Spec
이라는 것을 웹 서버에 전송해서 웹 브라우저와 웹 서버 간의 협상을 마침. - 웹 브라우저와 웹 서버 간에 협상이 완료되면, 이제 실질적으로 데이터 암호화를 수행함.
- 암호문에 사용자 ID와 패스워드가 있음.
(3) SSL 구성 요소
- Change Cipher Spec Protocol
- SSL 프로토콜 중 가장 단순한 프로토콜
- Hand Shake Protocol에서 협의된 암호 알고리즘, 키 교환 알고리즘, MAC 암호화, HASH 알고리즘이 사용될 것을 클라이언트와 웹 서버에 공지함.
- Alert Protocol
- SSL 통신을 하는 도중, 클라이언트와 웹 서버 중 누군가의 에러나 세션의 종료, 비정상적인 동작이 발생할 시에 사용되는 프로토콜
- 내부의 첫 번째 바이트에 위험도 수준을 결정하는
Level
필드가 있음.- 필드의 값이
1
인 경우- Warning의 의미
- 통신의 중단은 없음.
- 필드의 값이
2
인 경우
- 필드의 값이
- 필드값은
Fatal
로 Alert - 즉시 클라이언트와 서버의 통신을 중단하게 됨.
- 필드의 값이
- 두 번째 바이트에는 어떠한 이유로 Alert Protocol이 발생하였느지 나타내는 Description 필드가 있음.
- Record Protocol
- 상위 계층에서 전달받은 데이터를 Hand Shake Protocol에서 협의된 암호 알고리즘, MAC 알고리즘, HASH 알고리즘을 사용해 데이터를 암호화 함.
- 산출된 데이터를 SSL에서 처리가 가능한 크기의 블록으로 나누고, 압축한 후에 선택적으로 MAC(MessageAuthentication Code)을 덧붙여 전송함.
- 반대로 수신한 데이터는 복호화, MAC 유효성 검사, 압축 해제, 재결합의 과정을 거쳐 상위 게층에 전달하는 역할을 함.
(4) SSL Handshaking Protocol 세부 과정
진행 과정 | 세부 내용 |
Client Hello | - Hand Shake Protocol의 첫 단계 - 클라이언트의 브라우저에서 지원하는 암호 알고리즘, 키 교환 알고리즘, MAC 암호화, HASH 알고리즘을 서버에 전송함. |
Server Hello | - Client Hello 메시지 내용 중 서버가 지원할 수 있는 알고리즘들을 클라이언트에 전송함. |
Server Hello Done | - 클라이언트에게 서버의 요청이 완료되었음을 공지함. |
Client 인증서 | - 서버에서 클라이언트의 인증 요청 발생 시, 클라이언트의 인증서를 전달함. |
Premaster Key 전송 | - 전달받은 서버의 인증서를 통해 신뢰할 수 있는 서버인지 확인 후, 암호 통신에 사용할 세션 키를 생성함. - 생성한 세션 키를 서버의 공개키로 암호화해 Premaster Key를 만들어 서버에 전송함. |
Change Cipher Spec | - 앞의 단계에서 협의된 암호 알고리즘들을 이후부터 사용한다는 것을 서버에 알림. |
Finished | - 서버에게 협의의 종료를 전달함. |
Change Cipher Spec | - 서버 또한 클라이언트의 응답에 동의하고, 협의된 알고리즘들의 적용을 공지함. |
Finished | - 클라이언트에게 협의에 대한 종료를 선언함. |
내용 출처 : 이기적 네트워크관리사 1·2급 필기 (임호진, 황성하 공저, 영진닷컴)
728x90
그리드형(광고전용)
'Certificate > Network Manager' 카테고리의 다른 글
72. 침입 차단 시스템(Firewall) (0) | 2021.05.03 |
---|---|
71. 파일 무결성 검사 (0) | 2021.05.03 |
70. IP 기반의 접근 통제 (0) | 2021.05.03 |
69. 전자 우편 보안 (0) | 2021.05.03 |
67. 웹 서버 보안 (0) | 2021.05.03 |
66. 비대칭키(공개키) 암호화 (0) | 2021.05.02 |
65. 대칭키(비밀키) 암호화 (0) | 2021.05.01 |
64. 암호화 개요 (0) | 2021.05.01 |