En théorie * C'est quoi ?
Il s'agit d'une nouvelle fonction de sécurité pour OS X 10.8 Mountain Lion.
Elle contrôle que les applications que vous lancez sont garanties sans malwares. Un peu comme le Mac App Store, mais ça concerne les distributions hors MAS.
* Comment ça marche ?
1. Un développeur enregistré reçoit un certificat Developer ID avec lequel il signe ses applications (c'est une API de XCode qui fait le travail).
2. Le système restreint les applications pouvant se lancer à celle disposant de ce Developper ID.
Cela se règle par l'utilisateur dans les
Préférences Système > Sécurité selon trois options :
- Mac App Store
- Mac App Store and identified developers
- AnyWhere
(Voir la capture du site Apple)
3. Vous êtes sûr que l'application que vous avez installé est bien celle que distribue le développeur et pas une version trafiquée par de sournois Chinois.
4. Apple ferme les comptes des margoulins (mais pas des mauvais codeurs).
Remarque : contrairement au MAS, les développeurs n'ont pas nécessité de soumettre leur code à Apple. C'est un contrôle a posteriori.
* Où est le ver dans la pomme ?
1. Obligation d'être un développeur enregistré pour obtenir un Developer ID
- les outils XCodes sont gratuits, un compte Developer simple aussi, mais il faudra un compte payant pour obtenir un certificat.
2. Réglages par défaut du système sur
Mac App Store and identified developers- L'utilisateur lambda (comme le mari de Mme Michu) se trouve découragé à installer des applications conçues hors du système Apple.
3. Logiciels GPL seraient par nature inéligibles au système de validation (à démontrer)
- ce certificat est une sorte de DRM personnel au développeur.
4. Obligation d'utiliser XCode.
Conclusion : Apple c'est des méchants qui ferment leur système sous prétexte de sécurité. Un jour, ils vont restreindre à la deuxième option et puis il faudra jailbreaker OS X comme avec iOS.
Voilà pour la théorie (dont celle du complot). En pratique, et pour l'utilisateur (Mme Michu, son mari est retourné regarder la TV) qu'est-ce que ça change ?
Pas grand chose puisque Gatekeeper utilise
quarantine, une vieille connaissance depuis Mac OS X 10.6.
Vous savez bien, ce message qui vous annonce au premier lancement d'une application qu'elle provient d'internet, qu'elle a été téléchargée tel jour, parfois même de quel site.
Et bien cela repose sur
quarantine. Lorsque vous lancez l'application, le système la reconnaît comme valable et ne se manifestera plus jusqu'à modification ou réinitialisation de la base de donnée launchservice.
En conséquence, une application précédemment ouverte, certificat ou non, est comprise comme valable par Gatekeeper, même si on a ensuite restreint le système au Mac App Store et aux développeurs identifiés.
Gatekeeper n'empêche pas les applications validées par vous (au moment de leur simple ouverture) de fonctionner. Il ne s'occupe que des
applications provenant d'internet à leur premier lancement.
Par exemple vous téléchargez XLD
http://tmkk.pv.land.to/xld/index_e.html et vous le lancez.
Sur Mac OS X 10.6.8, la première fois vous obtenez ce message :
Sur OS X 10.7.4 la première fois vous obtenez ce message :
Avec Gatekeeper activé (réglage 2) vous obtenez ce message :
Si XLD a été une première fois ouvert avant d'activer Gatekeeper (réglage 3) vous n'obtenez aucun message et pouvez utiliser l'application.
Voici ce que vous obtenez à la première ouverture d'une application disposant d'un certificat (Mellel 3) :
Donc, pour utiliser une application hors certificat comme XLD, il vous suffit de passer au réglage 3 (Anywhere) et d'ouvrir l'application. Vous pouvez ensuite vous remettre en réglage 2 (MAS + Dev ID) et ne plus vous en préoccuper.
A l'occasion, vous pouvez toujours faire un ctrl + clic sur l'icône d'une application et choisir "Ouvrir" pour la lancer en dépit de Gatekeeper.
Mais surtout, on n'est pas obligé d'activer Gatekeeper. On s'en est passé pendant des années. Aucun système ne remplace la prudence de l'utilisateur.
Un peu compliqué pour le mari de Mme Michu (il ne sait toujours pas comment fonctionne la machine à laver) mais sans doute pas pour Mme Michu elle-même qui lit les modes d'emploi.
Dans tous les cas, il est toujours possible d'installer et d'utiliser n'importe quelle application sur OS X avec Gatekeeper.
Si vous avez Mac OS X 10.7.4, vous pouvez expérimenter Gatekeeper.
Pour activer Gatekeeper (réglage 2) tapez la ligne de commande suivante dans le terminal :
- Code:
-
sudo spctl --master-enable
Pour désactiver Gatekeeper tapez la ligne de commande suivante dans le terminal :
- Code:
-
sudo spctl --master-disable