AT Mang 3

Màu nền
Font chữ
Font size
Chiều cao dòng

Câu 10: Trình bầy các sơ đồ bảo vệ thông tin dùng mật mã khoá công khai ?

Trong mật mã khoá công khai :

Mỗi hệ thống đầu cuối trong một mạng sinh ra một cặp các khoá được dùng cho lập mã và giải mã thông báo.

Mỗi hệ thống công khai khoá mã của mình bằng cách đặt nó trong hồ sơ công khai hoặc tệp. Đây là khoá công khai và khoá còn lại là khoá riêng (khoá bí mật).

Nếu A muốn gửi một thông báo tới B, nó mã thông báo dùng khoá công khai của B.

Khi B nhận được thông báo, nó giải mã dùng khoá bí mật của B.

Với cách tiếp cận này tất cả đối tượng đều có thể  thu được các khoá công khai của các đối tượng khác trong hệ thống.

Giả sử A là một thành viên trong hệ thống mật mã khoá công khai, cặp khoá của A ký  hiệu là KRa và KUa, trong đó KRa là khoá bí mật và KUa là khoá công khai. A công khai khoá mã KUa và giữ bí mật khoá dịch KRa. Từ khoá mã công khai KUa không thể tìm ra được khoá bí mật KRa theo nghĩa độ phức tạp tính toán.

Các sơ đồ bảo vệ thông tin của mật mã khoá công khai

Sơ đồ bí mật

Giả sử A và B là hai người dùng trong hệ thống mật mã khoá công khai và A muốn gửi cho B một thông báo đòi hỏi phải được giữ bí mật.

A tiến hành các công việc sau :

        + Sinh ra thông báo R ở dạng rõ.

        + Mã thông báo R bằng khoá công khai KUb của B để được bản mã                 M = EKUb(R).

        + Gửi bản mã M cho B.

B tiến hành các công việc sau :

        + Nhận bản mã M.

        + Giải mã M bằng khoá bí mật KRb để được bản  rõ R = DKRb(M).

Sơ đồ bí mật của mật mã khoá công khai

        Một kẻ tấn công thu được R và biết KUb, anh ta phải cố gắng khôi phục R hoặc KRb. Nếu kẻ tấn công chỉ quan tâm đến nội dung của R thì anh ta cố gắng sinh ra một bản rõ ước lượng R' của R. Tuy nhiên nếu kẻ tấn công muốn đọc các thông báo tiếp theo thì anh ta phải cố khôi phục KRb bằng việc sinh ra một ước lượng KRb' của KRb.

Sơ đồ xác thực

Sơ đồ xác thực của mật mã khoá công khai

Giả sử A muốn gửi cho B một thông báo đòi hỏi phải xác thực.

Công việc của A:

        + Sinh ra bản rõ R.

        + Sinh ra chữ ký số bằng khoá bí mật KRa của A để được chữ ký S = EKRa(R).

        + Gửi S cho B.

Công việc của B :

        +  Nhận chữ ký S.

        + Giải mã chữ ký S bằng khoá công khai KUa của A để được bản rõ                     R = DKUA(S).

Vì chỉ có A mới có KRa nên chỉ có A mới tạo ra được chữ ký S. Chữ ký S cho phép xác thực cả người gửi và nội dung thông báo.

Trong sơ đồ này, toàn bộ thông báo được mã nên đòi hỏi không gian lưu giữ lớn. Một cách hiệu quả  hơn là chỉ mã một khối nhỏ các bít được tạo bởi một hàm biến đổi trên bản rõ, được gọi là hàm  Hash.

Một điểm quan trọng cần nhấn mạnh trong sơ đồ này là quá trình mã không cung cấp dịch vụ bí mật. Thông báo R được an toàn đối với tấn công thay đổi nội dung nhưng không an toàn đối với tấn công nghe trộm bởi vì một đối tượng bất kỳ  có thể giải mã nhờ khoá công khai của người gửi.

Sơ đồ bí mật và xác thực

Giả sử A muốn gửi cho B một thông báo đòi hỏi được bí mật và xác thực.

Công việc của A :

        + Sinh ra thông báo R.

        + Tạo chữ ký S = EKRa(R) nhờ khoá bí mật KRa của A.

+ Mã chữ ký S để tạo ra bản mã M = EKUb[EKRa(R)].

        + Gửi M cho B.

Sơ đồ bí mật và xác thực của mật mã khoá công khai

Công việc của B :

        + Nhận bản mã M.

        + Giải mã M để được S  = DKRb(M).

        + Giải mã S để được R = DKUa(S).

