Internet Banking Security Assessment Considerations

Aug 05, 2008 in bank-en EFTPoS, Veiligheid

Ik was enige tijd geleden gevraagd wat voor soort dingen kan worden beschouwd bij het zoeken op

Hieronder is een lijst van dingen die kunnen worden overwogen. Het was gewoon een brain dump en als zodanig kan niet worden voltooid.

Niet onderschatten de waarde van de norm voor uw infrastructuur, website configuratie, database-engine configuratie / en / QA omgevingen.

Enkele ideeën:

  • Veel niet blokkeren rekeningen na X mislukte logins, dit is normaal gesproken alleen voor een goede klantenservice, maar laat het systeem

- En alle andere dingen worden verwacht voor een (gedwongen veranderingen, veroudering, etc.))
- Hulpmiddelen zoals kan worden gebruikt om brute kracht geauthentiseerd sessies.

  • Veel mogelijk sessie volgnummers te worden opgehoogd, waardoor een geverifieerde gebruiker om andere klant sessie.

- Deze kan worden client-kant, op cookies gebaseerde, enz.
- Haal iemand om de van methoden en de code wordt gebruikt.
- Database query strings kan worden geplaatst in de test invoervelden, waardoor tabel stortplaatsen tot browser.
- Controleer of alle pagina's zijn beveiligd en bevatten vlaggen.

- Een ander segment van de belangrijkste systeem.

  • Webserver moet dubbele homed of gelijkwaardig (sommige VLAN technieken zijn goed)

- Aparte private en publieke kaarten, monitoring / backup / administratie
- Infrastructuur set-up expliciet ontkennen inbound / outbound havens, prive IP & controle ontsnapt uit het

  • Op alle segregatie punten zorgen regels bestaan die waardering voor al het verkeer dat punt.
  • Alle waar mogelijk moet afkomstig zijn van een veilige back-end database.

- Dit kan een dat wil zeggen niet de voornaamste
- Dit staat meestal voor transacties te verschijnen real-time aan de klant.
- Veel handelingen kunnen worden batched in werkelijkheid is. (intern of extern aan de

  • Zorgen voor passende regels zijn set-up op firewalls.

- Er moet worden inkomende en uitgaande regels over firewalls en routers filteren.

  • Staan echter helemaal geen infrastructuur op de front-end om externe administratieve aansluitingen. etc.)

- Gebruik de seriële console poort te verbinden met een of

  • Diensten die niet gebruikt worden door het systeem actief zijn

- Deze moeten worden uitgeschakeld.

  • Port scan van de ondersteunende infrastructuur (routers / switches) en (s).

- Onderzoek naar de redenen voor alle open poorten.

  • Gebruik niet de belangrijkste toegangspoort voor betrouwbare partner (clearing / RAS / enz.)
  • Doe alles wat standaard IIS-controles en NT controles (Voorbeeld scripts, change management, methoden, enz.)
  • Zorgen voor denial of service voorzorg in zijn genomen voor alle infrastructuren en apparatuur.
  • Controleer de geschiktheid van de escalatie procedures gebruikt.

- Kijk voor real-time monitoring en alarmering.
- Kijk voor verantwoordelijkheid matrix.
- Kijk voor de eigendom van zaken.

  • Overweeg stroomopwaarts vervoerder (s) (denial of service, IP-spoofing, enz.)
  • Overweeg social engineering van klant-, administratieve, partner accounts / systemen en infrastructuur.

- Helpdesk procedures en het beleid en / of alternatieve technologieën (Caller ID, Gateway-IP, enz.).

  • Gebruik maken van dynamische wachtwoorden waar mogelijk (SecureID, TACACS, enz.).
  • Gebruik versleuteld tunnelling waar nodig Firewall-1, etc)
  • Overwegen te kijken naar andere klant methoden ter verbetering van bestaande methoden.

- cert, het IP-adres geblokkeerd te enz.
- Overweeg het gebruik van of CVN voor uitgegeven kaarten.

  • Overwegen hoe wachtwoorden worden gedistribueerd / veranderd voor de klanten.

- Platte e-mail, telefoon, enz.
- Kan wachtwoorden worden gewijzigd?

  • Is extra gebruikt tussen delen van de diensten eenmaal geauthenticeerd?
  • Overweeg wat de klant heeft tot een keer geverifieerd.

- Kijk op RTGS-, transfers, tot kaarten, enz.
- Als een aanvaller gaat krijgen, wat kan het doen?

  • Gebruik technieken om pagina's, de klant gegevens worden niet opgeslagen in het cachegeheugen op of client systeem.

