본문 바로가기
자유게시판

우리 삶을 움직이는 무작위 숫자를 찾아서

by godfeeling 2024. 7. 9.

우리 세상은 무작위로 생성된 숫자로 돌아가고, 숫자가 없다면 현대 생활의 놀라운 비율이 무너질 것입니다. 그렇다면 왜 숫자가 그렇게 찾기 어려울까요?

친구들은 그들이 찾고 있는 것이 무엇인지 최선을 다해 설명했습니다. 정말 딱딱거리는 라디오입니다. 다이얼을 돌리면 방송국 사이에서 잡음이 우박처럼 울리는 종류입니다. 가게 점원은 무슨 말을 해야 할지 몰랐습니다.

오래된 라디오의 정전음은 대기 중의 전자기 활동으로 인해 발생하는 일종의 무작위 간섭입니다. (출처: Getty Images)

"그는 우리가 꽤 미쳤다고 생각했던 것 같아요." 매즈 하흐가 회상합니다. 1997년이었고, 그와 그의 친구들은 캘리포니아주 버클리의 Radio Shack 매장을 둘러보고 있었습니다. 판매 중인 대부분의 라디오에는 그들이 찾던 중요한 딱딱거리는 소리를 제거하는 노이즈 필터가 있었습니다. 하지만 약간의 설득 끝에, 판매원은 하흐와 그의 친구들이 매장 뒤쪽에 있는 가장 싼 기기 중 하나를 들어보도록 허락했습니다.

그들이 작고 회색의 10달러짜리 라디오에 배터리 두 개를 끼우자, 윙윙거리는 소리가 터져 나왔다. 엄청나게 시끄러웠다. "우리는 뛰어올랐다 떨어졌다." 하흐르가 말했다. 그 작은 라디오는 잠재적으로 그들을 부자로 만들려고 했다. 하흐르와 그의 친구 세 명은 온라인에서 호스팅하고 싶었던 디지털 슬롯 머신과 블랙잭 게임인 도박 소프트웨어를 작업하고 있었다. 그 당시 온라인 카지노는 막 시작 단계에 있었다.

Haahr는 그들이 신뢰할 수 있는 난수를 생성할 수 있어야 한다는 것을 알고 있었습니다. 가상 레버를 당겼을 때 어떤 슬롯이 나오는지, 온라인 포커 게임에서 어떤 카드가 나오는지 결정하는 끝없는 숫자 스트림. 이런 것들이 난수가 아니라면 디지털 카지노는 그다지 공평하지 않을 것이고 플레이어는 게임에서 예측 가능한 패턴을 찾아 시스템을 이기려고 시도할 수도 있습니다.

그래서 네 친구는 모두 신뢰할 수 있다고 동의할 수 있는 무작위성의 원천을 찾고 있었습니다. 정의상 편향될 수 없는 무언가. 그 아이디어는 하르에게 포커 칩 한 톤처럼 강타했습니다. 흙값 아날로그 라디오의 쉿거리는 소리였습니다.

그런 기기에서 터져 나오는 소음은 사실 지구 대기의 번개와 전자기 활동에 의해 형성된 지저분한 신호입니다. 그것이 예측할 수 없는 정전의 폭발을 생성합니다. Haahr는 컴퓨터가 그 모든 횡설수설을 듣고, 기복을 작은 1과 0, 즉 비트로 변환한 다음, 그것을 사용하여 난수 문자열(예: 4107567387)을 생성하도록 계획했습니다. 간단한 예를 들어, 온라인 포커 게임에서 다음에 나오는 카드가 스페이드 6이라고 판단할 수 있습니다.

(아, 당신은 클럽 5장을 기다리고 있었군요. 몰랐나요? 언제 포기해야 할지 알아야 합니다.)

유리창에 빗방울이 형성되는 방식은 숫자를 생성하는 무작위성의 한 가지 원천으로 사용되었습니다(출처: Getty Images)

