WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

La protection de la vie privée dans un système de gestion d'identité

( Télécharger le fichier original )
par Bahmed et Hassane Boumriga
Université Abou Bekr Belkaid - Tlemcen Algérie - Master en informatique option système d'information et de connaissance 2012
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

Annexe C

Cette annexe présente quelques détails d'implémentation sur les fonctionnalités utilisées dans le système proposé à savoir : l'utilisation des bases de données, les fonctions cryptographiques, la manipulation des cookies ainsi que la bibliothèque « JWebBrowser » utilisé pour implémenter le navigateur java.

1. Mode d'utilisation MySQL :

Création d'une table :

CREATE TABLE FilmSimple

( t i t r e VARCHAR (30) ,annee INTEGER,n o m _ r e a l i s a t e u r VARCHAR (30) ,p r e n o m _ r e a l i s a t e u r VARCHAR (30) ,annee_naissance INTEGER) ;

Insertion des données :

INSERT INTO Fi lmSimple ( t i t r e , annee , p r e n o m _ r e a l i s a t e u r ,n o m _ r e a l i s a t e u r ) VALUES ( ' Pulp F i c t i on ' , 1995 , 'Quentin ' , ' Tarant ino ' ) ;

Interrogation et modification :

SELECT t i t r e , annee FROM FilmSimple

WHERE annee > 1980 DELETE FROM FilmSimple WHERE annee <= 1960 UPDATE FilmSimple SET n o m _ r e a l i s a t e u r= 'Wu' , p r e n o m _ r e a l i s a t e u r= ' Yusen ' WHERE n o m _ r e a l i s a t e u r = 'Woo '

Quelques commandes utiles :

SELECT DATABASE(); C'est une pseudo-requête SQL (sans FROM) qui affiche le

nom de la base courante.

SELECT USER(); Idem, cette pseudo-requête affiche le nom de l'utilisateur courant.

SHOW DATABASES; Affiche la liste des bases de données.

SHOW TABLES; Affiche la liste des tables de la base courante.

SHOW COLUMNS FROM NomTable ; Affiche la description de la table NomTable.

75

Les fonctions principales PHP/MySQL :

2. Mode d'utilisation PHP :

Les sessions :

session_start(); // Initialise les informations de session. Si aucune session n'existe, un

identifiant est engendré et transmis dans un cookie. Si la session (connue par son

identifiant) existe déjà, alors la fonction instancie toutes les variables qui lui sont liées.

Cette fonction doit être appelée au début de tout script utilisant les sessions (il faut que

l'instruction Set-Cookie puisse être placée dans l'en-tête HTTP).

$_SESSION['user']=$_POST['pseudonyme']; //nome de session user.

Session_id() ; // Renvoie l'identifiant de la session.

session_unset(); // supprimer tout les variable de la session.

session_destroy(); // Détruit toutes les informations associées à une session..

la fonction de cryptage :

function encrypt($data) {

$key = $_POST['pseudonyme']; // Clé de session à 8 caractères au maximum

$data = serialize($data);

$td = mcrypt_module_open(MCRYPT_DES,"",MCRYPT_MODE_ECB,"");

$iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_RAND);

mcrypt_generic_init($td,$key,$iv);

76

$data = base64_encode(mcrypt_generic($td, '!'.$data));

mcrypt_generic_deinit($td);

return $data;

}

Fonction de décryptage :

function decrypt($data) {

$key = $_POST['psudo'];

$td = mcrypt_module_open(MCRYPT_DES,"",MCRYPT_MODE_ECB,"");

$iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_RAND);

mcrypt_generic_init($td,$key,$iv);

$data = mdecrypt_generic($td, base64_decode($data));

mcrypt_generic_deinit($td);

if (substr($data,0,1) != '!')

return false;

$data = substr($data,1,strlen($data)-1);

return unserialize($data);

}

Les cookies :

Créer un cookie avec PHP

int setcookie ( string name [, string value [, int expire [, string path [, string domain [, int secure]]]]]) ;

<?php setcookie('cookie_name', 'blablabla', (time() + 3600)); ?>

Lecture d'un cookie

<?php /* Les trois exemples suivants afficheront tous "blablabla" */

echo $cookie_name; // exemple 1 (si registar_globals est à on dans php.ini)

echo $HTTP_COOKIE_VARS['cookie_name']; // exemple 2

echo $_COOKIE['cookie_name']; // exemple 3 (si on est sur PHP 4.1.0 ou plus)

?>

Détruire un cookie

<?php /* Les deux exemples suivants sont équivalents*/

setcookie('cookie_name'); // exemple 1

setcookie('cookie_name', ", 1); // exemple 2

?>

Connection au base des données

<?php

$conn = mysql_connect("localhost","root",""); $db = mysql_select_db("myid",$conn);

?>

Extraction des données de page d'inscriptions $pseudonyme = $_POST['pseudonyme'];

$pw1 = MD5( $_POST['pw1']); //mot de passe crypté (inconnu même par le FI)

$pw2 = MD5($_POST['pw2']); $nome = $_POST['nome'];

$prenome = $_POST['prenome']; $email = $_POST['email']; $langage = $_POST['langage']; $payes = $_POST['payes']; $ville = $_POST['ville'];

$codezip = $_POST['codezip']; $gendre = $_POST['gendre']; $age = $_POST['age'];

Insertion des données dans la base MySQL

$sql

77

= "INSERT into users values('".$pseudonyme."','".

$pw1."','".$nome."','".$prenome."','".$email."','".$langage."','".$payes."','".$ville."','".$co dezip."','".$gendre."','".$age."')";

$qury = mysql_query($sql);

Vérification des données à la page d'dentifications

$pseudonyme=$_POST['pseudonyme']; $pw=MD5($_POST['pw']);

$sql="select count(*) from users where(

pseudonyme='".$pseudonyme."' and pw='".$pw."')";

$qury=mysql_query($sql);

$result=mysql_fetch_array($qury);

78

3. Mode d'utilisations JWebBrowser au NetBeans

On à utilisé les bibliothèques suivantes : DJNativeSwing-SWT.jar

swt-debug.jar

Le codes qui manipule le browser ce sont intégré à les bibliothèques précédents ce que nous intéressé sont les actions additionnelles qui offrir la sécurité entre les FSs et les FIs.

Création d'une liste des fournisseurs d'identité : final JComboBox combox=new JComboBox(); combox.addItem("");

combox.addItem("myId");

combox.addItem("OpenId");

combox.addItem("PseudoId");

Ajouté la liste des fournisseurs d'identité à la barre de JWebBrowser buttonBar.add(combox);

Création d'un bouton de choix de fournisseur d'identité final JButton button = new JButton("IdPs");

button.setForeground(Color.BLACK);

button.setFont(new Font("sansserif",Font.BOLD,12)); button.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) { // Les codes qui concerne ce bouton

}

La même chose pour le bouton de confirmation des données authentifié par le FI.

.ÉíæåáÇ

ÑííÓÊ

ãÇÙä

ÉíãÞÑáÇ ÉíæåáÇæ ÉíÕæÕÎáÇ ÉíÇãÍ ÈíæáÇ ÊÇãÏÎ

:

ÍíÊÇãáÇ ÊÇãáßáÇ

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Nous voulons explorer la bonté contrée énorme où tout se tait"   Appolinaire