25 Apr 2007

Windows Mobile Security Policy

Windows Mobile 5.0 implémente une gestion de la sécurité basée sur l'authentification, c'est une notion essentielle à prendre en compte pour développer des applications pour Windows Mobile. Pour mieux appréhender la sécurité sous Windows Mobile, voici la description d'un lab qui permet l'utilisation de l'application Device Security Manager. Un outil bien pratique que j'ai découvert il y a peu de temps et qui permet de gérer les paramètres de sécurité de son PPC depuis son PC. Le device Security Manager peut être téléchargé à l'adresse suivante : http://www.microsoft.com/downloads/details.aspx?FamilyID=7e92628c-d587-47e0-908b-09fee6ea517a&DisplayLang=en



Une fois l'application installée, vous pouvez configurer les paramètres suivants :

  • Déterminer le niveau de sécurité actuel du device
  • Changer le niveau de configuration du device
  • Gérer la certification des applications
  • Signer une application native ou managée avec les certificats
  • Approvisionner le device en certificats (OEM, opérateur ou MS Mobile2Market)

Description des niveaux de privilège sous Windows Mobile
Une application peut disposer de deux types d’accès au système :
- mode normal
- mode Privilège : autorise l’appel à des APIs qui accèdent à la registry ou au file system.

Les différents niveaux de sécurité

  • security off policy
    Les applications non signées peuvent être lancées sans avertissement à l’utilisateur. Ce modèle est pratique pour le développement, les tests et les démos. Mais, une telle configuration peut être dangereuse car n’importe quelle application peut être installée sans en avertir l’utilisateur et avoir accès sans aucune limitation au device.
  • one-tier prompt security policy
    Les applications signées peuvent être lancées sans avertissement à l’utilisateur en mode privilège. En revanche, pour les application non signées, un message d‘alerte est affichée à l‘utilisateur. Une fois que l’application a été lancée une première fois et le message validé, le message ne sera plus affiché lors des prochains lancements. C’est a priori la configuration par défaut des devices Pocket PC.
  • two-tier prompt security policy
    Les applications signées peuvent être lancées sans avertissement à l’utilisateur. En revanche, pour les application non signées, un message d‘alerte est affichée à l‘utilisateur. La différence avec le modèle précédent est qu’il existe deux types de certificats :
    - certificat donnant accès au système en mode normal
    - certificat donnant accès au système en mode privilège
  • Mobile2Market locked policy.
    Uniquement les applications signées par un certificat Mobile2Market issu de MS, de l'OEM, d'un opérateur peuvent être exécutées. A l’instar du modèle précédent, deux types de certificat sont disponibles:
    - certificat donnant accès au système en mode normal
    - certificat donnant accès au système en mode privilège


Parallèlement, il est possible de modifier ces informations en base de registre manuellement, soit via le Remote Registry Editor, soit via une application si celle-ci dispose de droits suffisants.
Les valeurs de registre ayant attrait à la sécurité sous WM sont dans la clé suivante: HKLM\Security\Policies\Policie

Toutes ces valeurs sont décrites dans ce lien:
http://msdn2.microsoft.com/en-us/library/aa455966.aspx

Voici un exemple :

  • Unsigned Prompt Policy
    Cette valeur indique si l’utilisateur est averti ou non lorsqu’il exécute un .ex, une dll ou un cab non signé.
    - 0 l’utilisateur est averti
    - 1 l’utilisateur n’est pas averti
    Supprimer les messages d’avertissement : attribuer la valeur 1 à la clé 0000101A (4122 en décimal dans le tableau de description sur le lien MSDN ci-dessus).
  • RAPI policy
    Cette valeur indique l’accès RAPI autorisé depuis le PC.
    - 0 accès restreint
    - 1 accès illimité au device depuis le PC via RAPI

    Autoriser l’accès non retreint de RAPI : attribuer la valeur 1 à la clé 00001001 (4097 en décimal dans le tableau de description sur le lien MSDN ci-dessus).


Les détails du LAB sur la « security policy » : http://msdn2.microsoft.com/en-us/library/bb278107.aspx
Avec ces quelques informations, vous devriez pouvoir mettre un premier pas dans la gestion de la « security policy » sous Windows Mobile. Les liens MSDN en anglais détaillent toutes les informations, donc n’hésitez pas à les consulter.
Vos commentaires ou questions les bienvenus…


----------------------------------------------------


Windows Mobile 5.0-based devices implement an application security model that is based on authentication. As an application developer who wants to target Windows Mobile-based devices, you need to understand the Windows Mobile application security model and the different policy options a mobile operator has when bringing a Windows Mobile-based device to market. This lab helps you to understand the Device Security Manager.
For details and HOL description:
http://msdn2.microsoft.com/en-us/library/bb278107.aspx

In parallel, it is possible to manually modify this information in registry, either via Remote Registry Editor, or via an application if this one has sufficient rights. The values of register having attracted with safety under WM are in the following key: HKLM\Security\Policies\Policie

All these values are described in: http://msdn2.microsoft.com/en-us/library/aa455966.aspx

Here it is some examples:

  • Unsigned Prompt Policy : user will not be prompted.

Set value 1 to the key 0000101A (4122 into decimal in the MSDN table).

  • RAPI policy : access unlimited to the device since the PC via RAPI

Set value 1 to key 00001001 (4097 into decimal in the MSDN table).

Lab details: http://msdn2.microsoft.com/en-us/library/bb278107.aspx

Feel free to post comments and questions...

4 comments:

Boris Schapira said...

Merci pour cet article qui m'a permis de trouver ce qui clochait sur mon Dell Axim !

Fabien Decret said...

De rien Boris... Merci du retour.

Fabien

anna said...

Hi
thank you for this article.



download free mobile games

Anonymous said...

ce que je cherchais, merci