Tapo Rust/Python 라이브러리, TP-Link의 TPAP 프로토콜 지원 추가

2 hours ago 3

비공식 Tapo 클라이언트 tapo v0.11.1이 TPAP를 지원해, 일부 기기 예외를 제외하면 앱의 Third-Party Compatibility 설정을 끈 채 연결할 수 있음 클라이언트가 기기의 프로토콜을 자동 판별하므로 기존 코드 변경 없이 IP 주소 연결과 discover_devices 모두에서 새 인증 방식을 사용할 수 있음 TPAP의 SPAKE2+ 인증은 KLAP와 달리 캡처한 로그인으로 오프라인 비밀번호 추측을 할 수 없으며, 나중에 비밀번호가 유출돼도 과거 세션을 복호화할 수 없음 H200/H500 카메라 허브와 녹화 다운로드, 플러그의 일정 및 타이머 기능도 추가됐으며, 일정은 스크립트나 인터넷 연결 없이 기기 자체에서 실행됨 업그레이드 시 레거시 AES 제거와 호환성 변경을 확인해야 하며, TPAP에서 잘못된 비밀번호로 로그인을 반복하면 기기가 일시적으로 모든 로그인을 차단할 수 있음 펌웨어 업데이트로 끊긴 서드파티 연결 Tapo 플러그는 펌웨어 1.4.0부터 앱의 Me > Third-Party Services > Third-Party Compatibility를 켜야 기존 방식의 서드파티 연결을 허용함 코드가 바뀌지 않았는데도 펌웨어 업데이트 뒤 403 Forbidden이 발생할 수 있음 #441, #449, #473 등을 포함해 최소 9개 이슈에서 같은 문제가 나타남 tapo는 TP-Link Tapo 기기를 위한 비공식 Rust/Python 클라이언트이며, v0.11.1부터 일부 예외를 제외하고 이 설정을 끌 수 있음 약 4개월간의 작업이 9월 28일 v0.10.0, 10월 2일 v0.11.0, 10월 4일 v0.11.1로 일주일 안에 반영됨 Python 패키지는 Rust 크레이트의 얇은 래퍼이므로 모든 변경이 같은 버전 번호로 동시에 적용됨 세 차례의 보안 변경과 프로토콜 전환 2023년 조명과 플러그에서는 기존 AES가 KLAP로 교체됨 2월 University of Catania와 Royal Holloway, University of London의 연구자 3명이 L530E 전구에서 시작해 통신 방식의 취약점 4개를 보고함 통신 범위 안의 공격자가 피해자의 Tapo 계정을 탈취하고 Wi-Fi 비밀번호를 알아낼 수 있었음 몇 달 뒤 펌웨어가 AES를 KLAP로 바꾸기 시작했지만, TP-Link는 취약점과의 연관성을 확인하거나 변경을 공지하지 않았음 변경 의도를 묻는 포럼 글은 ...

Read Entire Article