1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Hạ tầng cơ sở khóa công khai và ứng dụng trong giao dịch điện tử trên mạng luận văn ths công nghệ thông tin 1 01 10

107 24 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 107
Dung lượng 855,64 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Ba nội dung chính thường sử dụng kỹ thuật mật mã bao gồm:  Xác thực: Chữ ký điện tử đảm bảo chứng thực người ký, người tham giagiao dịch chính là người xưng danh và nhờ vào chữ ký điện

Trang 1

MỤC LỤC

MỞ ĐẦU ………3

Chương 1 LÝ THUYẾT CHUNG VỀ MÃ HOÁ KHÓA CÔNG KHAI ……… 6

1.1 CÁC HỆ THỐNG MẬT MÃ KHÓA CÔNG KHAI……… 7

1.2 CÁC ỨNG DỤNG HỆ THỐNG KHOÁ CÔNG KHAI……… 11

1.3 CÁC YÊU CẦU ĐỐI VỚI MÃ HÓA KHÓA CÔNG KHAI……… 11

1.4 HỆ MẬT RSA……… 12

1.4.1 Tạo khoá………… 13

1.4.2 Mã hóa……… 14

1.4.3 Giải mã……… 14

1.4.4 Độ an toàn……… 15

1.5 CHỮ KÝ SỐ……… 16

1.5.1 Định nghĩa sơ đồ chữ ký “số”……… … 18

1.5.2 Hàm băm……….19

1.5.3 Sơ đồ chữ ký RSA………. 21

1.6 TÓM TẮT………24

Chương 2 HẠ TẦNG CƠ SỞ KHOÁ CÔNG KHAI (PKI) 2.1 ĐỊNH NGHĨA PKI…………25

2.2 PHÂN PHỐI KHÓA CÔNG KHAI……… 25

2.2.1 Khai báo công khai các khoá công khai……….25

2.2.2 Danh bạ công khai……… ……26

2.2.3 Trung tâm quản lý khoá công khai……….……27

2.2.4 Chứng chỉ khoá công khai……… 29

2.3 CÁC THÀNH PHẦN CHÍNH CỦA PKI……… …33

2.3.1 End Entity……….… .33

2.3.2 CA (Certification Authority)……… … .33

2.3.3 RA (Registration Authority)………… …38

2.3.4 Repository:………..39

2.3.5 Bộ phận phát hành CRL…………..42

2.4 CÁC CHỨC NĂNG CHUNG NHẤT CỦA PKI… ………..43

2.4.1 Quản lý cặp khoá công khai và khoá riêng… ……….…….43

2.4.2 Phát hành chứng chỉ……… ………… 47

2.4.3 Phân phối chứng chỉ………… … 51

2.4.4 Thu hồi chứng chỉ………… .53

2.4.5 Treo chứng chỉ……….… …60

2.5 CẤU TRÚC PKI………61

2.6

1

Trang 2

CÁC YÊU CẦU VỀ PKI………… ..62

2.7 BAN HÀNH LUẬT…………63

2.7.1 Công nghệ…………… 63

2.7.2 Phạm vi và chi tiết………… 64

2.7.3 Các văn bản và chữ ký…………65

2.7.4 Chất lượng và các chuẩn của CA…………65

2.7.5 Các chuẩn về thuê bao……….66

2.7.6 Chia nhỏ trách nhiệm và pháp lý……….66

2.8 MỘT MÔ HÌNH PKI……… …. 67

2.9 THỰC TẾ TRIỂN KHAI PKI…………70

2.10 TÓM TẮT………72

Chương 3 ỨNG DỤNG MÃ HOÁ KHOÁ CÔNG KHAI TRONG DỊCH VỤ NGÂN HÀNG HOMEBANKING……… …… 73

3.1 BÀI TOÁN………….73

3.2 GIẢI PHÁP………. 74

3.3 THIẾT KẾ HỆ THỐNG……….74

3.3.1 Tổ chức mô hình CA………. 74

3.3.2 Các lớp bảo mật………………… 76

3.3.3

Trang 3

Mô hình kiến trúc logic……… .78

3.3.4 Mô hình kiến trúc mạng vật lý……………79

3.3.5 Quy trình ký, mã hoá và giải mã dữ liệu giao dịch……….80

3.4 QUY TRÌNH ĐĂNG KÝ VÀ QUẢN LÝ NGƯỜI SỬ DỤNG:……… 82

3.4.1 Sơ đồ phân nhóm……….…82

3.4.2 Miêu tả………….83

3.4.3 Quy trình đăng ký và quản lý người sử dụng là cán bộ chi nhánh:………84

3.4.4 Quy trình đăng ký thông tin khách hàng sử dụng BIDV HBK……… .87

3.4.5 Quy trình đăng ký và quản lý Người sử dụng là khách hàng……….…….88

3.4.6 Quy định về đóng gói, gửi thông báo mật khẩu và Ikey về CN ………… …92

KẾT LUẬN…………94

TÀI LIỆU THAM KHẢO……… ………95

3

Trang 4

MỞ ĐẦU

Hạ tầng cơ sở khoá công khai (PKI) là một trong những ứng dụng quantrọng phục vụ cho việc thực hiện các giao dịch điện tử trên mạng Internet đangđược quan tâm nghiên cứu và ứng dụng nhiều hiện nay trên thế giới cũng như ởnước ta Đây là một lĩnh vực khá mới mẻ đối với nước ta cả trên khía cạnh nghiêncứu và ứng dụng

Theo dự tính của các nhà chuyên môn, nhu cầu xác thực được đối tượngcùng tham gia giao dịch và việc đảm bảo an toàn thông tin trong giao dịch thươngmại điện tử là rất lớn, chiếm đến 70% khối lượng giao dịch diễn ra trên mạngInternet toàn cầu Và kỹ thuật mật mã là một trong những công cụ quan trọng đảmbảo an toàn thông tin trên mạng Ba nội dung chính thường sử dụng kỹ thuật mật

mã bao gồm:

 Xác thực: Chữ ký điện tử đảm bảo chứng thực người ký, người tham giagiao dịch chính là người xưng danh và nhờ vào chữ ký điện tử cùng với tem thời gian

họ không thể chối cãi chữ ký đó không phải là của họ, các giao dịch, các văn bản điện

tử đó không phải do họ gửi hoặc nhận, khiến một trong các bên giao dịch không thểphủ nhận được nội dung đã giao dịch;

 Toàn vẹn dữ liệu: Đảm bảo cho dữ liệu, tài liệu, văn bản điện tử không thể bị sửa đổi một cách bất hợp pháp;

 Bảo mật: Bảo đảm rằng chỉ có người nhận hợp pháp mới có khả năng đọc

được nội dung thông tin;

Ba yếu tố trên hợp thành cơ chế đảm bảo tin cậy cho các các giao dịch điện tử Ta

có thể phân chia mật mã thành hai loại hệ mật cơ bản sau:

 Hệ mật khoá bí mật hay còn gọi là hệ mật đối xứng,

 Hệ mật khoá công khai hay còn gọi là hệ mật phi đối xứng

Đối với hệ mật khoá bí mật thì khoá để mã hoá và khoá để giải mã là như nhau.Khoá này phải được giữ bí mật ở cả đầu mã hoá và đầu giải mã Cho đến giữanhững năm 70 của thế kỷ 20, người ta vẫn chỉ mới biết đến hệ mật khoá đối xứng.Mặc dù hệ mật này tính toán hiệu quả, song nó đã gặp khó khăn rất nhiều khi giảiquyết bài toán phân phối khoá Mọi việc đã thay đổi khi W Diffie và M Hellmanđưa ra khái niệm mật mã khoá công khai vào năm 1976 Những vấn đề khó khăntrong giải quyết vấn đề phân phối khoá mã trong các hệ mật khoá đối xứng đã được

