DPKI: loại bỏ những thiếu sót của PKI tập trung bằng blockchain

DPKI: loại bỏ những thiếu sót của PKI tập trung bằng blockchain

Không có gì bí mật khi một trong những công cụ phụ trợ được sử dụng phổ biến mà không thể bảo vệ dữ liệu trong các mạng mở là không thể, đó là công nghệ chứng chỉ số. Tuy nhiên, không có gì bí mật khi nhược điểm chính của công nghệ là sự tin tưởng vô điều kiện vào các trung tâm cấp chứng chỉ số. Giám đốc Công nghệ và Đổi mới tại ENCRY Andrey Chmora đề xuất một cách tiếp cận mới để tổ chức cơ sở hạ tầng nơi công cộng (Cơ sở hạ tầng nơi công cộng, PKI), điều này sẽ giúp loại bỏ những thiếu sót hiện tại và sử dụng công nghệ sổ cái phân tán (blockchain). Nhưng điều đầu tiên trước tiên.

Nếu bạn đã quen với cách hoạt động của cơ sở hạ tầng khóa công khai hiện tại và biết những thiếu sót chính của nó, bạn có thể bỏ qua những gì chúng tôi đề xuất thay đổi bên dưới.

Chữ ký số và chứng chỉ số là gì?Tương tác trên Internet luôn liên quan đến việc truyền dữ liệu. Tất cả chúng ta đều quan tâm đến việc đảm bảo dữ liệu được truyền đi một cách an toàn. Nhưng an ninh là gì? Các dịch vụ bảo mật được tìm kiếm nhiều nhất là tính bảo mật, tính toàn vẹn và tính xác thực. Với mục đích này, các phương pháp mật mã bất đối xứng hoặc mật mã bằng khóa chung hiện đang được sử dụng.

Hãy bắt đầu với thực tế là để sử dụng các phương pháp này, đối tượng tương tác phải có hai khóa được ghép nối riêng lẻ - công khai và bí mật. Với sự giúp đỡ của họ, các dịch vụ bảo mật mà chúng tôi đề cập ở trên sẽ được cung cấp.

Làm thế nào đạt được tính bảo mật của việc chuyển giao thông tin? Trước khi gửi dữ liệu, người đăng ký gửi sẽ mã hóa (chuyển đổi mật mã) dữ liệu mở bằng khóa chung của người nhận và người nhận sẽ giải mã văn bản mã hóa nhận được bằng khóa bí mật được ghép nối.

DPKI: loại bỏ những thiếu sót của PKI tập trung bằng blockchain

Làm thế nào đạt được tính toàn vẹn và xác thực của thông tin được truyền đi? Để giải quyết vấn đề này, một cơ chế khác đã được tạo ra. Dữ liệu mở không được mã hóa nhưng kết quả của việc áp dụng hàm băm mật mã - hình ảnh “nén” của chuỗi dữ liệu đầu vào - được truyền ở dạng mã hóa. Kết quả của việc băm như vậy được gọi là “bản tóm tắt” và nó được mã hóa bằng khóa bí mật của người đăng ký gửi (“nhân chứng”). Kết quả của việc mã hóa bản tóm tắt là thu được chữ ký số. Nó cùng với văn bản rõ ràng sẽ được truyền đến người đăng ký nhận (“người xác minh”). Anh ta giải mã chữ ký số trên khóa chung của nhân chứng và so sánh nó với kết quả của việc áp dụng hàm băm mật mã mà người xác minh tính toán độc lập dựa trên dữ liệu mở nhận được. Nếu chúng khớp nhau, điều này cho thấy rằng dữ liệu đã được người đăng ký gửi truyền đi ở dạng xác thực và đầy đủ và không bị kẻ tấn công sửa đổi.

DPKI: loại bỏ những thiếu sót của PKI tập trung bằng blockchain

Hầu hết các tài nguyên làm việc với dữ liệu cá nhân và thông tin thanh toán (ngân hàng, công ty bảo hiểm, hãng hàng không, hệ thống thanh toán cũng như các cổng chính phủ như dịch vụ thuế) đều tích cực sử dụng các phương pháp mã hóa bất đối xứng.

Chứng chỉ kỹ thuật số có liên quan gì đến nó? Nó đơn giản. Cả quy trình thứ nhất và thứ hai đều liên quan đến khóa chung và vì chúng đóng vai trò trung tâm nên điều quan trọng là phải đảm bảo rằng khóa thực sự thuộc về người gửi (nhân chứng, trong trường hợp xác minh chữ ký) hoặc người nhận, chứ không phải của người nhận. được thay thế bằng chìa khóa của kẻ tấn công. Đây là lý do tại sao chứng chỉ số tồn tại để đảm bảo tính xác thực và tính toàn vẹn của khóa chung.

Lưu ý: tính xác thực và tính toàn vẹn của khóa chung được xác nhận theo cách giống hệt như tính xác thực và tính toàn vẹn của dữ liệu công khai, nghĩa là sử dụng chữ ký số điện tử (EDS).
Chứng chỉ số có nguồn gốc từ đâu?Cơ quan chứng nhận đáng tin cậy hoặc Cơ quan chứng nhận (CA) chịu trách nhiệm cấp và duy trì chứng chỉ kỹ thuật số. Người nộp đơn yêu cầu CA cấp giấy chứng nhận, thực hiện nhận dạng tại Trung tâm đăng ký (CR) và nhận giấy chứng nhận từ CA. CA đảm bảo rằng khóa chung từ chứng chỉ thuộc về chính xác thực thể được cấp.

Nếu bạn không xác nhận tính xác thực của khóa chung thì kẻ tấn công trong quá trình chuyển/lưu trữ khóa này có thể thay thế nó bằng khóa của hắn. Nếu việc thay thế diễn ra, kẻ tấn công sẽ có thể giải mã mọi thứ mà thuê bao gửi truyền đến thuê bao nhận hoặc thay đổi dữ liệu mở theo ý mình.

Chứng chỉ số được sử dụng ở bất cứ nơi nào có mật mã bất đối xứng. Một trong những chứng chỉ kỹ thuật số phổ biến nhất là chứng chỉ SSL để liên lạc an toàn qua giao thức HTTPS. Hàng trăm công ty đã đăng ký ở nhiều khu vực pháp lý khác nhau có liên quan đến việc cấp chứng chỉ SSL. Thị phần chính rơi vào năm đến mười trung tâm đáng tin cậy lớn: IdenTrust, Comodo, GoDaddy, GlobalSign, DigiCert, CERTUM, Actalis, Secom, Trustwave.

CA và CR là các thành phần của PKI, PKI cũng bao gồm:

  • Mở thư mục – cơ sở dữ liệu công cộng cung cấp lưu trữ an toàn các chứng chỉ số.
  • Danh sách các chứng chỉ bị thu hồi – cơ sở dữ liệu công cộng cung cấp khả năng lưu trữ an toàn các chứng chỉ kỹ thuật số của các khóa chung bị thu hồi (ví dụ: do sự xâm phạm của khóa riêng được ghép nối). Các chủ thể cơ sở hạ tầng có thể truy cập độc lập vào cơ sở dữ liệu này hoặc họ có thể sử dụng Giao thức trạng thái chứng nhận trực tuyến (OCSP) chuyên dụng để đơn giản hóa quy trình xác minh.
  • Người dùng chứng chỉ – chủ thể PKI được phục vụ đã ký kết thỏa thuận người dùng với CA và xác minh chữ ký số và/hoặc mã hóa dữ liệu dựa trên khóa chung từ chứng chỉ.
  • Người theo dõi – phục vụ các đối tượng PKI sở hữu khóa bí mật được ghép với khóa chung từ chứng chỉ và đã ký kết thỏa thuận thuê bao với CA. Người đăng ký có thể đồng thời là người sử dụng chứng chỉ.

Do đó, các thực thể đáng tin cậy của cơ sở hạ tầng khóa công khai, bao gồm CA, CR và thư mục mở, chịu trách nhiệm:

1. Xác minh tính xác thực của danh tính người nộp đơn.
2. Lập hồ sơ chứng chỉ khóa công khai.
3. Cấp chứng chỉ khóa công khai cho người nộp đơn đã được xác nhận danh tính một cách đáng tin cậy.
4. Thay đổi trạng thái của chứng chỉ khóa công khai.
5. Cung cấp thông tin về hiện trạng chứng thư khóa công khai.

Nhược điểm của PKI, chúng là gì?Lỗ hổng cơ bản của PKI là sự hiện diện của các thực thể đáng tin cậy.
Người dùng phải tin tưởng vô điều kiện vào CA và CR. Tuy nhiên, như thực tế cho thấy, sự tin tưởng vô điều kiện sẽ gây ra hậu quả nghiêm trọng.

Trong mười năm qua, đã có một số vụ bê bối lớn trong lĩnh vực này liên quan đến lỗ hổng cơ sở hạ tầng.

— vào năm 2010, phần mềm độc hại Stuxnet bắt đầu lan truyền trực tuyến, được ký bằng các chứng chỉ kỹ thuật số bị đánh cắp từ RealTek và JMicron.

