Mật mã khóa tạm thời
Mật mã khóa tạm thời là một dạng mật mã khóa công khai trong đó các cặp khóa được tạo và gán cho các khoảng thời gian ngắn thay vì cho cá nhân hoặc tổ chức, và các khối dữ liệu mã hóa được liên kết qua thời gian. Trong hệ thống khóa tạm thời, các khóa riêng tư được sử dụng trong thời gian ngắn rồi bị tiêu hủy, đó là lý do tại sao nó đôi khi có biệt danh là “mật mã dùng một lần”. Dữ liệu mã hóa
Tổng quan
Mật mã khóa tạm thời là một dạng mật mã khóa công khai trong đó các cặp khóa được tạo và gán cho các khoảng thời gian ngắn thay vì cho cá nhân hoặc tổ chức, và các khối dữ liệu mã hóa được liên kết qua thời gian. Trong hệ thống khóa tạm thời, các khóa riêng tư được sử dụng trong thời gian ngắn rồi bị tiêu hủy, đó là lý do tại sao nó đôi khi có biệt danh là “mật mã dùng một lần”. Dữ liệu được mã hóa bằng khóa riêng tư liên kết với một khoảng thời gian cụ thể có thể được liên kết không thể chối cãi với khoảng thời gian đó, làm cho mật mã khóa tạm thời trở nên cực kỳ hữu ích cho việc đóng dấu thời gian đáng tin cậy kỹ thuật số. Mật mã khóa tạm thời được phát minh vào năm 1997 bởi Michael Doyle thuộc Eolas, và đã được áp dụng trong Tiêu chuẩn ANSI ASC X9.95 về dấu thời gian đáng tin cậy.
Khóa công khai so với khóa tạm thời
Cả hệ thống khóa công khai và khóa tạm thời đều có thể được sử dụng để tạo chữ ký số nhằm khẳng định rằng một đoạn dữ liệu nhất định không thay đổi kể từ khi nó được ký. Nhưng sự tương đồng kết thúc ở đó. Trong một hệ thống khóa công khai truyền thống, cặp khóa công khai/riêng tư thường được gán cho một cá nhân, máy chủ hoặc tổ chức. Dữ liệu được ký bằng khóa riêng tư khẳng định rằng chữ ký đến từ nguồn được chỉ định. Các cặp khóa tồn tại trong nhiều năm, vì vậy thành phần riêng tư phải được bảo vệ cẩn thận chống lại việc bị tiết lộ; trong hệ thống khóa công khai, bất kỳ ai có quyền truy cập vào khóa riêng tư đều có thể làm giả chữ ký số của người đó. Tuy nhiên, trong các hệ thống khóa tạm thời, cặp khóa được gán cho một khoảng thời gian ngắn, chứ không phải cho một người hoặc thực thể cụ thể. Dữ liệu được ký bằng một khóa riêng tư cụ thể sẽ gắn liền với một thời gian và ngày tháng cụ thể. Một cặp khóa chỉ hoạt động trong vài phút, sau đó khóa riêng tư sẽ bị tiêu hủy vĩnh viễn. Do đó, không giống như các hệ thống khóa công khai, hệ thống khóa tạm thời không phụ thuộc vào tính bảo mật lâu dài của các khóa riêng tư.
Thiết lập tính toàn vẹn của dữ liệu
Trong hệ thống khóa tạm thời, nguồn thời gian phải là một tiêu chuẩn nhất quán được hiểu bởi tất cả người gửi và người nhận. Vì đồng hồ hệ thống cục bộ có thể bị người dùng thay đổi, nên nó không bao giờ được sử dụng làm nguồn thời gian. Thay vào đó, dữ liệu được ký kỹ thuật số bằng giá trị thời gian lấy từ Giờ Phối hợp Quốc tế (UTC) chính xác đến từng mili giây, tuân theo tiêu chuẩn ANSI ASC X9.95 về Đóng dấu thời gian đáng tin cậy. Bất cứ khi nào một khoảng thời gian trong hệ thống khóa tạm thời hết hạn, một cặp khóa công khai/riêng tư mới sẽ được tạo và khóa riêng tư từ khoảng thời gian trước đó được sử dụng để chứng nhận kỹ thuật số cho khóa công khai mới. Khóa riêng tư cũ sau đó bị tiêu hủy. Hệ thống "chuỗi khóa" này là tổ tiên trực tiếp của công nghệ Blockchain đang thịnh hành ngày nay. Đối với khoảng thời gian mới, các giá trị thời gian được lấy từ nguồn bên thứ ba đáng tin cậy và các thời điểm cụ thể có thể được nội suy giữa các thời gian nhận được bằng cách sử dụng phương pháp lệch thời gian dựa trên bộ đếm thời gian hệ thống nội bộ. Nếu không thể lấy được nguồn thời gian đáng tin cậy hoặc nguồn đó không chạy trong dung sai được chỉ định, các khóa riêng tư tạm thời sẽ không được cấp. Trong trường hợp đó, chuỗi khoảng thời gian sẽ bị chấm dứt và một chuỗi mới sẽ bắt đầu. Các chuỗi cũ và mới được kết nối thông qua các kho lưu trữ mạng, cho phép tất cả các máy chủ tiếp tục xác minh tính toàn vẹn của dữ liệu theo thời gian đối với dữ liệu được bảo vệ, bất kể chuỗi phải được khởi động lại bao nhiêu lần. Thời gian bắt đầu của chuỗi và của từng khoảng thời gian có thể được kết hợp lại với nhau để tạo thành một chuỗi khóa công khai liền mạch, có thể được sử dụng cho các mục đích sau:
Xác định không thể chối cãi thời điểm tập dữ liệu được ký. Để xác định trạng thái chính xác của dữ liệu tại thời điểm nó được ký. Như một biện pháp bảo mật bổ sung, tất cả các yêu cầu chữ ký được thực hiện trong một khoảng thời gian được lưu trữ trong một nhật ký được nối và tự động gắn vào khóa công khai ở đầu khoảng thời gian tiếp theo. Cơ chế này làm cho việc chèn các “sự kiện đã ký” mới vào chuỗi khoảng thời gian sau sự kiện là không thể.
Xác minh chéo
Thông qua các máy chủ hoạt động độc lập, việc chứng nhận chéo có thể cung cấp bằng chứng từ bên thứ ba về tính hợp lệ của chuỗi khoảng thời gian và bằng chứng không thể chối cãi về sự đồng thuận về thời gian hiện tại. Các hệ thống mật mã khóa tạm thời hiển thị khả năng dung sai lỗi Byzantine cao. Một mạng lưới các máy chủ chứng nhận chéo được kết nối với nhau trong một môi trường phân tán tạo ra một chuỗi tin cậy được chứng kiến rộng rãi, mạnh mẽ như mắt xích mạnh nhất của nó. Ngược lại, toàn bộ hệ thống phân cấp của các hệ thống khóa công khai truyền thống có thể bị xâm phạm nếu một khóa riêng tư duy nhất bị lộ. Một chuỗi khoảng thời gian khóa tạm thời riêng lẻ có thể được chứng nhận chéo với các chuỗi khóa tạm thời và thể hiện máy chủ khác. Thông qua chứng nhận chéo, Máy chủ A ký chuỗi khoảng thời gian của Máy chủ B, trong đó dữ liệu được ký là định nghĩa khoảng thời gian. Trên thực tế, các khóa riêng tư từ Máy chủ B được sử dụng để ký các khóa công khai của Máy chủ A. Trong sơ đồ, một thể hiện máy chủ được chứng nhận chéo với hai thể hiện máy chủ khác (màu xanh dương và màu cam). Chứng nhận chéo yêu cầu dấu thời gian cho khoảng thời gian phải khớp với dấu thời gian của máy chủ chứng nhận chéo trong dung sai có thể chấp nhận được, do người dùng định nghĩa và thường kéo dài trong vài trăm mili giây.
Kho lưu trữ mạng
Cùng với các khoảng thời gian, các chứng nhận chéo được lưu trữ trong một kho lưu trữ mạng. Trong một mạng khóa tạm thời, kho lưu trữ là một cơ sở dữ liệu logic có thể được lưu trữ và sao chép trên bất kỳ hệ thống nào để cho phép xác minh dữ liệu đã được đóng dấu thời gian và ký bởi các khóa tạm thời. Bản đồ của tập hợp các kho lưu trữ có thể truy cập được lưu trữ trong mọi chữ ký số được tạo trong hệ thống. Bất cứ khi nào các chứng nhận chéo hoàn tất vào đầu một khoảng thời gian, bản đồ kho lưu trữ sẽ được cập nhật và xuất bản cho tất cả các máy chủ trong mạng.
Xác minh
Trong một khoảng thời gian, khóa riêng tư tạm thời được sử dụng để ký dữ liệu được nối với các dấu thời gian đáng tin cậy và chứng chỉ xác thực. Để xác minh dữ liệu vào thời điểm sau đó, người nhận truy cập vào khóa công khai cố định cho khoảng thời gian thích hợp. Khóa công khai áp dụng cho chữ ký số có thể được chuyển qua các quy trình mật mã đã xuất bản để giải nén mã băm của dữ liệu ban đầu, sau đó được so sánh với mã băm mới của dữ liệu được lưu trữ để xác minh tính toàn vẹn của dữ liệu. Nếu chữ ký giải mã thành công bằng cách sử dụng khóa công khai đã xuất bản của một khoảng thời gian cụ thể, người nhận có thể chắc chắn rằng chữ ký bắt nguồn từ khoảng thời gian đó. Nếu mã băm đã giải mã và mã băm mới khớp nhau, người nhận có thể chắc chắn rằng dữ liệu chưa bị giả mạo kể từ khi khóa riêng tư tạm thời tạo dấu thời gian và ký dữ liệu. Mật mã khóa tạm thời được phát minh vào năm 1997 bởi Michael D. Doyle thuộc Eolas Technologies Inc., khi đang làm việc trong Dự án Phôi Thai Nhìn Thấy (Visible Embryo Project) và sau đó được mua lại cũng như thương mại hóa bởi ProofSpace, Inc. Nó đã được áp dụng làm tiêu chuẩn quốc gia trong tiêu chuẩn ANSI ASC X9.95 về Đóng dấu thời gian đáng tin cậy. Mật mã khóa tạm thời là tiền thân của Tính bảo mật chuyển tiếp (Forward secrecy) và tạo thành nền tảng của công nghệ chuỗi chữ ký chuyển tiếp trong hệ thống chuỗi khối Bitcoin.
Xem thêm
Mật mã không cần chứng chỉ Mã hóa dựa trên chứng chỉ
Những người đóng góp Wikipedia · Mật mã khóa tạm thời · phiên bản 1296626947 · CC BY-SA 4.0 · Đã trích xuất văn bản và điều chỉnh định dạng; thẻ dựa trên các chủ đề liên kết.