Tải bản đầy đủ (.doc) (86 trang)

nghiên cứu các mô hình, cấu trúc và các thành phần cơ bản của trung tâm xác thực dựa trên công nghệ PKI

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.15 MB, 86 trang )

1

MỞ ĐẦU
Phần mở đầu xin trích một đoạn trong loạt bài viết “Hướng dẫn lập kế
hoạch cho PKI” của Martin Kiaer một chuyên gia về lĩnh vực PKI của tập
đoàn Microsoft “Một vài năm trở lại đây, hầu hết mọi người đều nói về năm
2000 như là năm của PKI. Nhiều người tin tưởng rằng, xu thế chủ đạo của thị
trường cuối cùng cũng có khuynh hướng sử dụng tất cả các khía cạnh tốt mà
PKI có thể cung cấp. Mặc dù vậy như những gì bạn có thể đốn, các chứng chỉ
và PKI chưa từng thực sự cất cánh. Điều đơn giản là nó khơng đủ gây chú ý
cho việc quản lý phân loại và nhân viên kỹ thuật (người có thể thấy được giá
trị của PKI). Mặc dù vậy, sau một thời gian, PKI lại trở thành một trong
những chủ đề nóng nhất trong các doanh nghiệp lớn và trung bình. Sự thay đổi
trong vấn đề bảo mật, nơi bảo mật và các cải thiện trong Internet và khi các
công nghệ truyền thông di động trở thành một ngành kinh doanh cho doanh
nghiệp, điều đó có nghĩa rằng các chứng chỉ và PKI đã sẵn sàng cho xu thế
chủ đạo của thị trường kinh doanh hơn bao giờ hết.”
Đó là thực trạng chung về nhu cầu sử dụng PKI trên thế giới, còn ở Việt
nam hiện nay nhiều tổ chức, cá nhân đã và đang đầu tư nghiên cứu phát triển
hạ tầng khóa cơng khai thơng qua việc phát triển các tiêu chuẩn: mã hóa,
truyền thơng và liên kết, xác thực, cấp chứng chỉ… Mặc dù nhu cầu cải cách
hành chính, nhu cầu hội nhập quốc tế, an ninh kinh doanh của các doanh
nghiệp… đòi hỏi phải đưa chứng chỉ số vào thực tế cuộc sống, nhưng việc
ứng dụng PKI vào các hoạt động của các tổ chức nhà nước hay doanh nghiệp
còn rất nhiều hạn chế, chỉ với một số tổ chức kinh doanh tài chính, ngân hàng,
bảo hiểm và một số cơ quan đơn vị trong lĩnh vực an ninh quốc phòng ứng
dụng. Tuy nhiên việc ứng dụng chỉ nằm trong phạm vi một tổ chức hoặc một
nhóm tổ chức nhỏ. Vì vậy việc xây dựng một trung tâm xác thực chung có


2



chức năng thống nhất hoặc giao tiếp với các trung tâm hiện có đang là bài
tốn lớn trong q trình thực hiện chính phủ điện tử ở nước ta.
Mục đích của luận này nhằm nghiên cứu các mơ hình, cấu trúc và các
thành phần cơ bản của trung tâm xác thực dựa trên công nghệ PKI, giới thiệu
một số mô hình giao tiếp trong hệ thống liên trung tâm xác thực. Xây dựng
thành cơng mơ hình trung tâm xác thực ứng dụng trong phạm vi doanh nghiệp
vừa và nhỏ trong việc trao đổi thông tin số.
Luận văn gồm 5 chương:
Chương 1: Cơ sở lý thuyết mơ hình trung tâm xác thực
Giới thiệu về cấu trúc và các thành phần cơ bản của mơ hình trung tâm
xác thực dựa trên cơng nghệ PKI
Chương 2: Mơ hình trung tâm xác thực
Tổng quan về trung tâm xác thực, giới thiệu các loại mô hình kiến trúc
trung tâm xác thực và ưu nhược điểm của từng loại mơ hình kiến trúc.
Chương 3: Xây dựng mơ hình trung tâm xác thực
Xây dựng mơ hình trung tâm xác thực dựa trên mơ hình lai ghép với đầy
đủ chức năng của hệ thống trung tâm xác thực: Cấp, phân phối, thu hồi, tạm
dừng, khôi phục chứng chỉ, xác thực chứng chỉ số đa cấp và các trung tâm
ngang hàng.
Chương 4: Xây dựng hệ thống cơ sở dữ liệu
Giới thiệu hệ thống thư mục và cơ sở dữ liệu quan hệ của mơ hình trung
tâm xác thực được xây dựng ở chương 3.
Chương 5: Giới thiệu giao diện và chức năng hệ thống.
Giới thiệu các chức năng chính của hệ thống và các hình ảnh hoạt động
tương ứng.


3


CHƯƠNG 1
CƠ SỞ LÝ THUYẾT MƠ HÌNH TRUNG TÂM XÁC THỰC
1.1. Tổng quan về các hệ mật mã
1.1.1. Giới thiệu.
Mật mã đã được con người sử dụng từ lâu đời. Các hình thức mật mã sơ
khai đã được tìm thấy khoảng bốn nghìn năm trước trong nền văn minh Ai
Cập cổ đại. Trải qua hàng nghìn năm lịch sử, mật mã đã được sử dụng rộng
rãi ở khắp nơi trên thế giới từ Đơng sang Tây để giữ bí mật trong việc trao đổi
thông tin, đặc biệt trong các lĩnh vực quân sự, chính trị, ngoại giao. Mật mã
trước hết là một loạt hoạt động thực tiễn, nội dung chính của nó là để giữ bí
mật thơng tin. Ví dụ: Người A muốn gửi văn bản rõ sang người nhận B, A
phải mã hóa văn bản đó rồi gửi cho B. Để hiểu được nội dung thông tin mà A
muốn gửi cho mình, B cần khơi phục (giải mã) lại văn bản đã bị mã hóa thành
dạng rõ. Do văn bản đã bị mã hóa có thể được chuyển qua các con đường
cơng khai nên người ngồi có thể “lấy trộm” nhưng khơng thể đọc hiểu được;
cịn A và B có thể mã hóa và giải mã là do hai người đã có một thỏa thuận về
khóa chung. Trong thực tiễn, có những hoạt động ngược lại với hoạt động bảo
mật là khám phá bí mật từ các bản mã “lấy trộm” được, hoạt động này thường
được gọi là thám mã hay phá khóa.
Hệ mật mã được định nghĩa là một bộ gồm 5 thành phần (P, C, K, E, D)
trong đó:
P là tập hữu hạn các bản rõ có thể
C là tập hữu hạn các bản mã có thể
K là tập hữu hạn các khóa có thể
E là tập hữu hạn các hàm lập mã
D là tập các hàm giải mã


4


Với mỗi k thuộc K thì tồn tại hàm lập mã ek thuộc E, ek:P →C là một
hàm giải mã dk thuộc D: C → P sao cho dk(ek(X)) =x, với mọi x thuộc P

1.1.2. Các Hệ mật mã
1.1.2.1. Hệ mật mã khóa đối xứng(khóa mật)
Hệ thống mã hóa đối xứng dựa trên một khóa đơn. Khóa này là một
chuỗi bit có độ dài cố định. Do đó, cơ chế mã hóa này được coi là mã hóa
đơn khóa. Khóa này là riêng (hoặc bí mật) và được sử dụng để mã hóa cũng
như giải mã. Trước khi hai phía trao đổi dữ liệu, khóa phải được chia sẻ giữa
chúng. Sau đó phía gửi mã hóa bản tin ban đầu sử dụng khóa riêng đó và gửi
bản tin đã được mã hóa cho phía nhận. Tại phía nhận bản tin mã hóa được
giải mã sử dụng cùng loại khóa riêng trên.
Q trình mã hóa khóa đối xứng được mơ tả như hình 1.1
Cả người gửi và người nhận phải dung chung 1 khóa. Có một cách
dùng chung khóa đó là người gửi cung cấp khóa mã cho đích danh người
nhận. Tuy nhiên cách này không chỉ tốn nhiều thời gian mà cịn phá hủy tồn
bộ mục tiêu của mạng. Có một cách khác để chuyển khóa cho người nhận đó
là qua đường điện thoại. Nhưng cách này cũng không an tồn do có thể bị
nghe trộm điện thoại. Một cách khác có thể chuyển khóa cho người nhận đó
là qua email. Tuy nhiên tất cả các cách trên đều có thể bị tấn công. Do tất cả
các cách trao đổi khóa đều khơng an tồn, một giải pháp khắc phục vấn đề
trên là làm cho khóa có độ dài thích hợp. Dựa vào độ dài của khóa, theo thời
gian có nhiều thuật tốn mã hóa đối xứng được phát triển. Một vài thuật toán
đối xứng được sử dụng phổ biến trong giải pháp VPN là DES, 3 DES, RC4


5

Bản



Key
K

Mơi
trường
truyền

Bản


Bản


Key
K

Bản


Khóa K được truyền trên kênh
bí mật đến người gửi, nhận

Hình 1.1. Hệ mật mã khóa đối xứng
Chuẩn mã dữ liệu DES (Data Encryption Standard)
DES: Viết tắt của Data Encryption Standard, DES được chọn làm tiêu
chuẩn liên bang Hoa kỳ vào tháng 11 năm 1976. Với DES, bản rõ (Plaintext)
được mã hóa theo từng khối 64 bit và sử dụng 1 khóa là 64 bits, nhưng thực tế
thì chỉ có 56 bits là thực sự được dùng để tạo khóa, 8 bits cịn lại dùng để
kiểm tra tính chẵn, lẻ. DES là một thuật toán được sử dụng rộng rãi nhất trên

thế giới. Hiện tại DES khơng cịn được đánh giá cao do kích thước của khóa
q nhỏ 56 bits và dễ bị phá vỡ.
Chuẩn mã dữ liệu 3DES (Triple Data Encryption Standard)
Triple DES (3DES) có độ phức tạp thám mã lớn hơn DES với việc sử
dụng một quá trình mã hóa và giải mã sử dụng 3 khóa. Khối 64 – bits của bản
rõ đầu tiên sẽ được mã hóa sử dụng khóa thứ nhất. Sau đó, dữ liệu bị mã hóa
được giải mã bằng việc sử dụng khóa thứ hai. Cuối cùng, sử dụng khóa thứ ba
và kết quả của q trình giải mã trên để mã hóa:
C = EK3(DK2(EK1(P)))
P = DK1EK2(DK3(C)))


6

AES: Viết tắt của Advanced Encryption Standard, được sử dụng để
thay thế cho DES. Nó hỗ trợ độ dài của khóa từ 128 bits cho đến 256 bits
Ưu nhược điểm:
Ưu điểm nổi bật của hệ mật mã khóa đối xứng là việc xây dựng một
hệ mật mã có độ bảo mật cao. Nhưng phải cần có một nguồn sinh khóa ngẫu
nhiên cũng như việc phân phối, lưu trữ bảo mật và thỏa thuận khóa là một vấn
đề khá phức tạp trong thực tế. Giả sử, trong một mạng có n người dùng, nếu
cần khóa cho từng cặp riêng biệt thì phải cần tới: n(n +1)/2 khóa.
Để khắc phục hiện tượng khơng thể lưu trữ một khối lượng khóa q
lớn đáp ứng nhu cầu mã dịch, người ta xem xét đến việc sử dụng các hệ mật
mã khối với độ dài không lớn lắm như DES,... hoặc các hệ mật mã dịng mà
khóa được sinh ra từ một nguồn ngẫu nhiên bằng thuật tốn.
Mặc dù đã thực hiện việc mã hóa và giải mã bằng các hệ mật mã khối
hay bằng thuật tốn sinh khóa như đã nêu ở trên thì vấn đề phân phối và thỏa
thuận khóa vẫn phải được thực hiện. Như vậy phân phối và thỏa thuận khóa là
một vấn để còn vướng mắc chưa thể giải quyết trong các hệ mật mã khóa đối

xứng.
1.1.2.2. Hệ mật mã khóa bất đối xứng (khóa cơng khai)
Trong mơ hình mật mã cổ điển mà cho tới nay vẫn còn đang được
nghiên cứu Alice (người gửi) và Bob (người nhận) chọn một cách bí mật khóa
K. Sau đó dùng K để tạo luật mã hóa ek và luật giải mã dk. Trong hệ mật này,
dk hoặc giống như ek hoặc dễ dàng nhận được từ nó (ví dụ trong hệ DES), q
trình giải hệ mật thuộc loại này cịn được gọi là các hệ mật khóa bí mật vì
việc để lộ ek sẽ làm cho hệ thống mất an toàn.
Nhược điểm của hệ mật này là nó yêu cầu phải có thơng tin trước về
khóa K giữa Alice và Bob qua một kênh an toàn trước khi gửi một bản mã bất
kỳ. Trên thực tế, điều này rất khó đảm bảo. Chẳng hạn khi Alice và Bob ở rất


