FR2864657A1 - Customizable security control performing process for e.g. personal digital assistant, involves defining security procedure using language defining security rules, and processing language by compiling it into representations - Google Patents
Customizable security control performing process for e.g. personal digital assistant, involves defining security procedure using language defining security rules, and processing language by compiling it into representations Download PDFInfo
- Publication number
- FR2864657A1 FR2864657A1 FR0315489A FR0315489A FR2864657A1 FR 2864657 A1 FR2864657 A1 FR 2864657A1 FR 0315489 A FR0315489 A FR 0315489A FR 0315489 A FR0315489 A FR 0315489A FR 2864657 A1 FR2864657 A1 FR 2864657A1
- Authority
- FR
- France
- Prior art keywords
- subjects
- groups
- objects
- certain
- rules
- Prior art date
- Legal status (The legal status 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 status listed.)
- Granted
Links
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/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/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
Abstract
Description
La présente invention concerne un procédé pour le contrôle paramétrable deThe present invention relates to a method for the parametric control of
la sécurité de systèmes informatiques, ce procédé étant utilisable, mais non exclusivement, pour des systèmes informatiques disposant de faibles ressources matérielles. Un tel procédé permet au système informatique en question de réagir en cas de violation de certaines règles de sécurité par the security of computer systems, this method being usable, but not exclusively, for computer systems with low hardware resources. Such a method enables the computer system in question to react in case of violation of certain security rules by
exemple, et de façon non limitative, en émettant certains signaux visuels ou sonores, en bloquant le système informatique ou en le faisant passer dans un état spécifique tout en empêchant l'action en cours. for example, and in a nonlimiting manner, by emitting certain visual or audible signals, by blocking the computer system or by passing it to a specific state while preventing the action in progress.
D'une façon générale on sait que l'usage de systèmes informatiques portatifs tels que les assistants numériques personnels (PDA), les terminaux de type téléphone cellulaire, les terminaux de paiement bancaire, les terminaux de paiement portatif, se développe de manière extrêmement rapide. Ces systèmes informatiques offrent des services sous une forme compacte et imposent de capacités de stockage et de puissance de traitement limitées. In general, we know that the use of portable computer systems such as personal digital assistants (PDAs), cell phone type terminals, bank payment terminals, portable payment terminals, is developing extremely rapidly . These computer systems provide services in a compact form and require limited storage and processing power.
Certains de ces systèmes informatiques portatifs sont équipés de manière à pouvoir communiquer par une liaison sans fil sur des distances limitées avec d'autres systèmes informatiques en utilisant des signaux infrarouges ou radio. De nombreux systèmes informatiques portatifs peuvent également émettre et recevoir du courrier électronique et accéder à Internet. Some of these portable computer systems are equipped to communicate wirelessly over limited distances with other computer systems using infrared or radio signals. Many portable computer systems can also send and receive e-mail and access the Internet.
2864657 2 En termes de risques, plusieurs remarques doivent être prises en considération: - compte tenu de leur petite taille, les systèmes informatiques portatifs peuvent être égarés, sans surveillance particulière, ou être volés, - l'authentification de l'utilisateur peut être désactivée, permettant la divulgation des informations contenues dans le système informatique à toute personne ayant accès physique audit système informatique, - même si l'authentification de l'utilisateur est prévue, le mécanisme d'authentification peut être fragile ou facilement contourné, - la facilité avec laquelle des systèmes informatiques portatifs peuvent être interconnectés sans fil, combinée avec une authentification faible ou inexistante des parties concernées, fournit de nouvelles voies pour l'introduction des virus ou d'autres types de code délictueux. 2864657 2 In terms of risks, several remarks should be taken into consideration: - given their small size, portable computer systems can be misplaced, unattended, or stolen, - user authentication can be disabled permitting the disclosure of the information contained in the computer system to any person having physical access to said computer system, - even if the authentication of the user is provided, the authentication mechanism may be fragile or easily circumvented, - the facility with which portable computer systems can be wirelessly interconnected, combined with weak or nonexistent authentication of the parties involved, provides new avenues for the introduction of viruses or other types of malicious code.
Les risques deviennent plus importants quand le système informatique portatif est utilisé comme point d'entrée vers un réseau d'entreprise ou comme fournisseur de services offerts par un opérateur de télécommunication. Dans le meilleur des cas, une entreprise ou un agent de sécurité voudrait pouvoir exprimer, surveiller, et imposer un contrôle de sécurité afin de réduire les risques sur le système informatique. The risks become greater when the portable computer system is used as a point of entry to a corporate network or as a service provider offered by a telecommunication operator. At best, a company or security agent would like to be able to voice, monitor, and enforce security controls to reduce the risk to the computer system.
Les systèmes informatiques portatifs existants manquent notamment de moyens de contrôle suffisants pour imposer l'utilisation de mécanismes disponibles selon une procédure de sécurité prescrite. Un contrôleur de sécurité devrait permettre à l'utilisateur de définir ses propres règles sur son système informatique sans l'autoriser à contourner les règles générales définies par l'agent de sécurité. A titre d'exemple non limitatif, les règles de sécurité peuvent être utilisées, pour: interdire l'utilisation d'un service qui, en cas d'abus, pourrait infliger des dégâts ou des pertes à l'utilisateur du système infoi natique, à l'entreprise ou à l'opérateur, 2864657 3 - interdire l'utilisation d'un service sensible du système d'exploitation à toute application pour le réserver aux composants du système d'exploitation lui-même, - interdire l'installation d'une application qui accéderait à un service sans autorisation explicite de l'utilisateur, - réserver l'utilisation d'un service à des utilisateurs privilégiés, En plus des interdictions d'effectuer certaines actions, ce contrôleur peut déclencher des actions permettant de signaler la tentative de violation de la procédure de sécurité, comme, par exemple, l'émission de signaux visuels ou sonores, le blocage complet du système informatique ou l'indisponibilité de certaines fonctions, le changement d'état interne du système informatique, etc. Deux contraintes majeures doivent être prises en considération dans le 15 contexte décrit précédemment: - la nécessité de personnalisation (ou paramétrage) d'un contrôleur de sécurité par différents acteurs (par exemple l'agent de sécurité, l'opérateur, l'utilisateur, etc.): un contrôleur n'offrant pas cette possibilité serait trop rigide pour être utilisable en pratique. Existing portable computer systems lack, in particular, sufficient control means to impose the use of available mechanisms according to a prescribed safety procedure. A security controller should allow the user to define his own rules on his computer system without allowing him to circumvent the general rules defined by the security officer. By way of non-limiting example, the security rules can be used to: prohibit the use of a service which, in case of abuse, could inflict damage or loss on the user of the computer system, to the company or operator, 2864657 3 - prohibit the use of a sensitive operating system service to any application to reserve it for the components of the operating system itself, - prohibit the installation of an application that would access a service without the explicit authorization of the user, - reserve the use of a service to privileged users, In addition to the prohibitions to perform certain actions, this controller can trigger actions to signal the attempted breach of the security procedure, such as, for example, the issuance of visual or audible signals, the complete blocking of the computer system or the unavailability of certain functions; t internal computer system, etc. Two major constraints must be taken into consideration in the context described above: the need for customization (or parameterization) of a security controller by different actors (for example the security agent, the operator, the user, etc.): a controller not offering this possibility would be too rigid to be usable in practice.
- la nécessité de mettre en oeuvre le contrôleur de sécurité de manière efficace sur de petits systèmes informatiques disposant de ressources limitées. - the need to implement the security controller effectively on small computer systems with limited resources.
Deux techniques principales ont été exploitées pour satisfaire le besoin de personnalisation d'un contrôleur de sécurité: - la personnalisation par des interfaces dédiées qui peuvent être exploitées par les différents acteurs (agent de sécurité, utilisateur, etc.) pour définir (ou paramétrer) une procédure de sécurité par exemple en choisissant des éléments dans une liste ou en cochant des cases dans un tableau; ce mode de personnalisation est trop simple pour pouvoir prendre en compte les exigences variées des différents acteurs concernés par les systèmes informatiques portatifs (agent de sécurité, utilisateur, opérateur, etc.) ; 2864657 4 - la définition des procédures de sécurité en utilisant un langage dédié ; les langages dédiés existants, trop riches, ne sont pas appropriés aux systèmes informatiques portatifs dont les ressources matérielles sont limitées. Two main techniques have been exploited to satisfy the need for customization of a security controller: - customization by dedicated interfaces that can be exploited by the various actors (security agent, user, etc.) to define (or parameterize) a security procedure, for example by choosing elements from a list or checking boxes in a table; this mode of personalization is too simple to take into account the varied requirements of the various actors concerned by the portable computer systems (security agent, user, operator, etc.); 2864657 4 - the definition of security procedures using a dedicated language; the existing, over-rich, dedicated languages are not suitable for portable computer systems with limited hardware resources.
L'invention a donc plus particulièrement pour but de supprimer ces inconvénients. The object of the invention is therefore more particularly to eliminate these disadvantages.
A cet effet, elle propose un procédé pour le contrôle paramétrable de la sécurité des systèmes informatiques, applicable notamment, mais non exclusivement, à des systèmes informatiques portatifs ou embarqués disposant de faibles ressources matérielles, comprenant: la définition d'une procédure de sécurité à l'aide d'un langage permettant de définir des règles de sécurité, faisant intervenir des sujets représentant les entités actives dudit système informatique capables d'effectuer des actions sur des objets représentant les entités passives dudit système informatique, et un traitement dudit langage permettant d'appliquer les dites règles de sécurité dans les susdits systèmes informatiques comprenant une compilation du susdit langage en des représentations internes, et une exploitation desdites représentations internes à des fins de contrôle de sécurité. To this end, it proposes a method for the parametric control of the security of computer systems, applicable in particular, but not exclusively, to portable or embedded computer systems with low hardware resources, including: the definition of a security procedure to using a language for defining security rules, involving subjects representing the active entities of said computer system capable of performing actions on objects representing the passive entities of said computer system, and a processing of said language allowing applying said security rules in the aforesaid computer systems comprising a compilation of the aforesaid language into internal representations, and an exploitation of said internal representations for security control purposes.
La procédure de sécurité comprend une pluralité de règles de contrôle qui indiquent des autorisations pour des sujets (ou acteurs) d'accéder à des objets (ou ressources, biens) pour exécuter une action particulière sur ces objets. The security procedure includes a plurality of control rules that indicate permissions for subjects (or actors) to access objects (or resources, assets) to perform a particular action on those objects.
L'action peut consister, par exemple, et d'une manière non limitative, en la lecture, la création ou la modification de l'objet concerné. La procédure de sécurité comprend également des traitements spécifiques, dits d'exception, en cas de tentative d'infraction à une règle de sécurité. Ces traitements d'exception peuvent consister, par exemple en l'émission de signaux visuels 2864657 5 ou sonores, le blocage complet de l'appareil ou l'indisponibilité de certaines fonctions, le changement d'état interne du système, etc. On considère des ensembles prédéfinis de sujets, d'objets et de types de 5 services. Une procédure de sécurité comporte les déclarations suivantes: - Déclarations des groupes de sujets (optionnel). The action may consist, for example, and in a non-limiting manner, in reading, creating or modifying the object concerned. The security procedure also includes specific treatments, known as exceptions, in the event of an attempt to breach a security rule. These exceptional treatments may consist, for example in the emission of visual signals 2864657 5 or audible, the complete blocking of the apparatus or the unavailability of certain functions, the change of internal state of the system, etc. Predefined sets of subjects, objects and types of services are considered. A security procedure includes the following statements: - Statements of groups of subjects (optional).
Une telle déclaration consiste à attribuer un identificateur à un ensemble de sujets. Ce type de déclaration permet ensuite d'associer des règles de contrôle à un ensemble de sujets. Un sujet est représenté par un identificateur, et, sur option, des attributs de sécurité (indiquant, par exemple, si le sujet a été authentifié et par qui). Ceci permet ensuite de définir des règles d'accès dépendant de l'origine d'un sujet. Such a statement consists in assigning an identifier to a set of subjects. This type of declaration then makes it possible to associate control rules with a set of subjects. A subject is represented by an identifier, and, optionally, security attributes (indicating, for example, whether the subject has been authenticated and by whom). This then makes it possible to define access rules depending on the origin of a subject.
- Déclarations des groupes d'objets (optionnel). - Declarations of groups of objects (optional).
Une telle déclaration comprend la définition d'un groupe d'objets et, sur option, de sous-groupes d'objets. Une définition de groupe d'objets présente un nom de groupe qui servira à classer des objets selon certaines propriétés. Certains groupes peuvent être pré-définis dans le système. Une déclaration de sous-groupe permet de classer des objets en sous-ensembles plus spécialisés. Such a statement includes the definition of a group of objects and, optionally, subgroups of objects. An object group definition has a group name that will be used to classify objects based on certain properties. Some groups can be pre-defined in the system. A subgroup statement classifies objects into more specialized subsets.
- Déclarations des services (optionnel). - Declarations of services (optional).
Une telle déclaration se compose d'un attribut indiquant le type du service, un identificateur de service (unique), les ressources auxquelles s'applique le 25 service et l'ensemble des fonctions supportées par le service. Such a statement consists of an attribute indicating the type of the service, a service identifier (unique), the resources to which the service applies and all the functions supported by the service.
- Déclaration des règles de contrôle. - Declaration of control rules.
Des règles positives et des règles négatives de contrôle d'accès peuvent être définies. Positive rules and negative rules of access control can be defined.
Une règle positive de contrôle autorise s à réaliser a, où * s est un sujet ou un groupe de sujets, 2864657 6 * a est une action ou un ensemble d'actions sur des ressources, où - une action est un type de service, ou un identificateur de service, ou un identificateur d'une fonction de service. A positive control rule allows s to perform a, where * s is a topic or a group of topics, 2864657 6 * a is an action or set of actions on resources, where - an action is a service type, or a service identifier, or an identifier of a service function.
- une ressource est un objet ou un groupe d'objets. Une règle négative de contrôle interdit à s de réaliser a, où s et a sont définis comme cidessus. De plus, une règle négative peut être associée (de manière optionnelle) à un traitement adéquat (par exemple: passage dans un état spécifique, émission d'un signal, blocage partiel ou total de l'appareil, etc.), dit traitement d'exception . Le traitement d'exception par défaut est l'interdiction de l'action indiquée dans la règle. - a resource is an object or group of objects. A negative control rule forbids s to perform a, where s and a are defined as above. In addition, a negative rule can be associated (optionally) with a suitable treatment (for example: transition to a specific state, transmission of a signal, partial or total blocking of the apparatus, etc.) exception. The default exception handling is the prohibition of the action specified in the rule.
Chaque règle peut également être associée (de manière optionnelle) à des attributs, dits de sécurité, comme, par exemple, le niveau de responsabilité de l'acteur (agent de sécurité, opérateur, utilisateur, etc.) ayant introduit la règle. Ces attributs de sécurité peuvent être utilisés par la procédure de traitement d'incohérence en cas d'incompatibilité entre plusieurs règles de sécurité. Ceci permet notamment d'assurer que les règles définies par l'agent de sécurité l'emporteront sur toutes celles qui sont introduites par l'utilisateur. Each rule can also be associated (optionally) with so-called security attributes, such as, for example, the level of responsibility of the actor (security agent, operator, user, etc.) who introduced the rule. These security attributes can be used by the inconsistency handling procedure in the event of incompatibility between multiple security rules. This makes it possible to ensure that the rules defined by the security agent will prevail over all those introduced by the user.
Une hiérarchie est implicitement associée aux actions. Une action TS1, par exemple, où TS1 est un type particulier de service, doit être comprise comme englobant chaque fonction de chaque service fourni par le type de service TS1. A hierarchy is implicitly associated with actions. An action TS1, for example, where TS1 is a particular type of service, should be understood as encompassing each function of each service provided by the service type TS1.
D'une manière analogue, l'action TS1.S1 doit être comprise comme englobant toutes les fonctions fournies par le service S1 de type TS1. On utilisera le symbole < pour indiquer que deux actions sont en relation hiérarchique d'inclusion décrite précédemment (TS1 < TS2 si TS2 englobe ou inclut TS1). Similarly, the action TS1.S1 should be understood as encompassing all the functions provided by the service S1 of type TS1. The symbol <will be used to indicate that two actions have an inclusion hierarchy relationship described above (TS1 <TS2 if TS2 includes or includes TS1).
Une procédure de sécurité selon l'invention permet donc d'indiquer pour un sujet donné plusieurs règles d'accès. La définition d'une règle positive et d'une 2864657 -7- règle négative de contrôle pour un même sujet et une même action sur une ressource donnée amène à un conflit. Une stratégie de résolution des conflits peut être définie pour chaque type de conflit. Cette stratégie peut exploiter par exemple les attributs de sécurité associés aux règles afin de garantir qu'une règle introduite par un acteur prioritaire (agent de sécurité par exemple) l'emporte sur une règle définie par l'utilisateur. A security procedure according to the invention therefore makes it possible to indicate for a given subject several access rules. The definition of a positive rule and a negative rule of control for the same subject and the same action on a given resource leads to a conflict. A conflict resolution strategy can be defined for each type of conflict. This policy can exploit, for example, the security attributes associated with the rules to ensure that a rule introduced by a priority actor (security agent for example) overrides a rule defined by the user.
Un mode d'exécution de l'invention sera décrit ci-après, à titre d'exemple non limitatif, avec référence aux dessins annexés: É la figure 1 illustre un exemple de déclaration d'une procédure de contrôle de sécurité pour la téléphonie mobile, É la figure 2 illustre la traduction de la procédure de sécurité et de l'information atomique de ladite procédure de sécurité. One embodiment of the invention will be described below, by way of non-limiting example, with reference to the accompanying drawings: FIG. 1 illustrates an example of a declaration of a security control procedure for mobile telephony FIG. 2 illustrates the translation of the security procedure and the atomic information of said security procedure.
Dans cet exemple, comme représenté sur la figure 1, la procédure de contrôle déclare un groupe de sujets G, trois groupes d'objets: "NationalNumber", "InternationalNumber" et "FreeNumber", chacun d'eux étant une spécialisation d'un groupe prédéfini d'objets 20 "PhoneNumbers", et deux règles (l'une positive, l'autre négative) pour le groupe G ainsi qu'une règle (positive) pour le sujet prédéfini "my_application". In this example, as shown in FIG. 1, the control procedure declares a group of subjects G, three groups of objects: "NationalNumber", "InternationalNumber" and "FreeNumber", each of which is a specialization of a predefined group of 20 "PhoneNumbers" objects, and two rules (one positive, the other negative) for group G as well as a rule (positive) for the predefined subject "my_application".
La notation [0-9] * représente une suite de chiffres de longueur quelconque. The notation [0-9] * represents a sequence of numbers of any length.
Le traitement d'exception associé à la règle négative est l'émission d'un signal sonore spécifique. The exception processing associated with the negative rule is the emission of a specific sound signal.
La mise en oeuvre d'une procédure de contrôle de sécurité consiste à examiner les règles de la procédure, lors de toute tentative d'accès à une ressource par un sujet, afin de décider si la permission d'accéder à la ressource est accordée au sujet et, dans la négative, d'effectuer le traitement d'exception associé à la 2864657 8 règle négative concernée. The implementation of a security screening procedure consists of examining the rules of the procedure, during any attempt to access a resource by a subject, in order to decide whether the permission to access the resource is granted to the person. subject and, if not, to perform the exception processing associated with the relevant negative rule.
L'ensemble de ces opérations est effectué par le processeur du système informatique. Par conséquent, dans le cas où le processeur est limité en terme de ressources (stockage, calcul), il est extrêmement important que la procédure de sécurité puisse être enregistrée de manière compacte dans le système informatique et qu'il soit possible de mettre en application un calcul efficace des règles de décision (calcul qu'on appellera opération de décision par la suite). All of these operations are performed by the processor of the computer system. Therefore, in the case where the processor is limited in terms of resources (storage, calculation), it is extremely important that the security procedure can be compactly recorded in the computer system and that it is possible to implement an efficient calculation of the decision rules (a calculation that will be called a decision operation later on).
Selon l'invention une mise en oeuvre efficace d'une procédure de contrôle de sécurité peut être réalisée à l'aide des deux étapes suivantes: (1) vérification de la cohérence de l'ensemble de règles de contrôle: il s'agit de vérifier que les règles de contrôle d'accès définies dans la procédure ne sont pas contradictoires et associent les sujets, les actions et les ressources de manière adéquate. Une procédure défectueuse est, par exemple, une procédure qui indique une règle de contrôle d'accès pour un sujet qui n'est ni prédéfini, ni explicitement déclaré par ailleurs. Un autre exemple est celui concernant une règle de contrôle pour une action a sur un certain objet o tel que o n'est pas un objet sur lequel l'action peut être exécutée. According to the invention, an effective implementation of a security check procedure can be carried out using the following two steps: (1) verification of the coherence of the set of control rules: it is a question of check that the access control rules defined in the procedure are not contradictory and associate topics, actions, and resources appropriately. A faulty procedure is, for example, a procedure that indicates an access control rule for a subject that is neither predefined nor explicitly declared elsewhere. Another example is the one about a control rule for an action a on a certain object o such that o is not an object on which the action can be executed.
La vérification de cohérence d'une procédure de sécurité préalablement à sa traduction offre les avantages suivants: * elle permet de prévenir dans une première étape des erreurs qui 25 pourraient provoquer le défaut de fonctionnement de la traduction de la procédure. The consistency check of a security procedure prior to its translation offers the following advantages: it makes it possible, in a first step, to prevent errors which could cause the malfunction of the translation of the procedure.
* elle permet de simplifier la définition de l'opération de décision: si, par hypothèse, on sait que cette opération ne sera effectuée que sur des procédures conformes, il n'est pas nécessaire de vérifier dynamiquement (à l'exécution) la cohérence de la procédure. Ceci améliorera de manière significative l'efficacité de l'opération de décision d'accès. * it simplifies the definition of the decision operation: if, by hypothesis, it is known that this operation will only be performed on conforming procedures, it is not necessary to check dynamically (at runtime) the coherence of the procedure. This will significantly improve the efficiency of the access decision operation.
2864657 9 (2) la traduction de la procédure de sécurité dans une représentation interne compacte permettant un accès efficace à ses règles de contrôle. 2864657 9 (2) the translation of the security procedure into a compact internal representation allowing effective access to its control rules.
Une procédure de sécurité est formée de quatre composants principaux: les groupes de sujets, les groupes d'objets, les services (qui permettent de définir les actions) et les règles de contrôle d'accès. Les règles de contrôle d'accès sont le plus souvent examinées. Les règles de contrôle d'une procédure de sécurité peuvent être considérées comme des relations liant les sujets (et groupes de sujets), les actions et les objets. A security procedure consists of four main components: topic groups, object groups, services (which define actions), and access control rules. Access control rules are most often examined. The rules of control of a security procedure can be considered as relations linking subjects (and groups of subjects), actions and objects.
Le procédé selon l'invention permet différentes structures de données pour représenter ces informations. Le choix parmi des structures candidates dépend des facteurs suivants: É les accès à la structure exigés par l'opération de décision (de façon à permettre une mise en oeuvre efficace de cette opération), et É l'espace requis par l'implémentation de chaque structure. The method according to the invention allows different data structures to represent this information. The choice among candidate structures depends on the following factors: É the accesses to the structure required by the decision operation (in order to allow an efficient implementation of this operation), and É the space required by the implementation of each structure.
La représentation interne d'une procédure peut elle-même être traduite (ou compilée) en code natif, c'est-à-dire, en un code supporté par la plate-forme du système informatique. L'avantage de séparer la génération de la représentation interne de la compilation en code natif est que la première traduction permet d'obtenir une version optimisée de la procédure indépendante de la plate- folme sur laquelle elle sera exécutée. The internal representation of a procedure can itself be translated (or compiled) into native code, that is to say, into a code supported by the platform of the computer system. The advantage of separating the generation of the internal representation of the compilation into native code is that the first translation makes it possible to obtain an optimized version of the procedure independent of the platform on which it will be executed.
La vérification de cohérence d'une procédure de sécurité, sa traduction en une représentation interne optimisée et l'exploitation de cette représentation pour effectuer l'opération de décision sont les trois étapes essentielles du procédé selon l'invention qui permettent la mise en oeuvre efficace d'une procédure de sécurité paramétrée sur des systèmes informatiques disposant de ressources (mémoire, calcul) limitées. Ces trois étapes sont décrites successivement: La vérification de cohérence d'une procédure de sécurité inclut les étapes suivantes: - Etape 1: vérifier la cohérence des déclarations de groupes de sujets. Ceci revient à vérifier que, pour chaque déclaration de groupe de sujets: * tous les membres du groupe sont des sujets distincts prédéfinis, et * l'identificateur attaché au groupe n'existe pas déjà. The consistency check of a security procedure, its translation into an optimized internal representation and the use of this representation to perform the decision operation are the three essential steps of the method according to the invention which allow the efficient implementation. a security procedure set up on computer systems with limited resources (memory, calculation). These three steps are described successively: The consistency check of a security procedure includes the following steps: - Step 1: check the consistency of the statements of groups of subjects. This is equivalent to verifying that, for each topic group declaration: * all members of the group are separate predefined topics, and * the group-attached identifier does not already exist.
- Etape 2: vérifier la cohérence des déclarations de groupes d'objets. Ceci revient à vérifier que, pour chaque déclaration de groupe 15 d'objets: * tous les membres du groupe sont des objets distincts prédéfinis, et * l'identificateur attaché au groupe n'existe pas déjà. - Step 2: check the consistency of object group declarations. This is to verify that for each object group declaration: * all members of the group are separate predefined objects, and * the identifier attached to the group does not already exist.
- Etape 3: vérifier la cohérence des services. Ceci revient à vérifier que: * la définition des ressources de chaque service est bien formée. Les ressources d'un service étant définies comme des groupe d'objets, il s'agit de vérifier la cohérence de ces groupes comme indiqué ci-dessus. - Step 3: check the consistency of the services. This amounts to checking that: * the definition of the resources of each service is well formed. The resources of a service being defined as groups of objects, it is a question of checking the coherence of these groups as indicated above.
* la définition des fonctions du service est bien formée. Ceci revient à vérifier que: o les identificateurs de fonctions sont tous distincts, et o pour chaque fonction, le groupe d'objets, le cas échéant, sur lesquels la fonction peut être appliquée est déjà défini. * the definition of the functions of the service is well formed. This amounts to checking that: o the function identifiers are all distinct, and o for each function, the group of objects, if any, on which the function can be applied is already defined.
* l'identificateur attaché au service n'existe pas déjà. * The identifier attached to the service does not already exist.
- Etape 4: vérifier que les règles de sécurité sont bien formées. Ceci revient à vérifier que: * chaque règle de contrôle d'accès satisfait les critères suivants: o le sujet de la règle est défini (sujet prédéfini ou identificateur d'un des groupes de sujets), et o l'ensemble des paires (action, objet) de la règle est bien formé. Ceci revient à vérifier que: cet ensemble n'est pas vide, - chaque action de cet ensemble appartient à un des services déclarés, et - l'objet associé à chaque action est valide (appartient aux ressources déclarées pour cette action). - Step 4: check that the safety rules are well formed. This is to verify that: * each access control rule satisfies the following criteria: o the subject of the rule is defined (predefined subject or identifier of one of the groups of subjects), and o the set of pairs (action , object) of the rule is well formed. This amounts to verifying that: this set is not empty, - each action of this set belongs to one of the declared services, and - the object associated with each action is valid (belongs to the resources declared for this action).
* si des règles de contrôle sont en conflit, il existe une procédure de résolution des conflits (dite procédure de traitement d'incohérence) qui spécifie les actions à appliquer; cette procédure peut, par exemple, utiliser les attributs de sécurité associés à deux règles de contrôle conflictuelles pour déterminer que l'une des deux l'emporte sur l'autre. * if there are conflicting control rules, there is a conflict resolution procedure (the so-called inconsistency handling procedure) that specifies the actions to be applied; this procedure may, for example, use the security attributes associated with two conflicting control rules to determine that one of them outweighs the other.
Deux règles ri et r2 sont en conflit si: o ri est une règle positive (respectivement négative) et r2 est une règle négative (respectivement positive), et o S I est le sujet de ri, S2 est le sujet de r 2, et S i et S2 sont soit identiques, soit dans une relation d'inclusion (S 1 est inclus dans S2 ou vice-versa) , et 2864657 -12- ri concerne une action al sur un objet o, r2 concerne une action a2 sur le même objet o et al et a2 sont la même action ou sont liés par la relation c'est à dire al < a2 ou a2 < al). Two rules ri and r2 are in conflict if: o ri is a positive rule (respectively negative) and r2 is a negative rule (respectively positive), and o SI is the subject of ri, S2 is the subject of r 2, and S i and S2 are either identical or in an inclusion relation (S1 is included in S2 or vice versa), and 2864657 -12- ri relates to an action al on an object o, r2 relates to an action a2 on the same object o and al and a2 are the same action or are related by the relation ie al <a2 or a2 <al).
Le procédé selon l'invention n'impose pas que les étapes 1 à 4 de la vérification soient exécutées dans cet ordre. The method according to the invention does not require that steps 1 to 4 of the verification are performed in this order.
La traduction de la susdite procédure de sécurité en représentations internes 10 optimisée comporte les deux étapes suivantes: - Etape 1: la traduction de chaque information atomique de la procédure dans une représentation numérique correspondante. Par information atomique, on entend les différents types d'identificateurs impliqués dans une déclaration de procédure de sécurité, comme, par exemple, ceux des sujets, des groupes de sujets, des groupes d'objets et des services. Un autre type d'information atomique est celui utilisé pour représenter des actions et, en particulier, des fonctions des services. Cette traduction permet d'obtenir une représentation mémoire compacte de la procédure. A titre d'exemple, l'information qui identifie une fonction d'un service, qui comprend la juxtaposition de trois identificateurs, peut être traduite en représentation TSSSFFFF de quatre octets où T est le type de service (1 quartet), SSS est le service (3 quartets), et FFFF est la fonction (4 quartets). Afin d'optimiser l'espace mémoire nécessaire, les différentes occurrences d'une même information atomique peuvent être partagées dans une table de correspondance et accédées à l'aide de références pointant sur l'entrée appropriée de la table. The translation of the aforementioned security procedure into optimized internal representations comprises the following two steps: Step 1: the translation of each atomic information of the procedure into a corresponding digital representation. Atomic information refers to the different types of identifiers involved in a security procedure statement, such as, for example, those of subjects, groups of subjects, groups of objects, and services. Another type of atomic information is the one used to represent actions and, in particular, functions of services. This translation provides a compact memory representation of the procedure. For example, information that identifies a function of a service, which includes the juxtaposition of three identifiers, can be translated into a TSSSFFFF representation of four bytes where T is the service type (1 quartet), SSS is the service (3 nibbles), and FFFF is the function (4 nibbles). In order to optimize the necessary memory space, the different occurrences of the same atomic information can be shared in a correspondence table and accessed with references pointing to the appropriate entry of the table.
- Etape 2: la traduction des règles de contrôle de la procédure dans une structure de données optimisée. La génération de cette structure de données est 30 optimisée en fonction des types d'accès exigés par l'opération de décision. - Step 2: Translation of the procedure control rules into an optimized data structure. The generation of this data structure is optimized according to the types of access required by the decision operation.
2864657 - 13 - L'exploitation des susdites représentations internes pour effectuer l'opération de décision est déclenchée quand une demande d'accès à un service a été détectée. Une demande d'accès peut être caractérisée par une question de la forme: s peut-il exécuter a sur o? dans laquelle s est un (groupe de) sujet(s), a est une action et o est une (un groupe de) ressource(s). Pour l'exemple de la procédure déclarée, représentée sur la figure 1, une demande de décision d'accès concernant la permission d'envoyer un fax à un numéro de téléphone étranger pourrait être formulée comme suit: Fax peut-il exécuter OS.Telephony.Dial sur 005983422358 ? Un mode de résolution d'une demande de décision d'accès concernant une action a, consiste à appliquer les étapes suivantes: ADl) déterminer l'ensemble S de paires ( action , objet ou ensemble d'objets ) déclarés dans la procédure pour le sujet s, puis déterminer le sous- ensemble SA de S qui correspond à l'action a, AD2) vérifier si un des éléments de SA s'applique à l'objet o (c'est à dire si un 20 élément (a,y) de SA est tel que y est égal à o ou inclut o). The exploitation of the aforementioned internal representations to perform the decision operation is triggered when a request for access to a service has been detected. An access request can be characterized by a question of the form: can s run on o? where s is a (group of) subject (s), a is an action and o is a (a group of) resource (s). For the example of the declared procedure, shown in Figure 1, an access decision request for permission to send a fax to a foreign telephone number could be formulated as follows: Can Fax Execute OS.Telephony .Dial on 005983422358? A method for resolving an access decision request concerning an action a consists in applying the following steps: ADl) determining the set S of pairs (action, object or set of objects) declared in the procedure for the subject s, then determine the subset SA of S which corresponds to the action a, AD2) check whether one of the elements of SA applies to the object o (ie if an element (a, y) of SA is such that y is 0 or includes o).
Par exemple, dans le cas de la procédure de sécurité représentée dans la figure 1 deux règles de contrôle ont été définies pour le sujet Fax (plus précisément pour le groupe G auquel le sujet Fax appartient). Puisque 005983422358 est un numéro de téléphone international, et qu'il existe une règle négative pour l'action "OS.Telephony.Dial" sur les numéros de téléphone internationaux, la demande d'accès est refusée. Ce refus s'accompagne de l'émission du signal sonore spécifique double bip . For example, in the case of the security procedure shown in FIG. 1, two control rules have been defined for the subject Fax (more precisely for the group G to which the subject Fax belongs). Since 005983422358 is an international phone number, and there is a negative rule for the "OS.Telephony.Dial" action on international phone numbers, the access request is denied. This refusal is accompanied by the emission of the specific double beep sound signal.
Etant donné un (groupe de) sujet(s) s et une action a, la procédure AD1) implique les traitements suivants: 2864657 -14- - si s est un sujet prédéfini, déterminer tous les groupes de sujets dans lesquels s apparaît, puis effectuer l'union des ensembles de paires (action, objet) qui ont été déclarées pour ces groupes dans la procédure de sécurité, - si s est un groupe de sujets, effectuer l'union des ensembles de paires (action, objet) qui ont été déclarées pour s, puis - filtrer les paires (a', o') rassemblées et ne garder que celles qui vérifient a < a' (c'est à dire celles qui concernent l'action a). Given a (group of) subject (s) and an action a, the procedure AD1) involves the following treatments: 2864657 -14- - if s is a predefined subject, determine all groups of subjects in which s appears, then perform the union of sets of pairs (action, object) that have been declared for these groups in the security procedure, - if s is a group of subjects, perform the union of sets of pairs (action, object) that have have been declared to s, then filter the pairs (a ', o') collected and keep only those which satisfy a <a '(ie those which concern action a).
La procédure ADl) décrite ci-dessus peut être mise en oeuvre efficacement en appliquant le mode de réalisation suivant pour la traduction des règles de contrôle d'une procédure Les règles de contrôle sont traduites en un tableau dont chaque élément 15 contient (1) la représentation interne d'un sujet pré-défini (ou d'un groupe de sujets) S, (2) un pointeur sur un tableau de valeurs booléennes indiquant pour chaque sujet prédéfini, s'il appartient ou non à s (cette information étant vide dans le cas où S est un sujet pré-défini et non un groupe de sujets), (3) un pointeur sur une structure contenant les représentations internes des actions et des objets associés à s avec un signe (bit) indiquant si la règle de contrôle définit une autorisation ou une interdiction et, en cas de valeur négative, un pointeur (optionnel) sur le code de traitement d'exception associé. The procedure ADl) described above can be implemented effectively by applying the following embodiment for the translation of the control rules of a procedure. The control rules are translated into a table of which each element contains (1) the internal representation of a pre-defined subject (or group of subjects) S, (2) a pointer to an array of Boolean values indicating for each predefined subject, whether or not it belongs to s (this information being empty in the case where S is a pre-defined subject and not a group of subjects), (3) a pointer to a structure containing the internal representations of the actions and objects associated with s with a sign (bit) indicating whether the rule of control defines an authorization or prohibition and, in the case of a negative value, an (optional) pointer to the associated exception handling code.
La figure 2 illustre, à titre d'exemple, la traduction, décrite ci-dessus, de la procédure de sécurité représentée sur la figure 1. La figure 2 illustre également 30 la traduction de l'information atomique de cette procédure de sécurité. 25 FIG. 2 illustrates, by way of example, the translation, described above, of the security procedure shown in FIG. 1. FIG. 2 also illustrates the translation of the atomic information of this security procedure. 25
2864657 - 15- Deux types de structures sont à considérer, comme représenté sur la figure 2: 1. Le tableau CRS qui correspond à la traduction des règles de contrôle de la procédure de sécurité, comme représenté sur la figure 1, selon la procédure de traduction décrite ci-dessus. Two types of structures are to be considered, as represented in FIG. 2: 1. The CRS table which corresponds to the translation of the control rules of the security procedure, as represented in FIG. 1, according to the procedure of FIG. translation described above.
2. Les tableaux de correspondance qui contiennent les représentations internes des informations atomiques utilisées dans les règles de contrôle. Trois tableaux, TRIS, TRIA, TRIO, associent une représentation numérique à la représentation interne des entités (sujets, actions et objets respectivement) qui participent aux règles de contrôle. 2. Correspondence tables that contain the internal representations of the atomic information used in the control rules. Three tables, TRIS, TRIA, TRIO, associate a numerical representation with the internal representation of the entities (subjects, actions and objects respectively) that participate in the control rules.
Le tableau CRS est un tableau à deux éléments CRS1, CRS2 (qui correspondent aux deux sujets et groupes de sujets pour lesquels des règles ont été définies, comme représenté sur la figure 1). Le premier élément du tableau CRS1 est composé : É de l'indice (4) qui identifie la représentation interne du groupe G dans le tableau TRIS, É d'une référence RefTSG au tableau TSG qui enregistre les sujets pré- définis appartenant au groupe G, et É d'une référence RefLAG au tableau LAG des triplets (signe, action, objet) et quadruplets (signe, action, objet, traitement d'exception) correspondant aux règles de contrôle du groupe G. Le tableau TSG indique que les sujets correspondant aux représentations internes associées aux indices 0, 1, 2 du tableau TRIS (c'est-à-dire, fax, 25 combiné et minitel respectivement) appartiennent au groupe G. Le tableau LAG contient deux triplets et un quadruplet qui correspondent aux règles déclarées, comme représenté sur la figure 1, pour le groupe G. En particulier l'élément (-,0, 2, adresse de double-bip ) indique qu'il est interdit, pour n'importe quel sujet appartenant au groupe G, d'utiliser le service Dial (représenté par l'indice 0 du tableau TRIA) pour effectuer une 2864657 - 16- connexion vers un numéro de téléphone international (représenté par l'indice 2 du tableau TRIO) et qu'une tentative d'infraction sera signalée par un double bip sonore. The CRS array is a two-element array CRS1, CRS2 (which correspond to the two subjects and groups of subjects for which rules have been defined, as shown in Figure 1). The first element of the CRS1 array is composed of: E of the index (4) which identifies the internal representation of the group G in the table TRIS, É of a reference RefTSG in the table TSG which records the pre-defined subjects belonging to the group G , and É of a RefLAG reference in the LAG table of the triplets (sign, action, object) and quadruplets (sign, action, object, exception processing) corresponding to the control rules of the group G. The TSG table indicates that the subjects corresponding to the internal representations associated with the indices 0, 1, 2 of the table TRIS (that is, fax, combined and minitel, respectively) belong to the group G. The array LAG contains two triplets and a quadruplet which correspond to the rules declared, as represented in FIG. 1, for the group G. In particular the element (-, 0, 2, double-beep address) indicates that it is forbidden, for any subject belonging to the group G, to use the Dial service (representing the index 0 of the table TRIA) to perform a 2,864,657 - 16- connection to an international phone number (represented by the index of the table TRIO 2) and an attempt of violation will be signaled by a double beep.
Le deuxième élément du tableau CRS2 est composé : É de l'indice (3) du tableau TRIS qui identifie la représentation interne du sujet pré-défini my_application , É d'un élément vide EV ( my_application , étant un sujet, cet élément ne comporte pas de définition de groupe de sujet), É d'une référence RefLAMAPP au tableau LAMAPP des triplets (signe, action, objet) correspondant aux règles de contrôle du sujet my_application . Ce tableau contient un seul élément indiquant que le sujet est autorisé à utiliser le service Dial pour effectuer une connexion vers un numéro de téléphone non payant (représenté par l'indice 3 du tableau TRIO). The second element of the CRS2 array is composed of the index (3) of the TRIS array which identifies the internal representation of the pre-defined subject my_application, É of an empty element EV (my_application, being a subject, this element does not include no subject group definition), E from a RefLAMAPP reference to the LAMAPP array of triplets (sign, action, object) corresponding to the control rules of the subject my_application. This table contains a single element indicating that the subject is authorized to use the Dial service to connect to a non-paying telephone number (represented by index 3 of the TRIO chart).
Claims (14)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0315489A FR2864657B1 (en) | 2003-12-24 | 2003-12-24 | METHOD FOR PARAMETRABLE SECURITY CONTROL OF COMPUTER SYSTEMS AND EMBEDDED SYSTEMS USING THE SAME |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0315489A FR2864657B1 (en) | 2003-12-24 | 2003-12-24 | METHOD FOR PARAMETRABLE SECURITY CONTROL OF COMPUTER SYSTEMS AND EMBEDDED SYSTEMS USING THE SAME |
Publications (2)
Publication Number | Publication Date |
---|---|
FR2864657A1 true FR2864657A1 (en) | 2005-07-01 |
FR2864657B1 FR2864657B1 (en) | 2006-03-24 |
Family
ID=34639652
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR0315489A Expired - Lifetime FR2864657B1 (en) | 2003-12-24 | 2003-12-24 | METHOD FOR PARAMETRABLE SECURITY CONTROL OF COMPUTER SYSTEMS AND EMBEDDED SYSTEMS USING THE SAME |
Country Status (1)
Country | Link |
---|---|
FR (1) | FR2864657B1 (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5265221A (en) * | 1989-03-20 | 1993-11-23 | Tandem Computers | Access restriction facility method and apparatus |
US6212635B1 (en) * | 1997-07-18 | 2001-04-03 | David C. Reardon | Network security system allowing access and modification to a security subsystem after initial installation when a master token is in place |
WO2002014988A2 (en) * | 2000-08-18 | 2002-02-21 | Camelot Information Technologies Ltd. | A method and an apparatus for a security policy |
WO2002082332A2 (en) * | 2001-04-05 | 2002-10-17 | Zero Knowledge Systems Inc. | System for implementing and managing privacy policy in an enterprise |
US6530024B1 (en) * | 1998-11-20 | 2003-03-04 | Centrax Corporation | Adaptive feedback security system and method |
-
2003
- 2003-12-24 FR FR0315489A patent/FR2864657B1/en not_active Expired - Lifetime
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5265221A (en) * | 1989-03-20 | 1993-11-23 | Tandem Computers | Access restriction facility method and apparatus |
US6212635B1 (en) * | 1997-07-18 | 2001-04-03 | David C. Reardon | Network security system allowing access and modification to a security subsystem after initial installation when a master token is in place |
US6530024B1 (en) * | 1998-11-20 | 2003-03-04 | Centrax Corporation | Adaptive feedback security system and method |
WO2002014988A2 (en) * | 2000-08-18 | 2002-02-21 | Camelot Information Technologies Ltd. | A method and an apparatus for a security policy |
WO2002082332A2 (en) * | 2001-04-05 | 2002-10-17 | Zero Knowledge Systems Inc. | System for implementing and managing privacy policy in an enterprise |
Also Published As
Publication number | Publication date |
---|---|
FR2864657B1 (en) | 2006-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10554659B2 (en) | Anonymizing biometric data for use in a security system | |
Masoumzadeh et al. | Osnac: An ontology-based access control model for social networking systems | |
US11645395B2 (en) | Entity behavior catalog access management | |
Masoumzadeh et al. | Ontology-based access control for social network systems | |
Hintz et al. | Through a glass, darkly: Everyday acts of authoritarianism in the liberal west | |
TW202032466A (en) | User age prediction method, apparatus, and device | |
Schwabe et al. | Knowledge graphs: trust, privacy, and transparency from a legal governance approach | |
Akaichi et al. | Usage control specification, enforcement, and robustness: A survey | |
Ghazinour et al. | A model to protect sharing sensitive information in smart watches | |
US11271944B2 (en) | Authentication framework to enforce contractual geographical restrictions | |
Pereira et al. | The XACML standard-addressing architectural and security aspects | |
Li et al. | Facial payment use in China: an integrated view of privacy concerns and perceived benefits | |
FR2864657A1 (en) | Customizable security control performing process for e.g. personal digital assistant, involves defining security procedure using language defining security rules, and processing language by compiling it into representations | |
FR2822256A1 (en) | VERIFICATION OF CONFORMITY OF ACCESS TO OBJECTS IN A DATA PROCESSING SYSTEM WITH A SECURITY POLICY | |
Awad et al. | User as a super admin: Giving the end-users full control to manage access to their data in social media networks | |
Wilton | Identity and privacy in the digital age | |
Kimm et al. | Multilevel Security Embedded Information Retrieval and Tracking on Cloud Environments | |
Jindal et al. | Emerging trends of privacy and security in cloud computing | |
Yao et al. | Adpp: A novel anomaly detection and privacy-preserving framework using blockchain and neural networks in tokenomics | |
US8627072B1 (en) | Method and system for controlling access to data | |
Alonso | Zero-Order Privacy Violations and Automated Decision-Making about Individuals | |
Silva | Contributions to Personal Data Protection and Privacy Preservation in Cloud Environments | |
Oberoi et al. | Information integration and analysis: A semantic approach to privacy | |
CN109997166B (en) | System and method for intercepting intelligent contracts | |
Poliac et al. | Seismocardiogram (SCG) interpretation using neural networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PLFP | Fee payment |
Year of fee payment: 13 |
|
PLFP | Fee payment |
Year of fee payment: 14 |
|
PLFP | Fee payment |
Year of fee payment: 15 |
|
PLFP | Fee payment |
Year of fee payment: 17 |
|
PLFP | Fee payment |
Year of fee payment: 18 |
|
PLFP | Fee payment |
Year of fee payment: 19 |
|
PLFP | Fee payment |
Year of fee payment: 20 |