CHƯƠ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.
3. 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.
Key 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ể đï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.
Trong 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).
Đườ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.
Tuy 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
và 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
2). 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