시계 드리프트

Clock drift

시계 드리프트는 시계가 기준 시계와 정확히 같은 속도로 실행되지 않는 몇 가지 관련 현상을 가리킨다. 즉, 시간이 지나면 시계가 "떨어지거나" 다른 시계와 점차적으로 비동기화된다. 모든 시계는 표류하기 때문에 다시 동기화되지 않으면 결국 분기가 발생한다. 특히 컴퓨터에 사용되는 크리스털 기반 시계의 표류에는 어떤 고속 통신에 대한 어떤 동기화 메커니즘이 필요하다. 컴퓨터 시계 드리프트는 무작위 숫자 생성기를 만드는 데 이용될 수 있다. 그러나 이것들은 타이밍 공격에 의해 이용될 수 있다.

비원자 시계에서

손목시계 같은 일상의 시계는 정밀도가 한정되어 있다. 결국 그들은 정확성을 유지하기 위해 수정을 요구한다. 표류 속도는 시계 품질, 때로는 동력원의 안정성, 주변 온도 및 기타 미묘한 환경 변수에 따라 달라진다. 따라서 동일한 시계는 다른 경우에 다른 드리프트 속도를 가질 수 있다.

좀 더 진보된 시계와 오래된 기계식 시계는 종종 시계의 속도를 조절할 수 있는 일종의 속도 조절기를 가지고 있어서 시계 드리프트를 교정할 수 있다. 예를 들어, 진자 시계에서 시계추세는 진자의 길이를 약간 변경하여 조작할 수 있다.

석영 오실레이터는 기계식 클럭의 진자보다 제조상의 분산으로 인해 표류할 가능성이 적다. 따라서 대부분의 일상적인 석영시계는 조절 가능한 드리프트 보정이 없다.

원자시계

원자 시계는 매우 정확하고 시계 이동도 거의 없다. 심지어 지구의 자전 속도도 조석가속도 등의 영향으로 원자 시계보다 표류 및 표류 변화가 더 많다. 원자 시계 뒤의 원리는 과학자들이 정확히 9192 631 770번의 세슘 원자의 진동 측면에서 SI 단위다시 정의할 수 있게 했다. 이러한 진동의 정밀도는 원자시계가 1억년 동안 약 1초만 표류할 수 있게 한다; 2015년 현재, 가장 정확한 원자시계는 150억년에 1초씩 손실된다.[1][2] 국제원자력기구(TAI) 시간 기준과 그 파생상품(UTC 등)은 전 세계 원자시계의 가중 평균에 기초한다.

상대성

아인슈타인이 예측한 대로 상대론적 효과는 시간 확장에 따른 시계 표류 현상도 일으킬 수 있다. 관찰자에 상대적인 시간이란 일정한 보편적 시간이 없기 때문이다. 특수 상대성 이론은 서로 다른 관성 프레임에서 관찰자가 가지고 있는 두 개의 시계(즉, 서로에 대해 움직이지만 가속하거나 감속하지 않음)가 각각 다른 속도로 체크하기 위해 관찰자 중 한 명에게 어떻게 나타나는지를 설명한다.

이 외에도 일반 상대성 이론은 우리에게 중력 시간 확장을 준다. 간단히 말해, 더 강한 중력장(예를 들어 행성에 더 가까운)에 있는 시계가 더 천천히 간지럼을 타는 것처럼 보일 것이다. 이러한 시계를 들고 있는 사람들(즉, 더 강한 분야 내외의 사람들)은 어떤 시계가 더 빨리 가고 있는 것 같은지에 대해 모두 동의할 것이다.

영향을 받는 것은 시계의 기능보다는 시간 그 자체다. 두 가지 효과는 모두 실험적으로 관찰되었다.[citation needed]

시간 확장은 실제적으로 중요하다. 예를 들어 GPS 위성의 시계는 그들이 경험하는 중력의 감소로 인해 이러한 효과를 경험하고 있으며(지구상의 시계보다 시계가 더 빨리 달리는 것처럼 보이게 한다) 따라서 사용자에게 위치를 보고할 때 상대론적으로 보정된 계산을 통합해야 한다. 일반상대성이성을 설명하지 않으면 GPS 위성에 기초한 항법 고치는 불과 2분 후에 거짓이 되고, 글로벌 포지션의 오류는 매일 약 10km의 속도로 계속 축적될 것이다.[3]

