Bảng 1.3B ng Tả được xõy d ngt hm sin ừà

Một phần của tài liệu xây dựng chương trình bảo vệ dữ liệu trên môi trường không an toàn (Trang 54 - 84)

T1 = D76AA478 T17 = F61E2562 T33 = FFFA3942 T49 = F4292244 T2 = E8C7B756 T18 = C040B340 T34 = 8771F681 T50 = 432AFF97 T3 = 242070D8 T19 = 265E5A51 T35 = 69D96122 T51 = AB9423A7

T4 =

C1BDCEEE

T20 = E9B6C7AA T36 = FDE5380C T52 = FC93A039

T5 = F57C0FAF T21 = D62F105D T37 = A4BEEA44 T53 = 655B59C3 T6 = 4787C62A T22 = 02441453 T38 = 4BDECFA9 T54 = 8F0CCC92 T7 = A8304613 T23 = D8A1E681 T39 = F6BB4B60 T55 = FFEFF47D T8 = FD469501 T24 = E7D3FBC8 T40 = BEBFBC70 T56 = 85845DD1 T9 = 698098D8 T25 = 21E1CDE6 T41 = 289B7EC6 T57 = 6FA87E4F T10 = 8B44F7AF T26 = C33707D6 T42 = EAA127FA T58 = FE2CE6E0 T11 = FFFF5BB1 T27 = F4D50D87 T43 = D4EF3085 T59 = A3014314 T12 = 895CD7BE T28 = 455A14ED T44 = 04881D05 T60 = 4E0811A1 T13 = 6B901122 T29 = A9E3E905 T45 = D9D4D039 T61 = F7537E82 T14 = FD987193 T30 = FCEFA3F8 T46 = E6DB99E5 T62 = BD3AF235 T15 = A679438E T31 = 676F02D9 T47 = 1FA27CF8 T63 = 2AD7D2BB T16 = 49B40281 T32 = 8D2A4C8A T48 = C4AC5665 T64 = EB86D391

Bảng 1.3 Bảng T được xõy dựng từ hàm sin

ABCD 0 7 1 1 5 17 5 4 33 0 6 49 a b c d g + + CLSs + X[k] T[i] Vòng 1 Vòng 2 Vòng 3 Vòng 4

DABC 1 12 2 6 9 18 8 11 34 7 10 50 CDAB 2 17 3 11 14 19 11 16 35 14 15 51 BCDA 3 22 4 0 20 20 14 23 36 5 21 52 ABCD 4 7 5 5 5 21 1 4 37 12 6 53 DABC 5 12 6 10 9 22 4 11 38 3 10 54 CDAB 6 17 7 15 14 23 7 16 39 10 15 55 BCDA 7 22 8 4 20 24 10 23 40 1 21 56 ABCD 8 7 9 9 5 25 13 4 41 8 6 57 DABC 9 12 10 14 9 26 0 11 42 15 10 58 CDAB 10 17 11 3 14 27 3 16 43 6 15 59 BCDA 11 22 12 8 20 28 6 23 44 13 21 60 ABCD 12 7 13 13 5 29 9 4 45 4 6 61 DABC 13 12 14 2 9 30 12 11 46 11 10 62 CDAB 14 17 15 7 14 31 15 16 47 2 15 63 BCDA 15 22 16 12 20 32 2 23 48 9 21 64

Kết luận

Qua việc nghiờn cứu những hệ mật và chữ ký số ở trờn, ta thấy được khả năng to lớn của chỳng trong việc bảo vệ những thụng tin quan trọng. Nếu biết cỏch kết hợp những thuật toỏn mó húa trờn một cỏch hợp lý, ta sẽ tạo được giao thức cú đủ độ phức tạp để bảo vệ dữ liệu trờn mụi trường khụng an toàn.

Bảo vệ dữ liệu trờn mụi trường khụng an toàn