컴퓨터가 아무리 뛰어나도 잘하지 못하는 것이 몇 가지 있습니다. 그 중 하나가 무작위성입니다. 물론 컴퓨터는 항상 데이터를 뱉어내는데, 왜 무작위 숫자는 안 될까요? 문제는 컴퓨터가 어느 정도 예측 가능한 내부 메커니즘에 의존한다는 것입니다. 즉, 컴퓨터 알고리즘의 출력 도 결국 예측 가능해지는데 , 카지노를 운영한다면 이는 원치 않는 일입니다. 같은 문제가 암호학자에게도 골치 아픈 일이 될 수 있습니다. 정보를 암호화할 때는 코드의 키가 최대한 무작위적이기를 원합니다. 그래야 아무도 원래 텍스트를 어떻게 왜곡했는지 알아낼 수 없습니다. 그러면 비밀 메시지를 읽을 수 있기 때문입니다.

사람들은 오랫동안 난수 생성기의 기초로 외부의 무작위성 소스를 찾아왔습니다. 진정한 무작위성을 찾는 이 과정에서 그들은 예측하거나 조작할 수 없는 혼돈스러운 현상을 사실상 모든 곳에서 찾아봤습니다. 그들은 전기 폭풍의 소음을 듣고, 유리에 떨어지는 빗방울 사진을 찍고 , 알려진 우주에서 가장 작은 입자로 놀았습니다 . 이 탐색은 아직 끝나지 않았습니다.

결국, 작은 회색 라디오는 Haahr와 그의 친구들을 부자로 만들지 못했습니다. 온라인 게임 사업은 당시 젊은 기업가들이 돈을 벌기에는 너무 초창기였습니다. 하지만 그들이 만든 난수 생성기는 여전히 유용하다고 생각했습니다. 그래서 Haahr는 random.org 에 공개했고 , 그 이후로 난수를 쏟아내고 있습니다. 많은 방문자가 있습니다.

"제가 언급할 수 있는 곳은 샌프란시스코 시장실 입니다 ."라고 Haahr가 말했습니다. "그들은 저희 서비스를 사용하여 저렴한 주택을 얻을 만큼 운이 좋은 당첨자를 끌어들입니다."

다른 사용자로는 지역 커뮤니티 복권을 운영하는 사람들이 있습니다 . 그들은 Haahr의 웹사이트에서 매주 당첨 번호를 선택합니다. 과학자들은 온라인 번호 생성기를 사용하여 실험 참가자를 무작위로 선정하기도 했습니다. 소비자에게 상품을 제공하는 마케팅 회사도 random.org의 도움을 받아 당첨자를 선정했습니다. Haahr는 "사람들은 예를 들어 약물 검사에 사용합니다."라고 덧붙였습니다. "직원을 무작위로 선정합니다." 이 사이트에는 무작위 비밀번호를 선택하는 기능도 있습니다. 그리고 물론 일부 온라인 도박 서비스도 random.org에 의존합니다.

한 남자는 700여 장의 CD 컬렉션에서 매주 차에 넣을 디스크를 선택하는 데 도움이 되도록 이 소프트웨어를 이용했다고 말했습니다 .

이러한 모든 결과, 어떤 경우에는 추첨이나 선발 과정의 삶을 바꿀 만한 결과를 포함하여, 여러 라디오 수신기에서 수집한 대기 활동에서 파생됩니다. 원래 10달러짜리 라디오는 오랫동안 분실되었다고 Haahr는 고백합니다. 수년에 걸쳐 그와 그의 동료들은 고품질 대기 소음을 내기 위해 더욱 진보된 장비를 설치했고, 현재 이 사이트는 서로 다른 지리적 위치에 있는 9개의 대형 수신기에 의존합니다.

복권에 당첨된 적이 없거나 임상 실험에 참여할 의향이 없다면, 무작위 숫자는 별로 중요하지 않다고 생각할 수도 있습니다. 하지만 그건 틀렸습니다.

새로운 비밀번호를 선택할 때마다, 심지어 자신이 생각하는 비밀번호일지라도, 컴퓨터는 또 다른 데이터 덩어리를 비밀번호에 추가합니다. 이는 저장을 위해 비밀번호를 스크램블링한다는 의미로, 누군가가 데이터베이스를 해킹하여 비밀번호를 훔치더라도 비밀번호를 쉽게 스크램블링하여 계정에 액세스할 수 없습니다. 비밀번호에 추가된 데이터 덩어리를 솔트라고 하며 난수에서 파생됩니다.

서리대학교의 컴퓨터 보안 전문가인 앨런 우드워드는 "우리는 잘 알지 못한 채 매일 이를 사용하고 있습니다"라고 말했습니다.

