0
Tải bản đầy đủ (.pdf) (48 trang)

Hệ thống dựa trên giao thức liên kết

Một phần của tài liệu NGHIÊN CỨU VÀ XÂY DỰNG MỘT HỆ THỐNG GÁNNHÃN THỜI GIAN (Trang 31 -35 )

Thiết kế này được trình bày trong [3], hệ thống được chia ra làm ba phần: bên client, bên server và bên xác thực.

Bên Client: Người dùng có 1 phần mềm để giúp họ thực hiện nhiệm vụ. Client chọn văn bản mà nó muốn gán nhãn thời gian. Văn bản này bao gồm hầu hết mọi thứ : text file, sound file, image, video, … Phần mềm đó tạo ra 1 luồng dữ liệu tạm thời bao gồm giá trị băm của văn bản với hàm băm SHA-1 được theo sau bởi giá trị băm của các văn bản tương tự với hàm băm RIPEMD-160. Bằng cách tạo ra sự bắt buộc này, chúng ta chắc chắn rằng yêu cầu đủ ngắn và tránh các câu hỏi của việc kiểm tra nội dung chứa bên trong (về mặt riêng tư). Yêu cầu được gửi đến TSA, tại đây nó được thực thi và gửi lại chứng nhận thời gian (time certificate).

Bên server (TSA):

- Server thực thi theo vòng. Tất cả các vòng đều có khoảng thời gian giống

nhau ( bất kì slot time hợp lý nào cũng lên đến 1s) mà được cố định từ trước. Server sẽ bắt đầu thực thi các yêu cầu ngay khi nó nhận được chúng. Nó sẽ đưa ra giá trị cho mỗi vòng và cũng được kết nối với vòng trước. Với khái niệm này, cần thiết cho TSA đợi hết vòng để đưa ra nhãn thời gian cho các văn bản thuộc vòng này. Thời gian lớn nhất cho câu trả lời của TSA và giới hạn thời gian của vòng sẽ được định nghĩa lúc thực hiện. Cho phép TSA có

23

độ trễ trong việc đưa ra timestamp, nhưng nó nhất định phải gán nhãn thời gian cho văn bản ở vòng phù hợp với slot time bao gồm thời gian đến của yêu cầu từ client.

- Server lấy thời gian ở một nguồn đáng tin cậy ( trình bày ở chương 5).

- TSA xây dựng đồng thời hai cây nhị phân khi nó nhận được yêu cầu. Một

cây chứa giá trị băm của văn bản sử dụng hàm băm SHA-1 và cây còn lại chứa giá trị được tạo ra bởi hàm băm RIPEMD-160.

Hình 14 Cây Merkle với 7 yêu cầu đƣợc gửi

- Tiếp đó giá trị gốc (HVi) sẽ được nối với giá trị vòng trước đó (SHVi-1) để

lấy ra giá trị vòng hiện tại (SHVi).

24

- Giá trị SHVi được lưu bởi TSA. TSA sẽ đánh dấu vào chúng và đặt trên

online server. Phải chắc chắn rằng chỉ có TSA mới có thể viết hoặc sửa giá trị trên đó. Các giá trị đã được đánh dấu để ngăn chặn tấn công trong suốt quá trình truyền thông giữa client hoặc verifier với online server. Đối với việc chứng minh, các giá trị vòng sẽ được đánh dấu đơn giản và tồn tại trực tuyến. Nhưng đối với version thực tế tin cậy của dịch vụ timestamping, ít nhất một vòng giá trị phải được xuất bản rộng rãi như là đã được giải thích trước cho mỗi ngày. Mục đích của việc này là cho phép bên xác thực có được giá trị mà TSA không thể sửa đổi sau khi sinh ra. Giá trị này phải được công bố rộng rãi để làm cho nó không thể thay đổi được.