난수생성기

컴퓨터 프로그램은 특히 암호학을 위해 고품질의 무작위 번호가 필요한 경우가 많다. 클럭 드리프트를 RNG(Random Number Generator)를 만드는 데 사용할 수 있는 몇 가지 유사한 방법이 있다.

하드웨어 난수 발생기를 만드는 한 가지 방법은 두 개의 독립적인 클럭 결정(예를 들어 초당 100회 틱을 체크하는 것과 초당 100만 회 틱을 체크하는 것)을 사용하는 것이다. 평균적으로 빠른 크리스털은 매번 느린 크리스털이 똑딱거리는 것을 10,000번씩 평균적으로 10,000번 똑딱거린다. 하지만 시계 결정이 정확하지 않기 때문에, 정확한 진드기 수는 다를 것이다. 그 변화는 무작위 비트를 만드는 데 사용될 수 있다. 예를 들어 빠른 눈금 수가 짝수일 경우 0을 선택하고, 눈금 수가 홀수일 경우 1을 선택한다. 따라서 100/10000 RNG 회로는 초당 100개의 다소 무작위 비트를 생성할 수 있다. 일반적으로 그러한 시스템은 편향되어 있다(예를 들어, 편향되지 않은 비트를 몇 개 생산하기 위해 다소 무작위적인 비트를 수백 개 "화이트닝"한다.

일종의 '소프트웨어 난수 생성기'를 구축하는 방식도 비슷하다. 여기에는 운영 체제의 타이머 틱(일반적으로 초당 100~1000회인 틱)과 CPU의 속도를 비교하는 것이 포함된다. OS 타이머와 CPU가 두 개의 독립 클럭 결정으로 실행된다면 상황은 이상적이며 이전 예와 거의 동일하다. 그러나 둘 다 동일한 클럭 크리스털을 사용하더라도 클럭 드리프트 측정을 수행하는 프로세스/프로그램은 인터럽트 및 다른 프로세스와 동시에 실행되는 프로그램과 같은 CPU에서 예측 불가능한 훨씬 더 많거나 덜한 이벤트에 의해 "방해"된다. 따라서 측정은 여전히 상당히 좋은 무작위 숫자를 산출할 것이다.

위에서 설명한 것과 같은 대부분의 하드웨어 무작위 번호 생성기는 상당히 느리다. 따라서 대부분의 프로그램은 좋은 씨앗을 만들어 내는 데만 사용하며, 그 다음 가성수 생성기암호학적으로 안전한 가성수 생성기에 공급하여 많은 난수들을 빠르게 만들어낸다.

타이밍 공격

2006년에는 CPU 가열 기반의 클록 스큐를 활용한 사이드 채널 공격이 발표되었다[4]. 공격자는 가명 서버(Tor hidden service)에서 CPU 로드를 많이 일으켜 CPU가 가열되는 원인이 된다. CPU 가열은 클록 스큐와 상관관계가 있으며, 타임 스탬프(서버의 실제 ID 아래)를 관찰하면 검출할 수 있다.

참고 항목

참조

  1. ^ Vincent, James (22 April 2015). "The most accurate clock ever built only loses one second every 15 billion years". The Verge. Retrieved 17 September 2016.
  2. ^ Gibney, Elizabeth (4 June 2015). "Hyper-precise atomic clocks face off to redefine time". Nature. 522 (7554): 16–17. Bibcode:2015Natur.522...16G. doi:10.1038/522016a. PMID 26040875.
  3. ^ 포게, 리처드 W.; "실제 세계 상대성: GPS 네비게이션 시스템" 2012년 6월 30일에 접속.
  4. ^ 스티븐 J. 머독 Hot or Not: ACM CCS 2006 클럭 스큐를 통해 숨겨진 서비스 노출(pdf)