Ik heb een device gemaakt wat verbinding maakt met een web applicatie.
Dit concept draait en werkt nu echter zou ik vanuit mijn webapplicatie/cloud een vorm van authenticatie toevoegen zodat ik weet dat enkel mijn product de api calls maakt en niet een cloon (lijkt me onwaarschijnlijk) of gewoon iemand die het systeem wil zieken.
Nu zou je dat idealiter willen doen door de api via een SSL verbinding te benaderen, echter draait het device slechts op een AVR en die heeft niet genoeg RAM en power om iets van encryptie te doen.
Nu weet ik dat Atmel/Microchip diverse hardware crypto ic's heeft zoals de ATSHA204, ATAES132, ATTECC108, maar ik vind het erg lastig om te snappen wat ze bijdragen en de wezenlijke verschillen zijn.
Ik beheer zowel de devices als de webapplicatie, dus als ik iets met sleutels wil doen hoef ik die in principe niet uit te wisselen omdat ik ze aan beide kanten kan instellen.
De crypto ic's kunnen een challenge verwerken wat ik heb gelezen. Ik zat te denken dat het device een challenge opvraagt bij de webapplicatie, die laat uitvoeren door het crypto ic en de response weer terug stuurt naar de web applicatie. Als de web applicatie dezelfde oplossing berekend kan hij zo controleren of het device een gevalideerd exemplaar is.
Zou dit kunnen? Zo ja met welk ic, en wat zijn de gaten die hier nog inzitten.
Ik ben momenteel even gebonden aan deze processor dus realiseer me ook wel dat ik het niet waterdicht ga krijgen, maar ik wil het vooral wat lastiger maken. De data die uitgewisseld wordt is verder niet geheim, dus voor dat doel hoeft het niet versleuteld te worden.
Vergeef me als ik zaken door de war haal, ik heb al veel over encryptie gelezen en heb vaak gelezen dat het een combinatie is van authenticatie, integriteits check en encryptie, maar het blijft lastige materie.