CryptoApi / debian unstable [Workaround OK]

CryptoApi / debian unstable [Workaround OK] - Logiciels - Linux et OS Alternatifs

Marsh Posté le 12-11-2003 à 17:56:54    

Je n'arrive pas à créer un conteneur encrypté.
J'ai recompilé le dernier 2.4.22, avec et sans patch crypto-api.
Je peux faire un

Code :
  1. modprobe aes

sans problème.
J'ai le dernier util-linux (2.12-5).
J'ai rajouté les alias dans modutils:

Code :
  1. cat /etc/modutils/crypto
  2. alias loop-xfer-gen-0 loop_gen
  3. alias loop-xfer-gen-10 loop_gen
  4. alias cipher-4 blowfish            # Blowfish
  5. alias cipher-6 idea                # IDEA
  6. alias cipher-7 serp6f              # Serpent
  7. alias cipher-8 mars6               # MARS
  8. alias cipher-9 twofish             # Twofish
  9. alias cipher-11 rc62               # RC6
  10. alias cipher-15 dfc2               # DFC


 
Pourtant quand j'essaie de monter un conteneur:

Code :
  1. # losetup -e none /dev/loop0 container
  2. Password:
  3. ioctl: LOOP_SET_STATUS: Invalid argument


 
Que faut-il faire pour que ça marche ?


Message édité par glacote le 14-11-2003 à 10:02:28
Reply

Marsh Posté le 12-11-2003 à 17:56:54   

Reply

Marsh Posté le 12-11-2003 à 18:00:20    

Je précise que ça marche impeccablement sur ma Mandrake 9.1 ou sur une morphix (=> knoppix => debian)

Reply

Marsh Posté le 13-11-2003 à 09:48:02    

Help :bounce:

Reply

Marsh Posté le 13-11-2003 à 16:23:43    

Après de multiples essais de recompilation de util-linux, j'ai toujours le même problème (même avec le patch qui va bien).

Reply

Marsh Posté le 14-11-2003 à 10:05:09    

Bon, finalement j'ai laissé tomber la crypto-API sous debian, et j'ai suivi le chapitre 2 du "Root encryption Howto":
1) installer les sources d'un kernel 2.4.22 ici
   installer les sources de util-linux 2.12pre ici
   installer les sources de loop-aes ici
2) patcher le kernel et util-linux avec les patches fournis dans loop-aes (avec patch -Np1 -i ../loop-aes-xxx/{kernel-xxx,util-linux-xxx}.diff)
3) compiler le noyau 2.4.22 avec support loop-aes, compiler uniquement mount,umount et losetup dans util-linux
Attention, bien lire le README avant de compiler util-linux (ne surtout pas faire make install !)
4) rebooter
5) c'est prêt. Hmmmm

Code :
  1. dd if=/dev/zero of=/file666 bs=4k count=1280
  2. losetup -e AES128 -T /dev/loop1 /file666
  3. mkfs -t ext2 /dev/loop1
  4. mount /dev/loop1 /mnt/encrypted-repository


Attention, aves les fs journalisés il faut soit utiliser une partition, soit utiliser "data=ordered" pour que la journalisation marche.


Message édité par glacote le 14-11-2003 à 17:47:45
Reply

Marsh Posté le 14-11-2003 à 11:45:24    

Au passage, excellent tutoriel avec tout ce qu'il faut pour encrypter des dossiers de façon robuste et de façon à ce que plusieurs utilisateurs puissent y accéder, chacun avec sa clef.
Un must.

Reply

Marsh Posté le 14-11-2003 à 12:23:44    

merci pour les infos

Reply

Marsh Posté le 14-11-2003 à 17:39:19    

De rien. Mais en gros, pour utiliser la crypto-API mieux vaut prendre un 2.4.6; avec les 2.4 mieux vaut utiliser loop-aes, c'est plus facile.

Reply

Marsh Posté le 14-11-2003 à 17:59:11    

oué le 2.6 est meilleur à bien des égards :)

Reply

Marsh Posté le 03-12-2003 à 18:49:08    

Pour info, pour ceux qui auraient des problèmes, le loop.c de util-linux a besoin d'accéder aux devices à la fois à la façon du kernel (pour lire un device) et à la façon de la libc (pour l'exporter).
Or par défaut les kernel headers n'exportent pas "__kernel_dev_t",
et du coup la compilation plante.
 
Solution:
vi utili-linux-2.12/mount/my_dev_t.h
ajouter

Code :
  1. /* Ugly workaround
  2. * See http://www.ussg.iu.edu/hypermail/l [...] /1003.html
  3. * See http://www.engin.umich.edu/caen/sy [...] id32.patch
  4. */
  5. typedef unsigned short         __kernel_dev_t;


avant le

Code :
  1. #define my_dev_t __kernel_dev_t


Attention, ça ne marche que sur i386 bien-sûr (ni sur Power5 ni sur Alpha ni sur Sparc ...)


Message édité par glacote le 03-12-2003 à 18:49:52
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed