스킬캠퍼스
13강 · 난수와 엔트로피
강의

오늘 끝나면

난수와 엔트로피

  • 난수와 엔트로피의 핵심 문제를 한 문장으로 설명한다
  • 오른쪽 실습에서 난수와이 어떻게 움직이는지 관찰한다
  • 다음 강의와 이어지는 한계를 말할 수 있다

실습 미션

예측 불가가 보안의 뿌리 — 나쁜 난수가 뚫리는 법 이 문장이 실제로 무슨 뜻인지 실습에서 한 번 손으로 확인한다.

성공 조건

  • 실습의 기본값을 먼저 관찰
  • 입력값이나 모드를 한 번 이상 바꿔 결과 비교
  • 왜 결과가 바뀌었는지 한 문장으로 설명

암호 & 보안 · 13

난수와
엔트로피

예측 불가능함이 모든 보안의 뿌리임. 난수가 허술하면 키도 통째로 뚫림.

P.01암호 & 보안 · 13

키도 토큰도 다 난수로 만든다

암호의 안전은 난수에 걸려 있음. 비밀키, 솔트, 세션토큰 — 다 난수로 뽑음.

왜 난수임? 아무도 못 맞히게 하려고임. 키가 예상 가능한 값이면 이미 비밀이 아님. 자물쇠 번호를 1234로 맞춘 거랑 같음.

그래서 보안에서 난수는 장식이 아님. 난수의 질이 곧 키의 질임. 여기가 약하면 위에 쌓은 암호가 전부 같이 무너짐.

이 모든 게 난수 한 통에서 나옴
난수가 만드는 것들
난수 한 통예측 불가능해야 함
비밀키
메시지를 잠그는 열쇠
솔트
같은 비번도 다르게 섞기
세션토큰
로그인 유지용 출입증
IV / 논스
암호를 매번 새롭게

난수가 약하면 이 넷이 한꺼번에 약해짐

P.02암호 & 보안 · 13

컴퓨터 난수는 사실 계산된 가짜다

컴퓨터는 진짜 난수를 못 만듦. 우리가 쓰는 건 대부분 의사난수(PRNG)임.

PRNG는 시드(씨앗) 하나를 정해두고 공식으로 다음 값을 줄줄이 계산하는 것. 무작위처럼 보여도 속은 정해진 계산임.

그래서 시드를 알거나 공식이 약하면 다음 값이 그대로 계산됨. 무작위가 아니라 미리 정해진 수열이었던 거임.

시드 하나 → 공식으로 줄줄이 계산
의사난수 = 시드 + 공식
시드7
공식에 넣고 굴림
다음 = (17 × 지금 + 11) mod 256
뽑혀 나오는 수열
1301731361978

무작위로 보여도 속은 정해진 계산임

P.03암호 & 보안 · 13

점을 뿌려보면 약함이 보인다

말로만은 안 와닿음. 오른쪽에서 직접 해봄. 난수로 점을 화면에 뿌리는 거임.

나쁜 난수를 켜면 점이 줄무늬·격자로 뭉침. 공식이 약해 패턴이 새어 나온 거임. 이 줄무늬가 곧 약함의 증거임.

이제 [다음 점 예측]을 눌러봄. 나쁜 쪽은 공식 하나로 굴러서 십자(⊕)가 다음 점에 정확히 떨어짐 — 키를 추측당하는 것임. 좋은 쪽은 잡음이 섞여 빗나감.

나쁜 난수 vs 좋은 난수 · 직접 예측해보기
난수 점 뿌리기 · 패턴 찾기
난수 종류
점이 줄무늬·격자로 뭉침
공격자 — 다음 값 맞히기

공격자는 마지막 값으로 다음 값을 계산해 봄. 십자(⊕)가 진짜 다음 점 위에 떨어질까?

P.04암호 & 보안 · 13

시드가 약하면 전부 예측된다

공식이 멀쩡해도 시드가 허술하면 끝임. 시드가 출발점이라, 출발점을 알면 수열 전체가 따라옴.

흔한 실수가 현재 시각을 시드로 쓰는 거임. 키가 언제 만들어졌는지 알면 그 근처 시각 몇 개만 넣어봐도 같은 키가 다시 나옴.

실제로 약한 시드 때문에 지갑 키·세션토큰이 통째로 털린 사고가 여러 번 있었음. 예측 가능한 시드는 예측 가능한 키임.

짐작 가능한 시드 = 짐작 가능한 키
시드의 질 = 키의 질
시드결과
시드 = 1234고정값매번 같은 키 → 즉시 뚫림
시드 = 현재 시각짐작 가능시각 몇 개만 넣어보면 됨
시드 = 잡음 모음예측 불가출발점부터 무작위 → 안전
P.05암호 & 보안 · 13

진짜 보안엔 엔트로피가 필요하다

그럼 어떻게 함? 엔트로피를 씀. 엔트로피는 예측 불가능한 잡음임.

마우스 움직임, 키 입력 타이밍, 전기 잡음, 디스크 지연 — 이런 아무도 못 맞히는 잡음을 긁어모아 시드로 씀. 출발점이 무작위라 다음 값을 계산할 수가 없음.

그래서 보안용 난수는 CSPRNG(암호학적 난수)를 씀. 충분한 엔트로피로 시드를 채워 다음 값을 절대 못 맞히게 만든 난수임. 키를 진짜 비밀로 지켜주는 뿌리임.

Q. 난수가 보안에서 중요한 이유는?키·토큰이 난수로 만들어지기 때문임. 난수가 예측되면 키가 추측당해 암호 전체가 무너짐. 그래서 예측 불가능한 엔트로피로 만든 난수라야 안전함.
세상의 잡음을 긁어모아 씨앗으로
엔트로피 → 시드 → 안전한 난수
예측 불가능한 잡음들
마우스 움직임
키 입력 타이밍
전기 잡음
디스크 지연
↓ 긁어모음
CSPRNG다음 값 못 맞힘

출발점이 무작위라 수열 전체가 무작위

3줄 요약

  1. 1예측 불가가 보안의 뿌리 — 나쁜 난수가 뚫리는 법
  2. 2난수와 엔트로피은 고전 암호 → 키와 신뢰 → 웹 보안 → 블록체인 → 다음 시대 흐름 안의 한 칸이다.
  3. 3개념을 외우는 것보다 입력을 바꾸면 무엇이 달라지는지 보는 것이 우선이다.

완료 전 점검

복습 카드

난수와

예측 불가가 보안의 뿌리 — 나쁜 난수가 뚫리는 법

암호를 잠그고 풀 때 쓰는 비밀 또는 공개 숫자

해시

데이터를 고정 길이 지문으로 바꾸는 함수