저는 이 업계에 처음 입문했으며 다음 질문에 대한 답을 찾을 수 없습니다.
ntpd 클라이언트가 16진수 키 값을 사용하여 chronyd 서버와 동기화하려면 이 키 파일을 ntpd 클라이언트에 업로드하기 전에 chronyd: prefix에서 사용하는 16진수 키에서 16진수를 제거해야 한다는 것을 알았습니다. 이것이 이러한 유형의 상호 운용성에 대해 알려진 사실입니까, 아니면 이것이 내 고객에게 특정한 문제입니까?
16진수 키를 사용하는 경우 ntpd에는 전체 키 길이가 필요하며, SHA-1의 경우 40개의 16진수 기호, SHA-256의 경우 64개의 16진수 기호여야 합니다. 이것이 ntpd의 설계 의도입니까? IT에서 ntpd 키를 생성하고 구성할 때 사용하는 알려진 방법입니까?
ntpd 구현에서는 (최신 버전 ntp4.2.8p17에서도) strlen(key) <= 20이면 ASCII 문자로 처리된다고 가정합니다. strlen(key) > 20자이면 16진수 형식으로 처리됩니다.
- 그러한 분리의 경계 한계가 왜 20인가요? RFC에서 수집된 MD5 다이제스트는 128비트, SHA-1 다이제스트는 160비트, SHA256은 256 등입니다. 20자 제한은 MD5 및 SHA-1만 고려한 ntpd의 초기 구현을 기반으로 합니까?
- 업계 IT 담당자가 이 20자 제한을 이해하고 예상하며 사실상의 표준으로 받아들여집니까?
- 이 제한을 키 유형에 따라 변경하면 어떤 영향을 미칠 수 있습니까? 즉, SHA-1의 경우 20으로 제한하고 SHA-256의 경우 32로 제한하면 이전 버전과의 호환성 문제가 발생합니까?