thông điêHp dữ liêHu ban đVu và khSa công khai cWa ngưUi ký cS thể xCc đXnh đưKc chYnh xCc: ViêHc biEn đOi nêu trên đưKc tFo ra bMng đZng khSa bY mâ Ht tương Gng v[i khSa công khai tron
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
Trang 2M8c l8c
1 C+c cơ ch, t-o ch k0 s2 Giao th5c ch k0 s2 .3
1.1 C+c cơ ch, t-o ch k0 s2 .3
1.2 Giao th5c t-o ch k0 s2 .6
1.2.1 Ki,n tr8c ch k0 s2 t9ng quan .6
1.2.2 Ki,n tr8c ch k0 s2 RSA .8
2 Ch k0 mu .11
2.1 Kh+i niê>m ch k0 mu .11
2.1.1 C+c bư@c xây dựng ch k0 mu .12
2.1.2 Đă>c điEm cFa ch k0 s2 mu .13
2.1.3 Gng dHng cFa ch k0 mu .13
2.2 Ch k0 mu RSA .13
3 Gng dHng 14
4 Gng dHng trong bỏ phi,u kín .16
4.1 Thực tr-ng bỏ phi,u kín ở Việt Nam .16
4.2 Áp dHng Ch k0 mu RSA trong bỏ phi,u kín 16
5 Tài Liệu tham khảo 18
Error! Hyperlink reference not valid.1 C+c cơ ch, t-o ch k0 s2 Giao th5c ch k0 s2 3
Error! Hyperlink reference not valid.1.1 C+c cơ ch, t-o ch k0 s2 3
Error! Hyperlink reference not valid.1.2 Giao th5c t-o ch k0 s2 6
Error! Hyperlink reference not valid.1.2.1 Ki,n tr8c ch k0 s2 t9ng quan 6
Error! Hyperlink reference not valid.1.2.2 Ki,n tr8c ch k0 s2 RSA 8
Error! Hyperlink reference not valid.2 Ch k0 mu 11
Trang 3Error! Hyperlink reference not valid.2.1 Kh+i niê>m ch k0 mu
Error! Hyperlink reference not valid.5.1 Th c tr ng b phiếếu kín Vi t Namự ạ ỏ ở ệ 16
Error! Hyperlink reference not valid.5.2 Áp dHng Ch k0 mu RSA trong bỏ phi,u kín 16
Error! Hyperlink reference not valid.5 Tài Li u tham kh oệ ả
Trang 4Error! Hyperlink reference not valid.Error! Hyperlink reference not valid.3.1.2
Đă>c điEm cFa ch k0 s2 mu
Error! Hyperlink reference not valid.Error! Hyperlink reference not valid.3.1.3
1.1 CCc cơ chE tFo chữ ký số
Chữ ký số là môHt dFng chữ ký điêHn tI đưKc tFo ra bMng sN biển đOi môHt thông
điêHp dữ liêHu sI d8ng hêH thống mâHt mQ không đối xGng Theo đS, ngưUi cS đưKc
Trang 5thông điêHp dữ liêHu ban đVu và khSa công khai cWa ngưUi ký cS thể xCc đXnh đưKc chYnh xCc:
ViêHc biEn đOi nêu trên đưKc tFo ra bMng đZng khSa bY mâ Ht tương Gng v[i khSa công khai trong c\ng môHt căHp khSa
SN toàn v_n nôHi dung thông điêHp dữ liêHu kể t` khi thNc hiêHn viêHc biEn đOi nêu trên
Để sI d8ng đưKc chữ ký số cVn phai cS môHt thiEt bX phVn cGng USB token để tFo
ra khSa công khai và khSa bX mâ Ht cbng như lưu trữ thông tin cWa ngưUi sc hữu
chữ ký số
Hiểu môHt cCch đơn gian, chữ ký số là môHt thiEt bX đưKc lưu trưc dư[i dFng token
và mQ hSa mọi dữ liêHu, thông tin cWa cC nhân hoăHc doanh nghiêHp nhMm thay thE cho chữ ký tay để ký trên văn ban, chGng t`, tài liê Hu điêHn tI đưKc thNc hiêHn trên môi trưUng internet.
CCc ưu điểm cWa chữ ký số
Kha năng xCc đXnh ngudn gốc
Vấn đề xCc thNc hay nhận thNc là đặc biệt quan trọng để chống lFi cCc gian lận trong giao dXch hành chYnh hoặc tài chYnh Chẳng hFn, một chi nhCnh
ngân hàng gIi một gSi tin về trung tâm dư[i dFng (a,b), trong đS a là số tài
khoan và b là số tiền chuyển vào tài khoan đS Một kẻ l`a đao cS thể gIi
một số tiền nào đS để lấy nội dung gSi tin và truyền lFi gSi tin thu đưKc
nhiều lVn để thu lKi Nhưng nEu giao dXch đS đưKc xCc thNc bMng chứng
thư số thì ngưUi ta nhanh chSng và dễ dàng biEt đưKc giao dXch là hKp lệ
hay gian lận Như đQ nSi hệ thống mật mQ hSa khSa công khai cho phép
mật mQ hSa thông tin đFi diện cho văn ban v[i khSa bY mật mà chỉ cS
ngưUi chW cWa khSa biEt
TYnh toàn v_n
Trong giao dXch, một bên cS thể t` chối nhận một văn ban nào đS là do
mình gIi Để ngăn ng`a kha năng này, bên nhận cS thể yêu cVu bên gIi
phai gIi kèm chữ ký sốv[i văn ban Khi cS tranh chấp, bên nhận sẽ d\ng
chữ ký này như một chGng cG để bên thG ba giai quyEt Tuy nhiên, khSa bY mật vẫn cS thể bX lộ và tYnh không thể phW nhận cbng không thể đFt đưKc
hoàn toàn.
TYnh chống chối bo
Chữ ký số giai quyEt vấn đề toàn v_n dữ liệu và là bMng chGng chống chối
bo trCch nhiệm trên nội dung đQ ký, giZp cho cCc doanh nghiệp yên tâm
v[i cCc giao dXch điện tI cWa mình trong môi trưUng Internet”.
Một số khCi niệm khi tìm hiểu và sI d8ng chữ ký số:
KhSa bY mật: KhSa đưKc d\ng để tFo chữ ký số
KhSa công khai: KhSa đưKc sI d8ng để kiểm tra chữ ký số, đưKc tFo bci
khSa bY mật tương Gng trong cặp khSa
Trang 6 Ký số: Việc đưa khSa bY mật vào một chương trình phVn mềm để tN động tFo và gắn chữ ký số vào thông điệp dữ liệu
NgưUi ký: thuê bao d\ng đZng khSa bY mật cWa mình để ký số vào một thông điệp dữ liệu dư[i tên cWa mình
NgưUi nhận: CCc tO chGc, cC nhân nhận đưKc thông điệp dữ liệu đưKc ký
số bci ngưUi ký, sI d8ng chGng thư số cWa ngưUi ký đS để kiểm tra chữ
ký số trong thông điệp dữ liệu nhận đưKc và tiEn hành cCc hoFt động, giao dXch cS liên quan.
ChGc năng cWa USB token: Lưu giữ khSa bY mật cbng như chGng thư số cWa thuê bao; CS kha năng lưu trữ l[n, tốc độ xI lý cao; ThiEt bX ph\ hKp v[i ngưUi d\ng cC nhân và cơ quan sI d8ng v[i lưu lưKng v`a phai.
Theo đS, mỗi USB Token cS một số series duy nhất gdm 8 hoặc 10 ký tN c mặt dư[i cWa Token Khi nhấn nZt trên Token một dQy cCc mQ số ngẫu nhiên sẽ xuất hiện và thay đOi liên t8c trong một khoang thUi gian nhất đXnh t` 30 đEn 60 giây Mỗi mQ số USB Token chỉ cS hiệu lNc duy nhất đối v[i một giao dXch v[i mỗi khCch hàng c8 thể.
Chuỗi số đưKc tFo bci thuật toCn rất phGc tFp Do đS, hiện nay vẫn chưa
cS ngưUi nào bẻ khSa thành công
Chữ ký số không d\ng token
Hay còn gọi là chữ ký t` xa, chữ kY trên di động LoFi chữ ký này cho phép ngưUi d\ng ký trNc tiEp trên di động, mCy tYnh bang, thậm chY cS thể phân quyền cho nhiều ngưUi c\ng ký một lZc, tốc độ xI lý cao và nhanh Không gặp phai cCc lỗi trên thiEt bX phVn cGng như chữ ký USB Token.
Phân lo-i ch k0 theo đặc trưng kiEm tra ch k0
- Ch k0 khôi phHc thông điệp: Là lo-i ch k0, trong đó người gửi chỉ cần gửi “ch k0”, người nhận có thE khôi phHc l-i được thông điệp, đã được
“k0” bởi “ch k0” này
Ví dH: Ch k0 RSA là ch k0 khôi phHc thông điệp
- Ch k0 đi kèm thông điệp: Là lo-i ch k0, trong đó người gửi không chỉ cần gửi “ch k0” mà phải gửi kèm cả thông điệp đã được “k0” bởi “ch k0”này Ngược l-i, người nhận sẽ không có được thông điệp g2c
Ví dH: Ch k0 Elgamal là ch k0 đi kèm thông điệp
Trang 7 Phân lo-i ch k0 theo m5c an toàn
- Ch k0 “không thE phF nhận”: Nhằm tr+nh việc nhân bản ch k0 đE sử dHng nhiều lần, t2t nhất là người gửi tham gia trực ti,p vào việc kiEm thử
ch k0 Điều đó được thực hiện bằng một giao th5c kiEm thử, dư@i d-ng một giao th5c mời hỏi và trả lời
Ví dH: Ch k0 không phF định (Chaum- van Antverpen)
- Ch k0 “một lần”: ĐE bảo đảm an toàn, “khóa k0” chỉ dung 1 lần time) trên 1 tài liệu
(one- Ví dH: Ch k0 một lần Lamport Ch k0 Fail - Stop (Van Heyst & Pedersen)
Phân lo-i ch k0 theo 5ng dHng đặc trưng
- Ch k0 “mu” (Blind Signature)
- Ch k0 “nhóm” (Group Signature)
- Ch k0 “bội” (Multy Signature)
- Ch k0 “mu nhóm” (Blind Group Signature)
- Ch k0 “mu bội” (Blind Multy Signature)
Trang 81.2 Giao thGc tFo chữ ký số
1.2.1 KiEn trZc chữ ký số tOng quan
Trang 9QuC trình ký (bên gIi)
- TYnh toCn chuỗi đFi diện (message digest/ hash value) cWa thông điệp sI d8ng một giai thuật băm (Hashing algorithm)
- Chuỗi đFi diện đưKc ký sI d8ng khSa riêng (Priavte key) cau ngưUi gIi va
1 giai thuật tFo chữ ký (Signature/ Encryption algorithm) KEt qua chữ ký
số (Digital signature) cWa thông điệp hay còn gọi là chuỗi đFi diện đưKc mQ hSa (Encryted message digest)
- Thông điệp ban đVu (message) đưKc ghép v[i chữ ký số( Digital signature) tFo thành thông điệp đQ đưKc ký (Signed message)
- Thông điệp đQ đưKc ký (Signed message) đưKc gIi cho ngưUi nhận
QuC trình kiểm tra chữ ký (bên nhận)
- TCch chữ ký số và thông điệp gốc khoi thông điệp đQ ký để xI lý riêng;
Trang 10- TYnh toCn chuỗi đFi diện MD1 (message digest) cWa thông điệp gốc sI d8ng giai thuật băm (là giai thuật sI d8ng trong quC trình ký)
- SI d8ng khSa công khai (Public key) cWa ngưUi gIi để giai mQ chữ ký số -> chuỗi đFi diện thông điệp MD2
- So sCnh MD1 và MD2:
- NEu MD1 =MD2 -> chữ ký kiểm tra thành công Thông điệp đam bao tYnh toàn v_n và thNc sN xuất phCt t` ngưUi gIi (do khSa công khai đưKc chGng thNc).
- NEu MD1 <>MD2 -> chữ ký không hKp lệ Thông điệp cS thể đQ bX sIa đOi hoặc không thNc sN xuất phCt t` ngưUi gIi.
1.2.2 KiEn trZc chữ ký số RSA
Trong phVn này mô ta lưKc đd chữ ký RSA Độ an toàn cWa lưKc đd chữ ký RSA dNa vào độ an toàn cWa hệ mQ RSA LưKc đd bao gdm ca chữ ký số kèm theo ban rõ và tN khôi ph8c thông điệp t` chữ ký số.
Thuật toCn sinh khSa cho lưKc đd chữ ký RSA
Thuật toCn sinh chữ ký RSA
Thuật toCn chGng thNc chữ ký RSA
1.2.2.1 KiEn trZc chữ ký số RSA
Trang 11QuC trình ký (bên gIi)
TYnh toCn chuỗi đFi diện (message digest/ hash value) cWa thông điệp sI d8ng một giai thuật băm (Hashing algorithm) SHA-1
Chuỗi đFi diện đưKc ký sI d8ng khSa riêng (Priavte key) cWa ngưUi gIi và giai thuật tFo chữ ký (Signature/ Encryption algorithm) RSA KEt qua chữ
ký số (Digital signature) cWa thông điệp hay còn gọi là chuỗi đFi diện đưKc
mQ hSa bci giai thuật RSA (Encryted message digest)
Thông điệp ban đVu (message) đưKc ghép v[i chữ ký số( Digital signature) tFo thành thông điệp đQ đưKc ký (Signed message)
Thông điệp đQ đưKc ký (Signed message) đưKc gIi cho ngưUi nhận
QuC trình kiểm tra chữ ký (bên nhận)
TCch chữ ký số RSA và thông điệp gốc khoi thông điệp đQ ký để xI lý riêng;
TYnh toCn chuỗi đFi diện MD1 (message digest) cWa thông điệp gốc sI d8ng giai thuật băm (là giai thuật sI d8ng trong quC trình ký là SHA-1)
SI d8ng khSa công khai (Public key) cWa ngưUi gIi để giai mQ chữ ký số RSA-> chuỗi đFi diện thông điệp MD2
Trang 12 So sCnh MD1 và MD2:
- NEu MD1 =MD2 -> chữ ký kiểm tra thành công Thông điệp đam bao tYnh toàn v_n và thNc sN xuất phCt t` ngưUi gIi (do khSa công khai đưKc chGng thNc).
- NEu MD1 <>MD2 -> chữ ký không hKp lệ Thông điệp cS thể đQ bX sIa đOi hoặc không thNc sN xuất phCt t` ngưUi gIi.
1.2.2.2 Giai thuâHt RSA đưKc d\ng trong viêHc tFo khSa, mQ khSa và giai mQ
Sơ đd giai thuâHt
Trang 13Thuật toCn RSA cS hai KhSa:
- Khóa công khai (Public key): đưKc công bố rộng rQi cho mọi ngưUi và đưKc d\ng để
mQ hSa
- Khóa bí mật (Private key): Những thông tin đưKc mQ hSa bMng khSa công khai chỉ
Trang 142 CCc dXch v8 chữ ký số
Chữ ký số d\ng để ký những văn ban quan trọng trên thiEt bX điện tI, c8 thể
công d8ng cWa chữ ký số bao gdm:
Thay thE cho chữ ký tay trong cCc giao dXch thương mFi điện tI trên môi trưUng số, giZp hoFt động giao dXch cS thể diễn ra nhanh chSng và tiEt kiệm thUi gian
V[i cCc cC nhân, chữ ký số cS giC trX phCp lý tương đương chữ ký tay
V[i cCc tO chGc, doanh nghiệp, chữ ký số cS giC trX tương đương con dấu
và chữ ký cWa ngưUi đFi diện phCp luật
Chữ ký số giZp bFn ký trong cCc giao dXch thư điện tI, ký vào mail để xCc nhận ngưUi gIi thư cho khCch hàng
Chữ ký số cS thể giZp bFn đVu tư chGng khoCn trNc tiEp, mua hàng, thanh toCn và chuyển tiền trNc tiEp một cCch bao mật, an toàn
Không cVn phai in ấn cCc tU kê khai hay đEn cơ quan thuE để giai quyEt khi thNc hiện kê khai thuE trNc tuyEn hoặc thông quan trNc tuyEn
3.1 KhCi niêHm chữ ký s2mu
Chữ ký m\ (Bind Signature) đưKc gi[i thiệu bci David Chaum, là một dFng [1]
cWa chữ ký số trong đS nội dung cWa một tin nhắn đưKc ng8y trang (bX m\) trư[c khi nS đưKc ký Chữ ký m\ kEt qua cS thể đưKc xCc minh công khai dNa trên
Trang 15thông điệp ban đVu, không bX ràng buộc theo cCch cWa một chữ ký điện tI thông thưUng Chữ ký m\ thưUng đưKc sI d8ng trong cCc giao thGc liên quan đEn quyền riêng tư trong đS ngưUi ký và tCc gia thư là cCc bên khCc nhau VY d8 bao gdm cCc hệ thống bVu cI mật mQ và tiền điện tI cCc kE hoFch.
Chữ ký m\ cbng cS thể đưKc sI d8ng để cung cấp không thể liên kết, điều này ngăn ngưUi ký liên kEt thông điệp bX m\ mà nS ký v[i một phiên ban không bX che khuất sau này mà nS cS thể đưKc yêu cVu xCc minh Trong trưUng hKp này, phan hdi cWa ngưUi ký trư[c tiên là "không bX che" trư[c khi xCc minh theo cCch
mà chữ ký vẫn cS giC trX đối v[i thông điệp không bX che Điều này cS thể hữu Ych trong cCc kE hoFch nơi ẩn danh bắt buộc.
CCc kE hoFch chữ ký m\ cS thể đưKc thNc hiện bMng cCch sI d8ng một số khSa công khai chương trình ký kEt, chẳng hFn RSA và DSA Để thNc hiện một chữ ký như vậy, đVu tiên thông điệp đưKc "làm m\", thưUng bMng cCch kEt hKp nS theo một cCch nào đS v[i một "yEu tố làm mU" ngẫu nhiên Thông điệp bX che khuất đưKc chuyển cho ngưUi ký, ngưUi này sau đS sẽ ký bMng thuật toCn ký chuẩn Thông bCo kEt qua, c\ng v[i yEu tố làm mU, cS thể đưKc xCc minh sau đS dNa trên khSa công khai cWa ngưUi ký Trong một số chương trình chữ ký m\, chẳng hFn như RSA, thậm chY cS thể loFi bo yEu tố gây m\ khoi chữ ký trư[c khi nS đưKc xCc minh Trong cCc lưKc đd này, đVu ra cuối c\ng (thông điệp / chữ ký) cWa lưKc đd chữ ký m\ giống v[i đVu ra cWa giao thGc ký thông thưUng.
3.1.1 CCc bư[c xây dNng chữ ký m\
NEu ngưUi ký cS khSa công khai RSA (n, e) và khSa bY mâ Ht d, thì:
NgưUi yêu cVu ký sẽ làm m\ thông điê Hp m đưKc m'= m r re(mod n), v@i
rRZn ngẫu nhiên và gửi m' cho người k0
Người k0, k0 vào thông điệp đã được làm mu m' và cho ch k0 s'=m'd mod n đ,n người yêu cầu k0
Người yêu cầu lấy l-i được ch k0 S cFa thông điệp m bằng c+ch tính to+n:
S = s'/r = m'd /r = md red /r = md r/r =md
Mô hsnh chung cFa ch k0 mu
Ch k0 mu ph2i hợp v@i không gian thông điệp M là bộ 5 gồm (ŋ,X,б,δ,Γ) trong đó:
ŋ là một thuật to+n x+c xuất, v@i việc đặt khóa công khai cFa người k0 là
Γ là một thuật to+n x+c minh ch k0 mà trên đó đặt một cặp thông điệp -
ch k0 (m,s) khóa công khai p k
*Đă>t khóa
GEN(n): là thuật to+n sinh khóa
Trang 16Chọn ngẫu nhiên hai s2 nguyên t2 l@n p, q sao cho:
Γ(m,s) thuật to+n kiEm định ch k0
kiEm địmh ch k0 dựa theo qu+ trsnh lập mã và giải mã cFa hệ th2ng mã RSA Lập mã m’=m mod n;p k
Giải mã m=m’s mod n;k
3.1.2 ĐăHc điểm cWa chữ ký số m\
TYnh đZng đắn: Bất k• ai cbng cS thể kiểm tra tYnh đZng đắn cWa chữ ký thông qua khSa công khai cWa ngưUi ký
TYnh chYnh xCc: Chữ ký hKp lêH chỉ ra ngưUi ký m[i ký lên đưKc tài liêHu
TYnh xCc thNc: MôHt ngưUi ký hKp lêH cS thể tFo ra môHt chữ ký hKp lêH
Không tCi sI d8ng: NgưUi yêu cVu chữ ký không thể sI d8ng chữ ký nhiều hơn môHt lVn
Chống chối bo: Những ngưUi ký lên văn ban không thể chối bo đQ ký môHt văn ban cS chữ ký hKp lêH
Làm m\: sI d8ng khSa công khai cWa ngưUi ký để làm m\ nôHi dung trư[c khi nS đưKc ký bci ngưUi đS
TYnh bao mâHt: Không ai cS thể sI d8ng đưKc nôHi dung tr` ngưUi đQ làm m\ nôHi dung đS
Trang 171 Người nhận chọn s2 ngẫu nhiên r, sao cho UCLN(r,n)=1 và dung khóa công khai b cFa người k0 đE làm mu thông điệp m thành m'
2 Người được k0 gửi cho Người k0 thông điệp m' = m r (modn) , đây là b
thông điệp đE Người k0 k0, Người k0 không thE bi,t được thông điệp m
3 Người k0 k0 lên m’ và gửi cho Người được k0:
4 S ’= m’ = ma a rab (mod n)=r.m (mod n)=ma d (mod N)Đ,n đây Người k0 c‚ng không thE bi,t được gi+ trị m bởi bản mã s’ được mã bởi khóa r N,u nhưa
Người k0 bi,t được a m ths dễ dàng bi,t được M bằng c+ch:
5. (m )a b =m(mod n)
6. Người nhận dung thuật to+n mở rộng Euclide đE tính r và khôi phHc ch -1
k0 cho thông điệp m, bằng c+ch: s= s’.k =k.m-1 .ka = m-1 a (mod N) Như vậy Người được k0 nhận được ch k0 v@i thông điệp m mà Người k0 không bi,t được nội dung cFa thông điệp m
Giai phCp d\ng chữ ký số là tối ưu vì nS cS hiệu lNc phCp luật, do đS không cVn
in ấn tài liệu mà vẫn cS thể xCc nhận đưKc tài liệu, đam bao tYnh toàn v_n và không chối bo Chữ ký số đưKc phCt hành bci bên thG ba là cơ quan chGng thNc
cS thẩm quyền cấp phCt, thu hdi, quan lý chGng chỉ số cho cCc thNc thể thNc hiện cCc giao dXch an toàn ( Certificate Authority hoặc CA) nên đam bao tYnh khCch quan Như vậy, quC trình tFo chữ ký số, xCc nhận cCc yêu cVu phCp lý, bao gdm xCc thNc ngưUi ký, xCc thNc tin nhắn, là thành công và hiệu qua
ChYnh vì những ưu điểm cWa chữ ký số, nS đưKc d\ng trong nhiều Gng d8ng: Đam bao an ninh truyền thông, ngân hàng trNc tuyEn, thương mFi điện tI, đam bao an ninh cho thư điện tI, …
Một s2 trường hợp không thE dung ch k0 tay nhưng l-i cần đ,n cơ ch, k0 và x+cthực Sự ra đời cFa công nghệ mã hóa và ch k0 s2 nhằm gi8p giải quy,t nh.ngtrường hợp trên