Buffer sécurisé (pour les pros du C/C++)

jockos Messages postés 321 Date d'inscription dimanche 22 octobre 2000 Statut Membre Dernière intervention 14 mai 2005 - 15 juil. 2004 à 17:19
jockos Messages postés 321 Date d'inscription dimanche 22 octobre 2000 Statut Membre Dernière intervention 14 mai 2005 - 15 juil. 2004 à 21:13
Peux t-on déclarer un buffer sécurisée en C/C++ ?

J'entend par buffer sécurisé, un buffer (zone mémoire) alloué réelement en mémoire vive (RAM) et non swappé par l'OS.
C'est à dire alloué une zone mémoire qui soit réelement allouée en mémoire vive.

Par exemple, des outils de crypto comme PGP utilise des buffers sécurisé mais les développeurs ont carrément écrit un driver en C spécifiquement dédié à l'allocation/désallocation de mémoire "sécurisée".

A part une allocation dynamique ou statique, je ne vois hélas pas comment faire pour allouer une zone mémoire et "interdire l'OS" en quelque sorte de la swapper dans le fichier d'échange (disque dur).

Par exemple pour un buffer de 1024 octets :

STATIQUE :
unsigned char buffer[1024]

DYNAMIQUE :
C : unsigned char *buffer = (unsigned char *) malloc (1024);
C++ : unsigned char *buffer = new char[1024];

En fait, je n'ai pas le temps d'implémenter un driver pour la mémoire (prog de très très bas niveau).

Avez-vous des idées ?

++

2 réponses

vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
15 juil. 2004 à 21:10
A part créer un truc de bas niveau, je ne vois pas comment on pourrait faire, parce que c'est le système qui décide quand il swap, et le programmeur C++ ne peut pas décider s'il écrit en mémoire principale ou secondaire
0
jockos Messages postés 321 Date d'inscription dimanche 22 octobre 2000 Statut Membre Dernière intervention 14 mai 2005 2
15 juil. 2004 à 21:13
C'est bien ce qui me semblait...

Merci quand même...

++
0
Rejoignez-nous