truyen file bao mat
Trang 1CHƯƠNG BỐN
BẢO MẬT TRUYỀN THÔNG VÀ BẢO MẬT FILE I Các chế độ bảo mật
1 Linh Encrytion
Bảo vệ dữ liệu giữa các nút kế cận.Giải thuật được thực hiện trên thiết bị bảo mật mà bao bọc bởi đường thông tin giữa hai nút mạng, hai thiết bị được đặt giữa các nút tương ứng, và được trang bị cùng khoá
2 Node Encryption
Tương tự với trên là mỗi cặp Node dùng chung Key để bảo vệ dữ liệu liên lạc giữa chúng Tuy nhiên dữ liệu truyền qua một nút trung gian thì không rõ ràng.
Trang 23 End - to - end Encrytion
Bảo vệ dữ liệu một cách liên tụctrong suốt quá trình truyền giữa các Users Không giống như hai cách trên, phương pháp này cho phép mỗi User có vài Key Dữ liệu được giải mã chỉ tại đích cuối mà thôi.
II Sự phân phối khóa
Bước quan trọng trong việc thiết kế một hệ thống bảo mật là đặc điểm ban đầu cuả Cipher Key như : Mục đích và cách dùng cuả mỗi kiểu key, thủ tục để bảo vệ chúng Cả Terminal và Host đều có khả năng mã hoá
Đối với bảo mật ở Node, phải có bản sao cuả giải thuật và key cụ thể dùng để mã hoá, giải mã Data Key được dùng bất cứ khi nào gọi là Working Key Để ngăn chặn việc tấn công , Giải thuật và Working Key được lưu giữ ở
Cryptographic Facility
Khi thực hiện phần mềm, giới hạn Cryptographic Facility không được định nghĩa chính xác Để khởi động , tối thiểu một Cipher Key phãi chèn vào Cryptographic Facility ở dạng rõ ràng Key ban đầu này được gởi tới Cryptographic Facility theo cách bí mật Tuần tự Key khác được đưa vào Cryptographic Facility bởi hệ thống một cách tự động cho tới khi nó được mã hoá lần đầu dưới một khóa mà đã tồn tại ở Facility nhận
Cryptographic Facility cung cấp cách để chèn dữ liệu hoặc Key để được mã hoá / giải mã , kết quả của nó là cung cấp ở đầu ra , trừ khi Key mã hóa được giải mã để tạo ra Working Key Trường hợp này , kết quả ở Cryptographic Facility
Trang 3Key khởi đầu có thể do Personal Key ( Users ) hoặc Key hệ thống cung cấp Ở bất cứ trường hợp nào , Key được đưa vào Facility của nút Bình thường
Personal Key được đưa vào tại thời điểm Ciphering bởi Users, trong khi Key kia đưa vào bằng việc cài đặt khi hệ thống khởi động lần đầu
Phương pháp quản lý Key cho phép hệ thống và cá nhân quản lý Key một cách hoàn toàn, do đó có được sự thông suốt bảo mật đặc điểm mong muốn Các nút mà dữ liệu mã hóa được trang bị với giải thuật bảo mật giống nhau, mỗi nút có bản sao của cùng Cipher Key Giữa hai nút phải có cùng một key mã hoá / giải mã dữ liệu cho mỗi cặp nút
Dùng Data Encrypting Key khác nhau cho thông tin được mã hoá giữa mỗi cặp nút có những thuận lợi Thông tin mà nhắm tới một nút không thể bị giải mã trộm tại nút khác và những Message sai hướng không thể được giải mã Hệ thống bảo mật đang thảo luận dùng một Key khác nhau cho việc mã hoá Data giữa một cặp End Users
Hình tròn : Nút mạng ( Terminal / Host )
Hình vuông : End Users ( người / chương trình ứng dụng )
Key được dùng bảo vệ Data là Primary Key (K) = Data - Encrypting Key Khi key này được dùng trực tiếp để cung cấp COMSEC được gọi là Primary
Communication Key (KC) KC primary được dùng bảo vệ Data trong một tập hợp các sự truyền thông gọi là Session Key (KS), cung cấp sự bảo mật file gọi là KF K được tự động tạo ra bởi hệ thống lúc End User yêu cầu, hoặc do End User cung cấp Trong suốt thời gian lưu trữ ở ngoài Cryptographic Facility, những Key này được bảo vệ bởi việc mã hoá dưới một key khác Các Key phải được giữ bí mật suốt thời gian hiện hữu hoặc tới khi Data bảo vệ không còn giá trị nữa
Secondary Key (KN) (N chỉ số nút) là một kiểu của mã hoá Key dùng để bảo vệ Primary Key, một loại thứ hai là Master Key Khi Secondary Key dùng để bảo vệ trong môi trường thông tin gọi là Secondary Communication Key
(KNC), còn trong môi trường cơ sở dữ liệu thì gọi là Secondary File Key (KNF) Một khi Secondary được đưa vào nút mạng, khi mã hoá dữ liệu có thể đuợc gởi từ Node này tới Node khác bắøng việc mã hoá dưới Secondary Key cuả nút nhận
COMSEC và FILESEC thừa nhận cùng một quan niệm về bảo vệ Data
Cryptography được dùng dể bảo vệ dữ liệu trong môi trường không điều khiển
Trang 4Trong môi trường thông tin liên lạc, Primary Key tồn tại trong khoảng thời gian 2 End Users trao đổi dữ liệu thông thường Key tồn tại khoảng vài phút, lâu hơn thì một giờ, nhưng hiếm khi tới một ngày Trong trường hợp File mã hoá được truyền giữa các bộ phận xử lý dữ liệu, Key tồn tại lâu hơn ( vài ngày / tuần ) Ngược lại Key được dùng để bảo vệ dữ liệu thì tồn tại hàng năm
Khi khởi tạo quá trình truyền thông, một Session Key (tự động hoặc cuả User ) được gán cho quá trình này Khi hoàn tất Key này bị xoá đi Vì thế mỗi khi có truyền thông thi các nhóm thực hiện các khoá khác nhau do đó giảm được lượng Data mã hoá dưới một khoá đơn
Trong môi trường Database
Hệ thống bảo mật cung cấp một cách tự động, hoặc nhận được từ End User, một khoá tương tự như Session Key mà sẽ được gán cho File Kết quả các File khác nhau sẽ được mã hoá với File Key khác nhau Khi khoá cá nhân được dùng thay cho File Key, việc truy xuất tới dữ liệu đã mã hoá tuỳ thuộc khả năng cuả từng User để có thể cung cấp khoá chính xác
Tóm Lại : Khi hai Node thiết lập sự mã hoá dữ liệu chúng phải chia một
Secondary Key Để sự bảo mật được tốt, giữa mỗi cặp Node nên dùng Secondary Key khác nhau
Trong môi trường truyền thông
Sự sắp xếp khoá xảy ra khi thiết lập mối liên lạc Khi đó nút A và B là Host và dữ liệu sẽ được truyền dưới hình thức mã hoá
Trong hệ thống có n Node thì cần phải có : n(n-1)/2 khoá khác nhau Mỗi Node phải lưu trữ n-1 khoá khác nhau để đảm bảo thông tin tới n-1 Node còn lại
Ví dụ: Trong hệ thống có 100 Node, mỗi Node phải lưu giữ 99 khoá, do đó có
tổng cộng là 4950 khoá trong hệ thống Rõ ràng việc cài đặt và quản lý một số lượng khoá lớn như vậy là rất khó khăn Tuy nhiên việc quản lý khoá có thể được giảm bằng cách, lưu trữ khoá tại Node Host và cài đặt duy nhất một khoá ở mỗi Terminal cuả Host
Mỗi Terminal liên quan đến một Host Việc tập trung các Terminal và do một Host quản lý gọi là đơn vùng (Single Domain) Khi có hai Host nối tiếp với nhau thì ta có một mạng ở dạng đa vùng (Multiple Domain)
Đường dẫn từ mỗi Terminal đến Host chủ trong Single Domain được
Communication Secondary Key bảo vệ, cài đặt trong Terminal và lưu trữ trong bảng khoá cuả Host (Host's Key Table)
Trang 5Đường dẫn giữa mỗi cặp Host một cặp Communication Secondary Key bảo vệ, được lưu trữ trong bảng Key tại mỗi Host Những khoá mã hoá này có tính một chiều Chúng được dùng để truyền dữ liệu theo một chiều Đặc tính này có hiệu lực thông qua việc bảo mật cuả hệ thống Chỉ cho phép giải mã thông tin ở các Node đích đã định trước
Trong môi trường đa vùng
Mỗi Host đều có khả năng gởi cũng như nhận một Session Key được mã hoá dưới dạng một Secondary Communication Key một chiều
Tóm lại : Mỗi Host đều phải chia sẻ hai Secondary Key khác nhau cho mỗi
Host khác trong mạng, và một khoá Secondary Communication Key đơn cho mỗi Terminal trong vùng cuả nó Do đó trong một mạng có 3 Host , mỗi Host có 2 Terminal, mỗi Host phải lưu trữ 6 Secondary Key khác nhau, mỗi Terminal phải lưu trữ 1 Secondary Key Tổng cộng cần phải có 12 Secondary Key.
Trang 6Tuy nhiên, File mã hoá có thể được tạo ra và khôi phục chỉ tại nút chủ Vì thế Secondary File Key được cần tới để bảo vệ đường dẫn giữa hai Host không cần đối với Host tới Terminal hoặc ngược lại File mã hoá cũng có thể được tạo ra
Trang 7và khôi phục tại cùng một Host, nên Secondary Communication Key được dùng để bảo vệ đường dẫn từ nó quay về chính nó
Thủ tục mà File được mã hoá tại một Host và giải mã tại Host khác tương tự như các nhóm liên lạc trong số liệu truyền theo một chiều Sự tương tự giữa FILESEC và COMSEC được phản ánh ở sơ đồ quản lý Key
* Single - Domain COMSEC
Terminal User (vùng i) Terminal User (vùng i)
Terminal User (vùng i) Chương trình ứng dụng (vùng i) * Multi - Domain COMSEC
Terminal User (vùng i) Terminal User (vùng j)
Terminal User (vùng i) Chương trình ứng dụng (vùng j)
Chương trình ứng dụng (vùng i) Chương trình ứng dụng (vùng j) * Single - Domain FILESEC
Chương trình ứng dụng (vùng i) Chương trình ứng dụng (vùng i) * Multi - Domain FILESEC
Chương trình ứng dụng (vùng i) Chương trình ứng dụng (vùng j)
III Sự bảo vệ khóa
Vì các giải thuật bảo mật giả thuyết là Nosecret, mức độ bảo vệ được cung cấp bởi hệ thống bảo mật phụ thuộc vào sự duy trì kín đáo cuả khoá bảo mật như thế nào Do đó, việc quản lý khoá phải bảo đảm khoá bảo mật không bao giờ được phép để lộ rõ ràng ở ngoài Cryptographic Facility, ngoại trừ dưới một điều kiện nào đó, trong khi khoá được khởi tạo lần đầu
1.Bảo vệ Terminal Key
Vì chỉ có một Secondary Communication Key được lưu trữ tại Terminal, nó có thể được lưu trữ trực tiếp tại vùng lưu trữ chủ ( Master Key Storage) cuả
Cryptographic Facility Hoạt động bảo mật của Terminal ít phức tạp hơn so với Host, vì Terminal chỉ quản lý một khoá đơn Nói cách khác Host phải quản lý hoạt động của toàn bộ hệ thống bảo mật do đó phải Copy một số lượng lớn Secondary Key và Primary Key Trong hệ thống như vậy, Terminal đóng vai trò bị động đối với yêu cầu cuả Host Trong khi đó Host giữ vai trò chủ động khi quản lý các yêu cầu
Đầu tiên Terminal Master Key (KMT) được Copy từ Master Key Storage
(MKS) tới Working Key Storage (WKS), và mã hoá Session Key được nạp vào như là đầu nhập của giải thuật bảo mật (Step 1) Giải thuật bảo mật giải mã dữ liệu nhập này nhờ KMT ở trong WKS, cho kết quả Session Key rõ ràng (Step
Trang 82) Session Key được chuyển đến WKS, thay thế KMT (step 3) Bây giờ Terminal có thể yêu cầu dữ liệu để mã/giải mã dùng Session Key.
2 Bảo vệ Host Key
Trang 9Vì Host System đóng vai trò quan trọng hơn Terminal trong quản lý và điều khiển hoạt động của hệ thống bảo mật, nó dễ dàng trở thàngh mục tiêu tấn công hơn Để giữ bí mật cho các Primary Key, một hệ thống chủ sẽ mã hoá và điều khiển chúng Tất cả Primary Key ngoài Facility phải được mã hoá dưới KM0 (Host Master Key) lưu trữ trong Facility Do vậy trước khi được dùng, 1 Primary Key được mã hoá, EKM0(K), phải được giải mã dưới KM0
Khi một Master Key được yêu cầu, KM được copy tới WKS, giá trị sẽ được chọn tương ứng cho j (0,1,or 2 phụ thuộc vào hành động nào ), và j được thay thế trong đệm dữ liệu (Step 1) Nội dung (j) cuả đệm dữ liệu được mã hoá dưới Key (KM) địng vị trong WKS để tạo ra một khoá theo yêu cầu, KMj (Step 2) Sau đó tính Master Key và trả về WKS, ghi đè lên giá trị cuả KM (Step 3)
IV Các thao tác bảo mật cơ bản
Hoạt động cơ bản cuả sự chuyển đổi khoá, mã hoá/ giải mã dữ liệu được thực hiện bởi Facility Có hai loại thao tác bảo mật trong hệ thống Cryptography : thao tác chuyển đổi dữ liệu (dữ liệu được mã hoá), thao tác khởi động và
chuyển đổi các khoá Cipher Các thao tác bảo mật được mô tả bằng Code thao tác của nó, một hay nhiều thông số ngõ nhập hoặc ra
Operation : { Input Parameter} Output
Một ngõ nhập, cũng như ngõ ra, có thể hoặc là thông số dữ liệu, hoặc là khoá mà ở dạng rõ ràng hay bị mã hoá Các thao tác bảo mật cung cấp một phương tiện cho việc thực hiện các hàm quản lý cấp cao trong hệ thống bảo mật Hệ thống này phải được thiết kế để nếu một hay nhiều thao tác được dùngcùng với bất cứ khoá được mã hoá hay thông số dữ liệu nào mà được tạo ra, truyền , lưu trữ trong hệ thống thì nó không thể khôi phục
1.Các khoá rõ ràng ở bên ngoài Cryptogaphy Facility, bất chấp sự an toàn có sẵn cuả hệ điều hành chủ
2.Plaintext từ CipherText bên ngoài Cryptogaphy Facility, ngoại trừ ở các trường hợp đặc biệt, và dưới các điều kiện đặc biệt
Một bảng tóm tắt các từ viết tắt sau : X : Khối PlainText
Y : Khối CipherText
K : Khoá chính( Khoá mã hoá dữ liệu) KN : Khoá phụ ( khoá mã hoá khoá ) KM0 : Khoá chủ Host
KM1 : Biến thể thứ I cuả KM0
Trang 10KM2 : Biến thể thứ II cuả KM0
1 Thao tác bảo mật ở Terminal
- Load Key Direct (LKD) :Thao tác này dùng để tải một khoá rõ ràng vào bộ lưu trữ khoá hoạt động (WKS) ở Cryptography Facility cuả Terminal LKD cho phép Terminal User xâm nhập 1 khoá riêng mà được dùng để mã hoá dữ liệu - Write Master Key (WMK) : Dùng để ghi một khoá vào bộ lưu trữ khoá chủ (MKS) Thao tác này chỉ có thể thực hiện trong trường hợp có quyền ( hợp pháp)
- Decipher Key (DECK) : Dùng để giải mã một khoá bằng một 1 CipherKey mà được lưu trong MKS, và đặt kết quả vào trong WKS
- Encipher (ENC) : Dùng để mãhoá dữ liệu 1 khối 64 bit cuả PlainText (X) được mã hoá bằng khoá mã hoá dữ liệu (K) để tạo ra CipherText (EK(X)) 1 message gồm các Block 8 byte được ký hiệu như sau:
ENC : {X(1), X(2), , X(n)} Y(1), Y(2), , Y(n) = EK(X(n))
- Decipher (DEC) : Dùng để giải mã dữ liệu Dữ liệu mã hoá được giải mã bằng khoá K tạo ra lại PlainText (X)
2 Thao tác bảo mật ở Host
Chuyển đổi dữ liệu -Encipher Data (ECPH) : ECPH : {EKM0(K),X} EK(X)
Dùng mã hoá dữ liệu Khối Plaintext(X) 64 bit được mã hoá bằng khoá K để tạo ra Ciphertext 64 bit (EK(X))
-Decipher Data (DCPH) : DCPH : { EKM0(K),EK(X)} X
Dùng giải mã dữ liệu Khối Ciphertext 64 bit EK(X) được giải mã bằng khoá K để khôi phục lại Plaintext (X)
Chuyển đổi khoá
- Set Master Key (SMK)
SMK : {KM0} Write Cipher KM0 in Master Key Storage - Encipher Under Master Key (EMK)
EMK: {K} EKM0(K)
Dùng mã hoá một Key mã hoá dữ liệu bằng Master Key cuả Host (KM0) EMK được cung cấp tại Host để phục vụ việc sử dụng các khoá cá nhân
- Reencipher From Master Key (RFMK) RFMK : {EKM1(KN), EKM0(K)} EKN(K)
Trang 11Bộ quản lý khoá chuyển một khoá chính (K) từ dạng mã hoá dưới khoá chủ tại Host (KM0) thành dạng mã hoá dưới khoá phụ (KN)
- Reencipher To Master Key (RTMK) RTMK : {EKM2(KN), EKN(K)} EKM0(K)
Bộ quản lý khoá chuyển một khoá chính (K) từ dạng mã hoá dưới khoá phụ (KN) thành dạng mã hoá dưới khoá chủ tại Host (KM0)
3 Key parity
Một Key DES gồm 64 bit, trong đó 56 bit được dùng trực tiếp và 8 bit còn lại được dùng để phát hiện lỗi Ví dụ : Các bit có thể được dùng để chắc chắn rằng mỗi byte trong khoá có parity lẻ (tổng số bít 1 trong mỗi byte là lẻ) Nếu được dùng, các Key parity được điều chỉnh khi chúng được tạo ra Các khoá mã hoá ở dạng rõ ràng trước khi được mã hoá với KM1 hay KM2, mỗi byte trong đó có thể dễ dàng được điều chỉnh để có Parity lẻ Khi khoá được khôi phục, chúng sẽ kiểm tra xem Parity có đúng không Đối với các khoá mã hoá dữ liệu ở dạng mã hoá, không có Parity điểøu chỉnh
V Bảo mật truyền thông
Trong mạng truyền dẫn số liệu, một vùng cuả Host System liên quan đến việc quản lý tập tài nguyên Thông tin về dữ liệu liên quan đến một hệ thống chủ đơn gọi là Single-Domain Và những gì liên quan đến nhiều Host thì là
Multiple-Domain
Một Master Key bảo đảm an toàn một cách đầy đủ đối với sự thông tin trong đơn vùng khi có khoá mã hoá khởi tạo sơ bộ được sử dụng Hai Master Key cần thiết đểù khởi tạo linh động khoá mã hoá, và ba Master Key cần cho việc bảo mật File Ba Master Key cũng rất hiệu qủa đối với đơn vùng hoặc đa vùng
1 Đơn vùng ( Single - Domain)
a Dùng khoá khởi tạo sơ bộ ( Pregenerated Primary Key)
Khoá khởi tạo sơ bộ là Primary Key, trước khi chúng được dùng đến, được sinh ra trong điều kiện an toàn ở nhóm lớn, đơn, và được lưu trữ trong hệ thống cho lần sử dụng sau Một hệ thống bảo mật với một Master Key cho phép sự bảo mật thông tin vùng đơn dùng khóa này
Ký hiệu KC1,KC2, , KCN là những khóa khởi tạo sơ bộ dùng trong việc bảo mật dữ liệu Nếu chỉ có một Master Key KM0 , thì KM0 được dùng để bảo vệ tất cả Primary Key được lưu trữ tại Host System cho việc mã hoá và giải mã dữ liệu Chúng có dạng :
EKM0 (KC1), EKM0(KC2), ,EKM0(KCn)