0
\$\begingroup\$

I know there are many techniques to protect over-voltage on the power supply. However, it does not apply to my case as it only provides single polarity voltage protection. Additionally, I want to achieve that with as little amount of components with small size as possible. In the other words, I want to design hardware to protect against a kind of harmful device called USB killer in a compact size with a little cost.

The schematic is shown below to demonstrate my idea:

schematic

simulate this circuit – Schematic created using CircuitLab

Here HOST is known to provide constant 5V. Device may charge via the 5V power line and discharge to provide a short high voltage pulse: V_u (aka Unknown Voltage) could be 110V or -110V or higher. This is to protect HOST against the high voltage from Device.

Let's assume that HOST can tolerate the maximum voltage from -5V to 15V for a short period of time. I use 1 Ohm resistor to get the current and protect the circuit from the over-current with a 10A fuse.

Will this circuit protect against such a device? How effective is this protection?

\$\endgroup\$
12
  • 4
    \$\begingroup\$ Pretty ineffective. \$\endgroup\$ Oct 13, 2020 at 21:50
  • \$\begingroup\$ See notebook datasheet. Usually R = 0,1 ... 0,01 Ohm. See I = U/R. 10A = U/1Ohm -> U = 10 volts - the resistor put down all voltage. 10A newer exists in your circuit. For 10A R=0,05 is minimum. \$\endgroup\$
    – nick_n_a
    Oct 13, 2020 at 21:51
  • 2
    \$\begingroup\$ To put it even more strongly than @SpehroPefhany did, this will not work at all. A 10A fuse is a rather robust device -- much more robust than the delicate traces and chips that constitute your computer's USB port. Guess which will fail first with >10A flowing through it? \$\endgroup\$
    – Dave Tweed
    Oct 13, 2020 at 21:59
  • \$\begingroup\$ @DaveTweed Oh yeah. I totally missed this point. It seems that I need to find an alternative to this ineffective circuit. Do you have any suggestions? Or I have to use the solution as this post said? \$\endgroup\$
    – ONLYA
    Oct 13, 2020 at 22:05
  • \$\begingroup\$ See: zender diodes, tunnel diodes, current limiter by mosfet, dc+dc with protection. \$\endgroup\$
    – nick_n_a
    Oct 13, 2020 at 22:06

3 Answers 3

0
\$\begingroup\$

Will this circuit protect against such a device? How effective is this protection?

Not at all.

  • The fuse will blow slower than the traces.
  • Why would anyone decide to try to blow the power rail (which is definitely easier to protect) instead of the data lines
  • a fuse blows when a critical current already flows. You can't really have that.
  • You're not even attempting to fuse the shield
  • This is a vain attempt – if your attacker has arbitrary much energy at their disposal, there's simply nothing you can do. Think about what happens when someone takes a high-powered electric arc welder to your computer. Will your fuse help? Modern batteries contain huge amounts of energy.
  • Honestly, what are you even protecting against. As 90% of bad computer security things, this was consideration done without proper threat modelling. If someone wants to incapitate your USB host device, a hammer, a drill, a sharp screwdriver, chewing gum, half a glass of water, a stone, urine will work too, unless you fully encapsulate your device and make the USB plug unavailable. If the USB plug is "optional" functionality, without which you want your system to still function, then don't make it available to begin with.
\$\endgroup\$
1
  • \$\begingroup\$ Yep. I truly need to tighten the usage of my protection hardware to only against the USB killer in common sense. And yes I have to think about a feasible circuit including the protection of data lines. Additionally, my thought is to add middle hardware between computer and unknown USB device in order to prevent the user from plugging in harmful devices that disguise themselves as storage ones. \$\endgroup\$
    – ONLYA
    Oct 14, 2020 at 1:46
0
\$\begingroup\$

You wont be able to protect the host device in that way. You need a kind of protection close to the host port. If that transient high voltage is in range of millisecond or lower, then one option is to use a TVS (like P6KE10) diode like this: enter image description here

\$\endgroup\$
1
  • \$\begingroup\$ Thank you for your advice! I have never thought TVS diodes before. It could be better if it is bi-directional. Repeated high-voltage pulse for a long time will generate much heat on a small TVS. I clearly need a system to indicate that to not destroy the diode. \$\endgroup\$
    – ONLYA
    Oct 14, 2020 at 2:18
0
\$\begingroup\$

This is only a partial answer, but for USB data lines you could use a Bourns TBU device.

https://www.bourns.com/products/circuit-protection/tbu-high-speed-protectors-hsps

One possible part is...

TBU-DF085-050-WH

https://www.bourns.com/docs/product-datasheets/tbu-df.pdf?sfvrsn=b7027cf6_10

In the un-triggerd state each data line of this TBU has an impedance between 23 and 38 ohms. When the current on the data lines passes the threshold (50mA to 100mA) then the TBU will become high impedance within 1us. In that state it is able to block up to +/-850V letting only 0.5mA pass.

You might also add some low capacitance schottky diodes between the data pins and the supply to shunt the fault current to the supply rails rather than into your USB transceiver/host controller.

schematic

simulate this circuit – Schematic created using CircuitLab

\$\endgroup\$
1
  • \$\begingroup\$ Thank you. This seems like a good solution. Additionally, I have taken some research on USB port protection, and found two components especially for USB said by TI: TPD1E10B06DPY and ESD122DMX so that I can only add 2 additional components for the protection. I will purchase and test those 2 solutions and find which will work more properly. \$\endgroup\$
    – ONLYA
    Oct 14, 2020 at 14:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.