4

Trang 5

giải quyết trong các hệ mật khoá công khai Không giống như các hệ mật đối xứng,các hệ mật khoá công khai sử dụng một cặp khoá trong đó một khoá được coi nhưkhoá riêng và được giữ bí mật bởi người sở hữu cặp khoá còn một khoá được công

bố công khai để mọi người có thể có được để có thể tham gia truyền thông bí mậtvới người giữ khoá riêng Điều này được thực hiện nhờ tính chất các khoá trongcặp khoá có quan hệ toán học với nhau và không thể suy ra được khoá riêng từkhoá công khai Về lý thuyết thì bất kỳ một người nào cũng có thể gửi cho ngườinắm giữ khoá riêng một thông báo được mã hoá bằng khoá công khai tương ứng vàchỉ có người nắm giữ khoá riêng mới có thể đọc được thông báo Tương tự, ngườinắm giữ khoá riêng có thể thiết lập tính toàn vẹn dữ liệu và tính nguyên thuỷ của dữliệu nhờ việc ký lên dữ liệu bằng khoá riêng của mình Bất cứ người nào nhận được

dữ liệu có thể kiểm tra nguồn gốc và tính toàn vẹn của dữ liệu nhờ vào việc sử dụngkhoá công khai tương ứng với khoá riêng dùng để ký lên dữ liệu

Việc phát minh ra các hệ mật khoá công khai đã tạo ra cuộc cách mạng trong khoahọc mật mã Một trong những ứng dụng đầu tiên của nó là để giải quyết vấn đềphân phối khoá trong các hệ mật khoá đối xứng Đây là một vấn đề gặp rất nhiềukhó khăn khi chưa xuất hiện các hệ mật khoá công khai Ứng dụng mật mã khoácông khai cũng cho phép giảm số khoá cần thiết trong hệ thống Đối với các hệ mậtkhoá đối xứng thì để duy trì trao đổi bí mật giữa n thành viên cần tới n(n-1)/2 khoátrong khi nếu sử dụng hệ mật khoá công khai thì chỉ cần n cặp khoá cho n thànhviên Tuy nhiên khi ứng dụng mật mã khoá công khai thì một vấn đề nẩy sinh làlàm thế nào để phân phối khoá công khai một cách tin cậy Đây là một vấn đềkhông hề đơn giản và những nghiên cứu và phát triển Cơ sở hạ tầng khoá công khaihay PKI là nhằm mục đích giải quyết vấn đề này

Để xây dựng hạ tầng cơ sở khoá công khai có nhiều vấn đề cần phải giải quyết baogồm cả các vấn đề về công nghệ và các vấn đề về pháp lý Nhiều vấn đề về côngnghệ và pháp lý được tập trung nghiên cứu nhiều trong một số năm gần đây Cácnước phát triển như Mỹ, Canada, châu âu là những nước đi đầu trong lĩnh vực này.Châu á cũng đã quan tâm chú ý tại một số nước như Nhật, Hàn quốc, Đài loan,Singapore, Malaixia, Thái lan Các hội thảo về PKI được tổ chức đều đặn hàngnăm Việt nam đang trong giai đoạn đầu tìm hiểu và ứng dụng thử nghiệm

Kể từ khi W Diffie và M Hellman lần đầu tiên đưa ra khái niệm mật mãkhoá công khai, mật mã khoá công khai đã có những phát triển mạnh mẽ Nhiềuthuật toán mã công khai đã được xây dựng như RSA, DSA và lớp các thuật toán mãdựa trên mật mã đường cong Elliptic Nhiều chuẩn về mã hoá và chữ ký cũng đã

5

Trang 6

được xây dựng như chuẩn mã hoá dữ liệu DES của Mỹ Tuy nhiên, hạ tầng cơ sởkhoá công khai - PKI mới chỉ được phát triển trong khoảng 10 năm trở lại đây Đầutiên và trước hết PKI là công nghệ xác thực sử dụng tổ hợp cả mật mã khoá bí mật

và mật mã khoá công khai PKI cho phép một số dịch vụ an toàn như mã hoá dữliệu, xác thực dữ liệu và quản lý khoá Khung làm việc của PKI đã được định nghĩatrong khuyến nghị ITU-T X.509

Trong nội dung của luận văn tôi chỉ đề cập đến những vấn đề cơ bản về PKIdưới góc độ công nghệ, những khía cạnh chính khi nghiên cứu phát triển các hệthống PKI, từ đó áp dụng vào bảo mật cho ứng dụng HomeBanking tại Ngân hàngđầu tư và phát triển Việt Nam Các nội dung chính trình bày gồm :

- Tổng quan về mật mã khóa công khai

- Hạ tầng cơ sở mật mã khoá công khai PKI o Các thành phần của PKI

o Các cách thức quản lý và phân phối khoá công khai trong PKI

o Chứng chỉ khoá công khai

o Các chức năng của PKI

o Cấu trúc PKI

o Các yêu cầu về PKI

o Ban hành các luật về PKI

- Ứng dụng PKI trong hệ thống HomeBanking của Ngân hàng Đầu tư và Phát triển Việt Nam

6

Trang 7

Chương 1

LÝ THUYẾT CHUNG VỀ MÃ HOÁ KHÓA CÔNG

KHAI

Để hiểu được về hạ tầng cơ sở khóa công khai, chúng ta cần tìm hiểu một số kiến

thức sơ lược về mật mã khoá công khai, chữ ký số

Khái niệm mã hoá khoá công khai nảy sinh khi giải quyết hai vấn đề khó khăn

trong mã hoá đối xứng, đó là vấn đề phân phối khoá và chữ ký số

Như chúng ta đã biết, việc phân phối khoá trong mã hoá đối xứng yêu cầu hai bên

liên lạc phải:

1 Dùng chung một khoá được phân phối theo cách nào đó; hoặc:

2 Sử dụng một trung tâm phân phối khoá

Vßng kho¸

c«ng khai cña Alice Joy

Ted Mike Bob

Kho¸ riªng Kho¸ c«ng khai

cña Bob cña Bob

khai cña Alice

B¶n m· ®-îc

truyÒn ®i

Trang 8

§Çu vµo ThuËt to¸n ThuËt to¸n

(b) X¸c thùc

H×nh 1.1 M· ho¸ kho¸ c«ng khai

7

Trang 9

Whitfield Diffie, một trong những người đã phát minh ra mã hoá khoá công khai(cùng với Martin Hellman, trường Đại học Stanford) đã suy luận và cho rằng, yêucầu thứ hai phủ nhận bản chất của mật mã Bản chất đó là đảm bảo tính bí mậttrong liên lạc Khó có thể tồn tại các hệ thống mật mã không thể phá được nếungười sử dụng của các hệ thống này bắt buộc phải dùng chung các khoá của mộttrung tâm phân phối khoá (KDC), lý do là trung tâm này có thể để lộ khoá.

Vấn đề thứ hai mà Diffie đặt ra là "chữ ký số" Nếu việc sử dụng mật mã trở nênphổ biến, không chỉ trong lĩnh vực quân sự mà còn được sử dụng cho các mục đíchthương mại và cá nhân, thì các thông báo và tài liệu điện tử cần có các chữ ký vàchúng có hiệu lực tương tự như các chữ ký trên giấy tờ

1.1 CÁC HỆ THỐNG MẬT MÃ KHÓA CÔNG KHAI

Các thuật toán khoá công khai sử dụng một khoá để mã hoá và một khoá khác đểgiải mã (tạo thành một cặp khoá) Chúng có tính chất quan trọng sau đây:

- Không thể xác định được khoá giải mã nếu chỉ căn cứ vào các thông tin về thuật toán và khoá mã hoá

