Omzeil Exact Online 2FA om te voorkomen dat u elke tien minuten uw pincode moet invoeren

Go to English version

Samenvatting

Deze notitie presenteert een aantal eenvoudige stappen om het elke tien minuten invoeren van een 2FA PIN-code op Exact Online te omzeilen bij gebruik met Invantive Control voor Excel, Invantive Query Tool en andere on-premises interactieve Invantive apps.

Voor console apps die vanuit de taakbeheerder of crond worden uitgevoerd, zoals Invantive Data Hub en Invantive Data Replicator, verwijzen wij u naar Circumvent two-step verification and refresh tokens on Exact Online using Data Hub.

De volgende stappen kunnen worden gebruikt met of zonder Invantive Authenticator:

Het omzeilen van 2FA vormt slechts een beperkt extra veiligheidsrisico aangezien aangesloten apps die gebruik maken van Code Grant Flow al zonder PIN-code kunnen werken na de eerste toegang, met behulp van een OAuth2 refresh token.

Update 2020

Exact heeft de eis toegevoegd dat een refresh token een beperkte levensduur heeft van 10 minuten wanneer het in gebruik is. Later in 2021 zullen zij mogelijk de voorwaarde afdwingen dat een refresh token na 30 dagen vervalt wanneer deze is opgeslagen maar niet wordt gebruikt. Dit verhoogt de veiligheid vanuit het oogpunt van Exact, maar verschuift de risico’s naar de lokale implementatie van een app. Het valt nog te bezien of het gewogen veiligheidsrisico een aanzienlijke verbetering laat zien.

Update 2021

Exact heeft de eis toegevoegd dat het by design short-lifed access token niet vaker dan eens in de 9,5 minuut kan worden verkregen. Deze eis wordt langzaam doorgevoerd in alle Exact Online landen. In Nederland geldt vanaf 13 november 2021 een minimum interval tussen access token verwervingen van 10 seconden.

Exact Online 2FA en Invantive Control voor Excel

Vanaf 25 mei 2018 verplicht Exact Online het gebruik van 2FA voor alle gebruikers. Indien goed geïmplementeerd, kunt u sterke authenticatie bereiken met 2FA op Exact Online. Sterke authenticatie is wettelijk verplicht voor bijvoorbeeld onomkeerbare financiële transacties en gegevens die tot personen herleidbaar zijn. Voor een goede implementatie moet u de opslag van het geheim dat wordt gebruikt om de 2FA PIN-code te genereren isoleren van uw normale werkomgeving. Door de 2FA PIN-codes op een mobiele telefoon te genereren wordt dit grotendeels bereikt. Dit is vergelijkbaar met de Vasco hardware tokens die eerder door Exact Online werden gebruikt, maar deze kwamen met een tarief van EUR 5 per hardwaretoken per maand.

Er zijn veel apps beschikbaar op Exact Online. Sommige apps passen de zogenaamde “Implicit Grant” toe in overeenstemming met de OAuth aanbevelingen. Dit geldt meestal voor apps die draaien op apparaten die niet worden vertrouwd door de eigenaar van de applicatie, zoals Invantive Control op je PC of een iPhone app.

Echter, op dit moment vereist het gebruik van Implicit Grant ook dat je elke tien minuten een nieuwe PIN-code moet invoeren. Voor Invantive en andere app leveranciers is er geen ondersteunde manier om deze rompslomp te vermijden tijdens uw gebruik van onze applicaties. Deze notitie presenteert een aantal eenvoudige stappen om dit probleem te omzeilen.

Spring direct naar de uit te voeren stappen of lees verder op de achtergrond.

Aanvullende beveiligingsadviezen voor Exact Online vindt u in een andere post.

Hoe 2FA werkt

De implementatie van Exact Online is gebaseerd op een industriestandaard voor Time-based One-Time Passwords (TOTP). Tijdens de TOTP registratie, wisselen uw mobiele apparaat of gekozen programma een gedeeld geheim uit met Exact Online. Dit gedeelde geheim is vervat in de QR-code op de TOTP registratiepagina:

De QR-code naast de rode is volledig vervaagd omdat een QR-code uiterst ongevoelig is voor transmissiefouten. Werkelijk een wonderbaarlijk algoritme gemaakt door wiskundigen.

Door deze QR-code te gebruiken, deelt de Exact Online app een geheim als het volgende met uw telefoon:

otpauth://totp/ExactOnline%3aMYLOGINCODE?secret=ALONGTEXTOFDIGITSANDCHARACTERS&issuer=Exact%20Online.

Dit geheim kan je ook zien als je op “Kan de QR-code niet scannen” klikt in het rood onder de QR-code:

exact-online-shared-secret

Een algoritme neemt het vooraf gedeelde geheim en de huidige wereldtijd, naar beneden afgerond op 30 seconden precisie, en berekent de PIN-code. Deze berekening van de PIN-code vindt plaats aan beide zijden van de communicatie: aan de zijde van de gebruiker en aan de zijde van Exact Online. Een gebruiker krijgt toegang wanneer beide gegevens overeenstemmen.