- Năm 2017, Google cáo buộc Symantec cấp số lượng lớn chứng chỉ giả. Vào thời điểm đó, Symantec là một trong những CA lớn nhất xét về khối lượng sản xuất. Trong trình duyệt Google Chrome 70, việc hỗ trợ các chứng chỉ do công ty này và các trung tâm liên kết GeoTrust và Thawte của nó cấp đã bị ngừng trước ngày 1 tháng 2017 năm XNUMX.

Các CA đã bị xâm phạm và kết quả là tất cả mọi người đều phải chịu thiệt hại—chính các CA cũng như người dùng và người đăng ký. Niềm tin vào cơ sở hạ tầng đã bị xói mòn. Ngoài ra, chứng thư số có thể bị chặn trong bối cảnh xung đột chính trị, điều này cũng sẽ ảnh hưởng đến hoạt động của nhiều tài nguyên. Đây chính xác là điều mà chính quyền tổng thống Nga lo ngại cách đây vài năm, nơi vào năm 2016, họ đã thảo luận về khả năng thành lập một trung tâm chứng nhận nhà nước sẽ cấp chứng chỉ SSL cho các trang web trên RuNet. Tình trạng hiện tại đến mức ngay cả các cổng thông tin nhà nước ở Nga cũng sử dụng chứng thư số do các công ty Mỹ Comodo hoặc Thawte (công ty con của Symantec) cấp.

Có một vấn đề khác - câu hỏi xác thực chính (xác thực) của người dùng. Làm cách nào để xác định người dùng đã liên hệ với CA để yêu cầu cấp chứng chỉ số mà không cần liên hệ cá nhân trực tiếp? Bây giờ điều này được giải quyết theo tình huống tùy thuộc vào khả năng của cơ sở hạ tầng. Một cái gì đó được lấy từ sổ đăng ký mở (ví dụ: thông tin về các pháp nhân yêu cầu giấy chứng nhận); trong trường hợp người nộp đơn là cá nhân, văn phòng ngân hàng hoặc bưu điện có thể được sử dụng, nơi danh tính của họ được xác nhận bằng các giấy tờ tùy thân, ví dụ như hộ chiếu.

Vấn đề làm giả thông tin xác thực nhằm mục đích mạo danh là một vấn đề cơ bản. Chúng ta hãy lưu ý rằng không có giải pháp hoàn chỉnh cho vấn đề này vì lý do lý thuyết thông tin: không có thông tin tiên nghiệm đáng tin cậy thì không thể xác nhận hoặc phủ nhận tính xác thực của một chủ đề cụ thể. Theo quy định, để xác minh, cần phải xuất trình một bộ tài liệu chứng minh danh tính của người nộp đơn. Có nhiều phương pháp xác minh khác nhau, nhưng không có phương pháp nào đảm bảo đầy đủ về tính xác thực của tài liệu. Theo đó, tính xác thực của danh tính người nộp đơn cũng không thể được đảm bảo.

Làm thế nào có thể loại bỏ những nhược điểm này?Nếu các vấn đề của PKI trong tình trạng hiện tại có thể được giải thích bằng sự tập trung hóa, thì sẽ hợp lý khi cho rằng việc phân quyền sẽ giúp loại bỏ một phần những thiếu sót đã được xác định.

Phân cấp không ngụ ý sự hiện diện của các thực thể đáng tin cậy - nếu bạn tạo Cơ sở hạ tầng khóa công khai phi tập trung (Cơ sở hạ tầng khóa công khai phi tập trung, DPKI), thì cả CA và CR đều không cần thiết. Hãy từ bỏ khái niệm về chứng chỉ số và sử dụng sổ đăng ký phân tán để lưu trữ thông tin về khóa chung. Trong trường hợp của chúng tôi, chúng tôi gọi sổ đăng ký là cơ sở dữ liệu tuyến tính bao gồm các bản ghi (khối) riêng lẻ được liên kết bằng công nghệ chuỗi khối. Thay vì chứng chỉ kỹ thuật số, chúng tôi sẽ giới thiệu khái niệm “thông báo”.

Quá trình nhận, xác minh và hủy thông báo sẽ như thế nào trong DPKI được đề xuất:

1. Mỗi người nộp đơn nộp đơn xin thông báo một cách độc lập bằng cách điền vào biểu mẫu trong quá trình đăng ký, sau đó anh ta tạo một giao dịch được lưu trữ trong một nhóm chuyên dụng.

