별의 공부 블로그 🧑🏻‍💻
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

(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 블록 암호화 등) 등의 정보를 전송함.
  • 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


📖 Contents 📖
68. 전자상거래 보안1. SET(Secure Electronic Transaction)(1) SET 구성 요소(2) SET 사용 기술(3) SET 이중 서명 사용 이유(4) SET 장점과 단점SET의 이중 서명(Dual Signature)2. SSL(Secure Socket Layer)(1) SSL 보안 서비스(2) SSL Handshaking 과정(3) SSL 구성 요소(4) SSL Handshaking Protocol 세부 과정