Khóa luận Nghiên cứu và xây dựng một hệ thống gán nhãn thời gian

ĐẠI HC QUC GIA HÀ NI  
TRƢỜNG ĐẠI HC CÔNG NGHỆ  
Nguyn STun  
NGHIÊN CU VÀ XÂY DNG MT HTHNG GÁN  
NHÃN THI GIAN  
KHÓA LUN TT NGHIỆP ĐẠI HC HCHÍNH QUY  
Ngành : Công nghthông tin  
HÀ NI - 2010  
ĐẠI HC QUC GIA HÀ NI  
TRƢỜNG ĐẠI HC CÔNG NGHỆ  
Nguyn STun  
NGHIÊN CU VÀ XÂY DNG MT HTHNG GÁN  
NHÃN THI GIAN  
KHÓA LUN TT NGHIỆP ĐẠI HC HCHÍNH QUY  
Ngành : Công nghthông tin  
Cán bộ hƣớng dn: PGS. TS Hồ Sĩ Đàm  
Cán bộ đồng hƣớng dẫn: TS Lê Đức Phong  
HÀ NI - 2010  
LI CẢM ƠN  
Trước tiên, em xin gi li cảm ơn sâu sắc đến PGS. TS Hồ Sĩ Đàm và TS Lê  
Đức Phong, những người đã tận tình chbảo, giúp đỡ em hoàn thành khóa lun này.  
Em xin chân thành cảm ơn các thầy cô trong bmôn Mng và truyn thông máy  
tính, trường Đại hc Công ngh- Đại hc Quc gia Hà Nội đã tạo điều kin cho em  
thc hiện đề tài.  
Cui cùng, em xin cảm ơn những người thân trong gia đình và bạn bè đã giúp đỡ,  
động viên em hoàn thành khóa lun.  
Sinh viên  
Nguyn STun  
TÓM TT KHÓA LUN  
Gán nhãn thi gian cho phép chúng ta chứng minh được stn ti ca mt tài  
liu ti mt thời điểm cthể nào đó trong quá khứ. Dch vnày rt quan trng trong  
nhiu ng dng: chng minh tính không thphnhn ca chký s, chng minh sự  
tn tại trước hay sau ca các phát minh khoa hc, xác nhn thời điểm ca các giao dch  
điện tử, …. Một cách đơn giản cho phép ta xác địch thời điểm tn ti ca tài liu là  
thêm 1 dòng ngày tháng vào trong tài liệu điện tbng 1 phn mm xử lý văn bản.  
Tuy nhiên, phương pháp này không an toàn, chúng ta có thể dễ dàng xóa hay thay đổi  
ngày tháng này. Khóa lun kho cu mt giao thc gán nhãn thi gian an toàn cho  
phép người dùng gán thi gian vào tài liệu đồng thi cho phép chứng minh tính đúng  
đắn ca mc thời gian đó mà không cn yêu cu mt bên y quyn thba.  
Hthng gán nhãn thi gian da trên giao thc liên kết đáp ứng được đầy đủ các  
yêu cu nêu trên. Giao thc hoạt động bng vic liên kết các nhãn thời gian đã được  
cp li vi nhau, mi nhãn thời gian đều cha thông tin vcác nhãn khác. Điều đó làm  
gim vic phải tin tưởng hoàn toàn vào server cấp nhãn như trong các hệ thống đơn  
giản và như vậy hthng sbo mật hơn.  
MC LC  
DANH SÁCH CÁC HÌNH  
Hình 23 Các giá trcủa vòng đưc công b.....................................................36  
DANH MC TVIT TT  
TSA  
MD5  
SHA  
TimeStamping Authority  
Message Digest 5  
Secure Hash Algorithm  
MỜ ĐẦU  
Ngày nay trong thế gii ca truyn thông kthut s, các dạng văn bản, âm  
thanh, tranh nh và tài liu hình trnên hết sc phbiến. Vấn đề ny sinh là làm thế  
nào để chng thc một văn bản được to ra hoặc được sửa đổi gn nht khi nào. Ví dụ  
như trong vấn đề shu trí tu, vic xác thc thi gian ca mt phát minh lần đầu tiên  
được công nhn là rt quan trng, mục đích là để được ưu tiên hơn trong việc cp bng  
shu khi có tranh chp xy ra. Thêm mt ví dna vscn thiết ca vic chng  
thc ngày tạo văn bản, đó là việc to di chúc, việc lưu di chúc bằng văn bản kthut  
số được thc hin hết sc dễ dàng nhưng để chng minh thời gian nó được to ra li  
hết sức khó khăn. Khi có tranh chấp xy ra, có thcó nhiu bn di chúc khác nhau  
nhưng việc chứng minh được bản di chúc được to ra cui cùng rất khó khăn.  
Có khá nhiu vấn đề liên quan đến thi gian to tài liu kthut svì các tài liu  
này không dễ để gán nhãn, và sự thay đổi ca nó không có tín hiu vt lý nào báo hiu.  
Chính vì vy vic xây dng mt hthng gán nhãn thi gian là rt cn thiết, nó giúp  
cho ta chng minh được mt văn bản tn ti mt thời điểm. Có ba thiết kế ca các hệ  
thống gán nhãn được sdng phbiến trên thế gii; đó là hệ thống đơn giản, hthng  
da trên giao thc liên kết và hthng phân tán. Khóa lun la chn thiết kế hthng  
da trên giao thc liên kết do những ưu điểm ca nó.  
Khóa lun này trình bày vhthng gán nhãn thi gian mt cách chính xác, cụ  
th, tng quan nht. Dựa trên cơ sở lý thuyết đã tìm hiểu được, tác giả đã đưa ra thiết  
kế và xây dng mt hthng gán nhãn thi gian da trên giao thc liên kết.  
Khóa lun được chia làm ba phn chính.  
Phần đầu gồm chương 1, 2 giới thiu vgán nhãn thời gian. Chương 1 giới thiu  
tng quan vgán nhãn thi gian, vcác công nghsdng trong hthng gán nhãn,  
cách thức chúng được sdụng nthế nào trong các hthng. Chương 2 nói vcác hệ  
thng gán nhãn trên lý thuyết và trong thc tế.  
Phn thhai gii thiu vthiết kế ca hthng gán nhãn thi gian được xây  
dng da trên giao thc liên kết. Phn này gm chương 3, trình bày vvic trin khai  
hthng gán nhãn sdng các kthuật được đề cp phần đầu, kết quả đạt được,  
đánh giá cũng như hưng nghiên cứu trong tương lại.  
Phn thba là kết lun.  
Cui cùng là các tài liu tham kho.  
1
 
Chƣơng 1. HTHNG GÁN NHÃN THI GIAN  
1.1 Gii thiu hthng gán nhãn thi gian  
1.1.1 Gán nhãn thi gian là gì?  
Là mt kthut mt mã cung cp bng chng chng minh stn ti ca mt tài  
liu kthut sti mt thi gian nhất định.[1]  
1.1.2 Nguyên tc hoạt động ca hthng gán nhãn thi gian  
Thông thường nguyên tc hoạt động ca hthng gán nhãn chgm hai phn:  
- Gán nhãn: ngưi dùng gi giá trị băm của tài liu cn gán nhãn cho TSA.  
TSA thc thi và trlại cho người dùng nhãn thi gian ca tài liệu. Người  
dùng lưu nhãn này cho quá trình xác thực.  
- Xác thc nhãn: ngưi dùng gi giá trị băm của tài liu cn xác thc và nhãn  
thi gian ca tài liệu đó cho TSA. TSA thực thi và trvkết qunhãn thi  
gian hp lhoc không.  
1.1.3 Phân loi  
Các hthống gán nhãn thường được chia ra làm ba loi [6]:  
- Hthống đơn giản: là giao thc từng bước, thường được chia thành hai phn (  
client và TSA) tương tác và đồng bvi nhau. Kết quca hthng này là  
các nhãn thời gian độc lp. Thiết kế này khá đơn giản và dthc hin. Nhãn  
thời gian được to ra bi nhiu TSA khác nhau có thể so sánh được sdng  
thi gian và các thông svề độ chính xác. Điểm yếu ln nht ca hthng  
này là vic phải tin tưởng vô điều kiện vào TSA. Khi mà TSA đảm bo tính  
đúng đắn ca thông sthời gian, nó có đủ khả năng thay đổi nhãn thi gian  
bng tn công back-date.  
- Hthng liên kết: khó thc hiện hơn so với hthống đơn giản, nhưng việc  
tn công back-date khó thc hiện hơn. Trong trường hp này, TSA to ra các  
nhãn thi gian mà trong nó cha các thông tin về các nhãn đã được cp phát.  
Kết qulà mt chui các nhãn thời gian được xây dng, kết ni tt ccác  
nhãn thời gian được to ra bi TSA. Khi mà kxu cgắng thay đổi mt  
nhãn thi gian thì toàn bchui kết ni ca các nhãn thời gian cũng bị thay  
đổi theo. Đây chính là ưu điểm so vi hthống đơn giản, nhưng điều đó cũng  
2
         
dẫn đến vic phc tp trong thtục xác minh, khi đó người dùng không thể  
xác thực được nhãn thi gian mà không có sự giúp đỡ tTSA.  
- Hthng phân tán: hthng này bao gm nhiu TSA thuc mt trong hai hệ  
thống đã trình bày trên, cùng chu trách nhim to ra nhãn thi gian. Trng  
tâm là thiết lp việc tăng cường bo mt chng li vic thao túng nhãn thi  
gian bng cách chia scác giá trbí mt (trong hu hết trường hợp, khóa được  
sdụng để ký dliu). Hthng này bo mật hơn hệ thống đơn giản. Để vic  
tn công back-date có thdin ra, tt ccác TSA tham gia to nhãn thi gian  
phi trthành mt phn ca cuc tấn công. Điều quan trng là nhn ra rng,  
trong khi tt ccác hthống đơn giản giả định TSA là bên thba đáng tin thì  
hthng liên kết và hthng phân tán làm cho giả định này là không cn  
thiết.  
1.1.4 Các công nghdùng trong hthng  
Có bn kthuật được dùng phbiến trong các hthng gán nhãn là:  
- Hàm băm mật mã hc  
- Từ điển xác thc  
- Chký số  
- Ngun thi gian  
Hàm băm mật mã học dùng để băm các tài liệu cn gán nhãn, giá trị băm nhận  
được được dùng trong quá trình gán nhãn cũng như xác thực vì khi tài liu bị thay đổi  
dn ti giá trị băm cũng thay đổi theo. Mt khác vic gi tài liu qua mng stốn băng  
thông và không an toàn, việc băm tài liệu ra và gi giá trị băm sẽ tiết kiệm được băng  
thông và mức độ bo vquyền riêng tư cũng cao hơn.  
Từ điển xác thực thường được sdng trong hthng gán nhãn da trên giao  
thc liên kết. Nó được sdụng để liên kết thông tin ca các nhãn thời gian đã được  
cp li vi nhau, to ra nhãn thi gian cha các thông tin ca các nhãn thi gian khác.  
Việc này làm tăng tính bảo mt ca hthng chng li các hình thc tn công.  
Chký số được sdng trong hthống để ký vào nhãn thi gian cp phát cho  
người dùng. Vic sdng chký số làm tăng tính an toàn, tránh việc làm ginhãn  
thi gian.  
3
 
Ngun thời gian dùng để đồng bhóa thi gian ca các yêu cầu gán nhãn được  
gi đến TSA, dùng trong vic liên kết các nhãn thi gian đã được cp phát theo thtự  
thi gian.  
1.2 Các công nghsdng trong hthng gán nhãn thi gian  
1.2.1 Hàm băm mật mã hc cryptographic hash function  
1.2.1.1 Định nghĩa hàm băm  
Là hàm sinh ra các giá trị băm tương ứng vi mi khi dliu (có thlà mt  
chui kí t, một đối tượng, v.v...). Giá trị băm đóng vai gần như một khóa để phân bit  
các khi dliu, tuy nhiên, người ta chp hiện tượng trùng khóa hay còn gi đụng  
độ và cgng tìm cách gim thiu sđụng độ đó. Hàm băm thường được dùng trong  
bảng băm nhm gim chi phí tính toán khi tìm mt khi dliu trong mt tp hp  
(nhvic so sánh các giá trị băm nhanh hơn việc so sánh nhng khi dliu có kích  
thước ln) [14].  
1.2.1.2 Định nghĩa hàm băm mật mã hc cryptographic hash function  
Là mt hàm băm vi yêu cu là giá trị băm nhận được là duy nht vi mi thông  
điệp đầu vào. Điều đó có nghĩa là không khả thi khi tìm những thông điệp mà khi băm  
chúng, ta nhận được cùng kết qu[5].  
1.2.1.3 Tính cht hay yêu cầu đi với hàm băm mật mã  
- Có tháp dụng đối với thông báo M có độ dài bt k, kết quả H(M) có độ dài  
cố định.  
- H(M) tính được ddàng vi bt kM nào.  
- Tính mt chiu : th rất khó để tính được M sao cho H(M) = h.  
1.2.1.4 Gii thiu về các hàm băm chuyên dụng trong lp MDx  
Các hàm băm trong nhóm này đều có ý tưởng thiết kế tương tự nhau [5]. Hàm  
băm đầu tiên trong nhóm là gii thuật MD4, được đề xut bởi R.Rivest vào năm 1990.  
Mc dù MD4 không phi là một hàm băm an ninh nhưng có một sgii thut khác có  
ngun gc tMD4 vi sci thin vsc mạnh, người ta gọi đó là MDx-class. Trong  
MDx-class bao gm gii thut MD5 ( mt thiết kế khác ca Rivest), gii thut  
HAVAL ( được đề xut bi mt nhóm các nhà nghiên cu Australia), gii thut  
SHA ( hàm băm chuẩn U.S ca NIST ), và gii thuật RIPEMD ( ban đầu được phát  
4
           
trin trong framework ca dự án European RIPE ). Các hàm băm này được sdng  
rng rãi nht hin nay.  
Hình 1 Lch sca MDx-class  
1.2.1.5 Gii thut MD5  
Gii thut MD4 và MD5 [5] đều được thiết kế bi Rivest. Gii thuật MD5 được  
thiết kế như là một biến thể tăng cường ca MD4. Gii thut này tính ra giá trị băm dài  
128 bit , vì vy lot các biến được chia thành 4 thanh ghi (A, B, C, D) 32 bit mi  
thanh. Thiết kế của MD5 tương tự như MD4 nhưng có một số thay đổi:  
- Hàm nén bao gồm 64 bước liên tiếp, chia ra thành 4 vòng ( MD4 chcó 48  
bước và 3 vòng).  
- Vic thc hiện bước chkhác nhau nh: mỗi bước bây giờ được thêm vào  
kết qucủa bước trước.  
- Ssp xếp được áp dng ti vòng 2 và vòng 3 khác vi MD4.  
- Hàm Boolean ở vòng 2 được chuyn từ hàm đa số sang hàm la chn ( khác  
vi hàm la chn dùng vòng 1). Mt hàm Boolean mới được gii thiu  
cho vòng 4.  
5
   
- Mỗi bước bây gisdng hng sthêm vào duy nhất (như vậy là có 64  
hng s).  
- Hng số quay được thay đổi, các vòng khác nhau không bao gisdng  
cùng giá trhng squay.  
Vic thc hiện bước ca MD5 theo mu sau:  
A ←( A + fr(B, C, D) + Wj + Ur) << vs + B  
Hình 2 Thc thi bƣớc ca MD5  
Bốn bước liên tiếp cp nht giá trcủa thanh ghi A, D, C, B tương ứng, và vic  
này được lp li 4 ln trong mt vòng. Mỗi thanh ghi được cp nht 16 ln bi hàm  
nén.  
6
 
