Thư viện Tapo (Rust/Python) hỗ trợ giao thức TPAP của TP-Link, không cần bật tùy chọn tương thích bên thứ ba

Phần mềm06 tháng 10, 2026·6 phút đọc

Thư viện mã nguồn mở Tapo v0.11.1 vừa bổ sung hỗ trợ giao thức TPAP mới của TP-Link, cho phép điều khiển đèn, ổ cắm, ổ cắm điện và hub mà không cần bật tùy chọn 'Tương thích bên thứ ba' vốn bị tắt mặc định vì lý do bảo mật. Giao thức TPAP sử dụng SPAKE2+ an toàn hơn hẳn KLAP cũ, khiến việc ghi lại phiên đăng nhập trở nên vô dụng với kẻ tấn công.

Trong nhiều năm, những người dùng thiết bị nhà thông minh TP-Link Tapo đã quen với cảnh ổ cắm hoặc đèn đang hoạt động bình thường bỗng dưng "dở chứng" sau một bản cập nhật firmware. Mọi yêu cầu điều khiển từ xa đều trả về lỗi 403 Forbidden, dù không ai thay đổi dòng code nào. Nguyên nhân nằm ở một tùy chọn ẩn trong ứng dụng Tapo có tên "Tương thích bên thứ ba" (Third-Party Compatibility).

Với phiên bản v0.11.1 của thư viện Tapo — bộ thư viện mã nguồn mở viết bằng Rust và Python do cộng đồng phát triển — người dùng giờ đây có thể để tùy chọn này tắt hẳn mà vẫn điều khiển được thiết bị. Đây là kết quả của gần bốn tháng làm việc, trải qua ba bản phát hành liên tiếp chỉ trong một tuần.

Ba năm, ba lần "khóa cửa"

Câu chuyện này không phải lần đầu. Trong ba năm qua, TP-Link đã ba lần âm thầm thay đổi giao thức khiến các ứng dụng bên thứ ba bị khóa khỏi thiết bị Tapo.

  • 2023 — đèn và ổ cắm: Ba nhà nghiên cứu từ Đại học Catania và Đại học Royal Holloway (London) phát hiện bốn lỗ hổng trong cách thiết bị Tapo giao tiếp với ứng dụng. Kẻ tấn công trong phạm vi tín hiệu có thể chiếm tài khoản Tapo và lấy mật khẩu Wi-Fi. Sau đó, TP-Link âm thầm thay giao thức AES gốc bằng KLAP mới mà không hề thông báo. Mọi ứng dụng bên thứ ba buộc phải học lại từ đầu.

  • 2024 — camera: Sau khi nhà phát triển Juraj Nyíri báo cáo lỗ hổng và bị TP-Link từ chối cho phát hành bản vá, TP-Link tung ra tùy chọn "Tương thích bên thứ ba" vào tháng 12/2024 — tắt mặc định.

  • 2025 — ổ cắm và đèn trở lại: Firmware 1.4.0 mang đến giao thức mới TPAP, đẩy ổ cắm ra sau cùng tùy chọn trên. Đèn nối gót trong nửa đầu năm 2026.

TP-Link giải thích trên trang FAQ rằng tính năng này "bị tắt mặc định để đảm bảo an ninh", và việc bật lên "có thể làm giảm độ an toàn của thiết bị". Giao thức TPAP chưa từng được công khai tài liệu.

TPAP an toàn hơn KLAP như thế nào?

Điểm đáng chú ý nhất không chỉ là khả năng bỏ qua tùy chọn kia, mà là cách TPAP xác thực đăng nhập.

KLAP chứng minh hai bên cùng biết thông tin đăng nhập bằng cách trao đổi các giá trị băm. Mật khẩu không truyền trực tiếp, nhưng bất kỳ ai ghi lại được một phiên đăng nhập trên mạng của bạn đều có thể mang về nhà và thử đoán mật khẩu với tốc độ tối đa của phần cứng. Khóa phiên được tạo từ cùng nguyên liệu, nên chỉ cần đoán đúng mật khẩu là giải mã được toàn bộ dữ liệu phía sau.

TPAP sử dụng SPAKE2+ (RFC 9383) — một giao thức trao đổi khóa xác thực bằng mật khẩu. Hai điều thay đổi hoàn toàn:

  • Phiên đăng nhập bị ghi lại trở nên vô dụng để đoán mật khẩu. Không có gì trong quá trình trao đổi có thể kiểm tra ngoại tuyến. Cách duy nhất là thử trực tiếp lên thiết bị, từng lần một — và cơ chế khóa tài khoản tạm thời của TPAP chặn đứng điều đó.
  • Dữ liệu ghi lại vẫn riêng tư. Khóa mỗi phiên phụ thuộc vào bí mật mà hai bên tự tạo và không bao giờ gửi đi. Kẻ tấn công dù biết mật khẩu sau này cũng không giải mã được các phiên đã ghi trước đó.

Nói cách khác, tùy chọn "Tương thích bên thứ ba" thực chất là một bước hạ cấp bảo mật với cái tên nghe có vẻ thân thiện. Nếu không có thiết bị nào khác trên mạng cần nó, đây là lý do chính đáng để tắt hẳn.

Những thay đổi đáng chú ý khác

Bên cạnh TPAP, thư viện còn bổ sung một số tính năng mà cộng đồng mong đợi từ lâu.

Hỗ trợ hub camera H200 và H500: Trước đây thư viện chỉ giao tiếp được với hub H100. H200 và H500 vừa ghép nối được cảm biến, công tắc như H100, vừa ghép nối được camera và lưu trữ bản ghi hình. Người dùng giờ có thể liệt kê camera, tìm ngày có bản ghi, xem danh sách bản ghi theo khung thời gian và tải về dưới dạng clip MPEG-TS.

Lịch trình và hẹn giờ cho ổ cắm: Các quy tắc lịch trình chạy theo đồng hồ của chính ổ cắm, nghĩa là vẫn hoạt động kể cả khi script, máy chủ hay kết nối internet của bạn gặp sự cố. Hỗ trợ cả lịch theo giờ cố định, theo bình minh/hoàng hôn, lặp một lần hoặc theo các ngày trong tuần.

MCP server: tapo-mcp — máy chủ MCP đưa thiết bị Tapo đến các tác nhân AI — nay hỗ trợ hub H200/H500 và hoạt động với thiết bị đã tắt tùy chọn tương thích.

Lưu ý trước khi nâng cấp

Một số điểm cần chú ý khi chuyển từ v0.9 lên v0.11:

  • Giao thức AES cũ đã bị loại bỏ hoàn toàn.
  • Tên trường trong nhật ký kích hoạt và bản ghi nhiệt độ đã thay đổi.
  • Giá trị enum trong Python không còn so sánh bằng với số nguyên.
  • Sai mật khẩu có thể khóa thiết bị tạm thời — không nên thử lại trong vòng lặp.
  • Một số camera và hub camera chưa hỗ trợ TPAP, tùy model và firmware. Ví dụ C210 trên firmware 1.5.2 vẫn cần bật tùy chọn tương thích.

Ý nghĩa với người dùng Việt Nam

Thiết bị TP-Link Tapo rất phổ biến tại Việt Nam nhờ giá hợp lý và dễ tiếp cận. Với những ai đang dùng Home Assistant hoặc tự viết script điều khiển để tránh phụ thuộc vào đám mây, việc phải bật "Tương thích bên thứ ba" từng là một sự đánh đổi khó chịu giữa tính năng và bảo mật.

Giờ đây, lựa chọn đã rõ ràng hơn: cập nhật thư viện lên v0.11.1 và tắt hẳn tùy chọn kia. Nếu một thiết bị nào đó từ chối đăng nhập, người dùng nên báo lại model và phiên bản firmware cho cộng đồng — chính những báo cáo như vậy là cách các thiết bị mới dần được hỗ trợ.

Chia sẻ:FacebookX
Nội dung tổng hợp bằng AI, mang tính tham khảo. Xem bài gốc ↗