2. Thông tin về khóa chung, cùng với thông tin chi tiết về chủ sở hữu và siêu dữ liệu khác, được lưu trữ trong sổ đăng ký phân tán chứ không phải trong chứng chỉ kỹ thuật số, để phát hành chứng chỉ này trong PKI tập trung mà CA chịu trách nhiệm.

3. Việc xác minh tính xác thực danh tính của người nộp đơn được thực hiện sau sự nỗ lực chung của cộng đồng người dùng DPKI chứ không phải bởi CR.

4. Chỉ chủ sở hữu của thông báo đó mới có thể thay đổi trạng thái của khóa chung.

5. Bất kỳ ai cũng có thể truy cập sổ cái phân phối và kiểm tra trạng thái hiện tại của khóa chung.

Lưu ý: Việc xác minh cộng đồng về danh tính của người nộp đơn thoạt nhìn có vẻ không đáng tin cậy. Nhưng chúng ta phải nhớ rằng ngày nay tất cả người dùng dịch vụ kỹ thuật số chắc chắn đều để lại dấu chân kỹ thuật số và quá trình này sẽ chỉ tiếp tục có đà phát triển. Mở sổ đăng ký điện tử của pháp nhân, bản đồ, số hóa hình ảnh địa hình, mạng xã hội - tất cả đều là những công cụ được cung cấp công khai. Chúng đã được sử dụng thành công trong quá trình điều tra của cả nhà báo và cơ quan thực thi pháp luật. Ví dụ, chỉ cần nhớ lại các cuộc điều tra của Bellingcat hoặc nhóm điều tra chung JIT, những người đang nghiên cứu các tình tiết vụ tai nạn máy bay Boeing của Malaysia, là đủ.

Vậy cơ sở hạ tầng khóa công khai phi tập trung sẽ hoạt động như thế nào trong thực tế? Chúng ta hãy tập trung vào mô tả về chính công nghệ mà chúng ta được cấp bằng sáng chế vào năm 2018 và chúng tôi coi đó là bí quyết của mình.

Hãy tưởng tượng có một chủ sở hữu nào đó sở hữu nhiều khóa công khai, trong đó mỗi khóa là một giao dịch nhất định được lưu trữ trong sổ đăng ký. Trong trường hợp không có CA, làm sao bạn có thể hiểu rằng tất cả các khóa đều thuộc về chủ sở hữu cụ thể này? Để giải quyết vấn đề này, một giao dịch bằng XNUMX được tạo ra, chứa thông tin về chủ sở hữu và ví của anh ta (từ đó hoa hồng đặt giao dịch trong sổ đăng ký sẽ bị ghi nợ). Giao dịch null là một loại “neo” mà các giao dịch sau có dữ liệu về khóa chung sẽ được đính kèm. Mỗi giao dịch như vậy chứa một cấu trúc dữ liệu chuyên biệt, hay nói cách khác là một thông báo.

Thông báo là một tập hợp dữ liệu có cấu trúc bao gồm các trường chức năng và bao gồm thông tin về khóa chung của chủ sở hữu, tính bền vững của khóa này được đảm bảo bằng cách đặt vào một trong các bản ghi liên quan của cơ quan đăng ký phân phối.

Câu hỏi hợp lý tiếp theo là giao dịch bằng XNUMX được hình thành như thế nào? Giao dịch null—giống như các giao dịch tiếp theo—là tổng hợp của sáu trường dữ liệu. Trong quá trình hình thành giao dịch bằng XNUMX, cặp khóa của ví (khóa bí mật công khai và khóa bí mật được ghép nối) sẽ được tham gia. Cặp khóa này xuất hiện tại thời điểm người dùng đăng ký ví của mình, từ đó hoa hồng đặt giao dịch bằng XNUMX trong sổ đăng ký và sau đó, các hoạt động có thông báo sẽ bị ghi nợ.

DPKI: loại bỏ những thiếu sót của PKI tập trung bằng blockchain

Như được hiển thị trong hình, bản tóm tắt khóa công khai của ví được tạo bằng cách áp dụng tuần tự các hàm băm SHA256 và RIPEMD160. Ở đây RIPEMD160 chịu trách nhiệm biểu diễn dữ liệu nhỏ gọn, độ rộng của dữ liệu không vượt quá 160 bit. Điều này rất quan trọng vì sổ đăng ký không phải là cơ sở dữ liệu rẻ tiền. Bản thân khóa công khai được nhập vào trường thứ năm. Trường đầu tiên chứa dữ liệu thiết lập kết nối với giao dịch trước đó. Đối với giao dịch bằng XNUMX, trường này không chứa gì, điều này giúp phân biệt nó với các giao dịch tiếp theo. Trường thứ hai là dữ liệu để kiểm tra tính kết nối của các giao dịch. Để ngắn gọn, chúng tôi sẽ gọi dữ liệu trong trường thứ nhất và thứ hai lần lượt là “liên kết” và “kiểm tra”. Nội dung của các trường này được tạo bằng cách băm lặp lại, như được minh họa bằng cách liên kết các giao dịch thứ hai và thứ ba trong hình bên dưới.

