WO2008058965A1 - Systeme de traitement d'objets graphiques comportant un gestionnaire graphique securise - Google Patents

Systeme de traitement d'objets graphiques comportant un gestionnaire graphique securise Download PDF

Info

Publication number
WO2008058965A1
WO2008058965A1 PCT/EP2007/062279 EP2007062279W WO2008058965A1 WO 2008058965 A1 WO2008058965 A1 WO 2008058965A1 EP 2007062279 W EP2007062279 W EP 2007062279W WO 2008058965 A1 WO2008058965 A1 WO 2008058965A1
Authority
WO
WIPO (PCT)
Prior art keywords
application
applications
storage space
graphic
time
Prior art date
Application number
PCT/EP2007/062279
Other languages
English (en)
Inventor
Denis Bonnet
Patrice Capircio
Alexandre Fine
Original Assignee
Thales
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Thales filed Critical Thales
Priority to US12/514,483 priority Critical patent/US20100058116A1/en
Publication of WO2008058965A1 publication Critical patent/WO2008058965A1/fr

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/84Protecting input, output or interconnection devices output devices, e.g. displays or monitors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • G06F9/4887Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/363Graphics controllers
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/393Arrangements for updating the contents of the bit-mapped memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/032Protect output to user by software means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2101Auditing as a secondary aspect
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2113Multi-level security, e.g. mandatory access control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2330/00Aspects of power supply; Aspects of display protection and defect management
    • G09G2330/12Test circuits or failure detection circuits included in a display system, as permanent part thereof
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/12Frame memory handling
    • G09G2360/125Frame memory handling using unified memory architecture [UMA]