Trờn cơ sở những lý thuyết về mú húa và chữ ký số đó trỡnh bày ở phần trờn, chỳng em đó xõy dựng một cấu trỳc lưu trữ đặc biệt cú khả năng bảo vệ dữ liệu trờn mụi trường khụng an toàn. Cấu trỳc này cú tờn gọi là “volume ảo”. Đõy là một cấu trỳc lưu trữ cỏc file cú phõn cấp theo thư mục tương tự nh những hệ thống lưu trữ trờn cỏc ổ đĩa của hệ điều hành nhưng cú khả năng bảo vệ được những dữ liệu lưu trữ bờn trong nó. Với mục đớch bảo mật, volume ảo khụng chấp nhận cỏc dịch vụ trờn hệ thống file của hệ điều hành. Vỡ khi mỏy bị truy cập bất hợp phỏp bởi hacker, họ sẽ cú toàn quyền truy cập cỏc nguồn tài nguyờn của hệ thống. Do đú, nếu chấp nhận cỏc dịch vụ file của hệ điều hành (cú thể vào ra dữ liệu trờn volume ảo thụng cỏc qua dịch vụ này) thỡ dữ liệu trờn volume ảo cũng sẽ bị lấy cắp nh dữ liệu lưu trờn đĩa thường. Vỡ vậy, những thao tỏc vào ra và cỏc dịch vụ trờn volume ảo phải được xõy dựng riờng. Phần này sẽ trỡnh bày chi tiết về cấu trỳc của volume ảo và xõy dựng cụng cụ quan trọng nhất trờn trờn mụi trường này. Đú là trỡnh điều khiển vào ra volume ảo. Với mục đớch như trờn, phần này được chia làm 3 chương sau:

Chương 1: Khảo sỏt và xỏc lập giải phỏp thiết kết cấu trỳc volume ảo Chương 2: Trỡnh bày chi tiết về Cấu trúc volume ảo

Chơng 6. Khảo sỏt và xỏc lập giải phỏp thiết kết cấu trỳc volume ảo

6.1 Những yờu cầu đặt ra đối với đối với cấu trúc volume ảo

1) Yờu cầu về lưu trữ dữ liệu. Volume ảo cần cú một cấu trỳc cho phộp lưu trữ và thao tỏc với hệ thống file theo cấu trỳc phõn cấp thư mục.

2) Yờu cầu về bảo mật dữ liệu. Đõy là yờu cầu quan trọng nhất của volume ảo. Nú cần cú cấu trỳc cho phộp ỏp dụng những thuật toỏn mó húa khỏc khỏc nhau để bảo vệ dữ liệu.

3) Yờu cầu về an toàn dữ liệu. Volume ảo cần cú một cấu trỳc cho phộp khụi phục dữ liệu mỗi khi nú bị sự cố.

Để đỏp ứng những yờu cầu trờn, ta cần khảo sỏt một số hệ thống file thụng dụng hiện nay để làm cơ sở cho việc thiết kế cấu trỳc của volume ảo.

6.2 Khảo sỏt một số hệ thống quản lý và lưu trữ file

6.2.1 Hệ thống FAT, FAT32

Hệ thống FAT được sử dụng đầu tiờn trờn hệ điều hành DOS sau đú được nõng cấp thành cỏc phiờn bản VFAT sử dụng cho win95 và FAT32 sử dụng cho Win98 đến WinMe. Hệ thống này chia khụng gian lưu trữ của đĩa thành cỏc cluster. Đừy chớnh là đơn vị kớch thước nhỏ nhất mà hệ thống quản lý. Cỏc cluster cú kớch thước nh nhau và bằng số nguyờn lần kớch thước 1 sector của đĩa. Trạng thỏi của cỏc cluster được quản lý bởi một bảng gọi là bảng cấp phỏt file (File Allocation Table -FAT). Mỗi phần tử trong bảng này chỉ ra trạng thỏi của cluster tương ứng đang cũn trống, bị hỏng hay đó được cấp phỏt. Kớch thước mỗi phần tử trong bảng này tương ứng với những phiờn bản khỏc nhau của FAT như FAT16 (kớch thước 1 phần tử của bảng FAT là 16 bit <-> 2byte) hay FAT32 (kớch thước mỗi phần tử của bảng FAT là 4 byte).

Hình 1.1 Cấu trỳc của FAT

Trong cấu trỳc trờn, bootsector được sử dụng như một bảng thụng tin cấu hỡnh của hệ thống file, nú chỉ ra kớch thước của sector, cluster, tờn volume và một số thụng tin khỏc. Theo sau nú là một số sector dự trữ và bảng FAT được lưu thành 2 bản nhằm mục đớch phục hồi thụng tin khi cú sự cố.

Cỏc file trờn hệ thống FAT được quản lý thụng qua trạng thỏi của cỏc block lưu trong bảng FAT. Bắt đầu từ cluster đầu tiờn chứa file, ta căn cứ vào trạng thỏi của block tương ứng với cluster này để biết cluster tiếp theo của file là cluster nào hay đõy là cluster cuối cựng của file đú. Thư mục trờn hệ thống FAT chớnh là một file đặc biệt mà nội dung của nú là cỏc điểm vào (Entry) chứa thụng tin định danh cho cỏc thư mục con hay cỏc file thuộc thư mục đú. Thụng tin định danh này bao gồm tờn của file (thư mục), kớch thước, thuộc tớnh, cluster đầu tiờn, thời gian tạo và sửa đổi….

Nhược điểm chủ yếu của hệ thống FAT là độ an toàn khụng cao và khụng cú khả năng bảo mật. Độ an toàn khụng cao thể hiện ở điểm là khi một thư mục bị hỏng thỡ cấu trỳc phớa sau nó bao gồm cỏc thư mục con và cỏc file chứa trong đú sẽ bị mất và việc phục hồi cũng rất khú khăn.

6.2.2 Hệ thống NTFS Đặc điểm

NTFS là một hệ thống tập tin mạnh và linh động, những đặc điểm nổi bật là :

Khả năng phục hồi An toàn

Quản lý được đĩa dung lượng lớn và kớch thước tập tin lớn Quản lý hiệu quả.

Boot

Cấu trỳc tập tin và volume của NTFS

NTFS sử dụng những khỏi niệm sau : Sector, cluster, volume

Cluster là đơn vị định vị cơ bản trong NTFS. Kớch thước tập tin tối đa trong

NTFS là 232 cluster, tương đương 248 bytes. Cấu trỳc của NTFS cú dạng nh hỡnh sau :

Partition boot

sector Master File Table Cỏc tập tin hệthống Vựng cỏc tập tin

Hình 1.1 Cấu trỳc của NTFS

NTFS bao gồm bốn vựng. Vựng thứ nhất là cỏc sector khởi động của partition (cú thể đến 16 sectors) bao gồm cỏc thụng tin về cấu trỳc của volume, cấu trỳc của hệ thống tập tin cũng nh những thụng tin và mó nguồn khởi động. Vựng tiếp theo là bảng Master File (MFT) lưu cỏc thụng tin về tất cả tập tin và thư mục trờn volume NTFS này cũng nh thụng tin về cỏc vựng trống. Sau vựng MFT là vựng cỏc tập tin hệ thống cỳ kớch khoảng 1Mb bao gồm :

MFT2 : bản sao của MFT

Log file : thụng tin về cỏc giao tỏc dựng cho việc phục hồi. Cluster bitmap : biểu diễn thụng tin lưu trữ của cỏc cluster

Bảng định nghĩa thuộc tớnh : định nghĩa cỏc kiểu thuộc tớnh hỗ trợ cho volume đú.

MFT được tổ chức thành nhiều bản ghi (record) cú kớch thước cố định . Mỗi bản ghi mụ tả cho một tập tin hoặc một thư mục trờn volume. Nếu kớch thước tập tin nhỏ thỡ toàn bộ nội dung của tập tin được lưu trong bản ghi này. mỗi bản ghi cũng lưu những thuộc tớnh cho tập tin hay thư mục mà nú quản lý.

Thụng tin chuẩn Bao gồm cỏc thuộc tớnh truy xuất (chỉ đọc, đọc/ghi,...), nhón thời gian, chỉ số liờn kết Danh sỏch thuộc tớnh sử dụng khi tất cả thuộc tớnh vượt quỏ 1

bản ghi của MFT Tờn tập tin

Mụ tả an toàn Thụng tin về người sở hữu và truy cập Dữ liệu

Chỉ mục gốc dựng cho thư mục

Chỉ mục định vị dựng cho thư mục

Thụng tin volume nh tờn version và tờn volume

Bitmap hiện trạng cỏc bảng ghi trong MFT

Bảng 1.5 Cỏc kiểu thuộc tớnh của tập tin và thư mục của NTFS

Điểm đặc biệt trong cấu trỳc thư mục của hệ thống NTFS là nú lưu trữ thụng tin về cỏc file và cỏc thư mục con dưới dạng cõy nhị phõn. Do vậy nú cú khả năng tỡm kiếm file rất nhanh.

Ngoài ra, NTFS cũn hỗ trợ khả năng nộn, mó húa file, chống phõn mảnh rất hiệu quả. Cỏc thao tỏc vào ra file trờn NTFS được quản lý theo cơ chế log. Khi cú sự cố trờn hệ thống file, nú sẽ tự “rollback” cỏc thao tỏc bị hỏng, do vậy độ an toàn dữ liệu trờn NTFS rất cao.

6.2.3 Hệ thống Extfs và Ext2fs

Hệ thống file Extfs (Extended File System) và phiờn bản sau Ext2fs (Second Extended File System) của nú được phỏt triển và sử dụng trờn hệ điều hành Linux. Hệ thống này chia ổ đĩa vật lớ thành cỏc đơn vị lưu trữ logic cú dung lượng bằng nhau gọi là cỏc block. Mỗi block cú dung lượng là 1024 hoặc 2048 hoặc 4096 bytes và được lựa chọn cố định một giỏ trị lỳc định dạng logic cho phõn vựng đĩa. Block là cỏc đơn vị lưu trữ nhỏ nhất cú thể cấp phỏt. Một số cố định cỏc block liờn tiếp nhau lại được nhúm lại về mặt logic thành cỏc block group. Mỗi block group trong hệ thống bao gồm một bản sao cỏc thụng tin điều

khiển và cỏc thành phần khỏc của hệ thống file. Cấu trỳc chung của một hệ thống file Ext2fs nh sau :

Hình 1.1 cấu trỳc của hệ thống Ext2fs

File trờn hệ thống ext2fs được quản lý thụng qua một cấu trỳc gọi là inode. Mỗi inode chứa cỏc mụ tả về file mà nú đại diện : kiểu file, quyền truy nhập đến file, người tạo file (owner), cỏc nhún thời gian, kớch thước, con trỏ đến cỏc khối dữ liệu (data blocks)... Cỏc cấu trỳc inode được đỏnh số và mỗi hệ thống file chỉ cú một số giới hạn inode cú thể cấp phỏt. Khi số inode này được cấp phỏt hết thỡ hệ thống khụng thể tạo thờm bất kỡ một file nào cho dự cú thể vẫn cũn khụng gian đĩa trống. Phần quan trọng nhất trong inode là cỏc con trỏ đến cỏc khỗi dữ liệu. Trờn Linux núi riờng cỏc con trỏ đến cỏc khối dữ liệu chia làm 4 loại : trực tiếp (direct), giỏn tiếp (indirect), giỏn tiếp 2 mức (double-indirect), giỏn tiếp 3 mức (triple-indirect).

Thư mục chớnh là một loại file đặc biệt và cũng được đại diện bởi một inode number. Thực tế, thư mục chớnh là một file mà nội dung của file đú là một danh sỏch, mỗi một phần tử trong danh sỏch gồm một inode number và tờn file tương ứng với inode number, hai thành phần này tạo nờn một file hoặc một thư mục con nằm trong thư mục mẹ.

Hệ thống Ext2fs cú ưu điểm là hỗ trợ những phõn vựng đĩa lớn, cú cơ chế phõn quyền người dựng, và sử dụng hiệu quả khụng gian đĩa hơn FAT. Tuy nhiờn do lưu trữ thụnh tin điều khiển ở nhiều nơi nờn việc đồng bộ sẽ phức tạp hơn. Một hệ thống quản lý file mở rộng NTFS hiện cũng đang được phỏt triển mạnh, do khuụn khổ bài viết chỳng tụi xin khụng trỡnh bày ở đõy.

6.2.4 Nhận xột chung

Cỏc hệ thống quản lý file trờn điều chia và quản lý khụng gian lưu trữ theo khối (block hay cluster). Đều coi thư mục là một file đặc biệt nhưng cỏch quản lý file khỏc nhau. Tuy nhiờn, việc hỗ trợ bảo mật của cỏc hệ thống này hoặc khụng cú, hoặc chỉ thực hiện ở mức hệ điều hành tức là chỉ được thực hiện khi người dựng thao tỏc file trờn hệ điều hành, cũn nếu đọc trực tiếp từ đĩa thỡ vẫn cú thể lấy được dữ liệu. Mặc khỏc, đõy là những hệ thống dựng để quản lý ổ cứng, do vậy chỳng khụng cú cơ chế thay đổi kớch thước của volume. Đừy chớnh là những điểm cần được cải tiến trong cấu trỳc của volume ảo.

6.3 Giải phỏp thiết kế cấu trỳc volume ảo

Để đỏp ứng 3 yờu cầu quan trọng là lưu trữ, bảo mật và an toàn dữ liệu trờn, volume ảo cầu cú những đặc điểm sau:

Toàn bộ volume ảo được lưu trữ trờn ổ đĩa của hệ điều hành chủ dưới dạng 1 hay nhiều file hoặc một phõn vựng nào đú trờn ổ đĩa. Vỡ vậy, nếu khụng cú những trỡnh vào ra cho volume ảo thỡ chỉ cú thể sao chộp được toàn bộ volume ảo. Muốn lấy được từng file thỡ cần phải phõn tớch cấu trỳc rất phức tạp của nú. Dữ liệu lưu trữ trờn volume ảo được mó húa bằng những thuật toỏn mó húa phức tạp sử dụng bộ khúa động là những thụng tin định danh người dựng (username, password)1. Mặt khỏc, trờn volume chỉ lưu trữ những thụng tin kiểm tra là kết quả của những hàm mó húa 1 chiều của thụng tin 1. Do đú khụng thể phục hồi lại chỳng từ những thụng tin này. Vỡ vậy việc giải mó dữ liệu trờn volume (nếu khụng cú những key trờn) sẽ rất khú khăn.

Những thụng tin quan trọng của volume được sao lưu thành nhiều bản và đớnh kốm chữ ký số của chỳng nhằm bảo vệ và khụi phục những thụng tin này khi cú sự cố.

Chơng 7. Cấu trúc volume ảo

Trờn cơ sở những mụ hỡnh quản lý đĩa đó giới thiệu ở trờn, chúng em đó thiết kế cấu trúc của volume ảo với ý tưởng dựa vào mụ hỡnh FAT nhưng khắc phục được những nhược điểm đó nờu trờn của mụ hỡnh này.

Như đó trỡnh bày trong phần đặc điểm, volume ảo được lưu theo nhiều dạng khỏc nhau. Mỗi dạng cú một cấu trỳc riờng tương ứng với dạng đú. Tuy nhiờn, nếu bỏ qua những vựng thụng tin định dạng riờng, coi volume ảo và một vựng khụng gian lưu trữ liờn tục thỡ cấu trỳc của volume ảo cú dạng nh hỡnh sau:

Hình 1.1 Mụ hỡnh volume ảo

Những thụng tin cấu hỡnh chung sẽ dược lưu trữ ở phần đầu của volume ảo. Phần khụng gian lưu trữ cũn lại được chia thành cỏc block cú kớch thước như nhau. Cỏc block liờn tiếp nhau được nhúm lại thành cỏc phõn vựng. Mỗi phõn vựng cú số lượng block nh nhau và trạng thỏi của cỏc block này được quản lý bởi bảng thụng tin trạng thỏi block nằm ở đầu mỗi phõn vựng.

7.2 Bảng thụng tin volume

Giống nh boot sector trong mụ hỡnh FAT. Nội dung của volume ảo được bắt đầu bằng “bảng thụng tin volume”. Bảng thụng tin này chứa toàn bộ thụng tin quy định khuụn dạng của chớnh volume đú. Chi tiết cỏc trường cho bởi bảng sau:

Một phần của tài liệu xây dựng chương trình bảo vệ dữ liệu trên môi trường không an toàn (Trang 54 - 84)