Hashvärden
Sidan kan endast redigeras av inloggade användare pga upprepad länkspam.
I version 4.17 av Nexus Personal / BankID Säkerhetsprogram tillkom det några hashvärden som bl.a. används i signaturer.
UHI
UHI står troligtvis för "Unique Host Identifier" och förekommer både i versionssträngen och i signaturer. UHI beräknas så här:
base64(sha1(mac_address + 0x00))
T.ex, om MAC-adressen är 00:22:15:aa:bb:cc:
base64(sha1(002215aabbcc00)) = base64(a5cdf262361664694fbe26eadb87eed4dc4d2e79) = pc3yYjYWZGlPvibq24fu1NxNLnk=
Sedan kan man ju fråga sig om man verkligen vill läcka ut UHI-värdet till vilka webbsidor som helst. Dels för att det är ett unikt nummer för datorn, och dels för att det går att brute forca MAC-adressen utifrån SHA1-värdet (det finns bara 2^24 st per tillverkar-id).
RPR
RPR är en hash av nonce/challenge-parametern i signaturer. Formel för den:
base64(sha1(nonce + xorstr(c1, c2)))
Där nonce är det base64-kodade nonce-värdet, c1 och c2 är konstanterna nedan.
c1 = (0x30,0x59,0x57,0x43,0x44,0x74,0x5,0x46,0x2,0x6b,0x62,0x55,0x2,0x1,0x52,0x4b,0x66,0x55,0x58,0x4b) c2 = "SmartCard_Reader"
xorstr är XOR av strängarna. Kommer man till slutet av c2-strängen så börjar man om från början. xorstr kan t.ex. beräknas så här i Python:
def ordifchar(x): if isinstance(x, basestring): return ord(x) else: return x def xorchar(a, b): return chr(ordifchar(a) ^ ordifchar(b)) def xorstr(a, b): return "".join([xorchar(a[i], b[i%len(b)]) for i in range(len(a))])
Update tickets
Nexus Personal verkar regelbundet hämta en "update ticket" från en server. Det sker i flera steg över HTTP:
- skicka förfrågan till servern
- servern skickar en challenge
- skicka tillbaka challenge + response
- servern ger oss en update ticket
Förslag på mer integritetsvänligt UHI
Man skulle kunna skicka ett tomt UHI-värde i versionsträngen och bara skicka med UHI-värdet i signaturer. Man skulle också kunna blanda in fler bitar i UHI-värdet så att det blir svårare att brute-forca, dvs mer än vad man får från MAC-addressen. T.ex. datorns modellnummer (tror man kan få det från BIOS/ACPI...), info från moderkortet m.m.