Tuy nhiên sau khi thc hiện 64 bước, hàm nén sdng các giá trca thanh ghi  
ban đầu để thêm vào giá trcui cùng ( sau 64 bước). Kết qulà mt lot các biến đầu  
ra thàm nén. Tùy thuc vào các giá trị ban đầu, hàm nén không thể đảo ngược .  
1.2.1.6 Mô tgii thut SHA-1  
Gii thut SHA [5] được thiết kế bởi NSA và được công bbởi NIST như là tiêu  
chun liên bang FIPS 180 vào năm 1993. SHA là một hàm băm khác lấy cm hứng tư  
MD4. Thiết kế ca gii thiu mt thtục đặc bit cho vic mrng khối thong điệp 16  
từ đầu vào của hàm nén để to ra khi 80 t. Nguyên tc thiết kế của SHA không được  
công b, tuy nhiên năm 1994 NIST công bố rng lhng kthuật được tìm ra SHA  
làm cho gii thuật kém an toàn hơn suy nghĩ ban đầu. Không có thêm chi tiết nào được  
công bnữa, nhưng có một sự thay đổi nhỏ trong hàm băm SHA-, và tiêu chuẩn tương  
ng FIPS 180-1. Vào năm 1998, F. ChaBaud và A. Joux tìm ra lý thuyết tn công  
đụng độ đối vi phiên bản ban đầu ca SHA ( gii thuật này thường được gi là SHA-  
0). Phân tích ca họ giúp thay đổi hàm băm SHA-1.  
Vào năm 2002, NIST cập nhật hàm băm tiêu chuẩn đến FIPS 180-2. Tiêu chun  
mới này xác định, bên cnh SHA-1, 3 hàm băm mới là SHA-256, SHA-384 và SHA-  
512. Chúng có đầu ra có độ dài lớn hơn để cung cp mức độ an ninh chng li tn  
công ngày sinh, tương tự như mức độ an ninh ca thut toán mã hóa khi AES vi 128  
bit, 192 bit và 256 bit độ dài khóa tương ứng. Vào năm 2004, một thong báo thay đổi  
được đưa vào trong tiêu chuẩn, xác định hàm băm SHA-224.  
Gii thut SHA-1 tính toán kết quả băm dài 160 bit đối với thông điệp có độ dài  
nhỏ hơn 264 bit. Gii thuật có độ dài ca tlà 32 bit, chính vì vy chui biến được  
chia thành 5 thanh ghi ( A, B, C, D, E) 32 bit mi thanh. Hàm nén làm vic vi khi  
thông điệp 512 bit, khối được chia thành 16 t32 bit biu din bi Wj vi j = 1, .., 15.  
Bên trong, hàm nén chia thành 80 bước liên tiếp. Mt sphân bit na là vic  
chia vòng: nó có 4 vòng, mi vòng gồm 20 bước. Phép tính bước ca SHA-1 theo mu  
sau:  
E ← E + fr(B, C, D) + A<<5 + Wj + Ur  
B ← B<<30  
Mỗi bước tính giá trmới cho 2 trong 5 thanh ghi. Trong trường hp này ta xét  
đến bước cp nht giá trị cho thanh ghi E và cũng quay giá trị ca thanh ghi B mt  
khong 30 bit vbên trái. Phép tính cp nht giá trcho thanh ghi E phthuc vào 4  
thanh ghi còn li và theo :  
7
 
- Từ mang thông điệp Wj vi j ={0,1,..,79}  
- Hàm Boolean fr phthuc vào vòng.  
- Hng sthêm vào Ur phthuc vào vòng.  
Hàm Boolean được sdng các vòng khác nhau trong hàm nén là hàm la  
chọn, đa số và exor. Hàm exor được sdng trong vòng 2 và 4. 16 từ đầu tiên Wj ( j =  
0,1,…,15) bằng vi khối thông điệp đầu vào ca hàm nén. 64 tcòn li Wj ( j = 16,  
…, 79) được tính bng thtục sau cho thông đip mrng:  
Wj = ( Wj-3 xor Wj-8 xor Wj-14 xor Wj-16)<<1  
Skhác bit duy nht gia SHA-1 và SHA-0 trong công thc trên. SHA-0 không  
có quay 1 bit vbên trái.  
Hình sau biu din việc tính bước trong SHA-1. 5 bước liên tiếp cp nht giá trị  
cho thanh ghi E, D, C, B, A tương ứng và cung quay giá trca thanh ghi B, A, E, D,  
C đi 30 bit vị trí sang bên trái. Sau 5 bước chui biến được cp nht hoàn chnh. Mt  
vòng ca hàm nén bao gm bn chui của 5 bước. Mỗi thanh ghi được cp nht 4 lân  
trong mi vòng và 16 ln trong hàm nén.  
Hình 3 Thực thi bƣớc ca SHA-1  
8
 
Tuy nhiên sau 80 bước , hàm nén sdng phép toán feed-forward để thêm các  
giá trkhi to vào giá trcui. Kết qulà chui biến đầu ra ca hàm nén. Vì vy hàm  
nén không bnghịch đảo .  
1.2.1.7 So sánh các hàm băm MD5 và SHA-1 trong lp MDx  
Hàm băm MD5 cho kết quả băm là xâu 128 bit nên nó thực thi nhanh hơn hàm  
băm SHA-1 ( 160 bit kết quả) nhưng cũng chính vì thế nên nó yếu hơn SHA-1 khi bị  
tn công brute force và tn công nghịch đảo.  
Một đội nghiên cu ca Trung Quốc đã công bố tài liu về các phương thức mà  
họ dùng để phá vgii thuật băm SHA-1 và MD5 sdng hình thc tn công tìm  
kiếm sva chm. Mt dng tn công va chạm đòi hỏi phi tìm hai thông báo mà có  
cùng giá trị băm. Kiểu tn công này thc stốn kém nhưng mà nó chỉ ra các điểm yếu  
ca các gii thut trên [7].  
1.2.2 Từ điển xác thc - Authenticated Dictionary  
1.2.2.1 Gii thiu  
Từ điển xác thc ( authenticated dictionary) là cu trúc dliệu được sdng để  
duy trì tp các phn tS, nó cho phép truy vn và cp nht tp S [8].  
Trong hthng timestamp, từ điển xác thc gm ba phn : nguồn đáng tin,  
đường dn đáng tin và người sdng. Nguồn (source) định nghĩa là một tp S hu hn  
phn tử tăng lên theo thời gian trong sut quá trình chèn và xóa. Đường dn (  
directory) duy trì mt bn sao chép ca tp S. Nó nhn nhãn thi gian cp nht từ  
nguồn đồng thi vi cp nht thông tin xác thực, như việc đăng báo về vic cp nht  
và nhng phn tca tp hp hin tại. Người dùng thc hin các truy vn ca thành  
viên trên tập S dưới dạng ”phần te có trong tập S không?”, nhưng thay vì liên hệ trc  
tiếp vi ngun, nó truy vn đường dn. Đường dn cung cấp cho người dùng vi câu  
trlời đúng/sai để truy vấn đồng thi câu trli thông tin xác thực, để tiến hành chng  
thc câu trlời được lp ráp bng cách kết hp các tài liệu được ký bi nguồn. Người  
dùng sau đó xác minh chứng thc bng cách duy nht là tin vào ngun và các thông tin  
được công bvngun cho phép kim tra chký ca ngun [8].  
9
     