그는 무작위 숫자는 정보를 보호하는 데 필수적이라고 지적합니다. 무작위 숫자는 컴퓨터가 데이터를 암호화하여 일반 관찰자에게는 횡설수설처럼 보이도록 할 때마다 사용되기 때문입니다. 예를 들어 "https://"로 시작하는 웹사이트를 방문하면 컴퓨터와 웹사이트를 저장하는 서버에 여러 가지 작업 중에서도 무작위 숫자를 생성하여 교환한 다음 웹사이트를 로드하고 사용할 때 주고받는 데이터를 암호화하는 데 사용하도록 요청하는 것 입니다. (이것은 몇 밀리초 만에 이루어지는 교환을 엄청나게 단순화한 것이지만, 요령을 알 수 있을 것입니다.)

민감한 데이터가 컴퓨터 네트워크, 특히 대중이 접근할 수 있는 네트워크에서 날아다닐 때 해당 정보를 보호하는 것이 필수적입니다. 클라우드 보안 서비스를 제공하는 기술 회사인 Cloudflare는 데이터 센터에서 많은 난수를 사용합니다. 이 회사는 난수를 생성하는 눈길을 끄는 방법을 모색했는데, 여기에는 용암 램프 모음도 포함됩니다.

"농담으로 시작했지만, '잠깐만요, 우리가 실제로 할 수 있을 것 같아요'라고 말했어요." 존 그레이엄-커밍 최고기술책임자가 말했다. 샌프란시스코에 있는 Cloudflare 사무실에서 천장의 카메라가 다채로운 용암 램프 벽을 향해 아래로 향하고 있다 . "그 용암 램프의 움직임, 안에 있는 얼룩덜룩하고 기름기가 많고 납작한 것은 예측할 수 없습니다." 그레이엄-커밍이 설명했다. 즉, 카메라가 일정 간격으로 얼룩 사진을 찍을 수 있고, 그 사진은 얼룩의 모양과 위치에 따라 여러 숫자로 변환된다. 1990년대 후반에 Silicon Graphics라는 회사에서 처음 시연한 이 아이디어 는 Cloudflare가 정보를 보호하기 위해 난수를 생성하는 데 사용하는 여러 방법 중 하나이다.

사람들이 난수를 추구하면서 찾아낸 것의 목록은 엄청나게 이상합니다. 한 소프트웨어 엔지니어는 비가 오는 날 산책을 하다가 안경에 떨어지는 빗방울이 적절한 난수 원천이 될 수 있다는 것을 깨달았고, 실험으로 짧은 코드를 통해 패턴을 시뮬레이션했습니다 . 다른 사람은 물고기 탱크에 있는 거품의 활동을 포착하여 난수 생성의 기초로 삼았습니다. 또 다른 방법은 웹캠으로 포착 한 새끼 고양이의 예측할 수 없는 행동 에 의존했습니다.

한 연구진은 모든 생명체의 DNA 분자에 들어있는 독특한 유전적 서열을 조사하여 무작위성을 탐구하기도 했습니다 .

그런 다음 방사성 붕괴의 클릭을 감지하는 것과 관련된 많은 노력이 있는데, 예를 들어 가이거 카운터로 수집합니다. 원자가 언제 붕괴되어 가이거 카운터를 설정하는 아원자 입자를 방출할지 정확히 예측할 수 없으므로 이는 무작위성의 좋은 소스로 간주됩니다. 구부러지는 과일이 약간 방사능이 있는 것으로 알려져 있기 때문에 바나나를 사용하여 숫자 생성기를 만드는 프로젝트도 있습니다.

2016년, New York Times는 Minecraft에서 일종의 난수 생성기를 만드는 방법을 찾은 젊은 컴퓨터 게이머의 사례를 언급했습니다 . 이 게이머는 Minecraft 세계에서 친구들을 위한 일종의 토너먼트를 구성했지만, 무작위 간격으로 함정을 작동시키고 싶었습니다. 게임에서 참가자를 잡기 위해서였습니다. 그래서 그는 우리를 만들고 그 안에 무시룸이라는 가상의 소를 노예로 삼기로 했습니다. 무시룸은 무작위 패턴으로 돌아다니기 때문입니다. 게이머가 우리 바닥에 설치한 압력판 중 하나를 무시룸이 밟을 때마다 그가 설계한 게임 속 게임에서 함정이 작동했습니다. New York Times에서 말했듯이 "독창적인" 해결책이었습니다.