Câu 11: Trình bầy các kỹ thuật phân phối khoá công khai ?

Thông báo công khai khoá công khai

Thông báo công khai khoá công khai

Mỗi người dùng của hệ mật khoá công khai có thể gửi hoặc phát khoá công khai của anh ta cho mọi người dùng khác trên mạng.

Hạn chế cơ bản của kỹ thuật này là bất kỳ ai cũng có thể giả mạo thông báo công khai này. Bất kỳ ai cũng đóng giả một người dùng A khác và gửi khoá công khai đi với tư cách là A. Mọi thông tin gửi đến A đều bị nghe trộm thậm chí cả khoá xác thực cũng bị giả mạo.

Thư mục chung khoá công khai

Duy trì những thư mục động công khai trên mạng. Việc duy trì và phân phối thư mục động giao cho một thực thể hoặc tổ chức được tin cậy được gọi là người thẩm quyền (Authority).

Thư mục chung khoá công khai

Cơ chế hoạt động của kỹ thuật thư mục chung khoá công khai như sau :

1. Người thẩm quyền duy trì một thư mục với một đầu vào (tên, khoá công khai) cho mỗi thành viên.

2. Mỗi thành viên đăng ký một khoá công khai với người thẩm quyền. Việc đăng ký có thể là đưa trực tiếp hoặc qua kênh truyền thông xác thực an toàn.

3. Một thành viên có thể thay thế khoá công khai hiện tại đã được dùng cho một số lớn dữ liệu hoặc do khoá bí mật tương ứng bị tổn thương.

4. Định kỳ, người thẩm quyền công bố toàn bộ thư mục hoặc cập nhật thư mục.

5. Các thành viên có thể truy nhập thư mục qua phương tiện điện tử. Để thực hiện điều này cần có một kênh truyền thông xác thực an toàn từ người thẩm quyền tới các thành viên.

Sơ đồ này an toàn hơn các thông báo khoá công khai trước kia nhưng vẫn bị tổn thương. Nếu kẻ địch đạt được hoặc tính được khoá bí mật của người chủ thư mục anh ta có thể trao đổi các khoá công khai và đóng giả làm bất kỳ thành viên nào để nghe trộm các thông báo gửi tới thành viên bất kỳ nào. Kẻ địch có thể thay đổi các bản ghi được giữ bởi người có thẩm quyền.

 Thẩm quyền khoá công khai

Kỹ thuật này có độ an toàn cao hơn kỹ thuật thư mục chung khoá công khai. Nhà thẩm quyền trung tâm duy trì thư mục động các khoá công khai của tất cả các thành viên. Mỗi thành viên đều biết một cách tin cậy khoá công khai của người có thẩm quyền nhưng chỉ có người có thẩm quyền biết khoá bí mật.

Khoá công khai được phân phối an toàn cho A và B nhờ xác thực dùng khoá công khai của người có thẩm quyền.

Sơ đồ thẩm quyền khoá công khai

Cơ chế  hoạt động như sau:

1. A gửi một thông báo có tem thời gian tới người thẩm quyền khoá công khai để đòi hỏi  khoá công khai của B.

2. Người thẩm quyền gửi lại A một thông báo được mã dùng khoá riêng KRauth của thẩm quyền khoá công khai. Như vậy A có thể giải mã dùng khoá công khai của Người thẩm quyền. Thông báo bao gồm :

+ Khoá công khai KUb của B  mà A có thể dùng để mã thông báo cho B.

+ Đòi hỏi nguyên bản của A để A xác định được đòi hỏi tương ứng trước đó và để xác nhận rằng đòi hỏi ban đầu không thay đổi trước khi được Người thẩm quyền chấp nhận.

+ Tem thời gian nguyên bản, như vậy A có thể xác định rằng đây không phải là một thông báo cũ từ Người thẩm quyền chứa một khoá khác khoá công khai hiện tại của B.

3. A lưu giữ khoá công khai của B và dùng nó để mã một thông báo tới B chứa định danh IDA của A và một giá trị nonce (N1), được dùng để định danh duy nhất giao dịch này.

4,5. B thu được khoá công khai của A từ Người thẩm quyền theo cùng cách thức như A lấy được khoá công khai của B.

6. B gửi một thông báo tới A được mã bằng KUa và chứa giá trị N1 của A và N2 mới được sinh của B. Vì chỉ có B mới có thể giải mã thông báo (3) nên sự có mặt của N1 trong thông báo (6) đảm bảo với A rằng người đáp ứng là B.

7. A gửi trả lại N2 được mã bằng khoá công khai của B để đảm bảo rằng người đáp ứng là A.

