3. Quản lý khĩa:
3.3. Các tác vụ mật mã của hệ thống chủ:
3.3.1. Bảo mật liên lạc đơn vùng dùng các khĩa chính đã được tạo trước:
- Các khĩa chính đã được tạo ra trước là các khĩa được tạo ra dưới các điều kiện bảo mật thành một nhĩm lớn trước khi chúng được sử dụng và được chứa bên trong hệ thống để sử dụng sau này. Hệ thống mật mã với một khĩa chủ KM0 cho phép mã hĩa các khĩa chính KCi trên:
EKM0(KC1), EKM0(KC2), … , EKM0(KCn).
- Các tác vụ mật mã cơ bản ở hệ thống host là: thiết lập khĩa chủ (SMK), mã hĩa theo khĩa chủ (EMK), mã hĩa dữ liệu (ECPH) và giải mã dữ liệu (DCPH):
. SMK: {KM0}
. EMK: {KC }→ EKM0(KC)
. ECPH: {EKM0(KC), Data} → EKC(Data) . DCPH: {EKM0(KC), EKC(Data)} → Data
- Nhược điểm của cách tiếp cận này là số lượng các khĩa liên lạc chính cần thiết cho hệ thống mật mã phải được xác định trước và khơng gian lưu trữ cho các khĩa này phải được cấp phát bởi hệ thống host. Điều này rất nguy hiểm bởi vì đối phương chỉ cần biết KM0 là cĩ thể biết được tất cả các khĩa chính.
3.3.2. Bảo mật liên lạc đơn vùng dùng các khĩa chính đã được tạo động:
- Giả sử KSi (i=1…n) là các khĩa phiên liên lạc được tạo ra một cách động dùng để mã hĩa dữ liệu. Và chúng được mã hĩa theo KM0:
EKM0(KS1), EKM0(KS2), … , EKM0(KSn).
- Bởi vì các khĩa phiên liên lạc được tạo ra dưới dạng mã hĩa nên khơng thể giải mã chúng một cách trực tiếp theo khĩa chủ của terminal (KMT). Do đĩ cần phải cĩ một tác vụ mật mã để biến đổi KS từ việc mã hĩa theo KM0 thành mã hĩa theo KMT như sau: ở hệ thống host cần chứa thêm khĩa KMT được mã hĩa theo KM0 (EKM0(KMT)) và khĩa KS được mã hĩa theo
KMT (EKMT(KS)). Tuy nhiên khi đĩ sẽ làm lộ các khĩa phiên liên lạc bởi vì cĩ thể dùng EKM0(KMT) và EKMT(KS) như là các dữ liệu nhập cho tác vụ DCPH để làm rỏ KS:
DCPH: { EKM0(KMT), EKMT(KS)} → KS
Điều này vi phạm yêu cầu: “ khơng thể phục hồi các khĩa ở dạng rỏ khi ở bên ngồi vùng bảo mật vật lý, ví dụ như hệ mật mã”. Để khắc phục, ta cĩ thể dùng thêm một khĩa chủ KM1 (biến đổi các bit thích hợp của KM0) để mã hĩa các khĩa KMT:
EKM1(KMT1), EKM1(KMT2), … , EKM1(KMTn).
- Cách tiếp cận này cần thêm một tác vụ mã hĩa lại từ khĩa chủ: (RFMK): { EKM1(KMT), EKM0(KS)} → EKMT(KS).
3.3.3. Bảo mật liên lạc đơn vùng và bảo mật tập tin dùng các khĩa chính đã được tạomột cách động:
- Giả sử ta muốn bảo vệ dữ liệu được lưu trữ giống như đã bảo vệ dữ liệu được truyền nghĩa là ta muốn sử dụng một khĩa phiên liên lạc ở dạng EKM0(KS) như dữ liệu nhập cho các tác vụ mã hĩa dữ liệu và giải mã dữ liệu nhằm mục đích tạo lập và phục hồi các tập tin dữ liệu. Muốn vậy thì EKM0(KS) phải được lưu lại để sử dụng sau này hoặc ngược lại cĩ thể tạo lại nĩ khi cần thiết: (h3.3.3)
- Nếu EKM0(KS) được lưu ở bên trong hệ thống, đặt biệt trong khoảng thời gian dài thì nĩ phải được bảo vệ bởi một phương pháp truy xuất cĩ điều khiển thích hợp, bởi vì nếu nĩ bị lộ thì dữ liệu sẽ bị giải mã. EKM0(KS) cĩ thể được lưu trữ trong hệ thống hay được dùng như một khĩa cá nhân. Tuy nhiên khĩa chủ KM0 được thay đổi theo định kỳ do đĩ địi hỏi phải cĩ
một phương pháp để phục hồi KS ở dạng rỏ sao cho nĩ cĩ thể được mã hĩa lại theo một khĩa chủ mới hoặc để dịch KS trực tiếp từ dạng mã hĩa theo khĩa chủ cũ sang dạng mã hĩa theo khĩa chủ mới. Trong cả hai trường hợp thủ tục sẽ rườm rà. Một vấn đề khác là khi các host trao đổi tập tin với nhau, địi hỏi khĩa KM0 ở các host phải giống nhau. Điều này thì khơng tốt cho lược đồ quản lý khĩa. Để khắc phục thì KS nên được mã hĩa theo một khĩa tập tin phụ KNF (EKNF(KS)). Khi đĩ khĩa KNF sẽ được lưu trữ (mã hĩa) như thế nào?
. Nếu mã hĩa KNF theo KM0 thì bị vi phạm yêu cầu bởi vì: DCPH: {EKM0(KNF), EKNF(KS)} → KS
. Nếu mã hĩa KNF theo KM1 thì cĩ thể phục hồi EKM0(KS) từ EKM1(KNF) và EKNF(KS) hoặc từ EKM1(KMT) và EKMT(KS).
. Do đĩ KNF nên được mã hĩa theo một khĩa chủ thứ ba KM2 (EKM2(KNF)). KM2 được suy ra từ KM0 theo một cách thức tương tự như KM1 được suy ra từ KM0.
- Trong bảo mật tập tin thì KS chính là KF, KF chỉ dùng trong khoảng thời gian sống của Tập tin đã được mã hĩa và KF được mã hĩa theo khĩa KNF (EKNF(KF)).- Cách tiếp cận này cĩ thêm một tác vụ mã hĩa lại thành khĩa chủ (RTMK) như sau:RTMK: {EKM2(KNF), EKNF(KF)} → EKM0(KF) .Tĩm lại để bảo mật ở hệ thống host cần phải cĩ ba khĩa chủ KM0, KM1, KM2 và các khĩa chính được mã hĩa dưới dạng: EKM0(KS1), EKM0(KS2), … , EKM0(KSn). EKM1(KMT1), EKM1(KMT2), … , EKM1(KMTn).EKM2(KNF1), EKM2(KNF2), … , EKM2(KNFn). EKNF(KF1), EKNF(KF2), … , EKNF(KFn).