當前位置:首頁 » 密碼管理 » linux內核加密

linux內核加密

發布時間: 2023-02-14 04:50:00

⑴ 怎樣使用linux內核中的md5加密演算法

linux中有md5sum這個命令可以對文件計算md5值 在內核中要計算文件的md5值只能先將文件的內容讀到內存中了,在內核中打開文件用filp_open函數,讀寫數據也要struct file這個結構體

⑵ 如何在Linux系統上加密文件和目錄

有很多linux系統上的加密工具,
文件系統級別加密
EncFS:嘗試加密的最簡單方式之一。EncFS工作在基於FUSE的偽文件系統上,所以你只需要創建一個加密文件夾並將它掛載到某個文件夾就可以工作了。
eCryptFS:一個POSIX兼容的加密文件系統,eCryptFS工作方式和EncFS相同,所以你必須掛載它。
磁碟級別加密
Loop-AES:最古老的磁碟加密方法。它真的很快,並且適用於舊系統(如,2.0內核分支)。
DMCrypt:最常見的磁碟加密方案,支持現代Linux內核。
CipherShed:已停止的TrueCrypt磁碟加密程序的一個開源分支。

⑶ 如何在Linux系統上加密文件和目錄

加密類型

我們主要有兩種加密文件和目錄的方法。一種是文件系統級別的加密,在這種加密中,你可以選擇性地加密某些文件或者目錄(如,/home/alice)。對我而言,這是個十分不錯的方法,你不需要為了啟用或者測試加密而把所有一切重新安裝一遍。然而,文件系統級別的加密也有一些缺點。例如,許多現代應用程序會緩存(部分)文件你硬碟中未加密的部分中,比如交換分區、/tmp和/var文件夾,而這會導致隱私泄漏。

另外一種方式,就是所謂的全盤加密,這意味著整個磁碟都會被加密(可能除了主引導記錄外)。全盤加密工作在物理磁碟級別,寫入到磁碟的每個比特都會被加密,而從磁碟中讀取的任何東西都會在運行中解密。這會阻止任何潛在的對未加密數據的未經授權的訪問,並且確保整個文件系統中的所有東西都被加密,包括交換分區或任何臨時緩存數據。

可用的加密工具

在Linux中要實施加密,有幾個可供選擇的工具。在本教程中,我打算介紹其中一個:eCryptFS,一個用戶空間文件系統加密工具。下面提供了一個Linux上可用的加密工具摘要供您參考。

文件系統級別加密

EncFS:嘗試加密的最簡單方式之一。EncFS工作在基於FUSE的偽文件系統上,所以你只需要創建一個加密文件夾並將它掛載到某個文件夾就可以工作了。

eCryptFS:一個POSIX兼容的加密文件系統,eCryptFS工作方式和EncFS相同,所以你必須掛載它。

磁碟級別加密

Loop-AES:最古老的磁碟加密方法。它真的很快,並且適用於舊系統(如,2.0內核分支)。

DMCrypt:最常見的磁碟加密方案,支持現代Linux內核。

CipherShed:已停止的TrueCrypt磁碟加密程序的一個開源分支。

eCryptFS基礎

eCrypFS是一個基於FUSE的用戶空間加密文件系統,在Linux內核2.6.19及更高版本中可用(作為encryptfs模塊)。eCryptFS加密的偽文件系統是掛載到當前文件系統頂部的。它可以很好地工作在EXT文件系統家族和其它文件系統如JFS、XFS、ReiserFS、Btrfs,甚至是NFS/CIFS共享文件系統上。Ubuntu使用eCryptFS作為加密其家目錄的默認方法,ChromeOS也是。在eCryptFS底層,默認使用的是AES演算法,但是它也支持其它演算法,如blowfish、des3、cast5、cast6。如果你是通過手工創建eCryptFS設置,你可以選擇其中一種演算法。

就像我所的,Ubuntu讓我們在安裝過程中選擇是否加密/home目錄。好吧,這是使用eCryptFS的最簡單的一種方法。

Ubuntu提供了一個用戶友好的工具集,通過eCryptFS可以讓我們的生活更輕松,但是在Ubuntu安裝過程中啟用eCryptFS只創建了一個指定的預配置的設置。所以,如果默認的設置不適合你的需求,你需要進行手工設置。在本教程中,我將介紹如何在主流Linux發行版上手工設置eCryptFS。

eCryptFS的安裝

Debian,Ubuntu或其衍生版:

