# Trustworthy Computing

Le terme Trustworthy Computing (TwC) caractérise des systèmes informatiques qui sont intrinsèquement sécurisés, disponibles et fiables. La publication du Comité sur la fiabilité des systèmes d'informations Trust in cyberspace définit un tel système comme « faisant ce que les gens s'attendent à ce qu'il fasse – et pas autre chose – malgré les perturbations environnementales, les utilisateurs, les erreurs de l'opérateur et les attaques par des parties hostiles. Les erreurs de conception et de mise en œuvre doivent être évitées, éliminées ou d'une certaine façon tolérées. Il n'est pas suffisant de ne régler que certaines de ces dimensions, il n'est pas non plus suffisant de simplement assembler des composants qui sont eux-mêmes fiables. La fiabilité est globale et multidimensionnelle ».
Plus récemment, Microsoft a utilisé le terme Trustworthy Computing comme titre d'une initiative de l'entreprise pour améliorer la confiance du public dans ses propres offres commerciales. Cette initiative est principalement destinée à répondre aux préoccupations concernant la sécurité et la fiabilité des versions précédentes de Microsoft Windows et, en partie, aux préoccupations générales sur la vie privée et les pratiques commerciales. Cette initiative a changé le focus de nombreux efforts de développement interne de Microsoft, mais elle a été accueillie avec scepticisme par certains membres de l'industrie informatique.

## Trusted vs. Trustworthy

Les termes Trustworthy Computing et Trusted Computing ont des sens différents. Un système donné peut être fiable mais pas digne de confiance, et inversement.
La National Security Agency (NSA) définit un système ou un composant fiable (trusted) comme étant celui « dont l'échec peut casser la politique de sécurité ». Un système ou un composant digne de confiance (Trustworthy) est quant à lui considéré comme étant celui « qui ne faillira pas ». L'Informatique de confiance a été définie et décrite par un ensemble de spécifications et de lignes directrices par le Trusted Computing Platform Alliance (TCPA), incluant aussi les entrées/sorties sécurisées, curtaining de mémoire, stockage scellé et attestation distante. Comme indiqué ci-dessus, Trustworthy Computing vise à renforcer la confiance des consommateurs dans les ordinateurs, en les rendant plus fiables, et donc plus largement utilisés et acceptés.

## Histoire

Trustworthy computing n'est pas un concept nouveau. Les années 1960 ont vu une dépendance croissante envers les systèmes informatiques des militaires, du programme spatial, des institutions financières et des organismes de sécurité publique. L'industrie informatique a commencé à identifier les lacunes dans les systèmes existants et s'est concentrée sur les domaines qui permettraient de répondre aux préoccupations du public concernant le recours à des systèmes automatisés.
En 1967, Allen-Babcock Computing a identifié quatre domaines de fiabilité qui préfigurent ceux de Microsoft. Leur entreprise de temps partagé permettait à plusieurs utilisateurs de différentes entreprises de coexister sur le même ordinateur, présentant un grand nombre de vulnérabilités identiques à celles des systèmes d'information actuels.
La stratégie de Babcock-Allen pour fournir une informatique de confiance s'est concentrée sur quatre domaines :
* Système d'exploitation cuirassé [fiabilité]
* Utilisation d'utilisateurs dignes de confiance [~ intégrité entreprise]
* Contrôle d'accès efficace [sécurité]
* Confidentialité facultative à la demande de l'utilisateur [confidentialité]
Un événement de référence a eu lieu en 1989, quand 53 organisations industrielles et gouvernementales se sont réunies. Cet atelier a évalué les défis impliqués par le développement de systèmes informatiques critiques dignes de confiance et a recommandé l'utilisation de méthodes formelles comme solution. Parmi les questions abordées se trouvait la nécessité d'élaborer de meilleurs méthodes de test des logiciels, afin de garantir un haut niveau de fiabilité de la version initiale du logiciel. Les participants ont en outre recommandé la certification des programmeurs comme moyen de garantir la qualité et l'intégrité du logiciel.
En 1996, le Conseil National de recherche du Canada a reconnu que la montée de l'Internet accroissait la dépendance sociétale aux systèmes informatiques tout en augmentant la vulnérabilité de ces systèmes à l'échec. Le Comité sur la fiabilité des systèmes d'Information a été convoqué, et a produit un rapport intitulé Trust in Cyberspace (la confiance dans le cyberespace). Ce rapport examine les avantages des systèmes dignes de confiance, le coût de systèmes non-dignes de confiance et identifie les mesures nécessaires pour une amélioration. Les erreurs de l'opérateur, les perturbations physiques, les erreurs de conception et les logiciels malveillants ont en particulier été identifiés comme des éléments à atténuer ou éliminer. Le rapport identifie également l'autorisation cryptée, le contrôle d'accès de niveau fin et une surveillance proactive comme essentiels à un système digne de confiance.
Microsoft a lancé son initiative Trustworthy Computing en 2002. Ce programme a été lancé en réponse directe à la dévastation d'Internet causée par les vers Code Red et Nimda en 2001. L'annonce de l'initiative a été faite sous la forme d'un email à tous les employés de la part du fondateur de Microsoft Bill Gates redirigeant les activités de développement logiciel de l'entreprise afin d'inclure une vue by design de la sécurité.

