Goedemorgen,
Al enige tijd ben ik aan het nadenken voor nog nader op te zetten WebServices (ASP.Net Web Api 2), en een nog nader te bouwen app voor Android, iOS en Windows Phone (Xamarin).
Mijn probleem zit hem alleen in het authenticeren van de requests vanuit de app. Deze dienen namelijk wel echt uit de apps te komen, en dus niet buiten de apps om aangeroepen te kunnen worden. Dit in verband met copyright en auteursrechten. Of er voor de content waar copyright en auteursrechten op rust betaald moet worden is nog niet helemaal duidelijk.
Een waterdichte methode is er natuurlijk niet, maar ik zou toch graag de zo veilig mogelijke manier willen gebruiken. De opties/beveiligingen die ik zelf al verzonnen had zijn als volgt:
Ik ben dus benieuwd of er nog andere goede manieren zijn, die het 'ongevraagd' gebruiken van de Web Api (voor welk doel dan ook) te verhinderen/zo moeilijk mogelijk te maken.
Ik hoor het graag!
Al enige tijd ben ik aan het nadenken voor nog nader op te zetten WebServices (ASP.Net Web Api 2), en een nog nader te bouwen app voor Android, iOS en Windows Phone (Xamarin).
Mijn probleem zit hem alleen in het authenticeren van de requests vanuit de app. Deze dienen namelijk wel echt uit de apps te komen, en dus niet buiten de apps om aangeroepen te kunnen worden. Dit in verband met copyright en auteursrechten. Of er voor de content waar copyright en auteursrechten op rust betaald moet worden is nog niet helemaal duidelijk.
Een waterdichte methode is er natuurlijk niet, maar ik zou toch graag de zo veilig mogelijke manier willen gebruiken. De opties/beveiligingen die ik zelf al verzonnen had zijn als volgt:
- Checken of user-agent Android, iOS of Windows Phone is. Dit is uiteraard te manipuleren, dus niet erg handig en veilig.
- Elke gebruiker laten registreren. Ook maar een gedeeltelijke oplossing, omdat de api die de registratie regelt, natuurlijk ook gewoon vanuit een niet-app kan worden aangeroepen. Dit is ook niet erg gebruikersvriendelijk.
- Checken of er betaald is. De content waar copyright en auteursrecht op ligt dient misschien te worden gekocht, er zou dan dus bij elke request gecheckt kunnen worden of diegene betaald heeft. Dit kan dus niet wanneer er toch niet betaald hoeft te worden voor deze content.
- Device info meesturen, plus een hash over (een deel) van deze data, en deze op de server vergelijken. Dit is opzich best veilig, behalve wanneer de app gedecompileerd wordt. Dan kan natuurlijk gezien worden wat er in de code gedaan wordt om de hash te genereren. Dit is denk ik de veiligste methode, althans, de meest lastige te vervalsen, wanneer de kwaadwillenden (
) het decomipleertrucje niet kent. (op Google vindt ik alleen niet veel info over het obfuscaten van Xamarin/C# code)
Ik ben dus benieuwd of er nog andere goede manieren zijn, die het 'ongevraagd' gebruiken van de Web Api (voor welk doel dan ook) te verhinderen/zo moeilijk mogelijk te maken.
Ik hoor het graag!