DPKI: loại bỏ những thiếu sót của PKI tập trung bằng blockchain

Dữ liệu từ năm trường đầu tiên được chứng nhận bằng chữ ký điện tử, được tạo bằng khóa bí mật của ví.

Thế là xong, giao dịch null sẽ được gửi đến nhóm và sau khi xác minh thành công sẽ được nhập vào sổ đăng ký. Bây giờ bạn có thể “liên kết” các giao dịch sau với nó. Hãy xem xét các giao dịch khác XNUMX được hình thành như thế nào.

DPKI: loại bỏ những thiếu sót của PKI tập trung bằng blockchain

Điều đầu tiên có thể khiến bạn chú ý là sự phong phú của các cặp chìa khóa. Ngoài cặp khóa ví vốn đã quen thuộc, cặp khóa thông thường và khóa dịch vụ cũng được sử dụng.

Một khóa công khai thông thường là mục đích mà mọi thứ được bắt đầu. Chìa khóa này liên quan đến nhiều thủ tục và quy trình khác nhau diễn ra ở thế giới bên ngoài (ngân hàng và các giao dịch khác, luồng tài liệu, v.v.). Ví dụ: khóa bí mật từ một cặp thông thường có thể được sử dụng để tạo chữ ký số cho các tài liệu khác nhau - lệnh thanh toán, v.v. và khóa chung có thể được sử dụng để xác minh chữ ký số này bằng việc thực hiện các hướng dẫn này sau đó, miễn là nó là hợp lệ.

Cặp dịch vụ được cấp cho chủ thể DPKI đã đăng ký. Tên của cặp này tương ứng với mục đích của nó. Lưu ý rằng khi hình thành/kiểm tra giao dịch bằng XNUMX, khóa dịch vụ sẽ không được sử dụng.

Hãy làm rõ mục đích của các phím một lần nữa:

  1. Khóa ví được sử dụng để tạo/xác minh cả giao dịch rỗng và bất kỳ giao dịch không rỗng nào khác. Khóa riêng của ví chỉ được biết bởi chủ sở hữu của ví, người này cũng là chủ sở hữu của nhiều khóa chung thông thường.
  2. Khóa công khai thông thường có mục đích tương tự như khóa chung được cấp chứng chỉ trong PKI tập trung.
  3. Cặp khóa dịch vụ thuộc về DPKI. Khóa bí mật được cấp cho các tổ chức đã đăng ký và được sử dụng khi tạo chữ ký số cho các giao dịch (ngoại trừ các giao dịch bằng XNUMX). Công khai được sử dụng để xác minh chữ ký số điện tử của một giao dịch trước khi nó được đăng vào sổ đăng ký.

Như vậy, có hai nhóm khóa. Đầu tiên bao gồm khóa dịch vụ và khóa ví - chúng chỉ có ý nghĩa trong bối cảnh DPKI. Nhóm thứ hai bao gồm các khóa thông thường - phạm vi của chúng có thể khác nhau và được xác định bởi các tác vụ ứng dụng mà chúng được sử dụng. Đồng thời, DPKI đảm bảo tính toàn vẹn và xác thực của khóa công khai thông thường.

Lưu ý: Cặp khóa dịch vụ có thể được các thực thể DPKI khác nhau biết. Ví dụ, nó có thể giống nhau đối với tất cả mọi người. Vì lý do này mà khi tạo chữ ký cho mỗi giao dịch khác XNUMX, hai khóa bí mật sẽ được sử dụng, một trong số đó là khóa ví - chỉ chủ sở hữu ví, cũng là chủ sở hữu của nhiều ví thông thường, mới biết. khóa công khai. Tất cả các phím đều có ý nghĩa riêng của chúng. Ví dụ: luôn có thể chứng minh rằng giao dịch đã được chủ thể DPKI đã đăng ký nhập vào sổ đăng ký vì chữ ký cũng được tạo trên khóa dịch vụ bí mật. Và không thể có sự lạm dụng, chẳng hạn như tấn công DOS, vì chủ sở hữu phải trả tiền cho mỗi giao dịch.