## Vie privée

Pour que l'informatique devienne omniprésente dans la transmission de l'information, il est essentiel que celle-ci soit protégée et gardée secrète. Microsoft a ainsi fait de la confidentialité le deuxième pilier de Trustworthy Computing. En ceci, la confidentialité devient une priorité dans la conception, l'élaboration et la mise à l'essai des produits. Pour assurer que tous les acteurs du secteur mettent en œuvre les bonnes pratiques de confidentialité, il importe également de contribuer à l'élaboration des normes régissant le secteur, afin que les politiques de confidentialité soient pratiquées dans l'ensemble de l'industrie.
Un autre élément essentiel de la vie privée est de fournir à l'utilisateur un sentiment de contrôle sur ses informations personnelles. Cela comprend l'éducation permanente, l'information et la notification des politiques et des procédures. Dans un monde de spam, de pirates et de fenêtres publicitaires intempestives, les utilisateurs informatiques doivent se sentir responsabilisés par les outils et les produits qu'ils utilisent, surtout lorsqu'il s'agit de protéger leurs informations personnelles.
Le troisième pilier de Microsoft Trustworthy Computing est la fiabilité. Microsoft utilise une définition assez large pour englober tous les aspects techniques liés à la disponibilité, la performance et aux perturbations. Elle est destinée à être une mesure permettant non seulement de savoir si un système fonctionne, mais aussi s'il continuera à fonctionner dans des situations non optimales.
Six attributs clés ont été définies pour un système fiable :
* Résilient : Le système continuera de fournir à l'utilisateur un service en cas de perturbation interne ou externe.
* Récupérable : À la suite d'une perturbation induite par un utilisateur ou le système, le système peut être facilement restauré, avec des instruments de diagnostic, à un état connu et sans perte de données.
* Contrôlé : Le système fournit un service précis et opportun, chaque fois que nécessaire.
* Ininterrompu : Les améliorations et modifications requises ne doivent pas perturber le service fourni par le système.
* Prêt pour la production : Lors de la sortie, le système ne contient que des bogues logiciels minimes, nécessitant un nombre limité de mises à jour prévisibles.
* Prévisible : Le système fonctionne comme prévu ou promis, et ce qui a fonctionné avant fonctionne maintenant.
Le quatrième pilier de Microsoft Trustworthy Computing est l'intégrité de l'entreprise. Beaucoup considèrent cela comme une réaction de l'entreprise de technologie aux scandales comptables d'Enron, Worldcom et d'autres, mais cela montre aussi des préoccupations concernant l'intégrité des développeurs de logiciels et leur réactivité.
Microsoft identifie deux grands secteurs de concentration pour l'intégrité de l'entreprise. Il s'agit de la réactivité : « l'entreprise accepte la responsabilité de problèmes et prend des mesures pour les corriger. Une aide est fournie aux clients dans la planification, l'installation et l'utilisation du produit » ; et la transparence : « la société est ouverte dans ses rapports avec les clients. Ses motivations sont claires, elle tient parole et les clients savent où ils en sont dans une transaction ou une interaction avec la société ».