Auth::Yubikey_Decrypter(3) Decrypting the output from the yubikey token

VERSION

Version 0.07

SYNOPSIS

The decryption module does only one thing - decrypt the AES encrypted OTP from the Yubikey. To this, it requires the OTP, and the AES key.

Please note - this module does not perform authentication - it is a required component to decrypt the token first before authentication can be performed.


#!/usr/bin/perl
use strict;
use Auth::Yubikey_Decrypter;
my $fulltoken = "dteffujehknhfjbrjnlnldnhcujvddbikngjrtgh";
my $aeskey = "ecde18dbe76fbd0c33330f1c354871db";
my ($publicID,$secretid_hex,$counter_dec,$timestamp_dec,$session_use_dec,$random_dec,$crc_dec,$crc_ok) =
Auth::Yubikey_Decrypter::yubikey_decrypt($fulltoken,$aeskey);
print "publicID : $publicID\n";
print "Secret id : $secretid_hex\n";
print "Counter : $counter_dec\n";
print "Timestamp : $timestamp_dec\n";
print "Session : $session_use_dec\n";
print "Random : $random_dec\n";
print "crc : $crc_dec\n";
print "crc ok? : $crc_ok\n";

FUNCTIONS

yubikey_decrypt

Input : token aeskey

Token - received by the Yubikey aeskey - either the modhex or hex AES key for your Yubikey (contact Yubico if you don't have the AES key)

Output :

$publicID $secretid_hex $counter_dec $timestamp_dec $session_use_dec $random_dec $crc_dec $crc_ok

yubikey_modhex_decode

Input : the modhex code Output : decoded modhex code in hex

yubikey_crc_check

Performs a crc check on the decoded data

REQUIRES

Perl 5, Crypt::Rijndael

Order your Yubikey from <http://www.yubico.com>

BUGS

Please report any bugs or feature requests to "bug-auth-yubikey_decrypter at rt.cpan.org", or through the web interface at <http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Auth-Yubikey_Decrypter>. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

SUPPORT

You can find documentation for this module with the perldoc command.

    perldoc Auth::Yubikey_Decrypter

You can also look for information at:

AUTHOR

Phil Massyn, "<phil at massyn.net>"

ACKNOWLEDGEMENTS

Based a lot on PHP code by : PHP yubikey decryptor v0.1 by Alex Skov Jensen Thanks to almut from <http://perlmonks.org> for code guidance Thanks to Mark Foobar <http://blog.maniac.nl> for reporting the -32 bug on line 91 and 92.

COPYRIGHT & LICENSE

Copyright 2008 Phil Massyn, all rights reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.