Một số thuật toán, chẳng hạn như RSA, cũng có tính chất sau:

- Một trong hai khoá được sử dụng để mã hoá, khoá còn lại được sử dụng để giải mã

Hình 1.1 minh hoạ quá trình mã hoá khoá công khai Các bước cơ bản gồm:

1 Mỗi thành viên sinh ra một cặp khóa, cặp khoá này được sử dụng để mã hoá

và giải mã các thông báo

2 Mỗi thành viên công bố khóa mã hoá của mình bằng cách đặt khoá này vàomột địa chỉ được công bố công khai Đây chính là khoá công khai Khoá cùng cặpđược giữ bí mật

3 Nếu A muốn gửi cho B một thông báo, A mã hoá thông báo bằng khoá công khai của B

4 Khi B nhận được thông báo, B giải mã thông báo bằng khoá riêng của B.Không một người nhận nào khác có thể giải mã thông báo, bởi vì chỉ có B mới biếtkhoá riêng của mình

Với cách giải quyết này, tất cả các thành viên tham gia truyền thông đều có thể cóđược các khoá công khai Khoá riêng của mỗi thành viên được giữ bí mật Quátrình liên lạc chỉ an toàn chừng nào khoá riêng còn được giữ bí mật Mỗi thành viên

có thể thay đổi các khoá riêng của mình bất cứ lúc nào, đồng thời công bố các khoácông khai cùng cặp để thay thế khoá công khai cũ

8

Trang 10

Bảng 1.1 trình bày một số đặc điểm quan trọng của mã hoá khoá công khai và mã

hoá khoá riêng (mã hoá đối xứng) Để phân biệt chúng, người ta gọi khoá được sử

dụng trong mã hoá đối xứng là khoá bí mật Hai khoá dùng trong mã hoá khoá công

khai là khoá công khai và khoá riêng

Chúng ta xem xét chi tiết các yếu tố cần thiết trong lược đồ mã hoá khoá công khai

H×nh 1.2 HÖ mËt kho¸ c«ng khai: BÝ mËt

Nguồn A đưa ra một thông báo rõ và bản rõ của thông báo là X = [X1, X2, ,XM]

Các phần tử Xi (i = 1M) của X là các chữ cái trong bảng chữ cái hữu hạn nào đó

A dự định gửi thông báo cho đích B B sinh ra một cặp khoá là khoá công khai

KUb, khoá riêng KRb Chỉ có B biết KRb, còn KUb được công bố công khai, do vậy

A có thể có được khoá công khai này

Bảng 1.1 Mã hoá khoá công khai và đối xứng

Quá trình mã hoá và giải mã sử dụng Một thuật toán sử dụng một cặp khoá khi

cùng một thuật toán với cùng một khoá mã hoá và giải mã, một khoá được sử

Người gửi và người nhận phải sử dụng dụng khi mã hóa, khoá còn lại được sử

chung thuật toán và khoá dụng khi giải mã

Người gửi và người nhận, mỗi người có

Trang 11

9

Trang 12

Các yêu cầu an toàn Các yêu cầu an toàn

Khóa phải được giữ bí mật Một trong hai khóa phải được giữ bí mật.Không thể giải mã được thông báo nếu Không thể giải mã được thông báo nếu

không có các thông tin có giá trị khác không có các thông tin có giá trị khác

Các thông tin về thuật toán, các mẫu Các thông tin về thuật toán, một trong cácbản mã không đủ để xác định khoá khoá và các mẫu bản mã không đủ để xác

Chúng ta đã biết, một trong hai khoá trong cặp khoá có thể được sử dụng để mãhoá, khoá còn lại được sử dụng để giải mã Điều này cho phép thực hiện một lược

đồ mã hơi khác một chút Lược đồ được minh hoạ trong hình 1.2 cung cấp tính bímật Hình 1.1b và 1.3 minh hoạ việc sử dụng mã hoá khoá công khai cho xác thực:

Y = E KRa (X) X = D KUa (Y)

KR

Nguån cÆp

Trang 13

H×nh 1.3 HÖ mËt kho¸ c«ng khai: X¸c thùc

10

Trang 14

Trong trường hợp này, A chuẩn bị một thông báo để gửi cho B và mã hoá thông

báo bằng khoá riêng của A trước khi truyền đi B có thể giải mã thông báo bằng

khoá công khai của A Thông báo được mã hoá bằng khoá riêng của A nên có thể

xác định chỉ có A là người tạo ra thông báo Do vậy, toàn bộ thông báo mã hoá

được sử dụng như một chữ ký số Hơn nữa, không thể sửa đổi thông báo nếu không

có khoá riêng của A, chính vì vậy thông báo được xác thực cả nguồn gốc lẫn tính

toàn vẹn dữ liệu

Trong lược đồ trước, toàn bộ thông báo được mã hoá, nó đòi hỏi khả năng lưu giữ

lớn Mỗi tài liệu phải được lưu giữ ở dạng rõ Bản sao được lưu giữ ở dạng mã, do

vậy chúng ta có thể kiểm tra được nguồn gốc và các nội dung trong trường hợp

tranh chấp Một cách hiệu quả hơn để có được các kết quả như trên là mã hoá một

khối nhỏ các bit Khối này được gọi là dấu xác thực Nó phải có tính chất là mọi

thay đổi trên tài liệu dẫn đến sự thay đổi của dấu xác thực Nếu dấu xác thực được

mã hoá bằng khoá riêng của người gửi, nó được sử dụng như một chữ ký Chữ ký

được sử dụng để kiểm tra nguồn gốc, nội dung và trình tự

KR a

KU b CÆp

Trang 15

Trước hết, chúng ta mã hoá một thông báo bằng khoá riêng của người gửi, đưa ramột chữ ký số Tiếp theo, mã hoá một lần nữa bằng khoá công khai của ngườinhận Chỉ có người nhận hợp pháp mới giải mã được bản mã cuối cùng này vì anh

11

Trang 16

ta có khoá riêng cùng cặp Như vậy sẽ đảm bảo được tính bí mật Khó khăn củabiện pháp này là thuật toán khoá công khai, nó thực sự phức tạp, phải tiến hành 4lần (chứ không phải là 2 lần) cho mỗi cuộc truyền thông

1.2 CÁC ỨNG DỤNG HỆ THỐNG KHOÁ CÔNG KHAI

Trước tiên, chúng ta cần làm rõ một khía cạnh của các hệ thống mật mã khoá côngkhai Việc sử dụng một kiểu thuật toán mật mã với 2 khoá (một khoá riêng, mộtkhoá công khai) là đặc trưng của các hệ thống khoá công khai

Tuỳ thuộc vào ứng dụng, người gửi sử dụng khoá riêng của người gửi hoặc khoácông khai của người nhận, hoặc cả hai

Nói rộng hơn, chúng ta có thể phân loại việc sử dụng hệ mật khoá công khai thành

3 loại:

1 Mã hoá/giải mã: Người gửi mã hoá một thông báo bằng khoá công khai của

người nhận

2 Chữ ký số: Người gửi "ký" thông báo bằng khoá riêng của mình Quá trình ký

được thực hiện nhờ dùng một thuật toán mã đối với thông báo hoặc một khối dữ liệunhỏ

3 Trao đổi khoá: Hai thành viên trao đổi khoá phiên Có một vài hướng giải

quyết khác nhau, cần đến một (hoặc nhiều) khoá riêng của một hoặc hai thành viên

Bảng 3.2 Các ứng dụng được các thuật toán hỗ trợ

Thuật toán Mã hoá/Giải mã Chữ ký số Trao đổi khoá

1.3 CÁC YÊU CẦU ĐỐI VỚI MÃ HÓA KHÓA CÔNG KHAI