Như vậy có 7 thông báo được đòi hỏi. Tuy nhiên 4 thông báo khởi tạo được dùng không thường xuyên vì cả A và B có thể lưu lại khoá công khai của người khác để dùng lại. Định kỳ, một người dùng phải đòi hỏi một bản sao mới của các khoá công khai của các thành viên tương ứng.

Chứng chỉ khoá công khai

Trong sơ đồ thẩm quyền khoá công khai còn có hạn chế khi người dùng thỉnh cầu người uỷ quyền cung cấp khoá công khai của tất cả các người dùng khác mà nó muốn kết nối sẽ gây ra hiện tượng quá tải thắt cổ chai trong hệ thống. Sơ đồ trao đổi chứng chỉ khoá công khai tạo ra các chứng chỉ được dùng bởi các thành viên để trao đổi khoá không cần giao tiếp với người có thẩm quyền nhưng lại giống như khoá được trao trực tiếp từ người có thẩm quyền khoá công khai.

Sơ đồ chứng chỉ khoá công khai

Mỗi chứng chỉ chứa khoá công khai và thông tin liên quan được tạo ra bởi người có thẩm quyền và được giao cho thành viên với khoá bí mật phù hợp tương ứng. Thành viên này truyền thông tin khoá của mình đến thành viên khác chính là chứng chỉ của mình. Thành viên khác có thể kiểm tra xem chứng chỉ có được tạo ra bởi người có thẩm quyền không bằng cách dùng khoá công khai của người có thẩm quyền để giải mã chứng chỉ.

Đây thực ra là quá trình xác thực chữ ký của người có thẩm quyền vì ai cũng giải mã được thông tin trong chứng chỉ nhưng phải dùng khoá công khai của người có thẩm quyền.

Với thành viên A, người thẩm quyền cung cấp chứng chỉ sau :

CA = EKRauth[T , IDA , KUA] .

ở đó KRauth là khoá bí mật được dùng bởi Người thẩm quyền. Sau đó A có thể chuyển chứng chỉ của mình tới thành viên bất kỳ khác, anh ta đọc và xác nhận như sau :

DKUauth[CA] = DKUauth[EKRauth[T , IDA , KUA]] =  T , IDA , KUA  .

Người nhận dùng khoá công khai  KUauth của Người thẩm quyền để giải mã chứng chỉ. Vì chứng chỉ có thể đọc bằng cách dùng khoá công khai của Người thẩm quyền, điều này xác nhận rằng chứng chỉ đến từ Người thẩm quyền chứng chỉ. Các thành phần IDA, KUA cung cấp cho người nhận tên và khoá công khai của người giữ chứng chỉ. Cuối cùng tem thời gian T xác nhận tính hợp lệ của thời gian lưu hành của chứng chỉ. Tem thời gian chống lại tình huống sau :

Một kẻ xấu biết được khoá bí mật của A. Khi A sinh ra một cặp khoá mới và xin người thẩm quyền cấp một chứng chỉ mới, kẻ xấu dùng lại chứng chỉ cũ của A và gửi cho B. Nếu B mã thông báo dùng khoá công khai cũ thì kẻ xấu có thể đọc các thông báo này.

Các đòi hỏi đối với sơ đồ trên là :

Một thành viên bất kỳ có thể đọc một chứng chỉ để xác định tên và khoá công khai của người chủ của chứng chỉ.

Thành viên bất kỳ có thể xác nhận rằng chứng chỉ là nguyên bản từ người thẩm quyền chứng chỉ và không bị giả .

Chỉ người thẩm quyền chứng chỉ mới có thể đọc và cập nhật chứng chỉ.

Thành viên bất kỳ có thể xác nhận thời gian lưu hành của chứng chỉ.

Câu 12: Trình bầy các sơ đồ phân phối khoá phiên dùng mật mã khoá công khai ?

Phân phối khoá bí mật đơn giản

Trong sơ đồ dưới đây, hai thành viên A và B muốn truyền thông với nhau dùng mật mã khoá bí mật. A muốn B gửi cho A một khoá phiên Ks bằng cách dùng mật mã khoá công khai.

Sơ đồ dùng mật mã khoá công khai để trao đổi khoá phiên

Thủ tục trao đổi khoá như sau :

A sinh ra một cặp khoá công khai/bí mật {KUa,KRa} và truyền  thông báo (1) tới B bao gồm KUa và định danh IDA của A.

B sinh một khoá bí mật Ks , mã Ks bằng khoá công khai của A và gửi cho B bản mã EKUa[Ks].

