상세 컨텐츠

본문 제목

Chapter02. 대칭 암호와 기밀성 - 랜덤넘버와 의사랜덤넘버

Network Security Essentials

by 메리_99 2022. 1. 6. 18:13

본문

반응형

랜덤넘버(Random Number)

  • 사용
    • RSA 공개키 암호 알고리즘 및 기타 공개키 알고리즘 키 생성에 사용
    • 대칭 스트림암호 스트림 키 생성에 사용
    • 임시 세션키 용 대칭키 생성, TLS, Wi-Fi, 전자메일 보안, IP 보안 같은 네트워크 응용분야에 사용
    • Kerberos에서처럼 키를 배포해야 할 경우에 랜덤넘버를 사용하여 재전송 공격을 막기 위한 핸드셰이킹에 사용
  • 특징
    • 무작위성(randomness)
      • 균등분포(Uniform distribution) : 수열의 비트 분포가 반드시 균등해야 한다. 즉, 1과 0이 비트열상에 나타나는 빈도가 거의 비슷해야 한다.
      • 독립성(Independence) : 수열에서 추출한 어떠한 부분수열도 다른 수열로부터 추론할 수 없어야 한다.
    • 예측불가능성(Unpredictability) : 수열의 일부를 보고 그 다음에 이어지는 수를 예측할 수 없어야 한다.
      • 진성랜덤넘버(true random number)일 경우에는 수열에 나타나는 모든 수가 통계적으로 수열 안의 다른 수와 독립적이기 때문에 예측이 불가능하다.

TRNG, PRNG와 PRF

  • TRNG(True Random Number Generator, 진성랜덤넘버 생성기)
    • TRN(True Random Number, 진성랜덤넘버) : 완전한 난수  
    • 입력값으로 엔트로피 소스(실제 랜덤한 정보) 사용
      • 엔트로피 소스는 컴퓨터의 물리적 환경에서 얻을 수 있는 값으로서 키입력 타이밍 패턴, 디스크 전기 작용, 마우스 움직임 또는 시스템 클록의 순간값 등 사용

TRNG

  • PRNG(Pseudo Random number generator, 의사랜덤넘버 생성기)
    • PRN(Pseudo Random Number, 의사랜덤넘버) : 알고리즘에 기반하여 생성되고 무작위성 테스트를 통과할 수 있는 수열, 완전한 난수X
    • 입력값으로 종자(고정된 값) 사용
    • 입력값이 같으면 출력값이 같게 되는 결정적 알고리즘을 이용해서 비트열을 출력
    • 알고리즘의 출력값이 다시 입력값으로 사용되어 다른 비트열을 생성하기도 함 -> 피드백 경로
    • 무한 비트열을 생성하기 위해 사용되는 알고리즘
    • 분류
      • 특정목적 알고리즘 : 의사랜덤 비트 스트림을 생성하기 위해 설계된 알고리즘
        • e.g., 스트림 암호용 알고리즘
      • 기존 암호 알고리즘을 이용한 알고리즘 : 암호학적 알고리즘의 랜덤성을 활용하여 PRNG 역할을 하게끔 설계된 알고리즘
        • e.g., 대칭 블록 암호, 비대칭 암호, 해시함수와 메시지 인증 코드
  • PRF(Pseudo Random Function, 의사랜덤 함수)
    • 고정된 길이 의사랜덤 비트열을 생성하는데 사용되는 함수
      • e.g., 대칭 암호키와 비표
    • 컨택스트별값은 사용자 ID나 응용 프로그램 ID 같은 상황에 따른 다른 값에 이용
    • PRNG와 생성되는 비트열만 다르고 차이점은 없다.

PRF


위 글은 "Network Security Essentials William Stallings 저"을 공부하며 쓴 글입니다.
728x90

관련글 더보기

댓글 영역