Tất cả các giao dịch theo sau số 256 đều được hình thành theo cách tương tự: khóa chung (không phải ví, như trong trường hợp giao dịch bằng 160, mà từ một cặp khóa thông thường) được chạy thông qua hai hàm băm SHAXNUMX và RIPEMDXNUMX. Đây là cách dữ liệu của trường thứ ba được hình thành. Trường thứ tư chứa thông tin đi kèm (ví dụ: thông tin về trạng thái hiện tại, ngày hết hạn, dấu thời gian, số nhận dạng của thuật toán mật mã được sử dụng, v.v.). Trường thứ năm chứa khóa chung từ cặp khóa dịch vụ. Với sự trợ giúp của nó, chữ ký số sau đó sẽ được kiểm tra và sẽ được sao chép. Hãy để chúng tôi chứng minh sự cần thiết của một cách tiếp cận như vậy.

Hãy nhớ lại rằng một giao dịch được nhập vào một nhóm và được lưu trữ ở đó cho đến khi nó được xử lý. Việc lưu trữ trong nhóm có liên quan đến một rủi ro nhất định - dữ liệu giao dịch có thể bị làm sai lệch. Chủ sở hữu xác nhận dữ liệu giao dịch bằng chữ ký số điện tử. Khóa công khai để xác minh chữ ký số này được chỉ định rõ ràng trong một trong các trường giao dịch và sau đó được nhập vào sổ đăng ký. Điểm đặc biệt của quá trình xử lý giao dịch là kẻ tấn công có thể thay đổi dữ liệu theo ý mình, sau đó xác minh dữ liệu đó bằng khóa bí mật của mình và chỉ ra khóa chung được ghép nối để xác minh chữ ký số trong giao dịch. Nếu tính xác thực và toàn vẹn được đảm bảo độc quyền thông qua chữ ký số thì việc giả mạo như vậy sẽ không bị phát hiện. Tuy nhiên, nếu ngoài chữ ký số còn có một cơ chế bổ sung đảm bảo cả việc lưu trữ và tính bền vững của thông tin được lưu trữ thì có thể phát hiện ra sự giả mạo. Để làm điều này, chỉ cần nhập khóa công khai chính hãng của chủ sở hữu vào sổ đăng ký là đủ. Hãy giải thích cách thức hoạt động của nó.

Hãy để kẻ tấn công giả mạo dữ liệu giao dịch. Từ quan điểm của khóa và chữ ký số, có thể có các tùy chọn sau:

1. Kẻ tấn công đặt khóa công khai của mình vào giao dịch trong khi chữ ký số của chủ sở hữu không thay đổi.
2. Kẻ tấn công tạo chữ ký số trên khóa riêng của mình nhưng giữ nguyên khóa chung của chủ sở hữu.
3. Kẻ tấn công tạo chữ ký số trên khóa riêng của mình và đặt khóa chung được ghép nối vào giao dịch.

Rõ ràng, tùy chọn 1 và 2 là vô nghĩa vì chúng sẽ luôn bị phát hiện trong quá trình xác minh chữ ký số. Chỉ có tùy chọn 3 là hợp lý và nếu kẻ tấn công tạo chữ ký số trên khóa bí mật của chính mình thì anh ta buộc phải lưu một khóa chung được ghép nối trong giao dịch, khác với khóa chung của chủ sở hữu. Đây là cách duy nhất để kẻ tấn công áp đặt dữ liệu giả mạo.

Giả sử rằng chủ sở hữu có một cặp khóa cố định - riêng tư và công khai. Hãy để dữ liệu được chứng thực bằng chữ ký số bằng cách sử dụng khóa bí mật từ cặp này và khóa chung được chỉ định trong giao dịch. Cũng giả sử rằng khóa công khai này trước đây đã được nhập vào sổ đăng ký và tính xác thực của nó đã được xác minh một cách đáng tin cậy. Khi đó, hành vi giả mạo sẽ được biểu thị bằng thực tế là khóa chung từ giao dịch không tương ứng với khóa chung từ cơ quan đăng ký.

Hãy tổng hợp. Khi xử lý dữ liệu giao dịch đầu tiên của chủ sở hữu, cần phải xác minh tính xác thực của khóa chung được nhập vào sổ đăng ký. Để thực hiện việc này, hãy đọc khóa từ sổ đăng ký và so sánh nó với khóa chung thực sự của chủ sở hữu trong phạm vi bảo mật (khu vực tương đối bất khả xâm phạm). Nếu tính xác thực của khóa được xác nhận và tính bền vững của nó được đảm bảo khi đặt, thì tính xác thực của khóa từ giao dịch tiếp theo có thể dễ dàng được xác nhận/bác bỏ bằng cách so sánh nó với khóa từ cơ quan đăng ký. Nói cách khác, khóa từ sổ đăng ký được sử dụng làm mẫu tham chiếu. Tất cả các giao dịch chủ sở hữu khác được xử lý tương tự.

