Présentation

Article

1 - LE LANGAGE ORIENTÉ OBJET JAVA

2 - LES PAQUETAGES JAVA

  • 2.1 - Le paquetage java.lang
  • 2.2 - Les paquetages utilitaires
  • 2.3 - Le paquetage java.applet
  • 2.4 - Le paquetage java.awt et les paquetages dérivés
  • 2.5 - Les paquetages java.io et java.net
  • 2.6 - Le paquetage java.rmi et les paquetages associés
  • 2.7 - Le paquetage java.sql
  • 2.8 - Le paquetage java.beans
  • 2.9 - Le paquetage java.lang.reflect
  • 2.10 - Le paquetage java.security et les paquetages associés
  • 2.11 - Conclusions

3 - JAVA ET LA SÉCURITÉ

  • 3.1 - Les restrictions par le langage
  • 3.2 - L’analyse du bytecode
  • 3.3 - La maîtrise du chargement des classes
  • 3.4 - Les restrictions sur les applets
  • 3.5 - Les applets signées
  • 3.6 - Conclusions

4 - MYTHES ET RÉALITÉS

Article de référence | Réf : H3088 v1

Java et la sécurité
Langage Java

Auteur(s) : Patrick BELLOT, Christophe MATIACHOFF

Date de publication : 10 août 1998

Pour explorer cet article
Télécharger l'extrait gratuit

Vous êtes déjà abonné ?Connectez-vous !

Sommaire

Présentation

Version en anglais En anglais

Auteur(s)

  • Patrick BELLOT : Docteur d’État en informatique - Professeur à l’École nationale supérieure des Télécommunications

  • Christophe MATIACHOFF : Docteur de l’université Pierre-et-Marie-Curie - IBM Global Services - CGI Informatique, centre de Compétences Objet

Lire cet article issu d'une ressource documentaire complète, actualisée et validée par des comités scientifiques.

Lire l’article

INTRODUCTION

Java est le dernier né des langages de programmation orientée objet. Il n’est pas un journal relatif à l’informatique qui ne présente régulièrement des articles concernant le langage Java. Java envahit l’industrie et les projets sont nombreux. Il y a peu de projets réels mais beaucoup de prototypes de validation de la technologie. Le deuxième symposium Java qui s’est tenu à Berlin fin 1997 a vu la présentation de nombreux produits. Les constructeurs et les sociétés de logiciels s’investissent dans la technologie Java. Aucun colloque concernant la programmation orientée objet ne peut faire l’impasse sur Java. Enfin, Java conquiert les universités et les écoles où sa publicité, alliée à une certaine simplicité de programmation pour des résultats spectaculaires, induit la demande des élèves. Nous allons présenter Java, sa technologie et examiner objectivement les raisons de ce succès.

Le langage Java et ses concepts ont été développés par Sun Microsystems Inc. Les concepts ont été pour l’essentiel empruntés aux langages orientés objet existants. Un site Web maintient à jour les informations sur Java, son historique et ses nouveaux développements. Ces derniers sont si rapides qu’il est pratiquement impossible d’obtenir une information à jour sans la consultation régulière de ce genre de sites. Même si Java n’est pas exclusivement un langage de développement pour Internet, il a grandement facilité la programmation répartie, celle des interfaces graphiques et celle des « applets », petits programmes exécutés par les « navigateurs Internet ». De fait, la vie de Java se passe sur Internet. C’est là qu’il faut chercher les dernières nouveautés, demander des aides en cas de doute, rechercher les derniers outils de développement ou les bibliothèques récentes.

Le concept Java a été développé par l’équipe de James Gosling de Sun Microsystems Inc. dans le but d’obtenir des programmes téléchargeables et indépendants du support d’exécution, machine et système d’exploitation. Le marché ciblé est celui des machines portables de faible capacité mais pouvant être connectées au réseau. Il est aussi celui des navigateurs Web qui ont besoin d’interactivité pour n’être plus de simples afficheurs d’informations multimédias. Il leur faut donc être programmables à partir des serveurs où ils vont chercher l’information. Les promoteurs de Java en disent que c’est un langage orienté objet, simple, réparti, robuste, sûr, indépendant de l’architecture, por-table, efficace, « multithread » et dynamique.

Cet article est réservé aux abonnés.
Il vous reste 92% à découvrir.

Pour explorer cet article
Téléchargez l'extrait gratuit

Vous êtes déjà abonné ?Connectez-vous !


L'expertise technique et scientifique de référence

La plus importante ressource documentaire technique et scientifique en langue française, avec + de 1 200 auteurs et 100 conseillers scientifiques.
+ de 10 000 articles et 1 000 fiches pratiques opérationnelles, + de 800 articles nouveaux ou mis à jours chaque année.
De la conception au prototypage, jusqu'à l'industrialisation, la référence pour sécuriser le développement de vos projets industriels.

DOI (Digital Object Identifier)

https://doi.org/10.51257/a-v1-h3088


Cet article fait partie de l’offre

Technologies logicielles Architectures des systèmes

(239 articles en ce moment)

Cette offre vous donne accès à :

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques

Des services

Un ensemble d'outils exclusifs en complément des ressources

Un Parcours Pratique