Bên xác thực: hệ thống này sử dụng bên thứ ba để xác thực nhãn thời gian có hợp lệ hay không. Giả sử bên xác minh có thể kiểm tra sự an toàn của chữ ký bên TSA. Khi bên xác minh kiểm tra tính hợp lệ của timestamp ban hành bởi TSA, nó sẽ kiểm tra chứng nhận. Nếu nó hợp lệ, bên xác thực sẽ tiếp xúc với dịch vụ trực tuyến để có được giá trị của vòng phù hợp với thời gian mà chứng nhận được đưa ra và so sánh nó với một trong những chứng nhận. Nếu bên xác thực tin rằng TSA thực sự trung thực , nó có thể kiểm tra giá trị cho vòng của bên thứ ba hoặc hỏi tất cả giá trị của vòng trong khoảng phù hợp giữa hai giá trị được xuất bản và kiểm tra rằng liên kết là hợp lệ.

Các bước thực thi của hệ thống:

25

1. h : SHA-1

h’ :RIPEMD-160

Client gửi yêu cầu (yij

h , yij h’ ) đến STA, với yij h = h(yij).

2. TSA tính cây và các giá trị cho vòng được giải thích trong phần trên.

3. TSA đánh dấu và lưu giá trị HVi, SHVi (phù hợp với h) và HVi’, SHVi’ (phù

hợp với h’) cho vòng ràng buộc bởi số i và thời gian ti của vòng.

4. TSA công bố các giá trị đã đánh dấu HVi, SHVi và HVi’, SHVi’ với nhau và

với các thông tin ràng buộc của chúng cho vòng trên site trực tuyến.

5. TSA gửi chứng nhận C cho client. Trong ví dụ, nếu yêu cầu của client là số

4 trong vòng , chứng nhận có dạng :

S là chữ ký cung cấp bởi TSA, ti là thời gian bắt đầu của vòng i. Có nghĩa là

văn bản đã được đăng ký giữa ti và ti+1. Giá trị y và y không cần thiết trong chứng nhận bởi vì chúng có thể lấy ra từ văn bản đã được chứng nhận nhưng nó hơi thừa, điều đó rất hữu dụng cho việc thực thi.

6. Client kiểm tra chứng nhận của nó. Đầu tiên là kiểm tra chữ ký, sau đó xây

lại hai cây, tính toán vòng giá trị SHVi và SHVi’ và so sánh nó với giá trị chứa trong chứng nhận. Sau đó nó có thể hỏi online server để xác thực vòng giá trị ở trong chứng nhận.

7. Client yêu cầu bên xác thực là anh ta đã tạo ra văn bản này tại thời điểm phù

hợp với vòng i. Bên xác thực (verifier) nói chuyện với client về cái chứng nhận của văn bản.

8. Client gửi yêu cầu chứng nhận tới bên xác thực cũng như nhận dạng của

TSA.

9. Bên xác thực làm việc xác minh như client trong bước 6.

10.Sau đó bên xác thực hỏi online server về các giá trị của vòng i: ti, SHVi,

SHVi’ và tất cả giá trị cần thiết xây lại chuỗi giữa hai giá trị được công bố

26

11.online server gửi vòng các giá trị SHV, SHV’ và giá trị HV, HV’ cần thiết

để xây dựng lại cái chuỗi mà ít nhất giá trị đầu và cuối đã được công bố.

12.Bên xác thực kiểm tra giá trị của vòng i có trùng với các giá trị trong chứng

nhận hay không, và xây dựng lại chuỗi để xác minh tính toàn vẹn của TSA.

13.Cuối cùng, bên xác thực gửi kết quả của việc xác minh cho client.

Bên xác thực nên có lựa chọn cho việc chỉ kiểm tra chứng nhận đối với một hàm băm. Việc chỉ kiểm tra một hàm băm trong hai hàm để nâng cao tốc độ bởi vì nó chỉ cần kiểm tra phần của chứng nhận sử dụng một hàm băm khi cái kia bị phá hoại.

Một phần của tài liệu NGHIÊN CỨU VÀ XÂY DỰNG MỘT HỆ THỐNG GÁNNHÃN THỜI GIAN (Trang 31 -35 )

×