통신·네트워크 기술

QRNG 칩은 무엇을 보고 난수를 만들까?

Elect-M 2026. 9. 16. 10:59
728x90
반응형
SMALL

QRNG 칩은 무엇을 보고 난수를 만들까?

 

QRNG를 이해할 때 가장 먼저 구분할 것은 난수를 만드는 장치그 난수를 가져다 쓰는 프로그램이다.

 

QRNG 칩은 작은 세계에서 일어나는 예측하기 어려운 사건을 측정한다. 컴퓨터나 서버에 설치하는 프로그램은 대개 그 칩에 난수를 요청하고, 받은 숫자를 암호 프로그램에 전달한다.

 

★ 서버에 'QRNG 앱'을 설치했다고 해서, 서버의 소프트웨어가 양자 현상을 직접 만들어내는 것은 아니다.

 

 

칩은 무엇을 '본다'는 걸까?

 

칩이 보는 것은 숫자 0이나 1이 아니다. 먼저 광자의 도착, 광자가 지나간 방향, 방사성 물질의 붕괴 시점 같은 물리적 사건을 센서로 감지한다. 그 측정 결과를 전자회로가 숫자로 바꾼다.

 

▶ 예시 A : 광자가 어느 길로 갔는지 보기

  1. 장치가 빛의 알갱이인 광자를 준비한다.
  2. 광자가 두 갈래 길을 만나는 장치로 들어간다.
  3. 왼쪽 센서가 감지하면 0, 오른쪽 센서가 감지하면 1로 기록한다.
  4. 이 과정을 반복해 010110… 같은 숫자열을 얻는다.
  • 핵심은 "장치가 마음대로 왼쪽 또는 오른쪽을 선택한다"가 아니다. 광자를 측정했을 때 어느 쪽 결과가 나올지 예측하기 어렵다는 양자 현상을 이용하는 것이다.
  • 실제 장치에서는 광자를 놓치거나 센서마다 감도가 다른 문제도 고려해야 한다.

 

▶ 예시 B : 광자가 언제 도착했는지 보기

  • 일부 QRNG 칩에는 LED와 광자 감지 센서가 함께 들어간다. LED가 빛을 내면 센서가 광자를 감지하고, 회로는 감지된 사건 사이의 시간을 측정한다.
  • 예를 들어 두 번의 감지 간격을 비교해 첫 번째 간격이 더 짧으면 0, 두 번째가 더 짧으면 1로 정할 수 있다. 이것은 설명을 위한 예시이자 실제 연구에서 사용한 방식 중 하나이다. 모든 광자 QRNG가 똑같은 규칙을 쓰는 것은 아니다.
  • LED가 난수를 '계산'하는 게 아니라, 광자 감지 시점의 불확실성을 난수의 원천으로 이용한다.

 

▶ 예시 C : 빛의 세기(광자 개수)가 얼마나 흔들리는지 보기

  • 실제로 가장 널리 상용화된 방식 중 하나는 광자 하나하나의 경로나 도착 시간이 아니라, 아주 짧은 시간 동안 센서에 들어오는 광자의 개수 자체가 요동치는 정도를 측정하는 방식이다.
  • LED가 빛을 내고, 그 빛을 이미지 센서(CMOS)의 여러 화소가 동시에 받는다. 같은 조건이라도 화소마다 감지되는 광자 수는 양자적으로 미세하게 다르며, 이 흔들림을 양자 산탄잡음(quantum shot noise)이라고 한다.
  • 이 방식으로 만든 상용 QRNG 칩은 2020년부터 일부 삼성 스마트폰에 실제로 탑재된 사례가 있을 만큼, 광자 경로·도착 시간 방식과 함께 널리 쓰이는 방식이다.

 

 

 

방사성 물질을 사용하는 QRNG도 있을까?

 

있다.

방사성 동위원소정확히 언제 붕괴할지는 예측하기 어렵다.

장치는 붕괴할 때 방출되는 입자나 방사선을 감지하고, 사건이 일어난 시각 또는 사건 사이의 간격을 숫자로 바꿀 수 있다.

 

▶ 용어 구분

방사성 동위원소 붕괴하는 물질
알파선·베타선 붕괴 과정에서 방출될 수 있는 방사선의 종류
감지기 방출 사건을 전기 신호로 바꾸는 부품

