Pages: [1]   Go Down
Author Topic: Transmission radio et sécurité  (Read 1054 times)
0 Members and 1 Guest are viewing this topic.
Ales
Online Online
Faraday Member
**
Karma: 39
Posts: 3594
Do or DIY
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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 smiley-wink
Logged


Offline Offline
Faraday Member
**
Karma: 33
Posts: 4978
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

...

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 smiley-wink
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
Logged

France
Offline Offline
Faraday Member
**
Karma: 36
Posts: 3436
There is an Arduino for that
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Attention c'est pas du tout mon but
On dit ça.... smiley-wink

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.
Logged

Ales
Online Online
Faraday Member
**
Karma: 39
Posts: 3594
Do or DIY
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged


Offline Offline
Faraday Member
**
Karma: 33
Posts: 4978
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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)
« Last Edit: November 07, 2012, 10:22:15 am by Artouste » Logged

France
Offline Offline
Faraday Member
**
Karma: 36
Posts: 3436
There is an Arduino for that
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged

Ales
Online Online
Faraday Member
**
Karma: 39
Posts: 3594
Do or DIY
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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 smiley
Logged


Offline Offline
Faraday Member
**
Karma: 33
Posts: 4978
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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 smiley
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
Logged

France
Offline Offline
Faraday Member
**
Karma: 36
Posts: 3436
There is an Arduino for that
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
« Last Edit: November 07, 2012, 11:30:53 am by fdufnews » Logged

France
Offline Offline
God Member
*****
Karma: 4
Posts: 971
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
« Last Edit: November 07, 2012, 02:21:48 pm by al1fch » Logged

Ales
Online Online
Faraday Member
**
Karma: 39
Posts: 3594
Do or DIY
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged


France
Offline Offline
Faraday Member
**
Karma: 36
Posts: 3436
There is an Arduino for that
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset


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.
Logged

Ales
Online Online
Faraday Member
**
Karma: 39
Posts: 3594
Do or DIY
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bin je ne cache pas que la commercialisation n'est pas impossible smiley 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
Logged


Pages: [1]   Go Up
Jump to: