Re: question on trust in chaoskey

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Dave Tian <dave.jing.tian@xxxxxxxxx> writes:

> BadUSB[1] attacks show that everyone can change the firmware adding
> new functionalities/interfaces, e.g., a usb driver with a
> keyboard/input interface. The question seems deeper than it looks like
> - we/users probably want to know:

Oh, good point -- I don't think anyone has considered what would happen
if some *other* device on the machine got hacked remotely and pretended
to be a ChaosKey.

> 1. a chaoskey is a usb key rather than a keyboard (though it may contain an input interface, like Yubikey)
>
> For the 1st issue, GoodUSB[2] allows user to specify the desired the
> interfaces the device should have, and disable all other requested
> interfaces from the device.

That, at least, would be easy to accomplish in the ChaosKey driver
itself -- verify that the device had precisely the interfaces expected
and entirely ignore it otherwise.

> 2. a chaoskey is actually a legit key from chaos (though I have no
> idea what the chaoskey would enumerate itself…)
>
> Answering the 2nd questions seems more challenging, since the final
> question would be how we could authenticate the device. Remember that
> everything (PID/VID..) from the firmware is not trusted. There are few
> solutions I can think about:

> 1. Disable the firmware update from the manufacturer

We have already done this -- the firmware cannot be updated unless you
have physical access to the device. You must insert a jumper wire into
the board and then insert the device for it to boot in 'firmware
update' mode.

> 2. Sign the firmware - I have no idea where the signature is saved on
> the device and how the host retrieves the signature from the device

Yeah, signing the firmware in the device doesn't sound interesting; that
seems subject to a trivial replay attack.

However, providing an interface where the device could prove that it
holds a certain private key might allow us to protect against spoofing
devices.

The trick with this would be securing the key from disclosure without
actually loading a TPM chip onto the board. That seems intractable to me.

-- 
-keith

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux