난수
난수는 다양한 네트워크 보안 응용에서 암호화를 할 때 중요한 역할을 한다.
난수 생성에는 여러 방법이 있으며, 하드웨어 기반의 난수 생성기(TRNG)와 소프트웨어 기반의 난수 생성기(PRNG)가 있습니다.
TRNG는 물리적인 노이즈를 기반으로 진정한 난수를 생성하는 반면, PRNG는 알고리즘을 사용하여 난수를 생성합니다.
이 때문에 PRNG는 초기 시드 값에 따라 생성되는 난수가 결정되므로, 완벽한 예측 불가능성을 가지지 못할 수도 있습니다.
하지만, 적절한 알고리즘과 시드 관리를 통해 안전한 난수 생성이 가능합니다.
난수의 역할
다수의 네트워크 보안 알고리즘에서는 난수를 사용한다.
- RSA는 무엇인가?
- 대칭 스트림 암호 키 생성
- 임시 세션 키 용도 대칭 키 생성
- TLS, WiFi, 전자메일, IPsec
- Kerberos
- 키를 배포해야 하는 경우 난수를 사용하여 재전송 공격을 막기 위한 핸드 쉐이킹에 사용
- 인증 토큰 생성
- 난수 패딩
난수의 필수 조건
무작위성
- 균등 분포
- 수열의 비트 분포가 반드시 균등해야 한다.
- 즉, 0이 비트열 상에 나타나는 빈도가 1과 거의 비슷해야 한다.
- 독립성
- 수열에서 추출한 어떤 부분 수열도 다른 수열로부터 추론 할 수 없어야 한다.
- 독립성이 없음을 판단하는 테스트로 독립성을 판단한다.
예측 불가능성
- 수열의 일부를 보고 그 다음에 이어지는 수를 예측 할 수 없어야 한다.
- 진성 난수의 경우
- 수열에 나타나는 모든 수가 통계적으로 수열 안의 다른 수와 독립적이기 때문에 예측이 불가능하다
728x90
'Computer Science > Security' 카테고리의 다른 글
RC4란 무엇인가 (0) | 2023.04.02 |
---|---|
스트림 암호란 무엇인가 (0) | 2023.03.31 |
의사 난수 (0) | 2023.03.30 |
AES (0) | 2023.03.29 |
3중 DES Overview (0) | 2023.03.29 |