용암 램프 내부 물질이 움직이는 방식은 예측할 수 없는 것으로 생각됩니다(출처: Getty Images)

난수 생성기에는 훨씬 더 일상적인 입력도 많이 있습니다. 예를 들어 컴퓨터 화면에서 마우스 커서 의 움직임 , 키보드에서 키를 누르는 사이의 시간 지연 또는 컴퓨터 네트워크의 트래픽 소음을 사용할 수 있습니다. "우리는 그것이 안전하다고 확신합니다."라고 University College London의 보안 공학 교수인 Steven Murdoch는 후자를 언급하며 말했습니다. Murdoch는 여러 계층의 암호화를 통해 안전한 인터넷 브라우징을 가능하게 하는 Tor 브라우저의 제작자입니다.

머독은 우리가 적절한 난수를 생성할 만큼 충분히 알고 있지만, 가정된 난수 출력이 실제로 예측 불가능하다는 것을 보장하기에 충분한 검증이 종종 없다고 주장합니다. "제가 더 보고 싶은 것은 신중한 설계와 테스트입니다."라고 그는 말합니다.

하지만 정말 까다로운 부분은 바로 그것입니다.

"무언가가 무작위인지 아닌지는 알 수 없습니다. 무작위가 아닌 것으로만 알아낼 수 있습니다." 런던 대학교 Royal Holloway의 정보 보안 강사인 Darren Hurley-Smith가 설명합니다. 연구자들은 통계 분석과 같이 무작위가 아닌 숫자 생성기를 식별하는 방법을 가지고 있습니다. 이는 해당 시퀀스가 ​​실제로 무작위라면 나올 숫자보다 더 많이 나오는 시퀀스를 찾는 것입니다. 예를 들어 3이 너무 많은 경우입니다. 하지만 이것만으로는 충분하지 않습니다. 시퀀스가 ​​"123123123123123"이라면 어떨까요? Hurley-Smith는 이 경우 3이 많이 나오지만 1~2개보다 더 자주 표현되지 않는다고 지적합니다. 그러나 시퀀스에는 매우 명확한 패턴이 있고, 기본 구조가 있어 무작위가 아님을 알 수 있습니다.

정말 큰 숫자 집합의 경우, 무작위성에 대한 통계적 검정은 매우 복잡해지고, 어떤 것이 정말로 무작위인지는 결코 증명할 수 없으며, 최선의 분석을 토대로 그것이 무작위와 구별할 수 없다는 것만 증명할 뿐입니다.

그러나 무작위성을 잘못 적용하면 심각한 결과가 초래됩니다.

난수 생성기가 제대로 작동하지 않으면 악의적인 사람들이 이를 악용하려 할 수 있습니다. 2017년 Wired는 카지노에서 슬롯 머신의 활동을 촬영하도록 사람들을 시켰다는 혐의를 받는 러시아 해커의 사례를 보도했습니다. 그는 각 플레이의 결과를 바탕으로 머신의 내부 난수 생성기의 작동을 예측하고, 따라서 다음에 언제 지불할지 결정할 수 있었습니다.

그리고 약 10년 전, 머독을 포함한 케임브리지 대학의 보안 연구원들은 사기꾼들이 칩과 핀 카드 안에 생성된 난수라고 생각되는 숫자를 예측하여 사람들에게서 돈을 훔칠 수 있다는 것을 유명하게 알아냈습니다 . 이러한 숫자는 상점에서 무언가를 지불할 때 거래를 인증하는 데 필요합니다. 하지만 다가올 숫자를 예측하고 누군가의 직불 카드를 사칭하여 그들의 허가 없이 돈을 쓸 수 있다는 것이 밝혀졌습니다. 이 결함을 발견한 연구원 중 한 명에 따르면, 이러한 사기는 오늘날에도 여전히 자행될 가능성이 높습니다.