7

xa nhau và họ chỉ có thể liên lạc với nhau bằng thư tín điện tử. Trong tình thế
đó Alice và Bob không thể tạo được một kênh bảo mật với giá phải chăng.
Ý tưởng xây dựng một hệ mật khóa cơng khai (hay khóa dùng chung)
là tìm một hệ mật khơng có khả năng tính tốn để xác định d k nếu đã biết ek.
Nếu thực hiện được như vậy thì quy tắc mã ek có thể được cơng khai bằng
cách cơng bố nó trong một danh bạ (bởi vậy nên có thuật ngữ hệ mật khóa
cơng khai). Ưu điểm của hệ mật khóa cơng khai là ở chỗ Alice (hoặc bất kỳ
một ai) có thể gửi một bản tin đã mã cho Bob (mà không cần thông tin trước
về khóa mật) bằng cách dùng luật mã cơng khai ek. Bob sẽ là người duy nhất
có thể giải mã được bản mã này bằng cách sử dụng luật giải mã bí mật d k của
mình.
Có thể hình dung tương tự như sau. Alice đặt một vật vào một họp
kim loại và rồi khóa nó lại bằng một khóa số do Bob để lại. Chỉ có Bob là
người duy nhất có thể mở được họp và chỉ có anh ta mới biết tổ hợp mã của
khóa số của mình.

Ý tưởng về một hệ mật khóa cơng khai đã được Diffie và Hellman
đưa ra vào năm 1976. Còn việc hiện thực hóa hệ mật khóa cơng khai thì do
Rivest Shamir và Adleman đưa ra đầu tiên vào năm 1977, họ đã tạo nên hệ
RSA nổi tiếng. Kể từ đó đã có một số hệ mật được công bố, độ mật của chúng
dựa trên các bài tốn tính tốn khác nhau. Trong đó quan trọng nhất là các hệ
mật sau:
- Hệ mật RSA
Độ bảo mật của hệ RSA dựa trên độ khóa của việc phân tích ra thừa
số nguyên tố của các số nguyên lớn.
- Hệ mật xếp balô Merkle Hellman
Hệ này và các hệ có liên quan dựa trên tính khó giải của bài toán tổng
các tập con (bài toán này là bài toán NP đầy đủ - là một lớp khá lớn các bài


8

tốn khơng có các thuật tốn được biết trong thời gian đa thức). Tuy nhiên tất
cả các hệ mật xếp balô khác nhau đều bị chứng tỏ là không mật (ngoại trừ hệ
mật Cinor – Rivest)
- Hệ mật McElience
Hệ này dựa trên lý thuyết mã đại số và vẫn còn được coi là an toàn.
Hệ mật McEliece dựa trên bài tốn giải mã cho các mã tuyến tính (cũng là
một bài toán NP – đầy đủ).
- Hệ mật ElGamal
Hệ Elgamal dựa trên tính khó giải của bài tốn logarit rời rạc trên các
trường hữu hạn.
- Hệ mật Chor – Rivest
Hệ mật Chor – Rivest cũng được xem như một loại hệ mật xếp balơ,
tuy nhiên nó vẫn được coi là an toàn.
- Hệ mật trên các đường cong Eliptic

Các hệ mật này là các biến tướng của các hệ mật khác (chẳng hạn từ
hệ mật ElGamal). Chúng làm việc trên đường cong Eliptic chứ không phải là
trên các đường hữu hạn. Hệ mật này đảm bảo độ mật với khóa số nhỏ hơn các
hệ mật khóa cơng khai khác.
Sơ đồ hoạt động hệ mật khóa cơng khai:
Bob
Gửi
Bản


Alice
Nhận
Bản


Alice’s
PublicKey

Mơi
trường
truyền

Bản


Bản

Alice’s
PrivateKey



9

Hình 1.2. Sơ đồ hoạt động sử dụng khóa cơng khai gửi nhận dữ liệu
Khi Bob muốn gửi dữ liệu cho Alice, Bob lấy khóa cơng khai(Alice’s
PublicKey) của Alice mã hóa thơng điệp gửi sau đó gửi bản mã cho Alice.
Khi nhận được thông điệp mã của Bob gửi Alice dùng khóa riêng của
mình(Alice’s PrivateKey) giải mã thơng điệp.
Hệ mật RSA
Logarit rời rạc là sự tiếp nối của phép tính lơgarit trên trường số thực
vào các nhóm hữu hạn. Giả sử hai số thực x,y và cơ số a>0, a ≠ 1, nếu a x = y
thì x được gọi là lôgarit cơ số a của y, ký hiệu x = logay
Cho p là một số nguyên tố. Xét nhóm nhân các số nguyên modulo p
Zp = {1,2,...p} với phép nhân modulo p.
Nếu ta tính lũy thừa bậc k của một số trong nhóm rồi rút gọn theo
modulo p thì ta được một số trong nhóm đó. Q trình này được gọi là lũy
thừa rời rạc modulo p. Chẳng hạn với p = 17, lấy a = 3, k = 4 ta có:
34 = 81 ≡13 (mod 17)
Lơgarit rời rạc là phép tính ngược lại:
Biết:

3k ≡13 (mod 17) hãy tìm k

Có nhiều hệ thống khóa cơng khai được triển khai rộng rãi như hệ
RSA, hệ ElGamal sử dụng giao thức trao đổi khóa Diffe – Hellnam và nổi lên
trong những năm gần đây là hệ thống đường cong Elliptic. Trong số các hệ
mật mã trên thì hệ RSA là hệ được cộng đồng chuẩn quốc tế và công nghiệp
chấp nhận rộng rãi trong việc thực thi mật mã khóa cơng khai.
Thuật toán được Ron Rivest, Adi Shamir và Len Adleman mô tả lần
đầu tiên vào năm 1977 tai học viện Cơng nghệ Masachusetts (MIT). Tên của

thuật tốn lấy từ 3 chữ cái đầu tiên của tên 3 tác giả. Hệ mật mã RSA được sử
dụng rộng rãi trong thực tiến đặc biệt cho mục đích bảo mật và xác thực dữ
liệu số. Tính bảo mật và an tồn của chúng được đảm bảo bằng độ phức tạp


10

