Linux²Ù×÷ϵͳ£¬ÒÔÆä¿ªÔ´¡¢Áé»îºÍÇ¿´óµÄÐÔÄÜ£¬ÔÚÖÚ¶àÁìÓòµÃµ½Á˹㷺ӦÓÃ
È»¶ø£¬ÔÚÄ³Ð©ÌØ¶¨³¡¾°Ï£¬¶ÔÒѾ¼ÓÃܵÄÊý¾Ý½øÐг·Ïú¼ÓÃÜ£¨½âÃÜ£©µÄÐèÇóͬÑùÆÈÇÐ
±¾ÎĽ«ÉîÈë̽ÌÖLinux»·¾³Ï³·Ïú¼ÓÃܵĶàÖÖ·½·¨£¬°üÀ¨ÀíÂÛ½âÎöÓëʵս²Ù×÷£¬Ö¼ÔÚ°ïÖúÓû§°²È«¡¢¸ßЧµØ¹ÜÀí¼ÓÃÜÊý¾Ý
Ò»¡¢Linux¼ÓÃܼ¼Êõ¸ÅÊö ÔÚÉîÈë̽ÌÖ³·Ïú¼ÓÃÜ֮ǰ£¬ÓбØÒªÏÈÁ˽âLinuxϵļÓÃܼ¼Êõ
LinuxÌṩÁ˶àÖÖ¼ÓÃÜ»úÖÆ£¬°üÀ¨Îļþϵͳ¼ÓÃÜ£¨ÈçeCryptfs¡¢LUKS£©¡¢´ÅÅÌ·ÖÇø¼ÓÃÜ£¨Èçdm-crypt£©¡¢ÒÔ¼°Îļþ¼ÓÃÜ£¨Èçgpg¡¢openssl£©
ÕâЩ¼ÓÃܼ¼ÊõÖ÷Ҫͨ¹ý¼ÓÃÜËã·¨£¨ÈçAES¡¢RSA£©ºÍÃÜÔ¿¹ÜÀíϵͳÀ´ÊµÏÖÊý¾ÝµÄ±£ÃÜÐÔºÍÍêÕûÐÔ
- eCryptfs£ºÒ»ÖÖ»ùÓÚLinuxÄں˵ÄÎļþϵͳ²ã¼ÓÃܼ¼Êõ£¬ÔÊÐíÓû§Í¸Ã÷µØ¶ÔÎļþ½øÐмÓÃܺͽâÃÜ£¬¶øÎÞÐèÐÞ¸ÄÓ¦ÓóÌÐò
- LUKS£¨Linux Unified Key Setup£©£ºÒ»ÖÖÓÃÓÚ´ÅÅÌ·ÖÇø¼ÓÃܵĿò¼Ü£¬Ö§³Ö¶àÖÖ¼ÓÃÜËã·¨ºÍÃÜÔ¿¹ÜÀí²ßÂÔ£¬Ìṩ°²È«µÄ´ÅÅ̼ÓÃܽâ¾ö·½°¸
- gpg£¨GNU Privacy Guard£©£ºÒ»ÖÖ»ùÓÚ¹«Ô¿¼ÓÃܵŤ¾ß£¬³£ÓÃÓÚÎļþ¼ÓÃÜ¡¢Ç©ÃûºÍÃÜÔ¿¹ÜÀí
- openssl£ºÒ»¸öÇ¿´óµÄ¿ªÔ´¼ÓÃܿ⣬ÌṩÁ˷ḻµÄ¼ÓÃÜ¡¢½âÃÜ¡¢Ç©ÃûºÍÑéÖ¤¹¦ÄÜ
¶þ¡¢³·Ïú¼ÓÃܵÄÐèÇóÓë·çÏÕ ³·Ïú¼ÓÃÜ£¬¼´½âÃܹý³Ì£¬ÊǼÓÃܼ¼ÊõµÄÄæÏò²Ù×÷
ÔںϷ¨ÇÒ±ØÒªµÄÇé¿öÏ£¬³·Ïú¼ÓÃÜ¿ÉÒÔ»Ö¸´Êý¾ÝµÄÔʼ״̬£¬±ãÓÚÊý¾ÝµÄÕý³£Ê¹ÓúͷÖÎö
È»¶ø£¬ÕâÒ»²Ù×÷Ò²°éËæ×ÅDZÔڵķçÏÕ£º 1.Êý¾Ýй¶£ºÒ»µ©¼ÓÃÜÊý¾Ý±»½âÃÜ£¬Æä±£ÃÜÐÔ½«²»¸´´æÔÚ
Èç¹û½âÃܺóµÄÊý¾ÝδµÃµ½Í×ÉÆ±£»¤£¬¿ÉÄܵ¼ÖÂÃô¸ÐÐÅϢй¶
2.ȨÏÞÀÄÓãºÎ´¾ÊÚȨµÄ½âÃܲÙ×÷¿ÉÄÜÎ¥·´Òþ˽Õþ²ßºÍ·¨ÂÉ·¨¹æ£¬Òý·¢·¨ÂɾÀ·×ºÍµÀµÂÕùÒé
3.¼¼ÊõÌôÕ½£º³·Ïú¼ÓÃÜÐèÒªÕýÈ·µÄÃÜÔ¿ºÍ¼ÓÃÜË㷨֪ʶ£¬´íÎóµÄ²Ù×÷¿ÉÄܵ¼ÖÂÊý¾ÝË𻵻ò¶ªÊ§
Òò´Ë£¬ÔÚ½øÐг·Ïú¼ÓÃÜ֮ǰ£¬±ØÐëÃ÷È·ÆäºÏ·¨ÐԺͱØÒªÐÔ£¬²¢²ÉÈ¡ÏàÓ¦µÄ°²È«´ëÊ©£¬È·±£½âÃܹý³ÌµÄ°²È«ÐԺͿɿØÐÔ
Èý¡¢Linux³·Ïú¼ÓÃܵÄʵս²Ù×÷ 1. LUKS¼ÓÃÜ·ÖÇøµÄ³·Ïú¼ÓÃÜ ¶ÔÓÚʹÓÃLUKS¼ÓÃܵĴÅÅÌ·ÖÇø£¬³·Ïú¼ÓÃܵĹý³Ìͨ³£Éæ¼°½âÃÜ·ÖÇøºÍÒÆ³ý¼ÓÃܲã
ÒÔÏÂÊÇÒ»¸ö»ù±¾²½Ö裺 - ½âËø·ÖÇø£ºÊ×ÏÈ£¬Ê¹ÓÃcryptsetup¹¤¾ß½âËø¼ÓÃÜ·ÖÇø
ÀýÈ磬`sudo cryptsetup luksOpen /dev/sdX1 myEncryptedPartition`£¬ÆäÖÐ`/dev/sdX1`ÊǼÓÃÜ·ÖÇø£¬`myEncryptedPartition`ÊǽâËøºóµÄÓ³ÉäÃû³Æ
- ¹ÒÔØ½âÃܺóµÄ·ÖÇø£ºÊ¹ÓÃmountÃüÁî¹ÒÔØ½âÃܺóµÄ·ÖÇø
ÀýÈ磬`sudo mount /dev/mapper/myEncryptedPartition /mnt`
- ±¸·ÝÊý¾Ý£¨¿ÉÑ¡£©£ºÔÚ³·Ïú¼ÓÃÜ֮ǰ£¬½¨Ò鱸·ÝÖØÒªÊý¾ÝÒÔ·ÀÍòÒ»
- ³·Ïú¼ÓÃÜ£ºÊ¹ÓÃcryptsetupµÄ`luksRemoveKey`ÃüÁîɾ³ýÃÜÔ¿£¨×¢Ò⣬Õâ²¢²»»áÁ¢¼´½âÃÜÕû¸ö·ÖÇø£¬¶øÊÇÒÆ³ýÃÜÔ¿£©
ÒªÍêÈ«³·Ïú¼ÓÃÜ£¬ÐèÒª´´½¨Ò»¸öδ¼ÓÃܵÄзÖÇø£¬²¢½«Êý¾ÝÇ¨ÒÆµ½Ð·ÖÇø
Õâͨ³£Éæ¼°´´½¨Ò»¸öеķÖÇø±í¡¢¸ñʽ»¯Ð·ÖÇøºÍ¸´ÖÆÊý¾Ý
2. eCryptfs¼ÓÃÜÎļþµÄ³·Ïú¼ÓÃÜ eCryptfs¼ÓÃܵÄÎļþͨ³£´æ´¢ÔÚ`.ecryptfs`Òþ²ØÄ¿Â¼ÖÐ
³·Ïú¼ÓÃÜÕâЩÎļþµÄ¹ý³ÌÏà¶Ô¼òµ¥£º - ¹ÒÔØecryptfsĿ¼£ºÈç¹ûecryptfsĿ¼ÉÐδ¹ÒÔØ£¬¿ÉÒÔʹÓÃ`ecryptfs-mount-private`ÃüÁî¹ÒÔØ
- ·ÃÎʽâÃܺóµÄÎļþ£º¹ÒÔØºó£¬½âÃܺóµÄÎļþ½«³öÏÖÔÚ¹ÒÔØµãĿ¼Ï£¬¿ÉÒÔÖ±½Ó·ÃÎʺÍʹÓÃ
- Ç¨ÒÆÊý¾Ý£¨¿ÉÑ¡£©£ºÎªÁ˳¹µ×³·Ïú¼ÓÃÜ£¬¿ÉÒÔ½«½âÃܺóµÄÎļþÇ¨ÒÆµ½Ò»¸öδ¼ÓÃܵÄλÖ㬲¢É¾³ýÔʼµÄ¼ÓÃÜÎļþ
3. gpg¼ÓÃÜÎļþµÄ³·Ïú¼ÓÃÜ gpg¼ÓÃܵÄÎļþͨ³£Ê¹ÓÃ`.gpg`»ò`.asc`×÷ΪÎļþÀ©Õ¹Ãû
³·Ïú¼ÓÃÜÕâЩÎļþÐèÒªÕýÈ·µÄÃÜÔ¿ºÍÃÜÂ룺 - ½âÃÜÎļþ£ºÊ¹ÓÃgpgÃüÁî½âÃÜÎļþ
ÀýÈ磬`gpg --output outputfile --decrypt inputfile.gpg`
- ÑéÖ¤½âÃܽá¹û£º½âÃܺ󣬼ì²éÊä³öÎļþµÄÄÚÈÝÊÇ·ñÍêÕûºÍÕýÈ·
- ɾ³ý¼ÓÃÜÎļþ£¨¿ÉÑ¡£©£ºÎªÁ˰²È«Æð¼û£¬¿ÉÒÔɾ³ýÔʼµÄ¼ÓÃÜÎļþ
4. openssl¼ÓÃÜÎļþµÄ³·Ïú¼ÓÃÜ openssl¼ÓÃܵÄÎļþͨ³£Ê¹ÓÃÌØ¶¨µÄ¼ÓÃÜËã·¨ºÍÃÜÔ¿½øÐмÓÃÜ
³·Ïú¼ÓÃÜÕâЩÎļþÐèÒªÖªµÀ¼ÓÃÜËã·¨ºÍÃÜÔ¿£º - ½âÃÜÎļþ£ºÊ¹ÓÃopensslÃüÁî½âÃÜÎļþ
ÀýÈ磬`openssl enc -d -aes-256-cbc -in encryptedfile.enc -out decryptedfile -k secretpassword`
- ÑéÖ¤½âÃܽá¹û£º½âÃܺ󣬼ì²éÊä³öÎļþµÄÄÚÈÝÊÇ·ñÍêÕûºÍÕýÈ·
- ´¦ÀíÃÜÔ¿£¨¿ÉÑ¡£©£ºÎªÁ˰²È«Æð¼û£¬½âÃܺóÓ¦Í×ÉÆ´¦ÀíÃÜÔ¿£¬±ÜÃâй¶
ËÄ¡¢³·Ïú¼ÓÃܵݲȫ×î¼Ñʵ¼ù ΪÁËÈ·±£³·Ïú¼ÓÃܹý³ÌµÄ°²È«ÐԺͿɿØÐÔ£¬½¨Òé×ñÑÒÔÏÂ×î¼Ñʵ¼ù£º 1.ȨÏÞ¹ÜÀí£ºÈ·±£Ö»ÓÐÊÚȨÓû§²ÅÄÜÖ´Ðг·Ïú¼ÓÃܲÙ×÷
ʹÓÃLinuxµÄÎļþȨÏÞºÍSELinux/AppArmorµÈ°²È«Ä£¿éÀ´ÏÞÖÆ·ÃÎÊ
2.ÃÜÔ¿¹ÜÀí£ºÊ¹Óð²È«µÄÃÜÔ¿¹ÜÀí¹¤¾ß£¨ÈçKeyring¡¢Keyserver£©À´´æ´¢ºÍ¹ÜÀíÃÜÔ¿
±ÜÃâÔÚÃ÷ÎÄ»·¾³Öд洢ÃÜÔ¿
3.ÈÕÖ¾É󼯣ºÆôÓÃÉó¼ÆÈÕÖ¾¼Ç¼³·Ïú¼ÓÃܲÙ×÷£¬ÒÔ±ãÔÚ±ØÒªÊ±½øÐÐ×·Ëݺ͵÷²é
4.±¸·Ý²ßÂÔ£ºÔÚ³·Ïú¼ÓÃÜ֮ǰºÍÖ®ºó£¬¶¼Ó¦¶ÔÊý¾Ý½øÐб¸·Ý
È·±£±¸·ÝÊý¾ÝµÄ°²È«ÐԺͿÉÓÃÐÔ
5.°²È«¸üУº¶¨ÆÚ¸üÐÂLinuxϵͳºÍ¼ÓÃܹ¤¾ßµÄ°²È«²¹¶¡£¬ÒÔÐÞ¸´ÒÑ֪©¶´ºÍÔöÇ¿°²È«ÐÔ
Îå¡¢½áÂÛ Linux³·Ïú¼ÓÃÜÊÇÒ»ÏÔÓ¶øÃô¸ÐµÄ²Ù×÷£¬Éæ¼°¶àÖÖ¼ÓÃܼ¼ÊõºÍ°²È«´ëÊ©
±¾ÎÄÉîÈë̽ÌÖÁËLinux»·¾³Ï³·Ïú¼ÓÃܵĶàÖÖ·½·¨£¬°üÀ¨LUKS¼ÓÃÜ·ÖÇøµÄ³·Ïú¼ÓÃÜ¡¢eCryptfs¼ÓÃÜÎļþµÄ³·Ïú¼ÓÃÜ¡¢gpg¼ÓÃÜÎļþµÄ³·Ïú¼ÓÃÜÒÔ¼°openssl¼ÓÃÜÎļþµÄ³·Ïú¼ÓÃÜ
ͬʱ£¬±¾ÎÄ»¹Ìá³öÁ˳·Ïú¼ÓÃܵݲȫ×î¼Ñʵ¼ù£¬ÒÔÈ·±£²Ù×÷µÄ°²È«ÐԺͿɿØÐÔ
ͨ¹ý×ñÑÕâЩ·½·¨ºÍʵ¼ù£¬Óû§¿ÉÒÔ¸ü¼Ó°²È«¡¢¸ßЧµØ¹ÜÀí¼ÓÃÜÊý¾Ý£¬Âú×ãºÏ·¨ÇÒ±ØÒªµÄ½âÃÜÐèÇó