Federated Authentication Benchmarking Framework

Maat: px
Weergave met pagina beginnen:

Download "Federated Authentication Benchmarking Framework"

Transcriptie

1 Scriptie ingediend tot het behalen van de graad van PROFESSIONELE BACHELOR IN DE ELEKTRONICA-ICT Federated Authentication Benchmarking Framework Tom Dierckx en Ward Gubbi Departement Wetenschappen en Techniek Opleiding Elektronica-ICT Academiejaar Interne promotor: Yves Masset Externe promotor: Maarten Wouters Versie: 11 juni 2015

2 Dankwoord Allereerst zouden wij de docenten van de opleiding Elektronica-ICT van de Artesis Plantijn Hogeschool willen bedanken voor de ondersteuning de voorbije jaren. Zonder hun hulp was het tot vorm komen van deze scriptie nooit mogelijk geweest. Ook willen we iedereen bij IS4U bedanken om ons de mogelijkheid te geven stage te lopen in hun bedrijf en voor de goede ondersteuning tijdens het uitwerken en verwezelijken van dit document. Antwerpen, 11 juni 2015 Tom Dierckx en Ward Gubbi i

3 Abstract Er bestaan verschillende authenticatie methodes, elk met zijn eigen sterktes en zwaktes. Een groot probleem is het kunnen definiëren welke het snelst en meest performant is. Er is een grote nood naar een framework dat de mogelijkheid geeft om verschillende authenticatietype s te vergelijken en hier direct feedback op te geven. We kozen ervoor de volledige authenticatieprocedure te simuleren, alsof het in een browser zou uitgevoerd worden. Door de procedure te volgen die een normale gebruiker moet doorgaan kunnen we resultaten verkrijgen die overeenkomen met de realiteit. Daarnaast werken we de trage reactietijd van een gebruiker volledig weg. Elke authenticatie methode is appart geschreven en dan gebundeld in een overkoepelend framework. ii

4 Inhoudsopgave Dankwoord Abstract i ii 1 Inleiding Testomgeving Framework Bespreking Authenticatie- en authorisatiemechanismen Gebruikersnaam en wachtwoord SAML OAuth eid Testomgeving OpenAM eid Framework Gebruikers interface Data logging HTML Extractie Gebruikersnaam en wachtwoord SAML OAuth eid Resultaten Doelstellingen Basisdoelstellingen Extra Doelstellingen iii

5 INHOUDSOPGAVE iv 3.2 Behaalde resultaten Problemen en oplossingen Niet behaalde doelstellingen SAML studie Besluit 53 A Handleiding 54 B eid authenticatie 61

6 Lijst van figuren 2.1 SAML SP-Initiated SSO: POST/POST SAML SP-Initiated SSO: Redirect/POST SAML SP-Initiated SSO: POST/Artifact SAML SP-Initiated SSO: Redirect/Artifact SAML IdP-Initiated SSO: Artifact SAML IdP-Initiated SSO: POST SAML Voorbeeld OAuth Protocol Flow OAuth Voorbeeld eid Certificate-based authentication way SSL authentication Policy Agent SAML: Federation SAML: WebAgent SSO OAuth: Authorization Server OAuth: Client registratie OAuth: Client Authenticatie Module Gebruikers interface Settings-venster Kibana Kibana: Methodes Kibana: Bindings Kibana: Dashboard Toestemmingspagina SAML SP-Initiated SSO: POST/POST v

7 Verklarende woordenlijst Acroniemen eid Elektronische Identiteitskaart HTTP Hypertext Transfer Protocol IETF Internet Engineering Task Force IdP Identity Provider OASIS Organization for the Advancement of Structured Information Standards SAML Security Assertion Markup Language SOAP (oorspronkelijk) Simple Object Access Protocol SP Service Provider SSL Secure Sockets Layer SSO Single sign-on SLO Single logout TLS Transport Layer Security 1

8 LIJST VAN FIGUREN 2 Verklaringen Asymmetrische cryptografie Een overkoepelende term voor codering waarbij gebruik gemaakt wordt van 2 sleutels. Een om te vercijferen (Public Key) en een andere om te oncijferen (Private Key). Certificate authority of certificaatautoriteit (CA) Een instantie (vaak een derde) die digitale certificaten verleent aan verscheidene partijen. Dit met het oog op identiteitsverificatie. eid (soms ook BeID)[1]. Elektronische identiteitskaart voor Belgen. De kaart wordt uitgegeven aan Belgen ouder dan 12 jaar. De kaart bevat naast de identiteitsgegevens een authenticatie- (om je identiteit te kunnen bevestigen) en een handtekeningscertificaat (om een elektronische handtekening te kunnen plaatsen, vanaf 18 jaar), deze zijn beveiligd met een pincode. Er bestaan ook varianten voor kinderen (kids-id) jonger dan 12 en vreemdelingen (vreemdelingenkaart) die in België verblijven. Federated identity Maakt het mogelijk voor gebruikers om zich op meerdere websites en identity management systemen in te loggen met dezelfde gebruikersgegevens. Dit maakt ook SSO mogelijk. Authenticatie door middel van Federated Identity noemen we Federated Authentication Enkele gebruikte technologieën zijn SAML, OAuth, OpenID, Microsoft Azure Cloud Services en Windows Identity Foundation Enkele bekende implementaties zijn: Microsoft Account, Google, Yahoo!, Twitter, Amazon, Mozilla Persona, PayPal.[3] Fedict Federale Overheidsdienst Informatie- en Communicatietechnologie, verantwoordelijke voor de uitwerking van de ICT-diensten van de federale overheid. Hieronder valt ondermeer de technische ontwikkeling van de eid en bijhorende toepassingen. HTTP Request Binnen HTTP zijn verscheidene request methodes gedefinieerd, deze worden gebruikt voor de communicatie tussen client en server. De meest gebruikte methode s zijn de GET methode en de POST methode. Ze staan respectievelijk in voor het aanvragen en indienen van data. Key of sleutel Benaming voor de gegevens die nodig zijn om een data te versleutelen en/of een versleutelde boodschap te ontcijferen. Dit geldt zowel voor digitale als analoge encryptie. Keystore Bevat private keys en de certificaten met bijhorende public keys. OAuth Een open IETF-standaard voor autorisatie. De ontwikkeling ligt in handen van een werkgroep binnen de IETF.

9 LIJST VAN FIGUREN 3 Open standaard Een standaard dat door de ontwikkelaar rechtenvrij aangeboden wordt. Private Key Eén van de twee sleutels gebruikt bij asymmetrische cryptografie. Deze zal niet overgedragen worden naar andere partijen. Public Key Een sleutel die bij cryptografie zal uitgedeeld worden aan alle partijen. SAML Een op XML gebaseerde open OASIS-standaard voor het uitwisselen van authenticatie- en autorisatiegegevens. SOAP Protocol om gestructureerd informatie van webservices uit te wisselen in een computer netwerk, gebruikmakend van het XML Infoset-formaat. Bij SAML wordt het gebruikt om data om SAML assertions over te brengen zonder gebruik te maken van een User Agent. SSO Maakt het mogelijk om met één aanmeldsessie toegang te verkrijgen tot meerdere applicaties en resources. SLO Maakt het mogelijk een SSO sessie stop te zetten en uit te loggen op alle betrokken applicaties. Truststore Bevat certificaten van andere partijen die je vertrouwt, en waarmee je communicatie verwacht. User Agent Computerprogramma dat netwerkfuncties uitvoert voor een gebruiker. Een van de bekendste voorbeelden is een webbrowser.

10 Hoofdstuk1 Inleiding Er zijn meerdere tools en software programma s op de markt die testen kunnen uitvoeren op de performantie van een bepaalde server configuratie en de verwerking van de load op een website. IS4U is een bedrijf gespecialiseerd in Identity & Access Management en Security Services (penetration testing). In het domein van Access Management hadden ze echter geen manier om te testen welke authenticatie het meest performant is. Het is belangrijk dit te weten bij het uitrollen van een authenticatietype op een omgeving. Op de markt zijn er geen of weinig tools te vinden die zich specifiek op dit probleem toespitsen. Dus hier kwam het idee tot een project vandaan. Er is nood aan een framework die verschillende authenticatietypes kan simuleren en hier vergelijkende feedback over kan geven. Deze framework moet ook toespitsen op de uitbreidingen die mogelijk zijn op de verschillende Federated authenticatie mogelijkheden. Het probleem voor IS4U is dat er steeds vaker een snellere response moet zijn van authenticatiemethode. Wat men dus specifiek wenst is een framework dat verschillende authenticaties kan uitvoeren op een server. Dit framework moet hier dan een aantal statistieken over bijhouden en een conclusie weergeven. Dit bijvoorbeeld in grafieken die kunnen weergeven wat de sterktes zijn van iedere authenticatiemethode. 4

11 HOOFDSTUK 1. INLEIDING Testomgeving Uiteraard is het onmogelijk om een framework te schrijven zonder deze praktisch te kunnen testen. Door gebruik te maken van het OpenAM platform is het mogelijk op een korte periode een Federated authenticatie te simuleren, daarnaast was dit ook de voorkeur van stagebedrijf IS4U. We hebben dit ook volledig zelf proberen te doen met af en toe een beetje hulp vanuit IS4U. De voorziende documentatie over OpenAM die online aanwezig was is voldoende om dit grotendeels zelf te doen. Ook is dit voor onze kennis ingaande de authenticatiemechanisme interessanter. OpenAM werd geïnstalleerd op een Apache Tomcat server draaiend in een CentOS Linux distributie (een Red Hat derivaat). Aangezien we meerdere Federated authenticatietypes zullen behandelen hebben we 2 instanties van OpenAM nodig die op elkaar geconfigureerd zijn. Dus 2 servers, een die de Gebruikersauthenticatie zal afhandelen en een die de resources zal aanbieden. We creëren zo het principe van Identity Provider (IdP) en Service Provider (SP). Een gebruiker zal toegang wensen tot een resource, eigendom van de SP, deze zal aan de IdP vragen de persoon te authenticeren. Aangezien wij met log files in standaard JSON formaat werken is het mogelijk deze op verschillende manieren uit te lezen. Vanuit IS4U kwam de opmerking gebruik te maken van een ELK stack. Een combinatie van Elasticsearch, Logstash en Kibana. Het opzetten van deze 3 systemen heeft ons wat tijd gekost. Maar deze geven een duidelijk overzicht. En zijn dus essentieel om onze logging tool duidelijk te maken. 1.2 Framework Het programmeren volgens de object oriented structuur is voor ons zeer belangrijk. Om hierin een overzicht te bewaren is het framework opgesplitst in de verschillende authenticatiemechanismen die we zullen testen. De authenticatietypes die getest zullen worden, naar wens van het stagebedrijf, zijn de volgende: ˆ Gebruikersnaam en wachtwoord ˆ SAML 2.0 ˆ OAuth 2.0 ˆ eid

12 HOOFDSTUK 1. INLEIDING 6 Deze zullen de core van het framework zijn. Hiernaast is er nog een nood aan een aantal dingen. Een duidelijke user interface die voor de gebruiker de vele aanpasbare parameters makkelijk instelbaar maken. Er moet hier een balans gemaakt worden tussen het automatisch afwerken en wat de gebruiker kan instellen. Een manier om data te vergaren en in een uniforme manier op te slaan. Dit mede om de gebruiker de vrijheid te geven zelf de representatie van de gegevens te kunnen kiezen. Hierboven zijn er nog een aantal extra s op de authenticatiemethodes die we hebben toegevoegd. Zo is er bij het testen op SAML de mogelijkheid om verschillende bindings toe te voegen. Deze zullen de flow van data tussen de verschillende servers beïnvloeden.

13 Hoofdstuk2 Bespreking Het komende hoofdstuk zullen alle aspecten van het geschreven framework in diepgang worden bespreken. Ook zal er dieper ingegaan worden op de werking van verschillende authenticatiemethodes. De kennis over het vloeien van pakketten tussen servers tijdens het authenticatieproces is uitermate belangrijk om de simulatie met succes te voltooien. 2.1 Authenticatie- en authorisatiemechanismen Om een volledige simulatie te bekomen was een diepgaande studie nodig. Dit vooral over de Federated (OAuth en SAML) authenticatie- en authorisatiemechanismen. In de komende punten zullen we de werking van de te gebruiken mechanisme in diepgang bekijken. 7

14 HOOFDSTUK 2. BESPREKING Gebruikersnaam en wachtwoord Authenticatie met gebruikersnaam en wachtwoord is een van de meest gebruikte manieren op het internet. In principe is de opzet simpel: controleren of de ingevoerde gebruikersnaam voorkomt in een database en controleren of het bijhorende wachtwoord gelijk is met wat ingegeven is. Gebruikelijk zijn een gebruikersnaam en wachtwoord enkel geldig voor een bepaalde dienst. Wil je op een andere dienst (zoals een andere website van een andere ontwikkelaar) aanmelden, dan zal je een nieuwe gebruikersnaam en wachtwoord kunnen aanmaken. Men kan op verschillende diensten identieke (onafhankelijke) accounts maken (met dezelfde credentials), maar hierdoor is men een makkelijk doelwit voor hackers. De manier waarop omgegaan wordt met de inloggegevens van de gebruiker, is niet gestandaardiseerd. Zodoende zijn er vele verschillende implementaties mogelijk. De uitwerking is bij ons zeer primitief en had ook niet zo een grote prioriteit. In onze testopstelling maken we gebruik van de standaard loginpagina van OpenAM als referentie. Op deze pagina is een form aanwezig die een POST zal uitvoeren met gebruikersnaam en wachtwoord in een form. De server zal de POST ontvangen, controleren of de credentials bij hem gekend zijn en of ze toegang hebben tot de gevraagde resource. Als de credentials toegang geven tot de resource, zal er met een response op de POST gereageerd worden. Deze bevat de gevraagde resource en stelt een cookie in. Deze cookie wordt gebruikt om te voorkomen dat de gebruiker elke keer opnieuw moet aanmelden bij het aanvragen van de resource.

