Go Down

Topic: Transmission radio et sécurité (Read 1 time) previous topic - next topic

B@tto

Salut à tous et à toutes (quoiqu'il me semble n'avoir croiser qu'une seule arduineuse depuis que je traine ici xD)

Besoin d'avis averti : comment sécuriser une transmission radio ? Attention, quand je parle de sécurité, je parle de protection des données et pas "d'intégrité" de la transmission

Prenon un exemple simple : mon voisin utilise un portail electrique sans fil. Si je me mets à portée quand il rentre chez lui avec un arduino + récepteur adéquat ou un scanner radio, qu'est-ce qui m'empêche de reproduire la même trame et de hacker son portail ? Attention c'est pas du tout mon but, je veux faire un montage pour ma porte d'entrée, mais j'ai pas envie que le premier voleur venu puisse rentrer chez moi ;)
Blog électronique : http://battomicro.wordpress.com/
Photographie : www.interactive-celebration.fr

Artouste


...

Prenon un exemple simple : mon voisin utilise un portail electrique sans fil. Si je me mets à portée quand il rentre chez lui avec un arduino + récepteur adéquat ou un scanner radio, qu'est-ce qui m'empêche de reproduire la même trame et de hacker son portail ? Attention c'est pas du tout mon but, je veux faire un montage pour ma porte d'entrée, mais j'ai pas envie que le premier voleur venu puisse rentrer chez moi ;)

bonjour
si tu a peur d'un plaisantin qui "recopierais" ta trame fixe, alors il faut passer par du rolling code et/ou developper toi même la logique

fdufnews

Quote
Attention c'est pas du tout mon but

On dit ça.... ;)

Comme le propose Artouste il faut que le code change c'est ce qui est utilisé dans les portails, les voitures, ....
En générale l'émetteur construit la nouvelle clé à partir de la précédente. Le récepteur ayant conservé la dernière valeur de son coté vérifie que la nouvelle est bien la suivante dans la série. Évidemment comme il est toujours possible que l'émetteur ait été activé accidentellement et qu'il ait donc une certaine avance dans la génération des clés, le récepteur doit être capable de vérifier que la clé reçue fait bien partie de la liste des clés possibles. C'est à dire d'une clé générée par le même polynôme et qui soit à la suite des clés précédemment reçues. Le polynôme générateur doit être suffisamment long pour que la clé soit "unique" sur une période de temps assez longue. On utilise souvent des polynômes de ce type http://fr.wikipedia.org/wiki/Registre_%C3%A0_d%C3%A9calage_%C3%A0_r%C3%A9troaction_lin%C3%A9aire avec un registre à décalage assez long possible afin de garantir une longue période d'utilisation avant de retomber sur la même clé.

Si  on doit utiliser plusieurs clés pour valider l'accès (on est pas tous célibataires), il faut prévoir l'émission d'un identifiant unique associé à la clé afin que le récepteur puisse s'y retrouver.

B@tto

Ok mais maintenant imaginons que j'ai bien crypter mon affaire avec un code qui change à chaque émission, qu'est-ce qui empêche quelqu'un de capter cette trame, et de la réémettre brute de fonderie ? Le récepteur recevra une trame correcte pourtant
Blog électronique : http://battomicro.wordpress.com/
Photographie : www.interactive-celebration.fr

Artouste

#4
Nov 07, 2012, 04:18 pm Last Edit: Nov 07, 2012, 04:22 pm by Artouste Reason: 1

Ok mais maintenant imaginons que j'ai bien crypter mon affaire avec un code qui change à chaque émission, qu'est-ce qui empêche quelqu'un de capter cette trame, et de la réémettre brute de fonderie ? Le récepteur recevra une trame correcte pourtant

non parce qu'un code reçu et valide par le recepteur pour action est ensuite "inopérant"
seuls les codes futurs reçus valides seront ensuite  pris en compte (sous rerves de la profondeur du rolling)

fdufnews

Quote
C'est à dire d'une clé générée par le même polynôme et qui soit à la suite des clés précédemment reçues.

B@tto

Mais le récepteur et l'émetteur doivent être parfaitement synchro ? Si je déclenche ma télécommande en dehors du périmetre, elle n'est plus au même endroit question précédente trame ?

