SKID (Secret-Key IDentification protocol), by Walter Fumy and Markus Dichtl, originates from a research effort in Europe in 1992 (Research and Development in Advanced Communication Technologies in Europe, RIPE Integrity Primitives: Final Report of RACE Integrity Primitives Evaluation (R1040), RACE, June 1992), also available in the Springer's LNCS-series, vol. 1007.
Unfortunately, the original text seems to be unavailable in the web. The part I of the book can be found here: http://oai.cwi.nl/oai/asset/5295/5295D.pdf. However, SKID was sent for standardization in ISO/IEC, and is essentially the same as ISO/IEC 9798-4:1999(E)-standard's three-pass authentication mechanism for mutual authentication. This standard seems to be plentifully available via simple googling despite the apparent IPR issues.
SKID-2 means a unilateral (two-pass) auth.protocol, while SKID3 means the (three-pass) mutual authentication (ISO 9798-4, Chapter 5.2.2).
There are indeed some variations on the protocol. Most notably there is confusion on whether $B$ (resp. $A$) should include $B$'s (resp. $A$'s) identity in Step 2 (resp. Step 3) or vice versa. Notably Schneier's Applied Cryptography orders the identities differently (2nd ed. Chapter 3.2 about SKID).
The "original" version of SKID3 (where $B$ will include $A$'s identity inside the MAC in Step 2 and $A$ will include $B$'s identity in Step 3) is correct, at least from the point of view of protecting against reflection attack: adding the identity inside the MAC means that the sending party (here: $B$) is able to distinguish between messages sent by $B$, $A$ and other possible parties $A'$. If the message includes merely $B$'s own identity, such a distinction cannot be made.
The actual questions:
- Order of $r_A$ and $r_B$. Within one message it is indeed the same, in which order the nonces appear. However, they need to be in a different order from Step 2 to Step 3, or (as one variation goes) leave out $r_A$ in Step 3. There is a type of attack against a public-key authentication protocol featured in ISO 9798-3 authentication mechanisms called Canadian attack (e.g. p.112 of Boyd and Mathuria's Protocols for Authentication and Key Establishment), which is applicable here as well, if the MACs are too similar. In essence, the attacker may try to fool B to accept a token from Step 2 as a token from Step 3, unless they are dissimilar.
- The omitting of $r_A$ does not expose the protocol to typical attacks including reflection, parallel sessions and MitM. This is basically due to the reason that it is difficult for an attacker to get through to Step 3, since Step 2 already includes both nonces and the token is unique in construction and format in the protocol. Other attacks may apply, though.
- Even though SKID3 can be considered as a standard mechanism, one will still have to be careful to consider the circumstances where to use the protocol. The protocol does assume a pre-shared secret between $A$ and $B$ and is used for entity authentication only. The notion of universal composability for protocols only came around in 2000 by Canetti, so SKID has been designed on a per-attack basis rather than general security.