Evidemment une télécommande RF d'une porte de garage ou d'un portail, ça change la vie. Mais l'aspect sécurité fait frissonner en imaginant que sa porte de garage puisse s'ouvrir seule, suite à une panne, ou qu'un mal intentionné puisse trouver le code RF utilisé.
Que craint-on précisément ?
Menace |
Parade |
les boutons sont appuyés par inadvertance, la porte peut s'ouvrir sans qu'on le veuille |
Utiliser 2 boutons en même temps ou utiliser 2 boutons séquentiellement pour faire une fonction. On pourrait avoir un bouton Armement qui doit être suivi d'un autre en moins de 5 secondes. Au delà l'armement retombe. Dans cette idée c'est plutôt le récepteur qui gère ces délais. L'émetteur doit rester neutre. |
perte/vol d'un émetteur |
Chaque émetteur doit être
identifié avec un numéro unique, pour permettre de
le désactiver en cas de perte. Ceci entraîne de
facto, la nécessité d'une fonction d'apprentissage
pour autoriser un émetteur sur un récepteur. |
quelqu'un "emprunte" un émetteur et lit les clés, pour en faire un clone |
il doit être impossible de lire les clés et autres données internes d'un circuit émetteur |
quelqu'un écoute l'émission radio, reconnaît la modulation et la longueur du message et renvoie tous les codes possibles avec un montage à 2 sous (code scanning) |
- passer à des séquences longues
; par exemple 64 bits |
quelqu'un écoute l'émission radio (code grabing) et reproduit la séquence identique avec un montage à 2 sous |
Il faut que le code envoyé change
franchement à chaque envoi et que le changement soit non
trivial, non prévisible. |
quelqu'un écoute l'émission radio, identifie le protocole et reproduit la séquence avec le même circuit, programmé avec le même serial number que celui intercepté |
Il faut quelque chose qui lie les émetteurs aux récepteurs. Par exemple, une clé unique secrète avec laquelle la crypto va fonctionner. |
des erreurs de transmissions RF |
- préférer les transmissions
continues, avec des gaps les plus faibles possibles |
Cette analyse n'a rien de révolutionnaire, elle peut être faite par n'importe qui et montre que la solution est finalement assez rapidement trouvée. Elle existe sous forme commerciale, c'est la technologie Keeloq de Microchip. Keeloq™ est une marque déposée par Microchip. Les algorithmes de cryptage et de décryptage sont confidentiels, et ne sont pas disponibles librement, ils nécessitent une licence. Les algorithmes de décryptage ont été diffusés en 1998, AN642, AN645, AN652, AN659, AN672... mais ne sont plus disponibles,
Il existe des kits fort bien faits qui permettent d'utiliser cette technologie sans s'arracher les cheveux pour programmer les algorithmes
un kit KITRUS K180 basé sur un module RX-3302 récepteur-décodeur intégré introuvable en France
Lextronic commercialise des modules faits par ELMES pas trop chers, et bien faits, par exemple le récepteur CH4H qui correspond tout à fait à mon besoin.
Voir les articles de Eric Thierry sur les circuits Keeloq HCS300/301 (site de Bigonoff, rubrique réalisations : le programmateur, la télécommande)
On peut imaginer construire les émetteurs et le récepteurs, coder le logiciel dans un PIC, ramer pour trouver des jolis boîtiers pour les émetteurs et se poser des questions sur la présence de bugs. On peut aussi se procurer un récepteur et quelques émetteurs ELMES CH4H immédiatement opérationnels.
On utilisera un premier bouton pour armer le montage, et le deuxième
pour lancer la temporisation. Il suffit de régler le relais d'armement
avec une temporisation de 2 secondes pour l'armement, et beaucoup plus faible
(0,1s) pour l'action afin que cela fonctionne.
Si on ré-appuie sur le bouton d'action avant la fin de la temporisation, on remet à zéro le timer 555 et le relais passe au repos. Cela permet de stopper la manoeuvre en cas d'incident vu de loin.
Valeur des composants :
C1 est un électrolytique de grande qualité pour limiter les courants de fuite. On prendra une tension d'isolement la plus forte possible, 63 Volts par exemple.
R3.C1 doit être réglé pour obtenir le temps nécessaire suivant la formule T=R3xC1xLn(3). Si on vise une temporisation maximale de l'ordre de 20 secondes, on prendra C1=10µF et R3=2.2M
R3 est aussi limité par le courant de fuite du 555, d'expérience on ne dépassera pas 4,7M. Attention si on prend une résistance variable, choisir un modèle étanche de grande qualité, sinon le montage va mal vieillir.
R2, R5 limitent le courant de charge de la capacité, R2.C1 doit permettre la charge complète pendant la durée de fermeture des contacts, disons 0,1 seconde, soit 10xR2.C1=0,1s, R2=R5=1k,
R1 doit être faible devant R2 et R3 : disons 1k
Attention au relais. Il faut des composants sérieux,
qui ne risquent pas de rester coincés (vécu...). On ne prendra
pas des relais trop sensibles (bobines de moins de 250mW, genre Finder série
34), dont les contacts ne sont pas fermement tenus. Le risque d'arc est
réel et donc le risque de collage l'est tout autant; Choisir des
relais robustes, avec des contacts 10A et une puissance bobine de plus de
500mW (12V-50mA), genre Finder série 40.
L'alimentation devra être capable de fournir 12V régulés, un courant de 250mA est suffisant :
récepteur CH4H : 40mA
2 relais du récepteur CH4H : 2x50 mA (ils consomment beaucoup...) et une LED à 10mA
LM555 : 2x15mA
1 relais secteurs et LED: 50mA+20mA
Au repos, le montage consommera 70mA soit 0,84W, sans doute beaucoup plus au primaire à cause des pertes fer du transfos.
Le transfo sera un 2x9V, 5VA.
Appuyer sur le bouton poussoir moins de 2 sec => LED Rouge, le relais du canal 1 est collé
Appuyer brièvement 3 fois, pour sélectionner le relais 4
Appuyer sur le bouton poussoir plus de 2 sec jusqu'à ce que la LED soit Verte
Sur la télécommande, appuyer 2 fois sur le bouton vert
La LED clignote et revient fixe verte
Effacer tous les émetteurs mémorisés du ELMES CH4H
Appuyer sur le bouton poussoir plus de 8 sec
Modifier la durée d'impulsion des sorties du ELMES CH4H
Appuyer sur le bouton poussoir plus de 2 sec (et moins de 8) => LED Rouge, puis verte, le relais du canal 1 est collé
Sélectionner le canal que l'on veut modifier
Appuyer sur le bouton poussoir plus de 2 sec jusqu'à ce que la LED soit Rouge
Appuyer brièvement ==> LED verte
Attendre la durée souhaitée
Appuyer brièvement ==> LED rouge
Attendre 2 secondes, la LED clignote et revient fixe verte
Pour programmer une sortie en bistable, appuyer 3 fois brièvement à l'étape 4
un circuit 7555 qui a sauté à l'activation du relais, et mis en court circuit la ligne +12V causant une chauffe énorme du régulateur. Remplacé par un NE555. Se pourrait-il que la commande de relais en direct par ces circuits CMOS soit hasardeuse ? Il faudrait mettre des transistors en sortie ...
un relais Finder série 40, 2 inverseurs 8A mis en parallèle, dont un des inverseurs reste collé et l'autre au repos. Ne jamais mettre 2 contacts AC en parallèle, mais plutôt un seul plus gros ...