y-seo
y-seo의 딩코 기록들
y-seo
  • 분류 전체보기 (174)
    • Computer Science (49)
      • Database Design & Query Lan.. (10)
      • Network Security (16)
      • Software Engineering (6)
      • Computer Network (17)
    • Spring (50)
      • Spring-Basic (11)
      • SpringBoot-AWS (7)
      • SpringBoot&JPA (22)
      • 토비의 스프링 (3)
      • + α (7)
    • Cloud (22)
      • AWS (4)
      • GCP (1)
      • ElasticSearch (17)
    • Test (3)
    • Project (4)
    • Algorithm (24)
      • 개념 (9)
      • 문제풀이 (15)
    • AI (3)
      • About (2)
      • AIDU ez (1)
    • Error (4)
    • ETC (1)
    • Review (8)
    • IT (5)
      • SQLD (4)
      • ADsP (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

최근 글

최근 댓글

전체 방문자
오늘
어제

태그

  • 컴퓨터 네트워킹 하향식 접근
  • 보안
  • JPA
  • baekjoon
  • 자바
  • Spring
  • 인프런
  • springboot
  • 파이썬
  • 백준
  • 김영한
  • 네트워크보안
  • 알고리즘
  • 네트워크
  • 스프링부트
  • Python
  • java
  • 알기 쉬운 정보보호개론 3판
  • algorithm
  • 스프링

티스토리

hELLO · Designed By 정상우.
y-seo

y-seo의 딩코 기록들

[CS][알기 쉬운 정보보호개론 3판] Chapter09. 메세지 인증 코드 (MAC)
Computer Science/Network Security

[CS][알기 쉬운 정보보호개론 3판] Chapter09. 메세지 인증 코드 (MAC)

2023. 12. 6. 10:57

 

 
 

Prove(증명)과 Verify(검증)

  • 증명 : 송신자가 수신자에게 메세지를 인증 받는 행위
  • 검증 : 수신자가 송신자의 메세지를 검사하는 행위
  • Alice가 Bob에게 메시지를 보내고, Bob이 Alice의 메시지를 검사한다고 하자.
    • Alice는 Bob에게 메시지가 변하지 않았다는 것을 "증명"하게 되며, Alice를 증명자 (Prover) 라고 부른다.
    • Bob은 Alice가 보낸 메시지가 변하지 않았다는 것을 "검증"하게 되며, Bob을 검증자 (Verifier) 라고 부른다

 

 
 

메세지 인증 코드 (MAC)

  • 해시 함수 사용
  • 입력 : 메세지, 공유하는 키
  • 출력 : 고정 비트 길이의 코드
  • 프로세스
    1. Alice와 Bob 공유하고 있는 키 K와 해시 함수 H()가 있다고 하자
    2. Alice가 Bob에게 메시지 M을 보낼 때, MAC ← H (K||M)연산을 수행한다
    3. Alice가 Bob에게 M과 MAC을 보낸다
    4. Bob H (K||M)을 계산하여 MAC과 값이 같은지 비교해본다

 

 
 

HMAC

  • MAC보다 더 뛰어난 보안성을 가진 메세지 인증 방법 필요
  • 설계 목표
    • 암호 알고리즘을 사용하면 속도가 느려짐 → 해시 함수만 이용해 기술 구현
    • 해시 함수는 시중에 나와 있는 것을 그대로
    • 사용하던 해시 함수에 보안 문제가 있어서 바꾸어야 할 경우를 대비하여 해시 함수 변경이 용이

 

 
 

MAC 운영에서의 추가 이슈

  • MAC은 대칭키를 사용하기 때문에 키를 어떻게 공유할 것인가가 문제
  • 키 배송 문제의 해결 방법
    • 공개 키 암호
    • Diffie-Hellman 키 교환
    • 키 배포 센터
    • 키를 안전한 방법으로 별도로 보내기
  • 인증 문제는 해결되었지만 재전송 공격의 위험이 있음

 

 
 

MAC의 사용 예시

  • SWIFT : 은행 사이
  • IPSec : IP에 보안 기능 추가
  • SSL/TLS : 안전한 웹 사용을 위해

 

 
 

MAC에서 발생 가능한 공격 - Reply Attack

  • MAC은 메세지와 키가 입력으로 들어가며 인증할 때도 메세지와 키만을 이용
  • 누가 보냈는지 확인하지 않았는데 이로 인해 Reply attack이 발생 가능

 

 
 

Reply Attack을 방지하기 위한 방법

  • Sequence Number 이용
    • MAC에 송/수신자에 동기화 되어 있는 번호를 추가 입력하여 서로 전송
  • Timestamp 이용
    • 위 Sequence number가 들어갈 자리에 현재 시각과 관련된 값인 Timestamp 값을 넣는다
    • 정해진 시간대에 M||h가 유효하므로 공격자가 재전송 공격을 수행하는 것이 거의 불가능
    • 그러나 공격자가 그 시간대 내에 공격을 수행하면 성공 가능
  • Challenge and Response 방식
    • 비표 이용 방식
    • 문제를 내면 문제에 대한 답 생성
    • Alice가 Bob에게 메세지를 보내기 전에 Bob이 난수R을 생성하여 Alice 전송
    • Alice는 MAC을 계산할 때 난수도 같이 입력하여 계산
    • 공격자가 Alice가 보낸 메세지를 도청해서 재사용한다 해도 Bob은 새로운 난수를 보내줄 것이기 때문에 인증 실패
    • 이 난수를 Challenge, 또는 비표(Nonce)
    • 난수가 challenge, h가 response
 
 

MAC의 한계

  • 제 3자에게 증명하기
    • 공유키를 가진 사람만이 메세지 검증 가능
    • 그 외의 사람들은 메세지 검증 불가능
  • 부인 방지 불가능
    • Alice가 제 3자에게 자신이 보낸 메세지가 아니라고 부인할 수 있음
  • 위 문제점들은 디지털 서명으로 보완 가능
저작자표시 (새창열림)

'Computer Science > Network Security' 카테고리의 다른 글

[CS][알기 쉬운 정보보호개론 3판] Chapter11. 인증서  (0) 2023.12.06
[CS][알기 쉬운 정보보호개론 3판] Chapter10. 디지털 서명  (0) 2023.12.06
[CS][알기 쉬운 정보보호개론 3판] Chapter08. 일방향 해시함수  (0) 2023.12.06
[CS][알기 쉬운 정보보호개론 3판] Chapter07. 하이브리드 암호 시스템  (1) 2023.10.17
[CS][알기 쉬운 정보보호개론 3판] Chapter06. 공개키 암호  (2) 2023.10.17
    'Computer Science/Network Security' 카테고리의 다른 글
    • [CS][알기 쉬운 정보보호개론 3판] Chapter11. 인증서
    • [CS][알기 쉬운 정보보호개론 3판] Chapter10. 디지털 서명
    • [CS][알기 쉬운 정보보호개론 3판] Chapter08. 일방향 해시함수
    • [CS][알기 쉬운 정보보호개론 3판] Chapter07. 하이브리드 암호 시스템
    y-seo
    y-seo

    티스토리툴바