[Howto] PIC et USB : le bootloader Diolan

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From French to

Threaded View
Bonjour a tous,
je viens de terminer (le premier jet ?) d'un article expliquant la mise
en oeuvre du bootloader Diolan. C'est un bootloader pour PIC USB,
permettant le cryptage de nos firmwares-application, et disponible en GPL.
C'est là : http://www.laurentclaude.fr/articles/pic-et-usb.html

J'attends vos remarques

--
Laurent.

---------------------------------------------
We've slightly trimmed the long signature. Click to see the full one.
Re: [Howto] PIC et USB : le bootloader Diolan
Le 03/07/11 13:13, Laurent CLAUDE a écrit :
Quoted text here. Click to load it
Bonjour (ou bonsoir) Claude,

Je n'ai pas suivi le lien (je n'ai pas le temps malheureusement ...)
mais est tu sûr que le code initial est GPL ?

Il y a des mots qui ne "collent" pas avec la philosophie GNU. Par ex.
"Firmware" avec le mot Firm ... ; "Cryptage" quand c'est pour cacher ce
que tout le monde sait (des algos bidons qui sont pour la plupart
in-brevetables et tout ça pour enfumer) ; ...etc.

Un bootlaoder est assez facile à réaliser, on apprend plein de choses à
le "coder" tout seul et ensuite le partager avec qui on veut ... la GPL
nous donne juste le moyen de le partager avec le plus grand nombre et
pas besoin de Diolan ou autre. Voila mon avis.

Bon courage.

H

Re: [Howto] PIC et USB : le bootloader Diolan
Le 05/07/2011 22:59, Habib Bouaziz-Viallet a écrit :
Quoted text here. Click to load it
Salut Habib,
la licence est bien une GPL (version 3 pour être précis). Son texte est
fourni avec les sources, les choses sont très claires a ce niveau.

les avantages que j'ai trouvé dans ce bootloader sont :
- il est tout fait (mais j'admets que c'est intéressant de le faire soi
même) donc c'est rapide
- le cryptage, qui permet de diffuser tes softs uniquement a ceux qui
ont ton hard, par exemple dans une démarche commerciale

Après, pour ce qui est du vocabulaire : c'est le mien, n'ayant rien a
voir avec diolan j'utilise juste mes mots ;-)


--
Laurent.

---------------------------------------------
We've slightly trimmed the long signature. Click to see the full one.
Re: PIC et USB : le bootloader Diolan
On 5 juil, 23:29, Laurent CLAUDE
Quoted text here. Click to load it
Salut Claude !
Quoted text here. Click to load it
Ok donc pour la GPLV3.
Quoted text here. Click to load it
Ok je comprends.
Quoted text here. Click to load it
Je jetterai un coup d'oeil sur le lien diolan et tes commentaires.

Bonne continuation,

Habib
Quoted text here. Click to load it


Re: PIC et USB : le bootloader Diolan
Le 06/07/2011 14:13, arachnoid a écrit :
Quoted text here. Click to load it

avec plaisir ! et je veux bien des retours...
A+

--
Laurent.

---------------------------------------------
We've slightly trimmed the long signature. Click to see the full one.
Re: PIC et USB : le bootloader Diolan
Le 07/07/2011 21:38, Laurent CLAUDE a écrit :
Quoted text here. Click to load it

Laurent (pardon de t'avoir appelé Claude ... c'est l'habitude ...)

Si j'ai bien compris un des aspects de ce BootLoader est la faculté de
déchiffrer, au moment du transfert ,le code exécutable avant l'opération
de flash dans le uC.

Je vois là un inconvénient majeur - ou peut être n'ai pas bien compris
le processus - c'est cette question :

Ou se trouve la clé qui a servit à l'émetteur (celui qui chiffre les
blocs) et comment le récepteur récupère cette clé pour déchiffrer les
blocs ?

La réponse :

Si on peut trouver la clé au sein des blocs eux-mêmes alors c'est pas
très dur comme chiffrement ... mais je ne juge pas de l'algo lui même
soyons bien clairs ! je ne suis fait de cryptanalyse.

De ce point de vue - AMHA - ce sont les processus à deux clés, l'une
publique et l'autre privée qui sont les plus durs vis à vis du reverse eng.

L'autre problème c'est : l'algo est t'il lui même GPL pour prétendre là
ce que e code complet du BootLoader soit lui même GPL .?

Réponse : je doute que XTEA soit GPL alors c'est potentiellement pas Ok
pour GPL.

En dehors de ça c'est une bonne description dans ton blog.

Bonne continuation,

Habib.

Re: PIC et USB : le bootloader Diolan
Le 09/07/2011 11:03, Habib a écrit :
Quoted text here. Click to load it

Bonjour Habib,

La clé de déchiffrement se trouve dans le code du bootloader (donc
définie lors de la programmation initiale), lui même protégé par un CODE
PROTECT. A mon avis, dans de nombreux cas cela suffit.

Pour ce qui est de la licence XTEA, j'avoue ne pas avoir approfondi dans
ce sens mes recherches, Diolan annonce la globalité de leur code en GPL,
je *pense* donc que c'est eux qui ont codé cette fonction.

Merci de ton retour.

--
Laurent.

---------------------------------------------
We've slightly trimmed the long signature. Click to see the full one.
Re: PIC et USB : le bootloader Diolan
Le 09/07/2011 22:58, Laurent CLAUDE a écrit :
Quoted text here. Click to load it

Je me complète : j'ai regardé plus en détails dans le code de cette
fonction et (comme pour tout le reste du code) il est clairement stipulé
la licence GPL.

--
Laurent.

---------------------------------------------
We've slightly trimmed the long signature. Click to see the full one.
Re: PIC et USB : le bootloader Diolan
Le 09/07/2011 22:58, Laurent CLAUDE a écrit :
Quoted text here. Click to load it

Ah j'ai compris ! Dans le code du bootloader du uC il y a ceci :

;-----------------------------------------------------------------------------
; XTEA Algorithm Definitions
;-----------------------------------------------------------------------------
XTEA_ITERATIONS        equ    0x40    ; Number of iterations on x1,x2
;-----------------------------------------------------------------------------
XTEA_KEYS_SECTION    CODE_PACK    0x001C    ; Place ROM constants after vectors
#ifndef XTEA_KEY
XTEA_KEY_VAL    db    "0123456789ABCDEF"    ; default 16 byte Key
#else
XTEA_KEY_VAL    db    XTEA_KEY        ; User 16 byte Key
#endif

A l'utilisateur de changer la valeur XTEA_KEY_VAL par un 16 octets (qui
sera dès lors la clé) et nul besoin ensuite de placer cette clé dans les
blocs puisque celle ci est implicitement connue de l'emetteur (le PC ou
la station) et du recepteur (le hardware proprietaire à base du uC
microchip). Bien !

Petite digression :
===================

Je reprends mon premier commentaire à savoir que tout est basé sur le
secret de la clé de chiffrement, là encore pas de nouveauté sur des
algos qui ont été brisés depuis des lustres ...

Je pense qu'il eu été possible de réaliser un algo d'échange de clés,
l'un publique et l'autre privée pour faire la même chose mais peut être
avec plus de ressources matérielles dans le bootLoader lui même.

Bonne continuation

Site Timeline