Opérationnel et didactique, pour garantir l'acquisition des compétences transverses

Doc & Quiz

Des articles interactifs avec des quiz, pour une lecture constructive

ABONNEZ-VOUS

Lecture en cours
Présentation
Version en anglais En anglais

3. Java et la sécurité

Les programmes Java sont destinés à être téléchargés à travers le réseau, ce qui implique des aspects sécuritaires. Nul n’oserait exécuter un code téléchargé dont il ignore le contenu réel s’il ne dispose d’éléments quant à la sûreté du code. La sécurité est assurée à plusieurs niveaux et concerne principalement les applets.

3.1 Les restrictions par le langage

Le premier niveau de sécurité est celui du langage lui-même. Java a remplacé les pointeurs par des références. Il n’y a pas d’arithmé-tique des références en Java similaire à l’arithmétique des pointeurs de C ou de C++. Il est donc impossible au programmeur de manipuler des adresses mémoires pour accéder à des zones non autorisées.

La possibilité de déclarer une classe ou des méthodes finales interdit tout héritage de la classe et toute redéfinition des méthodes. Cela interdit à un programmeur mal intentionné de détourner ces classes et ces méthodes de leurs objectifs initiaux.

HAUT DE PAGE

3.2 L’analyse du bytecode

Rien n’empêche un programmeur bien avisé de la machine virtuelle de produire un bytecode véreux, ne respectant pas les restrictions sur le langage énumérées dans le paragraphe 3.1. Rien n’empêche un bon informaticien de concevoir un compilateur ne respectant pas les restrictions sur le langage et produisant néanmoins des fichiers d’instructions pour la machine virtuelle de Java. C’est pourquoi le chargement des classes suspectes, c’est-à-dire celles importées à travers le réseau, s’accompagne d’une vérification du code pour la machine virtuelle. C’est de la responsabilité de votre environnement d’exécution, en général un navigateur Web, de vérifier la qualité du bytecode pour la machine virtuelle. On s’assure bien entendu que le code est bien un code pour la machine virtuelle Java. On vérifie aussi que l’exécution se passera sans débordement de la pile d’exécution,...

Cet article est réservé aux abonnés.
Il vous reste 93% à découvrir.

Pour explorer cet article
Téléchargez l'extrait gratuit

Vous êtes déjà abonné ?Connectez-vous !


L'expertise technique et scientifique de référence

La plus importante ressource documentaire technique et scientifique en langue française, avec + de 1 200 auteurs et 100 conseillers scientifiques.
+ de 10 000 articles et 1 000 fiches pratiques opérationnelles, + de 800 articles nouveaux ou mis à jours chaque année.
De la conception au prototypage, jusqu'à l'industrialisation, la référence pour sécuriser le développement de vos projets industriels.

Cet article fait partie de l’offre

Technologies logicielles Architectures des systèmes

(239 articles en ce moment)

Cette offre vous donne accès à :

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques

Des services

Un ensemble d'outils exclusifs en complément des ressources

Un Parcours Pratique

Opérationnel et didactique, pour garantir l'acquisition des compétences transverses

Doc & Quiz

Des articles interactifs avec des quiz, pour une lecture constructive

ABONNEZ-VOUS

Lecture en cours
Java et la sécurité
Sommaire
Sommaire

BIBLIOGRAPHIE

  • (1) -   Java : market, opportunities, and trend.  -  Zona Research Inc. (1997).

  • (2) - ARON (P.), PRADENC (H.) -   La Java Card débarque.  -  Le Monde Informatique, 739 (24 octobre 1997), 4.

  • (3) - BARNES (J.) -   Programming in Ada 95.  -  Addison-Wesley (1995).

  • (4) - BELLOT (P.) -   Conception et programmation par les objets, le langage Eiffel.  -  Soumis pour parution chez Eyrolles, 250 p., Paris (1997).

  • (5) - BELLOT (P.), ROBINET (B.) -   Conception de logiciels et portabilité.  -  Technologies logicielles – Architectures des systèmes (1998).

  • (6) - STROUSTRUP (B.) -   The Design and Evolution of C++.  -  Addison-Wesley (1994).

  • ...

Cet article est réservé aux abonnés.
Il vous reste 92% à découvrir.

Pour explorer cet article
Téléchargez l'extrait gratuit

Vous êtes déjà abonné ?Connectez-vous !


L'expertise technique et scientifique de référence

La plus importante ressource documentaire technique et scientifique en langue française, avec + de 1 200 auteurs et 100 conseillers scientifiques.
+ de 10 000 articles et 1 000 fiches pratiques opérationnelles, + de 800 articles nouveaux ou mis à jours chaque année.
De la conception au prototypage, jusqu'à l'industrialisation, la référence pour sécuriser le développement de vos projets industriels.

Cet article fait partie de l’offre

Technologies logicielles Architectures des systèmes

(239 articles en ce moment)

Cette offre vous donne accès à :

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques

Des services

Un ensemble d'outils exclusifs en complément des ressources

Un Parcours Pratique

Opérationnel et didactique, pour garantir l'acquisition des compétences transverses

Doc & Quiz

Des articles interactifs avec des quiz, pour une lecture constructive

ABONNEZ-VOUS