Skip to content

Commit cf4215a

Browse files
authored
Merge pull request #45 from IABTechLab/mkc-UID2-3218-ivs
Use random IVs for v2 token generation
2 parents cec164b + a5876c8 commit cf4215a

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

uid2_client/uid2_token_generator.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ class UID2TokenGenerator:
7070

7171
@staticmethod
7272
def generate_uid2_token_v2(id_str, master_key, site_id, site_key, params=None, version=2):
73+
"""This function is only used by tests."""
7374
if params is None:
7475
params = Params()
7576

@@ -80,11 +81,11 @@ def generate_uid2_token_v2(id_str, master_key, site_id, site_key, params=None, v
8081
# old privacy_bits
8182
identity += int.to_bytes(0, 4, 'big')
8283
identity += int.to_bytes(int(params.identity_established.timestamp()) * 1000, 8, 'big')
83-
identity_iv = bytes([10, 11, 12, 13, 14, 15, 16, 1, 2, 3, 4, 5, 6, 7, 8, 9])
84+
identity_iv = os.urandom(16)
8485
expiry = params.token_expiry
8586
master_payload = int.to_bytes(int(expiry.timestamp()) * 1000, 8, 'big')
8687
master_payload += _encrypt_data_v1(identity, key=site_key, iv=identity_iv)
87-
master_iv = bytes([21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36])
88+
master_iv = os.urandom(16)
8889

8990
token = int.to_bytes(version, 1, 'big')
9091
token += _encrypt_data_v1(master_payload, key=master_key, iv=master_iv)

0 commit comments

Comments
 (0)