본문 바로가기

CS

[암호학] 서론

대학 강의를 기반으로 작성했으며, 해당 대학 강의에서는 Cryptography & Network Security 서적을 이용했습니다.


보안 목표

  • 기밀성(Confidentiality)
    : 정보는 인가된 사람들에게만 공개되어야 한다. 
    ex ) 고객 정보 암호화를 통해 탈취당하더라도 정보를 알 수 없게 관리
  • 무결성(Integrity)
    : 정보의 변경은 인가된 자에 의해, 인가된 매커니즘 하에서만 발생해야 한다. 
    무결성의 왜곡은 반드시 악의적 행동에 의한 것이라고 할 수는 없다. ( 통신 에러 등 ... )
    ex ) 클라이언트가 보낸 값이 유효한 값인지 서버 측에서 검사
  • 가용성(Availability)
    : 정보는 인가된 자가 사용할 수 있어야 한다. 기밀성이 너무 강해 인가된 사람마저 사용할 수 없으면 안된다.

각 보안 목표와 관련된 위협

  • 기밀성
    • 스누핑(snooping)
      : 데이터에 대한 비인가된 접근이나 탈취 (내용의 획득)
      ex) 프로그램(snooper)을 이용하여 상대방의 메일 내용을 엿봄
    • 트래픽 분석
      : 온라인 트래픽 모니터링을 통해 다른 타입의 정보 획득.
      ex) 대상들의 이메일 주소와 특정 시간에 거래할 것이라는 정보가 있다면, 해당 시간대에 둘 사이에서 오가는 메일이 암호화 되어 있더라도 거래 관련 메일이라는 사실은 추측할 수 있음. 
  • 무결성
    • 수정(Modification)
      : 공격자가 정보를 가로채거나 획득한 후, 자신에게 유리하게 조작하는 것
    • 가장(Masquerading / spoofing)
      : 다른 사람으로 위장하는 것
      ex) IP, DNS 등을 변경하여 위장
    • 재연(Replaying)
      : 메세지 사본 획득 후, 해당 메시지를 추후 다시 시도
      ex) 결제 정보 관련 메시지를 탈취한 다음 메시지를 수정하여 자신의 통장으로 돈을 보내게 만듬
    • 거부(Repudiation)
      : 메시지를 보내거나 받은 사실이 없다고 부인하는 것
      ex) 메시지를 통해 계약을 완료한 후, 해당 계약을 한 적이 없다고 우기기
  • 가용성
    • 서비스 거부(Denial of Services)
      : 시스템의 서비스를 느리게 만들거나, 차단

소극적 공격 / 적극적 공격

보안 목표 공격 방식 공격 형태
기밀성 스누핑(snoofing)
트래픽 분석
소극적(passive)
무결성 수정(modification)
가장(masquerading)
재연(replaying)
거부(repudiation)
적극적(active)
가용성 dos(denial of service) 적극적(active)

각 공격의 특징

  • 소극적 공격
    • 유저 정보를 탈취하기는 하는데, 아직까지 해당 정보를 기반으로 어떤 피해를 주지는 않는다. 
    • 실제로 공격 당했는지 알기 어렵다.
  • 적극적 공격
    • 데이터 변조나 서비스 거부 등을 통해 시스템에 직접적인 해를 끼친다.
    • 공격의 결과가 서비스에 드러나기 때문에 소극적 공격에 비해 공격 여부를 알기 쉽다.

보안 서비스 & 매커니즘

 1개 이상의 보안 매커니즘이 보안 서비스를 구현하게 된다.

보안 서비스

서비스 역할
데이터 기밀성(Data Confidentiality) 스푸핑 및 트래픽 분석 방지
데이터 무결성(Data Integrity) 데이터 변조 및 재연 공격 방지
인증(Authentication) 사용자 식별 등
부인 방지(Nonrepudiation) proof of origin / proof of delivery
접근 제어(Access Control) 데이터에 대한 비허가된 접근 방지

보안 매커니즘

  • Encipherment : 데이터를 숨기거나 감싸 기밀성을 유지
  • Data Integrity : 데이터의 값을 검사하기 위한 작은 값을 기반으로 검사
  • Digital Signature : 데이터에 전자 서명하고, 받는 측에서는 이를 확인
  • Authentation exchange : 서로가 자신을 인증할 수 있는 정보를 교환
  • Traffic Padding : 트래픽 분석을 방해하기 위해 가짜 정보를 중간에 넣음
  • Routing control : 특정 라우트에 대한 도청을 막기 위해 연속적으로 라우트 변경
  • Notarization : 두 대상 사이에 신뢰있는 제 3자를 두고 통신
  • Access Control : 유저가 시스템에 접근할 권리가 있음을 증명하는 방법 ( 비밀번호 )

서비스와 매커니즘의 관계

보안 서비스 보안 매커니즘
Data Confidentiality Encipherment, Routing Control
Data Integrity Encipherment, Digital Signature, Data Integrity
Authentication Encipherment, Digital Signature, Authentication Exchange
Nonrepudiation Digital Signature, Data Integrity, Notarization
Access Control Access Control

보안의 실제 구현 수단

  • 암호(Cryptography)
  • 스테가노그래피(Steganography)

암호(Cryptography)

  • 그리스어 기준 비밀 기록(secret writing) 을 의미
  • 메시지를 안전하고, 공격에 대한 면역을 지니도록 만드는 과학과 기술로, 메시지를 이해할 수 없도록 변환
  • 종류
    • 대칭키 암호화 ( symmetric key encipherment )
    • 비대칭키 암호화 ( asymmetric key encipherment )
    • 해싱

스테가노그래피(Steganography)

https://en.wikipedia.org/wiki/Steganography

  • 그리스어 기준 숨겨진 기록(covered writing) 을 의미
  • 다른 메시지 또는 물리적 개체에 메시지를 숨기는 행위로, 암호가 숨겨져있는지 알기 어렵게 만든다.

ex) 음악 내의 특정 비트 부분에 암호를 숨김 / 공백 문자 개수를 기준으로 0 과 1을 구분

'CS' 카테고리의 다른 글

[CS] DIP / IoC / DI  (0) 2023.10.23
[CS] 객체 지향  (0) 2023.10.18
[batch] cron 표현식  (0) 2023.08.23
[네트워크] HOL(Head Of Line) blocking  (0) 2023.08.03
[CS] 프로세스(process) 내용 정리  (0) 2021.11.08