của một bài toán số học nổi tiếng là phân tích số nguyên thành các thừa số
nguyên tố. Hệ mật RSA được mơ tả như hình sau:
Cho n = pq với p,q là số nguyên tố lớn. Đặt P = C = Zn
Ta định nghĩa:
K = {n, p, q, a, b}: n=pq, p,q là các số nguyên tố ab ≡ 1 mod φ(n)
φ(n) = (p – 1)(q – 1), a khóa mật, b khóa cơng khai
Với mỗi K = (n, p, q, a, b), mỗi x ∈ P, y ∈C, ta xác định hàm mã và
giải mã như sau:
Hàm mã hóa: y = ek(x) = xb mod n.
Hàm giải mã: Dk (x) = ya mod n
(x,y ∈ Zn) Các giá trị n,b cơng khai và p,q,a được giữ bí mật.
Hình 1.3. Sơ đồ hệ mật mã RSA
Khả năng đảm bảo an toàn của hệ mật mã RSA:
Độ an toàn của hệ thống RSA dựa trên 2 vấn đề của toán học : Bài
tốn phân tích ra thừa số ngun tố các số nguyên lớn và bài toán RSA. Nếu
2 bài tốn trên là khó ( khơng tìm được thuật tốn hiệu quả để giải chúng) thì
khơng thể thực hiện được việc phá mã tồn bộ đối với RSA.
Bài tốn RSA là bài tốn tính căn bậc e mođun n (với n là hợp số): tìm
số m sao cho me = 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 tố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
tố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 ra đượ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 tốn này trong
thời gian đa thức (polynomial – time). Tuy nhiên 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ật toán).


11

Tại thời điểm năm 2005, số lớn nhất có thể được phân tích ra thừa số
ngun tố có độ dài 663 bits với phương pháp phân tán trong khi khóa của
RSA có độ dài từ 1024 đến 2048 bits. Một số chuyên gia cho rằng khóa 1024
bits có thể sớm bị phá vỡ (cũng có nhiều người phản đối việc này). Với khóa
4096 bits thì hầu như khơng có khả năng bị phá vỡ trong tương lai gần. Do
đó, người ta thường cho rằng RSA đảm bảo an toàn với điều kiện n được chọn
đủ lớn. Nếu n có độ dài 256 bits hoặc ngắn hơn, có thể bị phân tích trong vài
giờ với máy tính cá nhân dùng các phần mềm có sẵn. Nếu n có độ dài 521
bits, nó có thể bị phân tích bởi vài trăm máy tính tại thời điểm năm 1999. Một
thiét bị lý thuyết có tên là TWIRL do Shamir và Tromer mơ tả năm 2003 đã
đặt ra câu hỏi về độ an toàn của khóa 1024 bits. Vì vậy hiện nay người ta
khuyến cáo sử dụng khóa có độ dài tối thiểu 2048 bits.
Năm 1993, Peter Shor cơng bố thuật tốn Shor chỉ ra rằng: máy tính
lượng tử có thể giải bài tốn phân tích ra thừa số trong thời gian đa thức. Tuy
nhiên, máy tính lượng tử vẫn chưa thể phát triển được tới mức độ này trong
nhiều năm nữa.
Việc phát minh ra phương pháp mã công khai tạo ra một cuộc cách
mạng trong cơng nghệ an tồn thơng tin điện tử. Nhưng thực tiễn triển khai
cho thay tốc độ mã hóa khối dữ liệu lớn bằng các thuật tốn mã hóa cơng khai
chậm hơn rất nhiều so với hệ mã hóa đối xứng. Ví dụ, để đạt được độ an tồn
như các hệ mã hóa đối xứng mạnh cùng thời, RSA địi hỏi thời gian cho việc
mã hóa một văn bản lâu hơn gấp hàng ngàn lần. Do đó, thay bằng việc mã

hóa văn bản có kích thước lớn bằng lược đồ khóa cơng khai thì văn bản này
sẽ được mã hóa bằng một hệ mã đối xứng có tốc độ cao như DES, IDEA...
sau đó khóa được sử dụng trong hệ mã đối xứng sẽ được mã hóa sử dụng mật
mã công khai. Phương pháp này rất khả thi trong việc mã và giải mã những
văn bản có kích thước lớn như được mơ tả trong hình dưới:


12

Bob
Gửi

Khóa
mật
Bản


Alice
Nhận

Khóa
mật

Bản

Mơi
trường
truyền

Khóa

mật

Khóa bí
mật của
Alice

Bản


Bản

Khóa cơng
khai của Alice

Hình 1.4. Dùng khóa cơng khai mã hóa khóa mật – Dùng khóa mật mã
hóa thơng điệp gửi đi
Hệ mật Rabin
Giả sử n là tích của hai số nguyên tố phân biệt p và q, p.q ≡ 3 (mod 4).
Giả sử p =C=Zn và ta xác định
K={(n , p , q , B): 0 ≤B ≤n-1}
Với K = (n , p , q , B) ta định nghĩa:
ek(x) = x( x+B) mod n
B2
B

d K ( y) =
+y−
4
2
Các giá trị n và B được công khai trong khi p và q được giữ kín.

Hình 1.5. Sơ đồ hoạt động hệ mật Rabin
Đây là hệ mật có độ an tồn cao về mặt tính tốn chống lại được cách
tấn cơng bản rõ lựa chọn và khơng có khả năng phân tích được n=pq
Với hàm mã hố ek khơng phải là một đơn ánh, vì thế phép giải mã
không thể thực hiện được một cách xác định. Thực tế có 4 bản rõ có thể ứng


13

với một bản mã bất kỳ cho trước. Giả sử w là một trong 4 căn bậc hai của một
modulo n. Giả sử xєZn. Ta kiểm tra các phương trình sau:
B B  
B  B  
B B
 
ek  w x +  −  =  w x +  −  w x +  + 
2 2  
2  2  
2 2
 
2

B B

= w x +  − 
2 2

B2 B2
2
= x + Bx +


4
4
2
= x + Bx
= ek ( x )

2

2