Désolé si j'ai l'impression de poser 10x la même question mais j'avoue qu'il y a un concept qui m'échappe ... Si vous avez un exemple hyper simplifié je suis preneur :)
Blog électronique : http://battomicro.wordpress.com/
Photographie : www.interactive-celebration.fr

Artouste


Mais le récepteur et l'émetteur doivent être parfaitement synchro ? Si je déclenche ma télécommande en dehors du périmetre, elle n'est plus au même endroit question précédente trame ?

Désolé si j'ai l'impression de poser 10x la même question mais j'avoue qu'il y a un concept qui m'échappe ... Si vous avez un exemple hyper simplifié je suis preneur :)

relis tranquillement la reponse de fdufnews et ce passage :smiley-mr-green:

Quote
Évidemment comme il est toujours possible que l'émetteur ait été activé accidentellement et qu'il ait donc une certaine avance dans la génération des clés, le récepteur doit être capable de vérifier que la clé reçue fait bien partie de la liste des clés possibles. C'est à dire d'une clé générée par le même polynôme et qui soit à la suite des clés précédemment reçues. Le polynôme générateur doit être suffisamment long pour que la clé soit "unique" sur une période de temps assez longue

fdufnews

#8
Nov 07, 2012, 05:17 pm Last Edit: Nov 07, 2012, 05:30 pm by fdufnews Reason: 1
Un article qui explique pas mal le concept
http://auto.howstuffworks.com/remote-entry2.htm

Un lien vers une note d'application Xilinx qui donne les rebouclages à effectuer sur un registre d'une longueur de 4 à 168 bits afin d'avoir un polynome de période maximale (voir les dernières pages): http://www.xilinx.com/support/documentation/application_notes/xapp210.pdf

al1fch

#9
Nov 07, 2012, 08:06 pm Last Edit: Nov 07, 2012, 08:21 pm by al1fch Reason: 1
içi un lien vers une description (en français) de montage utilisant le systeme de codage tournant 'Keeloq'  de Microchip :
http://www.schema-electronique.net/2010/01/un-recepteur-de-telecommande-rolling.html
La désynchronisation/resynchronisation inévitable par principe y est abordée.

B@tto

Désolé la fatigue j'avais omis certains passage ^^'

En fait ma problématique c'est que la télécommande va être forcement actionnée énormément de fois en dehors du champ ... En fait elle va servir à plusieurs éléments de sécurité. Et c'est précisé dans ton lien alf1ch : pas plus de 16 appuis ... Bon j'imagine que c'est pas fixe mais il y aura forcement une limite ou bien c'est la sécurité qui sera compromise
Blog électronique : http://battomicro.wordpress.com/
Photographie : www.interactive-celebration.fr

fdufnews


Quote
Bon j'imagine que c'est pas fixe mais il y aura forcement une limite

Tu peux l'adapter à ton besoin.

Rien ne t'empêche par exemple d'avoir plusieurs boutons sur la télécommande chaque bouton correspondant à un élément de sécurité avec l'état actuel de son polynôme sauvegardé en EEPROM.
Sinon tu peux mettre en place une procédure de synchronisation qui te permette de resynchroniser tous les récepteurs périodiquement avec le même code (pas celui de départ évidemment).

Puis il faut bien voir une chose, pour autant que tu ne commercialises pas ton développement, si ton procédé est suffisamment robuste et non conventionnel il ne sera pas facile à cracker. Et en plus, il ne sera pas à la portée des gens qui sont habitués à certain codage courant.

B@tto

Bin je ne cache pas que la commercialisation n'est pas impossible :) j'en suis loin et y'a 90% de chance que ça reste dans mes cartons mais comme je suis perfectionniste j'aime bien me dire que je fais les choses bien ! En tout cas ça sera toujours un bagage de connaissances en plus ^^

Mais je suis tout à fait d'accord avec toi que si ça restait juste pour chez moi, il faudrait qu'il m'en veuille le bonhomme pour rentrer, et il aurait plus vite fait en passant par la fenêtre xD
Blog électronique : http://battomicro.wordpress.com/
Photographie : www.interactive-celebration.fr

Go Up