Java Card Technology for Smart Cards: Architecture and Programmer's Guide