CHƯƠNG 2: GIẢI PHÁP MÃ HÓA DỮ LIỆU LƯU TRỮ: Chỉ ra những thuật toán của mã hóa và nêu ra bốn dạng mã hóa thường được dùng hiện nay.Đồng thời trình bày các tiêu chuẩn bảo vệ dữ liệu.. Mã
Trang 1HỌC VIỆN KỸ THUẬT MẬT MÃ
KHOA CÔNG NGHỆ THÔNG TIN
CƠ SỞ AN TOÀN THÔNG TIN
ĐỀ TÀI: Tìm hiểu về giải pháp mã hóa dữ liệu lưu trữ
Ngành: An toàn thông tin
Trang 2MỤC LỤC
LỜI NÓI ĐẦU 5
DANH MỤC KÍ HIỆU VÀ VIẾT TẮT 6
CHƯƠNG 1 TỔNG QUAN 7
1.1 Lịch sử hình thành mật mã 7
1.2 Tổng quan về mã hóa 8
1.2.1 Cơ sở lý thuyết mật mã 8
1.2.2 Ứng dụng của mã hóa dữ liệu trong thời đại công nghệ số 8
1.3 Mã hóa dữ liệu lưu trữ 9
1.3.1 Khái niệm mã hóa dữ liệu lưu trữ 9
1.3.2 Chức năng 10
1.3.3 Ưu nhược điểm của mã hóa dữ liệu Tầm quan trọng của mã hóa dữ liệu lưu trữ 10
1.4 Tầm quan trọng của mã hóa dữ liệu 11
CHƯƠNG 2 GIẢI PHÁP MÃ HÓA DỮ LIỆU LƯU TRỮ 11
2.1 Quá trình mã hóa dữ liệu lưu trữ 11
2.1.1 Thuật toán 11
2.1.2 Các loại mã hóa sử dụng 16
2.2 Các tiêu chuẩn bảo vệ dữ liệu lưu trữ IEEE P1619 19
2.3 So sánh đặc tính của mã hóa dữ liệu lưu trữ và mã hóa dữ liệu truyền thống .20
2.3.1 Mã hóa truyền thống 20
2.3.2 Mã hóa trong môi trường lưu trữ 21
CHƯƠNG 3 GIẢI PHÁP MÃ HÓA DỮ LIỆU LƯU TRỮ 22
3.1 Encryption File System 22
Trang 33.1.1 Khái niệm 22
3.1.2 Quá trình mã hóa 22
3.1.3 Một số ưu nhược điểm của EFS 23
3.1.4 Triển khai thực tế 24
3.2 Mã hóa ổ đĩa, ổ đĩa ảo 29
3.2.1 Công cụ mã hóa BitLocker 29
3.2.2 Mã hóa ổ đĩa hệ thống 32
3.2.3 Mã hóa ổ đĩa USB với công cụ BitLocker 39
3.3 Mã hóa email, điện mật; 43
3.3.1 Khái niệm 43
3.3.2 Các loại mã hóa 44
Trang 4LỜI CẢM ƠN
Để hoàn thành bài tập lớn môn: “cơ sở an toàn thông tin”, trước hết chúng
em xin gửi lời cảm ơn chân thành tới các thầy cô giáo Học viện Kỹ thuật Mật Mãnói chung và các thầy cô giáo khoa An toàn thông tin
Nhóm 06 chúng em xin chân thành cảm ơn cô giáo hướng dẫn Trần Thị Vân
đã tận tình, chu đáo hướng dẫn chúng em thực hiện luận văn này
Mặc dù nhóm em đã cố gắng để thực bài tập lớn một cách hoàn chỉnh nhất.Song do trình độ lý luận cũng như kinh nghiệm thực tiễn còn hạn chế nên khôngthể tránh khỏi những thiếu sót nhất định mà bản thân chúng em chưa thấy được.Chúng em rất mong nhận được những ý kiến đóng góp của quý thầy cô và các bạn
để luận văn được hoàn thiện hơn
Chúng em xin trân trọng cảm ơn ạ!
Trang 5LỜI NÓI ĐẦU
Cùng với sự phát triển của thời kỳ công nghiệp hóa, hiện đại hóa máy móc
đã giúp con người rất nhiều việc Trong đó không thể không kể đến máy tính đãgiúp lưu trữ được rất nhiều thông tin, dữ liệu Khi lưu trong máy tính sẽ giúp dễphân loại, dễ tìm kiếm cũng như là tránh được các nỗi lo như là rách hay ướt khi
mà lưu tài liệu trên giấy Tuy nhiên bên cạnh những thông tin thường thì có rấtnhiều thông tin nhạy cảm cần được bảo mật và che dấu đi, vì thế hôm nay nhóm
chúng em nghiên cứu đề tài : “Giải pháp mã hóa dữ liệu lưu trữ” để làm rõ thêm
về vấn đề mã hóa và đưa ra một vài giải pháp cụ thể
Nội dung bài tập lớn nghiên cứu gồm 3 chương:
CHƯƠNG 1: TỔNG QUAN: Đưa ra cơ sở tổng quan về mã hóa và ưu
nhược điểm nói chung
CHƯƠNG 2: GIẢI PHÁP MÃ HÓA DỮ LIỆU LƯU TRỮ: Chỉ ra những
thuật toán của mã hóa và nêu ra bốn dạng mã hóa thường được dùng hiện nay.Đồng thời trình bày các tiêu chuẩn bảo vệ dữ liệu
CHƯƠNG 3 THỰC NGHIỆM: Nêu ra các khái niệm cơ bản, cơ chế hoạt
động và hướng dẫn mã hóa: Encryption file system; mã hóa ổ đĩa, ổ đĩa ảo; mã hóaemail, điện mật
Trang 6DANH MỤC KÍ HIỆU VÀ VIẾT TẮT
Standard
Một tiêu chuẩn mã hóatiên tiến
CPU Central Processing Unit Bộ xử lý trung tâm của
từ xa
phép thiết lập kết nốiđược mã hóa an toànTLS Transport Layer Security Một giao thức mật mã
USB Universal Serial Bus một thiết bị lưu trữ dữ
liệu sử dụng bộ nhớ flash
CHƯƠNG 1 TỔNG QUAN
Trang 71.1 Lịch sử hình thành mật mã
Mật mã là hiểu đơn giản là các kỹ thuật ngôn ngữ và toán học để đảm bảotính an toàn thông tin, được con người nghiên cứu từ rất lâu đời Trên thực tế mật
mã xuất hiện trong cuộc sống của chúng ta một cách thường xuyên, các kỹ thuật
mã hóa được sử dụng ngày nay là kết quả của một lịch sử phát triển cực kỳ lâu dài
Từ thời xa xưa, người ta đã sử dụng mật mã để truyền thông tin an toàn.trong thời cổ đại, khi mà hầu hết các nền văn minh ban đầu dường như đã sử dụngmật mã học ở một mức độ nào đó Ví dụ đầu tiên được biết đến về việc mật mãđược sử dụng để bảo vệ thông tin nhạy cảm là vào khoảng 3.500 năm trước khimột người ghi chép từ Lưỡng Hà sử dụng mật mã để giấu một công thức men gốm,được sử dụng trên các bảng tính bằng đất sét
Trải qua hàng nghìn năm, qua nhiều giai đoạn lịch sử quá trình mã hóa chủ yếuđược dùng để đảm bảo tính bí mật của những thông tin quan trọng, chẳng hạn nhưtrong công tác tình báo, quân sự hay ngoại giao cũng như các bí mật về kinh tếthương mại Mật mã hóa đã đi một chặng đường dài và hiện không có khả năngdừng lại Trong tương lai miễn là có dữ liệu nhạy cảm cần được bảo vệ, mật mãhọc sẽ tiếp tục phát triển
Trang 8Mã hóa dữ liệu để tránh bị lộ thông tin của mình cho những người khôngliên quan hoặc họ sử dụng dữ liệu của mình cho các hành vi phi pháp.
Như HTTPS, sử dụng thuật toán mã hóa TLS (tích hợp giữa mã hóa đốixứng và mã hóa bất đối xứng) để mã hóa dữ liệu khi thông tin được trao đổi giữatrình duyệt và máy chủ Chúng ta cũng có thể dùng mã hóa để bảo mật thông tin từemail, di động, bluetooth cho đến các ứng dụng ngân hàng
Ngày nay, các dữ liệu tĩnh như hình ảnh, các tập tin lưu trong máy, ổ cứnghoặc cơ sở dữ liệu các công ty cũng được mã hóa để bảo toàn
Một số bộ nhớ USB cho phép sử dụng phần mềm AES đi kèm để mã hóa dữliệu thông qua password Nếu bạn lỡ làm thất lạc USB thì không lo bị ai đó ăn cắp
dữ liệu bên trong Ngay cả khi chúng gỡ chip và gắn vào một phần cứng khác thìcũng chỉ thấy dữ liệu đã được mã hóa
Tuy nhiên, không có gì là an toàn tuyệt đối Các loại mã hóa bằng RSA vẫn
có thể bị phá bởi một máy tính đủ mạnh chạy trong thời gian dài Các tin tặcthường dùng phương thức tấn công cơ bản là Brute Force (thử và sai liên tục) đểthử các khóa ngẫu nhiên cho tới khi tìm được khóa đúng Và còn rất nhiều phươngthức khác đang được kẻ xấu áp dụng để phát hiện lỗ hổng trong mật mã
Trang 9Nhưng nhìn chung, mã hóa dữ liệu vẫn là điều cần thiết giúp chúng ta tăngtính bảo mật cho tài liệu, đặc biệt đối với những tài liệu quan trọng hay thông tintài khoản cá nhân.
1.3 Mã hóa dữ liệu lưu trữ
1.3.1 Khái niệm mã hóa dữ liệu lưu trữ
Mã hoá dữ liệu là động tác chuyển đổi dữ liệu từ dạng này sang dạng khác hoặckhóa mã để dữ liệu có cấu trúc khác hẳn so với ban đầu mà không thể đọc bằngmắt hoặc sử dụng các phần mềm đơn thuần để đọc, bởi nó không tuân theo cácđịnh dạng dữ liệu được quy chuẩn để chỉ những người có quyền truy cập vào khóa
bí mật (còn gọi là khóa giải mã) hoặc có mật khẩu mới có thể đọc được
Dữ liệu được mã hóa thường được gọi là bản mã (ciphertext), trong khi dữ liệukhông được mã hóa được gọi là bản rõ (plaintext) Hiện nay, mã hóa là một trongnhững phương pháp bảo mật dữ liệu phổ biến và hiệu quả nhất được sử dụng bởicác Tổ chức, doanh nghiệp
Việc làm này giúp bảo vệ thông tin tốt hơn, an toàn trong việc truyền dữ liệu Thựcchất việc mã hóa dữ liệu sẽ không thể nào ngăn việc dữ liệu có thể bị đánh cắp,nhưng nó sẽ ngăn việc người khác có thể đọc được nội dung của tập tin đó, vì nó
đã bị biến sang thành một dạng ký tự khác, hay nội dung khác
1.3.2 Chức năng
Mục đích của việc mã hóa dữ liệu là bảo vệ dữ liệu số khi nó được lưu trữtrên các hệ thống máy tính và truyền qua Internet hay các mạng máy tính khác Cácthuật toán mã hóa thường cung cấp những yếu tố bảo mật then chốt như xác thực,tính toàn vẹn và không thu hồi Xác thực cho phép xác minh nguồn gốc của dữliệu, tính toàn vẹn chứng minh rằng nội dung của dữ liệu không bị thay đổi kể từkhi nó được gửi đi Không thu hồi đảm bảo rằng người người không thể hủy việcgửi dữ liệu Tính xác thực cho phép truy xuất nguồn gốc phát của dữ liệu Tínhtoàn vẹn đảm bảo dữ liệu không bị thay đổi nội dung kể từ khi được gửi đi Tínhkhông thu hồi: không cho phép người gửi hủy thao tác gửi dữ liệu
Quá trình mã hóa sẽ biến nội dung sang một dạng mới, vì thế sẽ tăng thêmmột lớp bảo mật cho dữ liệu Như vậy cho dù dữ liệu đánh cắp thì việc giải mã dữliệu cũng vô cùng khó khăn, tốn nhiều nguồn lực tính toán và cần rất nhiều thờigian Với những công ty, tổ chức thì việc sử dụng mã hóa dữ liệu là điều cần thiết.Điều này sẽ tránh được những thiệt hại khi những thông tin mật nếu vô tình bị lộ rangoài, cũng khó lòng giải mã ngay lập tức
1.3.3 Ưu nhược điểm của mã hóa dữ liệu Tầm quan trọng của mã hóa dữ liệu
Trang 10Ưu điểm: thấy rõ nhất chính là sự bảo mật thông tin trước các mối nguy hại
như hacker, phần mềm gián điệp
Nhược điểm: Tốn tài nguyên CPU cho xử lý mỗi đơn vị dữ liệu, trong một
số trường hợp làm chậm quá trình xử lý vì vậy đôi khi cần cân đối giữa tính bảomật và tốc độ xử lý, độ trễ của các hệ thống liên quan, dữ liệu sau khi mã hóathường có dung lượng lớn hơn, làm cho quá trình lưu trữ và truyền tải tốn kémhơn
1.4 Tầm quan trọng của mã hóa dữ liệu
Việc mã hóa dữ liệu lưu trữ là để đảm bảo tính an toàn cho thông tin, đặcbiệt trong thời đại công nghệ số như hiện nay Có thể nói mã hóa chính là việcđảm bảo bí mật , toàn vẹn thông tin, khi thông tin được truyền trên mạng internet
Việc mã hóa dữ liệu, đơn giản là việc tăng thêm một lớp bảo mật cho dữ liệubằng cách chuyển đổi dữ liệu sang một dạng khác thông qua một mã khóa vớinhững quy tắc tùy biến, vì vậy, kể cả khi dữ liệu của bạn có bị đánh cắp, việc giải
mã dữ liệu cũng là rất khó khăn Một ví dụ đơn giản cho việc mã hóa dữ liệu Nếunhư bạn chỉ đặt mật khẩu cho máy tính, laptop của bạn, hacker chỉ cần một vài thủthuật để bỏ qua lớp mật khẩu (bypass) là có thể truy cập được dữ liệu, hoặc đơngiản chỉ là cắm thiết bị lưu trữ sang một hệ thống khác, tuy nhiên nếu như dữ liệuđược mã hóa, kể cả khi có được dữ liệu rồi cũng rất khó để giải mã được như banđầu nếu không có mã khóa
Không chỉ đảm bảo tính toàn vẹn và tính sẵn có của dữ liệu mà còn đảm bảotính bảo mật của nó Là ngay cả trong trường hợp vi phạm khi kẻ tấn công cóquyền truy cập vào thông tin đăng nhập, dữ liệu sẽ vẫn được mã hóa và do đó kẻtấn công không thể hiểu được Đề phòng trường hợp kẻ tấn công cũng muốn cóđược quyền truy cập vào dữ liệu bằng cách đăng nhập qua một trong các thông tinđăng nhập đó hoặc muốn bán nó trên dark web
Mã hóa dữ liệu bảo vệ tính riêng tư của dữ liệu bằng cách hiển thị cho bất kỳ
ai thiếu quyền truy cập vào "chìa khóa" để mở khóa dữ liệu không thể hiểu được
Dữ liệu được mã hóa trông giống như một luồng dài các ký tự ngẫu nhiên
Dữ liệu phải được mã hóa khi chuyển tiếp và nghỉ ngơi Mã hóa dữ liệu khi chuyểntiếp là cơ sở để bảo mật thông tin liên lạc giữa hai bên Mã hóa dữ liệu hoàn toàn làviệc duy trì tính bảo mật của dữ liệu được lưu trữ
CHƯƠNG 1 GIẢI PHÁP MÃ HÓA DỮ LIỆU LƯU TRỮ 1.5 Quá trình mã hóa dữ liệu lưu trữ
1.5.1 Thuật toán
Trang 11Khi nói về độ mạnh mã hóa, thường nói về một thuật toán mã hóa cụ thể.Các thuật toán có tên như Triple DES, RSA hoặc AES Tên thuật toán mã hóathường đi kèm với giá trị bằng số, như AES-128 Con số này đề cập đến kích thướckhóa mã hóa và xác định thêm độ mạnh của thuật toán.
1.5.1.1 Data Encryption Standard (Tiêu chuẩn mã hóa dữ liệu - DES)
Data Encryption Standard là tiêu chuẩn mã hóa ban đầu của chính phủ Mỹ.Ban đầu nó được cho là không thể phá vỡ nhưng sự ra tăng về sức mạnh máy tính
và giảm chi phí phần cứng đã khiến mã hóa 56-bit lỗi thời Điều này đặc biệt đúngvới dữ liệu nhạy cảm
Tính chất mã hóa dữ liệu - DES
Là mã thuộc hệ mã Feistel gồm 16 vòng, ngoài ra DES có thêm một hoán vịkhởi tạo trước khi vào vòng 1 và một hoán vị khởi tạo sau vòng 16
Kích thước của khối là 64 bít: ví dụ bản tin “meetmeafterthetogaparty” biểudiễn theo mã ASCII thì mã DES sẽ mã hóa làm 3 lần, mỗi lần 8 chữ cái (64bít): meetmeaf – tertheto – gaparty
1.5.1.2 TripleDES
TripleDES (đôi khi được viết là 3DES hoặc TDES) là phiên bản DES mớihơn, an toàn hơn Khi DES bị crack trong thời gian chưa đầy 23 giờ, nhận ra vấn
đề, do vậy, đây là lý do mà TripleDES được sinh ra TripleDES tăng tốc quy trình
mã hóa bằng cách chạy DES ba lần
Trang 12Mã hóa TripleDES
+ Dữ liệu được mã hóa, giải mã và sau đó được mã hóa một lần nữa, đem đến
độ dài khóa hiệu quả là 168 bit Nó đủ dài cho những dữ liệu nhạy cảm nhất Tuynhiên, mặc dù TripleDES dài hơn tiêu chuẩn DES nhưng nó cũng có những sai sót
- TripleDES có ba tùy chọn khóa:
+ Tùy chọn Key 1: Tất cả ba khóa đều độc lập Phương pháp này cung cấpcường độ khóa mạnh nhất: 168 bit
+ Tùy chọn Key 2: Key 1 và Key 2 là độc lập, trong khi Key 3 giống với Key
1 Phương pháp này cung cấp cường độ khóa hiệu quả là 112 bit (2 × 56 = 112).+ Tùy chọn Key 3: Cả ba khóa đều giống nhau Phương pháp này cung cấpkhóa 56 bit
- Tùy chọn Key 1 là mạnh nhất Tùy chọn Key 2 không mạnh, nhưng vẫncung cấp sự bảo vệ nhiều hơn gấp hai lần so với mã hóa DES TripleDES là mộtthuật toán mã hóa khối, nghĩa là dữ liệu được mã hóa theo một kích thước khối cốđịnh Tuy nhiên, kích thước khối TripleDES nhỏ 64 bit, làm cho nó hơi nhạy cảmvới các cuộc tấn công nhất định (như xung đột khối)
Trang 13Mã hóa RSA
- Thuật toán RSA được sử dụng rộng rãi trên Internet Nó là tính năng chínhcủa nhiều giao thức bao gồm SSH, OpenPGP, S/MIME và SSL/TLS Ngoài ra,trình duyệt sử dụng RSA để thiết lập giao tiếp an toàn qua mạng không an toàn
- RSA vẫn rất phổ biến do độ dài khóa của nó Một khóa RSA thường dài
1024 hoặc 2048 bit Tuy nhiên, các chuyên gia bảo mật tin rằng không mất nhiềuthời gian để crack RSA 1024 bit, do đó nhiều tổ chức phải chuyển sang khóa 2048bit mạnh mẽ hơn
1.5.1.4 Advanced Encryption Standard (Tiêu chuẩn mã hóa tiên tiến AES)
-Advanced Encryption Standard (AES) hiện là tiêu chuẩn mã hóa của Chínhphủ Hoa Kỳ sử dụng Nó dựa trên thuật toán Rijndael được phát triển bởi hai nhàmật mã người Bỉ, Joan Daemen và Vincent Rijmen Các nhà mật mã học người Bỉ
đã gửi thuật toán của họ đến Viện Tiêu chuẩn và Kỹ thuật Quốc gia (NationalInstitute of Standards and Technology - NIST), cạnh tranh với 14 thuật toán mãhóa khác để trở thành kiểu mật mã tiếp theo sau DES Rijndael “thắng” và đượcchọn là thuật toán AES được đề xuất vào tháng 10 năm 2000
Trang 14- Tiêu chuẩn mã hóa tiên tiến - AES
+ AES là thuật toán khóa đối xứng và sử dụng mật mã khối đối xứng Nó baogồm ba kích thước chính: 128, 192 hoặc 256 bit Hơn nữa, có các vòng mã hóakhác nhau cho mỗi kích thước khóa Một vòng là quá trình chuyển văn bản thôthành văn bản mã hóa Đối với 128-bit, có 10 vòng (round); 192-bit có 12 vòng, và256-bit có 14 vòng
+ Có những cuộc tấn công lý thuyết chống lại thuật toán AES, nhưng tất cảđều yêu cầu lưu trữ dữ liệu cụ thể và thời gian nhất định, do đó không khả thi trongthời điểm hiện tại
Ví dụ, một cuộc tấn công vào mã hóa AES cần 38 nghìn tỷ dữ liệu, nhiềuhơn tất cả dữ liệu được lưu trữ trên tất cả các máy tính trên toàn thế giới trong năm
2016 Ước tính thời gian cần thiết để tạo tấn công brute-force khóa AES-128 làhàng tỷ năm
1.5.1.5 Twofish
Thuật toán Twofish hoạt động với các kích thước khóa 128, 196 và 256 bit
và có cấu trúc khóa phức tạp khiến nó khó có thể bị bẻ khóa
Twofish là một trong những thuật toán mã hóa nhanh nhất và là một lựachọn tuyệt vời cho cả phần cứng và phần mềm Hơn nữa, mật mã Twofish miễnphí cho tất cả người dùng Nó xuất hiện trong một số phần mềm mã hóa miễn phí
Trang 15tốt nhất, chẳng hạn như VeraCrypt (mã hóa ổ đĩa), PeaZip (file lưu trữ) và KeePass(quản lý mật khẩu nguồn mở), cũng như tiêu chuẩn OpenPGP.
Vì là kỹ thuật đơn giản nên phương pháp mã hóa dữ liệu này có tính an toànkhông cao Nếu một bên thứ 3 biết được thuật toán mã hóa thì thông tin không cònbảo mật nữa Việc giữ bí mật thuật toán cũng chỉ đảm bảo ở mức tương đối nếutrường hợp nó bị rò rỉ ra ngoài hoặc kẻ xấu có thể lần mò giải ra thuật toán thì việc
mã hóa trở nên vô nghĩa
1.5.2.2 Mã hóa một chiều
Mã hóa một chiều (hash): Mã hóa một chiều được sử dụng khi chúng ta chỉ mãhóa dữ liệu mà không cần giải mã nó
Trang 16Để hiểu rõ hơn chúng ta cùng xét trong một ví dụ thực tế: Khi bạn đăngnhập vào một trang web, mật khẩu sẽ được chuyển thành một chuỗi ký tự dài như
"akhddkhskdh" bằng một kỹ thuật gọi là hash function (hàm băm) Chuỗi này đượclưu vào cơ sở dữ liệu thay vì mật khẩu thực của bạn Nếu hacker có đánh cắp dữliệu thì chúng sẽ chỉ nhận diện được chuỗi ký tự khó hiểu trên thay vì mật khẩuban đầu bạn nhập Trong mỗi lần đăng nhập, hàm băm sẽ xử lý mật khẩu thật thànhchuỗi ký tự và so sánh với cái đã lưu trong cơ sở dữ liệu, nếu kết quả trùng khớpthì đăng nhập thành công, nếu không thì phản hồi lỗi thao tác Dữ liệu được mãhóa này không có nhu cầu giải mã lại thành password thật nên được gọi là mã hóamột chiều
1.5.2.3 Mã hóa bất đối xứng
Mã hóa bất đối xứng: còn được gọi là mã hóa khóa công khai, thường dùng
thuật toán RSA để mã hóa Khi đó, nó dùng đến hai khóa khác nhau gồm: mộtkhóa công khai (public key) và một khóa bí mật (private key) Dữ liệu được mãhóa bằng khóa public key và ai cũng có thể có được key này nhưng để giải mãđược thì người nhận phải có private key Nhược điểm của phương pháp mã hóa bấtđối xứng nằm ở tốc độ mã hóa và giải mã rất chậm
Trang 171.5.2.4 Mã hóa đối xứng
Mã hóa đối xứng: Theo một số khảo sát cho rằng, mã hóa đối xứng làphương pháp mã hóa dữ liệu phổ biến nhất hiện nay, cho phép bạn chỉ cần một keygiống nhau để mã hóa và giải mã Có hai thuật toán thường thấy trong kỹ thuật mãhóa này là DES và AES Trong đó, DES xuất hiện từ năm 1977 và đến nay khôngcòn sử dụng nhiều bằng AES Thuật toán AES dùng nhiều kích thước ô nhớ khácnhau để mã hóa dữ liệu, và thông dụng nhất là 128-bit và 256-bit, có một số trườnghợp lên tới 512-bit hoặc 1024-bit Đặc trưng của thuật toán này là khi kích thước ônhớ càng lớn thì càng khó phá mã, bù lại cần nhiều kỹ năng để giải mã và mã hóahơn
Trang 181.6 Các tiêu chuẩn bảo vệ dữ liệu lưu trữ IEEE P1619
IEEE P1619 là một đề án chuẩn của IEEE (Institute of Electrical andElectronics Engineers – Viện kỹ thuật điện và điện tử) về mã hóa cho dữ liệu lưutrữ, kết quả được thực hiện bởi Nhóm nghiên cứu về an toàn dữ liệu lưu trữ(Security in Storage Working Group - SISWG), nhóm này đã đưa ra một họ cáctiêu chuẩn để bảo vệ dữ liệu lưu trữ và phương pháp quản lý khóa mã tương ứng.SISWG làm việc trên 4 tiêu chuẩn sau:
- P1619 - Chuẩn kiến trúc cho môi trường lưu trữ chia sẻ có mã hóa(Standard Architecture for Encrypted Shared Storage Media) – Còn gọi là chuẩn
mã hóa khối hẹp (Narraw-Block Encryption) Chuẩn này phù hợp cho mã hóa dữliệu lưu trữ trong một thiết bị khối được cố định (fixed-block device)
Sử dụng chế độ mã khối hẹp XTS-AES (XEX-based Tweaked CodeBookmode (TCB) with CipherText Stealing (CTS)
Chuẩn này được chấp nhận vào tháng 12/2007 Ngày 04/10/2008, NIST đãhoàn thành và công bố việc xem xét XTS-AES Dựa trên những công bố này,NIST đang xem xét để quyết định liệu có sử dụng XTS-AES làm một chế độ hoạtđộng được chấp nhận trong FIPS 140
- P1619.1- Chuẩn mã hóa được xác thực với mở rộng độ dài cho các thiết bịlưu trữ (Standard for Authenticated Encryption with Length Expansion for Storage
Trang 19Devices) Chuẩn này phù hợp cho các thiết bị lưu trữ dữ liệu mà hỗ trợ các khối cóthể mở rộng (expanding block) Tất cả các chế độ trong chuẩn này sử dụng thuậttoán mã khối AES-256 được chấp nhận bởi NIST) Các chế độ trong chuẩn nàygồm:
- CCM- 28- AES- 256: Chế độ bộ đếm với CBC- MAC
- P1619.2 - Chuẩn mã hóa khối rộng cho môi trường lưu trữ chia sẻ(P1619.2 Standard for Wide-Block Encryption for Shared Storage Media) Chuẩnnày đặc tả một kiến trúc cho mã hóa dữ liệu trong các thiết bị lưu trữ truy nhậpngẫu nhiên, hướng tới các ứng dụng mà sử dụng kích thước khối mã 512 byte hoặclớn hơn Tháng 10/2008, nhóm nghiên cứu P1619.2 đã quyết định chỉ sử dụngEME2 và XCB Hiện chuẩn này chưa được chấp nhận
- P1619.3 - Chuẩn cho hạ tầng quản lý khóa để bảo vệ dữ liệu lưu trữ(Standard for Key Management Infrastructure for Cryptographic Protection ofStored Data) Chuẩn này định nghĩa các phương pháp cho lưu trữ, quản lý và phânphối các khóa mã được sử dụng để bảo vệ dữ liệu lưu trữ
1.7 So sánh đặc tính của mã hóa dữ liệu lưu trữ và mã hóa dữ liệu truyền thống
1.7.1 Mã hóa truyền thống
Đa số các cơ chế được sử dụng rộng rãi để bảo mật dữ liệu là thôngqua mã hóa Một cách lý tưởng thì mỗi thông báo được mã hóa với một khóangẫu nhiên duy nhất để đạt được độ mật hoàn hảo trong khi các cài đặt trongđời sống thực thì còn rất xa mới đạt được sự hoàn hảo Bởi vậy, để tránh cácthông báo giống nhau được mã hóa sử dụng cùng một khóa (sẽ dẫn tới bản
mã giống nhau), thì các vector khởi tạo (IV) sẽ được sử dụng trong quá trình
Trang 20 Do bản chất của truyền thông là dữ liệu có thời gian tồn tại ngắn, và chỉđược ghi một lần nên tính duy nhất của khóa IV có thể đạt được bằng cáchdịch vòng một không gian IV rất lớn trước khi thay đổi một khóa mới.
1.7.2 Mã hóa trong môi trường lưu trữ
Môi trường lưu trữ cũng tương tự như kênh truyền thông, với ý nghĩa làngười gửi chuyển một thông báo tới một môi trường lưu trữ, và sau đó người nhận
có thể lấy lại thông báo đó từ môi trường lưu trữ này Bởi vậy, cũng có thể sử dụngcác cơ chế mật mã tương tự Tuy nhiên, mô hình lưu trữ khác biệt so với môitrường truyền thông ở một số yếu tố chính sau:
Cập nhật tại chỗ (in-place update): Không giống như các thông báo truyềnthông có thời gian tồn tai ngắn, một tệp lưu trữ có thời gian tồn tại lâu dài hơn.Việc cập nhật tới một tệp có thể được thực hiện tại chỗ (nội dung cũ được ghi đèvới nội dung mới ở cùng một vị trí trên tệp) Bởi vậy nếu các IV được sinh ra bằngmột hàm của tham số liên quan tới vị trí dữ liệu bên trong một tệp hoặc môi trườnglưu trữ, thì tính duy nhất IV liên quan tới nội dung của dữ liệu bị thỏa hiệp
Dịch chuyển nội dung (Content shifting): Ngoài đặc tính cập nhật tại chỗ thìnội dung mới có thể được chèn thêm vào trong tệp, kết quả dẫn đến là việc dịchchuyển nội dung cũ Do đó sẽ tiềm ẩn một lượng lớn các bản rõ gốc được mã hóathông qua việc sử dụng IV được tạo ra từ hàm của vị trí tệp hoặc vị trí đĩa
Sao lưu (backup): Những người sử dụng đơn thuần có thể tin tưởng vào khảnăng mã hóa mà không sử dụng các cơ chế sao lưu an toàn thích hợp Ví dụ việcsao lưu ảnh từng byte một (byte-to-byte) trên thiết bị lưu trữ cho phép một số dạngtấn công chủ động, trong đó kẻ tấn công có thể tập hợp các phiên bản khác nhaucủa sao lưu, nên sẽ làm phá vỡ tính duy nhất của IV và khóa Dạng tấn công này cóthể rất nguy hiểm, bởi vì một kẻ tấn công ở phía môi trường lưu trữ có thể trích cácbản rõ mà không cần truy nhập tới khóa hoặc thông tin về tài khoản của ngườidùng
Trang 21CHƯƠNG 3 GIẢI PHÁP MÃ HÓA DỮ LIỆU LƯU TRỮ 3.1 Encryption File System
Các thuật toán mật mã được sử dụng trong EFS để cung cấp các biện phápđối phó bảo mật hữu ích, theo đó chỉ người nhận dự kiến mới có thể giải mã mật
mã EFS sử dụng các khóa đối xứng và không đối xứng trong quá trình mã hóa,nhưng nó không bảo vệ việc truyền dữ liệu Thay vào đó, nó bảo vệ các tệp dữ liệutrong hệ thống Ngay cả khi ai đó có quyền truy cập vào một máy tính nhất định,cho dù được phép hay không, họ vẫn không thể mở khóa mật mã EFS mà không cókhóa bí mật
3.1.2 Quá trình mã hóa
EFS sử dụng một thuộc tính mã hoá để đưa vào các file bảo vệ EFS Khithuộc tính này được kích hoạt, EFS lưu trữ các file dưới dạng file được mã hoábằng mật mã Khi một người dùng được cho phép mở File mã hoá này trong mộtứng dụng thì EFS sẽ tiến hành giải mã file và cung cấp một bản có thể đọc cho ứngdụng đó Người dùng này có thể xem hoặc chỉnh sửa file mã hoá này và EFS sẽ lưutrữ các chỉnh sửa này lại dưới dạng đã được mã hoá Những người dùng khác sẽkhông thể mở hoặc chỉnh sửa file mã hoá này
Những File được bảo vệ bởi EFS có độ tin cậy và an toàn ngay cả trongtrường hợp những người truy nhập trái phép muốn dùng các công cụ đọc nội dungđĩa cứng cấp thấp để đọc các file này
Khi sử dụng EFS để mã hoá File hay thư mục, EFS sẽ sinh ra một FileEncryption Key (FEK) chứa một con số ngẫu nhiên Số ngẫu nhiên này được hệthống sử dụng trong giải thuật DESX để tạo ra File mã hoá và ghi nó vào ổ cứng
Hệ thống cũng tiến hành mã hoá FEK bằng Public key của người dùng và lưu trữ
Trang 22File đã mã hoá Khi sử dụng EFS lần đầu, hệ thống sẽ sinh ra một cặp khoáPrivate/Public Key nếu nó chưa có (Trong môi trường AD cặp khoá này được lưutrữ trên Domain controller còn trong môi trường không có AD nó được lưu trênmáy tính mà bạn tiến hành mã hoá file).
EFS là hệ thống mã hoá dựa trên hạ tầng khoá công (Public keyCryptography), sử dụng FEK được sinh ngẫu nhiên để mã hoá dữ liệu Hệ thống cơ
sở mã hoá khoá công sử dụng một cặp khoá Public/Private key để tiến hành quátrình mã hoá và giải mã Khoá công (Public key) sẵn có cho tất cả người dùng sửdụng để mã hoá FEK và khoá riêng (Private key – phần bí mật của người dùng) đểgiải mã FEK Hệ thống định dạng tập tin NTFS lưu trữ một danh mục các FEKcùng với các file mã hoá bằng các thuộc tính đặc biệt của EFS là Data DecryptionFields (DDFs) và Data Recovery Fields (DRFs)
Quá trình mã hoá EFS thực hiện như sau:
1 Sinh ra một a bulk symmetric encryption key
2 Mã hoá file bằng bulk symmetric encryption key đã sinh ra
3 Mã hoá bulk encryption key bằng EFS public key của người dùng
4 Lưu trữ encrypted bulk key trong data decryption field (DDF) và đưa nóvào EFS file
EFS có thể dùng private key của người dùng để giải mã bulk encryption key
và giải mã luôn file đã mã hoá
Kỹ thuật lưu trữ khoá của EFS dựa trên kiến trúc mã hoá Win2k CryptoAPI.Kiến trúc mã hoá này lưu trữ khoá công (public key) và khoá riêng (private key)của người dùng độc lập với nhau từ FEK được sinh ngẫu nhiên Điều này cho việclưu chữ Public/private key của người dùng có thể thực hiện trên nhiều thiết bị lưutrữ khác nhau như NTFS Folder, Smart card,…phục vụ cho các hệ thống chứngthực khác nhau
3.1.3 Một số ưu nhược điểm của EFS
3.1.3.1 Ưu điểm
EFS là một tiện ích bổ sung trên NTFS EFS rất tiện lợi vì nó được bao gồmtrong Windows và bạn không cần bất kỳ phần mềm bổ sung nào để mã hóa tệp -mọi thứ bạn cần đều đã có trong Windows Bạn không cần thực hiện bất kỳ bước
sơ bộ nào để bắt đầu mã hóa tệp, vì chứng chỉ mã hóa và khóa riêng tư được tạo tựđộng cho người dùng khi tệp được mã hóa lần đầu tiên
Một ưu điểm khác của EFS là khi một tệp được di chuyển từ một thư mụcđược mã hóa sang bất kỳ thư mục nào khác, nó vẫn được mã hóa và khi một tệp
Trang 23được sao chép vào một thư mục được mã hóa, nó sẽ tự động được mã hóa Khôngcần thực hiện thêm bất kỳ bước nào.
3.1.3.2 Nhược điểm
Không thể mã hóa mạng (nếu bạn cần, thì bạn cần sử dụng các giao thức mãhóa dữ liệu khác, ví dụ: IPSec) và thiếu hỗ trợ cho các hệ thống tệp khác Nếu bạnsao chép một tệp được mã hóa vào hệ thống tệp không hỗ trợ mã hóa, chẳng hạnnhư FAT / FAT32, tệp sẽ được giải mã và bất kỳ ai cũng có thể xem được Không
có gì đáng ngạc nhiên trong điều này, EFS chỉ là một tiện ích bổ sung trên NTFS