Skip to main content
added code markup
Source Link
Niyi
  • 33
  • 4
  1. It loads the S file and selects a nonce (n) i.e. n = S[0]n = S[0]
  2. It invalidates the nonce by deleting it from the S file (prevents replay attacks)
  3. It creates a message by concatenating the amount and the nonce i.e. m = v || nm = v || n
  4. It creates an enciphered text (e1) i.e. e1 = H(K,m)e1 = H(K,m) where H = "HMAC-SHA-1" or "CBC-MAC-Y" i.e ISO/IEC 9791-1 Algorithm 3
  5. It converts the enciphered text to base 10 and sends it (via SMS) to the user's mobile phone
  6. It deducts the amount from the user's server-side balance
  1. It loads the S file and selects a nonce (n) i.e. n = S[i]n = S[i] where i = 0
  2. It creates a message by concatenating the amount and the nonce i.e. m = v || nm = v || n
  3. It creates an enciphered text (e2) i.e. e2 = H(K,m)e2 = H(K,m) where H = "HMAC-SHA-1" or "CBC-MAC-Y" i.e ISO/IEC 9791-1 Algorithm 3
  4. If e1 != e2e1 != e2, it repeats steps (1)-(3) whilst incrementing (i) up to 20 times (to allow for drift). If a match does not exist, if outputs an error message and quits
  5. If e1 == e2e1 == e2, it accepts the value as a credit to the user's client-side balance
  6. Finally, it invalidates all the nonces tried in step (1) by deleting them from the S file
  1. It loads the S file and selects a nonce (n) i.e. n = S[0]
  2. It invalidates the nonce by deleting it from the S file (prevents replay attacks)
  3. It creates a message by concatenating the amount and the nonce i.e. m = v || n
  4. It creates an enciphered text (e1) i.e. e1 = H(K,m) where H = "HMAC-SHA-1" or "CBC-MAC-Y" i.e ISO/IEC 9791-1 Algorithm 3
  5. It converts the enciphered text to base 10 and sends it (via SMS) to the user's mobile phone
  6. It deducts the amount from the user's server-side balance
  1. It loads the S file and selects a nonce (n) i.e. n = S[i] where i = 0
  2. It creates a message by concatenating the amount and the nonce i.e. m = v || n
  3. It creates an enciphered text (e2) i.e. e2 = H(K,m) where H = "HMAC-SHA-1" or "CBC-MAC-Y" i.e ISO/IEC 9791-1 Algorithm 3
  4. If e1 != e2, it repeats steps (1)-(3) whilst incrementing (i) up to 20 times (to allow for drift). If a match does not exist, if outputs an error message and quits
  5. If e1 == e2, it accepts the value as a credit to the user's client-side balance
  6. Finally, it invalidates all the nonces tried in step (1) by deleting them from the S file
  1. It loads the S file and selects a nonce (n) i.e. n = S[0]
  2. It invalidates the nonce by deleting it from the S file (prevents replay attacks)
  3. It creates a message by concatenating the amount and the nonce i.e. m = v || n
  4. It creates an enciphered text (e1) i.e. e1 = H(K,m) where H = "HMAC-SHA-1" or "CBC-MAC-Y" i.e ISO/IEC 9791-1 Algorithm 3
  5. It converts the enciphered text to base 10 and sends it (via SMS) to the user's mobile phone
  6. It deducts the amount from the user's server-side balance
  1. It loads the S file and selects a nonce (n) i.e. n = S[i] where i = 0
  2. It creates a message by concatenating the amount and the nonce i.e. m = v || n
  3. It creates an enciphered text (e2) i.e. e2 = H(K,m) where H = "HMAC-SHA-1" or "CBC-MAC-Y" i.e ISO/IEC 9791-1 Algorithm 3
  4. If e1 != e2, it repeats steps (1)-(3) whilst incrementing (i) up to 20 times (to allow for drift). If a match does not exist, if outputs an error message and quits
  5. If e1 == e2, it accepts the value as a credit to the user's client-side balance
  6. Finally, it invalidates all the nonces tried in step (1) by deleting them from the S file
added 26 characters in body
Source Link
Niyi
  • 33
  • 4

