Näytetään tekstit, joissa on tunniste state:Done. Näytä kaikki tekstit
Näytetään tekstit, joissa on tunniste state:Done. Näytä kaikki tekstit

keskiviikko 11. maaliskuuta 2009

USB controlled remote control

Final part needed is how PC can open Abloy electric lock. Abloy sells separate unit for this but it costs a lot. In my case my home control PC authenticates Yubikeys and knows "better" (than Abloy unit) if doors should be opened. In a same time it can control Burglar alarm system, lighting etc. So what I needed was a way to attach Abloy remote control to my backend PC. And that's exactly what I did!
I selected Audon Electronics UDIN-8R as interface between PC and Abloy. It is USB-driven relay unit. It supports both Windows and Linux and can be controlled simply via virtual comport.

1: Abloy remote control uses 3V battery
2: These two devices needs to be fitted together...
3: There is 4 buttons in Abloy-remote - they are now wired from 4 relays
(1 common, 4 outputs)
4: 3-volts is regulated from USB 5-volts and fed into Abloy-remote.
All 4 buttons are wired into relays.
5: UDIN 8-relay USB-device has now it's own Abloy remote. Notice hole for the led

torstai 5. maaliskuuta 2009

Physical lock installation

EC101 was installed today. My old lock was was not in a good shape so it caused some troubles - Had to fix that first. I was glad to notice they use E-INK technology in a display.

lauantai 24. tammikuuta 2009

Should I authenticate locally or from Yubico service?

Yubikeys are delivered with secret AES-key which is unreadable from the key. Same secret AES-key is stored both in Yubikey and Yubico's validation server. To be able to validate you have to have internet connection.

Because all code is open source, you can also run your own validation server. In that case you can reprogram Yubikey with your own secret AES-key and store that key locally into your own server. I had to make a decision which way to go.

DR-log:
Question : Using Yubico validation service or local?
Alternative 1 Yubico validation service
+ Very easy validation (for example simple http request)
+ No need to reprogram keys
+ Access can be provided also friends with Yubikey, even through webinterface
- Needs internet connection
- You have to trust Yubico to keep your AES secret and state of internal counters
Alternative 2 Running own validation server
+ Works also when internet connection is broken
+ No need to trust any 3rd side
- Need to reprogram all keys. Same keys can't be used to logon any other Yubikey-enabled service
Comments : First of all I trust Yubico. Even if internet connections is lost, my PC can also die - I have to have also mechanical key and lock available for those situations.
Decision #3: I'll use Yubico authentication service

perjantai 23. tammikuuta 2009

How to capture keystrokes?

Yubikey is the one and only one time password generator hardware that acts as a keyboard. It's great for application logins but for this kind of application it's not so good: My PC has to autologon, my application must be running in interactive mode or I must be able to capture all windows keystroke events. I'm not sure if windows even sends keystroke messages if you haven't logged in. So I needed a autologon solution.

DR-log:
Question : How to autologon into OS?
Alternative 1 Windows registry based autologon
+ Free
+ Unsafe -- Logon username and password is stored into registry uncrypted
Alternative 2 Commercial product: LogonExpert
+ Encrypts password
+ Robust solution
+ Ctrl+Alt+Del, a shutdown event, administrator’s banners, or any other window appearing before logon is bypassed automatically.
Comments :
Decision #2: LogonExpert

(Just another Yubikey development idea: If Yubikey would act both as a keyboard and serial port, it could be used more robustly also in this kind of applications. It could even act as a "license dongle" sitting in back of a server, providing one time password through serial interface)

torstai 22. tammikuuta 2009

Backend hardware and OS

My home control is based on self-written event-driven rule-based engine, communicating with tens of microcontroller based nodes using CAN. It's windows application that runs as a service.

For hardware I have selected S635F Fanless MiniPC, with 2G memory and 60 GB SATA flash SSD.

I'm running Windows Server 2003 Web Edition. Security has been hardened as it's sitting in internet, behind a firewall of course. It provides mobile and web UI to monitor and control home equipments.

DR-log:
Question : What OS?
Alternative 1 Windows
+ I have more knowlegde programming windows
+ Yubikey needs interactive application, not "system level" application. I know how to capture keystrokes robustly under windows
- Need to constant security updates
Alternative 2 Linux
+ Considered more robust OS
+ Could be run on lower resources
Comments : I just know windows better and it has never failed since 2004 when I started to run SmartPirtti.
Decision #1 : Windows