Hình 4 Từ điển xác thc  
Có hai loi từ điển đưc dùng trong hthng gán nhãn là:  
- Sdng Merkle tree.  
- Sdng skip list.  
1.2.2.2 Mc tiêu ca thiết kế  
Thiết kế ca từ điển xác thực hướng ti nhng mc tiêu sau:  
- Chi phí tính toán thp: vic tính toán trong mi phn ( nguồn, đường dn,  
người sdụng) nên đơn giản và nhanh. Vic sdng bnhbi cu trúc dữ  
liu htrcho vic tính toán phi nhnht có th.  
- Hn chế vic giao tiếp gia các tng: vic giao tiếp gia ngun và danh mc  
( cp nht thông tin xác thc) và giao tiếp giữa đường dn với người dùng (  
trli thông tin xác thc) nên ginhnht có th.  
- Mức độ an ninh cao: vic xác thc dliu cung cp bởi đường dẫn nên được  
kim chng vi mức độ tin cy cao.  
1.2.2.3 Từ điển xác thc sdng Merkle tree  
1.2.2.3.1 Định nghĩa Merkle tree  
Trong [9] Merkle gii thiu vic sdng cây nhphân trong vic xác thc mt  
lượng ln khóa công khai vi mt giá trị đơn lẻ, cthlà giá trgc của cây. Đó là  
cách mà định nghĩa của cây Merkle được đưa vào sử dng. Nó là mt cây nhphân  
hoàn chnh vi k-bit giá trị liên quan đến mỗi node như giá trị của node là hàm băm  
ca giá trcác node con ca nó.  
10  
       
P là phép gán, nó gán tp ca các node vi tp xâu của chúng có độ dài k.  
Giá trN cần được xác thc là lá thN ca cây. Ta có thchn giá trca lá  
tùy thích, nhưng thông thường là các giá trcủa hàm băm mật mã hc cần được xác  
thc. Trong trường hp này các giá trị đó được gi là tin nh lá. Mt lá có thể được  
chng nhn vi mt giá trị root công khai được biết đến và đường dn xác thc ca nó  
[2].  
Hình 5 Cây merkle vi 8 node lá  
1.2.2.3.2 Đƣờng dn xác thc  
Gi Authh là giá trcủa node anh em có độ cao h trên đường từ lá đến root. Mi  
lá có độ cao 0 và hàm băm của 2 lá có độ cao 1, … Trong cách này, root có độ cao H  
khi cây có 2H = N lá. Vi mỗi lá thì đường dn xác thc là tp {Authh|0 ≤h≤H}. Vì vậy  
lá có thể được xác thc bằng cách: đầu tiên áp dụng hàm băm f cho lá và anh em  
Auth0, sau đó áp dụng f cho kết quvà Auth1, vì vy tt cả đường đi đều ti root. Nếu  
tính được giá trca root bng vi giá trị đã được công khai thì giá trcủa lá được chp  
nhn [2].  
1.2.2.3.3 Gii thut to cây  
Khi xây dng, mi giá trị node được xác định bng giá trcủa các lá bên dưới nó.  
Gii thuật này được gi là TREEHASH . Khi thc hin 2h+1 – 1 bước, nó chứa được ti  
đa h+1 giá trị băm. Giải thut TREEHASH hp nht các giá trca node ở cùng độ  
cao trước khi tính toán lá mi.  
Gii thut TREEHASH(start,maxheight) [2]  
1. Leaf = start;  
11  
     
Stack = empty;  
2. Hp nht: nếu 2 node trên cùng của Stack có cùng độ cao  
Pop P( nright ) và P( nleft ) ra khi Stack  
Tính P( nparent ) = f ( P( nleft ) || P( nright ) )  
Nếu độ cao ca P( nparent ) = maxheight, đưa ra P( nparent  
Push P( nparent ) vào Stack và dng li.  
3. Lá mi:  
)
Tính P( nl ) = LEAFCALC(leaf)  
Push P( nl ) vào Stack  
Tăng leaf  
4. Quay lại bước 2.  
1.2.2.3.4 Sdng Merkle tree trong hthng gán nhãn  
Trong hthng Surety [7], hai cây merkle được sdụng để lưu trữ các giá trị  
băm của văn bản và xây dựng đường dn xác thc cho mỗi văn bản đó.  
Cây Merkle thnhất được sdng khi mà hthng nhận được giá trị băm của  
văn bản, nó lưu giá trị băm này và nhãn thời gian tương ứng vào Surety’s Universal  
Registry. Xảy ra trường hp nhiều văn bản có cùng nhãn thi gian, Surety gii quyết  
vấn đề này bng cách sdng Merkle tree. Trong ví dnày, các giá trị băm của văn  
bn ở các node dưới cùng được gán cùng timestamp. Vic tính toán giá trị băm trung  
gian được kết hp với nhau cho đến khi đạt ti node root .  
12  
 
