[eluser]Phil Sturgeon[/eluser]
It has supported API keys for a few months now dude. I never got around to documenting it much, as it was just done on client request, but you can turn it on in the config. An example DB is provided.
Key restriction, method throttling and key-based permissions are all supported out of the box.
Use v2.2 if you are on CI 1.7.2 or CI 2.0 (BEFORE the PHP 5 only changes) or use v2.3 if you are using the very latest CI 2.0.
The key stuff works exactly how you are trying to work. You can even modify the name of the HTTP header it responds too