15 HOOFDSTUK 2. BESPREKING SAML 2.0 Security Ayssertion Markup Language (SAML) is een OASIS-standaard [7], gebaseerd op XML, gebruikt voor het uitwisselen van authenticatie- en autorisatiegegevens tussen verschillende partijen (in het bijzonder een Identity Provider (IdP) en een Service Provider (SP)). Er zijn vele mogelijkheden om SAML te implementeren. We bespreken de toegepaste, browsergebaseerde, methodes die beschikbaar zijn in OpenAM 12. We bespreken 4 SP-initiated methodes en 2 IdP-initiated methodes. Dataoverdracht tussen SP en IdP gebeurt door middel van SAML assertions. Deze assertions bevatten authenticatie- en/of autorisatiedata. In het volgende hoofdstuk bespreken we hoe deze assertions kunnen worden doorgegeven. ˆ HTTP-POST: de server zal een html pagina genereren met hierop een form en POST die automatisch naar de juiste URL. Zo kunnen er SAML assertions van SP naar IdP (of omgekeerd) gestuurd worden. Deze gaan altijd via de client s browser. ˆ HTTP-REDIRECT: de SAML assertion wordt als parameter toegevoegd aan de redirect URL op SP naar IdP (of omgekeerd). Gebeuren ook via de client s browser. ˆ SOAP: de SAML assertion zal niet passeren via de client maar wordt rechtstreeks uitgewisseld tussen de servers zelf Service Provider-initiated Een gebruiker (gebruikmakend van een User Agent) wenst toegang tot een resource op de SP. De SP controleert of de gebruiker reeds geauthenticeerd is. Indien dit niet het geval is, zal er een single sign-on (SSO)-sessie opgezet worden met de IdP. Hoe dat proces verloopt kan variëren. Er zijn meerdere mogelijkheden om de sessie te initiëren naar de IdP en om de autorisatiedata correct naar de SP te sturen. Na het aankomen op de SP zijn er 2 mogelijkheden (bij OpenAM 12) om de SAML Request van SP naar IdP te krijgen. ˆ HTTP-POST ˆ HTTP-REDIRECT Hierna komt men toe op de pagina waar men zijn aanmeldingsgegevens kan valideren: de zogenaamde loginpagina. Na het valideren moet de SAML Response terug bij de SP geraken. Hiervoor zijn er de volgende 2 mogelijkheden: ˆ HTTP-POST ˆ HTTP-ARTIFACT (SOAP) Deze geven gecombineerd 4 verschillende manieren om de SAML Request en response door te geven via de gebruiker. Al deze combinaties zijn dieper beschreven in de dit hoofdstuk.

16 HOOFDSTUK 2. BESPREKING HTTP-POST request en response De gebruiker probeert toegang te verkrijgen tot een beveiligde resource van de SP zonder dat hij is ingelogd. De gebruiker heeft geen account op de SP, maar wel een Federated account op de IdP. De SP stuurt een authenticatie request naar de IdP. Zowel de request als de response SAML assertions worden via de browser van de gebruiker verzonden door middel van HTTP-POST. Figuur 2.1: SP-Initiated SSO: POST/POST [8] 1. De gebruiker doet een GET Request naar een resource op de SP. Hierop draait een webagent. Deze agent controleert of de gebruiker is ingelogd, wanneer dit niet zo blijkt te zijn, zal deze een SAML Request opstellen. 2. De User Agent van de gebruiker krijgt een pagina met een form door. Deze form bevat een SAML Request, gericht aan de IdP. Deze SAML Request bevat de vraag om SSO te initiëren. De User Agent zal deze form met een POST doorgeven aan de IdP. 3. De IdP handelt met de gebruiker de authenticatie af. 4. Er wordt eventueel extra informatie van de gebruiker opgehaald, indien dit in de request gevraagd werd. 5. Eens de authenticatie geslaagd is, zal er wederom een form worden opgesteld, ditmaal gericht aan de SP. Deze bevat een SAML Response. De User Agent POST deze form naar de SP. Eens de SAML uitwisseling geslaagd is, zal de gebruiker toegang krijgen tot de betrokken Resources op de SP.

17 HOOFDSTUK 2. BESPREKING HTTP-REDIRECT request en HTTP-POST response De SP stuurt een HTTP redirect bericht naar de IdP met de authenticatie request. De IdP zal via HTTP POST een SAML response met assertion terugsturen naar de SP. Figuur 2.2: SP-Initiated SSO: Redirect/POST [8] 1. De gebruiker doet een GET Request naar een resource op de SP hierop draait een webagent. Deze agent controleert of de gebruiker is ingelogd, wanneer dit niet zo blijkt te zijn, zal deze een SAML Request opstellen. 2. De User Agent krijgt een redirect naar de IdP. De redirect URL bevat de SAML request. 3. De IdP handelt met de gebruiker de authenticatie af. 4. Er wordt eventueel extra informatie van de gebruiker opgehaald, indien dit in de request gevraagd werd. 5. Eens de authenticatie geslaagd is, zal er een form worden opgesteld, gericht aan de SP, met de SAML Response. De User Agent POST deze form naar de SP. Eens de SAML uitwisseling geslaagd is, zal de gebruiker toegang krijgen tot de betrokken Resources op de SP.

18 HOOFDSTUK 2. BESPREKING HTTP-POST request en Artifact response De SP stuurt via HTTP POST een authenticatie request naar de IdP. De response zal via een redirect van de IdP naar de SP worden gestuurd, deze bevat een SAML artifact. Figuur 2.3: SP-Initiated SSO: POST/Artifact [8] 1. De gebruiker doet een GET Request naar een resource op de SP hierop draait een webagent. Deze agent controleert of de gebruiker is ingelogd, wanneer dit niet zo blijkt te zijn, zal deze een SAML Request opstellen. 2. De User Agent van de gebruiker krijgt een pagina met een form door. Deze form bevat een SAML Request, gericht aan de IdP. Deze SAML Request bevat de vraag om SSO te initiëren. De User Agent zal deze form met een POST doorgeven aan de IdP. 3. De IdP handelt met de gebruiker de authenticatie af. 4. Er wordt eventueel extra informatie van de gebruiker opgehaald, indien dit in de request gevraagd werd. 5. De IdP stuurt de User Agent terug naar de SP door middel van een redirect en geeft een SAML Artifact mee in de response. 6. De Assertion Consumer Service van de SP gebruikt het artifact om rechtstreeks contact op te nemen met de IdP door middel van een Artifact Resolve. 7. De Artifact Resolution Service van de IdP zoekt de SAML Response die bij het gegeven artifact hoort. Deze wordt rechtstreeks teruggestuurd aan de SP in een Artifact Response door middel van SOAP.

19 HOOFDSTUK 2. BESPREKING 13 Eens de SAML uitwisseling geslaagd is, zal de gebruiker toegang krijgen tot de betrokken Resources op de SP HTTP-Redirect request en Artifact response De SP stuurt een HTTP redirect bericht naar de IdP met de authenticatie request. De response zal via een redirect van de IdP naar de SP worden gestuurd, deze bevat een SAML artifact. Figuur 2.4: SP-Initiated SSO: Redirect/Artifact [8] 1. De gebruiker doet een GET Request naar een resource op de SP hierop draait een webagent. Deze agent controleert of de gebruiker is ingelogd, wanneer dit niet zo blijkt te zijn, zal deze een SAML Request opstellen. 2. De User Agent krijgt een redirect naar de IdP. De redirect URL bevat de SAML request. 3. De IdP handelt met de gebruiker de authenticatie af. 4. Er wordt eventueel extra informatie van de gebruiker opgehaald, indien dit in de request gevraagd werd. 5. De IdP stuurt de User Agent terug naar de SP door middel van een redirect en geeft een SAML Artifact mee in de response. 6. De Assertion Consumer Service van de SP gebruikt het Artifact om rechtstreeks contact op te nemen met de IdP door middel van een Artifact Resolve. 7. De Artifact Resolution Service van de IdP zoekt de SAML Response die bij het gegeven Artifact hoort. Deze wordt rechtstreeks teruggestuurd aan de SP in een Artifact Response. Eens de SAML uitwisseling geslaagd is, zal de gebruiker toegang krijgen tot de betrokken Resources op de SP.

20 HOOFDSTUK 2. BESPREKING Identity Provider-initiated De gebruiker is aangemeld op de IdP en wenst toegang tot de SP. We bespreken de 2 gebruikte methodes Artifact binding De IdP stuurt een SAML artifact naar de SP doormiddel van een HTTP redirect. gebruikt dit artifact om de bijhorende SAML response te bekomen van de IdP. De SP Figuur 2.5: IdP-Initiated SSO: Artifact [8] 1. De gebruiker logt in op de IdP. 2. De gebruiker wenst toegang tot een beveiligde resource op de SP, maar is daar niet ingelogd. 3. Er wordt eventueel extra informatie van de gebruiker opgehaald. 4. De IdP genereert een assertion en maakt een artifact. Het artifact wordt via de User Agent gestuurd naar de SP door middel van een redirect. 5. De Assertion Consumer Service van de SP gebruikt het Artifact om rechtstreeks contact op te nemen met de IdP door middel van een Artifact Resolve. 6. De Artifact Resolution Service van de IdP zoekt de SAML Response die bij het gegeven Artifact hoort. Deze wordt rechtstreeks teruggestuurd aan de SP in een Artifact Response. Eens de SAML uitwisseling geslaagd is, zal de gebruiker toegang krijgen tot de betrokken Resources op de SP.

21 HOOFDSTUK 2. BESPREKING HTTP-POST binding De IdP stuurt via HTTP POST een SAML assertion naar de SP. Figuur 2.6: IdP-Initiated SSO: POST [8] 1. De gebruiker logt in op de IdP. 2. De gebruiker wenst toegang tot een beveiligde resource op de SP, maar is daar niet ingelogd. 3. Er wordt eventueel extra informatie van de gebruiker opgehaald. 4. De IdP stelt een form op, gericht aan de SP, met de SAML Response. De User Agent POST deze naar de SP. Eens de SAML uitwisseling geslaagd is, zal de gebruiker toegang krijgen tot de betrokken Resources op de SP.

22 HOOFDSTUK 2. BESPREKING Voorbeeld Een praktisch voorbeeld is authenticeren met MediaID op de website (in dit geval De Morgen). Dit is een Service Provider Initiated voorbeeld. Figuur 2.7: Voorbeeld: De Morgen & MediaID

23 HOOFDSTUK 2. BESPREKING OAuth 2.0 OAuth 2.0 (Open Authorization) is een standaard voor autorisatie. De ontwikkeling ligt in handen van een werkgroep binnen de Internet Engineering Task Force (IETF). OAuth geeft gebruikers (de Resource Owner) de mogelijkheid om toegang tot hun privégegevens op een Resource Server veilig te delen met een derde (de Client), zonder hun gebruikersnaam en wachtwoord te moeten delen. Het geeft de mogelijkheid om een Autorisatieserver Access Tokens uit te laten geven aan een Client, met de toestemming van de gebruiker. Met die Access Token krijgt de Client toegang tot de gegevens van de gebruiker. Authenticatie ligt buiten de scope van OAuth, met de gegevens verzameld door middel van de autorisatie kan men echter wel authenticatie opzetten. Hier gaan we echter niet dieper op in aangezien er verscheidene configuraties mogelijk zijn. In de vermelde flow is de gebruiker reeds geauthenticeerd bij de Authorization Server. De meest bekende implementaties zijn die van Google, Facebook en Twitter. Figuur 2.8: Protocol Flow [6] Client Onder client verstaan we bij OAuth de dienst die de autorisatie aanvraagt, vergelijkbaar met de SP van SAML. De gebruiker (Resource Owner) zal toegang wensen tot de client, maar de client heeft nood aan authorisatie om bepaalde gegevens te weten te komen over de gebruiker.

24 HOOFDSTUK 2. BESPREKING Resource Owner De resource owner is dus de gebruiker wiens gegevens vereist zijn. Hij dient zijn toestemming te geven om de autorisatie te laten plaatsvinden. Hij zal een lijst krijgen met gegevens waartoe de client toegang wenst, en dient zijn akkoord te geven om verder te kunnen gaan Authorization Server Eens de gebruiker zijn toestemming gegeven heeft, kan de client een acces token ophalen bij de authorization server. Deze deelt Access Tokens uit, welke toegang geven tot de gevraagde gegevens van de gebruiker Resource Server Hierbij verstaan we de server waar de gebruikersgegevens staan. Met de verkregen Access Token kan de Client de benodigde gegevens ophalen.

25 HOOFDSTUK 2. BESPREKING Voorbeeld Een praktisch voorbeeld is het verbinden van een mobiele applicatie, zoals Candy Crush, met Facebook. Figuur 2.9: Voorbeeld: Candy Crush

26 HOOFDSTUK 2. BESPREKING eid De elektronische identiteitskaart (eid) uitgereikt door de Belgische overheid kan ook gebruikt worden om je te authenticeren, aangezien het een bewijs is van je identiteit. De effectieve manier van authenticeren is niet gestandaardiseerd, er zijn verscheidene implementaties mogelijk. De manier die wij zullen gebruiken is een 2 way-ssl authenticatie. De client zal de server authenticeren, en hier opvolgend de server de client eid authenticatie Op de eid is een certificaat aanwezig en de bijhorende public en private keys. Deze kunnen gebruikt worden in een TLS/SSL verbinding. Transport Layer Security (TLS) zorgt voor de mogelijkheid om een verbinding op te zetten tussen client/server die privacy en data integriteit garandeert. Deze is gebaseerd op de Public Key Infrastructure. Figuur 2.10: Certificate-based authentication met eid [4] Van de eid wordt via de pincode het certificaat en de public key gehaald. Deze wordt aan de server, die de protected resource bezit, overhandigd. De server zal dit certificaat naar de Validation Authority doorverwijzen waarna deze valideert of dit certificaat correct is. Hierna wordt aan de gebruiker de protected resource getoond.

27 HOOFDSTUK 2. BESPREKING 21 Onze implementatie is gebaseerd op 2 way SSL authenticatie en gaat als volgt te werk: 1. Client vraagt toegang de resource Figuur 2.11: 2-way SSL authentication [5] 2. Server stuurt zijn certificaat B door naar de client 3. Client verifieert het certificaat 4. Client stuurt eigen certificaat naar de server 5. Server verifieert het certificaat 6. Toegang tot protected resource Als we dit dan toepassen op eid, is het certificaat dat de client aanbiedt vervangen door dat van de eid. De server verifieert dat certificaat met het Belgium Root CA-certificaat[2].

28 HOOFDSTUK 2. BESPREKING Testomgeving In het volgende hoofdstuk beschrijven we het opzetten van onze testomgeving en het opzetten van verschillende authenticatiemethodes binnenin OpenAM en Apache Tomcat OpenAM We maken gebruik van OpenAM. De verschillende mogelijkheden in deze tool op vlak van acces management maken het mogelijk snel een testomgeving op te zetten. OpenAM is opensource en te downloaden op de website van ForgeRock. Een werkende instantie van Apache Tomcat moet aanwezig zijn Installatie ForgeRock biedt een web applicatie in.war-format aan voor deployment in Apache Tomcat. We plaatsen deze file in de webapp folder van Tomcat. Deze zal automatisch gedeployed worden. Hierna kunnen we via de web UI van OpenAM de basisconfiguratie doen. In onze omgeving hebben we gebruik gemaakt van de eigen OpenAM User Data Store. Deze is voldoende voor onze testopstelling. Dan rest er nog een laatste configuratie om de instantie van OpenAM volledig bruikbaar te maken. OpenAM 12 implementeert een nieuwe UI voor de authenticatie- en profielpagina s. Deze is gebaseerd op JavaScript. De inhoud van de HTML pagina blijft dan ook beperkt tot Loading, de rest wordt opgebouwd met scripts waardoor de broncode niet zichtbaar is. Om de standaard UI te gebruiken, past men het volgende aan: onder Configuration Core XUI interface vinken we uit. De OpenAM installatie is nu klaar voor gebruik.

29 HOOFDSTUK 2. BESPREKING Web Policy Agent De Web Policy Agent draait bovenop de webserver die we willen beschermen. Deze heeft de taak te controleren of de gebruiker toegang heeft tot de gevraagde resource. De flow die dan gecreëerd wordt is de volgende: Figuur 2.12: Policy Agent 1. Client vraagt toegang de beveiligde resource. 2. Webserver stuurt de request door naar de Agent. 3. Policy Agent vraagt aan OpenAM welke policy het dient toe te passen. 4. Als OpenAM toegang geeft, zal de Agent toegang toestaan. 5. Server geeft toegang tot beveiligde resource.

30 HOOFDSTUK 2. BESPREKING 24 Op OpenAM moet allereerst een Profile voor de Web Policy Agent gemaakt worden. 1. In de OpenAM console Access Control Realm Agents Web, hier klikken we op New. 2. Name en Password worden gebruikt door de agent om zich te valideren bij de OpenAM instantie. Server URL is naar een OpenAM instantie en Agent URL de url die beschermd is door de Agent. De werkelijke installatie van de Agent bovenop de apache HTTP server kan nu beginnen. We maken eerst een bestand aan met het wachtwoord, deze is identiek aan het wachtwoord in het profiel. Hierna kunnen we het./agentadmin install commando gebruiken om de installatie te starten.

31 HOOFDSTUK 2. BESPREKING SAML Identity & Service Provider OpenAM voorziet 4 wizards voor de IdP en SP configuratie. 2 om een hosted IdP of SP te maken (lokaal op de server) en 2 om een remote IdP of SP te registreren (van een andere server). Op de doel IdP maak je dus een Hosted IdP en registreer je een remote SP, en omgekeerd. Anders dan de standaard configuratie hebben we gebruik gemaakt van Transient Users. Dat wil zeggen dat er geen lokaal account aangemaakt wordt voor de gebruiker, hij zal daarentegen als anonieme gebruiker gekend staan op de SP. In onze testomgeving was het immers niet nodig om rekening te houden met identiteitsmanagement. Het is ook mogelijk om de Federation instellingen van de servers bij te werken, daar kunnen we bijvoorbeeld de standaard binding van de SSO en SLO instellen. Figuur 2.13: Federation

32 HOOFDSTUK 2. BESPREKING SSO & SLO Aangezien SSO en SLO standaard beschikbaar zijn, dienen we slechts kleine aanpassingen te doen om deze te implementeren. De WebAgent van de SP dient geconfigureerd te worden opdat het de SSO en SLO url s gebruikt (de zogenaamde Endpoints) en niet langer de standaard OpenAM Login of Logout URL. Bij de instellingen van de betreffende WebAgent kan dit gedaan worden in het tabblad OpenAM Services. Daarnaast is het ook mogelijk een Agent Logout URL in te stellen, daarbij zal de WebAgent automatisch een logout sessie starten terwijl de gebruiker naar een normale pagina surft (zoals bijvoorbeeld logout.html). Figuur 2.14: Federation

33 HOOFDSTUK 2. BESPREKING OAuth Authorization Server Figuur 2.15: Authorization Server OpenAM voorziet een wizard voor de basisconfiguratie van de Authorization Server. Hierbij kan men enkele instellingen met betrekking tot de levensduur van de tokens aanpassen. Er wordt automatisch een policy opgezet voor de endpoints die gebruik worden voor OAuth.

34 HOOFDSTUK 2. BESPREKING 28 Figuur 2.16: Client registratie Eens voltooid dient er een nieuwe Client geregistreerd te worden op de Authorization Server. Daarbij wordt de scope ingesteld (de data die geautoriseerd dient de worden) en onder andere de weergavenaam die getoond zal worden op de Consent pagina.

35 HOOFDSTUK 2. BESPREKING Client Figuur 2.17: Client Authenticatie Module Vervolgens kunnen we de client zelf instellen. We voegen een OAuth module toe onder de Authenticatie modules. Hierbij dienen we de Client Id en Client Secret in te voeren die we ook ingaven op de Authorization Server. Op basis van deze gegevens kan de client geïdentificeerd worden. Voor onze installatie maken we gebruik van Anonymous users, ook dit kunnen we hier instellen. Tenslotte kunnen we de WebAgent aanpassen zodat er automatisch aangemeld wordt met behulp van de OAuth module.

36 HOOFDSTUK 2. BESPREKING eid Voor een volledige uiteenzetting van de installatie verwijzen we naar Bijlage B (pagina 61). Hierin overlopen we in diepgang hoe de certificaten ingesteld moeten worden op server en client niveau, en een hoe een Java client-applicatie hiermee moet werken. In grote lijnen moet het volgende gebeuren. Het certificaat van de CA van de Belgische overheid moet toegevoegd worden aan de truststore van de server. In onze omgeving is dit op een Tomcat instantie, de SSL connectie zal over poort 8443 gaan. Volgende instellingen in Tomcat zijn voor een gewone 2-way TLS/SSL verbinding met authenticatie, zonder eid. Listing 2.1: Tomcat SSL Connector <Connector p o r t= 8443 maxthreads= 150 scheme= h t t p s s e c u r e= t r u e SSLEnabled= t r u e t r u s t s t o r e F i l e= CA. k e y s t o r e t r u s t s t o r e P a s s= password k e y s t o r e F i l e= s e r v e r c e r t s i g n e d b y C A. k e y s t o r e k e y s t o r e P a s s= password c l i e n t A u t h= t r u e k e y A l i a s= www. t e s t s e t u p. be s s l P r o t o c o l= TLS /> Het certificaat dat de server zal aanbieden, wordt in de keystore gestoken. Dit is (in ons geval) een zelf gegenereerd certificaat met een eigen selfsigned CA-certificaat. Dit selfsigned CAcertificaat is bij de client in de truststore toegevoegd. Zo herkent de client of de server wel de server is. Het certificaat dat de client naar de server doorstuurt, is het Authentication-certificaat van de eid. Hiervoor is het ingeven van de pin code vereist. Om de server dit certificaat te laten accepteren, moeten we het Root CA-certificaat van de overheid toevoegen aan de truststore. We genereren een keystore met het volgende commando en het gedownloade certificaat belgiumrca2.crt. keytool importcert alias servertruststore file belgiumrca2. crt keystore rootcatrust. keystore Het is nu enkel mogelijk met gebruik van een eid toegang te krijgen tot de resources op poort 8443

37 HOOFDSTUK 2. BESPREKING Framework Elke authenticatie methode is losstaand geschreven, ieder hebben ze een aantal standaard parameters. Dit maakt het mogelijk de verschillende blokken die gebruikt worden in de framework makkelijker te implementeren zijn. Elk authenticatieblok beschikt over een publieke bool die zal weergeven of de totale authenticatie succesvol voltooid is. Specifiekere fouten en dergelijke worden niet weergegeven in het display. Tijdens het uitvoeren van een authenticatie is er ook een logging instantie die draait. Deze zal een log file aanmaken. Hierin staat meer info over de uitgevoerde authenticatie en hoe die specifiek is uitgevoerd. De DAL klasse die in elke authenticatiemodule aanwezig is, staat in voor de volledige afwerking van de authenticatie. De volgende variabelen moeten altijd bij het aanmaken van een DAL Object aanwezig zijn: ˆ De URL van de te bereiken resource ˆ Username ˆ Password Dit afgezien van de eid authenticatie. De werking van authenticatie aan de hand van een certificaat is totaal verschillend en wordt later besproken. We hebben gebruik gemaakt van de in Java JDK standaard HttpURLConnection en HttpsUR- LConnection voor al onze netwerkcalls. Dit gaf een aantal problemen bij het uitvoeren van een POST methode om de SAML data door te geven. De POST gebeurt door een form te laden in een HTML pagina die automatisch een POST naar de juiste URL zal uitvoeren. De methodes die wij gebruikt hebben voor de netwerkcalls, kunnen echter de pagina enkel in string teruggeven. De oplossing die wij hiervoor gebruikt hebben, is het filteren op de webpagina naar de data die aanwezig is in de form. Deze zelf te encoden voor verzending en zelf toe te voegen aan een HTTP-POST met HttpURLConnection. Initieel zal er bij elke authenticatiemethode altijd een GET Request naar de te bereiken resource gedaan worden. De onderlinge werking vanaf hier varieert naargelang de authenticatiemethode. Per methode kunnen er ook een specifiek aantal publieke booleans oegd worden, dit om de correcte werking van onderlinge delen duidelijk te maken.

38 HOOFDSTUK 2. BESPREKING Gebruikers interface Figuur 2.18: Gebruikers interface De gebruikersinterface werd geschreven in Java. Het basisscherm geeft de gebuiker de kans om snel van start te gaan met de authenticatie specifieke instellingen. De meer specifieke instellingen, die afhankelijk zijn van de aanbieder, zijn terug te vinden in het Settings-venster. Bij het eerste gebruik is het sowieso aan te raden om eerst een configuratie uit te voeren, daarna worden de voorkeuren van de vorige sessie echter opnieuw geladen. Men heeft steeds de mogelijkheid om manueel alle gegevens in te vullen, of om deze automatisch op te roepen vanuit de voorkeuren. Enkele instellingen worden niet opgeslagen: Request Binding, Binding, Logout Binding, threads (aantal simultane uitvoeringen) en thread offset (tijd tussen start van threads). Ook is het gebruik van meerdere accounts standaard uitgeschakeld. Onderaan is een voortgangsbalk en een log terug te vinden, deze geven extra informatie over de voortgang van het proces.

39 HOOFDSTUK 2. BESPREKING Settings In het Settings-venster kan men (afhankelijk van de methode) de (Logout) URL en gebruikersgegevens invoeren. Bij methodes die in threads kunnen worden uitgevoerd, is het mogelijk meerdere accounts in te voeren. Bij eid kan men de standaard Truststore locatie ingeven. Al deze gegevens zullen, indien de Autofill-optie geactiveerd is, automatisch ingevuld worden in het hoofdscherm. Daarnaast zijn er nog de server gerelateerde instellingen die men binnen een zelfde omgeving niet zal aanpassen. De IDToken s (gebruikt op de server als veldnamen voor gebruikersnaam en wachtwoord), de Fields (veldnamen van andere elementen die uitgelezen en meegezonden dienen te worden). Voor OAuth zijn er de Consent Fields, dit zijn de veldnamen aanwezig op de consentpagina, en de Consentnaam en de waarde (de optie waarmee men aangeeft al dan niet akkoord te gaan met de autorisatie). Bij gebruikersnaam en wachtwoord dient men aan te geven welke pagina men zal bekomen na het inloggen. Figuur 2.19: Settings-venster

40 HOOFDSTUK 2. BESPREKING Data logging Het bijhouden en weergeven van data was een essentieel deel in deze applicatie. Hoe kan een gebruiker conclusies trekken, zonder een duidelijk overzicht te krijgen? We wilden een standaard maken voor de applicatie, die natuurlijk ook op andere manieren bruikbaar is, en die verstaanbaar zou zijn voor verschillende gebruikers. We hebben als oplossing voor dit probleem gekozen voor het aanmaken van log files. Deze zijn opgebouwd in het JSON formaat aangezien wij met Logstash, Elasticsearch en Kibana willen werken, en dat in dit geval het meest compatibel is. Door gebruik te maken van log4j was dit snel te implementeren. Door per module een andere properties file voor de logger te implementeren, kunnen we verschillende directory s aanmaken. Wanneer we beginnen aan een authenticatie, wordt de juiste properties file aan de logger toegewezen. Dit gebeurt met de volgende lijn code (voor Gebruikersnaam/Wachtwoord): Listing 2.2: PropertyConfigurator: Aanpassen PropertyConfigurator P r o p e r t y C o n f i g u r a t o r. c o n f i g u r e ( A u t h e n t i c a t e. c l a s s. getresourceasstream ( / l o g i n / g u i / r e s o u r c e s / l o g g e r s / u s e r p a s s. p r o p e r t i e s ) ) ; Er zijn nog overige files aanwezig met properties voor eid, OAuth en SAML. De message bevat de tijd in millis, nodig om de volledige thread af te ronden. De level field is de indicator of de authenticatie succesvol of onsuccesvol is verlopen. Hieronder een voorbeeld van een log: { } Listing 2.3: PropertyConfigurator: Aanpassen : : T15 : 0 7 : : 0 s o u r c e h o s t : f i e l d s : { f i l e : A u t h e n t i c a t e. j a v a, method : s t a r t, l e v e l : DEBUG, l i n e n u m b e r : 70, c l a s s : l o g i n. A u t h e n t i c a t e, mdc : {} }

41 HOOFDSTUK 2. BESPREKING 35 De volgende levels zijn mogelijk in de log files en hebben een specifieke betekenis: ˆ INFO Authenticatie succesvol afgerond en sessie beëindigd ˆ DEBUG Authenticatie geslaagd maar sessie niet beëindigd ˆ WARN Authenticatie mislukt Per keer dat er een authenticatie uitgevoerd wordt, zal de log file leeg gemaakt worden en het aantal threads weggeschreven worden naar die file. Als er bijvoorbeeld 5 threads gestart worden, zullen er 5 entry s aanwezig zijn in de log file. Starten we erna echter 2, dan wordt de log file leeggemaakt en opgevuld met 2 entry s. Om een duidelijk overzicht te laten maken kwam onze stagementor met het idee om Kibana te gebruiken. Kibana maakt real time data analyse mogelijk. Door gebruik te maken van een zogenaamde ELK stack, is het mogelijk om in realtime data van onze applicatie weer te geven in Kibana. Deze stack is opgebouwd uit Elasticsearch, Logstash en Kibana. ˆ Logstash Systeem voor log verzameling, verwerking en opslag ˆ Elasticsearch Search engine met een RESTful web interface ˆ Kibana Data visualisatie werkende met Elasticsearch

42 HOOFDSTUK 2. BESPREKING Logstash Logstash heeft de mogelijkheid om de data te verwerken die het toegestuurd kreeg. De configuratiefile ziet er als volgt uit: Input definieert waar de log files aanwezig zijn die geforward moeten worden en in welk formaat deze zijn opgeslagen. Listing 2.4: Logstash Input 1 i n p u t { 2 f i l e { 3 path => C: / U s e r s /Tom/Documents/Stage RUN/SAML/ t i m e l o g. l o g 4 codec => j s o n 5 type => SAML 6 } 7 f i l e { 8 path => C: / U s e r s /Tom/Documents/Stage RUN/ eid / t i m e l o g. l o g 9 codec => j s o n 10 type => eid 11 } 12 f i l e { 13 path => C: / U s e r s /Tom/Documents/Stage RUN/OAuth/ t i m e l o g. l o g 14 codec => j s o n 15 type => OAuth 16 } 17 f i l e { 18 path => C: \ U s e r s \Tom\Documents\Stage RUN\ u s e r p a s s / t i m e l o g. l o g 19 codec => j s o n 20 type => Gebruikersnaam en Paswoord 21 } 22 } Zoals te zien is in het voorbeeld van een log, is message gedefinieerd als een string. Dit moeten we omvormen naar een integer om bewerkingen hierop door Kibana mogelijk te maken. Dit doen we met de mutate functie die aanwezig is in logstash Listing 2.5: Logstash Filter 1 f i l t e r { 2 mutate { 3 c o n v e r t => => i n t e g e r } 4 } 5 }

43 HOOFDSTUK 2. BESPREKING 37 Definiëren waar de data naartoe moet bij het definiëren van Elasticsearch, zal default waarden gebruiken. output { e l a s t i c s e a r c h { h o s t => l o c a l h o s t } } Listing 2.6: Logstash Output Elasticsearch Deze hebben we in standaard configuratie laten staan. Wanneer er van ondersteunde forwarders (zoals logstash) data aangeboden wordt, zal Elasticsearch automatisch met een template indexes aanmaken. Zoeken gebeurt door een lijst van indexes af te gaan, die verwijzen naar de juiste gegevens. Na het downloaden van Elasticsearch volstaat het om de bat file te runnen van commandline: start elasticsearch.bat Kibana Als laatste starten we de bat file van Kibana: start kibana.bat. Normaal zouden in de webinterface van Kibana nu de log files moeten verschijnen.

44 HOOFDSTUK 2. BESPREKING 38 Figuur 2.20: Kibana Als we dan valideren dat het message field een integer aanduiding heeft, kunnen we beginnen met het maken van de visuele weergave. De gemakkelijke UI maakt het mogelijk snel blokken te maken die implementeerbaar zijn op een dashboard. Door onder Visualize te werken met de juiste filters, is het mogelijk om te filteren op een specifiek type pakketten. Wij filteren bijvoorbeeld op authenticatie en maken dan het onderscheid tussen succes, fail en half voltooid voor elke methode. Deze slaan we op en voegen we dan toe aan het dashboard. Figuur 2.21: Methodes Aangezien het message field een integer value heeft, is het mogelijk hier berekeningen op te doen. We gebruiken de standaard AVERAGE berekening om een gemiddelde tijd per

45 HOOFDSTUK 2. BESPREKING 39 authenticatiemethode te berekenen. grootste gemiddelde tijd heeft. Zodoende kunnen we weergeven welke methode de Figuur 2.22: Bindings Na het combineren van een aantal grafieken krijgen we een beeld gelijkaardig aan Figuur 2.23 te zien in het live Dashboard. Wanneer we nieuwe authenticaties uitvoeren, zien we dat de grafieken zich aanpassen aan de nieuwe data. Figuur 2.23: Dashboard

46 HOOFDSTUK 2. BESPREKING HTML Extractie In de applicatie is het nodig op een flexibele manier om te gaan met webpagina s en de essentie hieruit te halen. Omdat op zo goed als alle loginpagina s die we tegenkomen in form formaat zijn die via HTTP-POST verzonden zal worden, moest hiervoor een flexibele oplossing geprogrammeerd worden. De oplossing die wij hebben bedacht, is een klasse die verschillende mogelijkheden biedt. De volgende parameters moeten worden meegegeven: ˆ Parameters die uit de form gehaald moeten worden ˆ Webpagina in string formaat ˆ URL waar de pagina vandaan komt Er zijn 2 publiek aanroepbare methoden aanwezig: ˆ generateform zal alles uit de webpagina halen ˆ extractactiononly zal alleen de URL nodig voor de POST teruggeven Voor beide methoden is het nodig de volledige form uit de webpagina te filteren. Dit is altijd de eerste stap. Vanaf hier treden er variaties op. Er is geen implementatie aanwezig voor HTML script tags. Beide werken met een list met hierin alle input tags aanwezig binnenin de form Volledige extractie Geeft een LinkedHashmap terug. Er moet een lijst meegegeven worden met hierin de paremeters die moeten worden toegevoegd. Deze worden vergeleken met het name field van een inputtag. Als deze overeenkomen, zal deze toegevoegd worden aan een keyvalue in de LinkedHashMap. De bijhorende waarde in het value veld zal ook uit deze input gefilterd worden, en tegelijk als bijhorende value van deze key in de Hashmap opgeslagen worden. Onder de standaard key value BaseURL zal altijd de URL toegevoegd worden waarnaar de POST uitgevoerd moet worden. Hier is rekening gehouden met een aantal optredende mogelijkheden. Wanneer de POST naar hetzelfde domein gebeurt, wordt het domein niet toegevoegd. Daarom moet de URL toegevoegd worden waar de pagina vandaan komt. Automatisch zal het domein gecombineerd worden met string die erachter gezet moet worden. Wanneer de POST naar dezelfde URL gebeurt als waar de pagina van geladen is, zal deze value leeg gelaten worden. Dan moet de BaseURL value ingeladen worden met de URL waar de pagina vandaan komt. Als de POST naar een ander domein gebeurt, zal de URL die hierin staat al volledig in orde zijn en moet deze gewoon in de BaseURL value geladen worden.

47 HOOFDSTUK 2. BESPREKING 41 De methode geeft dan een LinkedHashmap terug met alle parameters en value s Action extractie Zal uit de FORM alleen filteren op de method=post en de bijhorende URL bij de action tag. Bij het extracten van de URL wordt er alsook rekening gehouden met de verschillende mogelijkheden en is het dus nodig een begin URL mee te geven waarmee deze opgebouwd kan worden. Wanneer de POST naar hetzelfde domein gebeurt, wordt het domein niet toegevoegd. Daarom moet de URL toegevoegd worden waar de pagina vandaan komt. Automatisch zal het domein gecombineerd worden met string die erachter gezet moet worden. Wanneer de POST naar dezelfde URL gebeurt als waar de pagina van geladen is, zal deze value leeg gelaten worden. Dan moet de BaseURL value ingeladen worden met de URL waar de pagina vandaan komt. Als de POST naar een ander domein gebeurt, zal de URL die hierin staat al volledig in orde zijn en moet deze gewoon in de BaseURL value geladen worden. De methode geeft dan een String terug met hierin de opgebouwde URL.

48 HOOFDSTUK 2. BESPREKING Gebruikersnaam en wachtwoord Deze module is specifiek geschreven om door het posten van login credentials een sessie op te zetten met een server. De data die aan deze module moeten worden meegegeven bestaat uit het volgende: ˆ IDTokens: wat is de benaming van het veld, op de HTML pagina, voor gebruikersnaam en passwoord ˆ Credentials: De werkelijke logincredentials ˆ URL van de loginpagina ˆ URL waar we na de login terecht komen ˆ URL van de logoutpagina ˆ FORM parameters: welke overige parameters die ook nog op de pagina aanwezig kunnen zijn Login De flow is als volgt: 1. HTTP GET Verkrijg de initieel opgevraagde webpagina 2. Verwerking Form voor POST genereren aan de hand van de webpagina 3. HTTP POST POST data naar de action URL op de initiële webpagina 4. Volg redirect Hierna volgen we de redirects naar een finalepagina 5. Controle Controle met finale URL Na het starten van deze module zal er een HTTP GET uitgevoerd worden op de URL van de loginpagina. Deze webpagina zal worden verwerkt door de formextraction klasse. De FormExtraction klasse heeft de mogelijkheid om van een webpagina, waarop een action POST aanwezig is, automatische de data te verzamelen die nodig is. Hier hebben we het over de volgende gegevens: de data die in de form aanwezig moet zijn en de URL waarnaar de POST uitgevoerd moet worden. Alle inputs binnen een form element worden in een LinkedHashmap geplaatst. Het key element is altijd de name en de value in het value veld bij deze Key. Listing 2.7: Gebruikersnaam & Wachtwoord: Form voorbeeld <input c l a s s= t e x t b o x type= password name= IDToken2 i d= IDToken2 value= > <input type= hidden name= goto value= > Zo kan er later over de LinkedHashmap gegaan worden en de key en value elementen in een form opmaak geplaatst worden. Het object van de formextraction klasse zal de webpagina na de initiële GET verwerken. Hierna zal de data die geëxtract is uit de pagina doorgegeven worden aan het POST object. Deze zal de data voor de form opbouwen en encoderen in een UTF-8 formaat. Dit door middel van een foreach over de meegegeven LinkedHashmap. Wat we uiteindelijk bekomen, is een String met hierin de volledige form. Deze is nu klaar om verzonden

49 HOOFDSTUK 2. BESPREKING 43 te worden. Na het verzenden van de POST en het volgen van de redirect, zal er als check het volgende gebeuren: als de URL waar we terecht moeten komen overeenkomt met de finale redirect URL, dan is de authenticatie geslaagd Logout De flow is als volgt: 1. Controle login Controle of de sessie nog lopende is 2. HTTP GET De logout procedure starten door de logout URL op te vragen 3. Controle controleren of sessie bij cookies verwijderd is Door een GET uit te voeren naar de logout pagina en de redirects te volgen zal de sessie uit de cookie store verwijderd worden. Allereerst zal deze methode controleren of de sessie nog werkende is en of de client nog steeds aangemeld is op de server. Hierna kan men beginnen aan de werkelijke logout. Op voorhand slaan we de cookies op. We voeren een GET uit op de logout pagina en volgen alle redirects. Als controle vergelijken we op de cookies. Indien de sessie verwijderd is uit de cookies, is het logout proces geslaagd.

50 HOOFDSTUK 2. BESPREKING SAML 2.0 De SAML module bestaat uit een login en logout gedeelte. De SAML authenticatie heeft een aantal specifieke variabelen nodig: Toevoegen van de bindings voor de login en logout bij het aanmaken van het object is verplicht. De IDTokens zijn optioneel: wanneer deze niet werden toegevoegd, worden IDToken1 en IDToken2 als standaard gebruikt. Op Framework niveau is het gebruiken van de logout optioneel. Zo is het mogelijk om ook te testen met een groot aantal openstaande sessies op serverniveau Login Na het uitvoeren van de initiële GET, worden de ingestelde bindings aan de URL toegevoegd. Deze beïnvloeden de manier waarop de SAML assertions tussen de SP en IdP worden doorgegeven. Als DEFAULT geselecteerd is voor de request en/of response, zal er aan de URL niets toegevoegd worden. Per methode is er ook toegevoegd welke string er specifiek toegevoegd zal worden. Mogelijke instellingen voor de Operation Request Binding: ˆ POST zal de SAML request alleen doorgeven via POST van de SP naar de IdP &reqbinding=urn:oasis:names:tc:saml:2.0:bindings:http-post ˆ REDIRECT alleen via redirect &reqbinding=urn:oasis:names:tc:saml:2.0:bindings:http-redirect ˆ DEFAULT automatisch de standaard detecteren en uitvoeren Instellingen voor de Response Binding: ˆ POST SAML response alleen doorgeven via POST &binding=http-post ˆ ATIFACT verwijzing naar SAML artifact, de eigenlijke response zal via SOAP worden doorgeven van server naar server &binding=http-artifact ˆ DEFAULT automatisch de standaard detecteren en uitvoeren Na de GET Request op de URL met de juiste bindings, krijgt men de login pagina. Hier zal er automatisch een login gepost worden en verder gegaan worden met de geselecteerde Response afhandeling. De afhandeling van de 2 POSTs voor Operation en Response is hetzelfde. Opvangen van de webpagina, POST gegevens eruit filteren en data posten naar de juiste URL. Ditzelfde principe wordt ook toegepast bij het posten van de logingegevens. Als check wordt er op de initieel gegeven URL gecontroleerd of deze met de bestaande cookies in de cookiemanager nog een redirect naar een andere pagina uitvoert. Is dit niet het geval, dan is de authenticatie succesvol.

51 HOOFDSTUK 2. BESPREKING Logout Aan de logout methode moet nog de url van de logout pagina gegeven worden. Eerst test deze of de login geslaagd was, zo niet zal er een error optreden en de logout automatisch falen. Leiden de cookies die aanwezig zijn in de cookiemanager tot een succesvolle login, dan kan de logout starten. Na het uitvoeren van een GET Request op de logout pagina, extracten we hier de redirect URL waar we de binding opties aan kunnen toevoegen. Deze bindings komen bij de SPSLOInit module van OpenAM terecht en zal de juiste afhandeling in gang zetten. Instellingen voor de binding: ˆ REDIRECT request doorgeven via redirect in url &binding=urn:oasis:names:tc:saml:2.0:bindings:http-redirect ˆ POST request doorgeven via POST &binding=urn:oasis:names:tc:saml:2.0:bindings:http-post ˆ SOAP request doorgeven van server naar server, geen SAML assertions via client &binding=urn:oasis:names:tc:saml:2.0:bindings:soap De POST methode gebeurt op dezelfde manier als het opvangen van voorgaande webpagina: data eruithalen en posten naar de juiste url. Voor de overige 2: REDIRECT en SOAP, die beide met redirect werken, hebben we de volgende methode uitgewerkt. HttpURLConnect heeft wel de mogelijkheid om de standaard redirects te volgen. Dit is echter gedeeltelijk uitgeschakeld. Door de redirect niet te volgen en de url uit de location header te halen van de response, kunnen we detecteren welke authenticatie er nu gebruikt wordt.

52 HOOFDSTUK 2. BESPREKING OAuth 2.0 De flow die bij het praktisch uitvoeren van OAuth terug te vinden is als volgt: 1. HTTP GET Verkrijg de initieel opgevraagde webpagina 2. Redirect Geen toegang: redirecten naar Authorization Server 3. HTTP GET Ophalen van de login pagine 4. Verwerking Form voor POST genereren aan de hand van de webpagina 5. HTTP POST Post data naar de action URL op de webpagina 6. Volg redirect 7. HTTP GET Consent pagina: goedkeuring vragen voor de gegevens die worden doorgegeven tussen Client en Resource Server 8. HTTP POST Consent verwerken en Authorization Code uitdelen. 9. Redirect met Authorization Code 10. Toegang tot resource. Voordat men deze module kan starten, moeten er een aantal parameters meegegeven worden ˆ URL van protected resource ˆ Extra parameters die aanwezig zijn op de loginpagina ˆ Naam van de loginvelden op loginpagina ˆ Parameters op de goedkeuringspagina ˆ Overschrijven van een parameter op toestemmingspagina is mogelijk Bij het starten van de module wordt er initieel een GET naar de gebruikte start URL gedaan. De response webpagina zal in string formaat worden doorgegeven. Deze webpagina zal worden verwerkt door de formextraction klasse. De FormExtraction klasse heeft de mogelijkheid om van een webpagina waarop een action POST aanwezig is, automatisch de data te verzamelen die nodig is. Hier hebben we het over de volgende gegevens: de data die in de form aanwezig moet zijn en de URL waarnaar de POST uitgevoerd moet worden. Alle inputs binnen een form element worden in een LinkedHashmap geplaatst. Het key element is altijd de naam en de value zal het value veld bij deze Key zijn. De applicatie verwacht een loginpagina die de user credentials zal posten. We extracten uit de pagina alle inputs die vereist zijn voor de POST. Ook de hidden inputs worden toegevoegd, deze elementen moeten op voorhand meegegeven worden door de gebruiker, anders zal de applicatie deze niet overnemen.

53 HOOFDSTUK 2. BESPREKING 47 Na het extracten van de inputs die nodig zijn voor de POST, zullen deze in het juiste form formaat gezet worden en met een POST naar de action URL gestuurd worden. Het grote verschil met SAML is dat er nu een toestemmingspagina getoond wordt. Deze kunnen we ook door de formextracter laten afhandelen. Aangezien hier een aantal inputs op de webpagina aanwezig zijn die gepost moeten worden. Hieronder ziet men een voorbeeld van onze toestemmingspagina in de testopstelling voor OAuth. Figuur 2.24: Toestemmingspagina Op deze voorbeeldpagina zijn er nog een aantal verborgen parameters die mee gepost worden. Na het extracten van de action URL en de parameters met hun waarden kunnen we verder gaan. We posten de data naar de meegegeven URL en volgen hierna de redirects tot een finalepagina. Na een controle of de pagina waar we terechtkomen overeenkomt met de initieel opgevraagde resource, bevestigt de module naar buitenaf dat de authenticatie geslaagd is.

54 HOOFDSTUK 2. BESPREKING eid HttpsUrlConnection laat toe een SSLSocketFactory in te stellen. Als deze correct gemaakt is, zal de manier van posten en getten zoals bij HttpUrlConnection grotendeels hetzelfde blijven. Listing 2.8: eid: Truststore in Java 35 // I n s t e l l e n TrustManager 36 TrustManagerFactory tmf = TrustManagerFactory. g e t I n s t a n c e ( SunX509 ) ; 37 KeyStore t r u s t k s = KeyStore. g e t I n s t a n c e ( JKS ) ; F i l e t r u s t c e r t = new F i l e ( t r u s t d i r ) ; 40 InputStream t r u s t s t r e a m = new F i l e I n p u t S t r e a m ( t r u s t c e r t ) ; 41 t r u s t k s. l o a d ( t r u s t s t r e a m, t r u s t p a s s. tochararray ( ) ) ; 42 t r u s t s t r e a m. c l o s e ( ) ; 43 tmf. i n i t ( t r u s t k s ) ; 44 System. out. p r i n t l n ( T r u s t S t o r e added ) ; We maken allereerst de objecten van de klasse TrustManagerFactory en keystore met de juiste instanties. Voor tmf nemen we de SunX509 omdat de encoding in x509 is. Voor trustks de JKS (Java KeyStore), door gebruik te maken van de keytool van Java, is deze automatisch in JKS formaat. We laden het certificaat in een File trustcert, waarna we deze via een FileInputStream laden naar stream. Hierna roepen we de load methode aan op het keystore object en geven we stream en het wachtwoord in chararray mee. Initiëren van de TrustManagerFactory met het keystore object en het wachtwoord opnieuw in chararray. Hiermee is de TrustManager volledig ingesteld. Listing 2.9: eid: Keystore in Java 47 S e c u r i t y. a d d P r o v i d e r (new BeIDProvider ( ) ) ; SSLContext s s l C o n t e x t = SSLContext. g e t I n s t a n c e ( SSL ) ; KeyManagerFactory keymanagerfactory = KeyManagerFactory 52. g e t I n s t a n c e ( BeID ) ; BeIDManagerFactoryParameters spec = new BeIDManagerFactoryParameters ( ) ; 55 spec. s e t A u t o R e c o v e r y ( true ) ; 56 spec. s e t C a r d R e a d e r S t i c k i n e s s ( true ) ; 57 keymanagerfactory. i n i t ( spec ) ; 58 SecureRandom random = SecureRandom. g e t I n s t a n c e ( BeID ) ; We wijzen de BeIDProvider aan als bron van de Keystore. Listing 2.10: eid: SLL Socket in Java 60 // v o l g e n d e commando z a l de eid aanroepen 61 s s l C o n t e x t. i n i t ( keymanagerfactory. getkeymanagers ( ), 62 tmf. gettrustmanagers ( ), random ) ;

55 HOOFDSTUK 2. BESPREKING SSLSocketFactory s s l S o c k e t F a c t o r y = s s l C o n t e x t. g e t S o c k e t F a c t o r y ( ) ; System. out. p r i n t l n ( s s l S o c k e t F a c t o r y. t o S t r i n g ( ) ) ; con. s e t S S L S o c k e t F a c t o r y ( s s l S o c k e t F a c t o r y ) ; Opzetten van een SSL Socket met de Keystore (met het certificaat van de eid) en de TrustStore. Op het moment dat de SSL Socket een connectie maakt, zal er gevraagd worden naar de pincode van de kaart. Wat dan nog over blijft, is het instellen van het SSLSocketFactory bij de HttpsUrlConnection. Hierna kunnen we de standaard werking, zoals bij een niet SSL encrypted URL connectie, toepassen.

56 Hoofdstuk3 Resultaten 3.1 Doelstellingen Basisdoelstellingen ˆ Schrijven Framework in Java ˆ Uitvoeren authenticatie/autorisatie ˆ Meerdere Authenticatie/autorisatie mechanismen ˆ Testomgeving opzetten ˆ Feedback user Extra Doelstellingen Aangezien de basisfunctionaliteiten vrij snel in een werkend stadium waren, zijn er nog een extra aantal doelstellingen toegevoegd. Deze moesten een diepere studie aangaande de federated authenticatie mechanisme mogelijk maken. En zorgen voor extra gebruikersgemak. ˆ SAML Bindings ˆ Userinterface ˆ SAML SLO ˆ OAuth met Bearer/SAML token 3.2 Behaalde resultaten Er word voorgesteld dat we het framework in Java zouden schrijven. Dit omwille van de mogelijkheid om deze ook op servers te kunnen runnen. De aanvang van het project ging 50

57 HOOFDSTUK 3. RESULTATEN 51 aanvankelijk iets moeizamer, omdat we nog in deze omgeving thuis moesten geraken. Java en C# zijn vergelijkbaar op vlak van opbouw en verschillen alleen maar in de kleine details. Maar om de werking met Maven en Sonar in orde te krijgen was er wel wat tweaks nodig. Ook het opzetten van de testomgeving was voor ons een hele uitdaging. Onze kennis over het werken in Linux was redelijk beperkt en hebben we met vallen en opstaan vergroot. Van OpenAM hadden wij ook nog nooit gehoord. Met veel hulp van de documentatie van Forgerock en veel trial & error hebben we dit wel voltooid. Met behulp van OpenAM hebben we SAML 2.0, OAuth 2.0 en gebruikersnaam & wachtwoord kunnen implementeren. Het opzetten van 2 way SSL authenticatie heeft ons ook wel wat tijd gekost. Hier hebben we geen gebruik gemaakt van OpenAM, maar van de standaard SSL mogelijkheid in Apache Tomcat. Even een opsomming van de behaalde delen ˆ Mogelijk een authenticatie/autorisatie uit te voeren SAML 2.0 OAuth 2.0 Gebruikersnaam & wachtwoord eid ˆ Multithreading met offset ˆ Flow voor authenticatie POST is aanpasbaar door gebruiker ˆ Gebruik van logging in JSON voor flexibiliteit ˆ Weergave van data in overzichtelijke manier in ELK stack Problemen en oplossingen Het grootste probleem was het tekort aan kennis en de nood om onszelf bij te scholen. Ook onderliggende kennis over compatibiliteit tussen verschillende versies van software die onderling moeten samenwerken, heeft ons meerdere malen problemen opgeleverd. OAuth wilde niet werken. Dit kwam door een misconfiguratie en had een herinstallatie nodig van de OAuth instantie Niet behaalde doelstellingen Het beëindigen van een sessie in OAuth hebben we niet tijdig kunnen implementeren. Mede door een gebrekkige documentatie over dit onderwerp door Forgerock SAML studie Omdat we een diepere studie hebben uitgevoerd van SAML 2.0, kunnen we een aantal conclusies trekken. Dit aangaande de snelheid van authenticatie met invloed van de gebruikte bindings.

58 HOOFDSTUK 3. RESULTATEN 52 In onze testopstelling is het gebruik maken van een ARTIFACT-POST het traagste. Dit was onverwacht en is te wijten aan een trage afhandeling tussen de servers bij het afhandelen van het Artifact. Hierop volgt de verwachte traagste POST-POST, aangezien hier een groter aantal stappen gebeuren. Figuur 3.1: SP-Initiated SSO: POST/POST

59 Hoofdstuk4 Besluit De kennis die wij hebben vergaard, over onder andere het programmeren in Java en het werken in een server Linux omgeving, is groot. Mede door het constant bijleren in de Java omgeving, was het nodig de code dagelijks te vernieuwen en te herschrijven naar nieuw ontdekte methodes. Ook alles wat erbij komt kijken, om een veilige manier van authenticatie op te zetten en dit stap voor stap te doorlopen, was zeer boeiend en leerrijk. We zijn zeer tevreden met het behaalde resultaat, toch is er steeds ruimte voor verbetering. Vooral bij OAuth missen we nog enkele functies: ˆ implementeren van zowel Bearer- als SAML tokens ˆ intrekken en vernieuwen van tokens ˆ logout proces Ook is het niet mogelijk om meerdere eid-authenticaties in threading uit te voeren, dit door de uitwerking binnen de libraries van Fedict. Al bij al denken we dat deze applicatie een meerwaarde kan betekenen bij het testen van verschillende authenticatiemethodes. Ook is het door de uitbreidingen toegevoegd aan SAML, mogelijk om hiervan een diepgaande studie uit te voeren en hiermee een duidelijke beslissing te kunnen maken, gestaafd met de vergaarde data. 53

60 BijlageA Handleiding Deze handleiding zal u bekend maken met het Federated Authentication Benchmarking Framework programma. U hebt een omgeving waar een authenticatie in gebruikt wordt. Dit framework is specifieker toegericht op federated authenticaties. Maar ook Single Sign on door een POST naar een webpagina is mogelijk. Ook is er een implementatie van eid voorzien. Door de simulatie van wat op applicatie/browser niveau gebeurd zijn de verkregen waarden vergelijkbaar. De verzameling van gegevens maakt het ook direct mogelijk de performantie van een opstelling te kunnen bepalen onder een specifieke load. Wij hopen dat u door deze tool te gebruiken een betere omgeving kan opzetten! Opstarten De applicatie is in opgebouwd in Java. Het installeren van de laatste Java versie op de computer is verreist. Het opstarten van de jar in een directory waar de gebruiker schrijfrechten op heeft is ook een vereiste. Het programma maakt een aantal file s aan en zal zonder rechten niet kunnen werken. Indien er geen schrijfrechten zijn op de locatie, zal het programma een foutmelding geven met uitleg. 54

61 BIJLAGE A. HANDLEIDING 55 Hoofdscherm Na opstart ziet u het venster waar de meest voorkomende aanpassingen in voorkomen. Specifiek aan de te gebruiken authenticatiemethode zullen verschillende vakken beschikbaar of niet beschikbaar worden. De belangrijkste instellingen zijn die bij Login, deze zijn afhankelijk van de gekozen methode. Onder Method kan je kiezen voor OAuth, SAML, User/Pass en eid. Bij Login dien je een URL in te geven, een Username. Voor eid dien je ook te beschikken over een eid lezer. Bij Advanced kunnen we het aantal Threads instellen en activeren, dit zorgt ervoor dat er meerdere simultane sessies gestart kunnen worden. Die Threads kunnen ook met een tussentijd gestart worden, dit stellen we in bij Thread Offset met een tijd in milliseconden. Voor OAuth, SAML en User/Pass kunnen we ook threads met meerdere accounts uitvoeren door Multiple Accounts te activeren. Tenslotte is het

62 BIJLAGE A. HANDLEIDING 56 mogelijk om de Binding (IdP naar SP) & Request Binding (SP naar IdP, geen invloed bij IdP initiated) in te stellen. Daarnaast kan je de logout instellingen instellen en aciveren. Voor User/Pass volstaat de URL, bij SAML kan je ook nog een binding aangeven. Indien alles is ingesteld, kan men doormiddel van de Start-knop de sessies starten. Bij het eerste gebruik dienen echter enkele platformspecifieke gegevens toegevoegd te worden. Dit kan bij Settings, te vinden onder Edit.

63 BIJLAGE A. HANDLEIDING 57 Settings Onder Settings kan men methode specifieke gegevens instellen. OAuth Voor OAuth dient men de IDTokens en de Fields in te geven die op de login pagina staat. Vervolgens kunnen we de Consent Fields en de Consent invullen; die staan op de Consent pagina. De naam waarde van Consent kunnen zelf ingegeven worden, zo kan men zowel met Allow als Deny testen. Tenslotte kan men een standaard URL en een lijst van gebruikers ingeven.

64 BIJLAGE A. HANDLEIDING 58 SAML Voor SAML dient men de IDTokens en de Fields in te geven die op de login pagina staat. Vervolgens kunnen we een standaard URL voor zowel login als logout invoeren en een lijst van gebruikers ingeven.

65 BIJLAGE A. HANDLEIDING 59 Login/Päss Voor Login/Pass dient men de IDTokens en de Fields in te geven die op de login pagina staat. Daarnaast hebben we ook de Landing URL nodig, dit is de eindpagina van het loginproces. Vervolgens kunnen we een standaard URL voor zowel login als logout invoeren en een lijst van gebruikers ingeven.

66 BIJLAGE A. HANDLEIDING 60 eid Voor eid zijn er geen verplichte gegevens. We kunnen een standaard URL invoeren, de Trustore Location aanwijzen en bijhorend wachtwoord invoeren.

67 BijlageB eid authenticatie Volledige beschrijving van het opzetten en programmeren hoe een 2 way ssl authentication te doen met eid. Dit op een apache tomcat server. Instellen en opzetten SSL/TLS Om een TLS/SSL 2 way authenticatie op te zetten tussen een Java client en een server, hebben we het volgende nodig: op clientside en op serverside een truststore en een keystore. Aanmaken certificaten Na uitzoeken en testen blijkt het niet mogelijk om een self signed certificaat te gebruiken zonder de truststore op clientzijde volledig uit te schakelen. Er moet dus een chain aangemaakt worden waar de rootca het certificaat van de server gaat ondertekenen. Hiervoor maken we gebruik van het tooltje XCA. Deze maakt het overzichtelijker. Om te beginnen maken we een nieuwe xdb database aan (na starten tool) File => New Database => geef naam en passwoord. Als eerste stap maken we een 3 tal private keys aan in XCA. 61

68 BIJLAGE B. EID AUTHENTICATIE 62 Hierna maken we in het Certificates tabblad een nieuw self signed TestsetupCA certificaat aan. Als CN stellen we CN=TestsetupCA in en Private key gebruiken we de key die we voor de root hebben aangemaakt. Bij Template for the new certificate stellen we [default] CA in. In tab Extensions bij type Certificate Authority Controleren of de Validity tijd voldoende is. We drukken op ok en het root self signed certificate zou gegenereerd moeten worden

69 BIJLAGE B. EID AUTHENTICATIE 63 Hierna gaan we naar het tabblad Certificate signing requests. Allereerst zullen we een certificaat aanmaken voor de server. We klikken op New Request. Source => Template for the new certificate => HTTPS_server Subject => commonname (CN) => naam server in onze setup is dat => Private key gebruiken we de key die we voor de server hebben aangemaakt. Extensions => Type => End Entity OK Rechterklik op het aangemaakte certificaat => sign Source => Signing => Use this Certificate for signing => selecteer het certificaat dat we hebben aangemaakt hier TestsetupCA => OK Source => Template for the new certificate => HTTPS_server Dan maken we een certificaat voor de client aan. We klikken op New Request. Source => Template for the new certificate => HTTPS_client Subject => commonname (CN) => deze naam is niet belangrijk omdat men hier ClientCert gebruikt => Private key gebruiken we de key die we voor de client hebben aangemaakt.

70 BIJLAGE B. EID AUTHENTICATIE 64 Extensions => Type => End Entity OK Rechterklik op het aangemaakte certificaat => sign Source => Signing => Use this Certificate for signing => selecteer het certificaat dat we hebben aangemaakt hier TestsetupCA => OK De volgende stap is het exporten van de 3 certificaten die nodig zijn. Allereerst hebben we een trusted certificaat van de rootca nodig. We selecteren het rootca certificaat en drukken op Export.

71 BIJLAGE B. EID AUTHENTICATIE 65 We selecteren DER formaat en een directory waar we voorlopig alle certificaten gaan opslaan. Hierna Exporten we de 2 certificaten die gegenereerd zijn voor de client en server. Deze zetten we in pkcs12 formaat. Dit doen we voor beide certificaten die gesigned zijn door de rootca. We hebben nu de 3 certificaten gegenereerd die we nodig hebben voor de setup van de client en tomcat.

72 BIJLAGE B. EID AUTHENTICATIE 66 Toevoegen certificaten serverside Om op de Tomcat connector een SSL connectie op te zetten, moeten we hier 2 dingen in configureren. De truststore en de keystore. In de truststore komt het certificaat van de RootCA. In de keystore komt het servercertificaat getekend door de RootCA. Hieronder een voorbeeld van wat wij hebben toegevoegd aan de Server.xml van tomcat in de /conf directory. Als we naar poort 8443 surfen zal er een https connectie gestart worden. <Connector port="8443" maxthreads="150" scheme="https" secure="true" SSLEnabled="true" truststorefile="/opt/tomcat/rootcatrust.keystore" truststorepass="password" keystorefile="/opt/tomcat/serverkeystore.keystore" keystorepass="password" clientauth="true" keyalias=" sslprotocol="tls"/> Om tomcat deze.keystore files te laten ontvangen, moeten we de server p12 file toevoegen aan een keystore file en de server de der file in een andere.keystore file. Hiervoor gebruiken we het keytoolcommando met de volgende context Genereren keystore van de RootCA keytool -importcert -alias servertruststore -file /root/desktop/rootcert.der -keystore rootcatrust.keystore Genereren keystore van de Server zelf keytool -v -importkeystore -srckeystore /root/desktop/servercert.p12 -srcstoretype PKCS12 - destkeystore serverkeystore.keystore De wachtwoorden die gebruikt worden bij het genereren van de.keystore files moeten ingevuld worden in de keystorpass en truststorepass velden in de <Connector port> van Tomcat. Ook het aanpassen van de directory bij truststorefile en keystorefile, naar de locatie waar we de keystore opslaan, is nodig. We herstarten de Tomcat server. Configuratie van https op de Tomcat server is nu voltooid. Browser Test HTTPS Voor deze test hebben we gebruik gemaakt van Firefox. De workflow is als volgt. Allereerst moeten we het RootCert.der file toevoegen aan de lijst van Authorities in de browser. Hierna voegen we de ClientCert.p12 toe aan My Certificates.

73 BIJLAGE B. EID AUTHENTICATIE 67 We testen of we verbinding krijgen met Firefox zal dan vragen voor de identificatie met certificaat. Als alles goed ging, krijg je nu de Tomcat pagina te zien. Als laatste controle dat de rootca werkelijk werkt, klikken we op het slotje en zien we dat de RootCA het certificaat van de server correct ondertekend heeft. SSL/TLS is nu correct geïnstalleerd op de apache tomcat server om in de java setup te werken.

INSTALLATIE EXCHANGE CONNECTOR

INSTALLATIE EXCHANGE CONNECTOR HANDLEIDING INSTALLATIE EXCHANGE CONNECTOR INSTALLATIE EXCHANGE CONNECTOR 0 0 HANDLEIDING INSTALLATIE EXCHANGE CONNECTOR INSTALLATIE EXCHANGE CONNECTOR HANDLEIDING datum: 10-08-2018 1 Inleiding... 1 2

Nadere informatie

Security web services

Security web services Security web services Inleiding Tegenwoordig zijn er allerlei applicaties te benaderen via het internet. Voor bedrijven zorgt dit dat zei de klanten snel kunnen benaderen en aanpassingen voor iedereen

Nadere informatie

KraamZorgCompleet OnLine instellen en gebruiken. Voor Android tablet of telefoon

KraamZorgCompleet OnLine instellen en gebruiken. Voor Android tablet of telefoon KraamZorgCompleet OnLine instellen en gebruiken Voor Android tablet of telefoon Inhoudsopgave Hoofdstuk 1 Algemeen...1 1.1 Toegang tot inlogportalen...1 Hoofdstuk 2 Basic account...3 2.1 Microsoft Remote

Nadere informatie

Intramed OnLine instellen en gebruiken. Voor Android tablet of telefoon

Intramed OnLine instellen en gebruiken. Voor Android tablet of telefoon Intramed OnLine instellen en gebruiken Voor Android tablet of telefoon Inhoudsopgave Hoofdstuk 1 Algemeen...1 1.1 Toegang tot inlogportalen...1 Hoofdstuk 2 Basic account...3 2.1 Microsoft Remote Desktop

Nadere informatie

VPN Remote Dial In User. DrayTek Smart VPN Client

VPN Remote Dial In User. DrayTek Smart VPN Client VPN Remote Dial In User DrayTek Smart VPN Client Inhoudsopgave VPN Remote Dial In... 3 Verbinding maken met de DrayTek router... 4 DrayTek VPN Remote Dial In configuratie PPTP VPN... 5 VPN verbinding opzetten

Nadere informatie

Single Sign-On in ZIVVER met Microsoft ADFS

Single Sign-On in ZIVVER met Microsoft ADFS Single Sign-On in ZIVVER met Microsoft ADFS Versie: 2.4 Datum: 16 april 2018 support@zivver.com www.zivver.com Inhoudsopgave Inhoudsopgave... 2 1. Inleiding... 3 2. Wat heb je nodig?... 3 3. SSO instellen

Nadere informatie

HDN DARTS WEB AUTHENTICATIE

HDN DARTS WEB AUTHENTICATIE HDN DARTS WEB AUTHENTICATIE HDN Helpdesk T: 0182 750 585 F: 0182 750 589 M: helpdesk@hdn.nl Copyright Communications Security Net B.V. Inhoudsopgave 1. INLEIDING OP HET ONTWERP... 3 1.1 HET DOEL VAN DIT

Nadere informatie

Single Sign-On in ZIVVER met Microsoft ADFS

Single Sign-On in ZIVVER met Microsoft ADFS Single Sign-On in ZIVVER met Microsoft ADFS Versie: 2.3 Datum: 11 oktober 2017 support@zivver.com www.zivver.com Inhoudsopgave Inhoudsopgave... 2 1. Inleiding... 3 2. Wat heb je nodig?... 3 3. SSO instellen

Nadere informatie

SAML & FEDERATED IDENTITIES. The Single Sign-on provider

SAML & FEDERATED IDENTITIES. The Single Sign-on provider SAML & FEDERATED IDENTITIES The Single Sign-on provider Agenda Onderwerp: SAML Single Sign-on Justitie Uitleg: Waarom Identity en Access Management (IAM) Wat is IAM Wat is Security Assertion Markup Language

Nadere informatie

Handleiding Magento - Yuki

Handleiding Magento - Yuki Handleiding Magento - Yuki www.webwinkelfacturen.nl Samenvatting Dit is de handleiding voor de koppeling van Magento naar Yuki. De koppeling zorgt dat voor facturen in Magento automatisch een factuur of

Nadere informatie

Implementatiekosten en baten van SURFconext. Versie: 0.5 Datum: 06/06/2013 Door: Peter Clijsters

Implementatiekosten en baten van SURFconext. Versie: 0.5 Datum: 06/06/2013 Door: Peter Clijsters Implementatiekosten en baten van SURFconext Versie: 0.5 Datum: 06/06/2013 Door: Peter Clijsters Dit document geeft een antwoord op de vraag hoeveel een aansluiting op SURFconext kost. Introductie... 1

Nadere informatie

DE IDENTITEITSKAART EN FIREFOX

DE IDENTITEITSKAART EN FIREFOX DE IDENTITEITSKAART EN FIREFOX Deze handleiding is bedoeld voor iedereen die met een elektronische identiteitskaart toegang willen verkrijgen tot beveiligde web sites. In deze handleiding leggen we je

Nadere informatie

icafe Project Joeri Verdeyen Stefaan De Spiegeleer Ben Naim Tanfous

icafe Project Joeri Verdeyen Stefaan De Spiegeleer Ben Naim Tanfous icafe Project Joeri Verdeyen Stefaan De Spiegeleer Ben Naim Tanfous 2006-2007 Inhoudsopgave 1 2 1.1 Programmeertaal PHP5..................... 2 1.2 MySQL database......................... 3 1.3 Adobe Flash...........................

Nadere informatie

Werken op afstand via internet

Werken op afstand via internet HOOFDSTUK 12 Werken op afstand via internet In dit hoofdstuk wordt uitgelegd wat er nodig is om op afstand met de ROS artikel database te kunnen werken. Alle benodigde programma s kunnen worden gedownload

Nadere informatie

Installeer Apache2: Landstede februari 2009 versie 3 1 Bertil Hoentjen

Installeer Apache2: Landstede februari 2009 versie 3 1 Bertil Hoentjen Installeer Apache2: Deze howto gaat over name based virtual hosting onder Apache 2.x., en is getest onder OpenSUSE 11 maar is in feite ook van toepassing op de andere distributies. Alleen Debian en afgeleide

Nadere informatie

Proware Cloud Webbuilder Versie 2.30

Proware Cloud Webbuilder Versie 2.30 Proware Cloud Webbuilder Versie 2.30 Laatste update: 02-12-2013 Inhoudsopgave Het principe van open login... 3 Functie- en procedurebeschrijving... 5 Loginfunctie... 5 Bevestigingsfunctie... 5 Demobestanden...

Nadere informatie

Intramed OnLine instellen en gebruiken. Voor Android tablet of telefoon

Intramed OnLine instellen en gebruiken. Voor Android tablet of telefoon Intramed OnLine instellen en gebruiken Voor Android tablet of telefoon Inhoudsopgave Hoofdstuk 1 Algemeen...1 1.1 Toegang tot inlogportalen...1 Hoofdstuk 2 Basic account...3 2.1 Microsoft Remote Desktop

Nadere informatie

DigiD SSL. Versie 2.1.1. Datum 16 augustus 2010 Status Definitief

DigiD SSL. Versie 2.1.1. Datum 16 augustus 2010 Status Definitief DigiD SSL Versie 2.1.1 Datum 16 augustus 2010 Status Definitief Colofon Projectnaam DigiD Versienummer 2.1.1 Organisatie Logius Postbus 96810 2509 JE Den Haag servicecentrum@logius.nl Pagina 2 van 9 Inhoud

Nadere informatie

TaskCentre Web Service Connector: Creëren van requests in Synergy Enterprise

TaskCentre Web Service Connector: Creëren van requests in Synergy Enterprise TaskCentre Web Service Connector: Creëren van requests in Synergy Enterprise Inhoudsopgave 1. Voorbereiding... 4 2. Web Service Connector tool configuratie... 5 3. TaskCentre taak voor het aanmaken van

Nadere informatie

SSL VPN. In deze handleiding zullen wij onderstaande SSL mogelijkheden aan u uitleggen. - SSL VPN account/groep creëren.

SSL VPN. In deze handleiding zullen wij onderstaande SSL mogelijkheden aan u uitleggen. - SSL VPN account/groep creëren. SSL VPN SSL VPN SSL VPN is een web based versie van VPN waarbij er geen VPN client software nodig is. Het wordt niet beperkt door netwerkomgevingen en is zeer eenvoudig te configureren. SSL staat voor

Nadere informatie

Handleiding Magento - Asperion

Handleiding Magento - Asperion Handleiding Magento - Asperion www.webwinkelfacturen.nl Samenvatting Dit is de handleiding voor de koppeling van Magento naar Asperion. De koppeling zorgt dat voor facturen in Magento automatisch een factuur

Nadere informatie

Index. Auteur: André van den Nouweland Datum: 17 oktober 2017 Betreft: SAML voor authenticatie/autorisatie

Index. Auteur: André van den Nouweland Datum: 17 oktober 2017 Betreft: SAML voor authenticatie/autorisatie Auteur: André van den Nouweland Datum: 17 oktober 2017 Betreft: SAML voor authenticatie/autorisatie Doel: Dit document laat voorbeelden zien hoe je authenticatie/autorisatie mee kan geven via een SAML

Nadere informatie

SURFconext Cookbook. Het koppelen van Alfresco aan SURFconext. Versie: 1.0. Datum: 8 december 2013. 030-2 305 305 admin@surfnet.nl www.surfnet.

SURFconext Cookbook. Het koppelen van Alfresco aan SURFconext. Versie: 1.0. Datum: 8 december 2013. 030-2 305 305 admin@surfnet.nl www.surfnet. SURFconext Cookbook Het koppelen van Alfresco aan SURFconext Auteur(s): Frank Niesten Versie: 1.0 Datum: 8 december 2013 Radboudkwartier 273 3511 CK Utrecht Postbus 19035 3501 DA Utrecht 030-2 305 305

Nadere informatie

Handleiding Magento - Factuursturen

Handleiding Magento - Factuursturen Handleiding Magento - Factuursturen www.webwinkelfacturen.nl Samenvatting Dit is de handleiding voor de koppeling van Magento naar Factuursturen. De koppeling zorgt dat voor facturen in Magento automatisch

Nadere informatie

Intramed OnLine instellen en gebruiken. Voor Mac OSX

Intramed OnLine instellen en gebruiken. Voor Mac OSX Intramed OnLine instellen en gebruiken Voor Mac OSX Inhoudsopgave Hoofdstuk 1 Algemeen...1 1.1 Toegang tot inlogportalen...1 Hoofdstuk 2 Basic account...3 2.1 Microsoft Remote Desktop installeren en Intramed

Nadere informatie

HANDLEIDING DMS Plugin Installatie, configuratie & werking

HANDLEIDING DMS Plugin Installatie, configuratie & werking HANDLEIDING DMS Plugin Installatie, configuratie & werking Dit document is de handleiding voor de installatie, configuratie en werking van de DMS Plugin. Versie 1-12/09/2005 Inhoudstafel 1 Installatie...

Nadere informatie

SSL VPN. In deze handleiding zullen wij onderstaande SSL mogelijkheden aan u uitleggen. - SSL VPN account/groep creëren.

SSL VPN. In deze handleiding zullen wij onderstaande SSL mogelijkheden aan u uitleggen. - SSL VPN account/groep creëren. SSL VPN SSL VPN SSL VPN is een web based versie van VPN waarbij er geen VPN client software nodig is. Het wordt niet beperkt door netwerkomgevingen en is zeer eenvoudig te configureren. SSL staat voor