Các ứng dụng hệ mật minh hoạ trong hình 1.2, 1.3 phụ thuộc vào một thuật toán mãvới hai khoá cùng cặp Diffie và Hellman đưa ra các điều kiện mà các thuật toántrên phải đáp ứng như sau:

1 Người nhận B có thể dễ dàng sinh ra được một cặp khoá (khoá công khai

KUb và khoá riêng KRb)

Trang 17

2 Người gửi A dễ dàng biết được khoá công khai của người nhận, mã hoá thôngbáo M và tạo ra một bản mã tương ứng:

dễ dàng

X = f -1(Y) không thể

Chúng ta tiếp tục với định nghĩa hàm cửa sập một chiều, nó dễ dàng tính toán theo một chiều, khó có thể tính toán theo chiều kia trừ khi biết thêm thông tin nào đó Với thông tin này, có thể tính toán được hàm nghịch đảo trong thời gian đa thức Tóm lại, hàm cửa sập một chiều là họ các hàm nghịch đảo fk, sao cho: Y = fk(X) dễdàng, nếu biết k và X

X = f -1k(Y) dễ dàng, nếu biết k và Y

X = f -1k(Y) khó có thể, nếu biết Y nhưng không biết k

Do vậy, việc phát triển một lược đồ khoá công khai thiết thực phụ thuộc vào việctìm ra một hàm cửa sập một chiều phù hợp

1.4 HỆ MẬT RSA

Hầu hết các thuật toán mã sử dụng khoá công khai và khoá riêng đều dựa trên mộtđặc tính rất quan trọng của các số nguyên tố lớn, đó là một khi nhân chúng vớinhau để tạo ra một số mới, chúng ta không thể hoặc mất rất nhiều thời gian để cóthể xác định được số nào trong hai số nguyên tố là số mới và là số lớn hơn Trongluận văn này tôi xin được trình bày về một hệ mật được sử dụng khá phổ biến là hệmật RSA

13

Trang 18

Bài toán đặt ra : Bob muốn gửi cho Alice một thông tin mật mà Bob muốn duynhất Alice có thể đọc được Để làm được điều này, Alice gửi cho Bob một chiếchộp có khóa đã mở và giữ lại chìa khóa Bob nhận chiếc hộp, cho vào đó một tờgiấy viết thư bình thường và khóa lại (lúc này ngay cả Bob cũng không thể đọc lạihay sửa thông tin trong thư được nữa) Sau đó Bob gửi chiếc hộp lại cho Alice.Alice mở hộp với chìa khóa của mình và đọc thông tin trong thư Trong ví dụ này,chiếc hộp với khóa mở đóng vai trò khóa công khai, chiếc chìa khóa chính là khóa

bí mật

1.4.1 Tạo khoá

Giả sử Alice và Bob cần trao đổi thông tin bí mật thông qua một kênh không antoàn (ví dụ như Internet) Với thuật toán RSA, Alice đầu tiên cần tạo ra cho mìnhcặp khóa gồm khóa công khai và khóa bí mật theo các bước sau:

1. Chọn 2 số nguyên tố lớn và với , lựa chọn ngẫu nhiên và độc lập

 Các số nguyên tố thường được chọn bằng phương pháp thử xác suất

 Các bước 4 và 5 có thể được thực hiện bằng thuật toán Euclid mở rộng(xem thêm: số học môđun)

 Bước 5 có thể viết cách khác: Tìm số tự nhiên sao cho

cũng là số tự nhiên Khi đó sử dụng giá trị

Trang 19

Khóa bí mật bao gồm:

Một dạng khác của khóa bí mật bao gồm:

Dạng này cho phép thực hiện giải mã và ký nhanh hơn với việc sử dụng Định lý số

dư Trung quốc (tiếng Anh:Chinese Remainder Theorem - CRT) Ở dạng này, tất cảthành phần của khóa bí mật phải được giữ bí mật

Alice gửi khóa công khai cho Bob, và giữ bí mật khóa cá nhân của mình Ở đây, p

và q giữ vai trò rất quan trọng Chúng là các phân tố của n và cho phép tính d khi biết e Nếu không sử dụng dạng sau của khóa bí mật (dạng CRT) thì p và q sẽ được

xóa ngay sau khi thực hiện xong quá trình tạo khóa

1.4.2 Mã hóa

Giả sử Bob muốn gửi đoạn thông tin M cho Alice Đầu tiên Bob chuyển M thành một số m < n theo một hàm có thể đảo ngược (từ m có thể xác định lại M) được

thỏa thuận trước

Lúc này Bob có m và biết n cũng như e do Alice gửi Bob sẽ tính c là bản mã hóa của m theo công thức:

Hàm trên có thể tính dễ dàng sử dụng phương pháp tính hàm mũ (môđun) bằng

phương pháp bình phương (exponentiation by squaring) Cuối cùng Bob gửi c cho

Trang 20

Biết m, Alice tìm lại M theo phương pháp đã thỏa thuận trước Quá trình giải mã

1.4.4 Độ an toàn

Độ an toàn của hệ thống RSA dựa trên 2 vấn đề của toán học: bài toán phân tích rathừa số nguyên tố các số nguyên lớn và bài toán RSA Nếu 2 bài toán trên là khó(không tìm được thuật toán hiệu quả để giải chúng) thì không thể thực hiện đượcviệc phá mã toàn bộ đối với RSA Phá mã một phần phải được ngăn chặn bằng cácphương pháp chuyển đổi bản rõ an toàn

Bài toán RSA là bài toán tính căn bậc e môđun n (với n là hợp số): tìm số m sao cho m e =c mod n, trong đó (e, n) chính là khóa công khai và c là bản mã Hiện nay

phương pháp triển vọng nhất giải bài toán này là phân tích n ra thừa số nguyên tố Khi thực hiện được điều này, kẻ tấn công sẽ tìm ra số mũ bí mật d từ khóa công

khai và có thể giải mã theo đúng quy trình của thuật toán Nếu kẻ tấn công tìm

được 2 số nguyên tố p và q sao cho: n = pq thì có thể dễ dàng tìm được giá trị (p-1) (q-1) và qua đó xác định d từ e Chưa có một phương pháp nào được tìm ra trên máy tính để giải bài toán này trong thời gian đa thức (polynomial-time) Tuy nhiên

Trang 21

