PuTTY에서 사용하는 ECDSA P-521 키 생성 방식에 취약점이 발견됨. 521비트 모듈러스를 사용할 때는 k 값도 521비트 랜덤이어야 하는데, PuTTY는 512비트 랜덤만 사용해 상위 9비트가 0으로 채워짐. 이는 선형대수를 통해 개인키 유출로 이어질 수 있음.
PuTTY 개발자 Simon Tatham의 솔직하고 명확한 취약점 공개 자세를 높이 평가함. 변명이나 축소 없이 사실 그대로를 전달함.
취약점이 어떻게 발견되었는지에 대한 배경 설명이 부족함.
최신 Windows에는 OpenSSH가 기본 내장되어 있어 PuTTY를 더 이상 사용하지 않아도 됨. 다만 사용 습관이나 관성으로 계속 쓰는 사람들이 많음.
기본값을 사용하지 않고 해당 키 타입을 선택한 사람은 많지 않을 것임.
P521 호스트 키를 사용중이라면 클라이언트 업그레이드 후 키 교체가 필요할 수 있음.
RNG나 모듈러 연산이 필요없는 EdDSA로의 전환을 고려해볼 만함.
PuTTY라는 이름이 창문 유리를 고정하는 퍼티(putty)에서 유래했음을 뒤늦게 깨달음.
PuTTY가 SHA-512 해시 결과를 q로 모듈러 연산한 이유가 이해가 안 됨. 필요한 비트만큼 잘라쓰거나 메시지와 개인키를 각각 해시한 뒤 조합하는 방식이 더 나아보임.
521비트 랜덤 숫자 대신 상위 9비트가 0인 숫자를 사용하면 60번 서명 후 개인키가 유출된다는데, 어떤 원리인지 궁금함.
Hacker News 의견
다음은 해커뉴스 댓글들을 요약한 내용입니다: