Bedrijfsgegevens
Info Support
Kruisboog, Veenendaal
Martijn Ermers <Martijn.Ermers@infosupport.com>
Context
De wereld verandert snel. Waar van vroeger uit de informatie vanuit de overheid via radio verzonden werd, gaan we naar een wereld toe waarbij alle informatie via internet gedeeld wordt. Het probleem wat we door deze verschuiving krijgen is dat op internet vanaf afstand servers gesaboteerd kunnen worden. Zo kunnen kwaadwillenden ervoor zorgen dat de servers die gebruikt worden om noodberichten te verzenden onklaar gemaakt worden. Wanneer het systeem geheel gedistribueerd wordt van opzet, is het veel lastiger voor kwaadwillenden om het systeem onderuit te halen. Immers kunnen alle losse nodes de noodberichten bevatten en versturen.
Opdracht
Bouw een systeem bestaande uit een tweetal clients. De ene client is een ontvanger van noodberichten en kan deze ook naar andere clients versturen. De andere client kan hiernaast ook zelf noodberichten opstellen en deze versturen aan alle overige clients. De clients vertellen aan elkaar het bestaan van andere clients die ze kennen.
Middels een public/private key constructie wordt ervoor gezorgd dat alleen de clients van de overheid berichten kunnen verzenden. De publieke clients kunnen deze berichten dan controleren op echtheid.
Bouw de twee clients in een Android applicatie. Er mag gebruik gemaakt worden van een centrale node, die gebruikt kan worden als kickstarter om het gedistribueerde netwerk initieel op te zetten.
Beide clients kunnen de berichten bewaren en bevraagd worden door andere clients. De publieke clients bewaren dus het bericht wat door een van de clients van de overheid verstuurd is. Dit om de garantie te behouden dat het bericht van de overheid afkomstig is.
Zorg ervoor dat de architectuur dusdanig is opgezet dat er een ruime mate van code sharing mogelijk is tussen de clients én dat de business logica ook in applicaties op andere platformen zonder aanpassingen toepasbaar is.
Keywords
Android
Security
Distributed programming