countermeasures generally consist of re-keying the
connection and notifying the network administrator.
When the receiver encounters two packets with
invalid MICs within one minute, it believes to be
under an attack, and disassociates its clients and
waits for a minute before continuing operation. MIC
is checked last in the TKIP decapsulation process.
Any frame that does not have a valid ICV and TSC
are discarded before the MIC is verified. The ICV
ensures that noise and transmission errors do not
erroneously trigger the countermeasures. In order to
minimize the risk of false alarms, the rule is that the
MIC shall be verified after the CRC, IV and other
checks have been performed (IEEE Standard for
Information Technology, 2004). Another
countermeasure is that, if a new temporal key cannot
be established before the full 16-bit space TSC is
exhausted, then TKIP protected communications
will cease. For key refresh failure, the
implementation halts further data traffic until
rekeying succeeds, or disassociates.
In short, TKIP is designed in such a way that
security completely relies on the secrecy of all the
packet keys (
Moen, Raddum & Hole, 2004). Even if
one packet key is lost to the attacker, it is easily
possible to find the MIC key. Similarly, if two
packets with same IV are disclosed, an attacker can
do anything for the duration of the current temporal
key. To avoid replay attacks, the sequence counter is
simply implemented such that no IV value, which
once has been received, will be allowed. The only
problem of this approach is introduced by the fact
that IEEE 802.11 allows burst-acknowledgements,
which indicates that up to 16 packets could be sent
at once and then be acknowledged by just a single
packet. Consequently the sequence counter has to
remember the last 16 IV values to guarantee that all
packets have been correctly received.
4 MODIFIED TKIP
As shown in Figure 1, the second phase of TKIP key
mixing function reuses the 80-bit TKIP-mixed
Transmit Address and Key (TTAK) or phase 1 key
(P1K) with MAC Protocol Data Units (MPDUs)
associated with the same 32-bits upper IV part,
Temporal Key (TK) and Transmitter Address (TA)
for the next consecutive 2
16
packets. Hence, the 32-
bit high IV becomes known to the receiver when the
first encrypted packet is transmitted and this part is
cached since it is static for the subsequent 2
16
packets.
The second phase mixes the output of the first
phase with the TK and monotonically increments
16-bit low IV part counter (i.e. 0x0000-0xFFFF) to
produce the final WEP seed, also called the per-
packet key. Since the knowledge of 32-bit high IV
and the future sequence of 16-bit low IV is also
known to the receiver, it is not necessary to send the
full 48-bit extended IV as redundancy again in each
packet. Thus, the cached 80-bits TTAK derived from
the IV in the first packet at the transmitter will also
be that same input to the second phase mixing of the
receiver and automatically the next 16-bit IV counter
it is just a unit increment of the previous one. Since
the IV counter is predictable, phase 2 can be
computed in advance while waiting for the next
packet(s) to arrive at the receiver. Therefore, in the
new Modified TKIP (MoTKIP) frame format, the
redundant 4-bytes extended IV is removed from the
packet load for packets ranging from the 2
nd
to the
(2
16
)
th
packet. We use the standard code algorithm
in (IEEE Standard for Information Technology,
2004) to optimised TKIP key mixing phase.
The function MK16 constructs a 16-bit value
from two 8-bit inputs as MK16(X,Y) = (256*X) +
Y. The phase 1 output stays the same for 2
16
(i.e. 65,
536) consecutive frames from the same TK and TA.
Cheap CPU operations common on 802.11 devices,
such as the exclusive-OR operation (
⊕), the addition
operation (+), the AND operation (&), the OR
operation ( | ), the right bit shift operation (>>),
rotate and table look-ups are used in phase 1 and
phase 2 key mixing.
Figure 1 also illustrates the general procedure for
MoTKIP. For MoTKIP encapsulation process,
another major change in TKIP frame format is
implemented by calculating the MIC over IV also;
and only for first packet transmission the Extended
IV XORed with session key is concatenated and sent
in the packet. In addition, the MoTKIP
encapsulation uses special flag bits for specific
control purpose. At the start of secure
communication, the transmitter or sender computes a
keyed cryptographic message integrity code, or the
MIC, over the MSDU source and destination
addresses, the priority bits, the MSDU plaintext data
and the 48-bit Extended IV also. MoTKIP appends
the computed MIC to the MSDU data prior to
fragmentation into MPDUs. The receiver obviously
has to verify the MIC after decryption with
Extended IV, ICV checking, and reassembly of the
MPDUs into an MSDU. Invalid MIC naturally leads
to discarding of corresponding MSDUs, and this
defends against forgery attacks and replay attacks.
MODIFIED TEMPORAL KEY INTEGRITY PROTOCOL FOR EFFICIENT WIRELESS NETWORK SECURITY
153