I'm not so sure that security should be built into peripheral connect protocols like USB.
We could just as easily treat a usb device like we do a network device, and harden the drivers against attack.
If you plug in a usb stick and it pretends to be a keyboard/mouse, it can do anything it wants to your system [within the context of a keyboard and mouse] as soon as it's plugged in. Hardened drivers do not prevent this. Granted, this is less dangerous if a machine is locked, but you can leave it plugged in and wait for someone to log on.
It does point out the most glaring flaw in the lack of a security model, though: you should be able to approve or deny a new peripheral connection before the drivers are loaded or DMA is allowed.
Since the typing is made with the full privileges of the current user and he might be totally unaware of this, it is nearly as good -- the dongle has only to wait until some administrator is on the computer. It gives all sorts of new attack vectors at least.
That's true, and people should be very wary of plugging in USBs. I, for one, would like the option to sandbox usbs: when it gets plugged in, ask my goddamn permission before granting it driver privileges. I'd probably be ok with a keyboard one, but write-only. But that doesn't mean USB is an inherent security risk, like something with DMA might be. One huge benefit of the serial bus is that by serializing the operations, you don't have to grant it access to bypass the cpu.