Cỏc sơ đồ định danh (giao thức định danh) cú quan hệ rất gần, nhưng đơn giản hơn so với cỏc sơ đồ chữ ký số. Cũng cú mục tiờu giống như cỏc sơ đồ chữ ký số, tuy nhiờn điểm khỏc biệt ở chỗ trong cỏc sơ đồ chữ ký chỳng ta phải quan tõm đến khỏi niệm “thời gian sống” (của chữ ký).
Sơ đồ định danh núi chung là một sơ đồ đơn giản, cú thể thực hiện trờn cỏc thẻ thụng minh (thẻ tớn dụng) cú khả năng thực hiện cỏc tớnh toỏn số học. Yờu cầu chung được đặt ra đối với bất kỳ sơ đồ định danh nào:
1. Người yờu cầu xỏc minh B chọn một số ngẫu nhiờn x và gửi x cho A; 2. A là người phải chứng minh danh tớnh của mỡnh trước B, A tớnh:
y = ek(x) và gửi y cho B; 3. B nhận được y và tớnh:
y’ = ek(x)
A được cụng nhận nếu y’ bằng y và ngược lại.
Hỡnh 4.6: Giao thức định danh y r C, A B Giao thức định danh
Sơ đồ định danh SCHNORR
Sơ đồ định danh SCHNORR là một trong những sơ đồ định danh cú tớnh thực tiễn cao nhất. Sơ đồ này yờu cầu một người (cỏ nhõn, tổ chức) được tớn nhiệm tham gia vào quỏ trỡnh định danh gọi là TA.
Xõy dựng sơ đồ
1. Chọn p là một số nguyờn tố lớn (p > 2512) để sao cho bài toỏn logarit rời rạc trong Zp* khụng giải được;
2. q là ước nguyờn tố lớn của (p-1): q ≥ 2140; 3. Gọi Zp* cú bậc q q p Z cua thuy nguyen tu phan p p ) ( ) 1 ( * (4.10)
4. Một tham số mụi trường t sao cho q > 2t
5. TA thiết lập một sơ đồ chữ ký mật sigTA và verTA
6. Chỉ ra một hàm hash mật, mọi thụng tin được băm trước khi ký; Cỏc giỏ trị p, q, , verTA và hàm hash sử dụng được cụng khai.
Phõn tớch:
Vai trũ của TA: Xỏc thực cho A
- TA thiết lập danh tớnh của A bằng cỏch lập 1 chứng minh thư điện tử xỏc nhận ngày sinh, hộ chiếu, … Sau đú tạo thành một chuỗi ID(A) chứa đầy đủ cỏc thụng tin định danh của A;
- A chọn một số mũ ngẫu nhiờn a sao cho 0 ≤ a ≤ q -1 và tớnh:
= -a mod p Gửi cho TA;
- TA tạo ra một chữ ký
s = sigTA (I,v) đúng vai trũ là dấu xỏc nhận cho A: C(A) = (IDA, v, s);
= k mod p
2. A gửi C(A) = (IDA, v, s) và y cho B;
3. B xỏc minh chữ ký của TA bằng cỏch kiểm tra xem verTA (IDA, v, s) = TRUE hay khụng
4. B chọn ngẫu nhiờn 1 số r: 1 ≤ r ≤ 2t và gửi cho A; 5. A tớnh: y = k + ar mod q Và gửi y cho B; 6. B xỏc minh: y. vr (mod p) Nhận thấy rằng: y. vr (mod p) (4.11) k + ar. vr (mod p)
k + ar . -ar (mod p) vỡ -a (mod p) k (mod p) .
Trong sơ đồ SCHNORR, a là một số mật được chọn ngẫu nhiờn sao cho 0 ≤ a ≤ (q -1) để tạo ra v. Trong thực tế sử dụng, a chớnh là số PIN dựng để phõn biệt chủ sơ hữu thực sự của thẻ đồng thời dựng để thuyết phục B rằng người tham gia thực hiện giao thức định danh với mỡnh chớnh là A. Trong giao thức này, A hoàn toàn khụng bị lộ ra ngoài (bước 5), chớnh A (thẻ của A) sử dụng số a để tớnh ra y đỏp ứng lại yờu cầu của B. Như thế a được gọi là một chứng minh khụng tiết lộ thụng tin.
Đỏnh giỏ
Nếu kẻ tấn cụng O muốn mạo danh, O sẽ thực hiện nhiều phương ỏn. Thứ nhất, nếu O đoỏn ra đựơc yờu cầu r của B, khi đú O sẽ gửi giỏ trị y. vr (mod p) cho B. Khi B nhận được , B gửi yờu cầu r lại cho A, lỳc này O mạo danh A sẽ gửi lại cho B giỏ trị y đó được chọn sẵn từ trước. Tham số t được đề cập đến trong giải thuật của sơ đồ SCHNORR chớnh là được sử dụng để ngăn chặn O thực hiện
phương ỏn này, vỡ r nằm trong khoảng 1 ≤ r ≤ 2t, trong hầu hết cỏc ứng dụng, chọn t = 40, do đú xỏc suất để O đoỏn trỳng giỏ trị r mà B sử dụng chỉ là 2-t (2-40).
Cỏch thứ 2 mà O cú thể thực hiện nhằm giả mạo A đú là O làm giả dấu xỏc nhận của A: C(A)’ = (IDA, v’, s’); (v’ ≠ v), s’ là chữ ký mà TA sử dụng để xỏc minh A. Vỡ lý do này mà TA phải được chọn là một bờn thứ ba đỏng tin cậy.
Cỏch thứ 3 để O mạo danh A đú là O sử dụng dấu xỏc nhận C(A) của A (dấu xỏc nhận của A khụng được giữ mật, sau nhiều lần sử dụng, C(A) gần như là cụng khai).Tuy nhiờn, để mạo danh A thành cụng, O phải luận ra đựơc số PIN (a) mà A sử dụng (để luận ra được a, O phải giải được bài toỏn logarit rời rạc là bài toỏn đó được giả thiết đặt ra là khụng thể giải được).
Xột trường hợp kẻ mạo danh O chớnh là người nhận tin B, khi đú, B sẽ nhiều lần yờu cầu A chứng minh danh tớnh và sẽ chọn cỏc yờu cầu r một cỏch cú chủ ý, để cố gắng xỏc định được số PIN mà A sử dụng. Do O biết được giỏ trị nờn tồn tại một xỏc suất để O thành cụng : ≥ 1/2(t-1), tương ứng với việc O tỡm được a trong đa thức thời gian.
Trong trường hợp kể trờn, nếu O giả mạo thành cụng, giao thức sử dụng là khụng an toàn, ngược lại, giao thức sử dụng là an toàn. Giao thức định danh SCHNORR khụng được chứng minh là một giao thức an toàn, tuy nhiờn nú vẫn được ưa thớch và sử dụng rộng rói trong thực tế vỡ hầu như khụng cú nhược điểm nào với thời gian thực hiện nhanh hơn nhiều so với cỏc giao thức khỏc.
4.3 Ứng dụng hệ mật RSA cho bài toỏn GDĐT
Hệ mật mó RSA được ứng dụng cho bài toỏn GDĐT bằng cỏch xõy dựng một chương trỡnh gửi nhận tin sử dụng mó hoỏ RSA, thụng tin về người gửi, người nhận được gắn kốm vào thụng tin chứa đựng trong bản mó. Chương trỡnh cú nhiệm vụ:
- Tạo cặp khoỏ cụng khai/khoỏ cỏ nhõn e, d theo hệ mật RSA + Tạo số lớn (32bit) ngẫu nhiờn
+ Kiểm tra tớnh nguyờn tố (6n+1)
+ Tớnh toỏn cỏc giỏ trị n, (n), chọn số mũ mó hoỏ e, sử dụng thuật toỏn Euclid mở rộng để tớnh ra số mũ mó hoỏ d
- Mó hoỏ bản tin gửi, thụng tin người gửi đi bằng khoỏ vừa tạo: Bản rừ được chuyển đổi sang dạng số nguyờn, thụng tin người gửi, thụng tin người nhận, được mó hoỏ RSA bằng khoỏ cụng khai của người nhận. - Giải mó bản mó hoỏ RSA thu được: Thụng tin người nhận được kiểm tra
với khoỏ cỏ nhõn của người nhận, nếu phự hợp coi như người nhận tin đó được xỏc minh. Bản mó sau đú được giải mó RSA bằng khoỏ cỏ nhõn của người nhận.
Giải thuật của chương trỡnh được xõy dựng như sau: Tạo khoỏ: Gửi tin: Tạo số lớn NN KT Nguyờn tố? Tớnh n, (n) Chọn e Tớnh d Y N Y Nhập khoỏ CN người gửi Bản rừ Thụng tin người gửi Thụng tin người nhận Mó RSA Chuyển đổi sang số nguyờn Khoỏ CK của
Nhận tin:
Một số giao diện của chương trỡnh:
N Y Y Nhập khoỏ cỏ nhõn Bản mó Thụng tin người nhận Giải mó RSA Kiểm tra Bản rừ Kết thỳc
Menu chớnh
Kết luận
Qua kết quả thực hiện luận văn, tụi nhận thấy:
An ninh trong cỏc giao dịch điện tử là vấn đề rất quan trọng, trong đú cỏc hệ mật mó hiện đại giữ vai trũ chủ yếu, quyết định. Cỏc hệ mật mó hiện đại là cơ sở để phõn tớch, đỏnh giỏ và thiết kế cỏc kờnh liờn lạc an toàn trờn mạng. Thuật toỏn dành cho cỏc hệ mật mó hiện đại như: RSA, Elgama, Rabit,…đó được quan tõm từ rất lõu, nhưng chỉ từ khi cụng cụ tin học phỏt triển nú mới được đẩy mạnh thực sự cả về lý thuyết lẫn thực hành và đó đem lại được nhiều ứng dụng quan trọng trong thực tế: chữ ký số, tiền số, xỏc thực điện tử, ... Cỏc ứng dụng này đó được nhiều quốc gia trờn thế giới cụng nhận là cỏc phương tiện giao dịch họp phỏp.
Qua nghiờn cứu tụi nhận thấy rằng, cỏc hệ mật mó hiện đại ứng dụng rất linh hoạt lý thuyết toỏn học, số học. Sự tường minh của toỏn học kết hợp với khả năng tớnh toỏn của những mỏy tớnh hiện đại giỳp cho cỏc hệ mó dễ dàng thực hiện một cỏch chớnh xỏc nhưng phỏ mó lại khú khăn tương đương với việc giải cỏc bài toỏn khú. Để học tập và vận dụng vào cụng tỏc thực tế của mỡnh, ta cần nghiờn cứu kỹ cỏc nguyờn lý lý thuyết của cỏc hệ mó, sau đú từng bước thực hành trờn mỏy. Tụi nghĩ rằng đú là cơ sở tốt nhất để cú thể cú những vận dụng sỏng tạo, những ý tưởng mới.
Qua quỏ trỡnh thực hiện khoỏ luận tốt nghiệp, tụi tự thấy đó nắm chắc phần lý thuyết của cỏc vấn đề mà mỡnh nghiờn cứu. Cụ thể là nguyờn lý lý thuyết của cỏc hàm băm, hệ mật mó khoỏ cụng khai (RSA), những sơ đồ chữ ký số, giao thức định danh, một số bài toỏn phõn tớch số nguyờn, và một vài cỏch tấn cụng cỏc hệ mật mó - những thành phần đúng gúp một cỏch quan trọng nhất cho việc bảo đảm an ninh trong cỏc giao dịch điện tử. Bờn cạnh đú, ứng dụng những lý thuyết tỡm hiểu được xõy dựng bài toỏn mó hoỏ/giải mó thụng tin gửi trong GDĐT.
Vỡ thời gian nghiờn cứu cú hạn, trỡnh độ cũn hạn chế nờn cỏc kết quả nghiờn cứu của tụi chắc chắn cũn nhiều thiếu sút. Mặc dự vậy, tụi tin rằng cỏc kết quả đó đạt được sẽ là cơ sở quan trọng cho nhiều hướng nghiờn cứu tiếp theo, như: nghiờn cứu, cài đặt thử nghiệm cỏc thuật toỏn mở rộng của hệ mật mó khoỏ cụng khai; xõy dựng gúi chương trỡnh ứng dụng sử dụng cỏc hệ mật hiện đại phục vụ an ninh giao dịch online; cỏc nghiờn cứu bẻ gẫy cỏc hệ mật, ... Đem lại sự hiểu biết một cỏch tường tận hơn về mọi vấn đề liờn quan đến việc bảo đảm an ninh, anh toàn dữ liệu trong cỏc giao dịch trờn mạng mỏy tớnh.
Phụ lục A: Cỏc thuật ngữ viết tắt
Viết tắt Tiếng Anh Tiếng Việt
DES Data encryption standard Chuẩn mó hoỏ dữ liệu
RSA Rivest, Shamir và Adleman Tờn của ba nhà phỏt minh ra loại mó RSA
SET Secured Electronic
Transaction Giao dịch điện tử an toàn TTP Trusted Third-party Uỷ thỏc cho bờn thứ 3 tin cậy PKI Public key infrastructure Hạ tầng khoỏ cụng khai PKCS#1 Public key cryptography
standards Cỏc tiờu chuẩn mật mó khoỏ cụng khai, cũn đợc gọi là tiờu chuẩn mó hoỏ RSA. CRT Chinese Remainder Theorem Định lý số dư Trung Quốc
MAC Message Authentication Code
Mó xỏc thực bản tin API Application Programming
Interface
Giao diện lập trỡnh ứng dụng được định nghĩa là cỏch giao tiếp cú thể thực hiện giữa cỏc ứng dụng. Giao tiếp này là một tập hợp của cỏc hàm hoặc cỏc phơng phỏp đợc sử dụng để truy cập đến một số cỏc chức năng.
MDC Modification Detection Code or Manipulation Detection Code
Mó dũ thay đổi OWHF One-Way Hash Function Hàm hash một chiều CRHF Collision Resistant Hash
Function
Phụ lục B: Cỏc thuật ngữ tiếng Anh dịch sang tiếng Việt
Thuật ngữ tiếng Anh Thuật ngữ tiếng Việt
"tweakable" block cipher Mó hoỏ khối với tham số: đầu vào của dạng thuật toỏn này bờn cạnh bản rừ/bản mó và cỏc khoỏ cũn cú thờm một tham số là tweak, tham số này kết hợp với cỏc khoỏ sử dụng để lựa chọn cỏch hoỏn vị của thuật toỏn.
Adversary Kẻ tấn cụng hệ mật mó, thỏm mó, kẻ giả mạo. Associative Tớnh chất kết hợp
Asymmetric cryptography Mật mó khoỏ bất đối xứng Authentication scheme Lược đồ/sơ đồ định danh
Axiom Tiờn đề
Bijection Song ỏnh, (chớnh là ỏnh xạ 1-1)
Blocklength Độ dài của một khối trong mó hoỏ khối Certificate Authority Chứng nhận bản quyền chứng chỉ Certificates Chứng nhận người dựng
Chaining variable Biến dõy chuyền, chỉ cơ chế lưu giữ tạm thời cỏc giỏ trị lối ra của hàm đang trong vũng lặp. Collision resistant (collision
free) (Hàm) Chống xung đột, chống va chạm Commutative Tớnh chất Giao hoỏn
Congruent Đồng dư
Cyclic permutation Phộp hoỏn vị vũng quanh
Deterministic Tớnh chất tiền định, tức là một sự lựa chọn cú tớnh toỏn, ngược lại với ngẫu nhiờn.
Deterministic algorithm Giải thuật tiền định, là một giải thuật mà cú khả năng phỏng đoỏn được. Với một lối vào biết trước, giải thuật luụn tạo ra chớnh xỏc cựng một lối ra. Digital cash Tiền điện tử
Digital certificate Chứng chỉ số, Chứng thực khoỏ cụng khai (chống lại tấn cụng đứng giữa)
Digital envelope Vỏ bọc số Digital fingerprint Võn tay số
Digital signature scheme Lược đồ/sơ đồ chữ ký số Digital signatures Chữ ký số
Distributive Tớnh chất phõn phối Entity Authentication (hay
identity verification)
Xỏc thực, hay định danh Exhaustive search Tỡm kiếm vột cạn
Extended Euclidean algorithm Giải thuật Euclid mở rộng Fermat's little theorem Định lý Fermat nhỏ Generator ( hay primitive
element)
Phần tử sinh (phần tử gốc hay thành phần nguyờn thuỷ)
Hard-core function Hàm lừi cứng
Hash collistion Xung đột băm, va chạm băm Hash function Hàm băm
Hash table Bảng (cỏc giỏ trị) băm Hash value Giỏ trị băm
Homophonic substitution ciphers
Bộ mó thay thế đồng õm Identification Nhận dạng
Index Chỉ số, cũn đợc coi là khoỏ của hàm băm Injection Đơn ỏnh
Injective function Hàm đơn ỏnh
Integer factorization Phõn tớch ra thừa số nguyờn tố
Internal state Trạng thỏi bờn trong, ỏm chỉ khỏi niệm chaining variable
Iterative hash function Hàm băm cú tớnh lặp Key-exchange pair Cặp khoỏ trao đổi Leading cofficient Hệ số chỉ đạo Least residue Thặng dư nhỏ nhất
Man-in-the-middle attack Tấn cụng đứng giữa; là một dạng tấn cụng mà kẻ tấn cụng mạo danh người khỏc để người gửi tin sử dụng khoỏ cụng khai mạo danh để mó hoỏ bản tin cần gửi, khi đú cả người gửi và người bị mạo danh đều khụng phỏt hiện được.
Memoryless variation of birthday attack
Phộp biến đổi khụng nhớ của tấn cụng ngày sinh nhật
Message digest Túm lược bản tin Mono-alphabetic substitution
cipher
Bộ mó thay thế sử dụng một bảng mẫu tự Multiplicative inverse Số nghịch đảo nhõn
One-way cryptographic function
Hàm mó một chiều
Padding Việc thờm vào một số bit vào trong văn bản Pair relative primes Cỏc số nguyờn tố cựng nhau
Permutation Tớnh chất giao hoỏn
Plaintext Là cỏc file,tài liệu dưới dạng mó ASCII (hoặc ký tự mà cú thể đọc được theo một kiểu soạn thảo nào
Polyalphabetic substitution ciphers
Bộ mó thay thế sử dụng nhiều bảng mẫu tự Primitive element (hay
generator) Thành phần nguyờn gốc (cũn gọi là phần tử sinh) Private key Khoỏ cỏ nhõn
pseudo-random generators Bộ tạo giả ngẫu nhiờn Pseudorandom sequences Chuỗi giả ngẫu nhiờn Public key Khoỏ cụng khai
Public-key cryptography Mật mó khoỏ cụng khai Public-key encryption scheme Sơ đồ mó khoỏ cụng khai Quadratic residue Thặng dư bậc hai
Redundancy function Hàm dư thừa
Round Một chu trỡnh trong vũng lặp của mó hoỏ khối lặp rounds Số lần update liờn tục cỏc trạng thỏI bờn trong
(trong cỏc giải thuật băm)
Second-preimage resistant (Hàm) Cản tiền ảnh thứ 2, chặn tiền ảnh thứ 2 Signature pair Cặp (khoỏ) chữ ký
Square root Căn bậc 2 Stream cipher Mó dũng Subsequent Liờn tục Substitution ciphers Mó thay thế surjection Toàn ỏnh
Symmetric cryptography Mật mó khoỏ đối xứng Symmetric key Khoỏ đối xứng
Transposition ciphers Mó chuyển vị
Trapdoor one-way function Hàm một chiều cú cửa sập
Zero-knowledge proof Chứng minh khụng tiết lộ thụng tin Chosen-ciphertext attack Tấn cụng lựa chọn bản mó
Cube-root Căn bậc 3
Salting message Ướp muối bản tin, việc gắn thêm vào bản tin một chuỗi bit đ-ợc tạo ngẫu nhiên tr-ớc khi tiến hành mã hoá, chuỗi bit này độc lập với mỗi lần mã hoá.
Homomorphic property Đặc tớnh đồng hỡnh
Time polynomial Đa thức thời gian, một số nguyờn n cú thể được kiểm tra (tớnh nguyờn tố) trong thời gian đa thức theo log2n (là số bit trong biểu diễn nhị phõn của n).
Tài liệu tham khảo Tiếng Việt
1. Nguyễn Bỡnh (2000). “Mật mó: từ lý thuyết đến thực hành”– Học viện