người ta cũng chưa chứng minh được điều ngược lại (sự không tồn tại của thuậttoán

1.5 CHỮ KÝ SỐ

Chữ ký điện tử là dãy các ký hiệu, âm thanh hay các hình thức điện tử khác được tạo lập từ thông tin cá nhân của người ký bằng công nghệ, thuật toán tích hợp với các phương tiện điện tử Nó đảm bảo tính tương ứng duy nhất với người

ký Hiện có nhiều công nghệ để tạo chữ ký điện tử như: sử dụng đặc tính của vân tay, của giác mạc mắt, bản đồ tĩnh mạch bàn tay (ven), ADN, các yếu tố sinh học khác của người ký, chữ ký số dựa trên công nghệ mật mã Trên thế giới hiện nay, phổ biến nhất là chữ ký số Việt Nam trong tương lai gần cũng sử dụng công nghệ này

Trong cách thức truyền thống, thông báo được truyền đi trong giao dịchthường dưới dạng các văn bản viết tay hoặc đánh máy được kèm thêm chữ ký (viếttay) của người gửi ở bên dưới văn bản Chữ ký đó là bằng chứng xác nhận thôngbáo đúng là của người ký, tức là của chủ thể giao dịch, và nếu tờ giấy mang vănbản không bị cắt, dán, tẩy, xoá, thì tính toàn vẹn của thông báo cũng được chứngthực bởi chữ ký đó Chữ ký viết tay có nhiều ưu điểm quen thuộc như dễ kiểm thử,không sao chép được, chữ ký của một người là giống nhau trên nhiều văn bản,nhưng mỗi chữ ký gắn liền với một văn bản cụ thể, v.v

Khi chuyển sang cách thức truyền tin bằng phương tiện hiện đại, các thôngbáo được truyền đi trên các mạng truyền tin số hoá, bản thân các thông báo cũngđược biểu diễn dưới dạng số hoá, tức dưới dạng các đãy bit nhị phân, “chữ ký” nếu

có cũng ở dưới dạng các đãy bit, thì các mối quan hệ tự nhiên kể trên không còngiữ được nữa Chẳng hạn, “chữ ký” của một người gửi trên những văn bản khácnhau phải thể hiện được sự gắn kết trách nhiệm của người gửi đối với từng văn bản

đó thì tất yếu phải khác nhau chứ không thể là những đoạn bit giống nhau như cácchữ ký giống nhau trên các văn bản thông thường Chữ ký viết tay có thể đượckiểm thử bằng cách so sánh với nguyên mẫu, nhưng “chữ ký” điện tử thì không thể

có “nguyên mẫu” để mà so sánh, việc kiểm thử phải được thực hiện bằng nhữngthuật toán đặc biệt Một vấn đề nữa là việc sao chép một văn bản cùng chữ ký Nếu

là văn bản cùng chữ ký viết tay thì dễ phân biệt bản gốc với bản sao, do đó khó màdùng lại được một văn bản có chữ ký thật Còn với văn bản điện tử cùng chữ kýđiện tử thì có thể nhân bản sao chép tuỳ thích, khó mà phân biệt được bản gốc với

17

Trang 22

bản sao, cho nên nguy cơ dùng lại nhiều lần là có thực, do đó cần có những biệnpháp để tránh nguy cơ đó.

Một “chữ ký”, nếu muốn thể hiện được trách nhiệm của người gửi trên toànvăn bản, thì phải mang được một chút gắn bó nào đó với từng bit thông tin của vănbản, vì vậy, theo hình dung ban đầu, độ dài của chữ ký cũng phải dài theo độ dàicủa văn bản; để có được “chữ ký ngắn” như trong trường hợp viết tay người ta phải

dùng một kỹ thuật riêng gọi là hàm băm mà ta sẽ trình bày ở phần dưới.

Ngoài ra, để chống giả mạo chữ ký “số” thì thứ nhất thuật toán “ký số” phải

là “không nhìn thấy” bằng mắt thường trên bức điện Thứ hai là vấn đề về kiểm tra.Chữ ký thông thường được kiểm tra bằng cách so sánh nó với chữ ký đúng Ví dụ,

ai đó ký một tấm séc để mua hàng, người bán hàng phải so sánh chữ ký trên mảnhgiấy với chữ ký nằm ở mặt sau của thẻ tín dụng để kiểm tra Dĩ nhiên, đây khôngphải là phương pháp an toàn vì người ta có thể giả mạo Với chữ ký “số”, người ta

có thể kiểm tra nhờ dùng một thuật toán kiểm tra công khai như vậy, bất kỳ ai cũng

có thể kiểm tra được chữ ký số Việc dùng một sơ đồ chữ ký an toàn có thể sẽ ngănchặn được khả năng giả mạo

Sự khác biệt cơ bản khác giữa chữ ký “số” và chữ ký thông thường là: bảnsao tài liệu được ký bằng chữ ký “số” đồng nhất với bản gốc, còn bản sao tài liệu

có chữ ký trên giấy thường có thể khác với bản gốc Ðiều này có nghĩa là phải cẩnthận ngăn chặn việc dùng lại một chữ ký “số” Ví dụ, một lần Bob ký một bức điệnxác nhận Alice có khả năng làm điều đó Vì thế, bản thân bức điện cần chứa thôngtin nào đó (chẳng hạn như ngày tháng) để ngăn nó khỏi bị dùng lại

Sơ đồ chữ ký số: là phương pháp ký một bức điện lưu dưới dạng điện tử.Điểm khác biệt với chữ ký thông thường là ở chỗ: chữ ký thông thường là một phầnvật lý của tài liệu, chữ ký số không gắn theo vật lí vào bức điện vì vậy thuật toánphải “không nhìn thấy” theo cách nào đó trên bức điện Đối với chữ ký thôngthường thì việc kiểm tra thực hiện bằng cách so sánh nó với các chữ ký xác thựckhác, còn chữ ký số thì có thể kiểm tra được nhờ dùng một thuật toán kiểm tra côngkhai Và việc dùng một chữ ký an toàn có thể ngăn chặn được khả năng giả mạo

Sự khác biệt cơ bản giữa chữ ký số và chữ ký thông thường là bản copy tàiliệu được ký bằng chữ số đồng nhất với bản gốc Điều này có nghĩa là phải cẩn thậnngăn chặn một bức điện ký số khỏi bị dùng lại

Mục đích: Sử dụng kĩ thuật số để mô phỏng / thay thế chữ ký tay written signature”

Trang 23

“hand-Các yêu cầu khi sử dụng chữ ký số:

 Không thể giả mạo “unforgeability”

 Không thể phủ nhận “undeniability”

 Chữ ký phụ thuộc vào người ký và văn bản được ký

 Dễ dàng tính toán: Người ký có thể dễ dàng ký trên văn bản cần ký

 Dễ dàng kiểm định: Mọi người có thể kiểm tra xác định tính hợp lệ của chữ ký

 Thuận tiện cho việc lưu trữ: Chữ ký cần ngắn vừa đủ

3 K (không gian khoá) là tập hữu hạn các khoá có thể.

4 Với mỗi k thuộc K có thuật toán ký Sigk  S và thuật toán xác minhVerk  V Sigk : P -> A và Verk: P×A - > {true, false} là những hàm sao

cho mỗi thông điệp xP và chữ ký yA thoả mãn phương trình:

True nếu y = sig(x)

Verk =

False nếu y ≠ sig(x)

Với mỗi k thuộc K, Sigk và Verk là các hàm có thời gian da thức Verk làhàm công khai, Sigk là hàm bí mật Không thể “để dàng” tính toán để giả mạo chữ

ký của Bob trên thông điệp x Nghĩa là x cho truớc, chỉ có Bob mới “dễ” tính được

y để Verk = True Một sơ đồ chữ ký không thể an toàn vô Điều kiện vì Oscar có thểkiểm tra tất cả các chữ số y có thể có trên thông điệp x nhờ dùng thuật toán Verkcông khai cho đến khi anh ta tìm thấy một chữ ký đúng Vì thế, nếu có dủ thời gian.Oscar luôn luôn có thể giả mạo chữ ký của Bob như vậy, giống như truờng hợp hệthống mã khoá công khai, mục đích là tìm các sơ đồ chữ ký số “an toàn” về mặttính toán

19

Trang 24

về pháp luật có thể dài nhiều Megabyte.

Một cách đơn giản để giải bài toán này là chia các bức điện dài thành nhiềuđoạn sau đó ký lên các đoạn đó độc lập nhau Ðiều này cũng tương tự như mã hóamột chuỗi dài bản rõ bằng cách mã hóa mỗi ký tự bản rõ độc lập nhau sử dụng cùngmột bản khoá (Ví dụ: chế độ ECB trong Mã hóa)

Biện pháp này có một số vấn đề trong việc tạo ra các chữ ký số Truớc hết,với một bức điện dài, ta kết thúc bằng một chữ ký rất lớn nhược điểm khác là các

sơ đồ chữ ký “an toàn” lại chậm vì chúng dùng các phương pháp số học phức tạpnhư số mũ modulo Tuy nhiên, vấn đề nghiêm trọng hơn với phép toán này là bứcđiện đã ký có thể bị sắp xếp lại các đoạn khác nhau,hoặc một số đoạn trong chúng

có thể bị loại bỏ và bức điện nhận được vẫn xác minh được Ta cần bảo vệ sựnguyên vẹn của toàn bộ bức điện và Điều này không thể thực hiện được bằng cách

ký độc lập từng mẩu nhỏ của chúng

Giải pháp cho các vấn đề này là dùng hàm băm (Hash) nhanh Từ bức điện

có độ dài tuỳ ý, hàm băm tạo ra một bản tóm luợc thông báo có kích thuớc qui định(ví dụ 160 bit với DSS) Sau đó bản tóm luợc thông báo sẽ được ký, thay vì ký trựctiếp trên văn bản gốc

Khi Bob muốn ký bức điện x dài, truớc tiên anh ta tạo lập bản tóm luợc (đạiđiện) thông điệp z = h(x) và sau đó tính y = sigK (z ) Bob có thể truyền cặp (x, y)trên kênh công khai Có thể thực hiện kiểm tra chữ ký bằng cách truớc hết khôiphục bản tóm luợc thông báo z =h (x) nhờ hàm h công khai và sau đó kiểm tra xemVerk (x,y) = true, hay không

Trang 25

Ký một bản tóm luợc thông báo

Bản tóm luợc (giá trị của hàm băm) còn được gọi là đại diện văn bản(message digest) Một message digest là có chiều dài cố định với các đặc điểm nhưsau:

 Giá trị trả lại của hàm băm duy nhất đối với mỗi giá trị đầu vào Bất

kỳ sự thay đổi nào của dữ liệu vào cũng đều dẫn đến một kết quả sai

 Từ đại diện văn bản “khó thể” suy ra được dữ liệu gốc là gì, chính vì Điều này mà người ta gọi là one-way

Như đã đề cập trong phần mã hóa khóa công khai, có thể dùng khóa bí mậtcho việc mã hóa và khóa công khai cho việc giải mã Cách sử dụng cặp khóa nhưvậy không được dùng khi cần bí mật thông tin, mà chủ yếu dùng để “ký” trên dữliệu Thay vào việc đi mã hóa dữ liệu, các phần mềm ký tạo ra đại diện văn bản(message digest) của dữ liệu và sử dụng khóa bí mật để mã hóa đại diện đó Hìnhduới đưa ra mô hình đơn giản hóa việc chữ ký số được sử dụng như thế nào đểkiểm tra tính toàn vẹn của dữ liệu được ký

Sử dụng chữ ký số để kiểm tra tính toàn vẹn của dữ liệu

21

Trang 26

Trong hình trên có hai phần được gửi cho người nhận: dữ liệu gốc và chữ ký

số Ðể kiểm tra tính toàn vẹn dữ liệu, người nhận sử dụng khóa công khai củangười ký để giải mã đại diện bản tin (message disgest) đã mã hóa và khóa bí mậtcủa người ký Dựa vào thông tin về thuật toán băm, người nhận tạo ra đại diện bảntin gốc và bản tin mới Nếu 2 đại diện này giống nhau tức là dữ liệu bản tin không

bị thay đổi từ lúc được ký Nếu chúng không giống nhau có nghĩa là dữ liệu đã bịgiả mạo, Điều này cũng có thể xảy ra khi sử dụng hai khóa công khai và khóa bímật không tương ứng

Trong một vài truờng hợp, chữ ký số được đánh giá là có thể thay thế chữ ký bằngtay Chữ ký số chỉ có thể đảm bảo khi khóa bí mật không bị lộ Khi khóa bí mật bị

lộ thì người sở hữu chữ ký không thể ngăn chặn được việc bị giả mạo chữ ký

Sơ đồ chữ ký RSA được cho bởi bộ năm

ver K(x,y) = đúngxy b (modn)

Dễ chứng minh được rằng sơ đồ được định nghĩa như vậy là hợp thức, tức là

với mọi x và mọi chữ ký y:

ver K"(x, y) = đúngy= sig K'(x)

Chú ý rằng tuy hai vấn đề xác nhận và bảo mật theo sơ đồ RSA là có bề ngoài giống nhau, nhưng nội dung của chúng là hoàn toàn khác nhau: Khi A gửi

Trang 27

thông báo x cho B, để B có căn cứ xác nhận đó đúng thực là thông báo do A gửi, A

phải gửi kèm theo chữ ký (x), tức là A gửi cho B (x, (x)), trong các thông

tin gửi đi đó, thông báo x hoàn toàn không được giữ bí mật Cũng tương tự như

vậy, nếu dùng sơ đồ mật mã RSA, khi một chủ thể A nhận được một bản mật mã e K

(x) từ B thì A chỉ biết rằng thông báo xđược bảo mật, chứ không có gì để xác nhận

x là của B.

Nếu ta muốn hệ truyền tin của ta vừa có tính bảo mật vừa có tính xác nhận,thì ta phải sử dụng đồng thời cả hai hệ mật mã và xác nhận (bằng chữ ký) Giả sử

trên mạng truyền tin công cộng, ta có cả hai hệ mật mã khoá công khai S1 và hệ xác

nhận bằng chữ ký S 2 Giả sử B có bộ khoá mật mã K = (K', K'') với K' = (n, e) và

K'' = d trong hệ S1, và A có bộ khoá chữ ký K s (K s , Ks) với K s a và K s

(n, b) trong hệS 2 A có thể gửi đến B một thông báo vừa bảo mật vừa có chữ ký để

xác nhận như sau: A ký trên thông báo x trước, rồi thay cho việc gửi đến B văn bản cùng chữ ký (x, sig K s (x)) thì A sẽ gửi cho B bản mật mã của văn bản đó được lậptheo khoá công khai của B, tức là gửi cho B e K  ((x, sigK s (x)) Nhận được văn bảnmật mã đó B sẽ dùng thuật toán giải mã dK  của mình để thu được (x, sigK s (x)), sau

đó dùng thuật toán kiểm thử chữ ký công khai verK s của A để xác nhận chữ ký sigK s

(x) đúng là của A trên x.

a Thuật toán sinh khoá

Thực thể A tạo khoá công khai và khoá riêng tương ứng theo phương thứcsau:

 Sinh ra hai số nguyên tố lớn ngẫu nhiên p và q cùng kích thuớc bit

Khoá công khai của A là K‟ = (n, a), khoá riêng của A là K” = b b

Thuật toán sinh chữ ký và xác nhận chữ ký

Thực thể A ký trên thông điệp m Thực thể B có thể xác định được chữ ký của A và khôi phục lại thông điệp từ chữ ký

23

sig K'

sig K'

Trang 28

Sinh chữ ký: Thực thể A làm theo các buớc sau:

 Tính m' = H(m), là một số nguyên trong khoảng [0, n-1]

 Tính s = m'a mod n

 Chữ ký của A cho m là s

Xác nhận chữ ký: Thực thể B làm theo các buớc sau:

 Nhận khoá công khai của A là (n, b)

 Tính m' = sb mod n

 Kiểm tra m'  MR nếu không sẽ không chấp nhận chữ ký

 Lấy lại thông điệp m từ m = H-1 (m') c Tóm tắt luợc đồ ký theo

Trang 29

Ðể ký thông điệp m = 31229978, A tính m'1 = H(m) =

31229978 Chữ ký s = m1'b

mod n = 312299784430237

mod 55465219 =30729435

Hệ mật khoá công khai đã giải quyết được hai vấn đề khó khăn trong hệ mật đốixứng, đó là vấn đề phân phối khoá và chữ ký số Ngoài việc mã hoá để đảm bảothông tin không bị chặn bắt và xem trộm trên đường truyền người ta còn thực hiện

ký lên văn bản truyền đi để đảm bảo nội dung bản tin xuất phát từ một nguồn tincậy, hợp lệ và không bị sửa đổi bằng cách sử dụng chữ ký số

Trong chương này cũng trình bày chi tiết về các lược đồ chữ ký số RSA, thuật toán

mã hoá khoá công khai RSA và hàm băm được sử dụng trong quá trình tạo và kiểmtra chữ ký số

25

Trang 30

Chương 2

HẠ TẦNG CƠ SỞ KHOÁ CÔNG KHAI (PKI)

Cơ sở hạ tầng khoá công khai (PKI) bao gồm nhiều dịch vụ hỗ trợ Các dịch vụ hỗtrợ này rất cần thiết khi các kỹ thuật khoá công khai được sử dụng trên phạm virộng Các cơ quan chứng thực (CA) và các phương tiện quản lý chứng chỉ tạo thànhhạt nhân của các cơ sở hạ tầng khoá công khai Tuy nhiên, khi chúng ta cố gắng ápdụng các khái niệm quản lý chứng chỉ này vào trong môi trường thực, đặc biệttrong các môi trường có nhiều tổ chức và các cộng đồng khác nhau, chúng cần làmviệc với nhau theo các cách thức phức tạp và làm nảy sinh nhiều vấn đề nhạy cảmcần được quan tâm Nhiều ứng dụng hỗ trợ khác nhau (mang tính kỹ thuật và pháplý) cần được sử dụng để khai thác một cách có hiệu quả các kỹ thuật khoá côngkhai Trong phần này chúng ta tìm hiểu một số vấn đề trong việc xây dựng các PKInhằm hỗ trợ một số lượng lớn những người sử dụng khác nhau và những nội dung

cơ bản phục vụ việc xây dựng một hệ thống PKI

2.1 ĐỊNH NGHĨA PKI

PKI là công nghệ phối hợp mật mã khoá bí mật và mật mã khoá công khai để giảiquyết vấn đề xác thực, bảo mật, đảm bảo tính toàn vẹn của dữ liệu và quản lý khoátrên các mạng máy tính

Đôi khi PKI được định nghĩa như là một tập hợp phần cứng, phần mềm, con người,chính sách và các thủ tục cần thiết để tạo, quản lý, lưu giữ, phân phối và thu hồi cácchứng chỉ khoá công khai Tuy nhiên nếu nhìn nhận PKI như là một công nghệ thìđịnh nghĩa đầu phù hợp hơn

2.2 PHÂN PHỐI KHÓA CÔNG KHAI

Một trong các vai trò chính hệ thống PKI là giải quyết vấn đề phân phối khoá.Người ta đã đề xuất một số kỹ thuật phân phối khoá công khai Các đề xuất này cóthể được nhóm lại như sau:

o Khai báo công khai

o Danh bạ công khai

o Trung tâm quản lý khoá công khai

o Các chứng chỉ khoá công khai

2.2.1 Khai báo công khai các khoá công khai

Trang 31

Xuất phát điểm của mã hoá khoá công khai là khoá công khai được công bố côngkhai Do vậy, nếu có một thuật toán được chấp nhận rộng rãi, chẳng hạn như RSA,bất kỳ thành viên nào cũng có thể gửi khoá công khai của mình cho thành viên kháchoặc quảng bá cho cộng đồng lớn (hình 2.1).

H×nh 2.1 Ph©n phèi kho¸ c«ng khai kh«ng kiÓm so¸t

Ví dụ, những người sử dụng PGP chấp nhận gắn kèm khoá công khai của họ vàocác thông báo gửi đến các nơi công cộng, chẳng hạn như các nhóm tin củaUSERNET, các danh sách thư tín trên Internet

Mặc dù giải pháp này khá thích hợp, nhưng nó có nhược điểm là bất kỳ ai cũng cóthể giả mạo một khoá công khai Có nghĩa là, một người sử dụng nào đó có thể giảdanh là người sử dụng A và gửi một khoá công khai cho thành viên khác Khoảngthời gian cho đến khi người sử dụng A phát hiện ra sự gian lận và thông báo cho

các thành viên khác, đối tượng giả mạo có thể đã đọc toàn bộ các thông báo mã hoágửi cho A và có thể sử dụng các khoá giả cho xác thực

thuộc trách nhiệm của một tổ chức

H×nh 2.2 C«ng bè kho¸ c«ng khai

Một lược đồ như vậy gồm các yếu tố sau:

1 Cơ quan quản lý duy trì một thư mục, mỗi thành viên có một đầu vào entry {tên, khoá công khai}

Trang 32

2 Mỗi thành viên đăng ký một khoá công khai với cơ quan quản lý thư mục Việcđăng ký này có thể được thực hiện bởi một cá nhân hoặc qua hình thức liên lạc có xácthực an toàn nào đó.

27

Trang 33

3 Một thành viờn cú thể thay thế một khoỏ mới bất kỳ lỳc nào, chẳng hạn khi họmuốn thay thế một khoỏ cụng khai đó được sử dụng nhiều, hoặc khi khoỏ riờng cựngcặp bị lộ.

4 Cơ quan quản lý cụng bố toàn bộ danh bạ hoặc cập nhật danh bạ một cỏch định kỳ

5 Cỏc thành viờn cũng cú thể truy nhập vào thư mục Chớnh vỡ vậy, việc truyềnthụng xỏc thực an toàn (từ cơ quan quản lý đến thành viờn) phải mang tớnh bắt buộc

2.2.3 Trung tõm quản lý khoỏ cụng khai

Việc phõn phối khoỏ cụng khai được đảm bảo an toàn cao hơn nếu cung cấp cỏckiểm soỏt chặt chẽ khi phõn phối khoỏ cụng khai từ danh bạ (được minh hoạ tronghỡnh 2.3)

Trung tâm quản lý khoá

công khai (1)Request || Time 1

(4)Request || Time 2

(2)E KRauth [KU b ||Request||Time 1 ] (5) E KRauth [KU a ||Request||Time 2 ]

(3)E KUb [ID A || N 1 ]

(6)E KUa [N 1 || N 2 ]

(7)E KUb [N 2 ]

Hình 2.3 L-ợc đồ phân phối khoá công khai

Một cơ quan trung tõm duy trỡ một danh bạ khoỏ cụng khai động cho tất cả cỏc thành viờn Mỗi thành viờn đều biết khoỏ cụng khai của trung tõm quản lý khoỏ cụng khai nhưng chỉ cú trung tõm này biết khoỏ riờng cựng cặp Quỏ trỡnh trao đổi thụng tin bớ mật xảy ra như sau:

1 A gửi một thụng bỏo cú gỏn nhón thời gian cho cơ quan quản lý khoỏ cụng khai, yờu cầu khoỏ cụng khai hiện thời của B

28

Trang 34

2 Cơ quan quản lý trả lời bằng một thông báo Thông báo này được mã hoá bằngkhoá riêng của cơ quan quản lý, KRauth Như vậy, A có khả năng giải mã thông báobằng cách sử dụng khoá công khai của cơ quan quản lý, A được đảm bảo rằng thôngbáo có nguồn gốc từ cơ quan quản lý Thông báo gồm có:

Khoá công khai của B là KUb- A có thể sử dụng nó để mã hoá các thông báo gửicho B

Yêu cầu gốc- A so khớp yêu cầu này với yêu cầu A đã gửi đi trước đó, nhờ đó A cóthể biết yêu cầu gốc có bị sửa đổi trước khi cơ quan quản lý nhận được hay không

Nhãn thời gian gốc- cho phép A xác định: đây không phải là một thông báo cũ mà

là thông báo có chứa khoá công khai hiện thời của B

3 A lưu giữ khoá công khai của B và sử dụng nó để mã hoá một thông báo gửi cho

B, thông báo này có chứa tên của A (IDA) và một giá trị (được gọi là nonce) N1 được

6 B gửi một thông báo cho A, thông báo này được mã hoá bằng KUa và có chứa

N1 của A và một nonce mới N2 do B sinh ra Do chỉ có B mới có thể giải mã thôngbáo (3) và sự có mặt của N1 trong thông báo (6) đảm bảo với A rằng B chính là người

A đang liên lạc

7 A trả lại N2 được mã hoá bằng khoá công khai của B, đảm bảo với B rằng A chính là người B đang liên lạc

Trang 35

2.2.4 Chứng chỉ khoá công khai

Lược đồ trong hình 2.3 rất hấp dẫn nhưng nó cũng có một số nhược điểm Cơ quan

quản lý khoá công khai gần giống như một cổ chai trong hệ thống Người sử dụng

phải yêu cầu cơ quan quản lý cấp khoá công khai cho người sử dụng khác khi họ

muốn liên lạc Như đã trình bày từ trước, cơ quan quản lý duy trì danh bạ (mỗi đầu

vào bao gồm tên và khoá công khai) - đây cũng là chính là điểm yếu dễ bị giả mạo

Một giải pháp lựa chọn là sử dụng chứng chỉ Các thành viên sử dụng chứng chỉ

này để trao đổi khoá mà không cần liên lạc với cơ quan quản lý khoá công khai

Mỗi chứng chỉ chứa một khoá công khai và các thông tin khác Nó được một cơ

quan quản lý chứng chỉ tạo ra và phát hành cho các thành viên Một thành viên

chuyển thông tin khoá của mình cho thành viên khác thông qua các chứng chỉ Các

thành viên khác có thể kiểm tra chứng chỉ do cơ quan quản lý tạo ra Chúng ta có

thể đưa vào lược đồ này các yêu cầu như sau:

1 Một thành viên có thể đọc chứng chỉ để xác định tên và khoá công khai của

người sở hữu chứng chỉ

2 Mọi thành viên có thể kiểm tra: nguồn gốc của chứng chỉ và nó có bị giả mạo

không

3 Chỉ có cơ quan quản lý chứng chỉ mới có thể tạo ra và cập nhật các chứng chỉ

Và một yêu cầu được bổ sung thêm như sau:

- Mọi thành viên có thể kiểm tra sự lưu hành của chứng chỉ

Có nhiều kiểu chứng chỉ được sử dụng cho các mục đích khác nhau Một trong các

kiểu chứng chỉ quan trọng là chứng chỉ khoá công khai Trong đó, khoá công khai

được gắn kết chặt chẽ với một cá nhân, một thiết bị, hoặc một thực thể riêng biệt

Chứng chỉ khoá công khai được một cơ quan chứng thực (CA) ký CA chứng thực

các thuộc tính của chủ thể nắm giữ chứng chỉ khoá công khai Chủ thể nắm giữ là

một người, thiết bị, hoặc thực thể nào đó, nói chung là đối tượng nắm giữ khoá

riêng tương ứng Các thuật ngữ chứng chỉ hay chứng chỉ khóa công khai chỉ là một

Một chứng chỉ khoá công khai đơn giản có dạng như sau:

Khoá riêng của CA Thông tin

nhận dạng chủ thể Khoá công khai

Tạo của chủ thể

chữ ký số Tên của CA

Trang 36

Chữ ký số của CA

30

Chứng chỉ khoá công khai đơn giản

Trang 37

Chuẩn hoỏ khuụn dạng chứng chỉ là một trong những vấn đề cần giải quyết khi

nghiờn cứu xõy dựng cỏc hệ thống PKI Chuẩn khuụn dạng chứng chỉ X509 V3 là

một trong những chuẩn được sự dụng rộng rói nhất hiện nay

Khuụn dạng chứng chỉ X.509 gồm cú 3 phiờn bản, phiờn bản 1 ra đời vào năm

1988, phiờn bản 2 ra đời vào năm 1993 và phiờn bản 3 ra đời vào năm 1996 Cỏc

khuụn dạng của phiờn bản 1 và 2 được trỡnh bày sau đõy, chỳng được sử dụng

trong tất cả cỏc bổ sung của X.509 cho đến năm 1996 Cỏc yếu tố cơ bản được trỡnh

CA dụng để ký lên chứng chỉ)

Tên ng-ời phát hành chứng chỉ (CA) theo chuẩn Thời gian hợp lệ (Ngày/giờ bắt

Sinh

đầu và kết thúc)

chữ ký Tên chủ thể theo chuẩn

số X500

khoá công khai của

Khoá công khai chủ thể

Cỏc trường của chứng chỉ như sau:

(a) Phiờn bản (Version): Chỉ ra dạng phiờn bản 1, 2, 3.

được CA phỏt hành gỏn cho

chứng chỉ

Trang 38

(d) Người phát hành (Issuer): Tên theo chuẩn X.500 của CA phát hành

31

Trang 39

(e) Thời gian hợp lệ (Validity): Ngày/giờ có hiệu lực và hết hạn của một chứng

chỉ

với khoá công khai được chứng thực)

(g) Thông tin về khoá công khai của chủ thể (Subject Public-key Information):

Gồm có khoá công khai của chủ thể cùng với một tên thuật toán sử dụng khoá công khai này

bit tuỳ chọn, được sử dụng để chỉ ra tên rõ ràng của CA phát hành, trong trường hợpcùng một tên được gán cho các thực thể khác nhau trong cùng thời gian

chọn, được sử dụng để chỉ ra tên rõ ràng của chủ thể, trong trường hợp cùng một tênđược gán cho các thực thể khác nhau trong cùng thời gian

Việc sử dụng chứng chỉ rất đơn giản Khi một người sử dụng đã có khoá công khaicủa CA một cách an toàn và tin tưởng CA phát hành các chứng chỉ hợp lệ Nếungười dùng cần khoá công khai của một trong các thuê bao của CA này, anh ta cóthể thu được khoá công khai của thuê bao đó bằng cách lấy từ bản sao chứng chỉcủa thuê bao Chứng chỉ của thuê bao có thể được kiểm tra bằng cách kiểm tra chữ

ký của CA có trên chứng chỉ Người sử dụng các chứng chỉ theo cách này được gọi

là một thành viên tin cậy

Phân phối khoá công khai theo kiểu này tương đối đơn giản và kinh tế khi tiến hànhtrên diện rộng và theo hình thức tự động, bởi vì một trong các đặc tính quan trọng

của các chứng chỉ là: "Các chứng chỉ có thể được phát hành mà không cần phải

bảo vệ thông qua các dịch vụ an toàn truyền thông truyền thống để đảm bảo tính bí mật, tính xác thực và tính toàn vẹn.”

Chúng ta không cần giữ bí mật khoá công khai, như vậy các chứng chỉ không phảigiữ bí mật Hơn nữa, ở đây không đòi hỏi các yêu cầu về tính xác thực và toàn vẹn,

do các chứng chỉ tự bảo vệ (chữ ký số của CA có trong chứng chỉ cung cấp bảo vệxác thực và toàn vẹn) Chứng chỉ không thể làm giả bởi vì người sử dụng chứng chỉ

có thể kiểm tra chính xác chữ ký số của CA trên chứng chỉ Chính vì vậy, cácchứng chỉ được phát hành theo các cách không an toàn, ví dụ như thông qua cácmáy chủ, các hệ thống danh bạ và/hoặc các giao thức truyền thông không an toàn.Lợi ích cơ bản của một hệ thống phân phối khoá công khai bằng chứng chỉ là mộtngười sử dụng có thể có được một số lượng lớn các khoá công khai của các thành

32

Trang 40

viên khác một cách đáng tin cậy, xuất phát từ thông tin khoá công khai của một thành viên, đó chính là khoá công khai của CA.

Ngày đăng: 11/11/2020, 21:41

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w