It must have been a long day and a late night butand after reading all the great responses (i.e. sanity checks) below, I seem to have come back to my senses and jettisoned the poorly thought out, home-made crypto idea. :)

  1. Generate a unique shared symmetric key (K)
  2. Generate a TAN (Transaction Authentication Number) File (S)
  3. Copy K and S into the server's database and the device'ssmart card's secure element
  1. It loads the S file and selects a nonce (n) i.e. n = S[0]
  2. It invalidates the nonce by deleting it from the S file (prevents replay attacks)
  3. It creates a message by concatenating the amount and the nonce i.e. m = v || n
  4. It creates an enciphered text (e1) i.e. e1 = H(K,m) where H = "HMAC-SHA-1" or "CBC-MAC-Y" i.e ISO/IEC 9791-1 Algorithm 3
  5. It converts the encipherenciphered text to base 10 and sends it (via SMS) to the linkeduser's mobile phone
  6. It deducts the amount from the user's server-side balance
  1. It loads the S file and selects a nonce (n) i.e. n = S[i] where i = 0
  2. It creates a message by concatenating the amount and the nonce i.e. m = v || n
  3. It creates an enciphered text (e2) i.e. e2 = H(K,m) where H = "HMAC-SHA-1" or "CBC-MAC-Y" i.e ISO/IEC 9791-1 Algorithm 3
  4. If e1 != e2, it repeats steps (1)-(3) whilst incrementing (i) up to 20 times (to allow for drift). If a match does not exist, if outputs an error message and quits
  5. If e1 == e2, it accepts the value as a credit to the user's client-side balance
  6. Finally, it invalidates all the nonces tried in step (1) by deleting them from the S file

It must have been a late night but I seem to have come back to my senses and jettisoned the poorly thought out, home-made crypto idea.

  1. Generate a unique shared symmetric key (K)
  2. Generate a TAN (Transaction Authentication Number) File (S)
  3. Copy K and S into the server's database and the device's secure element
  1. It loads the S file and selects a nonce (n) i.e. n = S[0]
  2. It invalidates the nonce by deleting it from the S file (prevents replay attacks)
  3. It creates a message by concatenating the amount and the nonce i.e. m = v || n
  4. It creates an enciphered text (e1) i.e. e1 = H(K,m) where H = "HMAC-SHA-1" or "CBC-MAC-Y" i.e ISO/IEC 9791-1 Algorithm 3
  5. It converts the encipher to base 10 sends it to the linked mobile phone
  6. It deducts the amount from the server-side balance
  1. It loads the S file and selects a nonce (n) i.e. n = S[i] where i = 0
  2. It creates a message by concatenating the amount and the nonce i.e. m = v || n
  3. It creates an enciphered text (e2) i.e. e2 = H(K,m) where H = "HMAC-SHA-1" or "CBC-MAC-Y" i.e ISO/IEC 9791-1 Algorithm 3
  4. If e1 != e2, it repeats steps (1)-(3) whilst incrementing (i) up to 20 times (to allow for drift). If a match does not exist, if outputs an error message and quits
  5. If e1 == e2, it accepts the value as a credit to the client-side balance
  6. Finally, it invalidates all the nonces tried in step (1) by deleting them from the S file

It must have been a long day and a late night and after reading all the great responses (i.e. sanity checks) below, I seem to have come back to my senses and jettisoned the poorly thought out, home-made crypto idea. :)

  1. Generate a unique shared symmetric key (K)
  2. Generate a TAN (Transaction Authentication Number) File (S)
  3. Copy K and S into the server's database and the smart card's secure element
  1. It loads the S file and selects a nonce (n) i.e. n = S[0]
  2. It invalidates the nonce by deleting it from the S file (prevents replay attacks)
  3. It creates a message by concatenating the amount and the nonce i.e. m = v || n
  4. It creates an enciphered text (e1) i.e. e1 = H(K,m) where H = "HMAC-SHA-1" or "CBC-MAC-Y" i.e ISO/IEC 9791-1 Algorithm 3
  5. It converts the enciphered text to base 10 and sends it (via SMS) to the user's mobile phone
  6. It deducts the amount from the user's server-side balance
  1. It loads the S file and selects a nonce (n) i.e. n = S[i] where i = 0
  2. It creates a message by concatenating the amount and the nonce i.e. m = v || n
  3. It creates an enciphered text (e2) i.e. e2 = H(K,m) where H = "HMAC-SHA-1" or "CBC-MAC-Y" i.e ISO/IEC 9791-1 Algorithm 3
  4. If e1 != e2, it repeats steps (1)-(3) whilst incrementing (i) up to 20 times (to allow for drift). If a match does not exist, if outputs an error message and quits
  5. If e1 == e2, it accepts the value as a credit to the user's client-side balance
  6. Finally, it invalidates all the nonces tried in step (1) by deleting them from the S file
added 26 characters in body
Source Link
Niyi
  • 33
  • 4

- - - EditEDIT (24-Apr-2013 14:45pm GMT) - - -

- - - Edit - - -

- - - EDIT (24-Apr-2013 14:45pm GMT) - - -

added 2084 characters in body
Source Link
Niyi
  • 33
  • 4
Loading
added 2084 characters in body
Source Link
Niyi
  • 33
  • 4
Loading
Tweeted twitter.com/#!/StackSecurity/status/326879639219879936
added 147 characters in body; edited body
Source Link
Niyi
  • 33
  • 4
Loading
Source Link
Niyi
  • 33
  • 4
Loading