Definitions

  • the field of the invention is that of display systems to display information or images having different levels of criticality.
  • the preferred field of application is the field of aircraft cockpits, but the invention can be applied to any control system having display screens on which it must be possible to display both critical and important information. for system security and less critical information that is not critical to the safety of the aircraft, its crew and passengers.
  • a system of visualizations comprises three main devices as indicated in FIG. 1.
  • a first device 1 called “computing resource” or CPU, acronym for “Computer Processing Unit” makes it possible to carry out the various computations of symbologies on the basis of data obtained from databases and sensors of the aircraft.
  • CPU Computer Processing Unit
  • a second device 2 connected to the first is called “graphics resource” or GPU, acronym for “Graphics Processing Unit”. It transforms applications from the CPU into video signals.
  • the system also includes shared memory between said graphics applications, each application having a specific storage space in said memory.
  • the last device 3 is a set of visualizations that can include one or more display screens. Generally, for recent applications, these are liquid crystal matrix screens.
  • critical information has a failure rate of 1 (T 9 per hour of flight, ie a breakdown per billion hours of flight whereas non-critical information has a failure rate of 10 "5 to 10 " 3 per hour of flight, or a possible failure every one to ten thousand hours of flight.
  • the subject of the invention is a display system comprising at least:
  • a first electronic device called a "computing resource" making it possible to process at least two graphic applications, said graphic applications being of different criticality level, the criticality levels being established according to the importance of the graphic application; in the operation of the system,
  • the computation resource comprises a critical graphical manager of criticality level at least equal to the highest criticality level of the applications and able to handle different criticality problems, said manager having the following detection means:
  • the segregation violation detection means perform the following functions:
  • the means for detecting the overruns of the processing times of each application performs the following functions:
  • the shared memory comprising so-called persistent data
  • the storage space violation detection means performs the following functions:
  • the sanction of the application is to reset the system without the faulty application.
  • FIG. 1 represents the general block diagram of a system of visualizations
  • FIG. 2 represents the general block diagram of a secure graphic manager according to the invention.
  • the heart of the invention is to add, at the level of the calculation resource 1, a secure graphic manager 10 whose criticality level is at least equal to the criticality level of the most critical application I.
  • this manager provides relatively simple functions. It is therefore easy to ensure a very high reliability.
  • This manager has means to ensure the following detection functions:
  • the computing resource is segregated spatially and temporally. This means that the resource ensures both the secure sharing of its memory space and the secure sharing of its processing time.
  • the different applications have specific storage spaces in the memory and they are calculated successively so as not to interfere with each other. For example, operating systems made according to the ARINC 653 standard perfectly check these conditions;
  • the computing and graphing resources are at a criticality level at least equal to the criticality level of the most critical application; -
  • the graphic resource has an OpenGL type interface.
  • the OpenGL standard for OPEN Graphics Library, originally developed by Silicon Graphics, is a specification that defines an API, an acronym for Application Programming Interface, multi-platform for the design of applications generating 2D or 3D images.
  • the interface groups together hundreds of different functions that can be used to display complex three-dimensional scenes from simple primitives.
  • This standard is now widely used and a subset of this standard, called OpenGL ES, ES for Embedded System, is standardized by the Khronos Group for use in embedded systems.
  • Khronos Group is an industrial group whose mission is the establishment of standards in a number of areas related to software applications.
  • An application can be displayed in one or more windows of the viewing screens.
  • the display rules are as follows:
  • An application can have multiple windows
  • Each application can be displayed in all windows associated with it;
  • a window can only be associated with one application.
  • the application segregation violation detection means in their respective display window provide the following functions:
  • the segregation violation detection method comprises the following steps:
  • the secure graphics manager allocates each window a storage space in the graphics resource, in which it will display the pixels.
  • the image is of the "bitmap” or “texture” type, that is to say that it comprises a texture.
  • MMU stands for "Memory Management Unit”.
  • the display screens are refreshed at a certain rate.
  • the duration T between two refreshments is between 10 milliseconds and 100 milliseconds.
  • the graphic manager has means for detecting the exceeding of the processing times of each application. They perform the following functions:
  • the manager triggers a measurement of time as soon as it gives access to the graphic resource to the application I.
  • the graphic manager sends a synchronization command to the graphic resource , also called appointment. This command ensures that all graphics commands have been executed by the graphics resource.
  • the appointment is not reached before the end of time Ti, the application has exceeded the time allotted to it and is identified a posteriori as such by the graphics manager;
  • the sanction of the faulty application may be, for example, the immediate termination of the wrongful application.
  • the graphical manager provides a third security function. It checks that an application can not disturb the memory areas of the graphic resource of another application. These memory areas are: on the one hand the storage spaces of the pixels defined above.
  • the graphics manager has storage space violation detection means that perform the following functions:
  • Retentive data modification requests are sent by the application to the secure graphical manager. This ensures that the application has the right to modify the data, that it is the owner. If this is the case, it authorizes the modification; - measurement for each application of the storage space actually used;
  • the sanction of the application may, for example, consist of rebooting the system without the faulty application.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Computer Graphics (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Digital Computer Display Output (AREA)

Abstract

Le domaine général de l'invention est celui des systèmes de visualisation devant afficher des informations ou des images ayant des niveaux de criticité différents. Le système de visualisation selon l'invention comprend au moins un gestionnaire graphique sécurisé (10) de niveau de criticité au moins égal au niveau de criticité le plus élevé des applications graphiques, ledit gestionnaire ayant des moyens de détection suivants : - violation de la ségrégation des applications dans leur fenêtre d'affichage respective; - dépassement des temps de traitement de chaque application; - violation des espaces de stockage spécifiques des applications graphiques.

Description

SYSTEME DE TRAITEMENT D'OBJETS GRAPHIQUES COMPORTANT UN GESTIONNAIRE GRAPHIQUE SECURISE
Le domaine de l'invention est celui des systèmes de visualisation devant afficher des informations ou des images ayant des niveaux de criticité différents. Le domaine d'application privilégié est le domaine des cockpits d'aéronefs, mais l'invention peut s'appliquer à tout système de contrôle possédant des écrans de visualisation sur lesquels il doit être possible d'afficher à la fois des informations critiques, importantes pour la sécurité du système et des informations de criticité moindre qui n'ont pas de caractère vital pour la sécurité de l'aéronef, de son équipage et de ses passagers.
Généralement, un système de visualisations comprend trois dispositifs principaux comme indiqué en figure 1. Un premier dispositif 1 appelé « ressource calcul » ou encore CPU, acronyme de « Computer Processing Unit » permet de réaliser les différents calculs de symbologies à partir des données issues des bases de données et des capteurs de l'aéronef. Dans la suite du texte, on appellera « application » chaque calcul de symbologies. Un second dispositif 2 relié au premier est appelé « ressource graphique » ou encore GPU, acronyme de « Graphics Processing Unit ». Il transforme les applications issues du CPU en signaux vidéo. Le système comprend également une mémoire partagée entre lesdites applications graphiques, chaque application ayant un espace de stockage spécifique dans ladite mémoire. Le dernier dispositif 3 est un ensemble de visualisations pouvant comprendre un ou plusieurs écrans d'affichage. Généralement, pour les applications récentes, il s'agit d'écrans matriciels à cristaux liquides.
Sur les écrans de faible taille, seule une application est affichée sur l'écran. Avec l'augmentation de la taille des écrans, plusieurs applications peuvent être amener à partager l'écran et donc à s'afficher simultanément. Ces applications ont souvent des niveaux de criticité différents. Ainsi, dans le domaine aéronautique, on peut avoir à afficher simultanément des informations critiques de pilotage et avoir à présenter simultanément une carte numérique du terrain survolé, information considérée comme non critique dans la mesure où elle n'est pas susceptible de mettre en péril la sécurité de l'aéronef. Il est nécessaire alors, pour des problèmes de coût et de sécurité, de leur attribuer des niveaux de criticité différents. Les informations de criticité élevée bénéficient de méthodes de développement et de mises en œuvre particulières leur assurant une fiabilité très élevée alors que les informations de criticité faibles ont une fiabilité moindre, mais au prix de développements moins coûteux. Ainsi, dans le domaine aéronautique, une information critique a un taux de panne de 1(T9 par heure de vol, soit une panne par milliard d'heures de vol alors qu'une information non critique a un taux de panne variant de 10"5 à 10"3 par heure de vol, soit une panne possible toutes les cent à dix mille heures de vol.
Ces applications sont traitées ou peuvent être traitées par une ressource graphique commune. Il faut alors gérer les problèmes de criticité différents. Il existe différentes solutions possibles. Par exemple, on peut réserver l'accès à la ressource graphique aux applications de niveau de criticité le plus élevé. Bien entendu, il n'existe alors aucune souplesse dans la répartition des images sur les ressources graphiques. Une seconde solution consiste à traiter toutes les applications au niveau de criticité le plus élevé. Dans ce cas, les coûts de développement deviennent prohibitifs car les applications non critiques sont développées comme des applications critiques.
Une autre solution a été proposée par la société Honeywell et est décrite dans le brevet américain US 6 980 216 dont le titre anglais est « Graphics driver and method with time partitioning ». Le principe de cette méthode est d'allouer à chaque application une durée temporelle prévisionnelle et de contrôler, lorsque l'application est en cours, si cette durée est atteinte ou dépassée. Cette solution qui présente un progrès sensible sur les solutions précédentes a cependant certains inconvénients. D'une part, elle ne propose qu'une ségrégation temporelle des applications. D'autre part, elle requiert une connaissance détaillée de la chaîne graphique car elle nécessite de disposer d'une prédiction de l'utilisation temporelle de la ressource graphique pour chaque ordre graphique. L'objet du système selon l'invention est de diminuer ou d'éliminer les inconvénients précédents et de permettre un partage souple de la ressource graphique entre plusieurs applications de niveaux de criticité différents. Le cœur du système est d'ajouter au niveau de la ressource calcul un gestionnaire graphique sécurisé.
Plus précisément, l'invention a pour objet un système de visualisation comprenant au moins :
- un premier dispositif électronique appelé « ressource calcul » permettant de faire du traitement d'au moins deux applications graphiques, lesdites applications graphiques étant de niveau de criticité différent, les niveaux de criticité étant établis en fonction de l'importance de l'application graphique dans le fonctionnement du système,
- un second dispositif électronique appelé « ressource graphique », permettant de mettre sous forme de signaux vidéo les applications graphiques issues du premier dispositif,
- une mémoire partagée entre les applications graphiques, chaque application ayant un espace de stockage spécifique dans ladite mémoire ; - un ensemble de visualisations comprenant des fenêtres d'affichage, chaque application s'affichant dans au moins une fenêtre dédiée à ladite application ; caractérisé en ce que la ressource calcul comprend un gestionnaire graphique sécurisé de niveau de criticité au moins égal au niveau de criticité le plus élevé des applications et apte à gérer des problèmes de criticité différent, ledit gestionnaire ayant des moyens de détection suivants :
- violation de la ségrégation des applications dans leur fenêtre d'affichage respective ;
- dépassement des temps de traitement de chaque application ; - violation des espaces de stockage spécifiques.
Avantageusement, les moyens de détection de violation de la ségrégation assurent les fonctions suivantes :
- vérification de l'autorisation pour chaque application d'afficher dans les différentes fenêtres ; - limitation de l'affichage de chaque application à leurs fenêtres dédiées. Aucun affichage issu de l'application ne peut être effectué hors de la zone d'affichage définie par les fenêtres qui lui sont associées.
Avantageusement, si la ressource calcul dispose d'une période temporelle entre deux rafraîchissements successifs des données, les moyens de détection des dépassements des temps de traitement de chaque application assure les fonctions suivantes :
- allocation à chaque application d'un temps d'utilisation théorique pendant chaque période ; - mesure pour chaque application et pour chaque période temporelle du temps d'utilisation réel ;
- calcul, pour l'ensemble des applications, de la somme des temps d'utilisation réels, la somme étant notée temps total d'utilisation ;
- comparaison du temps total d'utilisation avec la durée de la période ;
- si le temps total d'utilisation est supérieur à la durée de la période, détermination des applications fautives dont le temps d'utilisation réel dépasse le temps d'utilisation théorique ;
- sanction des applications fautives. Avantageusement, la mémoire partagée comportant des données dites rémanentes, les moyens de détection de violation des espaces de stockage assure les fonctions suivantes:
- interdiction pour toutes les applications de modifier les données rémanentes ; - allocation à chaque application d'un espace de stockage théorique ;
- mesure pour chaque application de l'espace de stockage réel ;
- comparaison, pour chaque application, de l'espace de stockage réel avec l'espace de stockage théorique ; - si l'espace de stockage réel est supérieur à l'espace de stockage théorique, sanction de l'application fautive.
Avantageusement, la sanction de l'application consiste à réinitialiser le système sans l'application fautive.
Enfin, les moyens de détection peuvent être réalisés, par logiciel, en langage OpenGL. L'invention sera mieux comprise et d'autres avantages apparaîtront à la lecture de la description qui va suivre donnée à titre non limitatif et grâce aux figures annexées parmi lesquelles : « la figure 1 représente le synoptique général d'un système de visualisations ;
• La figure 2 représente le synoptique général d'un gestionnaire graphique sécurisé selon l'invention.
Comme illustré en figure 2, le cœur de l'invention est d'ajouter au niveau de la ressource calcul 1 un gestionnaire graphique 10 sécurisé dont le niveau de criticité est au moins égal au niveau de criticité de l'application I la plus critique. Comme on le verra, ce gestionnaire assure des fonctions relativement simples. Il est donc aisé de lui assurer une très grande fiabilité. Ce gestionnaire possède des moyens permettant d'assurer les fonctions de détection suivants :
- violation de la ségrégation des applications dans leur fenêtre d'affichage respective, fonction notée 11 sur la figure 2 ;
- dépassement des temps de traitement de chaque application, fonction notée 12 sur la figure 2 ;
- violation des espaces de stockage spécifiques, fonction notée 13 sur la figure 2 .
Ces fonctions seront détaillées ci-dessous. Pour être facilement mis en place, il est nécessaire que le système de visualisation ait les caractéristiques suivantes :
- Toutes les applications sont localisées sur la ressource calcul ;
- La ressource calcul est ségréguée spatialement et temporellement. Cela signifie que la ressource assure à la fois le partage sécurisé de son espace mémoire et le partage sécurisé de son temps de traitement. Les différentes applications ont des espaces de stockage spécifiques dans la mémoire et elles sont calculées successivement de façon à ne pas interférer entre elles. A titre d'exemple, les systèmes d'exploitation réalisés selon la norme ARINC 653 vérifient parfaitement ces conditions ;
- Les ressources calcul et graphique sont à un niveau de criticité au moins égal au niveau de criticité de l'application Ia plus critique ; - La ressource graphique dispose d'une interface de type OpenGL. Le standard OpenGL, pour OPEN Graphics Library, développé initialement par Ia société Silicon Graphics, est une spécification qui définit une API, acronyme d'Application Programming Interface, multi plate-formes pour la conception d'applications générant des images 2D ou 3D. L'interface regroupe des centaines de fonctions différentes qui peuvent être utilisées pour afficher des scènes tridimensionnelles complexes à partir de simples primitives. Ce standard est maintenant utilisé très largement et un sous- ensemble de ce standard, dénommé OpenGL ES, ES pour Embedded System, est normalisé par le Khronos Group pour l'utilisation dans les systèmes embarqués. Khronos Group est un groupement d'industriels dont la mission est l'établissement de standards dans un certain nombre de domaines concernant les applications logiciel.
Une application peut s'afficher dans une ou plusieurs fenêtres des écrans de visualisation. Généralement, les règles d'affichage sont les suivantes :
- Une application peut avoir plusieurs fenêtres ;
- Chaque application peut s'afficher dans toutes les fenêtres qui lui sont associées ;
- Une fenêtre ne peut être associée qu'à une seule application.
Les moyens de détection de violation de la ségrégation des applications dans leur fenêtre d'affichage respective assurent les fonctions suivantes :
- vérification des fenêtres de destination des applications ;
- limitation de l'affichage de chaque application à leur fenêtre dédiée.
Plus précisément, le procédé de détection de violation de la ségrégation comporte les étapes suivantes :
- Identification par l'application de la fenêtre dans laquelle elle souhaite s'afficher, c'est-à-dire envoyer ses ordres graphiques ;
- Contrôle par le gestionnaire graphique sécurisé que cette fenêtre fait partie de celles qui sont associées à ladite application ; - Positionnement des variables d'état de la ressource graphique OpenGL à des valeurs par défaut. Les variables concernent, par exemple, la couleur, le style de trait, son épaisseur, ... ;
- Limitation de l'affichage de ladite application à cette fenêtre en associant à l'application un espace de stockage dans la ressource graphique dédié à ladite application. Les applications présentes sur la ressource calcul disposent dans leur partition d'une application « API OpenGL » dépourvue de toutes les commandes permettant d'affecter ces espaces de stockage. Seul le gestionnaire centralisé dispose de l'accès aux commandes de l'API OpenGL permettant d'accéder à ces fonctions ;
- Génération par l'application des ordre graphiques à destination de la ressource graphique ;
- Traduction par la ressource graphique des ordres graphiques en pixels ; - Stockage des pixels issus de l'application dans ledit espace de stockage ;
- Autorisation d'affichage des pixels stockés dans l'espace de stockage sur l'écran par le gestionnaire graphique sécurisé. Les données de l'application sont transférées vers la ressource graphique puis vers la fenêtre sélectionnée de visualisation à la position définie par le gestionnaire graphique sécurisé.
Pour permettre la limitation de l'affichage de l'application, le gestionnaire graphique sécurisé alloue à chaque fenêtre un espace de stockage dans la ressource graphique, dans lequel elle affichera les pixels. Généralement, l'image est de type « bitmap » ou de type « texture », c'est-à- dire qu'elle comporte une texture. Les capacités inhérentes à une ressource graphique de type « OpenGL - MMU » permettent d'empêcher que cet espace soit violé. MMU est l'acronyme de « Memory Management Unit ».
Lorsque l'application doit s'afficher dans plusieurs fenêtres différentes, le procédé ci-dessus est réitéré pour chaque fenêtre d'affichage.
Dans un système de visualisation, les écrans de visualisation sont rafraîchis à une certaine cadence. Généralement, la durée T séparant deux rafraîchissements est comprise entre 10 millisecondes et 100 millisecondes. Le gestionnaire graphique possède des moyens de détection des dépassement des temps de traitement de chaque application. Ils assurent les fonctions suivantes :
- allocation à chaque application I d'un temps théorique Ti d'accès à la ressource graphique pendant chaque période ;
- mesure pour chaque application I et pour chaque période temporelle du temps d'accès réel t|. Pour mesurer ce temps réel d'utilisation tι, le gestionnaire déclenche une mesure de temps dès qu'il donne accès à la ressource graphique à l'application I. Entre chaque application I, le gestionnaire graphique envoie une commande de synchronisation à la ressource graphique, encore appelé rendez-vous. Cette commande permet de s'assurer que l'ensemble des commandes graphiques a bien été exécuté par la ressource graphique. Dans le cas où le rendez-vous n'est pas atteint avant la fin du temps imparti Ti, l'application a dépassé le temps qui lui était alloué et est identifié à posteriori comme telle par le gestionnaire graphique ;
- calcul, pour l'ensemble des applications, de la somme Si des temps d'utilisation réels, la somme étant notée temps total d'utilisation ;
- comparaison du temps total d'utilisation Si avec la durée de la période T ; - si le temps total d'utilisation est supérieur à la durée de la période, détermination des applications fautives dont le temps d'utilisation réel dépasse le temps d'utilisation théorique ;
- sanction des applications fautives. La sanction de l'application fautive peut être, par exemple, l'arrêt immédiat de l'application fautive.
Le gestionnaire graphique assure une troisième fonction de sécurité. Il vérifie qu'une application ne peut perturber les zones mémoires de la ressource graphique d'une autre application. Ces zones mémoires sont : - d'une part les espaces de stockage des pixels définis plus haut.
Comme indiqué, les capacités inhérentes à une ressource graphique
« OpenGL - MMU » sont utilisées.
- d'autre part, les zones de mémoire rémanente stockant les différentes informations des images de type « bitmap », « texture », « display lists » et tout autre données n'étant pas remise à jour à chaque cycle. A cette fin, le gestionnaire graphique possède des moyens de détection de violation des espaces de stockage qui assurent les fonctions suivantes:
- allocation à chaque application d'un espace de stockage théorique ;
- identification par chaque application auprès du gestionnaire graphique sécurisé des zones de mémoire rémanente dont elle a besoin et dont elle est propriétaire ;
- interdiction pour toutes les applications de modifier les données rémanentes directement. Les demandes de modification de données rémanente sont envoyées par l'application au gestionnaire graphique sécurisé. Celui-ci s'assure que l'application dispose bien du droit de modifier ces données, qu'elle en est la propriétaire. Si tel est le cas, il autorise la modification ; - mesure pour chaque application de l'espace de stockage réellement utilisé ;
- comparaison, pour chaque application, de l'espace de stockage réel avec l'espace de stockage théorique ;
- si l'espace de stockage réel est supérieur à l'espace de stockage théorique ou si une application tente de modifier une zone de mémoire rémanente dont elle n'est pas propriétaire, sanction de l'application fautive, la sanction de l'application peut, par exemple, consister à réinitialiser le système sans l'application fautive.
Le gestionnaire graphique sécurisé comporte de nombreux avantages :
- Par la multiplication des contrôles dans des domaines très différents comme la gestion de l'espace, du temps et de la ressource mémoire, il permet d'atteindre un très haut niveau de sécurisation des applications graphiques.
- Il ne nécessite pas une connaissance détaillée de l'architecture graphique utilisée. On peut ainsi introduire n'importe quel type de processeur graphique sans connaissance détaillée de son architecture ou de son fonctionnement. - Les mesures de l'utilisation des ressources sont réalisées, à posteriori sans faire d'hypothèses.
- Il possède une très grande souplesse permettant de conserver le système en marche tant que la ressource graphique n'est pas saturée.

Claims

REVENDICATIONS
1. Système de visualisation comprenant au moins :
- un premier dispositif électronique appelé « ressource calcul » (1 ) permettant de faire du traitement d'au moins deux applications graphiques, lesdites applications graphiques étant de niveau de criticité différent, les niveaux de criticité étant établis en fonction de l'importance de l'application graphique dans le fonctionnement du système ;
- un second dispositif électronique appelé « ressource graphique » (2), permettant de mettre sous forme de signaux vidéo les applications graphiques issues du premier dispositif, - une mémoire partagée entre lesdites applications graphiques, chaque application ayant un espace de stockage spécifique dans ladite mémoire ;
- un ensemble de visualisations (3) comprenant des fenêtres d'affichage, chaque application s'affichant dans au moins une fenêtre dédiée à ladite application ; caractérisé en ce que la ressource calcul comprend un gestionnaire graphique sécurisé (10) de niveau de criticité au moins égal au niveau de criticité le plus élevé des applications et apte à gérer des problèmes de criticité différent, ledit gestionnaire ayant des moyens de détection suivants : - violation de la ségrégation des applications dans leur fenêtre d'affichage respective ;
- dépassement des temps de traitement de chaque application ;
- violation des espaces de stockage spécifiques.
2. Système de visualisation selon la revendication 1 , caractérisé en ce que les moyens de détection de violation de la ségrégation assure les fonctions suivantes :
- vérification de l'autorisation pour chaque application d'afficher dans les différentes fenêtres ; - limitation de l'affichage de chaque application à leur fenêtre dédiée.
3. Système de visualisation selon la revendication 1 , caractérisé en ce que, si la ressource calcul dispose d'une période temporelle (T) entre deux rafraîchissements successifs des données, les moyens de détection des dépassement des temps de traitement de chaque application assure les fonctions suivantes :
- allocation à chaque application d'un temps d'utilisation théorique (Ti) pendant chaque période ;
- mesure pour chaque application et pour chaque période temporelle du temps d'utilisation réel (tι);
- calcul, pour l'ensemble des applications, de la somme des temps d'utilisation réels, la somme étant notée temps total d'utilisation (Si);
- comparaison du temps total d'utilisation avec la durée de la période ; - si le temps total d'utilisation est supérieur à la durée de la période, détermination des applications fautives dont le temps d'utilisation réel dépasse le temps d'utilisation théorique ;
- sanction des applications fautives, la sanction consistant à réinitialiser le système sans l'application fautive.
4. Système de visualisation selon la revendication 1 , caractérisé en ce que, la mémoire partagée comportant des données dites rémanentes, les moyens de détection de violation des espaces de stockage assure les fonctions suivantes: - interdiction pour toutes les applications de modifier les données rémanentes ;
- allocation à chaque application d'un espace de stockage théorique ;
- mesure pour chaque application de l'espace de stockage réel ; - comparaison, pour chaque application, de l'espace de stockage réel avec l'espace de stockage théorique ;
- si l'espace de stockage réel est supérieur à l'espace de stockage théorique, sanction de l'application fautive.
5. Système de visualisation selon l'une des revendications précédentes, caractérisé en ce que les moyens de détection sont réalisés, par logiciel, en langage OpenGL.
PCT/EP2007/062279 2006-11-17 2007-11-13 Systeme de traitement d'objets graphiques comportant un gestionnaire graphique securise WO2008058965A1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US12/514,483 US20100058116A1 (en) 2006-11-17 2007-11-13 System for processing graphic objects including a secured graphic manager

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR06/10078 2006-11-17
FR0610078A FR2908916B1 (fr) 2006-11-17 2006-11-17 Systeme de traitement d'objets graphiques comportant un gestionnaire graphique securise

Publications (1)

Publication Number Publication Date
WO2008058965A1 true WO2008058965A1 (fr) 2008-05-22

Family

ID=38123912

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2007/062279 WO2008058965A1 (fr) 2006-11-17 2007-11-13 Systeme de traitement d'objets graphiques comportant un gestionnaire graphique securise

Country Status (3)

Country Link
US (1) US20100058116A1 (fr)
FR (1) FR2908916B1 (fr)
WO (1) WO2008058965A1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013079973A1 (fr) * 2011-12-02 2013-06-06 Di Cara Danielle Marie Anticorps dirigés contre le récepteur de hgf et leurs utilisations

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2924507B1 (fr) * 2007-11-30 2010-02-26 Thales Sa Dispositif de controle d'un pointeur informatique dans un systeme comprenant differents types d'afficheurs
US8650565B2 (en) * 2009-12-14 2014-02-11 Citrix Systems, Inc. Servicing interrupts generated responsive to actuation of hardware, via dynamic incorporation of ACPI functionality into virtual firmware
FR2963690B1 (fr) * 2010-08-06 2012-08-03 Thales Sa Systeme informatique "client-serveur" securise pour applications interactives
CN106201713B (zh) * 2016-06-30 2019-10-22 宇龙计算机通信科技(深圳)有限公司 一种卡顿的处理方法及系统
FR3106226B1 (fr) 2020-01-15 2022-01-21 Thales Sa Procede de generation de surfaces graphiques a afficher sur un ecran, processeur graphique associe

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050162434A1 (en) * 2004-01-27 2005-07-28 Hancock William R. Graphics driver and method with time partitioning
US20060107264A1 (en) * 2004-11-18 2006-05-18 Hamilton Sundstrand Corporation Operating system and architecture for embedded system

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6292874B1 (en) * 1999-10-19 2001-09-18 Advanced Technology Materials, Inc. Memory management method and apparatus for partitioning homogeneous memory and restricting access of installed applications to predetermined memory ranges
FR2884949B1 (fr) * 2005-04-26 2007-06-22 Thales Sa Dispositif de generation graphique comportant des moyens de surveillance de son fonctionnement.
US20070038939A1 (en) * 2005-07-11 2007-02-15 Challen Richard F Display servers and systems and methods of graphical display
FR2891929A1 (fr) * 2005-10-07 2007-04-13 Thales Sa Procede de configuration-reconfiguration d'affichage pour un ensemble de dispositifs de visualisation

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050162434A1 (en) * 2004-01-27 2005-07-28 Hancock William R. Graphics driver and method with time partitioning
US20060107264A1 (en) * 2004-11-18 2006-05-18 Hamilton Sundstrand Corporation Operating system and architecture for embedded system

Non-Patent Citations (7)

* Cited by examiner, † Cited by third party
Title
HABAN D ET AL: "Application of real-time monitoring to scheduling tasks with random execution times", PROCEEDINGS OF THE REAL TIME SYSTEMS SYMPOSIUM. SANTA MONICA, DEC. 5 - 7, 1989, LOS ALAMITOS, IEEE COMP. SOC. PRESS, US, vol. SYMP. 10, 5 December 1989 (1989-12-05), pages 172 - 181, XP010017787, ISBN: 0-8186-2004-8 *
KAISER, ROBERT: "PikeOS - eine Mikrokern-basierte Umgebung für partitionierte Systeme", LINUX AUTOMATION KONFERENCE 2004, February 2004 (2004-02-01), pages 1 - 7, XP002469452, Retrieved from the Internet <URL:http://www.linux-automation.de/konferenz_2004/papers/Robert_Kaiser_und_Alex_Zuepke-PikeOS.pdf> [retrieved on 20080218] *
KINNAN, LARRY M.: "Application migration from linux prototype to deployable ima platform using arinc 653 and open gl", DIGITAL AVIONICS SYSTEMS CONFERENCE, 2007. DASC '07. IEEE/AIAA 26TH, 21 October 2007 (2007-10-21), pages 6.C.2.1 - 6.C.2.5, XP002469260, ISBN: 978-1-4244-1108-5, Retrieved from the Internet <URL:http://ieeexplore.ieee.org/iel5/4391810/4391811/04391958.pdf?tp=&isnumber=&arnumber=4391958> [retrieved on 20080215] *
KLEIDERMACHER, DAVID - GREEN HILLS SOFTWARE: "Optimizing RTOSes for HA architectures", COMMSDESIGN, 9 October 2002 (2002-10-09), Internet, pages 1 - 6, XP002469662, Retrieved from the Internet <URL:http://www.commsdesign.com/article/printableArticle.jhtml?articleID=16505972> [retrieved on 20080219] *
LYNUXWORKS: "POSIX and ARINC for Safety-Critical Applications", DOC-0620-00, 2005, pages I - IV,1-38, XP002438986, Retrieved from the Internet <URL:http://www.lynuxworks.com/rtos/0620-00-los178_arinc653_hb_alt.pdf> [retrieved on 20070622] *
RAVI SHAH ET AL: "Sharing I/O in Strongly Partitioned Real-Time Systems", EMBEDDED SOFTWARE AND SYSTEMS LECTURE NOTES IN COMPUTER SCIENCE;;LNCS, SPRINGER-VERLAG, BE, vol. 3605, 2005, pages 502 - 507, XP019016692, ISBN: 3-540-28128-2 *
SNYDER M: "Solving the Embedded OpenGL Puzzle - Making Standards, Tools, and APIs work together in highly embedded and safety critical environments", DIGITAL AVIONICS SYSTEMS CONFERENCE, 2005. DASC 2005. THE 24TH WASHINGTON, DC, USA 30-03 OCT. 2005, PISCATAWAY, NJ, USA,IEEE, 30 October 2005 (2005-10-30), pages 8.C.4-1 - 8.C.4-9, XP010868366, ISBN: 0-7803-9307-4 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013079973A1 (fr) * 2011-12-02 2013-06-06 Di Cara Danielle Marie Anticorps dirigés contre le récepteur de hgf et leurs utilisations

Also Published As

Publication number Publication date
FR2908916A1 (fr) 2008-05-23
US20100058116A1 (en) 2010-03-04
FR2908916B1 (fr) 2009-04-17

Similar Documents

Publication Publication Date Title
US9633479B2 (en) Time constrained augmented reality
EP1875439B1 (fr) Dispositif de generation graphique comportant des moyens de surveillance de son fonctionnement
WO2008058965A1 (fr) Systeme de traitement d&#39;objets graphiques comportant un gestionnaire graphique securise
US20130283061A1 (en) Image processing method and apparatus for privacy protection of captured image
US20140172906A1 (en) Time-shifting image service
IL249739A (en) Secure video acquisition and verification system and method
FR3031619A1 (fr) Procede et dispositif de commande d&#39;un appareil d&#39;affichage et systeme d&#39;affichage pour son application
EP3494475B1 (fr) Procede et dispositif de distribution de partitions sur un processeur multi-coeurs
CN109660581B (zh) 物理机管理方法及装置、系统
US11042955B2 (en) Manipulating display content of a graphical user interface
CA2651465C (fr) Procede de codage et systeme d&#39;affichage sur un ecran d&#39;une maquette numerique d&#39;un objet sous forme d&#39;une image de synthese
FR2964775A1 (fr) Procede d&#39;estimation de l&#39;occultation dans un environnement virtuel
FR2587520A1 (fr) Appareil et procedes d&#39;affichage a fenetre a acces direct en memoire
CA2887077A1 (fr) Systeme de traitement de donnees pour interface graphique et interface graphique comportant un tel systeme de traitement de donnees
CN115619924A (zh) 用于光估计的方法与装置
FR3070514B1 (fr) Controleur d&#39;acces direct en memoire, dispositif et procede de reception, stockage et traitement de donnees correspondants
WO2023216088A1 (fr) Commande de confidentialité d&#39;images sur la base d&#39;un contenu
EP3403218A1 (fr) Dispositif de selection et description de points d&#39;interets dans une sequence d&#39;images, par exemple pour l&#39;appariement de points d&#39;interets
EP1341093B1 (fr) Accès à une ressource collective
US12008673B2 (en) Protecting documents with security overlays
US11575976B2 (en) Omnidirectional video streaming
US10748203B2 (en) Serving related content via a content sharing service
EP1293909B1 (fr) Controle d&#39;accès dynamique d&#39;une fonction à une ressource collective.
EP1341080A1 (fr) Système de traitement d&#39;instructions d&#39;un programme
FR3042292A1 (fr) Procede d&#39;optimisation de decomposition d&#39;un signal asynchrone

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 07847152

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 12514483

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 07847152

Country of ref document: EP

Kind code of ref document: A1