Bốn bản rõ mã hoá thành eK(x) là x, -x –B, w(x+B/2) và -w(x+B/2),
trong đó w là một căn bậc hai khơng tầm thường của 1(modulo n). Nói chung
Bob khơng có cách nào để xác định bản nào trong bốn bản rõ có thể này là
bản rõ đúng, trừ phi bản rõ có đủ độ dư để loại bỏ ba trong bốn bản rõ đó.
Bây giờ ta xem xet bài tốn giải mã theo quan điểm của Bob. Anh ta
đã có bản mã y và muốn xác định x sao cho: x2+ bx ≡ y(mod n)
Đây là một phương trình bậc hai theo giá trị x chưa biết. Ta có thể loại
bỏ số hạng tuyến tính bằng phép thế x1=x+B/2 (Hay x = x1- B/2). Khi đó
phương trình trên có dạng
B2
B2
x − Bx1 +
+ Bx1 −
− y ≡ 0( mod n )
4
2
hay
2
1


B2
x ≡
+ y ( mod n )
4
2
1

Nếu đặt C =

B2
+ y thì có thể viết lại phương trình đồng dư như sau:
4
x1 ≡ C (mod n)


14

Như vậy phép giải mã sẽ chỉ còn là thực hiện phép khai căn bậc hai
theo modulo n. điều này tương đương với việc giải phương trình đồng dư sau:
x12 ≡ C (mod p)
x12 ≡ C (mod q)
Có hai căn bậc hai của C modulo p và hai căn bậc của C theo modulo
q. Bằng cách dùng định lý phần dư China, các nghiệm này có thể được kết
hợp để tạo nên bốn nghiệm theo modulo n. Có thể dùng tiêu chuẩn Eucler để
xác định xem C có phải là một thặng dư bậc hai theo modulo p (và modulo q)
hay không. Trên thực tế, C là một thặng dư bậc hai theo modulo p và modulo
q nếu phép mã hoá được thực hiện đúng. Tuy nhiên tiêu chuẩn Eucler khơng
giúp chúng ta tìm được các căn bậc hai của C. Nó chỉ ra một câu trả lời “Có”
hoặc “Khơng”.

Khi p ≡ 3 (mod 4), ta có một cơng thức đơn giản để tính các căn bậc
hai của các thặng dư bậc hai theo modulo p. Giả sử C là một thặng dư bậc hai
và p ≡ 3 (mod 4) . Khi đó ta có:
(± C(p+1)/4)2 ≡ C(p+1)/2(mod p)
≡ C(p-1)/2 C (mod p)
≡ C(mod p)
Ở đây ta lại một lần nữa sử dụng tiêu chuẩn Eucler, hai tiêu chuẩn này
phát biểu rằng, nếu C là một thặng dư bậc hai theo modulo p thì:
C(p+1)/2 ≡ 1(mod p).
Vì thế , hai căn bậc hai của C modulo p là ±C (p+1)/4mod p. Tương tự,
hai căn bậc hai của C modulo q là ±C(p+1)/4mod q. Sau đó ta có thể thu được
bốn căn bậc hai của x1 của C modulo n bằng cách dùng định lý phần dư
China.


15

Nhận xét:
Một điều lý thú là với p ≡1 (mod 4), người ta chưa biết được một
thuật toán tất định theo thời gian đa thức nào để tính căn bậc hai của các thặng
dư bậc hai theo modulo p . Tuy nhiên, vẫn có thuật tốn Las Vegas với thời
gian đa thức để tính nó .
Một khi đã xác định bốn giá trị có thể của x1, ta tính x từ phương trình
x=x1 - B/2 để tìm được bốn bản rõ có thể. Điều này dẫn đến cơng thức giải
mã sau:
d K ( y) =

B2
B
−y−

4
2

Hệ mật rabin là an toàn đối với phương pháp tấn công bản rõ chọn lọc,
nhưmg hệ này lại hồn tồn khơng an tồn đối với phương pháp tấn công bản
mã chọn lọc.
Ưu điểm và nhược điểm của hệ mật mã khóa cơng khai
Vấn đề cịn tồn tại của hệ mật mã khóa đối xứng được giải quyết nhờ
hệ mật mã khóa cơng khai. Chính ưu điểm này đã thu hút nhiều trí tuệ vào
việc đề xuất, đánh giá các hệ mật mã công khai. Nhưng do bản thân các hệ
mật mã khóa cơng khai đều dựa vào giả thiết liên quan đến các bài toán khó
nên đa số các hệ mật mã này đều có tốc độ mã dịch khơng nhanh. Chính
nhược điểm này làm cho các hệ mật mã khóa cơng khai khó được dùng một
cách độc lập.
Một vấn đề nữa nảy sinh khi sử dụng các hệ mật mã khóa cơng khai là
việc xác thực mà trong mơ hình hệ mật mã đối xứng khơng đặt ra. Do các
khóa sử dụng trong q trình mã (khóa cơng khai) được cơng bố một cách
cơng khai trên mạng cho nên việc đảm bảo rằng “khóa được cơng bố có đúng
là một đối tượng cần liên lạc hay khơng?” là một kẽ hở có thể bị lợi dụng.
Vấn đề xác thực được giải quyết cũng chính bằng các hệ mật mã khóa cơng


16

khai. Nhiều thủ tục xác thực đã được nghiên cứu và sử dụng như Kerberos,
X.509.... Một ưu điểm nữa của hệ mật mã khóa cơng khai là các ứng dụng của
nó trong lĩnh vực chữ ký số, cùng với kết quả về hàm băm, thủ tục ký để đảm
bảo tính toàn vẹn của văn bản được giải quyết

1.2. Hạ tầng cơ sở khóa cơng khai

Cơ sở hạ tầng của mã cơng khai PKI là khung chính sách quản lý mã
và thiết lập biện pháp bảo mật cho việc chuyển đổi dữ liệu. Việc chuyển dữ
liệu mà có sử dụng PKI có thể thực hiện trong một tổ chức, một thành phố,
hay một vùng. Để tăng cường quản lý khóa và bảo đảm độ an toàn cao cho dữ
liệu, PKI bao gồm các cơ chế và thủ tục hỗ trợ cho phần cứng và phần mềm.
Các chức năng của PKI bao gồm:
- Phát ra cặp khóa riêng và chung cho client PKI
- Tạo và thẩm định các ký tự
- Đăng ký và thẩm định người sử dụng
- Cấp chứng nhận cho người sử dụng
- Theo dõi các khóa được phát ra ghi lại lịch sử của từng khóa.
- Thu hồi chứng nhận hết hiệu lực.
- Tạm dừng hay kích hoạt chứng chỉ.
- Thẩm định các client PKI

