NFC Handover WIFI + Encryption
Question
In the NFC Handover Spec is a sample - how to write WPC Config to a WIFI-Tag.
There is a record-entry for encryption.
So if I want to store Encryption for a WIFI-Config there are 2 points I'm interested to: TKIP, CCMP
I can store this information, but I don't know by reading this information if this refers to GroupCipher OR PairwiseCipher OR both?
So I can set this:
config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);
config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);
and
config.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.TKIP);
config.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.CCMP);
But when do I set TKIP, CCMP for Pairwise AND/ OR GroupCipher.
Do I always set both? Also if I don't know if the encrpytion on the tag refers to Group or Pairwise?
I hope you know what I mean, If i read now AES from the tag, do I set
config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);
OR
config.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.CCMP);
OR
config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);
config.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.CCMP);
Solution
If you want to connect to WPA(1) AP then you have to use TKIP. For a WPA2 AP you need CCMP.
Now if you want to use both (WPA(1) and WPA2 AP) then you have to set both.
You should use same mechanism (TKIP/CCMP) for both PairWise & GroupWise Keys.
Pairwise Cipher key is used for unicast messages, while GroupCipher key is used for broadcast.
Hope this helps,