802.1ae requires a nonce to be sent with each Ethernet frame in the MACSEC tag. The 96 bit nonce is formed by concatenating a 64 bit fixed field (based on MAC source address and port number) with a 32 bit packet number. The packet number is incremented for each frame. So the nonces for two successive frames belonging to the same secure association would look as follows:
Frame #1 {MAC SA, Port Number, PN}
Frame #2 {MAC SA, Port Number, PN+1}
Now the frames are encrypted using the AES-GCM mode. So each 128 bit plaintext block of each message is encrypted using a unique nonce. For example:
Frame #1, Block #1 is encrypted using {MAC SA, Port Number, PN}
Frame #1, Block #2 is encrypted using {MAC SA, Port Number, PN+1}
etc...
Frame #2, Block #1 is encrypted using {MAC SA, Port Number, PN+1}
Frame #2, Block #2 is encrypted using {MAC SA, Port Number, PN+2}
etc...
So it seems that the same nonce/key combination is reused for different blocks in successive ethernet frames.
But the AES-CTR mode specifically warns against using the same nonce/key combination.
What am I missing?
thank-you