Hình 6 Merkle tree ca các tài liu cùng nhãn thi gian  
Giá trcủa node root sau đó được kết hp vi giá trcui cùng ca SHV  
(Summery Hash Value) trong chuỗi băm.  
Hình 7 Chui các giá trị băm đƣợc kết ni vi nhau  
Vic tính toán AHV (Aggregate Hash Value) để công bố cũng bằng cách to  
Merkle Tree thhai sdng tt ccác bn ghi SHV trong chui. Tng cp ca bn ghi  
được kết hp với nhau cho đến khi kết qucuối cùng được tính ra. Để cho giá trnày  
được sdụng để xác nhn bt kmt file gốc điện tnào, thành phn của đường dn  
được sdng trong vic tính toàn cần được biết đến. Như việc đã nói đến trên, giá trị  
băm của một vài file điện tử được gi trong cùng ca strong sut quá trình tính toán  
ca SHV. Các giá trị này được kết hp vi nhau vào chuỗi băm. Cây nhị phân ca tt  
cả các SHV được to ra và tính toán giá trAHV.  
13  
   
Hình 8 Cây Merkle tng hp giá trAHV  
1.2.2.4 Từ điển xác thc sdng SkipList  
1.2.2.4.1 SkipList  
Cu trúc dliu Skiplist [8] lưu trữ hiu qutp S các phn tttp hp yêu  
cu. Nó htrcác phép toán sau:  
- Find(x) : xác định xem phn tx có trong S hay không.  
- Insert(x): chèn thêm x vào S.  
- Delete(x): xóa phn tx khi S.  
14  
     
Hình 9 Ví dSkiplist  
Một skip list lưu một tp S các phn tca mt lot danh sách liên kết S0,S1,…,  
St. Danh sách cơ sở S0 lưu tất ccác phn tca S theo thtự, cũng như liên kết vi  
các phn tử đặc bit -∞ và +∞ . Mỗi danh sách kế tiếp Si, với i ≥ 1, lưu một ví dca  
phn ttrong Si-1. Để định nghĩa ví dụ tmt mức này đến mc kết tiếp, chn mi  
phn tca Si-1 mt cách ngu nhiên vi xác sut ½ là vào trong Si. Các phn tử đầu  
cui -∞ và +∞ luôn luôn được đưa vào trong mức lên tiếp theo, và mc cao nht,t,  
nó được duy trì để luôn là O(log n). Mc cao nhất được đảm bo là chỉ có đầu cui. Vì  
thế phân bit node trên cùng danh sách St u giá tr-∞ như là node bắt đầu s.  
Phn ttn ti trong Si-1 nhưng không ở trong Si phn tcao nguyên ca tp Si-1.  
Phn tcSi và Si-1 được gi là phn ttháp Si-1. Gia hai phn ttháp nào  
cũng có vài phần tcao nguyên. Tronsg xác định skiplist, số lượng ca phn tcao  
nguyên gia hai tháp ít nht là mt và nhiu nht là ba. Số lượng mong đợi ca phn  
tcao nguyên gia hai phn ttháp là mt.  
Đối vi mi node v thuc Si, biu din phn tử được lưu tại v là elem(v). Bên  
cạnh đó, biểu din node trong Si-1 bên dưới v là down(v), node này lưu phần tử tương  
tự như v, khi i = 0 thì down(v)=null. Tương tự, biu din right(v) là node trong Si ngay  
bên phi ca v, khi v là phn tcuối lưu +∞ thì right(v)= null.  
Để thc hin vic tìm kiếm phn tx trong skiplist, bắt đầu vi node bắt đầu s.  
Ly v biu din node hin ti trong quá trình tìm kiếm( khi to v = s). Quá trình tìm  
kiếm sdụng hai hành động, hop forward và drop down, được lặp đi lặp lại cho đến  
khi kết thúc tìm kiếm.  
- Hop forward: tiến vbên phi ca danh sách hin tại cho đến khi tìm thy  
node ca danh sách hin ti vi phn tln nht mà bé hoc bng vi x.  
Trong khi elem(right(v)) < x, cp nht v = right(v).  
15  
 
- Drop down: nếu down(v) = null, vic tìm kiếm kết thúc: node v lưu phần tử  
ln nht trong skiplist mà nhỏ hơn hoặc bng x. Nếu không thì cp nht v =  
down(v).  
Vòng lp ngoài ca quá trình tìm kiếm vn tiếp tục khi mà down(p) ≠ null, chạy  
bên trong vòng lp một hop forward được theo sau bi mt drop down. Sau khi hoàn  
thành mt chuỗi các bước forward và drop down, cui cùng gp node v vi down(v) =  
null. Nếu tại điểm này, elem(v) = x thì đã tìm ra phần tx. Nếu không v là node ca  
danh sách cơ sở vi phn tln nht nhỏ hơn x; cũng như vậy, trong trường hp này,  
right(v) là node của danh sách cơ sở vi phn tnhnht lớn hơn x, là  
elem(v)<x<elem(right(v)).  
Hình 10 Tìm kiếm giá tr39 trong skiplist  
Tiến trình tìm kiếm trên chy trong khong thời gian mong đợi là O(log n), vì  
vy, vi xác suất cao, độ cao t ca skiplist ngu nhiên là O(log n) và số lượng mong  
mun của node được thăm ở bt kmức nào là ba. Hơn nữa, các nghiên cu thc  
nghiệm thường tốt hơn 2-3 cây, cây đỏ-đen, và các kiến trúc cây tìm kiếm khác.  
Để chèn thêm mt phn tx, ta phải xác định danh sách nào cha phn tmi x  
bng mt chui các mô phỏng tung đồng xu. Bắt đầu với i = 0, khi đồng xu là mt  
nga, sdụng stack A để ln vết đường quay li vtrí ca danh sách Si+1 nơi mà x nên  
đến, thêm node mới lưu x vào danh sách này, đặt i = i +1. Tiếp tc quá trình chèn cho  
đến khi đồng xu là mt sp. Nếu mà đạt ti mc cao nht vi quá trình chèn này thì  
thêm mc cao nht mới vào đỉnh ca mc hin ti. Thi gian của phương thức chèn  
này là O(log n) vi xác suất cao. Để xóa phn tử đã tồn ti x, loi btt ccác phn tử  
chứa x. Độ phc tp ca gii thut này là O(log n) vi xác sut cao.  
16  
 
