Bachelorproject Technisch Informatica. Onderzoeksverslag

Maat: px
Weergave met pagina beginnen:

Download "Bachelorproject Technisch Informatica. Onderzoeksverslag"

Transcriptie

1 Bachelorproject Technisch Informatica Onderzoeksverslag Mark Hendrikx Olaf Schüsler 27 mei 2010

2 Inhoudsopgave 1 Inleiding 1 2 Encryptie lokale gegevens Probleem Beoordelingscriteria Mogelijke oplossingen Database Encryptie Object serializen Object serializen en versleutelen Oplossing Database-engine func tio na li teit Probleem Beoordelingscriteria Mogelijke oplossingen MyISAM InnoDB BerkeleyDB Oplossing Webtalen HTML PHP CSS JavaScript XML Transport Layer Security Opstellen van een TLS verbinding Certificaat verkrijgen Conclusie 15 A Serialization 16 i

3 Hoofdstuk 1 Inleiding Voor velen is het bachelorproject het de afsluiting van de bachelorstudie. In dit project wordt de kennis die de afgelopen jaren is verkregen, omgezet in hoogwaardige software. Om deze transitie tot stand te brengen is de kennis van de bachelor Technisch Informatica onvoldoende, er zijn immers verschillende onderwerpen die niet in de studie zijn behandeld. In dit document worden de problemen die tijdens het project ontstonden behandeld. Voor elk probleem worden verschillende oplossingen geëvalueerd. Uiteindelijk wordt aan de hand van de opgestelde criteria de beste oplossing gekozen. In hoofdstuk 2 zal de encryptie van lokale gegevens worden behandeld. Vervolgens zal in hoofdstuk 3 de keuze van de database-engine uiteen worden gezet. In hoofdstuk 4 zal een geschikte webtaal voor de applicatie worden besproken. Hierna zal in hoofdstuk 5 TLS worden behandeld. Tot slot zal voor elk probleem de gekozen oplossing worden weergegeven in hoofdstuk 6. In bijlage A is een implementatie van serialization van een object in Java gegeven. 1

4 Hoofdstuk 2 Encryptie lokale gegevens Dit hoofdstuk behandeld de encryptie van privacygevoelige informatie. Bij de initiële opdracht van het bachelorproject zou sprake zijn van de ontwikkeling van een expertsysteem wat zou functioneren met behulp van een online database. Sommige privacygevoelige gegevens zouden echter volgens het CBP niet online mogen worden opgeslagen. Versleutelde lokale opslag werd echter wel toegestaan. 2.1 Probleem Voor het realiseren van de software zullen privacygevoelige gegevens lokaal moeten worden opgeslagen. Deze gegevens mogen alleen door de gebruiker worden bekeken, en dienen niet door derden uitleesbaar te zijn. 2.2 Beoordelingscriteria Om de geschiktheid van een oplossing te bepalen worden in deze paragraaf enkele criteria besproken waaraan een oplossing moet voldoen. encoderen. De data moet binnen een paar seconden versleuteld opgeslagen kunnen worden decoderen. De data moet binnen een paar seconden ontcijfert kunnen worden veiligheid. De data moet niet binnen 50 jaar uitgelezen kunnen worden unieke sleutel. De sleutel tot gegevens moet voor elke gebruiker uniek zijn legaliteit. De opslagtechniek moet wettelijk zijn toegestaan geen extra software. Voor het proces moet geen extra software benodigd zijn 2

5 2.3. MOGELIJKE OPLOSSINGEN HOOFDSTUK 2. ENCRYPTIE LOKALE GEGEVENS 2.3 Mogelijke oplossingen In deze paragraaf worden mogelijke oplossingen voor het probleem beschreven. De oplossingen zullen behandeld worden aan de hand van de verschillende criteria zoals opgesteld in paragraaf Database Encryptie Encryptie van een lokale database lijkt een voor de hand liggende optie. Hierbij wordt de informatie in de database versleuteld aan de hand van een gedeelde sleutel [11]. Als een query wordt uitgevoerd om data op te vragen dan worden de gegevens door de databaseserver, die in dit geval lokaal draait, eerst gedecodeerd voordat ze verstuurd worden naar de gebruiker. Bij het opslaan van informatie in de database wordt de data door de server versleuteld voordat deze wordt opgeslagen. Er zijn twee mogelijke manier van opslag met elk zijn voor- en nadelen. De beoordelingsmatrix van database encryptie is weergegeven in figuur Versleutelen van individuele items in de database. Bij deze aanpak wordt elk item apart versleuteld. Dit houdt in dat bij elke update maar een item gecodeerd moet worden. Bij uitlezen hoeft ook maar een item te worden gedecodeerd. Het nadeel hiervan is echter wel dat het mogelijk is om te zien dat een bepaald item meerdere malen in de database voorkomt. Op basis hiervan zou de betekenis bepaald kunnen worden en wellicht de sleutel. 2. Versleutelen van de database als een geheel. Bij deze aanpak wordt de gehele database als een blok data behandeld. Het voordeel is dat bij encryptietechnieken zoals AES [3], het onmogelijk is om het aantal keer voorkomen van een woord te bekijken, omdat de gehele input invloed heeft op de string die als output wordt weggeschreven. Het nadeel is echter wel dat bij opvragen en updaten de gehele database wordt worden gedecodeerd, respectievelijk versleuteld [11]. Tabel 2.1: Beoordelingsmatrix database encryptie Criteria Beoordeling Beschrijving Encoderen + De eerste methode is het aantrekkelijkst voor opslag, gezien deze het minste performance verlies oplevert. Het aantal keer voorkomen van een element kan worden bepaald. Echter, in de context van de applicatie zullen elementen vaak uniek zijn. Decoderen + Zelfde reden als hierboven Veiligheid ++ Als de sleutel niet bekend is, dan wordt eenvoudig aan dit criteria voldaan. Het is namelijk mogelijk om allerlei verschillende encrypties te kiezen Unieke sleutel + Er is één gedeelde sleutel, maar de lokale database wordt door één persoon gebruikt. Dus dit vormt geen probleem Legaliteit +/- Voor 192 en 256 byte AES is een licentie vereist. Voor andere algoritmen bestaan vergelijkbare restricties Geen extra software - Voor de opslag van de data dient een database te worden geïnstalleerd De schaal van de beoordeling loopt van - - tot ++. Neutraal wordt aangegeven met +/- 3

6 2.3. MOGELIJKE OPLOSSINGEN HOOFDSTUK 2. ENCRYPTIE LOKALE GEGEVENS Object serializen Bij veel programmeertalen, waaronder Java [1], is het mogelijk om een object te serializen. Hierbij wordt een object omgezet in een tekstuele representatie. De tekstuele representatie kan op een later tijdstip weer worden omgezet in een object. Om serialization als oplossing te beschouwen, is een java klasse geschreven die de benodigde methodes implementeert. De klasse zoals beschreven in bijlage A slaat een String ArrayList geserialized op, eenmaal met, en eenmaal zonder, encryptie. Andere objecten zijn met vergelijkbare methodes mogelijk. De beoordelingsmatrix van serialization zonder encryptie is weergegeven in figuur 2.2. Tabel 2.2: Beoordelingsmatrix object serialization Criteria Beoordeling Beschrijving Encoderen ++ Het object kan in een paar milliseconden worden omgezet in een bestand Decoderen ++ Het bestand kan in een paar milliseconden worden omgezet in een object Veiligheid - - De inhoud van het object kan direct uit worden gelezen als deze niet van te voren versleuteld is Unieke sleutel - - Iedereen kan het object (de)serializen als de structuur van object bekend is Legaliteit ++ Er zijn geen wettelijke beperkingen Geen extra software ++ Er is geen extra software benodigd De schaal van de beoordeling loopt van - - tot ++. Neutraal wordt aangegeven met +/ Object serializen en versleutelen De zwaktes van serializen zonder encryptie zijn de gemeenschappelijke mogelijkheid to decoderen, en het nauwelijks versleutelen van de gegevens in het object. Beide zwaktes kunnen worden verbeterd door het object, alvorens het op te slaan in een bestand, te versleutelen met behulp van encryptie. In tegenstelling tot hashing, moet het object ook weer gedecodeerd kunnen worden. Echter, ieder persoon moet wel een unieke sleutel hebben. Dit kan bereikt worden door met accounts te werken, en het paswoord waarmee versleuteld wordt te baseren op de username en het paswoord. Een paswoord moet een bepaalde lengte hebben, dus eerst een hashing toegepast worden om het bestand een bepaald aantal letters te krijgen. In bijlage A staat een klasse beschreven die een String ArrayList object op kan slaan in een bestand. Hiervoor wordt AES-encryptie gebruikt, omdat deze wordt gezien als een van de sterkste beveiligingen, en een bestand zeker niet binnen 100 jaar te ontcijferen is [3]. Er is gebruik gemaakt van de 128 byte key variant, omdat 192 en 256 in sommige landen niet is toegestaan, en een aparte license vereist. De beoordelingsmatrix van serialization met encryptie is weergegeven in figuur

7 2.4. OPLOSSING HOOFDSTUK 2. ENCRYPTIE LOKALE GEGEVENS Tabel 2.3: Beoordelingsmatrix object serialization met encryptie Criteria Beoordeling Beschrijving Encoderen + Het object kan binnen een seconde worden omgezet in een bestand Decoderen + Het bestand kan binnen een seconde worden omgezet in een object Veiligheid ++ De inhoud van het object het bestand is niet uit te lezen zonder de key Unieke sleutel ++ De sleutel kan gebaseerd worden op een combinatie van de username en paswoord Legaliteit +/- Voor 192 en 256 byte AES is een licentie vereist Geen extra software ++ Er is geen extra software benodigd De schaal van de beoordeling loopt van - - tot ++. Neutraal wordt aangegeven met +/- 2.4 Oplossing In de voorgaande paragrafen zijn verschillende oplossingen voor het probleem onderzocht. Uit de evaluatie van deze oplossingen zijn een aantal conclusies te trekken: 1. Encryptie van de database is aantrekkelijk, maar vereist extra software om de lokale op te zetten 2. Serialization zonder encryptie levert een snelle toegang tot de informatie, maar de sleutel is uniform, en de data is eenvoudig uit te lezen 3. Serialization met encryptie kost bij het wegschrijven en ophalen van de data meer tijd dan zonder encryptie, maar werkt snel genoeg. Deze oplossing vereist geen extra software Zoals weergegeven in figuur 2.4, is serialization met encryptie de beste oplossing. In de tweede versie van het programma was een lokale database echter niet meer vereist, en praktisch, omdat met een website zou worden gewerkt. Uiteindelijk is de oplossing dus niet uitgewerkt tot een deel van de applicatie. Tabel 2.4: Beoordelingsmatrix oplossingen Criteria Database Serialization Encrypted serialization Encoderen Decoderen Veiligheid Unieke sleutel Legaliteit +/- ++ +/- Geen extra software De schaal van de beoordeling loopt van - - tot ++. Neutraal wordt aangegeven met +/- 5

8 Hoofdstuk 3 Database-engine func tio na li teit Dit hoofdstuk behandeld de keuze van de database-engine. Voor de applicatie zal data moeten worden opgeslagen in een database die voor iedereen toegankelijk is. Om deze database te realiseren moet voor elke tabel een engine zijn gedefinieerd. 3.1 Probleem De TU Delft biedt aan studenten verschillende database-engines aan [4]. Het probleem is om een engine te kiezen die voldoet aan de criteria die in de volgende paragraaf worden gesteld. De volgende database-engines, die gebruik maken van een harde schijf, en geen MERGE functionaliteit bevatten [15], worden door de TU Delft aangeboden: 1. MyISAM 2. InnoDB 3. BerkeleyDB 3.2 Beoordelingscriteria Om de geschiktheid van een oplossing te bepalen worden in deze paragraaf enkele criteria besproken waaraan een oplossing moet voldoen. Beschikbaarheid. De engine moet standaard bij MySQL worden geleverd, en er moeten indicaties zijn dat dit de komende versies zo blijft Primary key/foreign key constraints. De engine moet de mogelijkheid hebben om primary key/foreign key constraints te bekrachtigen [12]. Hierdoor is het mogelijk dat als er wat gebeurt met een record met de primary key, dat er automatisch een actie wordt ondernomen om de gerelateerde record(s), met de primary key als foreign key, te updaten. Hierdoor wordt de integriteit van de database beschermd Transacties. De engine moet werken met transacties [14], waardoor het mogelijk is voor een gebruiker om meerdere queries in een keer uit te voeren, en het resultaat te bekijken, zonder dat de database direct wordt geüpdate voor de overige gebruikers. Pas als de gebruiker het commit commando heeft uitgevoerd, worden de wijzigingen voor iedereen zichtbaar. Als bijkomend voordeel kan een transactie automatisch worden teruggedraaid 6

9 3.3. MOGELIJKE OPLOSSINGEN HOOFDSTUK 3. DATABASE-ENGINE FUNC TIO NA LI TEIT Fulltext index. De engine moet fulltext index ondersteunen [13]. Dit houdt in dat elk textveld (VARCHAR, CHAR, TEXT) wordt gezien als een veld wat een text bevat. Deze text kan bestaan uit verschillende woorden. Voor elk woord dat langer is dan drie characters wordt een speciale index aangemaakt, zodat deze snel kan worden gevonden. Met behulp van speciale queries is het mogelijk om naar een woord te zoeken dat deel is van een record. Het gezochte woord moet wel minimaal vier letters bevatten, want elke substring van drie characters of minder wordt automatisch genegeerd. Hierdoor is het mogelijk om in een grote hoeveelheid text zeer snel te zoeken 3.3 Mogelijke oplossingen In deze paragraaf wordt elke engine besproken aan de hand van de gestelde criteria in paragraaf 3.2. Om de hoeveelheid gegevens enigszins te beperken, is de vergelijking van de engines beperkt tot een bespreking van de criteria. Andere criteria worden buiten beschouwing gelaten, behalve als deze grote voor- of nadelen opleveren wat betreft het gebruik in de applicatie MyISAM MyISAM is de standaard database-engine van MySQL. MyISAM is zijn populariteit vooral te danken aan zijn eenvoudige ontwerp en uitgebreide documentatie. Wat betreft de functionaliteit doet MyISAM onder voor engines zoals InnoDB, maar de functionaliteit die wordt aangeboden sluit wel aan bij de eisen van een groot deel van de gebruikers. Naar verwachting zal MyISAM de komende jaren de standaard database blijven. Echter, met MyISAM is het niet mogelijk om primary key/foreign key constraints [12] te gebruiken. Hierdoor moet bij aanpassing van records met de primary key, de records met de foreign key met een algoritme in de applicatie worden aangepast. Voor grote databases kan dit tot onnodig complexe algoritmes in de applicatie leiden. Ook zijn transacties met MyISAM niet mogelijk [14]. Hierdoor is het onmogelijk om database bewerkingen ongedaan te laten maken door de engine. Echter, met MyISAM is het wel mogelijk om gebruik te maken van fulltext index [13]. Dit maakt MyISAM dus zeer geschikt voor databases die vooral gericht zijn op het zoeken in grote hoeveelheden tekstuele data. Tabel 3.1: Beoordelingsmatrix database-engine MyISAM Criteria Beoordeling Beschrijving Beschikbaarheid ++ MyISAM is de populairste MySQL database-engine PK/FK constraints - - De applicatie moet deze zelf forceren Transacties - - De applicatie moet zelf bijhouden hoe een verandering ongedaan worden gemaakt Fulltext index ++ MyISAM biedt standaard support voor fulltext index De schaal van de beoordeling loopt van - - tot ++. Neutraal wordt aangegeven met +/- 7

10 3.3. MOGELIJKE OPLOSSINGEN HOOFDSTUK 3. DATABASE-ENGINE FUNC TIO NA LI TEIT InnoDB InnoDB is een van de database-engines in MySQL. InnoDB is minder populair dan MyISAM, maar levert meer functionaliteit. Historisch gezien was MyISAM sneller met de afhandeling van SELECT-statements dan InnoDB, dus had in het verleden vaak de voorkeur. Tegenwoordig is InnoDB sneller, en begint door zijn functionaliteit steeds populairder te worden. Naar verwachting zal InnoDB de komende jaren in populariteit toenemen. Met InnoDB is het mogelijk om gebruik te maken van primary key/foreign key constraints [12]. Hierdoor is het mogelijk om bij het bestaan van een persoon-tabel, en verschillende gerelateerde ondergeschikte tabellen, dat als de record van een persoon wordt verwijderd, de records in de gerelateerde tabellen ook verdwijnen. Hierdoor blijft de database consistent, zonder dat de applicatie dit zelf hoeft te forceren. Tevens is het mogelijk om met InnoDB transacties [14] uit te voeren. Hierdoor kan bijvoorbeeld een UPDATE-query worden uitgevoerd, en ziet alleen de gebruiker het resultaat. De wijzigingen worden in de database opgeslagen als de gebruiker de query commit. Ook is het mogelijk om een bewerking terug te draaien, een zogenaamde ROLLBACK. Echter, met InnoDB is het niet mogelijk om fulltext index te gebruiken [13]. Als deze functionaliteit gewenst is, dan kan een enkele tabel ook op MyISAM worden gezet, of kan elk record apart worden opgehaald en geparsed voor het gezochte woord. In dat geval zullen de primary key/foreign key constraints met die tabel wel door een applicatie moeten worden geforceerd. Tabel 3.2: Beoordelingsmatrix database-engine InnoDB Criteria Beoordeling Beschrijving Beschikbaarheid + InnoDB is een populaire MySQL database-engine PK/FK constraints ++ De constraints worden door de engine geforceerd Transacties ++ InnoDB ondersteunt transacties Fulltext index - - InnoDB ondersteunt geen fulltext index De schaal van de beoordeling loopt van - - tot ++. Neutraal wordt aangegeven met +/ BerkeleyDB BerkeleyDB is een van de database-engines in veel versies van MySQL. Wat betreft de functionaliteit is deze beter dan MyISAM, maar minder dan InnoDB. Sinds versie van MySQL, is BerkeleyDB uit het pakket verwijderd [10]. Om geen constraints op te leggen aan de versie van MySQL op de server waarop de database komt te draaien, is besloten BerkeleyDB niet te gebruiken. 8

11 3.4. OPLOSSING HOOFDSTUK 3. DATABASE-ENGINE FUNC TIO NA LI TEIT 3.4 Oplossing In de voorgaande paragrafen zijn verschillende engines onderzocht. Uit de evaluatie van deze engines zijn een aantal conclusies te trekken: 1. MyISAM is een standaardoplossing, die in de meerderheid van de gevallen voldoet. Echter voor de applicatie zijn primary key/foreign key constraints vereist, en voor MyISAM zouden deze dan via de applicatie moeten worden geforceerd 2. InnoDB biedt scoort op bijna alle fronten maximaal. Fulltext index is in InnoDB echter niet mogelijk. In de applicatie zal niet vaak een substring van een record worden gezocht, dus het ophalen van elk record om hierachter te komen vormt geen probleem 3. BerkeleyDB wordt al enkele jaren niet meer ondersteund, en zit sinds release niet meer in het MySQL pakket Het gebruik van InnoDB voor de applicatie is aan de hand van de criteria de beste oplossing, zoals weergegeven in figuur 3.3. In deze vergelijking is BerkeleyDb buiten beschouwing gelaten, omdat hiervoor door MySQL geen support meer wordt gegeven. Tabel 3.3: Beoordelingsmatrix oplossingen Criteria MyISAM InnoDB Beschikbaarheid ++ + PK/FK constraints Transacties Fulltext index De schaal van de beoordeling loopt van - - tot ++. Neutraal wordt aangegeven met +/- 9

12 Hoofdstuk 4 Webtalen Voor dit project wordt er gebruik van een variëteit aan webtalen. Er us gekozen voor HTML5, PHP, CSS, JavaScript en XML. Om tot deze keuze te komen zijn er een aantal afwegingen gemaakt, zoals moet het programma op een server draaien, of op de computer zelf?. De verschillende afwegingen zullen hieronder worden behandeld. 4.1 HTML5 In 2007 was er een strijd over de opvolger van HTML 4. Hiervoor werd door de W3C gekozen voor XHTML en door de WHATWG voor HTML5. Deze laatste is inmiddels geaccepteerd door de W3C en is inmiddels gekozen tot de opvolger van HTML4 [17]. Voor dit project is gekozen voor HTML5. Aangezien de site waarschijnlijk langere tijd in de lucht zal moeten blijven, wordt er gebruik gemaakt van de nieuwste standaard. De reden dat er gekozen is voor HTML heeft te maken met het feit dat HTML een goed gedocumenteerde taal is, waarin eenvoudig een website te structureren is, en beide programmeurs hebben al ervaring met deze taal. 4.2 PHP Voor PHP is gekozen omdat deze taal het mogelijk maakt dynamisch websites te generen. Via PHP is het mogelijk om gegevens uit een database te lezen en deze vervolgens op de site te verwerken. Daarnaast kunnen formulieren etc. ook per direct verwerkt worden. Hierdoor is het mogelijk om direct en dynamisch met gegevens te werken. Er zit echter wel een nadeel aan PHP. Aangezien de de compiler op een server draait en niet lokaal, kunnen bewerkingen alleen gedaan worden als er een nieuwe request bij de server gedaan wordt. Een request vindt bijvoorbeeld plaats als een gebruiker de verzend-knop indrukt. Hierdoor zullen gegevens alleen verwerkt kunnen worden bij het aanroepen van een nieuwe pagina, en niet werkelijk on-the-fly. Voor de meeste situaties is dit niet nodig, maar voor bijvoorbeeld het checken van de invoer kan dit onnodig gebruik van resources opleveren. Om dit probleem te ondervangen wordt JavaScript gebruikt om PHP aan te vullen. 10

13 4.3. CSS HOOFDSTUK 4. WEBTALEN 4.3 CSS In de oudere versies van HTML bestond de mogelijkheid om de opmaak ook meteen in de HTML files te verwerken. Dit leverde echter problemen op bij hergebruik van code [2], omdat opmaakcode in de files kwam te staan. Vanwege deze reden wordt CSS gebruikt. Deze sheets bevatten de informatie voor de verschillende HTML elementen, zoals bijvoorbeeld de breedte, border-width. Door deze sheets te gebruiken hoeft in dit project maar een beperkt aantal externe stylesheet gemaakt te worden, waardoor de site een universele uitstraling heeft, en de overige programmeercode beter hergebruikt kan worden. 4.4 JavaScript Om de formulieren die gebruikt worden bij het invullen van gegevens tijdig te kunnen controleren, en directe feedback te kunnen geven aan de gebruiker, wordt gebruik gemaakt van JavaScript. Dit is een scripttaal die op de computer van de gebruiker wordt uitgevoerd. Hierdoor kunnen acties per direct worden uitgevoerd. Er kan bijvoorbeeld gekeken worden naar toetsaanslagen, en op basis daarvan acties worden ondernomen. JavaScript dient echter alleen gebruikt te worden om het gebruik van de PHP-server te verlichten. JavaScript kan namelijk worden uitgeschakeld, wat zou kunnen leiden tot beveiligingsrisico s. Deze functionaliteit zal dus voornamelijk gebruikt gaan worden voor het controleren of de invoer in een veld niet te lang is en hierover feedback teruggeven naar de gebruiker. 4.5 XML Voor sommige gegevens zal geen gebruik gemaakt kunnen, of hoeven, worden van de database. In dit soort gevallen kan gebruik gemaakt worden van XML files. Dit zijn kleine bestanden die in principe in plain text op de server staan. De informatie die in deze file staan zijn bijvoorbeeld universiteiten die meedoen aan het project en hun logo s etc. Het voordeel van XML in vergelijking met plain text, is dat XML een vastgestelde structuur heeft. Elk element krijgt een bepaalde tag mee. Hierdoor is het eenvoudiger, en minder foutgevoelig, om data terug te vinden. Men kan immers nieuwe informatie toevoegen, zonder dat de structuur verloren gaat. 11

14 Hoofdstuk 5 Transport Layer Security Bij het gebruik van de applicatie, zal privacygevoelige informatie worden verzonden door de gebruiker. Om te voorkomen dat deze in verkeerde handen valt, is het noodzakelijk dat de verbinding beveiligd is. Transport Layer Security (TLS) biedt hierbij de uitkomst. TLS is de opvolger van Secure Socket Layer (SSL). Met behulp van TLSl is het mogelijk om een beveiligde verbinding op te stellen tussen een client en server met behulp van cryptographie. Voor encryptie wordt gebruik gemaakt van het RSA algoritme met een key van 1024 of 2048 bit [21]. Bij SSL was het alleen mogelijk dat de server zich valideerde met behulp van een certifaat [22]. De client werd echter niet gevalideerd. In TLS zijn zowel verbindingen met, en zonder, clientverificatie mogelijk. In onze applicatie hoeft alleen de server te worden gevalideerd. 5.1 Opstellen van een TLS verbinding Om een TLS, of SSL, verbinding te gebruiken, moet deze eerst worden opgesteld. Als de verbinding eenmaal is gemaakt, dan is alle data die wordt verzonden via de verbinding automatisch versleuteld [19]. Het opstellen van de verbinding bestaat uit vier fases. Hieronder wordt een vereenvoudigde versie van het protocol besproken. Hierbij is de resumed handshake [9] weggelaten, en wordt er vanuit gegaan dat alleen de server geauthenticeerd hoeft te worden, en de server voorkeur heeft voor een beveiligde en geauthenticeerde verbinding. 1. Onderhandelingsfase Hierbij stuurt de client een zogenaamd ClientHello bericht [6] met de volgende informatie: Hoogste versie van TLS die ondersteund wordt door de client Een lijst van CipherSuites [8]. Een cipher suite is combinatie van encryptie, authenticatie, en een algoritme om een bericht te valideren. Mogelijke compressie-algoritmen. De server stuurt een ServerHello bericht [6] met zijn voorkeur voor de items in de ClientHello message. De server zendt een certificaat, dat geverifieerd is via een keten van geauthoriseerde websites, om zijn identiteit aan te tonen. 12

15 5.2. CERTIFICAAT VERKRIJGEN HOOFDSTUK 5. TRANSPORT LAYER SECURITY De server zent een ServerHelloDone bericht [6] om aan te tonen dat de onderhandeling voorbij is. De client antwoord met een pakket met een PreMasterSecret [6], public key, of niets, afhankelijk van de gekozen cipher. De PreMasterSecret wordt gebruikt door de client en server om eenzelfde key af te leiden, zonder dat deze daadwerkelijk verstuurd wordt. Om deze key af te leiden wordt het Diffie-Hellman algoritme [5] gebruikt. 2. Client zendt ChangeCipherSpec Het verzenden van de ChangeCipherSpec [7] houdt in dat alles vanaf dat moment geauthenticeerd en versleuteld verloopt. De client verzendt een geauthenticeerd en versleuteld bericht met een hash en een code om het bericht te valideren (Message Authentication Code [7]) op basis van de vorige berichten van de handshake. De server ontvangt het bericht en probeert het bericht te ontcijferen. Vervolgens worden de hash en MAC geverifieerd. Als de server hierin niet slaagt, dan is er iets fout gegaan tijdens het opstellen van de connectie, en zal dus opnieuw moeten worden opgesteld door de client. 3. Server zendt ChangeCipherSpec Hierbij worden dezelfde stappen als bij Client zendt ChangeCipherSpec [7] uitgevoerd, alleen zijn de rol van de client en server omgedraaid. 4. Verbinding opgesteld Beide partijen zijn op de hoogte dat er een beveiligde, en geauthenticeerde, verbinding is opgesteld. De communicatie die vervolgens plaats zal vinden zal automatisch geauthenticeerd en beveiligd verlopen. De applicatie hoeft na het opstellen van de connectie dus geen speciale handelingen uit te voeren voor het verzenden van informatie. 5.2 Certificaat verkrijgen Het certificaat wat bij SSL en TLS gebruikt wordt, moet van een betrouwbare bron komen. Het idee achter SSL en TLS is dat er enkele servers zijn die inherent betrouwbaar zijn, de zogenaamde certificate roots [20]. Deze certificate roots verkopen het recht om certificaten uit te delen aan andere servers. Deze servers verkopen op hun beurt ook weer de rechten, of de certificaten zelf. Het gevolg is een keten van servers die elkaar verifiëren. Hoe verder men van de root af gaat, hoe onbetrouwbaarder de server. Een certificaat is essentieel voor het opstellen van een SSL of TLS verbinding, omdat deze aantoont dat de site betrouwbaar is. Het is mogelijk om zelf een certificaat te maken, zogenaamde self-signed certificaten [16], maar dit is equivalent aan een persoon die van zichzelf zegt dat hij betrouwbaar is. Het gevolg is dat de gebruikers van de website bij het opstarten van de site een melding krijgen dat het certificaat niet betrouwbaar is. Als een SSL of TLS website door een persoon wordt bezocht, dan controleert de browser van deze persoon de keten van certificaten. Dit is mogelijk, omdat browsers initieel de adressen van vele certificate roots bezitten, maar ook omdat de server de certificaten van alle bovenstaande servers dient te bevatten. Het gevolg is een web van betrouwbare servers. 13

16 5.2. CERTIFICAAT VERKRIJGEN HOOFDSTUK 5. TRANSPORT LAYER SECURITY Voor de applicatie is een SSL of TLS verbinding vereist, omdat paswoorden worden verzonden, en de encryptie serverside plaatsvindt met PHP (SHA1). Het is geen probleem als een paswoord van een kandidaat wordt verkregen, gezien de mogelijkheden van de kandidaat beperkt zijn, maar het verkrijgen van een paswoord van een commissie kan grote schade veroorzaken. Na het vergelijken van verschillende aanbieders van certificaten, waaronder VeriSign, GoDaddy, en Comodo, is besloten dat er een keuzemenu moet worden opgesteld, zodat de partners van het project kunnen selecteren. Echter, aan de hand van commentaar op het blog, bleek dat de SURFnet aangesloten is bij Terena, en het recht heeft om abonnementen op het aanvragen van certificaten te verstrekken [18]. De TU Delft is hierbij ook aangesloten, waardoor deze voor een relatief klein bedrag per maand, onbeperkt certificaten mag aanvragen. Daarom is geprobeerd een testserver via de TU Delft aan te vragen. Dit bleek echter niet mogelijk, omdat een certificaat voor slechts een paar maanden niet gebruikelijk is. Momenteel moet nog bepaald worden waar de server uiteindelijk komt te draaien, echter als men wil profiteren van de SURFnet-regeling, dan zal dit moeten bij SURFnet zelf, of bij een van zijn leden (de meeste universiteiten en hogescholen in Nederland). 14

17 Hoofdstuk 6 Conclusie Bij het creëren van de applicatie traden verschillende problemen op. In dit document zijn de verschillende mogelijke oplossingen geanalyseerd. In tabel 6.1 worden de verschillende problemen en de gekozen oplossingen weergegeven. Probleem Encryptie lokale gegevens Tabel 6.1: Gekozen oplossing voor elk probleem Oplossing Encrypted serialization, hierbij wordt een object versleuteld met een key die gebaseerd is op de loginname en paswoord, en vervolgens opgeslagen op de harde schijf. Het object kan opnieuw bekeken worden door deze te decoderen met behulp van de sleutel Database-engine InnoDB, deze database-engine is de enige engine die niet deprecated is in het MySQL pakket aan de TU Delft, en PK/FK constraints mogelijk maakt. Ook kan gebruik gemaakt worden van transacties en is de engine populair Webtalen Om correct te functioneren met toekomstige browsers, zal gebruik worden gemaakt van standaard webtalen HTML5, PHP, CSS, JavaScript en XML Transport Layer Security TLS zal gebruikt worden om een beveiligde verbinding op te stellen. Hiervoor zal een certificaat moeten worden aangevraagd 15

18 Bijlage A Serialization 1 import java. i o. ByteArrayOutputStream ; 2 import java. i o. F i l e ; 3 import java. i o. FileInputStream ; 4 import java. i o. FileOutputStream ; 5 import java. i o. IOException ; 6 import java. i o. ObjectInputStream ; 7 import java. i o. ObjectOutputStream ; 8 import java. s e c u r i t y. InvalidKeyException ; 9 import java. s e c u r i t y. NoSuchAlgorithmException ; 10 import java. u t i l. ArrayList ; 11 import javax. crypto. Cipher ; 12 import javax. crypto. NoSuchPaddingException ; 13 import javax. crypto. spec. SecretKeySpec ; / 16 Code i s f o r t e s t i n g and e x p l i n a t i o n purposes, so no s p e c i a l a t t e n t i o n 17 was paid to t h e s t r u c t u r e. 18 Mark Hendrikx 20 / 21 public class Main { / 24 Main c l a s s w r i t t e n to t e s t a l l t h e o b j e c t s e r i a l i z a t i o n methods. 25 These t e s t are f o c u s s e d on an ArrayList<String > o b j e c t, but i t could 26 have been any t y p e o f o b j e c t. 27 / 28 public s t a t i c void main ( S t r i n g [ ] a r g s ) throws IOException { 29 ArrayList<String > t e s t Array = new ArrayList<String >(); 30 t e s t A r r a y. add ( t e s t 1 ) ; 31 t e s t A r r a y. add ( t e s t 2 ) ; 32 t e s t A r r a y. add ( t e s t 3 ) ; 33 S t r i n g f i l e n a m e = t e s t. t x t ; System. out. p r i n t l n ( Test : o b j e c t > f i l e ) ; 36 s e r i a l i z e A n d W r i t e T o F i l e ( testarray, f i l e n a m e ) ; 37 F i l e t e s t = new F i l e ( t e s t. t x t ) ; 16

19 BIJLAGE A. SERIALIZATION 38 i f ( t e s t. e x i s t s ( ) ) 39 System. out. p r i n t l n ( PASS\n ) ; 40 else 41 System. out. p r i n t l n ( FAIL\n ) ; System. out. p r i n t l n ( Test : f i l e > o b j e c t ) ; 44 ArrayList<String > testarray2 = u n s e r i a l i z e F r o m F i l e ( f i l e n a m e ) ; 45 i f ( testarray2. e q u a l s ( t e s tarray ) ) 46 System. out. p r i n t l n ( PASS\n ) ; 47 else 48 System. out. p r i n t l n ( FAIL\n ) ; byte [ ] bytes = s e r i a l i z e T o B y t e s ( t estarray ) ; 51 byte [ ] bytes2 = null ; 52 System. out. p r i n t l n ( Test : o b j e c t > bytearray > encrypt AES > + 53 decrypt AES ) ; 54 try { 55 bytes2 = dodecrypt ( docrypto ( bytes, t e s t t e s t t e s t t e s t ), 56 t e s t t e s t t e s t t e s t ) ; 57 } catch ( Exception ex ){ ex. printstacktrace ( ) ; } 58 i f (new S t r i n g ( bytes ). e q u a l s (new S t r i n g ( bytes2 ) ) ) 59 System. out. p r i n t l n ( PASS! \ n ) ; 60 else 61 System. out. p r i n t l n ( FAIL! \ n ) ; ArrayList<String > testarray3 = ( ArrayList<String >)toobject ( bytes2 ) ; 64 System. out. p r i n t l n ( Test : o b j e c t > bytearray > encrypt AES > + 65 decrypt AES > o b j e c t ) ; 66 i f ( testarray3. e q u a l s ( t e s tarray ) ) 67 System. out. p r i n t l n ( PASS! \ n ) ; 68 else 69 System. out. p r i n t l n ( FAIL! \ n ) ; 70 } / 73 Method t h a t u n s e r i a l i z e s an o b j e c t t h a t i s read from a 74 s u p p l i e d f i l e n a m e. The method i s w r i t t e n so t h a t i t r e t u r n 75 an ArrayList<String >, but i t could have been any t y p e o f o b j e c t. f i l e n a m e name o f t h e s u p p l i e d t e x t f i l e u n s e r i a l i z e d ArrayList<String > 78 / 79 public s t a t i c ArrayList<String > u n s e r i a l i z e F r o m F i l e ( S t r i n g f i l e n a m e ) 80 { 81 ArrayList<String > l i s t = new ArrayList<String >(); 82 try { 83 FileInputStream f i n = new FileInputStream ( f i l e n a m e ) ; 84 ObjectInputStream o i s = new ObjectInputStream ( f i n ) ; 85 l i s t = ( ArrayList<String >) o i s. readobject ( ) ; 86 o i s. c l o s e ( ) ; 87 } catch ( Exception e ) { e. printstacktrace ( ) ; } 88 return l i s t ; 89 } 90 17

20 BIJLAGE A. SERIALIZATION 91 / 92 S e r i a l i z e a ArrayList o b j e c t t h a t i s g i v e n as input, and 93 w r i t e t h e output to f i l e. The A r r a y l i s t i s used as an example, 94 but i t c ould have been any t y p e o f o b j e c t. l i s t t h e l i s t t h a t i s s e r i a l i z e d f i l e n a m e name o f t h e f i l e to which t h e s e r i a l i z e d o b j e c t 97 i s w r i t t e n IOException 99 / 100 public s t a t i c void s e r i a l i z e A n d W r i t e T o F i l e ( ArrayList<String > l i s t, 101 S t r i n g f i l e n a m e ) throws IOException 102 { 103 FileOutputStream f o u t = null ; 104 try { 105 f o u t = new FileOutputStream ( f i l e n a m e ) ; 106 } catch ( Exception e ) { e. printstacktrace ( ) ; } ObjectOutputStream oos = null ; 109 try { 110 oos = new ObjectOutputStream ( f o u t ) ; 111 } catch ( Exception e ) { e. printstacktrace ( ) ; } oos. w r i t e O bject ( l i s t ) ; 114 oos. c l o s e ( ) ; 115 } / 118 This method s e r i a l i z e s an o b j e c t an c o n v e r t s i t i n t o raw b y t e s. l i s t t h e l i s t t h a t i s s e r i a l i z e d t h e l i s t s e r i a l i z e d and c o n v e r t e d i n t o b y t e s IOException 122 / 123 public s t a t i c byte [ ] s e r i a l i z e T o B y t e s ( ArrayList<String > l i s t ) 124 throws IOException 125 { 126 ByteArrayOutputStream f o u t = null ; 127 try { 128 f o u t = new ByteArrayOutputStream ( ) ; 129 } catch ( Exception e ) { e. printstacktrace ( ) ; } ObjectOutputStream oos = null ; 132 try { 133 oos = new ObjectOutputStream ( f o u t ) ; 134 } catch ( Exception e ) { e. printstacktrace ( ) ; } oos. w r i t e O bject ( l i s t ) ; 137 oos. c l o s e ( ) ; 138 return f o u t. tobytearray ( ) ; 139 } / 142 Encrypt a g i v e n b y t e a r r a y. message what i s to be encrypted 18

21 BIJLAGE A. SERIALIZATION password t h e key used to encrypt t h e message encrypted message NoSuchAlgorithmException InvalidKeyException 148 / 149 public s t a t i c byte [ ] docrypto ( byte [ ] message, S t r i n g password ) 150 throws NoSuchAlgorithmException, InvalidKeyException { // Generate a key, t h i s a random key. Use 128 b y t e as key, 153 // because 192 and 256 are not a l l o w e d everywhere. 154 // h t t p :// j a v a. sun. com/ d e v e l o p e r / 155 // t e c h n i c a l A r t i c l e s / S e c u r i t y /AES/AES v1. html 156 byte [ ] raw = null ; 157 i f ( password. l e n g t h ()==16){ 158 raw = password. getbytes ( ) ; } 159 else { 160 System. out. p r i n t l n ( F a ilure, password should be 16 l e t t e r s. ) ; 161 return null ; 162 } // SecretKeySpec i s a c o n t a i n e r o b j e c t to s t o r e t h e key 165 // combined with a t y p e o f e n c r y p t i o n 166 SecretKeySpec skeyspec = new SecretKeySpec ( raw, AES ) ; // I n s t a n t i a t e t h e c i p h e r 169 Cipher c i p h e r = null ; 170 try { 171 c i p h e r = Cipher. g e t I n s t a n c e ( AES ) ; 172 } catch ( NoSuchPaddingException ex ) { ex. printstacktrace ( ) ; } c i p h e r. i n i t ( Cipher.ENCRYPT MODE, skeyspec ) ; byte [ ] encrypted = null ; 177 try { encrypted = c i p h e r. dofinal ( message ) ; } 178 catch ( Exception ex ) { ex. printstacktrace ( ) ; } return encrypted ; 181 } / 184 Decrypt a message s t o r e d in a b y t e a r r a y g i v e n t h e key. encryptedmessage t h e message t h a t i s encrypted password t h e password used to d e c r y p t t h e message t h e d e c r y p t e d message 188 / 189 public s t a t i c byte [ ] dodecrypt ( byte [ ] encryptedmessage, S t r i n g password ) 190 { 191 byte [ ] raw = null ; 192 i f ( password. l e n g t h ()==16){ 193 raw = password. getbytes ( ) ; } 194 else { 195 System. out. p r i n t l n ( F a ilure, password should be 16 l e t t e r s. ) ; 196 return null ; 19

22 BIJLAGE A. SERIALIZATION 197 } SecretKeySpec skeyspec = new SecretKeySpec ( raw, AES ) ; 200 Cipher c i p h e r = null ; 201 try { c i p h e r = Cipher. g e t I n s t a n c e ( AES ) ; 202 } catch ( Exception ex ) { ex. printstacktrace ( ) ; } try { c i p h e r. i n i t ( Cipher.DECRYPT MODE, skeyspec ) ; 205 } catch ( Exception ex ) { ex. printstacktrace ( ) ; } byte [ ] o r i g i n a l = null ; 208 try { o r i g i n a l = c i p h e r. dofinal ( encryptedmessage ) ; 209 } catch ( Exception ex ) { ex. printstacktrace ( ) ; } return o r i g i n a l ; 212 } / 215 Method to c o n v e r t a b y t e a r r a y to an o b j e c t b y t e s b y t e a r r a y t h a t s y m b o l i z e s an o b j e c t o b j e c t c r e a t e d from b y t e a r r a y 218 / 219 public s t a t i c Object toobject ( byte [ ] bytes ){ 220 Object o b j e c t = null ; 221 try{ 222 o b j e c t = new java. i o. ObjectInputStream (new 223 java. i o. ByteArrayInputStream ( bytes ) ). readobject ( ) ; 224 }catch ( Exception ex ){ ex. printstacktrace ( ) ; } return o b j e c t ; 227 } 228 } 20

23 Literatuur [1] Java API. Discover the secrets of the java serialization api. developer/technicalarticles/programming/serialization/. Geraadpleegd op: 21 februari [2] A. Clarke and M.E. Holzschlag. Transcending CSS: The Fine Art of Web Design (Voices That Matter). New Riders Publishing Thousand Oaks, CA, USA, [3] Joan Daemen and Vincent Rijmen. The design of Rijndael: AES - the advanced encryption standard (p 1-8) [4] EWI. Aanmaken van een sql database via de tu delft. Geraadpleegd op: 21 februari [5] RSA laboratories. What is diffie-hellman? Geraadpleegd op: 26 maart [6] Tony McGregor. Secure socket layer. articles/ssl/ssl.html. Geraadpleegd op: 26 maart [7] Till Meyer. About ssl/tls. security/students/ss8a/ssltls.html. Geraadpleegd op: 26 maart [8] MSDN. Cipher suites in schannel. aa374757(vs.85).aspx. Geraadpleegd op: 26 maart [9] MSDN. Tls handshake protocol. aa380513(vs.85).aspx. Geraadpleegd op: 26 maart [10] MySQL News. Changes in mysql (24 october 2006). refman/5.1/en/news html. Geraadpleegd op: 26 mei [11] Oracle. Database encryption in oracle9i. oracle/pdf/f5crypt.pdf. Geraadpleegd op: 20 februari [12] MySQL Reference. Foreign key constraints. innodb-foreign-key-constraints.html. Geraadpleegd op: 17 maart [13] MySQL Reference. Full-text search functions. en/fulltext-search.html. Geraadpleegd op: 17 maart [14] MySQL Reference. The innodb transaction model and locking. doc/refman/5.1/en/innodb-transaction-model.html. Geraadpleegd op: 17 maart

24 LITERATUUR LITERATUUR [15] MySQL Reference. The merge storage engine. en/merge-storage-engine.html. Geraadpleegd op: 17 maart [16] SIAL. Openssl self-signed test certificates. self-signed/. Geraadpleegd op: 27 maart [17] Michael Smith. Html5 and xhtml2. html5-and-xhtml2. Geraadpleegd op: 26 mei [18] Surfnet. Aanmeldproces surfcertificaten. authenticatie/pages/aanmeldensurfcertificate.aspx. Geraadpleegd op: 27 maart [19] Andrew Tanenbaum. Computer Networks. Prentice Hall Professional Technical Reference, [20] Microsoft TechNet. Microsoft root certificate program. en-us/library/cc aspx. Geraadpleegd op: 27 maart [21] Microsoft TechNet. Tls/ssl cryptographic enhancements. com/en-us/library/cc766285(ws.10).aspx. Geraadpleegd op: 26 maart [22] Microsoft TechNet. What is tls/ssl? cc784450(ws.10).aspx. Geraadpleegd op: 26 maart

Transport Layer Security. Presentatie Security Tom Rijnbeek

Transport Layer Security. Presentatie Security Tom Rijnbeek Transport Layer Security Presentatie Security Tom Rijnbeek World Wide Web Eerste webpagina: 30 april 1993 Tegenwoordig: E-mail Internetbankieren Overheidszaken (DigiD) World Wide Web Probleem: World Wide

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

Project 4 - Centrale Bank. Rick van Vonderen TI1C

Project 4 - Centrale Bank. Rick van Vonderen TI1C Project 4 - Centrale Bank Rick van Vonderen 0945444 TI1C 23 mei 2018 Inhoudsopgave 1 Inleiding 2 2 Beheren 3 2.1 Git...................................................... 3 2.2 Risicolog...................................................

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

IN3405 Eindverslag Bachelorproject. Applicatie Voor Aanvragen Studie Toelatingsadvies

IN3405 Eindverslag Bachelorproject. Applicatie Voor Aanvragen Studie Toelatingsadvies IN3405 Eindverslag Bachelorproject Applicatie Voor Aanvragen Studie Toelatingsadvies Mark Hendrikx 1358294 Olaf Schüsler 1268090 Bachelorcoördinator Drs. P.R. van Nieuwenhuizen Begeleider Prof.dr. A. de

Nadere informatie

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

Installatie Remote Backup

Installatie Remote Backup Juni 2015 Versie 1.2 Auteur : E.C.A. Mouws Pagina 1 Inhoudsopgave BusinessConnect Remote Backup... 3 Kenmerken... 3 Beperkingen... 3 Gebruik op meerdere systemen... 3 Systeemeisen... 4 Support... 4 Installatie...

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

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

HDN DARTS WEB AUTHENTICATIE

HDN DARTS WEB AUTHENTICATIE HDN DARTS WEB AUTHENTICATIE HDN Helpdesk T: 0182 750 585 F: 0182 750 589 M: [email protected] Copyright Communications Security Net B.V. Inhoudsopgave 1. INLEIDING OP HET ONTWERP... 3 1.1 HET DOEL VAN DIT

Nadere informatie

4Passief: n Afluisteren. n Geen gegevens gewijzigd of vernietigd. n Via de routers van WAN. n Via draadloze verbindingen. 4Fysieke afsluiting

4Passief: n Afluisteren. n Geen gegevens gewijzigd of vernietigd. n Via de routers van WAN. n Via draadloze verbindingen. 4Fysieke afsluiting Telematica Hoofdstuk 20 4Passief: n Afluisteren Bedreigingen n Alleen gegevens (inclusief passwords) opgenomen n Geen gegevens gewijzigd of vernietigd n Op LAN kan elk station alle boodschappen ontvangen

Nadere informatie

Les 15 : updaten van gegevens in de database (deel2).

Les 15 : updaten van gegevens in de database (deel2). Les 15 : updaten van gegevens in de database (deel2). In de volgende reeks lessen zal alle vorige leerstof uitgebreid aan het bod komen. Zie ook de vorige lessen en documenten om informatie op te zoeken

Nadere informatie

Formulieren maken met Dreamweaver CS 4/CS 5

Formulieren maken met Dreamweaver CS 4/CS 5 Formulieren maken met Dreamweaver CS 4/CS 5 In deze handleiding leer je om een formulier en elementen die je binnen een formulier kunt gebruiken, te ontwerpen met Dreamweaver. Het uitgangspunt is dat dit

Nadere informatie

Databases - Inleiding

Databases - Inleiding Databases Databases - Inleiding Een database is een verzameling van een aantal gegevens over een bepaald onderwerp: een ledenbestand van een vereniging, een forum, login gegevens. In een database worden

Nadere informatie

Digitale Handtekening Praktische problemen bij toepassingen TestNet: Testen van Security ING Group, April 2006 Ruud Goudriaan

Digitale Handtekening Praktische problemen bij toepassingen TestNet: Testen van Security ING Group, April 2006 Ruud Goudriaan Digitale Handtekening Praktische problemen bij toepassingen TestNet: Testen van Security ING Group, pril 2006 Ruud Goudriaan Digitale handtekeningen Korte uitleg symmetrische Cryptografie Hoe gebruik je

Nadere informatie

Security paper - TLS en HTTPS

Security paper - TLS en HTTPS Security paper - TLS en HTTPS Tom Rijnbeek - 3657086 18 juni 2013 Inhoudsopgave 1 Introductie 2 2 Beschrijving TLS 2 2.1 Doelen................................. 2 2.2 Lagen Model.............................

Nadere informatie

RMail. Veilig en met RMail

RMail. Veilig  en met RMail RMail RPost Nederland is een geregistreerde handelsnaam van Barrabas BV * www.rpost.nl * [email protected] Barrabas BV Waterhoen 8 1261 RV Blaricum T +31 6 22 90 52 02 IBAN NL43 RABO 0182 4492 97 KVK 60721510

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

Datacommunicatie Cryptografie en netwerkbeveiliging

Datacommunicatie Cryptografie en netwerkbeveiliging Datacommunicatie Cryptografie en netwerkbeveiliging ir. Patrick Colleman Inhoud Voorwoord 1 1. Inleiding Wat 2 2. Model 5 3. Systemen 5 3.1 Substitutiesystemen 6 3.1.1 Caesar 6 3.1.2 Monoalfabetische vercijfering

Nadere informatie

Inventus Software. Encryption Services. Antum Secured Message System. Jan Muyldermans

Inventus Software. Encryption Services. Antum Secured Message System. Jan Muyldermans Inventus Software Encryption Services Secured Message System Jan Muyldermans 2011 2 Voor wat staat Inventus Software? Inventus Software werd opgericht in 2008 met als doel de privacy van de gebruiker beter

Nadere informatie

Automatische online en lokale backup en recovery van bedrijfsdata

Automatische online en lokale backup en recovery van bedrijfsdata Automatische online en lokale backup en recovery van bedrijfsdata Omdat u moet kunnen vertrouwen op uw backup... BACKUPAGENT, DE VOORDELEN OP EEN RIJ - Veilige backups zonder omkijken, alle bedrijfskritische

Nadere informatie

Pinakes Integrator Client

Pinakes Integrator Client Pinakes Integrator Client Installatie procedure Pinakes NV Paviljoenstraat 7 1030 Schaarbeek TEL : +32 (0) 2 211 55 95 FAX : +32 (0) 2 211 56.56 [email protected] WWW.PINAKES.BE 1. Inhoudstafel 1. Inhoudstafel...

Nadere informatie

Digitaal e-mail certificaat Ondertekenen en encryptie. De meest recente versie van dit document kunt u vinden op: www.ensbergen.nl

Digitaal e-mail certificaat Ondertekenen en encryptie. De meest recente versie van dit document kunt u vinden op: www.ensbergen.nl Digitaal e-mail certificaat Ondertekenen en encryptie De meest recente versie van dit document kunt u vinden op: www.ensbergen.nl Index 1 Inleiding... 4 1.1 Algemeen...4 1.2 Leeswijzer...4 2 Private key

Nadere informatie

PHP-OPDRACHT SITE BOUWEN

PHP-OPDRACHT SITE BOUWEN PHP-OPDRACHT SITE BOUWEN PERIODE 4 LEERJAAR 1 Opleiding: Duur: Applicatieontwikkelaar 1 onderwijsperiode (4-8 weken) Voorkennis: Basiscursus PHP 5.4 Victor Peters (978 90 125 8499 9) Basiscursus XHTML,

Nadere informatie

Installatie Handleiding voor: TiC Narrow Casting Certified. System Integrators

Installatie Handleiding voor: TiC Narrow Casting Certified. System Integrators Installatie Handleiding voor: TiC Narrow Casting Certified System Integrators Installatiehandleiding TiC Narrow Casting Manager Inhoudsopgave 1. Algemeen - 3-2. Installatie PostgreSQL database server -

Nadere informatie

Les 10 : Aanmaken van een database (deel2).

Les 10 : Aanmaken van een database (deel2). Les 10 : Aanmaken van een database (deel2). Wat is een database? Een centrale opslagruimte voor gegevens. Alle informatie wordt centraal opgeslagen en kan door iedereen geraadpleegd worden. Voordelen van

Nadere informatie

Zonnepanelen Hoe krijg je de data op je website?

Zonnepanelen Hoe krijg je de data op je website? Zonnepanelen Hoe krijg je de data op je website? Beste website-bezoeker, Omdat ik al heel wat vragen kreeg over het gedeelte zonne-energie op mijn website, heb ik besloten om de werkwijze die ik gevolgd

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

4Problemen met zakendoen op Internet

4Problemen met zakendoen op Internet Intranet Telematica Toepassingen Hoofdstuk 18 4gebruik Internet toepassingen voor netwerk binnen een organisatie 4In plaats van gespecialiseerde netwerkprogramma's 4Vooral WWW en e-mail 4WWW browser toegang

Nadere informatie

Denit Backup instellen op een Linux server

Denit Backup instellen op een Linux server Denit Backup instellen op een Linux server Deze handleiding beschrijft de stappen om de back-up software van Ahsay in te stellen. AANMAKEN BACK-UP SET... 2 DE SCHEDULER INSTELLEN... 4 HET FILTER INSTELLEN...

Nadere informatie

Leza biedt gebruikers de mogelijkheid om pc s, laptops en servers te back-uppen en back-ups te herstellen.

Leza biedt gebruikers de mogelijkheid om pc s, laptops en servers te back-uppen en back-ups te herstellen. LEZA ONLINE BACKUP Servicedefinitie 1. Data-encryptie 2. Beveiligde internetverbinding 3. Datacenter 4. Recovery 5. Richtlijnen reactietijden & bereikbaarheid 6. Controle Back-up 7. Onderhoudswerkzaamheden

Nadere informatie

Een website maken met databasetoegang.

Een website maken met databasetoegang. Hoofdstuk 5 Een website maken met databasetoegang. In dit hoofdstuk gaan we het weblog dat je in hoofdstuk 4 hebt gemaakt verder uitbreiden. Een belangrijk onderdeel wordt toegevoegd aan de applicatie,

Nadere informatie

DataFlex 19.0 SQL Server

DataFlex 19.0 SQL Server Connections to SQL Server 1 Agenda Connecties Aanpassingen in applicaties 2 Connecties Kort overzicht 3 SQL manier Connectie maken met een server (login) Connectie stelt je in staat om tabellen in een

Nadere informatie

Beschrijving functioneel en technisch design van de website

Beschrijving functioneel en technisch design van de website Bespreking Punten: Beschrijving functioneel en technisch design van de website Nr. Punt 1 Student 2 Bedrijf 3 Algemene lay out 4 Technologieën 5 Webruimte en datatrafiek 1. Student Registratie Bij de registratie

Nadere informatie

Handleiding. CardAccess Database Utility CA4000. Aanvullende informatie. Versie: 1.0

Handleiding. CardAccess Database Utility CA4000. Aanvullende informatie. Versie: 1.0 Handleiding CardAccess Database Utility CA4000 Aanvullende informatie Versie: 1.0 Algemene informatie Wijzigingen voorbehouden. Kijk op onze support site http://support.aras.nl/ voor actueel nieuws en

Nadere informatie

Inhoudsopgave. Onderzoeksrapport: SSL; Dion Bosschieter; ITopia

Inhoudsopgave. Onderzoeksrapport: SSL; Dion Bosschieter; ITopia SSL veilig of niet? Dion Bosschieter Dit is een onderzoeksrapport dat antwoord geeft op de vraag: Kan een gebruiker er zeker van zijn dat SSL veilig is? ITopia Dion Bosschieter 23-04- 2012 Inhoudsopgave

Nadere informatie

Introductie Algemene instellingen POP3, SMTP, IMAP, wat is het, en wat is aan te raden voor u? Standaard of Secure?...

Introductie Algemene instellingen POP3, SMTP, IMAP, wat is het, en wat is aan te raden voor u? Standaard of Secure?... Introductie In deze handleiding leggen we uit hoe u het beste uit uw e-mail kunt halen met QSIT. Iedereen kan met de duidelijke voorbeelden zijn of haar e-mail op de juiste wijze instellen. De belangrijkste

Nadere informatie

Perceptive Process. Release Notes. Version: 3.5.x

Perceptive Process. Release Notes. Version: 3.5.x Perceptive Process Release Notes Version: 3.5.x Written by: Product Knowledge, R&D Date: December 2015 2015 Lexmark International Technology, S.A. All rights reserved. Lexmark is a trademark of Lexmark

Nadere informatie

Na bestudering van dit hoofdstuk, moet je tot het volgende in staat zijn:

Na bestudering van dit hoofdstuk, moet je tot het volgende in staat zijn: 5. De oefendatabase 5.1. Inleiding In de volgende hoofdstukken ga je oefenen / werken met SQL. Om te kunnen oefenen heb je natuurlijk wel een database nodig. In dit hoofdstuk wordt besproken hoe je deze

Nadere informatie

Javascript oefenblad 1

Javascript oefenblad 1 Leer de basis van Javascript. Javascript oefenblad 1 Niels van Velzen Javascript oefenblad 1 Pagina 2 Inleiding Javascript is niet altijd even makkelijk. Vooral aan het begin is het even wennen hoe de

Nadere informatie

Veiligheid van uw data

Veiligheid van uw data Cloud Harddrive; uw bestanden in de Cloud, veilig, snel, te delen met anderen en overal toegankelijk. Cloud Harddrive creëert een beveiligd gebied op uw lokale harde schijf, waar de Cloud Harddrives in

Nadere informatie

AFO 142 Titel Aanwinsten Geschiedenis

AFO 142 Titel Aanwinsten Geschiedenis AFO 142 Titel Aanwinsten Geschiedenis 142.1 Inleiding Titel Aanwinsten Geschiedenis wordt gebruikt om toevoegingen en verwijderingen van bepaalde locaties door te geven aan een centrale catalogus instantie.

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

6. Het maken van een database

6. Het maken van een database 6. Het maken van een database 6.1. Inleiding In hoofdstuk 5 heb je de oefendatabase gemaakt doormiddel van een script. In dit hoofdstuk ga je zelf een database maken en deze vullen met tabellen. Hiervoor

Nadere informatie

Enterprise SSO Manager (E-SSOM) Security Model

Enterprise SSO Manager (E-SSOM) Security Model Enterprise SSO Manager (E-SSOM) Security Model INHOUD Over Tools4ever...3 Enterprise Single Sign On Manager (E-SSOM)...3 Security Architectuur E-SSOM...4 OVER TOOLS4EVER Tools4ever biedt sinds 2004 een

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

Tinus Plotseling 29-12-2002. MySQL

Tinus Plotseling 29-12-2002. MySQL Tinus Plotseling 29-12-2002 MySQL Inhoudsopgave Inleiding... 3 MySQL Geschiedenis... 3 MySQL Toepassingen... 3 MySQL Voordelen... 4 MySQL Nadelen... 4 MySQL bij ASCI... 4 PostgreSQL... 5 ORACLE... 6 MS

Nadere informatie

Wi-Fi instellingen voor Windows XP

Wi-Fi instellingen voor Windows XP Wi-Fi instellingen voor Windows XP Op de TU/e zijn een viertal Wlan netwerknamen of SSID s beschikbaar: TUE-WPA2 2 Het SSID TUE-WPA2 is voorzien van WPA2 beveiliging. Dit netwerk kan zowel door studenten

Nadere informatie

Handleiding 2Voice Software Android

Handleiding 2Voice Software Android Handleiding 2Voice Software Android Pagina 1 van 12 Index 1. Algemeen... 3 2. Configuratie menu... 4 2.1. Aanmaken nieuwe configuratie... 4 2.2. Configuratie opslaan... 6 2.3. Uitlezen van configuratie

Nadere informatie

Object Oriented Programming

Object Oriented Programming Object Oriented Programming voor webapplicaties Door Edwin Vlieg Waarom OOP? Basis uitleg over OOP Design Patterns ActiveRecord Model View Controller Extra informatie Vragen OOP Object Oriented Programming

Nadere informatie

Dynamische webapplicaties in Java

Dynamische webapplicaties in Java Dynamische webapplicaties in Java October 7, 2006 In java is het mogelijk dynamische webpagina s te implementeren. De code om de dynamische gegevens te genereren staat in servlets of Java Server Pages

Nadere informatie

Open SQL Server Management Studio en log in als Administator. Je ziet dan wat je in figuur 2.1 ziet.

Open SQL Server Management Studio en log in als Administator. Je ziet dan wat je in figuur 2.1 ziet. Hoofdstuk 2 Een ASP.NET applicatie met ADO.NET opzetten In dit hoofdstuk ga je een eenvoudige website opzetten, waarbij je een aantal gegevens uit een database ophaalt. Je moet je kennis van ADO.NET dus

Nadere informatie

JouwSpulMijnSpul. Een marktplaats voor Windesheim. Technisch Ontwerp. Pascal Oostenbrugge Gerrit van Roekel Victor Klijmeij

JouwSpulMijnSpul. Een marktplaats voor Windesheim. Technisch Ontwerp. Pascal Oostenbrugge Gerrit van Roekel Victor Klijmeij JouwSpulMijnSpul Een marktplaats voor Windesheim Technisch Ontwerp Pascal Oostenbrugge Gerrit van Roekel Victor Klijmeij Versiebeheer Datum Beschrijving wijziging 18-1-2009 Eerste aanzet voor TO. 2 Inhoudsopgave

Nadere informatie

Les 2 Eenvoudige queries

Les 2 Eenvoudige queries Les 2 Eenvoudige queries XAMP Apache server ( http ) mysql server PHP myadmin IAM SQL oefeningen Database phpmyadmin Import : sql_producten.sql, sql_winkel.sql, sql_festival.sql SAMS SQL in 10 minuten

Nadere informatie

Gebruikershandleiding

Gebruikershandleiding t.b.v. Aanpassen BAPI ivm Servercertificaat uitgegeven onder QuoVadis Global SSL ICA Versie document: 1.5 1 Inhoudsopgave 1. Inleiding... 3 2. Referenties... 3 3. Validatie door het Windows operating system...

Nadere informatie

Werken zonder zorgen met uw ICT bij u op locatie

Werken zonder zorgen met uw ICT bij u op locatie Werken zonder zorgen met uw ICT bij u op locatie Naast de mogelijkheden om uw programmatuur en gegevens bij Drie-O via Evy 2.0 in de cloud te hosten hebt u ook de mogelijkheid om uw ICT omgeving bij u

Nadere informatie

NHibernate als ORM oplossing

NHibernate als ORM oplossing NHibernate als ORM oplossing Weg met de SQL Queries Wat is ORM? ORM staat in dit geval voor Object Relational Mapping, niet te verwarren met Object Role Modeling. ORM vertaalt een objectmodel naar een

Nadere informatie

informatica. cryptografie. overzicht. hoe & wat methodes belang & toepassingen moderne cryptografie

informatica. cryptografie. overzicht. hoe & wat methodes belang & toepassingen moderne cryptografie informatica cryptografie overzicht hoe & wat methodes belang & toepassingen moderne cryptografie 1 SE is op papier hoe & wat vragen komen uit methode en verwijzingen die in de methode staan in mappen RSA

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

YOUPROVIDE. Security aspecten

YOUPROVIDE. Security aspecten YOUPROVIDE Security aspecten Inhoudsopgave Gegevens locatie, servers, back-ups en beëindiging 3 Beveiliging 4 Vertrouwelijkheid en bescherming persoonsgegevens 6 Algemene voorwaarden 7 Gegevens locatie,

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

Solcon Online Backup. Aan de slag handleiding voor Linux

Solcon Online Backup. Aan de slag handleiding voor Linux Version 1 September 2007 Installatie: 1. Download het setup bestand (obm-nix.tar.gz) van de website. 2. Voor de volgende stappen dient u root te zijn. 3. Doorloop de volgende stappen voor het uitpakken

Nadere informatie

Resultaten van de scan. Open poorten. High vulnerabilities. Medium vulnerabilites. Low vulnerabilities

Resultaten van de scan. Open poorten. High vulnerabilities. Medium vulnerabilites. Low vulnerabilities De Nessus scan We hebben ervoor gekozen om de webserver met behulp van Nessus uitvoerig te testen. We hebben Nessus op de testserver laten draaien, maar deze server komt grotendeels overeen met de productieserver.

Nadere informatie

Installatie Cloud Backup

Installatie Cloud Backup September 2018 Versie 2.0 Auteur : E.C.A. Mouws Pagina 1 Inhoudsopgave BusinessConnect Cloud Backup... 3 Minimale hardware-eisen... 3 Ondersteunde besturingssystemen... 3 Kenmerken... 4 Support... 4 Downloaden

Nadere informatie

Sparse columns in SQL server 2008

Sparse columns in SQL server 2008 Sparse columns in SQL server 2008 Object persistentie eenvoudig gemaakt Bert Dingemans, e-mail : [email protected] www : http:// 1 Content SPARSE COLUMNS IN SQL SERVER 2008... 1 OBJECT PERSISTENTIE EENVOUDIG

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

Installatie SQL Server 2014

Installatie SQL Server 2014 Installatie SQL Server 2014 Download de SQL Server Express net advanced Services van de website: https://www.microsoft.com/en-us/download/details.aspx?id=42299 klik op Download. Als u een 64 bit variant

Nadere informatie

Technical Note. API Beschrijving Aangetekend Mailen

Technical Note. API Beschrijving Aangetekend Mailen AUTHOR APPROVED Technical Note API Beschrijving Referentie: API beschrijving AM Versie: 0.0.7 Datum: 2015-07-24 Aangetekend Bellen B.V. Computerweg 5 Postbus 8307 3503 RH Utrecht T: +31 346 581 731 [email protected]

Nadere informatie

Datum 15 juni 2006 Versie 1.0.6. Exchange Online. Handleiding voor gebruiker Release 1.0

Datum 15 juni 2006 Versie 1.0.6. Exchange Online. Handleiding voor gebruiker Release 1.0 Datum 1.0.6 Exchange Online Handleiding voor gebruiker Release 1.0 1.0.6 Inhoudsopgave 1 Instellingen e-mail clients 2 1.1 Gebruik via Outlook 2003 2 1.2 Gebruik via ActiveSync 15 1.3 Gebruik via andere

Nadere informatie

ASRemote WebService. Via deze webservice kunt u:

ASRemote WebService. Via deze webservice kunt u: ASRemote WebService De ASRemote WebService is een SOAP Webservice die softwarematige communicatie met Exact Globe mogelijk maakt vanaf een willekeurige locatie op het internet. Via deze webservice kunt

Nadere informatie

Web building gevorderden: CSS & JavaScript. Karel Nijs 2008/11

Web building gevorderden: CSS & JavaScript. Karel Nijs 2008/11 Web building gevorderden: CSS & JavaScript Karel Nijs 2008/11 Webbuilding gevorderden les 3 JavaScript intro JavaScript invoegen JavaScript statements JavaScript popup berichten JavaScript functies JavaScript

Nadere informatie

Handleiding Virtru. VIRTRU installeren KLIK HIER

Handleiding Virtru. VIRTRU installeren KLIK HIER Handleiding Virtru Wat is Virtru? Virtru is een gratis plug-in voor het beveiligd versturen van e-mails. Het e-mailbericht en zijn bijlagen worden op die manier versleuteld verstuurd, de inhoud hiervan

Nadere informatie

Les 9: formulier controle met javascript.

Les 9: formulier controle met javascript. Les 9: formulier controle met javascript. Javascript is erg veel gebruikt bij internet toepassingen. In tegenstelling tot PHP, wat een server side scripting is, is java client side scripting. Dwz, niet

Nadere informatie

Technische beschrijving pseudonimisatie gegevensverzameling NIVEL Zorgregistraties eerste lijn

Technische beschrijving pseudonimisatie gegevensverzameling NIVEL Zorgregistraties eerste lijn Bijlage 2 bij Privacyreglement NIVEL Zorgregistraties eerste lijn Technische beschrijving pseudonimisatie gegevensverzameling NIVEL Zorgregistraties eerste lijn Pseudonimisatie Onder 'pseudonimisatie'

Nadere informatie

VoipCenter Application Programming Interface (API)

VoipCenter Application Programming Interface (API) Introductie Via de VoipCenter PBX API is het mogelijk om : 1. informatie op te vragen inzake de configuratie van : - SIP-accounts - Telefoonnummers - Tijdfilters zoals feestdagen, vakantieperiodes en kantooruren

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

Mobile Security. René de Groot Sogeti

Mobile Security. René de Groot Sogeti Mobile Security René de Groot Sogeti 1 Inhoud Mobile en nieuwe mogelijkheden Nieuwe risico s Keten en spelers Basic security Scenario secure storage op een ipad Scenario IRM op een ipad Conclusie 2 Mobile

Nadere informatie

Configuratie van VPN met L2TP/IPsec

Configuratie van VPN met L2TP/IPsec Configuratie van VPN met L2TP/IPsec Met pfsense als Firewall/Router Voorbereiding (Windows 7 op lokale netwerk) Bekijk eerst of de machine correcte netwerkgegevens heeft verkregen van de pfsense router:

Nadere informatie

Kenmerken Nomadesk Software

Kenmerken Nomadesk Software Kenmerken Nomadesk Software DATABEVEILIGING Versleutelde lokale schijf Nomadesk creëert een veilige virtuele omgeving, een Vault, op uw lokale harde schijf. Alle mappen en bestanden opgeslagen op de Vault

Nadere informatie

Releasebeschrijving e-former versie 7.0

Releasebeschrijving e-former versie 7.0 Releasebeschrijving e-former versie 7.0 INHOUDSOPGAVE Inleiding... 2 Tussentijds opslaan... 3 Digitale handtekening... 4 Beveiliging... 6 Toegangscontrole bij lokaal gebruik... 6 Verwijderen uploads...

Nadere informatie

Technisch Ontwerp W e b s i t e W O S I

Technisch Ontwerp W e b s i t e W O S I Technisch Ontwerp W e b s i t e W O S I WOSI Ruud Jungbacker en Michael de Vries - Technisch ontwerp Website Document historie Versie(s) Versie Datum Status Omschrijving / wijzigingen 0.1 20 nov 2008 Concept

Nadere informatie

Handleiding installatie Visual Rental Dynamics

Handleiding installatie Visual Rental Dynamics Handleiding installatie Visual Rental Dynamics Versie: 1.4 Datum: 10 oktober 2017 1. Inleiding Deze handleiding beschrijft de procedure voor de installatie van Visual Rental Dynamics en de benodigde software.

Nadere informatie

Dit kan gebruikt worden in zowel een ASP.NET web applicatie als een desktop applicatie.

Dit kan gebruikt worden in zowel een ASP.NET web applicatie als een desktop applicatie. Introductie Dit artikel laat zien hoe je een Image in een C# applicatie kan opslaan in een database en het kan ophalen uit de database om het te laten zien. Voor de database gebruiken we MS SQL maar voor

Nadere informatie

Functionele Specificatie One Fox edav

Functionele Specificatie One Fox edav Functionele beschrijving van de One Fox edav module. Kenmerk: FO_EDAV_MVDB_50 Document: V1,2 / FO edav v2.2 Status: Publicatie: Definitief 28-2-2013 Documenthistorie Wanneer Versie Wie Wat en waarom 15-02-2010

Nadere informatie

Installatiehandleiding. Installatiehandleiding voor de ODBC-driver

Installatiehandleiding. Installatiehandleiding voor de ODBC-driver Installatiehandleiding Installatiehandleiding voor de ODBC-driver van UNIT4 Multivers (Accounting) Online 8.1 Copyright 2013 UNIT4 Software B.V., Sliedrecht, The Netherlands Alle rechten voorbehouden.

Nadere informatie

Multi user Setup. Firebird database op een windows (server)

Multi user Setup. Firebird database op een windows (server) Multi user Setup Firebird database op een windows (server) Inhoudsopgave osfinancials multi user setup...3 Installeeren van de firebird database...3 Testing van de connectie met FlameRobin...5 Instellen

Nadere informatie

TECHNICAL DESIGN DOCUMENT

TECHNICAL DESIGN DOCUMENT TECHNICAL DESIGN DOCUMENT BACHELORPROJECT IN3405 John Ciocoiu 1358227 Elwin Dokter 1275909 TECHNISCHE UNIVERSITEIT DELFT FACULTEIT EWI WOENSDAG 28 APRIL 2010 VERSIE 1 COMMISSIE: Ing. D.J. van Roest (opdrachtgever)

Nadere informatie

Kies File>New>Blank Page>PHP. Je kunt eventueel nog een stylesheet koppelen. Definieer nu eerst een site! Dat betekent: Site>New Site

Kies File>New>Blank Page>PHP. Je kunt eventueel nog een stylesheet koppelen. Definieer nu eerst een site! Dat betekent: Site>New Site Kies File>New>Blank Page>PHP Je kunt eventueel nog een stylesheet koppelen. Definieer nu eerst een site! Dat betekent: Site>New Site Geef de site een passende naam. Kies ook de juiste map voor de webdocumenten.

Nadere informatie

Update Hoofdstuk 11 Beveiligde E mail. 11.4.1 Software installeren. gebaseerd op de volgende versie: Mozilla Thunderbird 3.1.10

Update Hoofdstuk 11 Beveiligde E mail. 11.4.1 Software installeren. gebaseerd op de volgende versie: Mozilla Thunderbird 3.1.10 Update Hoofdstuk 11 Beveiligde E mail gebaseerd op de volgende versie: Mozilla Thunderbird 3.1.10 11.4.1 Software installeren 5. Vervalt De Importeerassistent zit niet meer in de nieuwe versie 6. Vervalt

Nadere informatie

Installatie en configuratie documentatie

Installatie en configuratie documentatie Installatie en configuratie documentatie Assistance Web Portal v. 2.58, 2.60 Voor Windows 2003 / 2008 / XP / Vista / Windows 7 Assistance PSO handleiding, uitgegeven door Assistance Software. Alle rechten

Nadere informatie

Inzenden en ontvangen aangifte

Inzenden en ontvangen aangifte UPA Inzenden en ontvangen aangifte Specificaties koppelvlak Versie 1.0 Inhoud 1 Doel document... 2 2 Aanlevering bestanden... 2 2.1 Webservices... 2 2.2 FTP... 4 2.3 Secure cloud... 4 3 Aanlevering MDV/PLO...

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

BRIDGE. Gebruikershandleiding 2017

BRIDGE. Gebruikershandleiding 2017 BRIDGE Gebruikershandleiding 2017 Inhoud 1. Introductie 4 2. Inloginstructies 4 3. Zoeken in database 5 4. Item ophalen 6 5. Meerdere zoekopdrachten in database/leveringsaanvragen 7 6. Voorraadorders 8

Nadere informatie