A tính DKRa[EKUa[Ks]] để khôi phục khoá bí mật Ks. Vì chỉ có A là có thể giải mã thông báo nên chỉ có A và B biết khoá Ks.

A huỷ KUa và KRa và B huỷ KUa.

Bây giờ A và B có thể truyền thông an toàn dùng khoá phiên Ks. Kết thúc phiên liên lạc, cả A và B huỷ Ks.

Cách phân phối này đơn giản, không có thông tin nào tồn tại trước và sau khi truyền thông. Chính vì vậy rủi ro về dàn xếp khoá là nhỏ. Tuy nhiên, cách phân phối này dễ dàng vì tấn công xen vào giữa thực hiện thành công.

Nếu có một kẻ tấn công E điều khiển được kênh truyền thông ở giữa thì E có thể làm tổn thương phiên truyền thông bằng cách sau :

A sinh ra một cặp khoá công khai/bí mật {KUa,KRa} và truyền một thông báo tới B bao gồm KUa và định danh IDA của A.

E chặn thông báo , tạo cặp khoá công khai/bí mật {KUe,KRe} của nó và truyền KUe || IDA cho B.

B sinh một khoá bí mật Ks , và gửi EKUe[Ks] cho A.

E chặn thông báo, thu được Ks bằng cách tính DKRe[EKUe[Ks]].

E truyền EKUa[Ks] cho A.

Kết quả là cả A và B đều biết Ks và không biết rằng Ks đã bị E phát hiện. Bây giờ A và B có thể trao đổi thông báo dùng Ks. Bằng cách nghe trộm, E có thể giải mã tất cả các thông báo và cả A và B đều không biết điều này. Như vậy giao thức này đơn giản và chỉ  có thể được dùng trong môi trường mà mối đe doạ là nghe trộm.

Phân phối khoá bí mật có bí mật và xác thực

Dùng khoá công khai phân phối khoá bí mật

Trong sơ đồ trên hai thành viên A và B muốn truyền thông với nhau dùng mật mã khoá bí mật. A muốn B gửi cho A một khoá phiên Ks một cách bí mật và xác thực bằng cách dùng mật mã khoá công khai. Giả thiết A và B đã trao đổi với nhau về khoá công khai trước đó. Các bước được tiến hành như sau.:

1. A dùng khoá công khai của B là EKub lập mã thông báo có định danh IDA và nonce N1 là giá trị ngẫu nhiên không lặp lại do A sinh ra và gửi bản mã EKub[N1IDA] cho B.

2. B gửi cho A bản mã KKua[N1|| N2], trong đó có giá trị nonce N2 của B. Vì chỉ có B mới có thể giải mã thông báo (1), nên sự có mặt của N1 trong thông báo (2) đảm bảo với A rằng người đáp ứng là B.

3. A gửi trả lại N2 được mã bằng khoá công khai của B để đảm bảo với B rằng người đang đáp ứng là A.

4. A chọn một khoá bí mật Ks và gửi cho B: EKubEKra[Ks].

Trong đó KRa là khoá bí mật của A và Ks là khoá chung giữa A và B.

Sơ đồ này đảm bảo cả bí mật và xác thực khoá bí mật Ks .

Vì  mã bằng khoá công khai của B nên chỉ có B mới có thể đọc và mã bằng khoá bí mật của A nên đảm bảo rằng chỉ có A là người gửi nó.

5. B tính DKUa[DKRb[M]] để khôi phục khoá bí mật.

Sơ đồ phân phối lai ghép

Trong sơ đồ này có một trung tâm KDC phân phối khoá khoá chủ bí mật với mỗi người dùng. Các khoá chủ được dùng để phân phối khoá phiên. Các khoá công khai được dùng để phân phối các khoá chủ. Sơ đồ này là sơ đồ ba mức phân cấp và khoá công khai chỉ được dùng để cập nhật các khoá chủ giữa người dùng và trung tâm. Điều này làm tăng năng suất hoạt động cho các sơ đồ đòi hỏi thay đổi khoá phiên thường xuyên. Sơ đồ lai ghép dễ dàng lắp ghép vào sơ đồ trung tâm phân phối khoá đang tồn tại. Do đó có ít trục trặc nhất và ít thay đổi phần mềm. Nó tạo cho tính tương thích ngược trở lại tăng lên. Sơ đồ này phù hợp cho các ứng dụng cần thay đổi khoá phiên thường xuyên. Việc phân phối khoá phiên bằng mật mã khoá công khai sẽ làm giảm hiệu năng hệ thống bởi vì chúng đòi hỏi gánh nặng tính toán cho mã và giải mã.

Bạn đang đọc truyện trên: Truyen2U.Pro