5phinX / piPa55

Hardware password manager based on raspberry pi zero
MIT License
6 stars 1 forks source link

How it works? #1

Open zicmama opened 5 years ago

zicmama commented 5 years ago

That project generate and store passwords for websites and is able to write it back on web page when hitting CapsLock? Is it right?

5phinX commented 5 years ago

Short answer would be yes. But it can be used to store all kinds od passwords that you normally type in using a keyboard. Including login passwords. And it also allows you to use your password instead of generating a random one.

zicmama commented 5 years ago

I have still trying to make your creation work... It loads modules, but stops on "Ethernet is not up!", because of bad IP. It must miss definition for "usb0" in /etc/interfaces.d

Form Host PC, the keyboard have errors...

[42865.595385] usb 3-2: new high-speed USB device number 5 using xhci_hcd
[42865.911435] usb 3-2: device descriptor read/64, error -71
[42878.452186] usb 3-2: device descriptor read/64, error -71
[42878.668110] usb 3-2: new high-speed USB device number 6 using xhci_hcd
[42878.797153] usb 3-2: New USB device found, idVendor=1d6b, idProduct=0104
[42878.797160] usb 3-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[42878.797164] usb 3-2: Product: piPa55 password manager
[42878.797168] usb 3-2: Manufacturer: 5phinX
[42878.797171] usb 3-2: SerialNumber: e148
[42878.799005] cdc_ether 3-2:1.0 usb0: register 'cdc_ether' at usb-0000:00:14.0-2, CDC Ethernet Device, 2e:6c:75:82:bb:1e
[42878.800388] input: 5phinX piPa55 password manager as /devices/pci0000:00/0000:00:14.0/usb3/3-2/3-2:1.2/0003:1D6B:0104.0002/input/input18
[42878.857675] hid-generic 0003:1D6B:0104.0002: input,hidraw0: USB HID v1.01 Keyboard [5phinX piPa55 password manager] on usb-0000:00:14.0-2/input2
[42878.886246] cdc_ether 3-2:1.0 enp0s20u2: renamed from usb0
[42878.912593] IPv6: ADDRCONF(NETDEV_UP): enp0s20u2: link is not ready
[42878.912757] cdc_ether 3-2:1.0 enp0s20u2: kevent 12 may have been dropped
[42878.912765] cdc_ether 3-2:1.0 enp0s20u2: kevent 12 may have been dropped

Do you think you could provide help? Thanks

5phinX commented 5 years ago

I do not see any errors in the log you provided. The host system seems to have identified the keyboard correctly. The network interface also appears in the system so everything should work. Could you provide the output of 'ip addr' command? If there is an error in the configuration of the network interface it may be because of network management software you are using. I have not tested the compatibility across many distros so there may be bugs.

zicmama commented 5 years ago

You are right, keyboard is OK, it was just lacking IP configuration for usb0 sudo ip addr add 192.168.148.1/24 dev usb0 fix it

Oh, then tcl server runs but it was missing "pass_storage/" folder...

Now to use it as my password manager, I go to http://192.168.148.1/ and record there my credentials... Then when I want to use them, I select the one I want to use and send it to any web page by pressing VerMaj twice. It works that way!! Great

Do you think, there could be any way to automatically select the good credentials to send based on web site URL? That seems somekind difficult or impossible for me...

Or keyboard commands should launch application, open URL and send credentials...

5phinX commented 5 years ago

That would require active cooperation of the host PC. The web browser would need to send website information to the raspberry pi. I wanted to do the password manager that does not require any host software so this version of the project does not support such access out of the box. It is, however, possible to extend the funtionality of the project.