1.2.1. Sinh khóa, phân phối khóa
1.2.1.1. Sinh khóa:
Giả sử Alice và Bob cần trao đổi thơng tin bí mật thơng qua một kênh
khơng an tồn (ví dụ như Internet). Với thuật tốn RSA, Alice đầu tiên cần
tạo ra cho mình cặp khóa gồm khóa cơng khai và khóa bí mật theo các bước
sau:
B1. Chọn 2 số nguyên tố lớn p và q với p ≠ q
B2. Tính n=pq và φ(n)=(p-1)(q-1)


17

B3. Chọn số b nguyên tố cùng nhau với φ(n) và 1< b < φ(n)
B4. Tính a sao cho ab≡ 1 (mod φ(n))
Thành phần công khai bao gồm: n và b(khóa cơng khai)

Thành phần bí mật bao gồm: p, q, a(khóa bí mật)
a là số mũ bí mật (cũng gọi là số mũ giải mã).
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 a khi biết b. Việc tìm ra 2 số nguyên tố đủ lớn p và q thường
được thực hiện bằng cách thử xác suất của các số ngẫu nhiên có độ lớn phù
hợp (dùng phép kiểm tra nguyên tố cho phép loại bỏ hầu hết các hợp số). p và
q cịn cần được chọn khơng q gần nhau để phịng trường hợp phân tích n
bằng phương pháp phân tích Fermat. Ngồi ra, nếu p -1 hoặc q-1 có thừa số
ngun tố nhỏ thì n cũng có thể dễ dàng bị phân tích và vì thế p và q cũng cần
được thử để tránh khả năng này.
Bên cạnh đó, cần tránh sử dụng các phương pháp tìm số ngẫu nhiên
mà kẻ tấn cơng có thể lợi dụng để biết thêm thơng tin về việc lựa chọn (cần
dùng các bộ tạo số ngẫu nhiên tốt). Yêu cầu ở đây là các số được lựa chọn cần
đồng thời ngẫu nhiên và không dự đoán được. Đây là các yêu cầu khác nhau:
một số có thể được lựa chọn ngẫu nhiên (khơng có kiểu mẫu trong kết quả)
nhưng nếu có thể dự đốn được dù chỉ một phần thì an ninh của thuật tốn
cũng khơng được đảm bảo. Một ví dụ là bảng các số ngẫu nhiên do tập đoàn
Rand xuất bản vào những năm 1950 có thể rất thực sự ngẫu nhiên nhưng kẻ
tấn cơng cũng có bảng này. Nếu kẻ tấn cơng đốn được một nửa chữ số của p
hay q thì chúng có thể dễ dàng tìm ra nửa cịn lại (theo nghiên cứu của
Donald Coppersmith vào năm 1977)


18

Một điểm nữa cần nhấn mạnh là khóa bí mật a phải đủ lớn. Năm 1990,
Wiener chỉ ra rằng nếu giá trị của p nằm trong khoảng q và 2q (khá phổ biến)
và aMặc dù b đã từng có giá trị là 3 nhưng hiện nay các số mũ nhỏ khơng

cịn được sử dụng do có thể tạo nên những lỗ hổng. Giá trị thường dùng hiện
nay là 65537 vì được xem là đủ lớn và cung khơng q lớn ảnh hưởng tới việc
thực hiện hàm mũ.
1.2.1.2. Phân phối khóa:
Hệ thống mã khố cơng khai có ưu điểm hơn hệ thống mã khố riêng
ở chỗ khơng cần có kênh an tồn để trao đổi khố mật. Tuy nhiên, hầu hết các
hệ thống mã khố cơng khai đều chậm hơn hệ mã khố riêng, chẳng hạn như
DES. Vì thế thực tế các hệ mã khoá riêng thường được dùng để mã các bức
điện dài. Nhưng khi đó chúng ta lại trở về vấn đề trao đổi khoá mật.
Giả sử, ta có một mạng khơng an tồn gồm n người sử dụng. Trong
một số sơ đồ, ta có người uỷ quyền được tín nhiệm (TA) để đáp ứng những
việc như xác minh danh tính của người sử dụng, chọn và gửi khố đến người
sử dụng ... Do mạng khơng an tồn nên cần được bảo vệ trước các đối
phương. Đối phương (Oscar) có thể là người bị động, có nghĩa là hành động
của anh ta chỉ hạn chế ở mức nghe trộm bức điện truyền trên kênh. Song mặt
khác, anh ta có thể là người chủ động. Một đối phương chủ động có thể làm
nhiều hành vi xấu chẳng hạn:
-Thay đổi bức điện mà anh ta nhận thấy là đang được truyền trên
mạng.
- Cất bức điện để dùng lại sau này.
- Cố gắng giả dạng làm những người sử dụng khác nhau trên mạng.
Mục tiêu của đối phương chủ động có thể là một trong những cái nêu
sau đây:


19

- Lừa U và V chấp nhận khố “khơng hợp lệ” như khố hợp lệ (khố
khơng hợp lệ có thể là khoá cũ đã hết hạn sử dụng, hoặc khoá do đối phương
chọn).

- Làm U hoặc V tin rằng, họ có thể trao đổi khố với người kia khi họ
khơng có khố.
Mục tiêu của phân phối khố và giao thức thoả thuận khoá là, tại thời
điểm kết thúc thủ tục, hai nhóm đều có cùng khố K song khơng nhóm khác
nào biết được (trừ khả năng TA). Chắc chắn, việc thiết kế giao thức có kiểu
an tồn này khó khăn hơn nhiều trước đối phương chủ động.
Trước hết ta xem xét ý tưởng về sự phân phối khoá trước. Với mỗi cặp
người sử dụng {U,V}, TA chọn một khoá ngẫu nhiên KU,V=KV,U và truyền
“ngoài dải” đến U và V trên kênh an tồn. (Nghĩa là, việc truyền khố khơng
xảy ra trên mạng do mạng khơng an tồn). Biện pháp này gọi là an tồn
khơng điều kiện song nó địi hỏi một kênh an toàn giữa TA và những người
sử dụng trên mạng. Tuy nhiên điều quan trọng hơn là mỗi người phải lưu n -1
khoá và TA cần truyền tổng cộng

( ) khố một cách an tồn (đơi khi bài tốn
n
2

này được gọi là bài tốn n2). Thậm chí với một số mạng tương đối nhỏ, giá để
giải quyết vấn đề này là khá đắt và như vậy giải pháp hồn tồn khơng thực
tế.
Sơ đồ phân phối trước khố an tồn khơng điều kiện do Blom đưa ra.
Sơ đồ cho phép giảm lượng thông tin mật mà người sử dụng cần cất giữ trên
mạng.
Một biện pháp thực tế hơn là TA phân phối khoá trực tiếp. Trong sơ
đồ như vậy, TA làm việc như một người chủ khoá (key server). TA chia khoá
mật KU cho mỗi người sử dụng U trên mạng. Khi U muốn liên lạc với V, cô ta
yêu cầu TA cung cấp khoá cho phiên làm việc (session key). TA tạo ra khố
session K và gửi nó dưới dạng mã hoá cho U và V để giải mã. Hệ thống mã
Kerboros mô tả dựa trên biện pháp này.



20

Phân phối khóa trước:
 n
Theo phương pháp cơ bản, TA tạo ra   khoá và đưa mỗi khoa cho
 2
 
duy nhất một cặp người sử dụng trong mạng có n người sử dụng. Như đã nêu
ở trên, ta cần một kênh an toàn giữa TA và mỗi người sử dụng để truyền đi
các khoá này. Đây là một cải tiến quan trọng vì số kênh an tồn cần thiết giảm
 n
từ   xuống còn n. Song nếu n lớn, giải pháp này cũng không thực tế cả về
 2
 
lượng thơng tin cần truyền đi an tồn lẫn lượng thông tin mà mỗi người sử
dụng phải cất giữ an tồn (nghĩa là các khố mật của n-1 người sử dụng
khác). Như vậy, điều cần quan tâm là cố gắng giảm được lượng thông tin cần
truyền đi và cất giữ trong khi vẫn cho phép mỗi cặp người sử dụng U và V có
khả năng tính tốn khố mật KUV. Một sơ đồ ưu việt hơn thoả mãn yêu cầu
này là sơ đồ phân phối khoá trước của Blom.
Sơ đồ Blom
Như trên, giả thiết rằng có một mạng gồm n người sử dụng. Để thuận
tiện, giả sử rằng các khoá được chọn trên trường số hữu hạn Z p, p ≥ n là số
nguyên tố. Cho k là số nguyên, 1 < k < n -2. Giá trị k để hạn chế kích thước
lớn nhất mà sơ đồ vẫn duy trì được mật độ. Trong sơ đồ Blom, TA sẽ truyền
đi k +1 phần tử của Zp cho mỗi người sử dụng trên kênh an toàn (so với n -1
trong sơ đồ phân phối trước cơ bản). Mỗi cặp người sử dụng U và V sẽ có khả
năng tính khố KU,V = KV,U như trước đây. Điều kiện an tồn như sau: tập bất

kì gồm nhiều nhất k người sử dụng không liên kết từ {U, V} phải khơng có
khả năng xác định bất kì thơng tin nào về KU,V.
Trước hết, xét trường hợp đặc biệt của sơ đồ Blom khi k =1. ở đây TA
sẽ truyền đi 2 phần tử của ZP cho mỗi người sử dụng trên kênh an toàn và


21

người sử dụng riêng W sẽ không thể xác định được bất kì thơng tin nào về
KU,V nếu W≠U,V. Sơ đồ Blom với k=1 được đưa ra như sau.
1. Số ngun tố P cơng khai, cịn với mỗi người sử dụng U phần tử rU∈Zp là
công khai. Phần tử rU phải khác biệt.
2. Ta chọn 3 phần tử ngẫu nhiên a,b,c∈Zp (không cần khác biệt) và thiết lập
đa thức:
f(x,y) = a + b(x+y) +cxy mod p
3. Với mỗi người sử dụng U. TA tính đa thức:
gU(x) = f(x,rU) mod p
và truyền gU(x) đến U trên kênh an toàn. Chú ý rằng, gU(x) là đa thức tuyến
tính theo x nên có thể viết như sau:
gU(x)= aU + bUx
Với
aU = a + brU mod p
bU = b+ crU mod p
Zp U và V muốn liên lạc với nhau họ sẽ dùng khóa chung:
4. Nếu
KU,V = KV,U = f(rU,rV) = a + b(rU + rV) + crUrV mod p
U tính KU,V như sau: f(rU,rV) = gU(rV)
V tính KV,U như sau: f(rV,rU) = gV(rU)
Hình 1.6. Sơ đồ phân phối khóa trước của Blom
Ví dụ minh họa sơ đồ Blom với k=1:

Giả sử có 3 người sử dụng U,V,W, p=17 và các phần tử công khai của
họ là rU = 12, rV = 7, rW = 1. Giả thiết TA chọn a=8, b=7, c=2, khi đó đa thức f
như sau:
f(x,y) = 8 + 7(x+y) + 2xy
Khi đó các đa thức
gU(x) = 7 + 14x
gV(x) = 5 + 4x
gW(x) = 15 + 9x
Như vậy 3 khóa nhận được sẽ là:
KU,V = KV,U = 3
KU,W = KW,U = 4


22

KV,W = KW,V = 10
Khi đó U tính KU,V như sau:
gU(rV) = 7 + 14×7 mod 17 = 3
Và V tính KV,U
gV(rU) = 6 + 4×12 mod 17 = 3
Tương tự các khóa khác.
Sơ đồ Diffie-Hellman
Trong phần này ta sẽ mơ tả một sơ đồ phân phối khóa trước là cải tiến
của giao thức trao đổi khóa Diffie – Hellman và gọi nó là sơ đồ phân phối
trước khóa Diffie Hellman. Sơ đồ này an tồn về mặt tính tốn vì nó liên quan
đến bài tốn logarithm rời rạc khơng Zp, p là số nguyên tố, mặc dù có thể thực
hiện nó trên nhóm hữu hạn bất kỳ, trong đó bài tốn logarihm rời rạc khơng
giải được. Giả sử rằng, α là phần tử nguyên thủy của Zp và các giá trị của p và
của α là công khai và mỗi người trên mạng đều biết.
Trong sơ đồ này, ID (U) là thơng tin định danh nào đó cho mỗi người

sử dụng U trên mạng, chẳng hạn tên, địa chỉ thư điện tử, số điện thoại…Cũng
như vậy, mỗi người sử dụng U đều có số mũ aU (trong đó 0 ≤ aU ≤ p – 2) và
một giá trị công khai tương ứng.
bU = α aU mod p
TA sẽ có sơ đồ chữ ký với thuật tốn xác minh (cơng khai) Ver

TA



