Programmation de microcontrôleur PIC : empêcher la duplication du code

Créé: December 12, 2017
Mise à jour: December 8, 2020
Copy paste words with keyboard buttons

Copier, de tous les points de vue, semble être une stratégie fallacieuse et peu judicieuse quelle que soit la situation.

Qu’on parle de réussir un contrôle à l'école ou de gagner à un jeu, il est rare de trouver un moment où vous serez récompensé pour avoir simplement copié un message ou une réponse.

L'imitation, en revanche, est une pratique encouragée dans la plupart des secteurs professionnels - suivez les lignes directrices et le plan de route qui vous ont été présentés afin d'éviter le travail fastidieux consistant à réinventer la roue pour une tâche donnée.

Si la copie est punie et l'imitation récompensée, quelle est la différence entre les deux et comment vous protéger contre de futures punitions ?

D'après ce que je comprends, l'imitation est une pratique qui est là pour vous aider à arriver à un point où vous pourrez développer vos propres stratégies, habitudes et idées - non pas pour vous maintenir éternellement dans certains paramètres, mais pour vous donner une compréhension plus facile du monde professionnel dans lequel vous travaillez.

Mais si le débat entre la copie, l'imitation et l'éthique de chacun vous préoccupe, il y a d'autres personnes qui sont peut-être moins préoccupées par ce problème.

Prenez les pirates par exemple.

La vie d'un pirate n'est peut-être pas faite pour vous, mais ça ne les empêchera pas de voler le code précieux de vos appareils électroniques.

Si vous avez un produit électronique qui est solide ou qui se vend bien, la copie de code est une dure réalité à laquelle vous devez faire face.

Dans l'industrie électronique en particulier, le piratage de code par un concurrent sans scrupules porte préjudice à votre entreprise.

Ne donnez pas de quartier à vos concurrents, et apprenez à protéger votre code avec un microcontrolleur PIC.

Protégez votre code avec un microcontrôleur PIC

Une grande partie de ma carrière d'ingénieur a consisté à concevoir des microcontrôleurs PIC.

Jusqu’à ce que je fonde une entreprise de conception, la protection du code contre la copie n'était pas une de mes priorités.

Il y avait tout simplement trop de choses en jeu dans le processus de conception et de fabrication des PCB pour m'inquiéter de la compromission d’une si petite  partie du processus.

Mais, après avoir écouté des histoires sur les pertes énormes subies par certaines entreprises électroniques à cause du piratage, j'ai décidé de tout arrêter et j'ai commencé à prendre des mesures préventives pour protéger mes produits.

Lire un firmware non protégé avec un microcontrôleur PIC est relativement simple.

Le programmeur PIC doit juste s'assurer que le microcontrôleur PIC est connecté à l'en-tête de programmation : le code brut peut ensuite être extrait vers un ordinateur via l'adaptateur de programmation.

On obtient un fichier hexadécimal qui peut être facilement injecté dans du matériel dupliqué. Mais il existe de nombreuses façons d'ajouter à ce code une protection qui permettra de se défendre contre les pirates potentiels.

Security lock on circuit board

Aucune raison de ne pas activer de protection du code

4 manières de protéger votre code

La protection du code PIC devrait être l'une des priorités de la conception du compilateur dès le départ.

Il existe différentes façons de protéger votre code dans vos produits finaux et divers degrés de difficulté à le casser.

En voici quelques-unes.

Activer le bit de protection du code

Dans le microcontrôleur PIC, il existe un bit de configuration de protection du code PIC qui empêchera la lecture de la mémoire flash du programme lorsqu'il est activé.

Pour activer cette fonction de protection du code, il suffit d'inclure une directive dans le programme avant qu'il ne soit compilé et téléchargé dans le microcontrôleur.

C'est le moyen le plus simple de protéger le code, mais il semblerait qu'il existe des méthodes illégitimes qui permettent de contourner les dispositifs de sécurité.

Authentification par identification unique

Au lieu d'empêcher la lecture du code, cette méthode exige que l'application s’identifie à l’iade d’un identifiant unique avant de lancer le programme principal.

Elle nécessite généralement l'insertion manuelle d'un numéro d'identification secret lors du premier démarrage avant de stocker l'ID unique à partir d'un dispositif de lecture externe vers un stockage sécurisé.

Dans le cas où le code est copié sur un autre matériel, le firmware ne pourra pas fonctionner sans l'ID unique stocké et le numéro d'identification secret.

Revêtement époxy

Dans les produits où il n'est pas nécessaire de mettre à jour le firmware du microcontrôleur, un revêtement époxy peut être utilisé pour empêcher physiquement l'accès au microcontrôleur.

C'est un moyen efficace de prévenir non seulement le piratage du code mais aussi toute tentative de copie et de rétro-ingéniérie du matériel lui-même.

L'inconvénient est que le produit a une durée de vie limitée s'il tombe en panne après un certain temps.

Autodestruction

Comme dans certains films où les personnages passent en mode kamikaze pour protéger les secrets qui leur sont arrachés, on peut utiliser des circuits d'autodestruction dans certaines applications sensibles.

J'ai travaillé dans une industrie très sensible et un client m’a un jour demandé de modifier une conception pour inclure un circuit de microcontrôleur autodestructeur pour empêcher toute tentative de piratage.

Le circuit utilisait des capteurs pour détecter toute tentative illégale d'accès au matériel et connecter le microcontrôleur à une source de haute tension.

C'est une mesure drastique et le système peut accidentellement activer le mode d'autodestruction si le capteur fonctionne mal.

 

A red button with the words self-destruct on it

Dernier recours pour les applications très sensibles

Si l'une de ces méthodes vous semble inadéquate, vous pouvez également essayer la méthode qui consiste à saisir directement les puces de numéro de série.

Utilisez un excellent logiciel de conception de circuits imprimés qui vous permet de tirer le meilleur parti de vos conceptions et de garantir leur sécurité.

CircuitStudio® est fourni avec une grande variété d'outils et de modules complémentaires qui peuvent vous aider à travailler en toute sécurité.

Vous avez besoin de plus d'aide pour empêcher la copie du code de votre microcontrôleur ? Parlez aux experts d'Altium Designer dès aujourd’hui

 

Ressources associées

Documentation technique liée

Retournez à la Page d'Accueil
Thank you, you are now subscribed to updates.