Thao tác trên khoá

Một phần của tài liệu Đồ án tốt nghiệp nghiên cứu xây dựng hệ thống bảo mật nội dung số (Trang 52 - 55)

- Xem cặp khóa: gpg --edit-key uid

Hiển thị khoá công khai cho dù khoá riêng tư có hay không. Cột đầu tiên cho biết loại khoá (pub: khoá công khai chính (public master signing key), sub: khoá công khai phụ (public subordinate key)). Cột thứ hai cho biết chiều dài bit, loại (D: khoá DSA, g: khoá ElGamal chỉ dùng mã hoá, và G: khoá ElGamal có thể dùng cho mã hoá và kí), và ID của khoá. Cột thứ ba và thứ tư cho biết ngày tạo và ngày hết hạn của khoá. Tiếp theo các khoá là danh sách căn cước người dùng. Lệnh toggle chuyển qua lại giữa khoá công khai và khoá riêng tư, nếu cả hai cùng có mặt. Thông tin ở khoá riêng tư được hiển thị tương tự như ở khoá công khai. Từ sec cho biết khoá riêng tư chính (private master signing key) và sbb cho biết khoá riêng tư phụ (private subordinate key).

- Tính toàn vẹn của khoá:

Một khoá công khai, khi được công bố, có thể bị thay đổi bằng cách thêm hay thay thế khoá phụ, thêm hay thay đổi căn cước người dùng. Một cách giải quyết cho trường hợp này là dùng chữ kí số. Khi dữ liệu được kí bằng khoá riêng tư, khoá công khai tương ứng sẽ được gắn lên dữ liệu đã kí đó. Nói cách khác, chỉ có khoá công khai tương ứng là có thể được dùng để xác minh chữ kí và bảo đảm rằng dữ liệu không bị thay đổi. Khoá công khai có thể được bảo vệ bằng cách dùng khoá riêng tư chủ (master) tương ứng kí lên các thành phần và căn cước người dùng của khoá công khai, từ đó gắn kết các thành phần này vào khoá công khai chủ. Việc kí các thành phần của khoá công khai với khoá riêng tư chủ được gọi là tự kí.

Chữ kí trên căn cước người dùng có thể được kiểm tra bằng lệnh check từ menu của lệnh gpg --edit-key.

53

- Thêm và xoá thành phần của khoá:

Thêm căn cước người dùng: adduid, có ích khi cần nhiều căn cước, thí dụ căn cước riêng cho nơi làm việc, cho hoạt động xã hội, cho gia đình, dùng nhiều địa chỉ email với khoá...

Thêm khoá phụ (subkey): addkey. Giao diện tương tự như khi tạo cặp khoá đầu tiên. Khoá phụ có ích lợi vì đối với khoá công khai chủ, mỗi lần thay đổi cần được tái xác thực, là việc có thể khó khăn và mất thời gian; trong khi khoá phụ có thể được thay đổi dễ dàng và việc thay đổi định kì khoá phụ là điều tốt. Nếu một khoá phụ bị phá thì chỉ những tài liệu mã hoá với khoá đó bị lộ.

Khi khoá phụ hay căn cước người dùng được phát sinh, nó được tự kí với khoá kí chủ, do đó quá trình này đòi cung cấp cụm từ vượt.

Xoá căn cước người dùng và khoá phụ: trước hết cần chọn căn cước hoặc khoá phụ muốn thao tác bằng các lệnh tương ứng uid hoặc key với đối số là số thứ tự của căn cước hoặc khoá phụ. Các lệnh này có trạng thái bật/tắt (lặp lại lệnh để bỏ chọn hoặc chọn lại). Nếu không có đối số nào được đưa ra, tất cả căn cước người dùng hoặc khoá phụ sẽ bị bỏ chọn. Sau khi được chọn, các căn cước người dùng hoặc khoá phụ được xoá bằng các lệnh tương ứng deluid và delkey.

Trong việc quản lí xâu khoá tại chỗ, xoá các thành phần của khoá là cách tốt để loại bỏ những thông tin không cần thiết khỏi khoá công khai của người khác. Tuy nhiên xoá căn cước người dùng và khoá phụ của chính khoá mình thì không luôn là cách hay vì nó gây rắc rối cho việc phân phối khoá. Theo mặc định, khi một người nhập khoá công khai mới được cập nhật của bạn nó sẽ được trộn lẫn với phiên bản cũ của khoá công khai của bạn trên xâu khoá của anh ta, nếu nó tồn tại. Các thành phần từ hai khoá đó sẽ được kết hợp, do đó nó sẽ phục hồi lại những gì mà bạn đã xoá. Trong trường hợp này để cập nhật đúng đắn khoá, người dùng cần phải xoá phiên bản cũ của khoá trước khi nhập khoá mới. Điều này đặt thêm một gánh nặng cho anh ta. Hơn nữa khi bạn gửi khoá lên key server, quá trình hoà trộn xảy ra không thay đổi được. Do đó, khi cập nhật khoá của chính mình người dùng nên thu hồi các thành phần khoá thay vì xoá chúng.

