FR2843465A1 - Procede de communication entre applications destine a securiser l'acces aux donnees d'une application - Google Patents

Procede de communication entre applications destine a securiser l'acces aux donnees d'une application Download PDF

Info

Publication number
FR2843465A1
FR2843465A1 FR0210000A FR0210000A FR2843465A1 FR 2843465 A1 FR2843465 A1 FR 2843465A1 FR 0210000 A FR0210000 A FR 0210000A FR 0210000 A FR0210000 A FR 0210000A FR 2843465 A1 FR2843465 A1 FR 2843465A1
Authority
FR
France
Prior art keywords
application
request
value
applications
variable
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
Application number
FR0210000A
Other languages
English (en)
Other versions
FR2843465B1 (fr
Inventor
Vincent Bonnet
Serge Piasek
Lionel Provost
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CHECKFLOW
Original Assignee
CHECKFLOW
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by CHECKFLOW filed Critical CHECKFLOW
Priority to FR0210000A priority Critical patent/FR2843465B1/fr
Priority to US10/523,037 priority patent/US20060010319A1/en
Priority to EP03758210A priority patent/EP1527391A2/fr
Priority to PCT/FR2003/002466 priority patent/WO2004015571A2/fr
Priority to AU2003274227A priority patent/AU2003274227A1/en
Publication of FR2843465A1 publication Critical patent/FR2843465A1/fr
Application granted granted Critical
Publication of FR2843465B1 publication Critical patent/FR2843465B1/fr
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/468Specific access rights for resources, e.g. using capability register

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Storage Device Security (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

La présente invention concerne un procédé de communication entre au moins deux applications A et B dans un système d'exploitation destiné à empêcher l'application A d'accéder au contenu des informations d'une fenêtre de l'application B comprenant les étapes suivantes :- une étape de création d'au moins une variable par l'application B ;- une étape de réception d'une requête de l'application A par l'application B ;- une étape de vérification de la valeur de ladite variable par l'application B dans le but de vérifier la validité de ladite requête, ou d'authentifier sa provenance ;- une étape de réponse à ladite requête en fonction de ladite valeur et/ou ladite provenance.L'invention entend ainsi répondre au problème de la sécurisation des données personnelles fournies par l'utilisateur à une application et transmises ordinairement à toute autre application qui les demande. En particulier, l'invention sert à sécuriser les données contenues dans un navigateur web.

Description

PROC D DE COMMUNICATION ENTRE APPLICATIONS DESTINE
SECURISER L'ACCES AUX DONNEES D'UNE APPLICATION
La présente invention se rapporte au domaine de 5 la communication entre applications au sein d'un système d'exploitation. En effet, dans les systèmes d'exploitation d'ordinateur standard (" Windows " (marque déposée)...), les applications lancées échangent des messages par le biais du système pour obtenir des renseignements les unes sur les 10 autres.
La présente invention entend ainsi répondre au
problème de la confidentialité sur Internet en interdisant à certaines ou toutes les applications d'avoir accès aux données utilisateurs recueillies par un navigateur par 15 exemple.
En effet, de plus en plus, surfer sur Internet sans être espionné est une illusion. De nombreux logiciels " gratuits " disponibles sur Internet se servent de l'accès que l'utilisateur leur accorde en les installant pour 20 espionner les connexions de celui-ci et dresser un profil consommateur à revendre. Pire, certains logiciels ont pour but de ramener à leurs créateurs notamment les mots de passe, les identifiants, le numéro de carte de crédit ou tout autre information personnelle de l'utilisateur. La 25 méthode utilisée par ces logiciels espions (" spywares " en anglais) est simple: la plupart des systèmes d'exploitation étant faits pour que les applications puissent dialoguer entre elles, ces logiciels espions demandent simplement au navigateur l'adresse du site, ou 30 la valeur de certains champs d'une page web (en mode Secure Socket Layer, ou non...) remplis par l'utilisateur et le
navigateur leur fournit cette information.
L'art antérieur connaît déjà par le brevet 35 américain US6000032 un dispositif et une méthode pour obtenir une valeur de sécurité qui permet à un module appelant d'accéder de manière sécurisée à un module appelé dans un ordinateur numérique. Ce dispositif permet d'accorder l'accès à un module logiciel seulement sous 5 présentation d'une valeur prédéfinie. Cependant, le problème résolu par ce dispositif est la protection d'un système logiciel aux attaques hostiles tout en autorisant les interlocuteurs identifiés d'accéder aux données. La méthode met en oeuvre des calculs relativement compliqués 10 destinés à déterminer les droits du module appelant. Cette invention de l'art antérieur ne répond donc pas au même problème technique et la solution qu'elle propose est trop compliquée à mettre en place pour le problème que la présente invention entend résoudre. 15 D'autre part, une solution connue consiste à développer des alternatives à des applications fortement répandues de manière à profiter de l'ignorance de ces nouvelles applications par les logiciels espions. Cette 20 solution comporte comme limite principale et fondamentale que lorsque l'alternative devient connue, les développeurs des logiciels espions l'intègrent dans la liste des
applications avec lesquelles ceux-ci peuvent communiquer.
La présente invention entend remédier aux inconvénients de l'art antérieur en proposant un système utilisant les messages inter- applications standard du système d'exploitation pour effectuer un contrôle d'accès à ses données par une application. 30 Pour ce faire, la présente invention est du type décrit ci-dessus et elle est remarquable dans son acceptation la plus large, en ce qu'elle concerne un procédé de communication entre au moins deux applications 35 A et B dans un système d'exploitation destiné à empêcher l'application B d'accéder au contenu des informations d'une fenêtre de l'application A caractérisé en ce qu'il comprend les étapes suivantes: - une étape de création d'au moins une variable par l'application A; - une étape de réception d'une requête de l'application B par l'application A; - une étape de vérification de la valeur de ladite variable par l'application A dans le but de 10 vérifier la validité de ladite requête, ou d'authentifier sa provenance; - une étape de réponse à ladite requête en fonction
de ladite valeur et/ou ladite provenance.
Dans un cas particulier de l'invention, les 15 deux applications A et B sont la même, c'est-à-dire que A est égal à B. Le procédé comprend alors une étape additionnelle consistant à modifier la valeur de la
variable pour que ladite requête soit considérée valide.
Avantageusement, l'étape de vérification est 20 réalisée par une fonction du système d'exploitation surchargée. De préférence, le système d'exploitation est
" Microsoft Windows " (marque déposée) mais il peut être tout autre système d'exploitation apte à utiliser/gérer des 25 messages entre applications.
Selon un mode de réalisation de l'invention, ladite valeur vérifiée par l'application A est différente d'une valeur prédéfinie et l'étape de réponse consiste à ne
pas satisfaire ladite requête.
Selon un autre mode de mise en oeuvre, ladite valeur vérifiée par l'application A est égale à une valeur prédéfinie et l'étape de réponse consiste à satisfaire
ladite requête.
On comprendra mieux la présente invention à 35 l'aide de la description, faite ci-après à titre purement
explicatif, d'un mode de réalisation de l'invention, en référence aux figures annexées: - La figure 1 illustre le processus standard de communication entre deux applications; - La figure 2 illustre le processus de communication
entre deux applications selon l'invention.
Selon un mode de réalisation préféré de l'invention, celle-ci concerne le système d'exploitation 10 " Windows " (marque déposée) dans ses versions les plus
répandues. Dans ce système d'exploitation, une application A, qui peut être un logiciel de messagerie instantanée doté d'un logiciel espion, cherche à récupérer la valeur du champ URL d'une fenêtre d'une application B qui peut être 15 par exemple un navigateur Internet.
Dans un système d'exploitation standard, les
applications communiquent selon le procédé décrit cidessous et illustré figure 1.
Lors de l'étape (1), une application A adresse 20 un message à une application B afin d'obtenir des informations sur des éléments de l'application B. L'étape (2) consiste pour l'application B ou une
de ses fonctions internes à traiter le message.
L'étape (3) est la réponse de l'application B à 25 l'application A par la fourniture des informations demandées. Dans un système comprenant une application B dotée du procédé selon l'invention, les communications 30 entre une autre application A et ladite application B sont
illustrés figure 2.
Lors de l'étape (4), une application A adresse un message à une application B afin d'obtenir des informations sur des éléments de l'application B. L'étape (5) consiste pour l'application B ou une de ses fonctions internes à traiter le message en fonction de la valeur d'une variable interne à l'application B au
moment du traitement du message.
Si la valeur autorise la réponse au message, l'application B répond à l'application A de la même manière
que dans le procédé standard (étape 6).
Sinon, l'application B ne répond pas à
l'application A mais signifie au système d'exploitation que 10 le message a été traité (étape 7).
Un mode de réalisation particulier est décrit ci-dessous dans le système d'exploitation " Microsoft
Windows " (marque déposée).
Une application A désirant obtenir des informations d'une application B génère une commande " send_message " avec pour paramètres le type du message et l'identité du destinataire. Si l'application cible B est un navigateur et que l'application cherche à obtenir le 20 contenu du champ URL de l'application B, le type du message sera CBGETLBTEXT et l'identité du destinataire sera l'identifiant de la fenêtre de l'application cible B. Cette commande induit la création d'une variable dans les registres de l'application A destinée à recueillir la 25 réponse de l'application visée ainsi que l'envoi d'un message au système d'exploitation contenant l'adresse de la
variable de registre et l'identité du destinataire.
Le système d'exploitation reçoit le message de
l'application A et envoie l'adresse de la variable de 30 registre à la fenêtre de l'application B visée.
Lors de la création de la fenêtre cible, une fonction de traitement a été attribuée à cette fenêtre destinée en particulier à traiter les messages destinés à cette fenêtre. Cette fonction est appelée " DefWindowProc() " dans " Microsoft Windows " (marque
déposée). Les messages sont donc disposés dans une pile.
Pour chaque message de la pile, la fonction de traitement lit le message et y répond en remplissant des 5 champs vierges du registre de l'application A créés lors de l'émission du message par celle-ci. Dans certaines versions de " Microsoft Windows " (marque déposée), ces champs sont appelés " wparam " et " lparam ", et contiennent d'une part la longueur de la réponse et d'autre part la réponse. Dans 10 " Microsoft Windows " (marque déposée), si la requête consistait à obtenir la valeur du champ URL du navigateur, la fonction de traitement de la fenêtre lirait la valeur contenue pour la variable " ComboBoxEx " (correspondant
audit champ URL) pour donner la réponse.
L'application A lit la réponse enregistrée dans ses registres puis supprime la variable créée pour ce message.
Le procédé selon l'invention consiste à 20 réaliser les opérations suivantes.
Avant toute communication et au lancement de l'application cible B à: créer et initialiser (à 0) une variable de provenance dans les registres de l'application B 25 destinée à déterminer ultérieurement la provenance
des messages entrants.
- Lors de la création d'une fenêtre, à créer une nouvelle fonction de traitement similaire à celle créée par défaut et à surcharger cette nouvelle 30 fonction de traitement afin de déterminer la
provenance des messages entrants.
Lorsque l'application B envoie un message à
destination d'elle-même, avant l'envoi du message, la 35 variable de provenance est mise à 1.
Dans tous les cas, un message à destination de la fenêtre de l'application B est transmis d'abord à la
nouvelle fonction de traitement.
A la réception d'un message, la nouvelle 5 fonction de traitement scrute tout d'abord le registre contenant la variable de provenance et lit la valeur de celle-ci. Si cette valeur est égale à 1, le message est transmis à la fonction de traitement standard de la fenêtre qui termine le traitement selon le procédé décrit ci10 dessus. Si la variable de provenance est à 0, le message n'est pas traité et l'application B envoie un message au système d'exploitation pour lui signifier le traitement du
message est terminé.
L'invention est décrite dans ce qui précède à titre d'exemple. Il est entendu que l'homme du métier est à même de réaliser différentes variantes de l'invention sans
pour autant sortir du cadre du brevet.
a- A2843465

Claims (7)

REVENDICATIONS
1. Procédé de communication entre au moins deux applications A et B dans un système d'exploitation destiné à empêcher l'application A d'accéder au contenu des informations d'une fenêtre de l'application B, caractérisé en ce qu'il comprend les étapes suivantes: - une étape de création d'au moins une variable par 10 l'application B; - une étape de réception d'une requête de l'application A par l'application B; - une étape de vérification de la valeur de ladite variable par l'application B dans le but de vérifier la 15 validité de ladite requête, ou d'authentifier sa provenance; - une étape de réponse à ladite requête en fonction
de ladite valeur et/ou ladite provenance.
2. Procédé selon la revendication 1, caractérisé en 20 ce que les deux applications A et B sont la même, c'est à dire que A est égal à B.
3. Procédé selon la revendication 2, caractérisé en ce que le procédé comprend une étape additionnelle consistant 25 à modifier la valeur de la variable pour que ladite requête
soit considérée valide.
4. Procédé selon l'une quelconque des
revendications précédentes, caractérisé en ce que l'étape de 30 vérification est réalisée par une fonction du système
d'exploitation surchargée.
5. Procédé selon l'une quelconque des
revendications précédentes, caractérisé en ce que le système
7 2843465
d'exploitation est apte à utiliser et gérer des messages entre applications.
6. Procédé selon l'une quelconque des
revendications précédentes, caractérisé en ce que ladite
valeur vérifiée par l'application B est différente d'une valeur prédéfinie et que l'étape de réponse consiste à ne pas
satisfaire ladite requête.
7. Procédé selon l'une quelconque des
revendications 1 à 5, caractérisé en ce que ladite valeur vérifiée par l'application B est égale à une valeur prédéfinie et que l'étape de réponse consiste à satisfaire ladite
requête.
FR0210000A 2002-08-06 2002-08-06 Procede de communication entre applications destine a securiser l'acces aux donnees d'une application Expired - Fee Related FR2843465B1 (fr)

Priority Applications (5)

Application Number Priority Date Filing Date Title
FR0210000A FR2843465B1 (fr) 2002-08-06 2002-08-06 Procede de communication entre applications destine a securiser l'acces aux donnees d'une application
US10/523,037 US20060010319A1 (en) 2002-08-06 2003-08-05 Method of communicating between applications which is intended to secure access to application data
EP03758210A EP1527391A2 (fr) 2002-08-06 2003-08-05 Procede de communication entre applications destine a securiser l'acces aux donnees d'une application
PCT/FR2003/002466 WO2004015571A2 (fr) 2002-08-06 2003-08-05 Procede de communication entre applications destine a securiser l'acces aux donnees d'une application
AU2003274227A AU2003274227A1 (en) 2002-08-06 2003-08-05 Method of communicating between applications which is intended to secure access to application data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0210000A FR2843465B1 (fr) 2002-08-06 2002-08-06 Procede de communication entre applications destine a securiser l'acces aux donnees d'une application

Publications (2)

Publication Number Publication Date
FR2843465A1 true FR2843465A1 (fr) 2004-02-13
FR2843465B1 FR2843465B1 (fr) 2005-07-01

Family

ID=30470964

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0210000A Expired - Fee Related FR2843465B1 (fr) 2002-08-06 2002-08-06 Procede de communication entre applications destine a securiser l'acces aux donnees d'une application

Country Status (5)

Country Link
US (1) US20060010319A1 (fr)
EP (1) EP1527391A2 (fr)
AU (1) AU2003274227A1 (fr)
FR (1) FR2843465B1 (fr)
WO (1) WO2004015571A2 (fr)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7627219B2 (en) 2007-11-01 2009-12-01 Ofs Fitel Llc Large mode area fiber amplifiers with reduced stimulated brillouin scattering
US11240044B2 (en) * 2018-11-22 2022-02-01 International Business Machines Corporation Verifying purpose of data usage at sub-application granularity

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0456386A2 (fr) * 1990-05-11 1991-11-13 International Computers Limited Commande d'accès dans un système informatique réparti
EP0770957A2 (fr) * 1995-10-26 1997-05-02 Sun Microsystems, Inc. Système et méthode pour protéger l'utilisation de modules exécutables liés dynamiquement
WO1997038375A1 (fr) * 1996-04-04 1997-10-16 British Telecommunications Public Limited Company Serveur internet et procede de commande d'un serveur internet
WO2001009703A1 (fr) * 1999-08-02 2001-02-08 Harris Interactive, Inc. Systeme de protection d'informations sur internet

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5781633A (en) * 1996-07-01 1998-07-14 Sun Microsystems, Inc. Capability security for transparent distributed object systems
IL123512A0 (en) * 1998-03-02 1999-03-12 Security 7 Software Ltd Method and agent for the protection against hostile resource use access
WO2001026400A1 (fr) * 1999-10-01 2001-04-12 Swisscom Mobile Ag Procede servant a verifier l'authenticite de certificats electroniques emis par une instance de certification dans un appareil mobile et module d'identification correspondant
EP1176507A3 (fr) * 2000-07-24 2005-08-17 Sony Corporation Méthode de traitement d'information, méthode de communication inter-tâches et programme exécutable par ordinateur correspondant
DE10105284A1 (de) * 2001-02-06 2002-08-29 Infineon Technologies Ag Mikroprozessorschaltung für Datenträger und Verfahren zum Organisieren des Zugriffs auf in einem Speicher abgelegten Daten
JP4099320B2 (ja) * 2001-04-25 2008-06-11 株式会社日立製作所 ストレージシステム
JP2003085147A (ja) * 2001-09-14 2003-03-20 Fujitsu Ltd 情報処理システム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0456386A2 (fr) * 1990-05-11 1991-11-13 International Computers Limited Commande d'accès dans un système informatique réparti
EP0770957A2 (fr) * 1995-10-26 1997-05-02 Sun Microsystems, Inc. Système et méthode pour protéger l'utilisation de modules exécutables liés dynamiquement
WO1997038375A1 (fr) * 1996-04-04 1997-10-16 British Telecommunications Public Limited Company Serveur internet et procede de commande d'un serveur internet
WO2001009703A1 (fr) * 1999-08-02 2001-02-08 Harris Interactive, Inc. Systeme de protection d'informations sur internet

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JOHN BERRY: "C++ Programming", 1989, THE WAITE GROUP INC, U.S.A, XP002249008 *
THEIMER M M ET AL: "DELEGATION THROUGH ACCESS CONTROL PROGRAMS", PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON DISTRIBUTED COMPUTING SYSTEMS. YOKOHAMA, JUNE 9 - 12, 1992, LOS ALAMITOS, IEEE COMP. SOC. PRESS, US, vol. CONF. 12, 9 June 1992 (1992-06-09), pages 529 - 536, XP000341049, ISBN: 0-8186-2865-0 *

Also Published As

Publication number Publication date
WO2004015571A2 (fr) 2004-02-19
US20060010319A1 (en) 2006-01-12
FR2843465B1 (fr) 2005-07-01
AU2003274227A1 (en) 2004-02-25
WO2004015571A3 (fr) 2004-05-13
EP1527391A2 (fr) 2005-05-04

Similar Documents

Publication Publication Date Title
US9842230B1 (en) System and method for automatically detecting and then self-repairing corrupt, modified or non-existent files via a communication medium
EP2371096B1 (fr) Procédé d'envoi de fichier électronique
US10726111B2 (en) Increased security using dynamic watermarking
EP2614458B1 (fr) Procede d'authentification pour l'acces a un site web
MX2008011277A (es) Pase digital para la descripcion funcional de la red.
EP2249543B1 (fr) Procédé pour autoriser une connexion entre un terminal informatique et un serveur source
WO2006053958A9 (fr) Support personnel de mémoire de masse portatif et système informatique d'accès sécurisé a un espace utilisateur via un réseau
FR2868896A1 (fr) Procede et dispositif de controle d'acces a un document numerique partage dans un reseau de communication de type poste a poste
FR2973626A1 (fr) Mecanisme de redirection entrante sur un proxy inverse
EP1637989A1 (fr) Procédé et système de séparation de comptes de données personnelles
FR2747208A1 (fr) Procede de dissimulation d'un code secret dans un dispositif d'authentification informatique
US20020129273A1 (en) Secure content server apparatus and method
EP1326401A1 (fr) Procédé de contrôle d'accès à un contenu et système pour le contrôle d'accès à un contenu
FR2843465A1 (fr) Procede de communication entre applications destine a securiser l'acces aux donnees d'une application
EP3588418A1 (fr) Procédé de réalisation d'une transaction, terminal, serveur et programme d ordinateur correspondant
EP3644146B1 (fr) Dispositif d'enregistrement d'intrusion informatique
EP0928445A1 (fr) Procede d'acces conditionnel a une ressource internet depuis un terminal pourvu d'un lecteur de carte a microcircuit
WO2017220884A1 (fr) Procédé et dispositif de contrôle de flux de données transmis selon le protocole dns (domain name system)
EP3331223A1 (fr) Procede et systeme pour realiser une operation sensible au cours d'une session de communication
FR3138541A1 (fr) Procédé de création d’un avatar d’un utilisateur
CN115941349A (zh) 社交通信方法、装置、设备及计算机可读存储介质
FR3114714A1 (fr) Procédé d’accès à un ensemble de données d’un utilisateur.
FR3007929A1 (fr) Procede d'authentification d'un utilisateur d'un terminal mobile
FR2888437A1 (fr) Procede et systeme de controle d'acces a un service d'un fournisseur d'acces implemente sur un serveur multimedia, module, serveur, terminal et programmes pour ce systeme
EP1297504B1 (fr) Procede et systeme pour limiter la possibilite de transformation de donnees

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20070430