★ "알파 원소"나 "베타 원소"가 난수를 만드는 것이 아니다. 방사성 동위원소의 붕괴 사건을 측정하는 것이다.

 

  • 이는 QRNG의 여러 방식 중 하나일 뿐이다. QRNG 제품마다 물리적 원천이 다르므로, 특정 칩에 방사성 물질이 들어 있다고 제품 설명 없이 단정해서는 안 된다.

 

칩 안의 '노이즈'는 전부 양자난수일까?

 

아니다.

전자회로에는 여러 종류의 미세한 흔들림, 즉 잡음(노이즈)이 있다.

온도 때문에 생기는 열잡음이나 외부 전파·전원 변화의 영향도 섞일 수 있다.

 

☞ 제품 설명에 "칩의 물리적 노이즈를 이용한다"라고만 적혀 있다면 아직 중요한 답이 빠져 있다.

  • 그 잡음 가운데 어떤 현상이 양자적 원천인지, 다른 영향과 어떻게 구분했는지를 알아야 QRNG인지 판단할 수 있다.
  • 단순한 물리적 잡음을 이용하는 난수 생성기는 QRNG가 아닌 다른 종류의 하드웨어 난수 생성기일 수도 있다.

 

물리적 사건은 어떻게 암호에 쓸 숫자가 될까?

 

▶ 6단계 과정

  1. 사건 발생 : 광자 감지나 방사성 붕괴처럼 예측하기 어려운 사건이 일어난다.
  2. 측정 : 센서가 사건을 감지해 전기 신호로 바꾼다.
  3. 디지털 변환 : 회로가 신호의 위치·시간·크기 등을 숫자로 기록한다. (이 단계의 숫자 = 원시 데이터)
  4. 상태 검사 : 센서가 멈추거나 한 값만 지나치게 반복하는 등의 이상을 확인한다.
  5. 후처리 : 센서 감도의 차이 등으로 생긴 치우침을 줄이고, 사용 가능한 난수열을 만든다.
  6. 전달 : 완성된 디지털 난수를 컴퓨터의 암호 프로그램에 전달한다.

 

★ 원시 데이터 1,000비트를 얻었다고 해서 반드시 안전한 난수 1,000비트를 얻은 것은 아니다. 얼마나 예측 불가능한지를 평가하고 그에 맞게 후처리해야 하며, 후처리만으로 원래 없던 불확실성을 만들어낼 수는 없다.

 

 

 

서버에 설치하는 'QRNG 프로그램'은 무엇을 할까?

 

'QRNG 프로그램'이라는 이름으로 배포되는 소프트웨어는 구성에 따라 역할이 다르다.

구성 난수가 실제로 만들어지는 곳 설치한 프로그램의 역할
서버에 QRNG 칩·USB·PCIe 장치가 연결됨 그 서버의 물리적 장치 장치에 요청하고 난수를 받아옴
네트워크에 QRNG 장비가 따로 있음 네트워크의 QRNG 장비 장비에 접속해 난수를 받아옴
클라우드 QRNG 서비스 이용 서비스 제공자의 물리적 장치 인터넷을 통해 난수를 요청·수신함
소프트웨어만 설치하고 물리적 QRNG 원천이 없음 확인되지 않음 이름만으로 QRNG라고 판단할 수 없음
  • 이때 설치되는 프로그램은 '앱', '서버 모듈', '드라이버', '연동 프로그램', 'API' 등으로 불릴 수 있다. 이름보다 중요한 것은 그 프로그램 뒤에 실제 양자 난수 원천이 있는가이다.
  • 실제 상용 QRNG도 프로그램이 별도 하드웨어의 난수를 가져오는 방식과, 원격 서버의 난수를 가져오는 방식이 모두 있다.

 

☞ VPN이나 인터넷은 이 과정에서 난수의 재료가 아니라 난수를 옮기는 길이다.

  • 원격 QRNG를 쓸 때는 전송 중 보호뿐 아니라, 제공 서버가 받은 난수를 기록·변조하지 않는지와 장애 시 어떻게 처리하는지도 중요하다.
  • 원격에서 받은 난수를 다른 난수 원천과 섞어 암호키를 사용하는 컴퓨터 안에서 최종 키를 생성하는 설계도 있다.

 

 

결국 확인해야 할 질문

 

QRNG 제품을 확인할 때는 이 질문부터 하면 된다.

 

★ "프로그램은 어디에 설치되나요?"보다 "예측하기 어려운 물리적 사건은 정확히 어느 장치에서, 무엇을 측정해 만들어지나요?"

 

이 질문의 답이 QRNG 칩과 QRNG 소프트웨어를 구별하는 출발점이다.

 

728x90
반응형
SMALL