Een dergelijk vooraf gedeeld geheim kan ook worden gebruikt met Invantive Authenticator zoals getoond in deze video:

Het is zeer moeilijk of onmogelijk om het vooraf gedeelde geheim af te leiden, zelfs met een groot aantal beschikbare PIN-codes en bijbehorende tijdstempels.

Alternatieve implementaties op de cloud markt delen het geheim niet met u, maar plaatsen de geheime sleutels op een gesloten omgeving waartoe de gebruiker geen toegang heeft. Deze gesloten omgeving communiceert op verzoek van de gebruiker de pincode naar u via een apart kanaal zoals SMS (bij voorkeur, zoals Dropbox) of mail (tja… soms een aanvalsvector).

Genereer een nieuwe Exact Online QR-code

Als u uw huidige Exact Online QR-code niet heeft opgeslagen, en dus de Geheime Sleutel niet kunt ophalen, kunt u een nieuwe QR-code genereren.

Meld aan op Exact Online, klik op uw gebruikersnaam in de rechterbovenhoek en selecteer “Mijn Exact Online”:
Reset-MFA-EOL-Step 1

Klik nu op “Beveiligingscentrum” in het menu aan de linkerkant en klik dan op “Opnieuw instellen” onder de kop Two-step verification:

Dit brengt u terug op de TOTP registratie pagina, u kunt nu klikken op “Kan de QR-code niet scannen” om de Geheime Sleutel te krijgen en scan de nieuwe QR-code met uw gewenste applicatie en bewaar en gebruik de Geheime Sleutel zoals hierboven beschreven.

Exact Online 2FA voor apps omzeilen

Nieuwe releases van Invantive applicaties voor het draaien op uw apparaten ondersteunen twee extra benaderingen om aan te melden op Exact Online:

  • Met behulp van een refresh token, client secret, client ID en redirect URI.
  • Met behulp van de gebruiker, wachtwoord en vooraf gedeelde TOTP geheim.

Aanmelden met Refresh Token

Hoewel al onze producten voor gebruik op uw apparaten beide benaderingen ondersteunen, adviseren wij het gebruik van een refresh token met server-georiënteerde producten zoals Invantive Data Replicator of Invantive Data Hub. Deze producten draaien meestal onbeheerd op een server met behulp van een dedicated Exact Online account. Neem contact op met onze ondersteuning voor een upgrade en genereer samen een client ID, client secret en refresh token met behulp van de pre-authenticatie site cloud.invantive.com.

Bewaar uw inloggegevens zorgvuldig, aangezien deze toegang geven tot uw Exact Online gegevens met dezelfde privileges als de gebruiker. Ook wordt assistentie achteraf alleen aangeboden op basis van een consultancytarief. Als alternatief kunt u een nieuwe refresh token genereren met behulp van de documentatie.

Server producten zoals Invantive Data Access Point ondersteunen inmiddels ook Exact Online 2FA, zowel voor normaal gebruik als met Ajax, maar zij vereisen het gebruik van uw eigen client ID en geheim. Als je een applicatie baseert op Invantive producten, zorg er dan ALTIJD voor dat je ofwel GEEN persistente refresh token opslaat, ofwel ze versleuteld opslaat binnen de kaders van de wet.

Meld interactief aan met TOTP Secret

U moet de volgende stappen uitvoeren om in te loggen in Invantive Control en andere interactieve apps met de referenties van uw gebruikersaccount:

  • Genereer de QR-code opnieuw en klik op de rode zoals hierboven getoond of haal de geheime sleutel uit de QR-code afbeelding anders met behulp van een vertrouwde decryptor.
  • Bewaar de TOTP geheime sleutel achter slot en grendel en beschouw het als deel van uw wachtwoord.
  • Bij het aanmelden op Invantive Control, geef uw gebruikersnaam, wachtwoord en geheime TOTP sleutel in de login box:
  • Merk op dat de TOTP-secret key momenteel onversleuteld op uw toestel kan worden opgeslagen in settings.xml. Zorg er daarom voor dat u andere veiligheidsmaatregelen toepast, zoals het apparaat alleen gebruiken in een beveiligd gebouw of de toegang tot Windows beveiligen met een inlogcode en wachtwoord en harddisk encryptie. Wij zullen dit mechanisme in een toekomstige release verbeteren.
  • Merk op dat Exact Online voor zover bekend geen locatiegebaseerde toegangscontroles oplegt aan alle apps en interactief gebruik. Sla uw referenties veilig op en gebruik ze alleen in vertrouwde omgevingen met vertrouwde apps! Controleer of de apps die u gebruikt worden geleverd door leveranciers die gevestigd zijn binnen uw eigen wetgevingsregio (land of Europese Unie zolang dat nog geldt) of vergelijkbaar worden geacht met uw wetgeving en waar de wet daadwerkelijk wordt gehandhaafd.