- Dit zijn vlaggen die kan worden ingesteld binnen pagina's.
- Normaal SSL-cache is opgeslagen, maar sommige proxy verkopers zijn spelen met technieken om dat te doen.
- Caching van SSL-pagina's op de client-systeem kan worden ingeschakeld op sommige browsers.
- Mei banken gebruik maken van een soortgelijke) applet voor alle interactie met de consument, het beperken van alle caching kwesties.

  • Zorgen voor de papieren en online-aansprakelijkheid clausules beschikbaar zijn alle getroffen gebieden.
  • Zorgen binnen de klant aanmelden aansprakelijkheid wordt verminderd.

- Ik heb gezien uitspraken als "het gebruik van dit systeem op uw eigen risico, de verantwoordelijkheid voor eventuele aansprakelijkheid of vordering zal niet ... ..."
- Niet erg klantgericht, maar dat is wat hun juridische afdeling aanbevolen.

Alle bovenstaande kan effect op de en / of de exploitatie van een on-line systeem.

Andere dingen om te overwegen:

  • Externe en van de aanvraag.
  • Eigendom en beheer van de / toepassingen
  • Publishing punten voor nieuwe inhoud (intern / particulier / vertrouwde of
  • Topologie van front-end. Dwz document moet worden opgezet en beheerd adequaat.
  • Zijn beperkt AP tests uitgevoerd telkens wanneer er wijzigingen zijn aangebracht aan het dwz geïntegreerde AP in Change Management proces.
  • Database Is het gebufferd of is het live op de core
  • Welke faciliteiten zijn voorzien? incasso + + + ... .... Beschouw de verschillende scenario's voor uw afhankelijk van de functie.
  • Welke andere diensten worden gedeeld binnen het segment dat het wordt uitgevoerd. Kan deze worden gebruikt om de site. Bijv. verschillende / bedrijven / met verschillende / profielen.
  • Overweeg alle externe ondersteunende diensten binnen je AP. Kijk interne / externe vergiftiging kansen, mail enz. Wat IPS's doen zij gebruik heeft de enige kans om te krijgen tot systemen of ondersteunende diensten, die van invloed kunnen zijn op
  • Afhankelijk van de grootte van de veel organisatie geen gebruik maken van dezelfde voor de infrastructuur en de toepassing. Als gevolg externe verbindingen met de infrastructuur kunnen worden voorzien van een externe voor het beheer van de infrastructuur.
  • Kijk naar het bedrijfsleven en de gebruikers methoden en paden (client certs, beveiligde ID, enz.). Beschouw twee factor en moderne gebruiker methoden. Bijv. wat is uw favoriete voedsel in aanvulling op de normale gebruikersnamen en wachtwoorden. Heeft systeembeheer personeel gebruik maken van dynamische wachtwoorden (SecureID, etc)?
  • Zien of de aanvraag stuurt e-mail aan gebruikers die kunnen bevatten interessante informatie.
  • Betere tot de applicatie kan doorgaans worden verkregen na tot het systeem. dus krijg een legitieme op het systeem. Ik heb geconstateerd dat sommige monster / administratie schermen zijn beperkt tot geauthentiseerde gebruikers.
  • Overweeg social engineering de Help-desk te hebben een resetten.

Cisco Commando Cheat Sheet

Jul 04, 2008 in infrastructuur

Ik heb een lijst met nuttige die ik al zou ik hier een bericht plaatsen. Wanneer krijg ik een kans die ik zal blijven uitbreiden en verbreden van de lijst commando set.

Dankzij de fastget2you.com gevoegde Met # missomhack Gemeenschap voor de originele lijst.

ROUTER :

  • Config # terminal bewerken - zorgt voor betere bewerkingsopdrachten
  • Config # terminal Monitor - geeft de output op
  • Config # terminal ip netmask-formaat hexadecimale | bit-count | decimale - verandert het formaat van subnetmaskers

Host Name:

  • Config # hostnaam ROUTER_NAME

Banner:

  • Config # banner motd # BERICHT HIER # - # kan worden vervangen door een willekeurig teken, moeten beginnen en eindigen het bericht

BESCHRIJVING:

  • Config # Beschrijving Dit is de Zuid-ROUTER - kan worden ingeschreven op de Config-niveau als

Klok:

  • Config # klok tijdzone Centrale -6
    # Klok ingesteld uu: mm: ss dd maand jjjj - Voorbeeld: klok ingesteld 14:13:00 25 augustus 2003

CHANGING het register opgenomen:

  • Config # config-register 0 × 2100 - rom Monitor Mode
  • Config # config-register 0 × 2101 - rom boot
  • Config # config-register 0 × 2102 - Boot uit NVRAM

CDP:

  • Config # CDP run - Schakelt CDP op
  • Config # CDP holdtime 180 - Stelt de tijd dat een apparaat blijft. Standaard is 180
  • Config # CDP timer 30 - Stelt de update timer.The standaard is 60
  • Config # int 0
  • Config-if # CDP inschakelen - Activeert CDP op het
  • Config-if # geen CDP inschakelen - Schakelt CDP op het
  • Config # geen CDP run - Schakelt CDP uitgeschakeld

Host tabel:

  • Config # ip host ROUTER_NAME INT_Address - Voorbeeld: IP-host-lab een 192.168.5.1
    -of -
  • Config # ip host RTR_NAME INT_ADD1 INT_ADD2 INT_ADD3 - Voorbeeld: IP-host-lab een 192.168.5.1 203.23.4.2 199.2.3.2 - (voor e0, S0, S1)

  • Config # ip domain-lookup - Vertel router te zoeken domeinnamen
  • Config # ip 122.22.2.2 - Locatie van de
  • Config # ip domeinnaam cisco.com - Domein te voegen aan het einde van namen

CLEARING tellers:

Statische routes:

  • Config # ip route Net_Add SN_Mask Next_Hop_Add - Voorbeeld: ip route 192.168.15.0 255.255.255.0 205.5.5.2
  • Config # ip route 0.0.0.0 0.0.0.0 Next_Hop_Add - Standaard route
    -of -
  • Config # ip Net_Add - Gateway

IP routing:

  • Config # ip route - standaard ingeschakeld
  • Config # router rip
    -of -
  • Config # router IGRP 100
  • Config # 0
  • Config-if # ip adres 122.2.3.2 255.255.255.0
  • Config-if # no shutdown

IPX-routing:

LIJSTEN:

IP Standard 1-99
IP-uitbreiding 100-199
IPX Standaard 800-899
IPX-uitbreiding 900-999
IPX Filters 1000-1099

IP-NORM:

  • Config # 10 vergunning 133.2.2.0 0.0.0.255 - alle src ip's op het gebied van 133.2.2.0
    -of -
  • Config # 10 vergunning host 133.2.2.2 - specificeert een specifieke host
    -of -
  • Config # 10 toestaan dat - laat ieder adres
  • Config # int 0
  • Config-if # ip 10 op - ook beschikbaar: uit

IP UITGEBREID:

  • Config # 101 vergunning tcp 133.12.0.0 0.0.255.255 122.3.2.0 0.0.0.255 eq
    -protocollen: TCP, UDP, ICMP, IP (geen stopcontacten dan), onder andere
    source dan bestemmingsadres
    -eq, GT, LT voor vergelijking
    -aansluitingen kunnen worden numerieke of naam (23 of 21 of ftp, etc)
    -of -
  • Config # 101 deny tcp any host 133.2.23.3 eq www

-of -

-of -

  • Config # 801 vergunning -1 -1 - "-1" is hetzelfde als "alle" met / host adressen
  • Config # 0
  • Config-if # ipx 801 uit IPX UITGEBREID:
  • Config # 901 vergunning 4AA alle 4BB alle
    - Vergunning protocol src_add socket dest_add socket
    - "Iedereen" omvat alle sockets, of kan gebruik socket nummers

-of -

-of -

-of -

NAMED LIJSTEN:

  • Config # ip standaard lijstnaam
    -kan worden IP of IPX, standaard of uitgebreid
    , gevolgd door het toestaan of weigeren lijst
  • Config # toestaan dat eventuele
  • Config-if # ip lijstnaam in
    gebruik van de lijst de naam in plaats van een lijst met aantal
    -de mogelijkheid voor een grotere mate van

PPS SETUP:

  • Config-if # ppp
  • Config-if # ppp chap pap
    -volgorde waarin ze zullen worden gebruikt
    alleen geprobeerd met de vermelde
    -als een niet lukt, dan verbinding wordt verbroken
  • Config-if # exit
  • Config # gebruikersnaam Lab-b 123456
    -gebruikersnaam is de router dat zal aansluiten bij deze een
    Alleen bepaalde routers kunt aansluiten

-of -

  • Config-if # ppp chap hostname ROUTER
  • Config-if # ppp chap 123456
    -Als deze functie is ingesteld op alle routers, dan een van deze verbinding kan maken met een andere
    -set hetzelfde op alle voor eenvoudige configuratie

ISDN SETUP:

  • Config # isdn basic-5ess - bepaald door telecom
  • Config # seriële 0
  • Config-if # isdn spid1 2705554564 - isdn "telefoonnummer" van lijn 1
  • Config-if # isdn spid2 2705554565 - isdn "telefoonnummer" van lijn 2
  • Config-if # PPS - of HDLC, LAPD

DDR - 4 stappen voor het opzetten van ISDN met DDR Configureer switch

1. Config # isdn basic-5ess - kan worden gedaan op het config

2. Configureer statische routes
Config # ip route 123.4.35.0 255.255.255.0 192.3.5.5 - stuurt het verkeer bestemd voor 123.4.35.0 naar 192.3.5.5
Config # ip route 192.3.5.5 255.255.255.255 bri0 - geeft aan hoe te leren 192.3.5.5 (via bri0)

3. Configureer
Config-if # ip adres 192.3.5.5 255.255.255.0
Config-if # no shutdown
Config-if # ppp
Config-if # dialer-groep 1 - van toepassing dialer-lijst naar deze
Config-if # dialer kaart ip 192.3.5.6 naam Lab-b 5551212
verbinding te maken met lab-b op 5551212 met ip 192.3.5.6 als er interessante verkeer
kunt ook gebruik maken van "dialer string 5551212" in plaats indien er sprake is van slechts een router verbinding te maken met

4. Geef interessante verkeer
Config # dialer-list 1 IP toestaan dat eventuele
-of -
Config # dialer-list 1 ip lijst 101 - gebruik maken van de 101 als de dialer lijst

5. Andere opties
Config-if # hold-wachtrij 75 - wachtrij 75 pakketten voor nummerkeuze
Config-if # dialer load-drempel van 125 of
belasting die nodig is voor de tweede lijn is gebracht
- "125" is een nummer 1-255, waar% belasting is x/255 (dwz 125/255 is ongeveer 50%)
-kan controleren door in, uit, of een

Config-if # dialer idle-timeout 180
bepaalt hoe lang te blijven stationair draaien voor beëindiging van de zitting
-standaard is 120

Relay SETUP:

SHOW COMMANDS

  • Toon - alle lijsten op de router
  • Toon CDP - CDP timer en holdtime
  • Toon CDP binnenkomst * - dezelfde als volgende
  • Toon CDP buren detail - details van buurman met ip toevoegen en IOS
  • Toon CDP buren - ID, lokale holdtime, capaciteit, platform portid
  • Toon CDP - int draait CDP en hun
  • Toon CDP verkeer - CDP pakketjes verzonden en ontvangen
  • Toon controllers seriële 0 - DTE of DCE status
  • Toon dialer - aantal keer dialer string is bereikt, andere stats
  • Toon flash - bestanden in het flash -
  • Toon LMI - LMI stats
  • Toon map - statische en dynamische kaarten voor 's
  • Toon - 's en dlci's
  • Toon geschiedenis - commando's ingevoerd
  • Toon gastheer - de inhoud van de host tabel
  • Toon int f0/26 - stats van f0/26
  • Toon 0 - tonen statistieken van 0
  • Toon IP - IP-configuratie van de switch
  • Toon ip - lijsten op schakelaar
  • Toon - IP-configuratie van de
  • Toon IP-protocollen - routing protocollen en timers
  • Toon ip route - Geeft IP routing tabel
  • Toon ipx - dezelfde, alleen ipx
  • Toon ipx interfaces - RIP en worden verzonden en ontvangen, IPX-adressen
  • Toon ipx route - ipx routes in de tabel
  • Toon ipx servers - tabel
  • Toon ipx verkeer - RIP en info
  • Toon isdn actief - het aantal met een actieve status
  • Toon isdn status - toont als SPIDs zijn geldig, indien aangesloten
  • Toon mac-adres-tafel - de inhoud van de dynamische tabel
  • Toon protocollen - gerouteerde protocollen en net_addresses van interfaces
  • Toon inrijprocedure config - dram configuratiebestand
  • Toon sessies - de verbindingen via naar externe apparaat
  • Toon startup-config - NVRAM config bestand
  • Toon terminal - toont geschiedenis grootte
  • Toon a / b - stat van haven 26/27
  • Toon versie - IOS info, uptime, het adres van de switch
  • Toon vlan - alle geconfigureerde VLAN's
  • Toon vlan-lidmaatschap - vlan opdrachten
  • Toon vtp - vtp configs

CATALYST COMMANDS
Voor Native IOS - Niet CatOS

SCHAKEL ADRES:

  • Config # ip adres 192.168.10.2 255.255.255.0
  • Config # ip default-gateway 192.168.10.1 duplexmodus:
  • Config # 0 / 5 - "fastethernet" voor 100 Mbps-poorten
  • Config-if # full duplex - ook de helft | auto | full-flow-control

SWITCHING MODE:

  • Config # switching-mode-store-and-forward - ook fragment-free

MAC-adres configs:

  • Config # mac-adres-tabel permanente aaab.000f.ffef e0 / 2 - alleen deze mac zullen werken op deze poort
  • Config # mac-adres-tabel beperkt statische aaab.000f.ffef e0 / 2 e0 / 3
    -poort 3 kan alleen u uit de haven 2 met die mac
    -zeer restrictieve
  • Config-if # veilige haven max.-mac-count 5 - slechts 5 mac adressen toegewezen aan deze poort

VLAN:

  • Config # vlan 10 naam FINANCIËN
  • Config # 0 / 3
  • Config-if # vlan-lidmaatschap statische 10 LINKS:
  • Config-if # op - ook off | Auto | wenselijk | nonegotiate
  • Config-if # geen 2
    -verwijdert vlan 2 uit de haven
    -standaard alle VLAN's zijn ingesteld op een haven

    CONFIGUREREN VTP:

  • Config # verwijderen vtp - dient te gebeuren vóór de toevoeging van een
  • Config # vtp - de standaard ook cliënt en transparante
  • Config # vtp domein Camp - de naam doet er niet toe, net zo alle schakelaars gebruiken dezelfde
  • Config # vtp 1234 - beperkte
  • Config # vtp snoeien in staat stellen - grenzen vtp uitzendingen slechts schakelaars getroffen
  • Config # vtp snoeien uitschakelen FLASH UPGRADE:
  • Config # kopie tftp: / / 192.168.5.5/configname.ios Opcode - "opcode" voor IOS upgrade "NVRAM" voor het opstarten config

DELETE STARTUP CONFIG:

  • Config # verwijderen NVRAM

Breaking VISA PIN

Jul 02, 2008 in bank-en EFTPoS

Hieronder staat een artikel dat ik onlangs gevonden. Dit een van de meest uitgebreide beschrijvingen van Waarde

Ik dacht dat ik zou replicatieonderzoek het hier voor mijn lokale referentie.

Als reactie hebben plaatsgevonden met betrekking tot de grammatica gebruikt in de oorspronkelijke ik hebben een aantal van de voor de hand liggende fouten met behoud van de context van het oorspronkelijke

http://69.46.26.132/ ~ biggold1/fastget2you/tutorial.

--- Original ----

Voorwoord
Heeft u ooit de vraag wat er zou gebeuren als u uw of en iemand vindt. Zou deze persoon te kunnen trekken contanten uit een geldautomaat gissen, ergens, uw Bovendien, als je die vindt iemand de zou u proberen te raden de en neemt de kans om wat te gemakkelijk Natuurlijk het antwoord op beide vragen is "nee". Dit werk heeft geen betrekking op de tweede vraag, is het een kwestie van Hierbij probeer ik naar het antwoord op de eerste vraag.

Alle gegevens die worden gebruikt voor dit werk is openbaar en vrij kunnen worden gevonden op De rest is een kwestie van en programmeren, dus we kunnen leren en heb plezier. Ik licht geen geheimen. Bovendien is de doelstelling (en definitieve van dit werk is aan te tonen dat zijn nog steeds sterk genoeg om voldoende We weten allemaal is niet het

Dit werk analyseert een van de meest voorkomende algoritmen, gebruikt door vele en probeert uit te vinden hoe resistent is om aanvallen. Door "raden" bedoel ik niet de keuze van een willekeurige en probeert haar in een ATM. Het is bekend dat het algemeen zijn wij van drie opeenvolgende proeven om de juiste als we niet ATM houdt de Zoals is vier cijfers lang is het gemakkelijk afleiden dat de kans op een willekeurige gissen is 3 / 10000 = 0,0003, lijkt laag genoeg om veilig te zijn, het betekent dat je moet verliezen uw meer dan drieduizend keer ( of verlies van meer dan drieduizend kaarten tegelijk:) totdat er een redelijke kans op verlies van

Wat ik eigenlijk bedoeld met "gissen" was het breken van de zodat enkele kan je meteen weten de bijbehorende Daarom is dit document studies die mogelijkheid, het analyseren van het en stelt een methode voor de Tenslotte geven we een instrument waarmee de en de huidige resultaten over de geschatte kans om het systeem. Merk op dat, zolang andere algoritmen (andere zoals IBM of validatie handtekeningen zoals of CVC) zijn vergelijkbaar met is deze analyse kan worden gedaan yielding bijna dezelfde resultaten en conclusies.



Een van de meest voorkomende is de Prijs De klant krijgt een en een Gecodeerd in de is een vier-cijferige nummer, genaamd Dit nummer is een cryptografische handtekening van de andere in verband met de Wanneer een gebruiker zijn / haar de ATM leest de codeert en stuurt deze informatie naar een centrale computer. Er een proces wordt berekend met behulp van de klant opgegeven en de van informatie met een cryptografisch Het proces wordt vergeleken met de op de opgeslagen, indien zij voldoen aan de centrale computer keert terug naar de ATM-vergunning voor de Zie in meer detail.

De beschrijving van de kan worden gevonden in twee documenten in verband met de vorige pagina. Samenvattend bestaat in de van een 8-byte (64 bit) string van de zogenaamde Transformed Parameter (TSP), met (DEA) in code reserveren modus (ECB) met behulp van een geheime 64-bits sleutel. De is afgeleid van de output van de dat een 8-byte string. De vier cijfers van de (van links naar rechts) stemmen overeen met de eerste vier decimalen (van links naar rechts) van de output van toen beschouwd als een 16 hexadecimale tekens (16 x 4 bits = 64 bits) string. Als er geen vier decimale cijfers onder de 16 hexadecimale karakters dan de is voltooid genomen (van links naar rechts) niet decimale karakters en decimalizing ze door gebruik te maken van de conversie A-> 0, B-> 1, C-> 2, D -> 3, E-> 4, F-> 5. Hier is een voorbeeld:

Uitgang van 0FAB9CDEFFE7DCBA

0975

De strategie van vermijding decimalization door het overslaan van personages tot vier decimalen zijn gevonden (wat gebeurt er met zijn bijna alle tijden zoals we zullen zien) is heel slim, omdat het voorkomt dat een belangrijke vertekening in de verdeling van de cijfers die is bewezen te worden fataal voor andere systemen, hoewel het effect op dit systeem zou veel lager zijn. Zie ook een gerelateerd probleem is niet van toepassing is op

De TSP, gezien als een 16 hexadecimale tekens (64 bits) string, wordt gevormd (van links naar rechts) met de 11 meest rechtse cijfers van de PAN nummer) met uitzondering van de laatste cijfers (check digit), een cijfer 1 tot 6 die kiest de geheime sleutel versleutelen en ten slotte de vier cijfers van de Hier is een voorbeeld:

PAN: 1234 5678 9012 3445
Toets keuzehandel: 1
2468

TSP: 5678901234412468

Uiteraard het probleem van het breken bestaat in het vinden van de geheime sleutel voor het versleutelen van De methode daarvoor is om een brute kracht zoeken van de belangrijkste ruimte. Merk op dat dit niet de enige methode, zou men kunnen proberen te vinden van een zwakte in de DEA, veel geprobeerd, maar deze oude norm is nog steeds op grote schaal wordt gebruikt (nu vervangen door AES en hoewel). Dit toont het is stevig genoeg, zodat brute kracht is de enige haalbare methode (er zijn enkele beter aanvallen, maar niet praktisch in ons geval, voor een overzicht zie LASEC memo en voor het vuile details zie Biham & Shamir 1990, Biham & Shamir 1991, Matsui 1993, Biham & Biryukov 1994 en Heys 2001).

De sleutel keuzehandel cijfer werd zeer waarschijnlijk ingevoerd ter dekking van de mogelijkheid van een belangrijk compromis. In dat geval krijgen ze gewoon van de uitgifte van nieuwe kaarten met een andere toets selector. Oudere kaarten kunnen worden vervangen door nieuwe of simpelweg het ATM kan transparante schrijven van een nieuw (overeenkomend met de nieuwe sleutel en het houden van dezelfde volgende keer dat de klant gebruik maakt van zijn / haar Voor het schudden van de voor alle gebruikers moeten worden gesteld om hun pincodes, maar het zou pijnlijk zijn voor de om de reden, dus zeer waarschijnlijk zouden zij niet een dergelijk verzoek.

De voorbereiding van de


Een brute kracht bestaat uit het versleutelen van een TSP met bekende met behulp van alle mogelijke encryptie sleutels en vergelijken elk verkregen met de bekende Wanneer er een match is gevonden hebben we een kandidaat-sleutel. Maar hoeveel toetsen we moeten proberen? Zoals we al boven de toets is 64 bits lang, dit zou betekenen dat we moeten proberen 2 ^ 64 sleutels. Dit is echter niet waar. Eigenlijk slechts 56 bits zijn effectief in het want een beetje (het minst significante) van elk octet was historisch voorbehouden als controlesom voor de anderen; in de praktijk deze 8 bits (een voor elk van de 8 octets) worden genegeerd.

Daarom is de sleutel ruimte bestaat uit 2 ^ 56 sleutels. Als we proberen al deze toetsen vinden we slechts een wedstrijd, die overeenkomt met de geheime sleutel? Zeker niet. Krijgen we veel bijpassende sleutels. Dit komt doordat de is slechts een klein deel (een kwart) van de Bovendien is de is ontaardde omdat sommige van de cijfers (die tussen 0 en 5 na de laatste, gezien van links naar rechts, cijfer tussen de 6 en 9) kan afkomstig zijn van een decimale cijfers of uit een decimalized hexadecimale cijfers van de Zo veel sleutels zal een output levert aan dezelfde bijpassende

Wat kunnen we doen om de echte sleutel tot die andere valse positieve sleutels? We hebben gewoon te versleutelen een tweede verschillende TSP, ook bekend met de maar met alleen de kandidaat-sleutels die heeft een positieve matching met de eerste talencombinatie. Er is echter geen garantie zullen we niet krijgen weer veel false positives, samen met de echte toets. Als dat zo is, moeten we een derde pair, herhaal het proces en zo voort.

Voordat we beginnen onze hebben we te weten hoeveel paren zullen we nodig hebben. Voor dat we hebben voor het berekenen van de voor een willekeurige output te leveren een bijpassende alleen door toeval. Er zijn verschillende manieren voor de berekening van dit nummer en hier zal ik gebruik maken van een eenvoudige benadering gemakkelijk te begrijpen, maar dat vereist enige achtergrond in de van

Een kan altijd worden gezien als de verhouding tussen gunstige gevallen aan mogelijke gevallen. In ons probleem is het aantal mogelijke gevallen wordt gegeven door de van 16 elementen (de 0 tot en met F hexadecimale cijfers) in een groep van 16 van hen (de 16 hexadecimale cijfers van het Deze wordt gegeven door 16 ^ 16 ~ 1,8 * 10 ^ 19 die uiteraard samen met 2 ^ 64 (verschillende getallen van 64 bits). Deze reeks getallen kan worden opgedeeld in vijf categorieën:

Degenen met ten minste vier decimalen (0 tot 9) tussen de 16 hexadecimale cijfers (0 t / m F) van het

Die met precies slechts drie decimalen.

Die met precies slechts twee decimale cijfers.

Die met precies alleen een decimaal cijfer.

Degenen zonder decimalen (alle tussen A en F).

Laten we eens berekenen hoeveel nummers valt in elke categorie. If we label the 16 hexadecimal digits of the output as X1 to X16 then we can label the first four decimal digits of any given number of the first category as Xi, Xj, Xk and Xl. The number of different combinations with this profile is given by the product 6 i-1 * 10 * 6j-i-1 * 10 * 6k-j-1 * 10 * 6 lk-1 * 10 * 1616-l where the 6’s come from the number of possibilities for an A to F digit, the 10’s come from the possibilities for a 0 to 9 digit, and the 16 comes from the possibilities for a 0 to F digit. Now the total numbers in the first category is simply given by the summation of this product over i, j, k, l from 1 to 16 but with i < j < k < l. If you do some math work you will see this equals to the product of 104/6 with the summation over i from 4 to 16 of (i-1) * (i-2) * (i-3) * 6i-4 * 16 16-i ~ 1.8 * 1019.

Analogously the number of cases in the second category is given by the summation over i, j, k from 1 to 16 with i < j < k of the product 6i-1 * 10 * 6j-i-1 * 10 * 6k-j-1 * 10 * 616-k which you can work it out to be 16!/(3! * (16-13)!) * 103 * 6 13 = 16 * 15 * 14/(3 * 2) * 103 * 613 = 56 * 104 * 613 ~ 7.3 * 1015. Similarly for the third category we have the summation over i, j from 1 to 16 with i < j of 6 i-1 * 10 * 6j-i-1 * 10 * 616-j which equals to 16!/(2! * (16-14)!) * 102 * 614 = 2 * 103 * 615 ~ 9.4 * 1014. Again, for the fourth category we have the summation over i from 1 to 16 of 6i-1 * 10 * 616-i = 160 * 615 ~ 7.5 * 1013. And finally the amount of cases in the fifth category is given by the of six elements (A to F digits) in a group of 16, that is, 616 ~ 2.8 * 1012.

I hope you followed the calculations up to this point, the hard part is done. Now as a proof that everything is right you can sum the number of cases in the 5 categories and see it equals the total number of possible cases we calculated before. Do the operations using 64 bit numbers or rounding (for floats) or overflow (for integers) errors won’t let you get the exact result.

Up to now we have calculated the number of possible cases in each of the five categories, but we are interested in obtaining the number of favorable cases instead. It is very easy to derive the latter from the former as this is just fixing the combination of the four decimal digits (or the required hexadecimal digits if there are no four decimal digits) of the instead of letting them free. In practice this means turning the 10’s in the formula above into 1’s and the required amount of 6’s into 1’s if there are no four decimal digits. That is, we have to divide the first result by 104, the second one by 103 * 6, the third one by 102 * 62 , the fourth one by 10 * 63 and the fifth one by 64 . Then the number of favorable cases in the five categories are approximately 1.8 * 1015, 1.2 * 1012, 2.6 * 1011 , 3.5 * 1010, 2.2 * 109 respectively.

Now we are able to obtain what is the for a output to match a by chance. We just have to add the five numbers of favorable cases and divide it by the total number of possible cases. Doing this we obtain that the is very approximately 0.0001 or one out of ten thousand. Is it strange this well rounded result? Not at all, just have a look at the numbers we calculated above. The first category dominates by several orders of magnitude the number of favorable and possible cases. This is rather intuitive as it seems clear that it is very unlikely not having four decimal digits (10 chances out of 16 per digit) among 16 hexadecimal digits. We saw previously that the relationship between the number of possible and favorable cases in the first category was a division by 10^4, that’s where our result p = 0.0001 comes from.

Our aim for all these calculations was to find out how many TSP- pairs we need to carry a successful brute force . Now we are able to calculate the expected number of false positives in a first search: it will be the number of trials times the for a single random false positive, ie t * p where t = 2^56, the size of the key space. This amounts to approximately 7.2 * 10^12, a rather big number. The expected number of false positives in the second search (restricted to the positive keys found in the first search) will be (t * p) * p, for a third search will be ((t * p) * p) * p and so on. Thus for n searches the expected number of false positives will be t * p^n.

We can obtain the number of searches required to expect just one false positive by expressing the equation t * p^n = 1 and solving for n. So n equals to the in base p of 1/t, which by properties of logarithms it yields n = log(1/t)/log(p) ~ 4.2. Since we cannot do a fractional search it is convenient to round up this number. Therefore what is the expected number of false positives if we perform five searches? It is t * p^5 ~ 0.0007 or approximately 1 out of 1400. Thus using five TSP- pairs is safe to obtain the true secret key with no false positives.

The


Once we know we need five TSP- pairs, how do we get them? Of course we need at least one with known , and due to the nature of the , that’s the only thing we need. With other systems, such as IBM, we would need five cards, however this is not necessary with . We just have to read the and then change the four times but reading the after each change.

It is necessary to read the of the to get the and the encrypting key selector. You can buy a commercial or make one yourself following the instructions you can find in the previous page and links therein. Once you have a see this description of standard magnetic tracks to find out how to get the from the read. In that document the field in tracks 1 and 2 is said to be five character long, but actually the true consists of the last four digits. The first of the five digits is the key selector. I have only seen cards with a value of 1 in this digit, which is consistent with the standard and with the secret key never being compromised (and therefore they did not need to move to another key changing the selector).

I did a simple C program, getpvvkey.c, to perform the . It consists of a loop to try all possible keys to encrypt the first TSP, if the derived matches the true a new TSP is tried, and so on until there is a mismatch, in which case the key is discarded and a new one is tried, or the five derived PVVs match the corresponding true PVVs, in which case we can assume we got the secret key, however the loop goes on until it exhausts the key space. This is done to assure we find the true key because there is a chance (although very low) the first key found is a false positive.

It is expected the program would take a very long time to finish and to minimize the risks of a power cut, computer hang out, etc. it does checkpoints into the file getpvvkey.dat from time to time (the exact time depends on the speed of the computer, it’s around one hour for the fastest computers now in use). For the same reason if a positive key is found it is written on the file getpvvkey.key.