Terug naar projecten
2020

Reverse engineering van het TP-Link Tapo-protocol

JavaPython

De slimme stekkers van TP-Link Tapo praten een ongedocumenteerd lokaal HTTP-protocol. Ik heb het achterhaald door de Android-app te decompileren: een RSA-sleuteluitwisseling, een AES-versleutelingslaag die de fabrikant securePassthrough noemt, en de inlogflow met credentials die daarbovenop zit.

Ik publiceerde proof-of-concept-implementaties in Java en Python, die breed werden geforkt en opnieuw geïmplementeerd door de community. TP-Link is inmiddels overgestapt op het nieuwere KLAP-protocol, maar securePassthrough blijft in veel bibliotheken een gedocumenteerd terugvalpad.