Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
ISO/IEC 29167-14 specifies the use of the Advanced Encryption Standard in Output Feedback (OFB) mode as a cryptographic suite for RFID security services. While 29167-10 (AES-128) uses AES in CBC mode for authentication and CFB mode for encryption, 29167-14 adopts AES OFB mode, which transforms the AES block cipher into a synchronous stream cipher. In OFB mode, the keystream is generated by repeatedly encrypting the previous encryption output: KSi = EK(KSi-1), where EK is AES-128 encryption under key K and KS0 is the initialization vector (IV). The plaintext is then XORed with the keystream to produce ciphertext.
The standard specifies two key sizes: AES-128 (recommended) and AES-256 (optional for higher security applications). Both operate on 128-bit blocks but the AES-256 variant uses 14 rounds instead of 10. The keystream generation proceeds continuously from the initial IV, and the maximum number of blocks that can be encrypted under a single (Key, IV) pair is 2^32 blocks, after which a new IV must be established. This limit prevents the keystream from diverging into a security-compromising state due to the birthday bound on the 128-bit block cipher output.
The OFB mode authentication protocol defined in 29167-14 builds on the same three-pass SMP structure as 29167-10 but with important differences in the keystream management. During the Authenticate command, the reader transmits a 128-bit IV to the tag. The tag uses this IV, combined with its stored key, to compute the initial keystream block. Mutual authentication is achieved by exchanging encrypted challenge values: the tag encrypts its random challenge using the first keystream block, and the reader verifies it and responds with its own encrypted challenge using the second keystream block.
| Feature | 29167-10 (AES CFB) | 29167-14 (AES OFB) | Implication |
|---|---|---|---|
| Mode Type | Block cipher feedback (CFB) | Stream cipher (OFB) | OFB pre-computes keystream |
| Error Propagation | 1 bit error → 128-bit block error + bit error in next block | 1 bit error → 1 bit error only | OFB better for noisy channels |
| Pre-computation | Not possible (needs ciphertext input) | Full keystream pre-computation possible | OFB enables lower latency |
| IV Requirement | Unique IV per session | Unique IV per session (strict) | Same requirement in practice |
| Block Limit per (Key, IV) | 2^32 blocks | 2^32 blocks | Same birthday bound applies |
Keystream synchronization is managed through an IV counter mechanism. Both the reader and tag maintain a 32-bit block counter that is appended to the IV to generate unique keystream segments. After each encrypted transaction, the counter is incremented. If the counter wraps around (after 2^32 blocks, or approximately 68 GB of encrypted data), a new IV exchange is required. For typical RFID applications where each transaction encrypts 16–128 bytes, the counter provides over 17 million transactions before requiring re-keying at the maximum data rate.
OFB mode security relies critically on the uniqueness of IVs. If two messages are encrypted under the same (Key, IV) pair, the keystream is identical, and the ciphertexts can be XORed to cancel the keystream, revealing the XOR of the plaintexts. The standard addresses this by requiring that the reader generate IVs using either a monotonic counter or a hardware random number generator with at least 128 bits of entropy. Tags should store the last-used IV in non-volatile memory and reject any Authenticate command with a duplicate IV.
Hardware implementation of AES OFB on a passive tag shares most of its datapath with the AES-128 core specified in 29167-10. The only additional logic required is a 128-bit register to hold the feedback state and a multiplexer to select between the IV (for initialization) and the previous output (for subsequent blocks). The total area overhead for OFB mode compared to standalone AES-128 encryption is approximately 150 GE (for the feedback register and control logic), making it a low-cost addition to an existing AES core.