54

- Thu hồi các thành phần của khoá:

Thu hồi khoá phụ với lệnh revkey sau khi chọn khoá phụ cần thao tác. Khoá được thu hồi sẽ có chữ kí tự thân báo nó đã được thu hồi. Không như tuỳ chọn dòng lệnh --gen-revoke, việc thu hồi khoá phụ có tác dụng ngay tức thì.

Căn cước người dùng miêu tả người thực sự sở hữu khoá liên hệ, do đó về lí thuyết nó không thể được thay đổi. Tuy vậy trong thực tế các thành tố trong căn cước người dùng có thể được thay đổi trong quá trình sử dụng, như địa chỉ email và lời bình, vì vậy nó làm mất hiệu lực căn cước người dùng.

Quy định kĩ thuật của OpenPGP không hỗ trợ thu hồi căn cước người dùng, nhưng căn cước người dùng có thể được thu hồi hiệu quả bằng cách thu hồi chữ kí tự thân có trên nó. Do đó, vì lí do an toàn, căn cước người dùng không có chữ kí tự thân sẽ không được tin tưởng.

Chữ kí được thu hồi bằng lệnh revsig, sẽ có dấu nhắc để quyết định những chữ kí nào cần thu hồi. Lệnh check liệt kê những chữ kí nào đã bị thu hồi.Khoá phụ và chữ kí tự thân bị thu hồi sẽ không bị xoá mà có chữ kí tự thân thông báo nó đã được thu hồi. Vì vậy việc thu hồi giúp khoá công khai luôn được giữ nhất quán khi phân phối và nhập với các bản cũ của nó.

- Cập nhật thời gian hết hiệu lực:

Cập nhật thời gian hết hiệu lực (expiration time) của một khoá bằng lệnh expire. Nếu không chọn khoá nào thì khoá chính sẽ được cập nhật.

- Xác thực khoá:

Phần nhập khóa đề cập việc xác thực từng khoá, cách này sẽ khó khăn nếu có số lượng lớn khoá cần xác thực. GnuPG giải quyết vấn đề này với mạng lưới tin tưởng (web of trust), ở đó việc xác thực một khoá công khai được uỷ thác cho những người được tin tưởng, được đánh giá qua lệnh trust. Trong thực tế, mức tin tưởng mang tính chủ quan. Ví dụ A đã kí khoá của B và B đã kí khoá của C và D. Do đó khoá của B thì xác thực đối với A; nhưng A có thể không tin tưởng B xác thực đúng đắn các khoá anh ta kí, khi đó A sẽ không chấp nhận các khoá của C và D là xác thực nếu chỉ dựa trên chữ kí của B. Mô hình mạng lưới

55

tin tưởng giúp kiểm tra khả năng xác thực khoá bằng cách liên hệ mỗi khoá trong xâu khoá một với mức độ tin tưởng của bạn vào người chủ khoá. Có các mức tin tưởng:

- unknown (q): Không rõ về sự đánh giá của người sở hữu khi kí khoá. Các khoá (không phải của bạn) trên xâu khoá công khai lúc đầu được đánh giá ở mức này.

- none (n): Người sở hữu được biết là kí không đúng trên khoá khác.

- marginal (m): Người sở hữu hiểu được ý nghĩa của việc kí khoá, và xác thực đúng khoá trước khi kí.

- full (f): Người sở hữu hiểu biết rất rõ về việc kí khoá, và chữ kí của anh ta tốt như chữ kí của chính bạn.

- ultimate (u): Bạn có khoá riêng tư của khoá công khai này.

Mức tin tưởng đánh giá trên khoá được xem là thông tin riêng tư và không đi kèm theo khoá khi nó được xuất. Nó cũng được lưu trữ ở một cơ sở dữ liệu bên ngoài xâu khoá.

Trong mô hình mạng lưới tin tưởng, một khoá K được xem là xác thực khi nó thoả mãn 2 điều kiện: (adsbygoogle = window.adsbygoogle || []).push({});

- Nó được kí bởi đủ số khoá xác thực, nghĩa là

• Chính bạn kí nó,

• Nó được kí bởi 1 khoá tin tưởng mức full, hoặc

• Nó được kí bởi 3 khoá tin tưởng mức marginal; và

- Khoảng cách từ khoá K trở về khoá của bạn ít hơn hoặc bằng 5 bước. Khoảng cách bước, số khoá marginal và full cân thiết có thể được thay đổi. Các con số bên trên là theo giá trị mặc định dùng bởi GnuPG.

Một phần của tài liệu Đồ án tốt nghiệp nghiên cứu xây dựng hệ thống bảo mật nội dung số (Trang 52 - 55)