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 PDFInfo
- 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
Links
- 238000012545 processing Methods 0.000 title claims abstract description 12
- 238000001514 detection method Methods 0.000 claims abstract description 13
- 238000005204 segregation Methods 0.000 claims abstract description 9
- 230000006870 function Effects 0.000 claims description 18
- 238000012800 visualization Methods 0.000 claims description 8
- 238000000034 method Methods 0.000 claims description 6
- 238000005259 measurement Methods 0.000 claims description 5
- 238000013475 authorization Methods 0.000 claims description 3
- 230000002085 persistent effect Effects 0.000 claims description 3
- 238000012795 verification Methods 0.000 claims description 3
- 238000011161 development Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000000135 prohibitive effect Effects 0.000 description 1
- 229920006395 saturated elastomer Polymers 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/82—Protecting input, output or interconnection devices
- G06F21/84—Protecting input, output or interconnection devices output devices, e.g. displays or monitors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring 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/53—Monitoring 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/554—Detecting local intrusion or implementing counter-measures involving event detection and direct action
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting 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/79—Protecting 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
- G06F9/4887—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control 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/363—Graphics controllers
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control 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/39—Control of the bit-mapped memory
- G09G5/393—Arrangements for updating the contents of the bit-mapped memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/032—Protect output to user by software means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing 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/2101—Auditing as a secondary aspect
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing 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/2113—Multi-level security, e.g. mandatory access control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing 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/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2330/00—Aspects of power supply; Aspects of display protection and defect management
- G09G2330/12—Test circuits or failure detection circuits included in a display system, as permanent part thereof
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2360/00—Aspects of the architecture of display systems
- G09G2360/12—Frame memory handling
- G09G2360/125—Frame 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
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.
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)
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)
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)
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)
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 |
-
2006
- 2006-11-17 FR FR0610078A patent/FR2908916B1/fr active Active
-
2007
- 2007-11-13 US US12/514,483 patent/US20100058116A1/en not_active Abandoned
- 2007-11-13 WO PCT/EP2007/062279 patent/WO2008058965A1/fr active Application Filing
Patent Citations (2)
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)
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)
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'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'un appareil d'affichage et systeme d'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'affichage sur un ecran d'une maquette numerique d'un objet sous forme d'une image de synthese | |
FR2964775A1 (fr) | Procede d'estimation de l'occultation dans un environnement virtuel | |
FR2587520A1 (fr) | Appareil et procedes d'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'acces direct en memoire, dispositif et procede de reception, stockage et traitement de donnees correspondants | |
WO2023216088A1 (fr) | Commande de confidentialité d'images sur la base d'un contenu | |
EP3403218A1 (fr) | Dispositif de selection et description de points d'interets dans une sequence d'images, par exemple pour l'appariement de points d'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'accès dynamique d'une fonction à une ressource collective. | |
EP1341080A1 (fr) | Système de traitement d'instructions d'un programme | |
FR3042292A1 (fr) | Procede d'optimisation de decomposition d'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 |