Quản lý khóa:

Một phần của tài liệu các hệ mật mã.doc (Trang 47 - 50)

Giả sử user A muốn chứa khóa công khai tin cậy của user B (vì có thể user C giả danh B để đưa khóa công khai cho A) thì những cách tiếp cận sau có thể được sử dụng:

- B chứa khóa công khai trên đĩa mềm và trao nó cho A, sau đó A có thể nạp khóa vào hệ thống của A từ đĩa mềm, phương pháp này rất bảo mật nhưng thực tế nó bị giới hạn do bất tiện.

- Làm rỏ qua điện thoại: A gọi cho B và yêu cầu B cho biết khóa dạng cơ số 64. Thực tế hơn, B có thể truyền khóa thông qua email tới A, A có thể tạo message digest 128 bit của khóa và trình bày nó ở dạng cơ số 64, sau đó A có thể gọi B và yêu cầu B cho biết khóa dạng cơ số 64. A so sánh hai khóa trên nếu tương xứng thì xem như khóa công khai đó là hợp lệ.

- Thông qua cá nhân tin cậy D: D tạo chứng thực chữ ký gồm có khóa công khai của B, thời gian tạo khóa và chu kỳ hợp lệ của khóa, D tạo message digest của chứng thực này, mã hóa nó bằng khóa bí mật của mình và gởi nó tới A. Sau đó A có thể giải mã để làm rỏ khóa công khai của B.

- Thông qua một CA (Certifying Authority)

3.2. Quản lý các khóa bí mật:

Bởi vì nhiều người đều biết các giải thuật bảo mật, do đó mức độ bảo vệ được cung cấp bởi hệ thống mật mã phụ thuộc vào các khóa mã hóa được lưu giữ bí mật như thế nào. Như vậy mục tiêu của quản lý khóa là bảo đảm các khóa mã hóa không bao giờ ở dạng rõ khi chúng ở bên ngoài hệ mật mã, ngoại trừ dưới các điều kiện mật trong khi các khóa được khởi tạo lần đầu tiên, được phân bố và được cài đặt hoặc khi chúng được lưu trữ hoặc phục hồi nhằm đảm bảo an toàn khi có hư hỏng.

- Trong một hệ thống bảo mật không đối xứng, chỉ cần bảo mật khóa bí mật tại nơi đã tạo ra nó. Khi cặp khóa công khai/bảo mật bị lộ thì có thể tính toán một cặp khóa khác một cách dễ dàng.

- Trong một hệ thống bảo mật đối xứng, có nhiều kiểu khóa bí mật khác nhau, song có thể xếp chung vào hai lớp chính:

. Các khóa dùng trực tiếp để mã hóa các đoạn tin.

. Các khóa dùng để mã hóa các khóa khác, chẳng hạn như các khóa KM (Host Master Key), KMT (Terminal Master Key) mà tương ứng chúng được đặt trong máy host và máy terminal. Khi các khóa này bị lộ thì sẽ ảnh hưởng đến tính bảo mật toàn bộ của máy

host hoặc của máy terminal. Còn khi các khóa này bị hủy thì những khóa mà được mã hóa bởi chúng sẽ không còn giá trị (việc giải mã các đoạn tin đã mã hóa sẽ cho các đoạn tin khác với đoạn tin gốc). Giá trị của các khóa này được cố định trong một khoảng thời gian thường thì khoảng vài tuần hoặc vài tháng. Vì vậy việc phát sinh và lưu trữ chúng là một vấn đề quan trọng trong bảo mật. Trong thực tế “master key” được chọn ngẫu nhiên trong số các giá trị có thể của vùng khóa. Sau khi chọn xong, khóa được đưa vào hệ mật mã (cryptography facility) mà vấn đề bị lộ thì rất khó xảy ra. Ngoài ra có thể kiểm tra khóa có hợp lệ hay không như sơ đồ sau (h3.1): mã hóa đoạn tin M bằng khóa KM, sau đó cất EKM(M) và M vào bộ nhớ, khi có yêu cầu kiểm tra tính xác thực của KM thì M sẽ được lấy từ bộ nhớ và mã hóa nó bằng khóa KM đang xét, kết quả mã hóa sẽ được so sánh với EKM(M) có trong bộ nhớ: nếu giống nhau thì khóa KM được coi là hợp lệ.

3.2.1. Bảo vệ các khóa “master key”:

- Bởi vì terminal chỉ quản lý một khóa KMT (dùng chung với host) nên các tác vụ bảo mật của terminal thì không phức tạp so với của host, nên có thể chứa trực tiếp khóa này trong vùng chứa khóa chủ của hệ mật mã. Do host phải quản lý các hoạt động của toàn bộ hệ thống mật mã nên nó phải quản lý một số luợng lớn các khóa chính và các khóa phụ. Trong hệ thống như vậy terminal đóng vai trò thụ động bằng cách đáp ứng cho các yêu cầu được thực hiện bởi host, trong khi đó host đóng vai trò tích cực hơn bằng việc quản lý và khởi động các yêu cầu.

- Quá trình phục hồi một khóa phiên liên lạc ở terminal như sau: trước tiên, khóa KMT được sao chép từ vùng chứa khóa chủ đến vùng chứa khóa làm việc. Sau đó sử dụng

KMT để giải mã EKMT(KS) nhận từ host, thu được khóa phiên liên lạc KS, khóa này được truyền đến vùng chứa khóa làm việc thay thế khóa KMT. Từ đây terminal có thể thực hiện các tác vụ mã hóa sử dụng khóa phiên liên lạc KS.

- Bảo vệ các khóa KM của host: thường chúng được chứa ở bên trong hệ mật mã. Trong một mạng có nhiều host, để bảo mật tốt thì khóa KM ở các host nên khác nhau. Ngoài việc các khóa được bảo vệ bằng cách chứa chúng trong hệ mật mã hoặc mã hóa chúng thì cần phải kiểm soát việc sử dụng các khóa này, nghĩa là chỉ có những người sử dụng có thẩm quyền mới được truy xuất đến các khóa cần thiết.

3.2.2. Bảo vệ các khóa chính:

Có thể bảo mật các khóa chính bằng cách chứa chúng (ở dạng rỏ) trong một vùng nhớ mà nó chỉ có thể được đọc bởi hệ mật mã (vùng nhớ được bảo vệ). Hoặc mã hóa chúng và kiểm tra việc sử dụng chúng thông qua hệ thống chủ (mã hóa theo khóa KM: EKM(K)).

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}

Một phần của tài liệu các hệ mật mã.doc (Trang 47 - 50)