Giao dịch được chứng nhận bằng chữ ký số điện tử - đây là lúc cần có khóa bí mật, không phải một mà là hai khóa cùng một lúc - khóa dịch vụ và khóa ví. Nhờ sử dụng hai khóa bí mật, mức độ bảo mật cần thiết được đảm bảo - xét cho cùng, những người dùng khác có thể biết khóa bí mật dịch vụ, trong khi khóa bí mật của ví chỉ chủ sở hữu cặp khóa thông thường mới biết. Chúng tôi gọi chữ ký hai khóa như vậy là chữ ký số “hợp nhất”.

Việc xác minh các giao dịch không có giá trị được thực hiện bằng hai khóa chung: ví và khóa dịch vụ. Quá trình xác minh có thể được chia thành hai giai đoạn chính: giai đoạn đầu tiên là kiểm tra bản tóm tắt khóa chung của ví và giai đoạn thứ hai là kiểm tra chữ ký số điện tử của giao dịch, cùng một giai đoạn hợp nhất được hình thành bằng hai khóa bí mật ( ví và dịch vụ). Nếu tính hợp lệ của chữ ký số được xác nhận thì sau khi xác minh bổ sung, giao dịch sẽ được ghi vào sổ đăng ký.

DPKI: loại bỏ những thiếu sót của PKI tập trung bằng blockchain

Một câu hỏi hợp lý có thể nảy sinh: làm thế nào để kiểm tra xem một giao dịch có thuộc một chuỗi cụ thể có “gốc” ở dạng giao dịch bằng XNUMX hay không? Với mục đích này, quy trình xác minh được bổ sung thêm một giai đoạn - kiểm tra kết nối. Đây là nơi chúng ta sẽ cần dữ liệu từ hai trường đầu tiên mà cho đến nay chúng ta đã bỏ qua.

Hãy tưởng tượng rằng chúng ta cần kiểm tra xem giao dịch số 3 có thực sự đến sau giao dịch số 2 hay không. Để thực hiện điều này, bằng cách sử dụng phương pháp băm kết hợp, giá trị hàm băm được tính cho dữ liệu từ trường thứ ba, thứ tư và thứ năm của giao dịch số 2. Sau đó, việc ghép dữ liệu từ trường đầu tiên của giao dịch số 3 và giá trị hàm băm kết hợp thu được trước đó cho dữ liệu từ trường thứ ba, thứ tư và thứ năm của giao dịch số 2 được thực hiện. Tất cả điều này cũng được chạy thông qua hai hàm băm SHA256 và RIPEMD160. Nếu giá trị nhận được khớp với dữ liệu trong trường thứ hai của giao dịch số 2 thì quá trình kiểm tra sẽ được thông qua và kết nối được xác nhận. Điều này được thể hiện rõ hơn ở các hình dưới đây.

DPKI: loại bỏ những thiếu sót của PKI tập trung bằng blockchain
DPKI: loại bỏ những thiếu sót của PKI tập trung bằng blockchain

Nói chung, công nghệ tạo và nhập thông báo vào sổ đăng ký trông giống hệt như thế này. Hình minh họa trực quan về quá trình hình thành chuỗi thông báo được trình bày trong hình sau:

DPKI: loại bỏ những thiếu sót của PKI tập trung bằng blockchain

Trong văn bản này, chúng tôi sẽ không tập trung vào các chi tiết chắc chắn tồn tại và quay lại thảo luận về ý tưởng về cơ sở hạ tầng khóa công khai phi tập trung.

Vì vậy, vì người nộp đơn tự nộp đơn đăng ký thông báo, đơn đăng ký không được lưu trữ trong cơ sở dữ liệu CA mà trong sổ đăng ký, nên các thành phần kiến ​​​​trúc chính của DPKI cần được xem xét:

1. Đăng ký thông báo hợp lệ (RDN).
2. Đăng ký thông báo bị thu hồi (RON).
3. Đăng ký thông báo bị treo (RPN).

Thông tin về khóa chung được lưu trữ trong RDN/RON/RPN dưới dạng giá trị hàm băm. Cũng cần lưu ý rằng đây có thể là các cơ quan đăng ký khác nhau hoặc các chuỗi khác nhau hoặc thậm chí một chuỗi là một phần của một cơ quan đăng ký duy nhất khi thông tin về trạng thái của khóa công khai thông thường (thu hồi, đình chỉ, v.v.) được nhập vào khóa công khai. trường thứ tư của cấu trúc dữ liệu dưới dạng giá trị mã tương ứng. Có nhiều tùy chọn khác nhau để triển khai kiến ​​trúc DPKI và việc lựa chọn cái này hay cái kia phụ thuộc vào một số yếu tố, ví dụ, các tiêu chí tối ưu hóa như chi phí bộ nhớ dài hạn để lưu trữ khóa chung, v.v.