1.2.2.4.2 Sdng skiplist trong hthng gán nhãn  
Từ điển xác thc bao gm một skiplist trong đó mỗi node v lưu nhãn được tính ra  
tcác phn tca tp hp bằng hàm băn mật mã giao hoán h [8].  
Đối vi mỗi node v, định nghĩa nhãn f(v) trong giá trị tương ứng ti node  
w=right(v) và u = down(v). Nếu right(v) = null, định nghĩa f(v) = 0. Định nghĩa của  
f(v) theo cách thông thường phthuc vào u tn tại hay không đối vi node v.  
1. u = null, v mức cơ sở:  
(a) Nếu w là node tháp, f(v) = h(elem(v),elem(w))  
(b) Nếu w là node cao nguyên thì f(v) = h(elem(v),f(w))  
2. u ≠ null, v không ở mức cơ sở:  
(a) Nếu w là node tháp thì f(v) = f(u)  
(b) Nếu w là node cao nguyên thì f(v) = h(f(u),f(w))  
Sau khi thc hin vic cp nht trong skiplist, các giá trị băm phải được thay đổi  
để phn ánh sự thay đổi đã xảy ra. Phn thời gian tính toán tăng lên cho việc cp nht  
tt ccác giá trị này được dkiến là O(log n).  
Vic xác minh câu trli cho các truy vấn khá đơn giản, do tính hu dng ca  
hàm băm giao hoán. Nhắc li mục đích là tạo ra vic xác minh trong cả trường hp  
mt vài phn tx có hoặc không có trong skiplist. Trong trường hp câu trli là có,  
ta xác minh shin din ca nó. Nếu không ta xác minh shin din ca hai phn tử  
x’ và x” được lưu ở hai node liên tiếp ti mức đáy S0 với x’<x<x”. Trong trường hp  
còn li, câu trli thông tin xác thc là mt chuỗi đơn các giá trị, cùng vi chký,  
timestamp, nhãn f(s) ca node bắt đầu s.  
1.2.3 Chký s- Digital signature  
1.2.3.1 Định nghĩa  
Mt chký shoặc lược đồ chký s[12] là một lược đồ toán học để chng  
minh định danh người gi ca mt thông báo hoc tài liu s. Mt chký shp lệ  
cho phép bên gi chng minh vi bên nhn rng tin nhn do chính mình to ra, gi  
đến và không bị thay đổi ni dung trong quá trình truyn. Chký số được sdng phổ  
biến để phân phi phn mm, giao dịch tài chính, và trong trường hợp khác, nơi mà  
điều quan trọng là để phát hin gimo và scan thip.  
17  
     
Chký số thường được sdụng để thc hin chữ ký điện t, mt thut ngrng  
hơn mà đề cập đến bt kdliệu điện tử, trong đó mang đến ý nghĩa của mt chký,  
nhưng không phải tt cchữ ký điện tsdng chký s. Trong mt squc gia, bao  
gm Hoa K, và các thành viên ca Liên minh châu Âu, chữ ký điện tử có ý nghĩa  
pháp lý. Tuy nhiên, pháp luật liên quan đến chữ ký điện tluôn luôn không rõ ràng  
cho dù đó là mật mã schữ ký theo nghĩa được sdng ở đây, để định nghĩa pháp lý,  
và như vậy tm quan trng ca chúng.  
Chký slà mt ng dng ca mật mã không đối xứng. Đối vi thông tin được  
gi thông qua mt kênh không bo mt, vic trin khai chký smột cách đúng đắn  
làm cho người nhn tin rng tin nhắn được gi bởi người gi. Chký số tương đương  
vi chký viết tay truyn thng nhiu khía cnh; vic trin khai chký slàm cho  
vic gimo khó hơn so với kiu viết tay. Đề án chký số theo nghĩa được sdng ở  
đây là da vào mã hóa, và phải được thc hin có hiu qu. Chký số cũng có thể  
cung cp không thể thoái thác, nghĩa là người ký không phi bồi thường nhng thông  
báo hkhông ký vào, trong khi cũng đòi khóa riêng của hvn còn bí mật; hơn nữa,  
mt số đề án chng thoái thác đưa ra một nhãn thi gian cho chký số, do đó ngay cả  
khi khoá bí mt bl, chký là vn hp l. Những thông báo điện tử được ký là bt cứ  
điều gì có thể được biu diễn như một xâu bit: ví dbao gồm thư điện t, hợp đồng,  
hoc mt tin nhắn được gi qua mt sgiao thc mt mã khác.  
1.2.3.2 Gii thut chký số  
Gii thut chký s[13] (Digital Signature Algorithm, viết tt DSA) là chun  
ca chính phMhoc FIPS cho các chký s. Gii thuật này được đề nghbi Vin  
các tiêu chun và công nghquc gia (NIST) vào tháng 8/1991 để sdng trong  
chun chký số (DSS), được chra trong FIPS 186, được chp nhận năm 1993. Một  
sửa đổi nhỏ được đưa ra năm 1996 trong FIPS 186-1, chuẩn được mrộng hơn năm  
2000, được xem như FIPS 186-2.  
Gii thut chký sgm ba gii thut chính là :  
- Gii thut to khóa bng vic la chn khóa bí mt gn ngu nhiên nht từ  
mt tp có thca các khóa bí mt. Gii thut cho ra khóa bí mt và khóa  
công khai tương ứng.  
- Gii thuật ký, đưa vào thông báo và khóa bí mật, to ra chký.  
- Gii thut xác thc chữ ký: đưa vào thông báo, khóa công khai và chký,  
có thchp nhn hoc không yêu cu xác thc ca thông báo.  
18  
 
Hình 11 Quá trình ký và xác thc chký số  
Hai thuật toán đầu là bt buc. Đầu tiên, mt chữ ký được to ra tmt thông  
báo cố định và khóa riêng cố định nên xác minh tính xác thc ca thông báo bng cách  
sdng khóa công khai tương ứng. Thhai, không ththc hin vic tính toán để to  
ra mt chký hp lcho bên không có khóa riêng.  
Trong hệ thống gán nhãn thời gian đơn giản [4], chữ ký số được TSA sử dụng để  
ký vào chứng nhận mà nó gửi cho người dùng. Nhờ việc sử dụng chữ ký số, người  
dùng có thể xác định được chứng nhận là do TSA cấp .  
Trong thực tế, Electronic Time-Stamping (e-TS) [10] và e-timestamp [11] của  
Digistamp Inc là sự kết hợp giữa kỹ thuật băm và kiến trúc khóa công khai (Public  
Key Infastructure – PKI). Như hình dưới, client sử dụng hàm băm SHA-256 để tạo ra  
dấu văn tay (fingerprint) và gửi nó đến TSA. Digistamp sử dụng chương trình tạo  
timestamp bảo mật để thêm thời gian và ký vào bản ghi sử dụng khóa bí mật của nó.  
Đề án này có thể trả lời rõ ràng cho câu hỏi “ai” và “cái gì” của quá trình xác thực  
nhưng câu trả lời “khi nào” không được chấp nhận vì phụ thuộc vào mức độ bảo mật  
của khóa.  
19  
 
Hình 12 Sdng chký strong hthng e-timestamp  
Giao thức liên kết có thể giải quyết vấn đề này bằng việc kiểm tra chắc chắn rằng  
một yêu cầu nhãn thời gian đã được liên kết với các nhãn khác đến trước và sau nó, do  
đó yêu cầu hay thậm chí là fingerprint gửi đến từ client được nối và được băm với đối  
tượng bên cạnh nó theo thứ tự mà các yêu cầu đến.  
1.2.4 Ngun thi gian Time Source  
Để hữu ích thì hệ thống gãn nhãn phải có thời gian được công nhận bởi tất cả  
mọi dùng. Để thực hiện việc này, [3] đưa ra giao thức NTP (Network Time  
Protocol)để đồng bộ hóa các đồng hồ của mỗi máy tính. Belnet cung cấp dịch vụ NTP.  
Giao thức thời gian mạng - Network Time Protocol ( NTP version 3, RFC 1305)  
,là mt giao thc phc tp cho phép hthng có thliên tục đồng bộ đồng hca nó  
chng li thi gian ca nhiu server ( bo vchng li shng hóc ca server trong  
thi gian ngn), vi sự điều chỉnh cho độ trca mng và sxê dch của đồng h. Mc  
đích của nó là đồng bhóa các máy tính vi nhau và vi tham chiếu chung Universal  
Time, Coordinated thông qua Internet.  
NTP cho phép máy tính kết ni vi mng Internet có thbiết với độ chính xác đo  
được thời điểm hin ti là my gi. Dch vthời gian này được cung cp trên mng  
Internet bi các trm làm vic và các router trên khp thế gii.  
20  
   
Chƣơng 2. MT VÀI HTHNG GÁN NHÃN THI GIAN  
2.1 Hthng trên lý thuyết  
2.1.1 Hthống đơn giản  
Thiết kế này được trình bày trong [4]. Giải pháp đơn giản nht cho hthng  
timestamp là sdng bên tin cy thứ ba, đó là Time Stamp Authority (TSA) . TSA mở  
rng mi yêu cu vi ngày và thi gian hin ti và ký vào kết quả để to ra  
timestamp.Thiết kế này sdụng hàm băm để nén văn bản gi ti TSA. Vic này cho  
phép lưu trữ bn gc dliu mt cách bo mt, làm giảm băng thông và nơi lưu giữ  
cn thiết, làm tăng hiu qu. Hthống này được xây dng sdụng hàm băm mật mã  
và ngun thời gian đã được gii thiu ở các chương trước .  
Hình 13 Hoạt động ca hthống gán nhãn đơn giản  
Quá trình gán nhãn hoạt động như sau:  
- Client C gửi định danh và giá trị băm của văn bản (X) cn gán nhãn lên  
Server TSA ( Time-Stamping Authority) : client gi IDc , h(X).  
- TSA gi li chng nhn timestamp T=SK(IDC, h(X) , n , t), trong đó n là số  
thtca chng nhn, t là ngày và thi gian hin ti, SK là chữ ký điện tử  
ca TSA.  
- Client nhận được chng nhn và kim tra xem nó có phải được ký bi TSA  
hay không, chng nhận đó bao gồm giá trị băm của văn bản client mun gán  
nhãn và thi gian chính xác.  
Quá trình xác thc tương tự như quá trình gán nhãn, văn bản cũng được băm ra  
và kết hp với time stamp có được từ quá trình gán nhãn để xác thực xem văn bản hp  
lệ hay không theo các bước sau:  
21  
     

Tải về để xem bản đầy đủ

pdf 48 trang yennguyen 10/06/2025 80
Bạn đang xem 30 trang mẫu của tài liệu "Khóa luận Nghiên cứu và xây dựng một hệ thống gán nhãn thời gian", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.

File đính kèm:

  • pdfkhoa_luan_nghien_cuu_va_xay_dung_mot_he_thong_gan_nhan_thoi.pdf