이 페이지의 내용
NTP에 대한 NTS(Network Time 보안) 지원
NTS는 네트워크 시간 동기화를 위한 암호화 보안을 제공하고 NTP의 클라이언트-서버 모드를 지원합니다.
NTS 개요
NTS는 네트워크 시간 동기화를 위한 암호화 보안을 제공하고 NTP의 클라이언트-서버 모드를 지원합니다. NTS는 전송 레이어 보안(TLS) 프로토콜과 AEAD(Authenticated Encryption with Associated Data)를 사용하여 사용자에게 인증된 방식으로 네트워크 시간을 가져옵니다. 또한 NTS는 NTP 확장 필드의 암호화를 지원합니다.
가장 중요한 보안 프로세스는 정확한 시간에 달려 있습니다. 악의적인 소스의 네트워크 시간 동기화는 심각한 결과를 초래합니다. NTS를 활성화하면 디바이스에서 정확한 네트워크 시간 동기화가 보장됩니다.
Junos OS Evolved 릴리스 24.2R1부터 NTP(Network Time Protocol)를 사용하는 NTS(Network Time 보안)에 대한 RFC 8915 준수는 ACX 시리즈, QFX 시리즈 및 PTX 시리즈 디바이스에서 지원됩니다. NTS는 네트워크 시간 동기화를 위한 암호화 보안을 제공하고 NTP의 클라이언트/서버 모드를 지원합니다.
이 RFC 8915 준수 기능은 다음을 지원합니다.
- 서버에 대한 로컬 인증서 구성 및 클라이언트에 대한 인증서 확인 옵션.
- 클라이언트와 서버 간에 TLS 채널을 설정하기 위한 x.509 인증서 확인.
- TLS NTS-KE 프로토콜 지원.
- 서버 및 클라이언트에서 NTS 보안 클라이언트-서버 NTP 통신을 지원합니다.
NTS의 이점
- 패킷 조작, 스푸핑, 디도스(DDOS) 증폭 공격, 재생 공격과 같은 광범위한 보안 공격에 대해 강력한 암호화 보호 기능을 제공합니다.
- 신뢰할 수 있는 소스에서 정확한 네트워크 시간 동기화 보장
- 확장성 제공: 서버는 클라이언트별 구성을 수동으로 사전 구성하지 않고도 여러 클라이언트에 서비스를 제공할 수 있습니다. 쿠키를 사용하기 때문에 서버는 키 및 AEAD 알고리즘과 같은 클라이언트별 데이터를 로컬에 저장할 필요가 없습니다
- 모바일 디바이스 추적 방지
NTS를 통한 네트워크 시간 동기화
NTS는 NTS 키 설정 프로토콜(NTS-KE)과 NTS 확장 필드를 사용하는 NTP 시간 동기화의 두 가지 프로토콜로 구성됩니다.
NTS-KE 프로토콜
NTS-KE(NTS 키 설정 프로토콜)는 TLS 프로토콜을 사용하여 서버의 초기 인증, NTS 매개 변수 협상 및 TLS를 통한 키 설정을 다음 순서로 관리합니다.
- 클라이언트는 NTS-KE 서버와 TLS 핸드셰이크를 수행하고 인증서를 성공적으로 확인합니다.
-
클라이언트는 TLS 보호 채널을 통해 서버와 NTS 매개 변수 협상을 수행합니다. 협상된 암호화 알고리즘은 AEAD 방법으로, 두 번째 단계에서 NTP 패킷을 보호합니다.
-
클라이언트와 서버가 통신을 위한 키 자료를 성공적으로 설정합니다.
-
또한 서버는 다음 단계에서 사용할 초기 쿠키를 클라이언트에 보냅니다.
-
TLS 채널이 닫히고 NTP는 시간 데이터의 실제 교환이 이루어지는 다음 단계로 진행합니다.
NTS는 TLS 버전 1.3만 지원합니다. 이전 TLS 버전은 NTS-KE 프로토콜 단계에서 거부됩니다.
NTS 확장 필드를 사용한 NTP 시간 동기화
이 단계에서는 NTP 패킷의 확장 필드를 통해 NTP 시간 동기화 중 암호화 및 인증이 다음 순서로 관리됩니다.
-
클라이언트는 NTS 확장 필드를 사용하여 NTP 서버에 시간을 쿼리합니다. 이러한 확장 필드에는 협상된 AEAD 알고리즘을 사용하여 계산된 쿠키와 인증 태그, NTS-KE 핸드셰이크에서 추출된 키 자료가 포함됩니다.
NTS 보안 NTP 클라이언트 요청에는 다음과 같은 NTS 확장 필드가 포함됩니다.
-
고유 식별자 확장 필드: 무작위로 생성된 데이터를 포함하며 NTS 수준에서 재생 보호 수단을 제공합니다.
-
NTS 쿠키 확장 필드: NTS-KE 단계에서 설정되는 키 자료와 협상된 암호화 알고리즘에 대한 정보를 포함합니다. 쿠키는 추적을 방지하기 위해 요청에 한 번만 사용됩니다.
-
NTS 쿠키 자리 표시자 확장 필드: (선택 사항) 클라이언트가 응답 패킷에서 추가 쿠키를 받기를 원한다는 것을 서버에 전달합니다.
-
NTS 인증자 및 암호화된 확장 필드: NTS-KE 중에 설정된 AEAD 알고리즘 및 키를 사용하여 생성됩니다. 이 필드는 NTP 헤더 및 이전의 모든 확장 필드에 대한 무결성 보호를 제공합니다.
쿠키를 지속적으로 새로 고치면 디바이스가 네트워크 주소 변경 시 추적되지 않도록 보호합니다. 예를 들어, 서로 다른 네트워크를 가로지르는 모바일 디바이스가 있습니다. 인식 가능한 데이터가 없기 때문에 공격자는 서로 다른 네트워크 주소를 통해 전송된 두 개의 패킷이 동일한 클라이언트에서 왔는지 확인할 수 없습니다.
-
-
서버가 클라이언트로부터 NTS 보안 요청을 받으면 마스터 키를 사용하여 쿠키의 암호를 해독합니다.
-
서버는 협상된 AEAD 알고리즘과 쿠키에서 사용 가능한 키를 추출합니다. 서버는 이 키를 사용하여 NTP 패킷의 무결성을 확인하여 패킷에 대한 조작이 없는지 확인합니다.
-
서버는 하나 이상의 새 쿠키를 생성하고 NTP 응답 패킷을 생성합니다. 서버는 클라이언트가 요청 패킷에 추가한 각 쿠키 자리 표시자 확장 필드에 대해 하나 이상의 새 쿠키와 하나의 추가 쿠키를 생성합니다.
응답 패킷에는 두 개의 NTS 확장 필드가 있습니다.
- 요청 패킷의 고유 식별자 필드와 동일한 내용을 포함하는 고유 식별자 확장 필드.
- 추출된 키를 사용하여 NTP 헤더 및 이전 확장 필드를 보호하는 NTS 인증자 및 암호화된 확장 필드입니다.
-
또한 서버는 쿠키를 암호화하여 NTS 인증자 및 암호화된 확장 필드에 포함합니다. 또한 이 절차는 공격자가 응답 메시지에서 쿠키를 추출할 수 없기 때문에 클라이언트를 추적으로부터 보호합니다.
-
서버가 응답 패킷을 마무리하고 클라이언트에 패킷을 전송합니다.
-
클라이언트가 응답 패킷을 수신합니다.
-
클라이언트는 고유 식별자 필드를 확인하고 고유 식별자가 미해결 요청과 일치하는지 확인합니다.
-
클라이언트는 키와 AEAD 알고리즘을 사용하여 패킷의 무결성 검사를 성공적으로 수행합니다.
-
클라이언트는 쿠키를 해독하여 풀에 추가하고 서버에서 수신한 시간 정보를 처리합니다.