나쁜 엔지니어링을 고려하더라도 위에서 언급한 대부분의 난수 생성기는 여전히 조금 더 견고할 수 있습니다. 그들이 의존하는 난수성의 원천은 기껏해야 우리에게는 그저 난수일 뿐입니다. 만약 우리가 우주의 모든 복잡함을 어떻게든 알고 그것을 완벽하게 모델링할 수 있다면, 우리는 대기 소음의 자세한 소란이나 유리에 떨어지는 빗방울의 패턴을 예측할 수 있을 것입니다.

실용적인 목적으로, 광자(작은 빛 입자)가 검출기에 도착하는 타이밍과 같은 것은 진정으로 무작위적인 것으로 간주되어 난수를 생성하는 기초로 적합합니다 . 또 다른 접근 방식은 레이저 펄스에서 방출되는 광자를 세는 것으로 , 특수한 실험 설정에서 무작위로 홀수 또는 짝수 개의 광자가 생성됩니다. 이를 반복하면 난수 비트 문자열을 생성하고 이를 사용하여 난수를 생성할 수 있습니다.

원칙적으로 양자 난수 생성기는 "본질적으로 예측할 수 없다"고 영국의 회사 Quantum Dice의 공동 창립자인 Zhanet Zaharieva는 말한다. Quantum Dice는 자체 양자 난수 생성 기술을 개발 중이다. 그러나 이러한 새로운 시스템 중 일부도 출력에 편향을 줄 수 있는 결함에 취약하다. Zaharieva는 "궁극적으로 양자 엔트로피 […]와 고전적 노이즈가 혼합된 시스템이 된다"고 말한다.

예를 들어, 헐리-스미스는 일부 양자 난수 생성기가 시간이 지남에 따라 덜 무작위적이 될 수 있는 장비에 의존한다고 지적합니다. 그는 "광자가 센서에 부딪히면 센서가 아주 약간 따뜻해져서 미래의 공격에 더 민감하거나 덜 민감해질 수 있습니다."라고 설명합니다. 다시 말해, 진정으로 무작위적인 현상이 발생하지만 결국 어떤 식으로든 감지를 왜곡하여 출력의 무작위성을 줄입니다.

양자 기술의 발달로 앞으로는 더욱 창의적이고, 신뢰성이 높은 난수 생성기를 볼 수 있을 것으로 기대됩니다.

그동안 random.org는 항상 있습니다. 가끔 사람들이 Mads Haahr에게 편지를 써서 사이트 출력에서 ​​예측 가능한 숫자 시퀀스를 발견했다고 불평합니다. 그는 인간이 무작위성을 인식하는 데 매우 서툴기 때문이라고 말합니다. 우리는 모든 것에서 패턴을 보는 경향이 있는 것 같습니다. Haahr는 시간을 내어 답장하고 이러한 개념을 더 자세히 설명하는 것을 좋아합니다.

그는 원래 random.org와 같은 리소스를 만들려고 하지 않았을 수도 있지만, 시간이 지나면서 Haahr는 자신이 하고 싶은 일이라는 것을 깨달았습니다. 아마도 그는 원래 덴마크 출신이기 때문일 것이라고 말합니다. 덴마크는 정기적으로 세계에서 가장 부패하지 않은 나라 중 하나로 평가받습니다 . 이제 사람들은 사용자, 참여자 또는 청중에게 공정한 동전을 던지고 있다고 확신시키기 위해 그의 웹사이트를 사용합니다. 그들이 실행하는 게임이나 프로세스가 정직하고 정당하다는 것을 - 적어도 무작위성의 경계 내에서 - 확신시키기 위해.

Haahr와 그의 동료들이 random.org에서 협업할 때, 예를 들어 복권 추첨 결과를 조작할 수 있다면 웹사이트의 출력을 조작할 만한 상당한 인센티브가 있을 것입니다. Haahr는 그들이 결코 그럴 리가 없다고 주장합니다. 그것은 그들이 대표하는 모든 것에 어긋나기 때문입니다. 하지만 그것은 공정한 질문입니다. 그가 기꺼이 인정했듯이, 그것은 가능하기 때문입니다.

아무리 난수 생성기가 정교하더라도 문제가 생기면 그것을 운영하는 사람이 원칙을 잃지 않았다는 믿음을 가져야 합니다.

"항상, 제 생각에는, 과정 어딘가에 어느 정도의 신뢰가 필요합니다." 하흐르가 말한다. "그걸 믿어야 합니다."

댓글