Nadere informatie

eid Routeringsvoorziening OpenID Connect

eid Routeringsvoorziening OpenID Connect eid Routeringsvoorziening OpenID Connect Coen Glasbergen 13 februari 2019 Routeringsvoorziening@logius.nl 1 Wet Digitale Overheid Inhoud eid en Routeringsvoorziening OpenID Connect Feedback 2 Wet Digitale

Nadere informatie

KraamZorgCompleet OnLine instellen en gebruiken. Voor Mac OSX

KraamZorgCompleet OnLine instellen en gebruiken. Voor Mac OSX KraamZorgCompleet OnLine instellen en gebruiken Voor Mac OSX (Untitled) Voor Mac OSX Copyright 2012 Convenient en licentiegevers. Alle rechten voorbehouden. Niets uit deze uitgave mag worden verveelvoudigd

Nadere informatie

Single Sign-On in ZIVVER met Microsoft Azure AD

Single Sign-On in ZIVVER met Microsoft Azure AD Single Sign-On in ZIVVER met Microsoft Azure AD Versie: 1.2 Datum: 21 maart 2018 support@zivver.com www.zivver.com Inhoudsopgave Inhoudsopgave... 2 1. Inleiding... 3 2. Wat heb je nodig?... 3 3. SSO instellen

Nadere informatie

Externe toegang met ESET Secure Authentication. Daxis helpdesk@daxis.nl Versie 2.0

Externe toegang met ESET Secure Authentication. Daxis helpdesk@daxis.nl Versie 2.0 Externe toegang met ESET Secure Authentication Daxis helpdesk@daxis.nl Versie 2.0 Inhoudsopgave: Inhoudsopgave:... 1 Inleiding:... 2 Stap 1: Download eenmalig Eset Secure Authentication op uw smartphone...

Nadere informatie

HANDLEIDING EXTERNE TOEGANG CURAMARE

HANDLEIDING EXTERNE TOEGANG CURAMARE HANDLEIDING EXTERNE TOEGANG CURAMARE Via onze SonicWALL Secure Remote Access Appliance is het mogelijk om vanaf thuis in te loggen op de RDS omgeving van CuraMare. Deze handleiding beschrijft de inlogmethode

Nadere informatie

uw inloggegevens de procedure bij het inloggen in Teleboekhouden 7.2 het beheer van het gebruikersaccount

uw inloggegevens de procedure bij het inloggen in Teleboekhouden 7.2 het beheer van het gebruikersaccount Met de overgang naar Visma Teleboekhouden 7.2 is de inlogprocedure gewijzigd. Er wordt gebruik gemaakt van een OpenID van OpenID-provider Fidesque. Deze wijziging heeft gevolgen voor: uw inloggegevens

Nadere informatie

Toegang tot RIZIV-webtoepassingen via ehealth

Toegang tot RIZIV-webtoepassingen via ehealth Toegang tot RIZIV-webtoepassingen via ehealth De informatie in een aantal RIZIV-webtoepassingen is niet anoniem consulteerbaar. U moet zich hiervoor aanmelden. Het gebruikersbeheersysteem zorgt ervoor

Nadere informatie

Handleiding installatie Rental Dynamics

Handleiding installatie Rental Dynamics Handleiding installatie Rental Dynamics Versie: 1.1 Datum: 9 januari 2015 1. Inleiding Deze handleiding beschrijft de procedure voor de installatie van Rental Dynamics en de benodigde software. In hoofdstuk

Nadere informatie

Installatiehandleiding B3P GIS Suite v3.6

Installatiehandleiding B3P GIS Suite v3.6 Installatiehandleiding B3P GIS Suite v3.6 Datum: 22-10-2012 1. Inleiding... 2 1.1 Doelgroep... 2 1.2 Contact / Support... 2 2. Installatie... 3 2.1 Applicatieserver... 3 2.2 Aanmaken databases... 3 2.3

Nadere informatie

De FAS (Federal Authentication Service) Peter Strick SmartCities IDM workshop 07/05/2009

De FAS (Federal Authentication Service) Peter Strick SmartCities IDM workshop 07/05/2009 De FAS (Federal Authentication Service) Peter Strick SmartCities IDM workshop 07/05/2009 Fedict 2009. All rights reserved Agenda Beschrijving van de FAS Authenticatie Veiligheidsniveaus voor authenticatie

Nadere informatie

HANDLEIDING SMTP DIENST BEDRIJVENWEB NEDERLAND B.V.

HANDLEIDING SMTP DIENST BEDRIJVENWEB NEDERLAND B.V. HANDLEIDING SMTP DIENST BEDRIJVENWEB NEDERLAND B.V. Uitgave : 1.0 KORTE OMSCHRIJVING In dit document wordt beschreven hoe u gebruik kunt maken van de SMTP dienst van Bedrijvenweb Nederland B.V. om e-mail

Nadere informatie

Technische nota AbiFire5 Rapporten maken via ODBC

Technische nota AbiFire5 Rapporten maken via ODBC Technische nota AbiFire5 Rapporten maken via ODBC Laatste revisie: 29 juli 2009 Inhoudsopgave Inleiding... 2 1 Installatie ODBC driver... 2 2 Systeeminstellingen in AbiFire5... 3 2.1 Aanmaken extern profiel...

Nadere informatie

Installatie- en gebruikshandleiding Risicoverevening. 11 april 2007 ZorgTTP

Installatie- en gebruikshandleiding Risicoverevening. 11 april 2007 ZorgTTP Installatie- en gebruikshandleiding Risicoverevening 11 april 2007 ZorgTTP Inleiding In het kader van Risicoverevening wordt gepseudonimiseerd informatie aangeleverd aan het College voor Zorgverzekeringen

Nadere informatie

De controlekaart volledige werkloosheid

De controlekaart volledige werkloosheid De controlekaart volledige werkloosheid Mobiele Versie Gebruikershandleiding Inhoudstafel Toegang 4 Algemene beschrijving 6 Bovenaan 7 Het logo van de uitbetalingsinstelling 7 De PDF downloaden 7 Instellingen

Nadere informatie

Installatie SQL: Server 2008R2

Installatie SQL: Server 2008R2 Installatie SQL: Server 2008R2 Download de SQL Server 2008.exe van onze site: www.2work.nl Ga naar het tabblad: Downloads en meld aan met: klant2work en als wachtwoord: xs4customer Let op! Indien u een

Nadere informatie

VPN Remote Dial In User. DrayTek Smart VPN Client

VPN Remote Dial In User. DrayTek Smart VPN Client VPN Remote Dial In User DrayTek Smart VPN Client VPN Remote Dial In Met een Virtual Private Network (VPN) is het mogelijk om door middel van een beveiligde (geautoriseerd en/of versleuteld) verbinding

Nadere informatie

Wijzigen van een acquiring certificaat in ideal Advanced Zo werkt het

Wijzigen van een acquiring certificaat in ideal Advanced Zo werkt het Wijzigen van een acquiring certificaat in ideal Advanced Zo werkt het Wijzigen van ideal Advanced U maakt gebruik van ideal via de ING. In deze handleiding leest u welke software, instellingen en configuraties

Nadere informatie

Installatie van sqlserver

Installatie van sqlserver Installatie van sqlserver Download SQLserver 2005 Express basis van de website van 2work: www.2work.nl, tabblad downloads; beveiligde zone. De inlog gegevens kunnen via de helpdesk aangevraagd worden.

Nadere informatie

SSL VPN Smart-VPN app voor ios

SSL VPN Smart-VPN app voor ios SSL VPN Smart-VPN app voor ios Smart-VPN app voor ios. DrayTek heeft de Smart-VPN app uitgebracht voor ios gebruikers (link). Met deze VPN App is het mogelijk voor ios gebruikers om een SSL VPN tunnel

Nadere informatie

Mijn HVW-dossier. Veel voorkomende vragen en problemen

Mijn HVW-dossier. Veel voorkomende vragen en problemen Mijn HVW-dossier Veel voorkomende vragen en problemen Inhoud 1. INSTALLATIE... 3 Welke software heeft u nodig?... 4 Uw installatie testen... 4 2. VRAGEN EN PROBLEMEN... 5 Federaal burgertoken... 6 Nieuwe

Nadere informatie

SURFconext Cookbook. Het koppelen van LimeSurvey aan SURFconext. Versie: 1.0. Datum: 4 december 2013. 030-2 305 305 admin@surfnet.nl www.surfnet.

SURFconext Cookbook. Het koppelen van LimeSurvey aan SURFconext. Versie: 1.0. Datum: 4 december 2013. 030-2 305 305 admin@surfnet.nl www.surfnet. SURFconext Cookbook Het koppelen van LimeSurvey aan SURFconext Auteur(s): Frank Niesten Versie: 1.0 Datum: 4 december 2013 Radboudkwartier 273 3511 CK Utrecht Postbus 19035 3501 DA Utrecht 030-2 305 305

Nadere informatie

Met een LightSwitch applicatie een OData service uit de Windows Azure Marketplace consumeren

Met een LightSwitch applicatie een OData service uit de Windows Azure Marketplace consumeren Met een LightSwitch applicatie een OData service uit de Windows Azure Marketplace consumeren Om eens wat ervaring op te doen met de Windows Azure Marketplace heb ik een publieke en gratis databron gekozen

Nadere informatie

Gebruik van cryptografie voor veilige jquery/rest webapplicaties. Frans van Buul Inter Access

Gebruik van cryptografie voor veilige jquery/rest webapplicaties. Frans van Buul Inter Access Gebruik van cryptografie voor veilige jquery/rest webapplicaties Frans van Buul Inter Access 1 Frans van Buul frans.van.buul@interaccess.nl 2 De Uitdaging Rijke en veilige webapplicaties Een onveilig en

Nadere informatie

Temperatuur logger synchronisatie

Temperatuur logger synchronisatie Temperatuur logger synchronisatie Juni 10, 2010 1 / 7 Temperatuur logger synchronisatie Introductie Twee of meerdere ontvangers van het Multilogger systeem kunnen met de temperature logger synchronisatie

Nadere informatie

DrICTVoip.dll v 2.1 Informatie en handleiding

DrICTVoip.dll v 2.1 Informatie en handleiding DrICTVoip.dll v 2.1 Informatie en handleiding Nieuw in deze versie : Koppeling voor web gebaseerde toepassingen (DrICTVoIPwebClient.exe) (zie hoofdstuk 8) 1. Inleiding Met de DrICTVoIP.DLL maakt u uw software

Nadere informatie

Handleiding Magento - Reeleezee

Handleiding Magento - Reeleezee Handleiding Magento - Reeleezee www.webwinkelfacturen.nl Samenvatting Dit is de handleiding voor de koppeling van Magento naar Reeleezee. De koppeling zorgt dat voor facturen in Magento automatisch een

Nadere informatie

Handleiding Installatie en Gebruik Privacy- en Verzend Module Stichting Farmaceutische Kengetallen

Handleiding Installatie en Gebruik Privacy- en Verzend Module Stichting Farmaceutische Kengetallen Handleiding Installatie en Gebruik Privacy- en Verzend Module Stichting Farmaceutische Kengetallen Uitgebracht door : ZorgTTP Referentie : Handleiding installatie en gebruik Privacy- en Verzend Module

Nadere informatie

Er zijn diverse andere software platformen en providers die werken met SIP, maar in dit voorbeeld gaan we uit van de volgende software:

Er zijn diverse andere software platformen en providers die werken met SIP, maar in dit voorbeeld gaan we uit van de volgende software: Er zijn diverse andere software platformen en providers die werken met SIP, maar in dit voorbeeld gaan we uit van de volgende software: Counterpath Bria SIP client. Net2 Entry Configuration Utility (SIP

Nadere informatie

Technische nota AbiFire Rapporten maken via ODBC

Technische nota AbiFire Rapporten maken via ODBC Technische nota AbiFire Rapporten maken via ODBC Laatste revisie: 23 januari 2018 Inhoudsopgave 1 Inleiding... 2 2 Systeeminstellingen in AbiFire... 3 2.1 Aanmaken extern profiel... 3 2.2 Toewijzing extern

Nadere informatie

Software Requirements Specification

Software Requirements Specification Software Requirements Specification PEN: Paper Exchange Network Software Engineering groep 1 (se1-1415) Academiejaar 2014-2015 Jens Nevens - Sander Lenaerts - Nassim Versbraegen Jo De Neve - Jasper Bevernage

Nadere informatie

5/5 Red Carpet. 5/5.1 Inleiding

5/5 Red Carpet. 5/5.1 Inleiding Management Services 5/5 Red Carpet 5/5.1 Inleiding Met de overname van Ximian is Novell ook eigenaar geworden van de Red Carpet-technologie. Hoewel het aannemelijk is dat het hier een tijdelijke oplossing

Nadere informatie

De SAP Cloud Connector 2.0 maakt SAPUI5 ontwikkeling via de WEB-IDE mogelijk met data uit je eigen backend systeem.

De SAP Cloud Connector 2.0 maakt SAPUI5 ontwikkeling via de WEB-IDE mogelijk met data uit je eigen backend systeem. De SAP Cloud Connector 2.0 maakt SAPUI5 ontwikkeling via de WEB-IDE mogelijk met data uit je eigen backend systeem. Vele van ons willen wel eens spelen met de WEB-IDE in de could via het SAP Trial Hana

Nadere informatie

Single Sign-On in ZIVVER met Okta

Single Sign-On in ZIVVER met Okta Versie: 1.0 Datum: 13 oktober 2017 support@zivver.com www.zivver.com Inhoudsopgave Inhoudsopgave... 2 1. Inleiding... 3 2. Wat heb je nodig?... 3 3. SSO instellen in Okta... 3 4. SSO instellen in ZIVVER...

Nadere informatie

Installatie. Klik vervolgens op OK om verder te gaan met de installatie. Om verder te gaan met de installatie kunt op op Volgende klikken.

Installatie. Klik vervolgens op OK om verder te gaan met de installatie. Om verder te gaan met de installatie kunt op op Volgende klikken. Installatie De client software van Backup+ kan worden gedownload op de Internet Limburg website. Kijk hiervoor op http://www.ilimburg.nl/downloads. Na het downloaden en openen van het backup+.exe bestand

Nadere informatie

Claims-based authenticatie in SharePoint 2010

Claims-based authenticatie in SharePoint 2010 Claims-based authenticatie in SharePoint 2010 MAAKT HET REALISEREN VAN DIVERSE SCENARIO S MAKKELIJKER Mirjam van Olst SharePoint 2010 maakt gebruik van claims-based authenticatie. Omdat claims-based authenticatie

Nadere informatie

Smart-VPN app voor ios

Smart-VPN app voor ios Smart-VPN app voor ios Smart-VPN app voor ios. DrayTek heeft de Smart-VPN app uitgebracht voor ios gebruikers (link). Met deze VPN App is het mogelijk voor ios gebruikers om een SSL VPN tunnel op te zetten

Nadere informatie

Naam: Sander van Schie Datum: 28-03-2014 Klas: SBICO-IB2 Doel: Uitleg Toegang tot vcloud Doelgroep: Nieuwe cursisten Versie: 1.0.0

Naam: Sander van Schie Datum: 28-03-2014 Klas: SBICO-IB2 Doel: Uitleg Toegang tot vcloud Doelgroep: Nieuwe cursisten Versie: 1.0.0 Naam: Sander van Schie Datum: 28-03-2014 Klas: SBICO-IB2 Doel: Uitleg Toegang tot vcloud Doelgroep: Nieuwe cursisten Versie: 1.0.0 1 Inhoudsopgave Inleiding... 3 Stap 1: Inloggegevens en wachtwoord...

Nadere informatie

Inhoud KAS-WEB: HANDLEIDING IDG OPERATOR

Inhoud KAS-WEB: HANDLEIDING IDG OPERATOR KAS-WEB: HANDLEIDING IDG OPERATOR Inhoud 1. IdentityGuard starten... 2 2. User beheer via IdentityGuard Administration... 3 2.1 User Accounts... 3 2.1.1. Go To Account... 3 2.1.2. Find Accounts... 4 2.2

Nadere informatie

Handleiding DocProof ELA

Handleiding DocProof ELA Handleiding DocProof ELA t.b.v. voor de klant Versie: 2.1 DigiNotar B.V. Postbus 340 1940 AH Beverwijk www.diginotar.nl Inhoudsopgave 1. Inleiding...3 2. Inloggen op DocProof ELA...4 2.1 PASS registratie...

Nadere informatie

VISMA TELEBOEKHOUDEN. Gewijzigde inlogprocedure Teleboekhouden 7.2. VISMA TELEBOEKHOUDEN Versie 7.2

VISMA TELEBOEKHOUDEN. Gewijzigde inlogprocedure Teleboekhouden 7.2. VISMA TELEBOEKHOUDEN Versie 7.2 VISMA TELEBOEKHOUDEN Gewijzigde inlogprocedure Teleboekhouden 7.2 VISMA TELEBOEKHOUDEN Versie 7.2 Disclaimer Dit document is eigendom van Visma Tteleboekhouden en blijft dit ook te allen tijde. De informatie

Nadere informatie

SURFFEDERATIE HANDLEIDING AD FS 2.0

SURFFEDERATIE HANDLEIDING AD FS 2.0 SURFFEDERATIE HANDLEIDING AD FS 2.0 VOOR AANSLUITING ALS IDENTITY PROVIDER versie 2.0, 15 juli 2010 SURFNET BV, R ADBOUDKWARTIER 273, P OSTBUS 19035, 3501 DA U TRECHT T +31 302 305 305, F +31 302 305 329,

Nadere informatie

API...1 Identificatie...1 Opties...2 Acties...3 Webserver...6 Heartbeat...6 Buffer groottes...8

API...1 Identificatie...1 Opties...2 Acties...3 Webserver...6 Heartbeat...6 Buffer groottes...8 API API...1 Identificatie...1 Opties...2 Acties...3 Webserver...6 Heartbeat...6 Buffer groottes...8 Identificatie Alle programma's communiceren met elkaar door gebruik te maken van JSON objecten. Het normale

Nadere informatie

Delft-FEWS & Web Services

Delft-FEWS & Web Services Delft-FEWS & Web Services Presentatie Delft-FEWS Gebruikers dag 2018 Marc van Dijk, Rudie Ekkelenkamp, Stef Hummel 5 Juni 2018 Delft-FEWS & (Web) Services 1. Delft-FEWS 2. Roadmap 3. Standaarden Verzamelen

Nadere informatie

1 Inleiding. 3 Handmatig... invoeren zaken basis 4 Verwerken... zaken 5 Afhandelen... van zaken. 7 Uitgebreidere... zaak opties

1 Inleiding. 3 Handmatig... invoeren zaken basis 4 Verwerken... zaken 5 Afhandelen... van zaken. 7 Uitgebreidere... zaak opties 2 Supportdesk Pro Introductie Inhoudsopgave I Supportdesk Pro 3 1 Inleiding... 3 2 Werkwijze... 3 II Zaken 4 1 Introductie... 4 2 Zaken beheren... 4 3 Handmatig... invoeren zaken basis 4 4 Verwerken...

Nadere informatie

Intramed OnLine instellen en gebruiken. Voor Mac OSX

Intramed OnLine instellen en gebruiken. Voor Mac OSX Intramed OnLine instellen en gebruiken Voor Mac OSX Inhoudsopgave Hoofdstuk 1 Algemeen...1 1.1 Toegang tot inlogportalen...1 Hoofdstuk 2 Basic account...3 2.1 Microsoft Remote Desktop installeren en Intramed

Nadere informatie

DE ELEKTRONISCHE IDENTITEITSKAART (EID)

DE ELEKTRONISCHE IDENTITEITSKAART (EID) DE ELEKTRONISCHE IDENTITEITSKAART (EID) INSTALLATIEGIDS EID MIDDLEWARE HOME VOOR WINDOWS VERSIE 1.1 NL Disclaimer Fedict is niet verantwoordelijk voor om het even welke schade die een derde zou ondervinden

Nadere informatie

Handleiding Inloggen met SSL VPN

Handleiding Inloggen met SSL VPN Handleiding Inloggen met SSL VPN Beveiligd verbinding maken met het bedrijfsnetwerk via de Desktop Portal Versie: 24 april 2012 Handleiding SSL-VPN Pagina 1 van 10 Inleiding SSL VPN is een technologie

Nadere informatie

Technisch Ontwerp VISSIM-PPA Koppeling

Technisch Ontwerp VISSIM-PPA Koppeling 1 Technisch Ontwerp VISSIM-PPA Koppeling Revisie Versie Datum Omschrijving 1.0 25 juli 2013 Initiële versie 1.1 26 juli 2013 Toevoeging van TDI regeltoestand. Toevoeging van bestandsnaam filtering. 1.2

Nadere informatie

Installatie en configuratie documentatie

Installatie en configuratie documentatie Installatie en configuratie documentatie Assistance Web Portal v. 2.x Voor Windows 2003 / XP / Vista Assistance PSO handleiding, uitgegeven door Assistance Software. Alle rechten voorbehouden. Niets uit

Nadere informatie

Net2 Anywhere - Installatie

Net2 Anywhere - Installatie Anywhere - Installatie Wat is Anywhere? Anywhere is een reeks van applicaties die gebruik maken van het internet om extra functies toe te voegen aan uw toegangscontrolesysteem. De beveiligde webserver

Nadere informatie

Procedure activeren van de MFA applicatie op een mobiele telefoon

Procedure activeren van de MFA applicatie op een mobiele telefoon Procedure activeren van de MFA applicatie op een mobiele telefoon Benodigdheden: - Mobiele telefoon. o Sta push berichten of meldingen, gebruik van de camera en dergelijke toe. Dit kun je onder instellingen

Nadere informatie

Installatiehandleiding Privacy- en Verzendmodule DIS voor Windows, Mac OS en Linux

Installatiehandleiding Privacy- en Verzendmodule DIS voor Windows, Mac OS en Linux Installatiehandleiding Privacy- en Verzendmodule DIS Opdrachtgever: Opdrachtnemer: Uitgebracht aan: Nederlandse Zorgautoriteit Uitgebracht door: ZorgTTP Referentie: Installatie PVM_DIS_5.3 Datum: 17-12-2015

Nadere informatie

React en React Native voor websites en apps

React en React Native voor websites en apps React en React Native voor websites en apps H A N S-PE T E R H ARMSEN HEEFT DI T GE SCH R E V EN IN APRI L 2017 Deze whitepaper is bedoeld voor product owners en beslissers. Hij gaat over React, een JavaScript

Nadere informatie

SURFconext Cookbook. Het koppelen van Wordpress aan SURFconext. Versie: 1.0. Datum: 7 november 2013. 030-2 305 305 admin@surfnet.nl www.surfnet.

SURFconext Cookbook. Het koppelen van Wordpress aan SURFconext. Versie: 1.0. Datum: 7 november 2013. 030-2 305 305 admin@surfnet.nl www.surfnet. SURFconext Cookbook Het koppelen van Wordpress aan SURFconext Auteur(s): Frank Niesten Versie: 1.0 Datum: 7 november 2013 Radboudkwartier 273 3511 CK Utrecht Postbus 19035 3501 DA Utrecht 030-2 305 305

Nadere informatie

HANDLEIDING HOSTED EXCHANGE 2007 (PC-EN)

HANDLEIDING HOSTED EXCHANGE 2007 (PC-EN) HANDLEIDING HOSTED EXCHANGE 2007 (PC-EN) Met de Hosted Exchange oplossing van De Hostfabriek beschik je steeds over al je e-mails, publieke documenten en afspraken. Afhankelijk van de beschikbare mogelijkheden

Nadere informatie

SenBox Handleiding. Versie: juli

SenBox Handleiding. Versie: juli SenBox Handleiding Versie: juli 2019 www.sendot.nl Inhoudsopgave 1. Installatie... 3 1.1 Benodigdheden... 3 1.2 Stappen... 3 2. Login... 5 3. Dashboard... 6 4. Grafiek maken... 8 5. Chart Screen... 9 5.1

Nadere informatie

Aan de slag met het e-mailadres van uw nieuwe Website

Aan de slag met het e-mailadres van uw nieuwe Website Aan de slag met het e-mailadres van uw nieuwe Website Handleiding Inhoud 03 Basisinformatie e-mail 04 E-mailprogramma's 07 SMTP controleren als u geen e-mails kunt versturen 10 Veranderen van SMTP-poort

Nadere informatie

ZN Handleiding GERRIT token gebruik

ZN Handleiding GERRIT token gebruik ZN Handleiding GERRIT token gebruik Informatiedomein: ZN Handleiding GERRIT token gebruik Status: Productie Versie: V03.00 Publicatie datum: 1-2-2017 Auteur: Daniël Nederpel Inleiding In deze handleiding

Nadere informatie

Installatie instructie

Installatie instructie ORTHOSMART B.V. 23 JANUARI 2019 Copyright 2019, Orthosmart B.V. Theremon Cloud 23 Januari 2019 Inhoudsopgave 2. REGISTREREN BIJ THERAMON CLOUD... 2 2.1 REGISTREREN NIEUWE GEBRUIKER... 2 2.2 INSTALLEREN

Nadere informatie

Registreren Inloggen - Profiel beheren

Registreren Inloggen - Profiel beheren Inhoud: iedereen die gebruik wil maken van Kwaliteitscholen moet inloggen, behalve als iemand alleen een onderzoek invult. Voor bepaalde functionaliteiten (uitzetten vragenlijst, bekijken resultaten, gebruik

Nadere informatie

Handleiding 3CX Centrale. Handleiding 3CX Centrale. Pagina 1. 12Connect 03/2011 versie2.1

Handleiding 3CX Centrale. Handleiding 3CX Centrale. Pagina 1. 12Connect 03/2011 versie2.1 Pagina 1 Handleiding 3CX Centrale Inhoudsopgave Accountinformatie opvragen... 3 3CX Downloaden en Installeren.... 5 3CX Wizzard... 7 3CX laten verbinden met 12Connect... 9 Aanmelding Controle... 11 12Connect

Nadere informatie

Oracle Application Server Portal Oracle Gebruikersgroep Holland Oktober 2003

Oracle Application Server Portal Oracle Gebruikersgroep Holland Oktober 2003 Oracle Application Server Portal Oracle Gebruikersgroep Holland Oktober 2003 Page 1 1 Kees Vianen Senior Sales Consultant Technology Solutions Oracle Nederland Agenda Geschiedenis van Oracle Portal Portal

Nadere informatie

Installatie handleiding Reinder.NET.Optac

Installatie handleiding Reinder.NET.Optac Installatie handleiding Reinder.NET.Optac Versie : 2012.1.0.1 Inhoudsopgave 1 Systeemvereisten... 2 2 Pincode... 2 3 Licentie... 2 4 Installatie... 2 5 Eerste gebruik... 4 Titel Pagina 1 van 6 23-1-2012

Nadere informatie

Databroker invoer NHR datasets 2018 Pacemaker- en ICD registratie. Definitief / 21 augustus 2018 / versie

Databroker invoer NHR datasets 2018 Pacemaker- en ICD registratie. Definitief / 21 augustus 2018 / versie Databroker invoer NHR datasets 2018 Pacemaker- en ICD registratie Definitief / 21 augustus 2018 / versie 2018.0.3 Versie: 2018.0.3 Datum: 21 augustus 2018 Voor informatie neem contact op met: Nederlandse

Nadere informatie

KraamZorgCompleet OnLine instellen en gebruiken. Voor ipad of iphone

KraamZorgCompleet OnLine instellen en gebruiken. Voor ipad of iphone KraamZorgCompleet OnLine instellen en gebruiken Voor ipad of iphone Inhoudsopgave Hoofdstuk 1 Algemeen...1 1.1 Toegang tot inlogportalen...1 Hoofdstuk 2 Basic account...3 2.1 Microsoft Remote Desktop installeren

Nadere informatie

Handleiding ALGEMENE HANDLEIDING VWORKSPACE. Versie: 1.2. Datum: 10 april 2014. Eigenaar:

Handleiding ALGEMENE HANDLEIDING VWORKSPACE. Versie: 1.2. Datum: 10 april 2014. Eigenaar: Handleiding ALGEMENE HANDLEIDING VWORKSPACE. Versie: 1.2 Datum: 10 april 2014 Eigenaar: I&A 1 Versie Datum Auteur Wijziging 1.0 2-11-2012 Tom Balke 1.1 10-12-2012 Tom Balke Nieuwe versie van vworkspace

Nadere informatie

Aanmelden Na installatie wordt de service automatisch gestart en kunt u meteen aanmelden van op afstand:

Aanmelden Na installatie wordt de service automatisch gestart en kunt u meteen aanmelden van op afstand: Remote administratie Als administrator hebt u verschillende mogelijkheden om een Linux systeem van op afstand te beheren. Populaire toepassingen zijn bijvoorbeeld Webmin en VNC. Het gebruik van deze twee

Nadere informatie

Hoe kan ik extern werken?

Hoe kan ik extern werken? Hoe kan ik extern werken? Versie: 28-03-2017 Inhoudsopgave Hoe kan ik extern werken?... 3 Verbinden met de werkplek... 3 (OPTIONEEL) Geïnstalleerde versie View Client... 5 Fouten bij inloggen... 8 Tokencode

Nadere informatie

Handleiding voor het installeren van Tomcat7

Handleiding voor het installeren van Tomcat7 Handleiding voor het installeren van Tomcat7 Brondocument C:\WebServer\Handleiding\Tomcat\InstallerenTomcat.odt Versiebeheer Versie Datum Uitleg 1.0v 22-05-06 1e versie Tomcat 5.5 1.1v 24-05-06 Aanpassingen

Nadere informatie

Hoe kan ik extern werken?

Hoe kan ik extern werken? Hoe kan ik extern werken? Versie: 08-06-2015 Inhoudsopgave Hoe kan ik extern werken?... 3 Installatie View Client... 3 Éénmalig instellen van je token (pincode)... 6 Verbinden met de werkplek... 8 Fouten

Nadere informatie