Introduction aux principales méthodes d'authentification pour l'accès à des ressources Http (partie 1)

Introduction

Ayant ces deux dernières années passé beaucoup de temps à adapter une application web propriétaire (écrite en Java) pour l’intégrer dans les systèmes de sécurité offerts par Microsoft, j’ai du me plonger en profondeur dans les différents mécanismes de sécurité qui peuvent entourer le protocole http et auquels les internautes se retrouvent souvent confrontés. Cet article divisé en plusieurs partie , loin d’être exhaustif, se veut être une introduction ou un pense-bête plutôt qu’une encyclopédie.

Authentification et autorisation

Avant de rentrer dans les différents aspects techniques, il est important de revenir sur les deux bases fondamentales de la sécurité qui sont et qui se suivent :

l’authentification et l’autorisation.

L’authentification : L’authentification désigne la méthode visant à certifier qu’un acteur est bien celui qu’il prétend être.

L’autorisation : L’autorisation désigne les contrôles d’accès à des ressources basés sur l’information obtenue par l’authentification.

Familles d’authentification

Selon moi, on peut organiser primairement les authentifications HTTP à l’aide des critères suivants :

Type scalaire ou vectoriel & Niveau OSI

Authentifications scalaires et vectorielles

– les scalaires où l’authentification de l’acteur apporte un seul attribut. (Par exemple : le mécanisme d’authentification BASIC nom d’utilisateur et mot de passe qui in fine ne sert qu’a certifier et transmettre le nom d’utilisateur )

– les vectorielles où l’authentification de l’acteur apporte plusieurs attributs (Par exemple : le mécanisme d’authentification CLAIM BASED qui sert a certifier et transmettre différentes propriétés de l’utilisateur (par ex. adresse email, niss,telephone,localite))

Niveau OSI d’authentification

Le modèle OSI, très bien présenté par Wikipédia , qui permet de décrire/définir la structure des communications réseaux, peut avec ses 7 couches également structurer les méthodes d’authentification http.

La suite…

Dans les prochains articles, nous verrons plus en détail les authentifications suivantes:

Authentification basique

Authentification avec formulaire

Authentification avec digest

Authentification avec certificat

Authentification avec NTLM

Authentification avec Kerberos

Authentification Claim-based

Le jeux Bomberman pour le cloud de Microsoft (Azure)

Introduction

En 2013, je du développer et déployer, pour une école nommée Supinfo *, une version du fameux jeu bomberman pour, Azure, le cloud de Microsoft dont vous touverez la documentation et le code source ci-après.

* oubiez svp cette école, elle n’en vaut pas la peine…si vous voulez savoir le pourquoi lisez les twits du compte twitter @do_it_simple

Le jeu Bomberman

Comme Wikipedia est notre ami, vous trouverez ici tout ce qui est nécessaire pour comprendre les principes du jeu.

Copies d’écran

Aperçu technique

Développé en C# .NET (version 4) pour le Cloud de Microsoft (alias Azure), le projet Bomberman,  est écrit à l’aide du framework Microsoft MVC pour la partie web  d’une part et à l’aide de l’entity framework de  Microsoft EF  pour la partie base de donnée.

De plus, le framework javascript Jquery fut ajouté pour faciliter les communications asynchrones (au format JSON) entre le navigateur et l’application web.

Structure de la base de donnée pour l’Entity Framework(Microsoft)

Code source

Le code source de ce projet est hébergé sur github