2010/5/4 nouknouk <
nouk...@gmail.com>:
> Après quelques tests, j'ai pu voir que:
>
> - les résultats renvoyés sont constants sur la freebox HD tant que le
> fichier du code source est strictement identique. Même après un reboot
> de la freebox, les résultats restent les mêmes.
Exact.
> - le GCID est identique à l'USID par défaut. Mais à partir du moment
> où on fait un elx.include('unAutreFichier'), le GCID change par
> rapport à l'USID (il ressemble d'ailleurs à une concaténation des deux
> USID de chaque fichier).
C'est effectivement une concatenation.
> - l'environnement de développement (Elixir exécuté sur mon ordi, donc)
> donne des résultats différents de la freebox HD. De plus, les
> résultats ne semblent pas constants d'une exécution à l'autre ; ils
> changent à chaque fois.
Exact, le hash depend d'un clef prive qui se trouve dans
/etc/elixir.keys. Si vous voulez obtenir une valeur stable entre deux
executions, il suffit de mettre n'importe quoi dans ce fichier. Le
principe de cette clef prive est de vous permettre d'identifier de
maniere sur que le JS qui se connecte n'a pas ete modifie et qu'il est
bien execute depuis une Freebox.
> - il semblerait que l'exécution de code supplémentaire via la fonction
> 'eval' ne change pas pour autant les résultats des deux fonctions ;
> j'imagine donc que le hash retourné est fonction du contenu du code
> source chargé au lancement (ou via un elx.include).
Oui, eval n'affecte pas USID, ni pour l'instant le GSID.
> - je n'ai pour le moment pas vu de changement des valeurs même si je
> modifie certains paramètres de la freebox. Mais n'ayant pas tout
> testé, je ne peux pas conclure sur ce point.
Il ne peut y avoir changemetn de valeur que si on change la clef sur
la box. Ce qui n'arrivera que si elle est compromise.
> - n'ayant pu de faire de tests ailleurs que sur ma propre freebox HD
> et dans mon propre environnement de développement, je sais toujours
> pas si les résultats sont identiques d'une freebox HD à l'autre et
> d'un firmware à l'autre.
>
>
> Voilà pour les quelques résultats que j'ai pu obtenir de façon
> empirique.
>
>
> J'aimerais néanmoins avoir plus de précisions sur le fonctionnement de
> ces fonctions:
> - la capacité de l'ensemble des freebox HD du parc à fournir toutes
> (et toujours) les mêmes résultats pour les mêmes fichiers sources
Oui. C'est le cas.
> - l'impossibilité de reproduire les résultats sur l'environnement de
> développement
Oui, c'est voulu. Meme si on peut emuler la stabilite.
> - les facteurs qui pourraient faire changer les résultats
> (configuration spéciale, version du firmware, version de la box,
> actions faites par le programme JS, ...).
Uniquement une decision de notre part de changer la clef secrete pour
un probleme de securite.
--
Cedric BAIL