1.5.2.1. Thế nào là chữ ký điện tử
Một trong những điều kiện quan trọng để dựa vào đú cú thể xỏc định tớnh hiệu lực của hợp đồng điện tử là quy định về chữ ký điện tử.
Chữ ký điện tử là chữ ký được tạo lập dưới dạng từ, chữ số, ký hiệu, õm thanh, hoặc cỏc hỡnh thức khỏc bằng phương tiện điện tử, gắn liền, hoặc kết hợp một cỏch logic với thụng điệp dữ liệu, cú khả năng xỏc nhận người ký thụng điệp dữ liệu và xỏc nhận sự chấp thuận của người đú đối với nội dung thụng điệp dữ liệu được ký.
Chữ ký điện tử trờn thực tế tồn tại ở nhiều dạng. Vớ dụ, ở Anh, con dấu của một cụng ty đó được coi là chữ ký, hoặc bản fax của một chữ ký cũng cú giỏ trị như bản chớnh. Nhiều phương phỏp để “ỏp” cỏc dấu trờn giấy đó được cụng nhận như là một chữ ký, vớ dụ như là một bức thư được in trờn giấy tiờu đề của một cụng ty cũng cú thể được coi là được “ký”. Như vậy, để phỏt triển việc giao kết hợp đồng điện tử, người ta đó “mềm hoỏ” cỏc quy định về chữ ký điện tử và cụng nhận nhiều hỡnh thức của chữ ký này.
Chỉ cần tồn tại một sự xỏc nhận nào đú là đó đủ điều kiện để chữ ký điện tử trở thành một chữ ký cú hiệu lực. Đối với cỏc thư điện tử, người viết thường tạo một dữ liệu chữ ký ở cuối thư và hỡnh thức này cũng được phỏp luật nhiều nước, đặc biệt là cỏc nước theo hệ thống phỏp luật Common law chấp nhận cú giỏ trị như một chữ ký. Tuy nhiờn, trờn thực tế cỏch thức này khụng an toàn và dễ bị ăn cắp (chỉ bằng một thao tỏc cắt-dỏn đơn giản). Vỡ vậy, cỏc nước thường đưa ra những quy định liờn quan đến chữ ký điện tử nhằm chống lại cỏc hành vi ăn cắp hay hành vi mạo danh chữ ký điện tử. Giao kết hợp đồng điện tử mà khụng tỡm hiểu kỹ cỏc quy định của phỏp luật hiện hành về chữ ký điện tử sẽ đặt cỏc doanh nghiệp vào những rủi ro khụn lường.
So sỏnh chữ ký thụng thƣờng với chữ ký điện tử Chữ ký thụng thƣờng Chữ ký điện tử Vấn đề ký một tài liệu Chữ ký chỉ là một phần vật lý của tài liệu Vấn đề ký một tài liệu
Chữ ký điện tử khụng gắn kiểu vật lý vào bức thụng điệp nờn thuật toỏn được dựng phải ô khụng nhỡn thấy ằtheo một cỏch nào đú trờn thụng điệp
Vấn đề về kiểm tra
Chữ ký được xỏc nhận bằng cỏch so sỏnh nú với chữ ký xỏc thực khỏc. Tuy nhiờn, đõy khụng phải là một cỏch an toàn vỡ nú rễ bị giả mạo
Vấn đề về kiểm tra
Chữ ký điện tử cú thể kiểm tra được nhờ dựng một thuật toỏn ô kiểm tra cụng khai ằ. Như vậy, bất cứ ai cũng cú thể kiểm tra được chữ ký điện tử. Việc dựng chữ ký điện tử an toàn cú thể chặn được giả mạo
Bản copy thụng điệp được ký bằng chữ ký thụng thường lại cú thể khỏc với bản gốc
Bản copy thụng điệp được ký bằng chữ ký điện tử thỡ đồng nhất với bản gốc, điều này cú nghĩa là cần phải ngăn chặn một bức thụng điệp ký số khụng bị dừng lại
1.5.2.2. Bảo mật chữ ký điện tử
Phỏp luật cỏc nước thường quy định về bảo mật chữ ký điện tử. Một trong những phương phỏp tiờn tiến đang được nhiều nước ỏp dụng để bảo mật chữ ký điện tử là mó hoỏ chữ ký điện tử.
Mó hoỏ là khoa học về an ninh thụng tin, nú gắn liền với cỏc hệ thống xỏo trộn thụng tin và sau đú sắp xếp lại cỏc thụng tin này. Cỏc chuyờn gia an ninh thụng tin hiện nay nghiờng về sử dụng phương phỏp mó hoỏ chữ ký cú tờn là hạ tầng mó hoỏ cụng khai (Public Key Infrastructure - PKI). Đõy là một một trong những phương phỏp an toàn và sử dụng một thuật toỏn để mó hoỏ cỏc văn bản trực tuyến, theo đú, chỉ cú cỏc bờn cú thẩm quyền truy cập được vào cỏc văn bản này. Cỏc bờn này cú chỡa khoỏ để đọc và ký vào cỏc văn bản, bởi vậy nú cú khả năng đảm bảo khụng cú ai mạo danh chữ ký. Mặc dự cỏc tiờu chuẩn kỹ thuật cho phương phỏp này đang trong quỏ trỡnh nghiờn cứu và xõy dựng cụng nghệ PKI được mong chờ chắc chắn sẽ được chấp nhận rộng rói trong tương lai và cỏc doanh nghiệp, những người tiờu dựng sẽ cú khả năng sở hữu và sử dụng chữ ký điện tử mó hoỏ này.
1.5.3. Một số phƣơng phỏp Ký số
1.5.3.1. Chữ ký RSA
Tạo khúa:
Sơ đồ chữ ký cho bởi bộ năm (P, A, K, S, V)
Cho n = p.q; với mỗi p, q là cỏc số nguyờn tố lớn khỏc nhau (n) = (p-1).(q-1). Cho P = A = Zn và định nghĩa:
K là tập cỏc khúa, K = (K’, K’’); với K’ = a; K’’ = (n,b) a, b Zn , thỏa món ab = 1 mod (n).
Cỏc giỏ trị n, b là cụng khai, cỏc giỏ trị p, q, a là cỏc giỏ trị bớ mật.
Tạo chữ ký:
Với mỗi K = (n.p, q, a, b) xỏc định: SigK’(x) = xa mod n
Kiểm tra chữ ký:
VerK’’(x, y) = true x yb mod n; x, y Zn
Giả sử A muốn gửi thụng bỏo x, A sẽ tớnh chữ ký y bằng cỏch: y = SigK’(x) = xa mod n (a là tham số bớ mật của A)
A gửi cặp (x, y) cho B. Nhận được thụng bỏo x, chữ ký y, B bắt đầu tiến hành kiểm tra đẳng thức:
x = yb mod n (b là khúa cụng khai của A)
Nếu đỳng, B cụng nhận y là chữ ký trờn x của A. Ngược lại, B sẽ coi x khụng phải của A gửi cho mỡnh (chữ ký khụng tin cậy)
Người ta cú thể giả mạo chữ ký của A như sau: Chọn y sau đú tớnh
x = VerK’’(y), khi đú y = SigK’(x). Một cỏch khắc phục khú khăn này là việc yờu cầu x phải cú nghĩa. Do đú, chữ ký giả mạo thành cụng với xỏc suất rất nhỏ. Ta cú thể kết hợp chứ ký với mó húa làm cho độ an toàn tăng lờn.
Giả sử trờn mạng truyền thụng tin cụng cộng, ta cú hai hệ mật mó húa cụng khai
1 và hệ xỏc nhận chữ ký 2. Giả sử B cú bộ khúa mật mó K = (K’, K’’) với K’ = (n, e) và K’’ = d trong hệ 1 và A cú bộ khúa chữ ký Ks = (Ks’, Ks’’) với Ks’ = a, Ks’’ = (n, b) trong hệ 2. A cú thể gửi đến cho 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 tớnh chữ ký của mỡnh là: y = SigA(x) và sau đú mó húa cả x và y bằng cỏch sử dụng mật mó cụng khai eB của B, khi đú A nhận được z = eB (x, y), bản mó z sẽ được gửi tới B, khi nhận được z việc trước tiờn B phải giải mó bằng hàm dB để nhận được (x, y). Sau đú B sử dụng hàm kiểm tra cụng khai của A để kiểm tra xem VerA(x, y) = true? Tức là kiểm tra xem chữ ký đú cú đỳng là của A khụng.
Vớ dụ
A dựng lược đồ chữ ký RSA với n = 247, với p = 13, q = 19; (n) = 12. 18 = 216. Khúa cụng khai của A là b = 7 => a = 7-1 mod 216 = 31.
A cụng khai (n, b) = (247, 7)
A ký trờn thụng bỏo x = 100 với chữ ký : y = xa mod n = 10031 mod 247 = 74
A gửi cặp (x, y) = (100, 74) cho B, B kiểm tra bằng cỏch sử dụng khúa cụng khai của A như sau:
1.5.3.2. Chữ ký ElGamal
Lược đồ chữ ký ElGamal được giới thiệu năm 1985 và được viện tiờu chuẩn và Cụng nghệ quốc gia Mỹ sửa đổi thành chuẩn chữ ký số. Lược đồ chữ ký ElGamal khụng tất định phải giống như hệ mó húa ElGamal. Điều này cú nghĩa là cú nhiều chữ ký hợp lệ cho một thụng bỏo bất kỳ. Thuật toỏn kiểm tra phải cú khả năng chấp nhận bấy kỳ một chữ ký hợp lệ nào khi xỏc minh.
Lược đồ chữ ký ElGamal được định nghĩa như sau:
Tạo khúa:
Cho p là số nguyờn tố sao cho bài toỏn logarit rời rạc trong Zp là khú giải và giả sử α Zp* là phần tử nguyờn thủy Cho p = Zp*, A = Zp* . Zp-1 và định nghĩa K = {(p, a, α, β): β = α a mod p}. Cỏc giỏ trị p, α, β là cụng khai, a là bớ mật. Tạo chữ ký
Với K = (p, a, α, β) và với số ngẫu nhiờn Zp-1*
Định nghĩa SigK( , ) trong đú:
= α k mod p và = (x-a* ) *k-1 mod (p-1)
Kiểm tra chữ ký:
Với x, y Zp* và Zp-1* , ta định nghĩa Verk(x, , ) = TRUE β α x mod p.
Chứng minh:
Nếu chứ ký được thiết lập đỳng thỡ hàm kiểm tra sẽ thành cụng vỡ: β α a . α e mod p
α x mod p (vỡ α + r x mod (p – 1))
A tớnh chữ ký bằng cỏch dựng cả giỏ trị bớ mật a (là một phần của khúa) lẫn số ngẫu nhiờn bớ mật k (dựng để ký trờn x). Việc kiểm tra cú thể được thực hiện duy nhất bằng thụng tin cụng khai.
Vớ dụ: Giả sử p = 467, α = 2, a = 127 Khi đú: β = αk
mod p = 2 127 mod 467 = 132.
Giả sử A cú thong bỏo x = 100 và A chọn ngẫu nhiờn k = 213 vỡ (213, 466) = 1 và = (x - a )k-1 mod (p-1) = (100 – 127. 29). 431 mod 466 = 51
Chứ ký của A trờn x = 100 là (29, 51)
Bất kỳ người nào cũng cú thể kiểm tra chữ ký bằng cỏch: 13229. 2951 = 189 mod 467
2100 = 189 mod 467 Do đú, chữ ký là tin cậy.
1.5.3.3.Chữ ký số Schnorr (Chữ ký một lần)
Sơ đồ chữ ký dựng một lần (one-time signature) là một khỏi niệm vẫn cũn khỏ mới mẻ song rất quan trọng, đặc biệt là trong một số mụ hỡnh về tiền điện tử.
Với sơ đồ chữ ký dựng một lần của Schnorr, những người dựng trong cựng hệ thống cú thể chia sẻ một số ngẫu nhiờn g và hai số nguyờn tố p và q sao cho q|(p-1), q#1 và gq ≡1 mod q. Sơ đồ ký như sau:
Lấy G là nhúm con cấp q của Zn* với q là số nguyờn tố.
Chọn phần tử sinh g G sao cho bài toỏn logarit trờn G là khú giải. Chọn x khỏc 0 làm khúa bớ mật.
Tớnh y = gx làm khúa cụng khai. Lấy H là hàm băm khụng va chạm.
Ký: Chọn r ngẫu nhiờn thuộc Zq, Tớnh c = H(m, gr)
Tớnh s = (r - c.x) mod q Chữ ký Schnorr là cặp (c, s).
Kiểm tra chữ ký:
Với một văn bản m cho trước, một cặp (c, s) được gọi là chữ ký Schnorr hợp lệ nếu thỏa món phương trỡnh:
c = H(m, gs * yc)
1.5.3.4.Chữ ký khụng thể phủ nhận (Chống chối bỏ)
Chữ ký khụng thể phủ nhận do David Chaum và Hans Van Antwerpen phỏt minh năm 1989. Ở đõy, thuật toỏn kiểm định đũi hỏi phải cú sự tham gia của người ký. Thực chất đõy là chữ ký cú tớnh chất khụng thể chuyển giao được (Untranferable). Chỉ cú ý nghĩa với người nhận là người cú trao đổi làm ăn với người ký, khi chuyển nú cho một người khỏc thỡ khụng cũn tỏc dụng nữa (khụng thể kiểm định được chữ ký nữa). Cỏc văn bản cú chữ ký này khụng nhằm vào mục đớch đem đi cụng bố ở nơi khỏc mà chỉ cú tớnh chất giấy phộp. Vỡ thế nếu sao chộp là mất ý nghĩa.
Thuật toỏn
Chuẩn bị cỏc tham số
- Chọn số nguyờn tố p sao cho bài toỏn rời rạc trong Zp là khú p = 2*q+1, q cũng là số nguyờn tố.
- Gọi P là nhúm nhõn con của Zp* theo q (P gồm cỏc thặng dư bậc 2 theo mod p).
- Chọn phần tử sinh g của nhúm P cấp q. Đặt P = A, K = {(p, q, a, h)/ a Zq*, h ga mod p}. Thuật toỏn ký - Dựng khúa bớ mật k’ = a để ký lờn x: Chữ ký là y = Sigk’ (x) = xa mod p. Giao thức kiểm thử - Dựng khúa cụng khai k’’ = (p, g, h)
- Với x, y P người nhận N cựng người gửi G thực hiện giao thức kiểm thử: B1: N chọn ngẫu nhiờn e1 , e2 Zq*
B2: N tớnh c = ye1 he2 mod p, và gửi cho G. B3: G tớnh d = ca-1 mod q mod p và gửi cho N. B4: N chấp nhận y là chữ ký đỳng nếu d ye1
Giao thức chối bỏ
B1: N chọn ngẫu nhiờn e1 , e2 Zq*
B2: N tớnh c = ye1 he2 mod p, và gửi cho G. B3: G tớnh d = ca-1 mod q mod p và gửi cho N. B4: N thử điều kiện d ≠ xe1 ge2 mod p. B5: N chọn ngẫu nhiờn f1 , f2 Zq*
B6: N tớnh C = f1 f2 mod p, và gửi cho G. B7: G tớnh D = Ca-1 mod q mod p và gửi cho N. B8: N thử điều kiện D ≠ xf1 gf2 mod p. B9: N kết luận y là chữ ký giả mạo nếu:
(d * -e2)f1 (D * -f2)e1 mod p (thay bằng g)
1.5.3.5. Cỏc loại chữ ký khỏc
1/. Chữ ký đồng thời
Ở đõy, chữ ký khụng phải là của một người mà là của một nhúm người. Muốn tạo được chữ ký, tất cả những người này phải tham gia vào một giao thức (protocal). Tuy nhiờn chữ ký cú thể được kiểm định bởi bất cứ ai. Đõy là trường hợp dành cho thực tế của việc đưa ra những quyết định của nhiều người.
2/. Chữ ký ủy nhiệm
Hệ chữ ký này dành cho cỏc trường hợp mà người chủ chữ ký bị ốm khụng cú khả năng làm việc hay đó đi vắng đến một nơi khụng cú phương tiện mạng mỏy tớnh cần thiết để ký. Vỡ vậy chữ ký ủy nhiệm được tạo ra để người ký cú thể ủy nhiệm cho một người nào đú ký thay. Tất nhiờn chữ ký ủy nhiệm phải cú cỏc thuộc tớnh riờng thờm vào:
- Chữ ký ủy nhiệm là phần phõn biệt với chữ ký thường và người được ủy nhiệm khụng thể tạo được chữ ký chủ (chữ ký của người chủ).
- Chữ ký ủy nhiệm cũng cú chức năng chứng thực như chữ ký chủ, chỉ cú người được ủy nhiệm và người chủ mới cú thể tạo được chữ ký này. Người nhận được văn bản cú thể hoàn toàn tin tưởng vào chữ ký đú như chữ ký chủ.
- Người chủ cú thể xỏc định được danh tớnh của người ký từ một chữ ký ủy nhiệm.
- Người được ủy nhiệm khụng thể chối cói được nếu đó ký vào một văn bản ủy nhiệm hợp lệ (tức là anh ta khụng thể chối đổ cho ai khỏc hay chớnh người chủ đó ký mà lại núi là anh ta ký).
3/. Chữ ký nhúm
Tỡnh huống thực tế minh họa cho chữ ký này như sau: Một cụng ty cú nhiều mỏy tớnh nối với nhau trong một mạng cục bộ, cỏc mỏy tớnh này được đặt trong một số phũng ban bộ phận. Mỗi phũng chỉ cú một mỏy in mà chỉ cỏc cỏn bộ của phũng mới được in ra. Vỡ vậy người ta muốn một cơ chế để việc in này cú thể thực hiện mà việc kiểm soỏt khụng cho người ngoài phũng in được, trong khi mỗi yờu cầu in lại khụng cần nờu rừ tờn người yờu cầu để trỏnh xõm phạm tớnh riờng tư của từng cụng việc.
Như vậy, một hệ chữ ký sẽ được thiết lập sao cho chỉ cú những người nằm trong một nhúm người nào đú - trong cựng phũng - là cú thể tạo ra được chữ ký mà người kiểm định - trong vớ dụ trờn là mỏy in hay chương trỡnh quản lý mỏy in - kiểm tra và chấp nhận. Chữ ký này chỉ núi lờn người ký nằm trong nhúm đú mà thụi chứ khụng núi lờn đớch xỏc đú là người nào lờn giữ được tớnh riờng tư của từng người ký. Tuy nhiờn hệ chữ ký đặc biệt này cũn cú một tớnh chất đặc biệt khỏc nữa là: nếu cần thiết, một người thẩm quyền cú thể "mở" được một chữ ký ra để xem ai cụ thể trong nhúm đó ký.
Ứng dụng của nú là nếu chương trỡnh quản lý mỏy in cho thấy cú người đó quỏ lạm dụng thỡ trưởng phũng cú thể dựng quyền giới hạn của mỡnh để "cảnh bỏo" những chữ ký lờn những yờu cầu in tốn kộm đú, sau đú cú biện phỏp phạt người lạm dụng đú. Khả năng nay làm cho tất cả mọi người phải biết điều độ với mỏy in của cụng ty, nếu khụng muốn bị nờu tờn cảnh bỏo.
1.6. THỎA THUẬN HỢP ĐỒNG ĐIỆN TỬ
1.6.1. Khỏi niệm về giao kết hợp đồng điện tử Khỏi niệm giao kết hợp đồng điện tử Khỏi niệm giao kết hợp đồng điện tử
Giao kết hợp đồng là thuật ngữ được Bộ luật dõn sự Việt Nam năm 2005 sử dụng