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 trong c
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.Error! Hyperlink reference not valid.3.1.1
C+c bư@c xây dựng ch k0 mu
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
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 6Ký 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ầngử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 7Phâ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
(one-time) trên 1 tài liệu
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 “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ố
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.
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ý để
Trang 12So 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,[1] là một dFng
cWa chữ ký số trong đS nội dung cWa một tin nhắn đưKc ng8y trang (bX m\) trư[c khi
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.
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. rre(mod n), v@i r RZn 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 ) 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
Γ) trong 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 pk
*Đă>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:
Γ) trong (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’=mp
k mod n;
Giải mã m=m’s k mod n;
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)b , đây là 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’a= ma.rab.(mod n)=r.m(moda n)=md (mod N)Đ,n đây Người k0 c‚ng không thE bi,t được gi+ trị ma bởi bản mã s’ được mã bởi khóa r N,u như Người k0 bi,t được a m ths dễ dàng bi,t được M bằng c+ch:
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+c thực
Sự ra đời cFa công nghệ mã hóa và ch k0 s2 nhằm gi8p giải quy,t nh.ng trường hợptrên
Trang 18Ch k0 s2 thường đi kèm theo nh.ng thông tin thường là Word, Excel, PDF, … mHc đíchchF y,u là đE x+c nhận chF sở h.u d liệu đó.
Về mặt kỹ thuật công nghệ cFa ch k0 s2 là dựa trên h- tầng mã hóa công khai (PKI),trong đó phần quan trọng nhất là thuật to+n mã hóa công khai RSA Công nghệ nàyđảm bảo ch k0 s2 khi được một người dung nào đó t-o ra là duy nhất, không thE giảm-o được và chỉ có người sở h.u khóa bí mật m@i có thE t-o ra được ch k0 s2 đó
Khóa bí mật được t-o ra khi một người đăng k0 sử dHng dịch vH và được lưu tr trongmột thi,t bị phần c5ng đặc biệt an toàn là Token hoặc SmartCard Thi,t bị này đảm bảocho khóa bí mật được lưu tr an toàn, không thE sao chép hay nhân bản được và c‚ngkhông thE bị virus ph+ hỏng
ĐE có thE x+c thực được ai là người t-o ra c+c ch k0 s2 khi nhận được c+c tài liệu điện
tử có ch k0 s2 cần phải có một nhà cung cấp dịch vH ch5ng thực đ5ng ra ch5ng nhận
ch k0 đó là do một người cH thE nào đó t-o ra Tương tự khi ti,n hành giao dịch điện tử công cộng như khai b+o thu,, lập tờ khai hải quan, người sử dHng là c+ nhân, cơ quan hay t9 ch5c phải sử dHng ch k0 s2 công cộng do nhà cung cấp dịch vH ch5ng thực ch k0 s2 công cộng cấp Hiện nay Việt Nam có 5 nhà cung cấp dịch vH
Qu+ trsnh sử dHng ch k0 s2 có hai giai đo-n: T-o ch k0 (sử dHng khóa bí mật đE k0 s2) và kiEm tra ch k0 (kiEm tra khóa công khai có hợp lệ hay không)
ĐE sử dHng ch k0 s2 cần phải đăng k0 ch5ng thư s2 và t-o khóa bí mật lưu vào trong PKI Token v@i c+c nhà cung cấp dịch vH ch5ng thực ch k0 s2 C+c chương trsnh 5ng dHng phải hỗ trợ ch5c năng k0 s2, khi đó việc sử dHng kh+ đơn giản, người k0 chỉ cần cắm thi,t bị Token vào c9ng USB, nhập PIN code bảo vệ Token và nhắp chuột vào n8t lệnh k0 s2 trong chương trsnh 5ng dHng
Ch k0 s2 không gi2ng như ch k0 bsnh thường ở chỗ mỗi lần k0, người sử dHng sẽ dung khóa bí mật đE t-o ch k0 và mỗi lần k0 sẽ là một ch k0 kh+c nhau Dựa vào c+c công cH phần mềm được cung cấp, c+c đ2i t+c có thE kiEm tra ch5ng thư đE x+c định
ch k0 C+ch kiEm tra là so s+nh tính đồng nhất cFa khóa công khai trên c+c ch k0 s2 cFa người gửi v@i khóa công khai cFa Trung tâm Ch5ng thực ch k0 s2 qu2c gia (Root Certification Authority – Root CA) thuộc Bộ Thông tin – Truyền thông