代碼如下:

$ sudo apt-get install ecryptfs-utils

注意,如果你在Ubuntu安裝過程中選擇加密家目錄,eCryptFS應該已經安裝了。

CentOS, RHEL or Fedora:

代碼如下:

# yum install ecryptfs-utils

Arch Linux:

代碼如下:

$ sudo pacman -S ecryptfs-utils

在安裝完包後,載入eCryptFS內核模塊當然會是一個很好的實踐:

代碼如下:

$ sudo modprobe ecryptfs

配置eCryptFS

現在,讓我們開始加密一些目錄,運行eCryptFS配置工具:

代碼如下:

$ ecryptfs-setup-private

它會要求你輸入登錄密碼和掛載密碼。登錄密碼和你常規登錄的密碼一樣,而掛載密碼用於派生一個文件加密主密鑰。這里留空可以生成一個(復雜的),這樣會更安全。登出然後重新登錄。

你會注意到,eCryptFS默認在你的家目錄中創建了兩個目錄:Private和.Private。~/.Private目錄包含有加密的數據,而你可以在~/Private目錄中訪問到相應的解密後的數據。在你登錄時,~/.Private目錄會自動解密並映射到~/Private目錄,因此你可以訪問它。當你登出時,~/Private目錄會自動卸載,而~/Private目錄中的內容會加密回到~/.Private目錄。

eCryptFS怎麼會知道你擁有~/.Private目錄,並自動將其解密到~/Private目錄而不需要我們輸入密碼呢?這就是eCryptFS的PAM模塊搗的鬼,它為我們提供了這項便利服務。

如果你不想讓~/Private目錄在登錄時自動掛載,只需要在運行ecryptfs-setup-private工具時添加「--noautomount」選項。同樣,如果你不想要~/Private目錄在登出後自動卸載,也可以自動「--noautoumount」選項。但是,那樣後,你需要自己手工掛載或卸載~/Private目錄:

[/code]$ ecryptfs-mount-private ~/.Private ~/Private

$ ecryptfs-umount-private ~/Private

你可以來驗證一下.Private文件夾是否被掛載,運行:

代碼如下:

$ mount

現在,我們可以開始把任何敏感文件放進~/Private文件夾里頭了,它們會在我們登出時自動被加密並鎖在~/.Private文件內。

所有這一切看起來是那麼得神奇。這主要是ecryptfs-setup-private工具讓一切設置變得簡單。如果你想要深究一點,對eCryptFS指定的方面進行設置,那麼請轉到官方文檔。

結尾

綜上所述,如果你十分關注你的隱私,最好是將基於eCryptFS文件系統級別的加密和全盤加密相結合。切記,只進行文件加密並不能保證你的隱私不受侵犯。

⑷ Linux系統的幾種加密

啟動流程:

BIOS ——》 MBR(主引導記錄,找到系統在哪個分區) ——》 boot loader(grub) ——》kernel(內核)——》進入啟動級別init

硬碟的最小讀取單位是一個扇區,一個扇區大小是512位元組

查看操作系統的版本:cat /etc/redhat-release

查看內核版本:uname -r

查看內核信息:uname -a

系統的啟動級別:

init 0:關機

init 1:單用戶模式,只能root用戶登錄的模式,可以直接跳過密碼

init 2:多用戶模式,但是沒有NFS(network filesystem),即無網路模式

init 3:完全多用戶模式,也是命令行模式

init 4:安全模式,一般開發者調試使用

init 5:圖形模式

init 6:重啟

更改系統啟動級別:

vim /etc/inittab:在最後一行的 id 修改,如下圖

通過單用戶模式跳過用戶密碼登錄:

通過grub界面進入內核,操作參數,改變啟動級別,進入單用戶模式

在系統讀秒時,按任意鍵進入grub界面,然後按 e 進入kernel

選擇kernel,按 e 進入

進入之後,按 空格 進入啟動級別設置

輸入啟動級別為 1 ,再按 enter 返回內核,再按 b 進入單用戶模式

grub加密: 

首先設置grub密碼: 

grub-md5-crypt

 passwd:123456 

這里會得到一串加密字元串 

然後編輯grub的配置文件:

 vim /etc/grub.conf

grub的配置文件內容:

default=0:代表默認使用第一個內核

timeout=5:代表進入系統時的讀秒時間,這里是5秒

hiddenmenu:隱藏它下面的內容

password --md5:添加得到的grub密碼的加密字元串

title:內核信息

將加密的字元串添加好之後,再通過grub進入kernel時就需要輸入密碼

如果grub被加密了,可以進入BIOS,通過外接光碟進入救援安裝模式,然後進入到系統中,

再 vi /mnt/sysimage/etc/grub.conf,編輯配置文件,刪除grub加密,就可以再用單用戶模式跳過用戶密碼登陸

轉自 嘉為教育-rhce認證_rhce培訓_linux培訓_linux認證_linux考證

⑸ 如何在Linux系統上加密

打開虛擬機,進入安裝好的Linux系統,創建一個屬於自己的目錄,這里我創建的是test

在創建的目錄中新建一個文件,名字為test.txt

在文件中輸入「北京歡迎你」,然後保存

執行openssl加密命令
openssl enc -des-ede3-cbc -in test.txt -out JMtest.txt -k 12345678

查看生成的文件JMtest.txt,發現是亂碼,說明已經加密成功

然後執行openssl的解密命令
openssl enc -des-ede3-cbc -in JMtest.txt -out test_after.txt -d -k 12345678

查看生成的文件test_after.txit,可以清楚的看到「北京歡迎你」,說明解密成功

⑹ linux如何一機一碼加密

使用命令。Linux是一種自由和開放源代碼的類UNIX操作系統,整個系統採用代碼命令進行操作,加密可以使用/etc/passwd命令進行加密。該操作系統的內核由林納斯·托瓦茲在1991年10月5日首次發布,在加上用戶空間的應用程序之後,成為Linux操作系統。

⑺ 如何調用linux內核自帶的加密演算法函數庫

參見/proc/version的實現 static int version_proc_show(struct seq_file *m, void *v) { seq_printf(m, linux_proc_banner, utsname()->sysname, utsname()->release, utsname()->version ); return 0; }

⑻ linux 文件加密

linux文件加密需要分五步進行,下面是具體介紹:
1、進入linux系統,打開待加密文件;

2、進入命令模式,輸入大寫字母X;

3、點擊回車輸入密碼;

4、命令模式輸入w,、回車確定;

5、打開文件vibase.sh,即可加密成功。

以上就是今天的分享了,希望可以幫助到大家。
本文章基於thinkpadE15品牌、centos7系統撰寫的。

⑼ 如何在Linux系統上加密文件和目錄

設定分區您的硬碟(hda)最少應該包含三個分區:hda1:這個小的沒加密的分區應該要求一個口令為了載入加密的根文件系統hda2:這個分區應該包含你的加密根文件系統;確保它足夠大hda3:這個分區就是你的當前的GNU/Linux系統在這時,hda1和hda2沒有使用。hda3就是當前你安裝的linux發行版;/usr和/boot不能另外分區裝載。你的分區分布也許會像下面這樣:#fdisk-l/dev/hdaDisk/dev/hda:255heads,63sectors,2432cylindersUnits=cylindersof16065*/dev/hda111800183Linux/dev/hda22263210451583Linux/dev/hda3264525210451583Linux/dev/hda452620471222546583Linux安裝Linux-2.4.27有兩種主要的方案可用於在內核上添加loopback加密支持:cryptoloop和loop-AES。本文是基於loop-AES方案的,因為因為它的特點是非常快和非常優化實行ofRijndael用匯編語言。如果你有一個IA-32(x86)CPU,它將為您提供最大的性能。另外,還有一些關於cryptoloop的安全關切.首先,下載和解壓loop-AES軟體包:wgetsleeprmsleep.c創建初始化腳本(不要忘記替換掉你之前報選的種子"xxxxxx"):cat>ramdisk/sbin/initbootcd/isolinux.cfg把iso映像刻錄到可啟動光碟中:mkisofs-obootcd.iso-bisolinux.bin-cboot.cat\-no-emul-boot-boot-load-size4-boot-info-table\-J-hide-rr-moved-Rbootcd/cdrecord-dev0,0,0-speed4-vbootcd.isorm-rfbootcd{,.iso}從硬碟啟動當你丟失了你的可啟動光碟時,啟動分區就可以派上用場了。請記住hda1是個可寫分區,因而並不是很可靠的,只有當你遇到緊急的情況時才使用它!創建並掛載ext2文件系統:ddif=/dev/zeroof=/dev/hda1bs=8192mke2fs/dev/hda1mount/dev/hda1/loader復制內核和initialramdisk:cp/boot/{vmlinuz,initrd.gz}/loader如果你使用的是grub:mkdir/loader/bootcp-av/boot/grub/loader/boot/cat>/loader/boot/grub/menu.lst/loader/etc/lilo.conf/etc/init.d/loop/dev/tty$idoneEOFchmod700/etc/init.d/loopln-s../init.d/loop/etc/rcS.d/S00loopvi/etc/fstab/dev/loop2/homeext3defaults02

⑽ linux內核加密目錄下的回歸測試文件tcrypt.c如何使用

INTRODUCTION
The Scatterlist Crypto API takes page vectors (scatterlists) as arguments, and works directly on pages. In some cases (e.g. ECB mode ciphers), this will allow for pages to be encrypted in-place with no ing.
Scatterlist Crypto API使用頁向量(scatterlists)作為參數,並且直接按頁面工作。在某些情況下(例如ECB模式密碼),這將允許頁面不需復制而按原地加密。

One of the initial goals of this design was to readily support IPsec, so that processing can be applied to paged skb's without the need for linearization.
這個設計的初始目標之一是快捷地支持IPsec,因此處理過程能夠應用於頁面式緩沖區(paged skb)而無需線性化。

DETAILS
At the lowest level are algorithms, which register dynamically with the API.
處於最底層的是演算法,需動態地注冊到API中。

'Transforms' are user-instantiated objects, which maintain state, handle all of the implementation logic (e.g. manipulating page vectors) and provide an abstraction to the underlying algorithms. However, at the user level they are very simple.
「轉換」是由用戶實例化的對象,它維護狀態、處理所有執行邏輯(例如操縱頁面向量)並且對底層演算法提供一個抽象介面。然而,在用戶層它們是非常簡單的。

Conceptually, the API layering looks like this:
[transform api] (user interface)
[transform ops] (per-type logic glue e.g. cipher.c, compress.c)
[algorithm api] (for registering algorithms)
從概念上講,API分層看似這樣:
[「轉換」API](用戶界面)
[「轉換」OPS](每種類型的介面邏輯模塊,例如cipher.c, compress.c)
[「演算法」API](用於注冊演算法)

The idea is to make the user interface and algorithm registration API very simple, while hiding the core logic from both. Many good ideas from existing APIs such as Cryptoapi and Nettle have been adapted for this.
這樣做是為了使得「用戶界面」和「演算法注冊」API更加簡單,而隱藏了兩者之間的核心邏輯。諸如Cryptoapi和Nettle等許多現存API的良好設計都做了這方面改編。

The API currently supports five main types of transforms: AEAD (Authenticated Encryption with Associated Data), Block Ciphers, Ciphers, Compressors and Hashes.
API目前支持五種主要類型「轉換」:AEAD(帶關聯數據的加密認證)、分組加密、加密、壓縮和哈希演算法。

Please note that Block Ciphers is somewhat of a misnomer. It is in fact meant to support all ciphers including stream ciphers. The difference between Block Ciphers and Ciphers is that the latter operates on exactly one block while the former can operate on an arbitrary amount of data, subject to block size requirements (i.e., non-stream ciphers can only process multiples of blocks).
請注意,分組加密多少有些用詞不準。它實際上意味著支持所有加密,包含流加密。分組加密和加密之間不同之處是後者作用於一個精確的數據塊而前者可以作用於任意數量的數據,但要求以數據塊大小為單位(例如非流密碼只能處理數據塊整數倍的數據)

Support for hardware crypto devices via an asynchronous interface is under development.
通過一個非同步介面支持硬體加密設備的工作正在開發中。

熱點內容
壓縮和r 發布:2025-08-22 22:30:42 瀏覽:14
sql獲取小時 發布:2025-08-22 22:10:58 瀏覽:670
大同網通dns伺服器地址 發布:2025-08-22 22:02:22 瀏覽:591
javarsa的是 發布:2025-08-22 21:51:58 瀏覽:712
ftp解析域名解析 發布:2025-08-22 21:48:30 瀏覽:538
與佛論道加密 發布:2025-08-22 21:41:42 瀏覽:345
cs架構語言 發布:2025-08-22 21:34:35 瀏覽:883
安防監控存儲 發布:2025-08-22 21:20:38 瀏覽:800
java高級培訓哪裡好 發布:2025-08-22 21:16:56 瀏覽:170
套杯演算法 發布:2025-08-22 21:15:20 瀏覽:253