Denk je serieus dat iemand in China daar door tegen gehouden wordt?
itcouldbeanyone schreef op dinsdag 17 mei 2016 @ 19:38:
Sorry hoor maar ik kan nergens vinden hoe een registratie via het internet verloopt vandaar dat ik het hier vraag.
Het gaat om een motor controller dus hij zal niet vaak aan de pc gekoppeld zijn.
Het product is er al. Ik zit me alleen te oriënteren hoe ik ga beveiligen tegen namaak.
Ik heb zelf totaal geen ervaring met het opzetten van zon service. Toch is het mijn verantwoording om een oplossing te zoeken
Je bent niet de juiste persoon, besteed het uit. Er is geen goedkope oplossing voor, en ook geen makkelijke, en zelf wat maken gaat het niet worden om dat je niet over de juiste kennis beschikt.
Qua technologie zit je met het volgende:
- Challenge-Response
- Unieke ID's
- Verificatie
Als iemand jouw controller namaakt en een 'bekend' ID er in stopt, dan werkt die controller dus. En als iemand jouw controller namaakt maar het verificatie stukje er uit sloopt, dan werkt ie ook gewoon. En als iemand je 'activatie' afluistert en nadoet, dan werkt de 'activering' ook. Met andere woorden: de bekende wegen werken niet en gaan ook niet werken. Microsoft lukt het niet, Adobe lukt het niet, de kans dat het jou wel lukt lijkt me nogal klein.
Technisch gezien is de implementatie meestal als volgt:
- Er is een combinatie van een ID en een key
- De activatie server controleert of die combinatie geldig is
- Controller werkt wel of niet afhankelijk van wat de activatie server teruggeeft
Een iets veiligere methode is een challenge-response:
- Er is weer een ID en een key
- De server stuurt een random stuk tekst en de huidige tijd/datum mee
- Controller kijkt of de tijd/datum klopt, zo ja dan gaat ie verder, zo nee, dan stopt ie
- Als ie verder gaat codeert ie de random tekst plus de datum en tijd met de key en stuurt het gecodeerde resultaat terug naar de server
- Server stuurt terug of het wel of niet goed was
Door ook de datum en tijd mee te sturen zit er een stukje beveiliging qua replay-attacks in, maar dat werkt natuurlijk niet met een valse activatie server en aangepaste datum/tijd in de controller.
Je kan ook dubbel-RSA doen. Server en controller hebben elkaars public key en kunnen dus elkaars antwoorden controleren. Probleem dan is dat je een hele zooi keys moet gebruiken om dat het anders weer eenvoudig te vervalsen is.
Naast dit hele verhaal zal je dus (als je controller een beetje goed is) voor de komende 50 jaar een activatie server online moeten houden om dat de controllers anders nooit meer geactiveerd kunnen worden. Bovendien moet de chip/cpu/mcu/SoC beveiligd worden en dus ook geen JTAG/TAP/Serial interface hebben, geen externe ROM/PROM/Flash gebruiken voor het opslaan van keys, een shielded die hebben enz. enz.
Zolang iemand je firmware kan uitlezen kan je beveiliging er uit gehaald worden en het resultaat opnieuw geflasht worden.
[
Voor 36% gewijzigd door
johnkeates op 17-05-2016 19:58
]