thuật tốn kí mật SigTA. Cuối cùng, ta giả thiết ngầm rằng tất cả thông tin đều
được chia nhỏ ra nhờ dùng hàm Hash cơng khai trước khi nó được ký. Để đơn
giản, ta sẽ không đưa hàm hash trong phần mô tả thủ tục.
Thông tin chắc chắn về người sử dụng U sẽ được xác thực bằng cách
dùng dấu xác nhận (certificate) của TA và được TA ký. Mỗi người sử dụng U
sẽ có một dấu xác nhận.
C(U) = (ID(U).bU,sigTA(ID (U),bU))


23

Trong đó bU được thiết lập theo mơ tả ở phần trên (chú ý rằng TA
không cần biết giá trị của aU). Dấu xác nhận của người sử dụng U sẽ được
đóng vào khi U nối vào mạng. Có thể lưu các dấu xác nhận trong cơ sở dữ
liệu công khai hoặc mỗi người sử dụng có thể tự lưu dấu xác nhận của chính
họ. Chữ ký của TA trên dấu xác nhận cho phép bất kỳ ai trên mạng đều có thể
xác minh được thơng tin trên nó. U và V rất dễ dàng tính ra khóa chung:
KU ,V = α aU aV mod p
1. Số nguyên tố p và phần tử nguyên thủy α € Zp công khai.
a a

2. V tính: KU ,V = α U V mod p = bU V mod p
a

Nhờ dùng giá trị bU công khai nhận từ dấu xác nhận của U và giá trị aV mật
riêng của V.
3. U tính: KU ,V = α aU aV mod p = bV U mod p
a

Bằng giá trị bV công khai nhận từ dấu xác nhận của V và giá trị aU mật
riêng của U
Hình 1.7. Sơ đồ phân phối khóa trước của Diffie Hellman
Dưới đây là ví dụ minh họa:
Giả sử p = 25307 cịn α = 2 là những tham số cơng khai (p nguyên tố
còn α là nghiệm nguyên thủy theo modulo p). Giả thiết U chọn aU = 3578.
Sau đó có ta tính
bU = α aU mod p = 23578 mod 25307 = 6113
Đặt trên dấu xác nhận. Giả thiết V chọn aV = 19956. Sau đó tính:
bV = α aV mod p = 219956 mod 25307 = 7984
Đóng trên dấu xác thực của V.
Bây giờ U có thể tính khóa:
a

KU ,V = bV U mod p = 79843578 mod 25307 = 3694


24

Cịn V tính cũng khóa đó:
a


KU ,V = bU V mod p = 611319956 mod 25307 = 3694
Ta xét sự an toàn của sơ đồ này trước cả đối phương thụ động lẫn chủ
động. Chữ ký của TA trên dấu xác thực của người sử dụng ngăn chặn hiệu
quả W khỏi biến đổi bất kỳ thông tin nào trên dấu xác thực của người sử dụng
nào đó. Vì thế ta chỉ lo lắng trước những tấn công thụ động. Như vậy vấn đề
đặt ra là liệu W có thể tính KU,V nếu W khác U, V hay không? Mặt khác khi
cho trước α aU mod p và α aV mod p thì có khả năng tính được α aV aU mod p
khơng? Đây là bài tốn Diffie – Hellman được định nghĩa như sau:
I = (p, α, β, γ) trong đó p là số nguyên tố lớn, α, β, γ ∈ Zp* , α phần tử
nguyên thủy.
log γ
log β
Mục tiêu tính: β α mod p (= γ α mod p)
Sơ đồ phân phối khóa trước Diffie – Hellman an tồn trước đối
phương thụ động khi bài toán Diffie – Hellman khó giải.
Nếu W có thể tính aU, bU thì anh ta có thể tính KU,V một cách chính xác
như U, V. Nhưng tính tốn này là các trường hợp của bài tốn logarithm rời
rạc. Vì thế chỉ cần bài tốn logarithm rời rạc trong ZP khó giải thì sơ đồ
Diffie-Hellman sẽ an toàn.
Sơ đồ Kerboros
Trong các phương pháp phân phối trước khố xem xét trong các phần
trước đó, mỗi cặp người sử dụng cần tính một khố cố định. Nếu dùng cùng
một khoá trong một thời gian dài sẽ dễ bị tổn thương, vì thế người ta thường
thích dùng phương pháp trực tiếp trong đó khố của phiên làm việc mới chỉ
được tạo ra mỗi khi hai ngưới sử dụng muốn liên lạc với nhau (gọi là tính tươi
mới của khố).
Nếu dùng phân phối khố trực tiếp thì người sử dụng mạng khơng cần
phải lưu các khố khi muốn liên lạc với những người sử dụng khác (Tuy



25

nhiên mỗi người đều được chia sẻ khoá với TA). Khố của phiên làm việc
(khóa session) sẽ được truyền đi theo yêu cầu của TA. Đó là sự đáp ứng của
TA để đảm bảo khoá tươi.
Korobos là hệ thống dịch vụ khóa phổ cập dựa trên mã khố riêng.
Mỗi người sử dụng U sẽ chia sẻ khoá DES mật KU cho TA.
Khi có u cầu khố session gửi đến TA, TA sẽ tạo ra một khoá
session mới ngẫu nhiên K. Cũng vậy, TA sẽ ghi lại thời gian khi có yêu cầu T
và chỉ ra thời gian (thời gian tồn tại) L để K có hiệu lực. Điều đó có nghĩa là
khố K chỉ có hiệu lực từ T đến T+L. Tất cả thơng tin này đều được mã hố
và được truyền đến U và V.
1. U hỏi TA khóa session để liên lạc với V
2. TA chọn 1 khóa session ngẫu nhiên K, thời gian hệ thống T và thời
gian khóa tồn tại L
3. TA tính
m1 = eK U ( K , ID(V ), T , L)
m2 = eK v ( K , ID(U ), T , L)
Sau đó gửi m1, m2 đến U
4. U dùng hàm giải mã d KU để tính K, T, L và ID(V) từ m1, và tính:

m3 = eK (ID(U),T)
Sau đó gửi m2, m3 đến V
5. V dùng hàm giải mã d KV để tính K, T, L và ID(U) từ m2, sau đó dùng

dk để tính ID(U) và T từ m3. Kiểm tra 2 giá trị T và 2 giá trị ID(U) có
giống nhau khơng, nếu đúng thì V tính: m4 = eK (T+1) và gửi nó đến U
6. U Giải mã m4 bằng dk để kiểm tra xem kết quả có băng T +1 khơng?

Hình 1.8. Sơ đồ truyền khố session trong Korobos



×