Hey everybody, I've got another project of mine to show today.
Inspired by the USB Condom, the USB Wrapper helps protect your device against untrusted USB ports by severing the USB data lines and only allowing the power lines to connect through. This ensures that no data information can be transfered between the power source and your device. This helps against known attacks such as juice jacking:
http://krebsonsecurity.com/2011/08/beware-of-juice-jacking/] [url]http://krebsonsecurity.com/2011/08/beware-of-juice-jacking/[/url]
This however does present a problem. In legitimate USB chargers, the data lines are used to communicate to your device how much power they are capable of sourcing. The exact means by which they do vary between manufacturers. The standard calls for the D+ and D- lines to be shorted together, while companies like Apple will apply specific voltages on both lines depending on the charger. By entirely disconnecting these data lines, your device does not know any information about the charger, and will thus assume it is a standard USB2.0 port. This limits means the device will self-limit the charging rate to 2.5W (or not charge at all!), even if the charger can in fact handle more.
To deal with this, the USB Wrapper has two slider switches allowing you to tell your device what kind of charger it is connected to. This also allows you to mix and match chargers and device manufacturers which don't follow the same signalling rules. For example, an iPhone with a Samsung charger cube. It features selections for dedicated charger port (D+ & D- shorted), Apple, Sony, and open circuit. For Apple, there are 4 options, 500mA, 1A, 2.1A, and 2.5A.
The project is open source hardware and the sources can be found at
https://github.com/Galvant/usb_wrapper-pcbHere is a video I made for the USB Wrapper:
As with all my projects, you can find it on my website at
http://galvant.ca/shop/usb-wrapper/. I just graduated from my MSc so your support goes a long way to allow me to keep working on open source hardware full time!
As usual, questions/comments/concerns/etc are welcome and appreciated. Thanks!