Do đó, DPKI có thể trở nên đơn giản hơn, nhưng ít nhất có thể so sánh được với một giải pháp tập trung về độ phức tạp kiến ​​trúc.

Câu hỏi chính vẫn là - Cơ quan đăng ký nào phù hợp để triển khai công nghệ?

Yêu cầu chính đối với cơ quan đăng ký là khả năng tạo ra bất kỳ loại giao dịch nào. Ví dụ nổi tiếng nhất về sổ cái là mạng Bitcoin. Nhưng khi triển khai công nghệ được mô tả ở trên, sẽ nảy sinh một số khó khăn nhất định: những hạn chế của ngôn ngữ kịch bản hiện có, thiếu cơ chế cần thiết để xử lý các bộ dữ liệu tùy ý, phương pháp tạo giao dịch thuộc loại tùy ý, v.v.

Tại ENCRY, chúng tôi đã cố gắng giải quyết các vấn đề nêu trên và phát triển cơ quan đăng ký, theo quan điểm của chúng tôi, cơ quan này có một số ưu điểm, cụ thể là:

  • hỗ trợ một số loại giao dịch: nó có thể vừa trao đổi tài sản (nghĩa là thực hiện các giao dịch tài chính) vừa tạo các giao dịch có cấu trúc tùy ý,
  • các nhà phát triển có quyền truy cập vào ngôn ngữ lập trình độc quyền PrismLang, ngôn ngữ này mang lại sự linh hoạt cần thiết khi giải quyết các vấn đề công nghệ khác nhau,
  • một cơ chế xử lý các tập dữ liệu tùy ý được cung cấp.

Nếu chúng ta thực hiện một cách tiếp cận đơn giản hóa thì chuỗi hành động sau sẽ diễn ra:

  1. Người nộp đơn đăng ký với DPKI và nhận ví kỹ thuật số. Địa chỉ ví là giá trị băm của khóa công khai của ví. Khóa riêng của ví chỉ có người nộp đơn mới biết.
  2. Chủ thể đã đăng ký được cấp quyền truy cập vào khóa bí mật dịch vụ.
  3. Đối tượng tạo ra một giao dịch bằng XNUMX và xác minh nó bằng chữ ký điện tử bằng khóa bí mật của ví.
  4. Nếu một giao dịch khác XNUMX được hình thành, nó sẽ được xác nhận bằng chữ ký số điện tử sử dụng hai khóa bí mật: ví và khóa dịch vụ.
  5. Đối tượng gửi một giao dịch đến nhóm.
  6. Nút mạng ENCRY đọc giao dịch từ nhóm và kiểm tra chữ ký số cũng như khả năng kết nối của giao dịch.
  7. Nếu chữ ký số hợp lệ và kết nối được xác nhận thì nó sẽ chuẩn bị giao dịch để đăng ký.

Ở đây, cơ quan đăng ký hoạt động như một cơ sở dữ liệu phân tán lưu trữ thông tin về các thông báo hợp lệ, bị hủy và bị treo.

Tất nhiên, phân cấp không phải là thuốc chữa bách bệnh. Vấn đề cơ bản của xác thực người dùng chính không biến mất ở bất cứ đâu: nếu hiện tại việc xác minh người nộp đơn được CR thực hiện, thì tại DPKI đề xuất giao việc xác minh cho các thành viên cộng đồng và sử dụng động lực tài chính để kích thích hoạt động. Công nghệ xác minh nguồn mở được nhiều người biết đến. Hiệu quả của việc xác minh như vậy đã được xác nhận trong thực tế. Chúng ta hãy nhớ lại một lần nữa một số cuộc điều tra nổi bật của ấn phẩm trực tuyến Bellingcat.

Nhưng nhìn chung, bức tranh sau đây hiện lên: DPKI là cơ hội để sửa chữa, nếu không phải là tất cả, thì nhiều khuyết điểm của PKI tập trung.

Đăng ký Habrablog của chúng tôi, chúng tôi dự định tiếp tục tích cực đưa tin về hoạt động nghiên cứu và phát triển của mình cũng như theo dõi Twitter, nếu bạn không muốn bỏ lỡ những tin tức khác về dự án ENCRY.

Nguồn: www.habr.com

Thêm một lời nhận xét