Cryptosim: dùng thử API Cryptosat

Dec 05 2022
Cryptosat xây dựng và phóng các vệ tinh nhỏ vào Quỹ đạo Trái đất thấp (LEO). Ở đó, ngoài tầm với của bất kỳ ai, chúng đóng vai trò là mô-đun mật mã an toàn nhất bảo vệ các hoạt động và giao thức nhạy cảm, đồng thời thực hiện các chức năng như thu thập entropy, thiết lập đáng tin cậy cho các giao thức mật mã hoặc ký giao dịch và dữ liệu từ không gian.

Cryptosat xây dựng và phóng các vệ tinh nhỏ vào Quỹ đạo Trái đất thấp (LEO). Ở đó, ngoài tầm với của bất kỳ ai, chúng đóng vai trò là mô-đun mật mã an toàn nhất bảo vệ các hoạt động và giao thức nhạy cảm, đồng thời thực hiện các chức năng như thu thập entropy, thiết lập đáng tin cậy cho các giao thức mật mã hoặc ký giao dịch và dữ liệu từ không gian.

Hầu hết các nhà phát triển và người dùng đều ở xa ngành công nghiệp vũ trụ và chưa bao giờ tương tác trực tiếp với vệ tinh. Đây là lý do tại sao chúng tôi nghĩ rằng sẽ cực kỳ hữu ích nếu cung cấp cho các nhà phát triển cảm nhận về một số khả năng cũng như những hạn chế khi làm việc với một chòm sao vệ tinh.

Trong bài đăng này, chúng tôi đi sâu vào Cryptosim (Cryptosat Simulator) — một trình mô phỏng sandbox và hướng dẫn tương tác mà chúng tôi đã phát triển kể từ khi chúng tôi bắt đầu Cryptosat. Cryptosim có thể truy cập bằng bất kỳ trình duyệt hiện đại nào và cho phép các nhà phát triển tìm hiểu về chức năng vệ tinh của chúng tôi trước khi tích hợp thực tế với quy trình sản xuất của chúng tôi.

Ảnh chụp màn hình phiên bản đầu tiên của Cryptosim do Gil Shotan phát triển.

Giao diện người dùng giả lập được phân chia giữa một hướng dẫn (ở phía bên tay phải) mô tả các chức năng API được Cryptosat hỗ trợ, một bản đồ hiển thị quỹ đạo vệ tinh và một bảng điều khiển JS nơi người dùng có thể thử lập trình API và tương tác với mô phỏng vệ tinh để yêu cầu trạng thái của nó, ký tin nhắn, yêu cầu tính ngẫu nhiên, tạo các cặp khóa Mã hóa trễ và hơn thế nữa.
Hướng dẫn giải thích tiền đề chung của Cryptosat, dạy về các cửa sổ liên lạc và tính khả dụng của vệ tinh, giao diện không đồng bộ với vệ tinh và giới thiệu các chức năng mã hóa khác nhau được Cryptosat hỗ trợ, cũng như cách sử dụng chúng trong ngữ cảnh.
Chúng ta hãy xem ví dụ về Tính ngẫu nhiên công khai , còn được gọi là Báo hiệu ngẫu nhiên hoặc VRF(Chức năng ngẫu nhiên có thể kiểm chứng).

Ví dụ về tính ngẫu nhiên công khai. Lưu ý: ở đây, chúng tôi sử dụng một phương pháp để lấy khóa xác minh phản hồi, nhưng trên thực tế, khóa chung của vệ tinh sẽ được cung cấp qua một kênh khác mà người trung gian không thể kiểm soát được.

Cryptosat phát định kỳ một đèn hiệu ngẫu nhiên — một chuỗi bit không thể đoán trước được tạo ra từ entropy thu được trên một vệ tinh. Đèn hiệu này có thể được sử dụng để chạy xổ số, tạo xáo trộn NFT ngẫu nhiên, v.v. Cuộc gọi cryptosat.getPublicRandom()trả về đèn hiệu gần đây nhất nhận được từ chòm sao vệ tinh của Cryptosat.

Từ góc độ vật lý, nó thực sự hiển thị trên bản đồ quỹ đạo thực của vệ tinh đầu tiên của chúng tôi, Crypto1, dựa trên dữ liệu ( TLE ) được lấy từ NORAD, một cơ quan của Hoa Kỳ giám sát tất cả các vật thể chuyển động trên quỹ đạo. Khi chúng tôi phóng nhiều vệ tinh hơn, chúng tôi sẽ thêm chúng vào Cryptosim với quỹ đạo tương ứng của chúng.

API không đồng bộ

Do các vệ tinh không hiển thị với các trạm mặt đất 100% thời gian nên đôi khi, có thể có độ trễ đáng kể trong việc thực hiện yêu cầu của người dùng. Do đó, API vệ tinh không đồng bộ. Các hàm trả về một đối tượng yêu cầu mà bạn có thể truy vấn trạng thái hoàn thành yêu cầu bằng cách gọi .status()phương thức. Trạng thái yêu cầu sẽ duy trì Pendingmiễn là các vệ tinh nằm ngoài tầm với của bất kỳ trạm mặt đất nào. Ngay sau khi nó được thực thi, trạng thái sẽ chuyển sang Ready. Sau đó, người dùng có thể gọi .result()phương thức một cách an toàn để thu được phản hồi của vệ tinh.

Sử dụng API yêu cầu không đồng bộ

Ví dụ trường hợp sử dụng

Cryptosim giới thiệu một số trường hợp sử dụng mà người dùng có thể muốn sử dụng dịch vụ Cryptosat. Chủ đề chung cho tất cả chúng là sử dụng các vệ tinh Cryptosat như một nguồn gốc mật mã an toàn, đáng tin cậy và chống giả mạo, có thể được tin cậy để hoạt động chính xác và cung cấp tính toàn vẹn của mật mã do chúng nằm ngoài tầm với của hầu hết mọi người. đối thủ tinh vi.

Phiên bản hiện tại của Cryptosim bao gồm các ví dụ về:

  • Tính ngẫu nhiên công khai (Random Beacon)
  • Tính ngẫu nhiên riêng tư — nơi người dùng có thể yêu cầu các bit ngẫu nhiên được mã hóa thành khóa chung mà họ cung cấp trong yêu cầu.
  • Truy xuất dấu thời gian đã ký — có thể được sử dụng bởi các ứng dụng yêu cầu nguồn thời gian đáng tin cậy hoặc hợp đồng thông minh cần đảm bảo một khoảng thời gian nhất định đã trôi qua trong thế giới thực.
  • Ký bất kỳ dữ liệu nào trong không gian
  • Mã hóa trễ - trong đó vệ tinh tạo cặp khóa mật mã và xuất bản khóa chung. Khóa riêng tư không được giải phóng trước một khoảng thời gian xác định đã trôi qua, ngăn chặn việc giải mã sớm bất kỳ dữ liệu nào được mã hóa thành khóa chung đã xuất bản. Điều này có thể được sử dụng, ví dụ, trong các cuộc đấu giá, chương trình bỏ phiếu, v.v. (gửi cho chúng tôi trường hợp sử dụng mà BẠN hào hứng!).

API RESTful

Ngoài mô phỏng dựa trên trình duyệt độc lập, chúng tôi đang nỗ lực hướng tới việc mở ra quyền truy cập vào API RESTful. API sẽ cho phép người dùng được ủy quyền truy cập vào vệ tinh sản xuất, cũng như chòm sao mô phỏng cho mục đích phát triển và thử nghiệm.

Đóng góp mã nguồn mở

Nếu bạn muốn đóng góp ý tưởng bổ sung và đề xuất các trường hợp sử dụng cho Cryptosat, bạn có thể sử dụng mã nguồn Cryptosim, mã này có sẵn trên Github của chúng tôi . Kho lưu trữ chính là cryptosim-tutorialnhưng, tùy thuộc vào các phần bạn muốn chỉnh sửa, bạn cũng có thể muốn kiểm tra các kho lưu trữ cryptosimcryptosim-visualization.

Sử dụng vệ tinh Cryptosat

Hãy nhớ rằng toàn bộ vấn đề là tìm hiểu cách sử dụng API, sau đó sử dụng các vệ tinh Cryptosat thực tế và nhận các yêu cầu được phục vụ từ không gian. Hãy liên hệ với chúng tôi tại [email protected] để biết thêm thông tin về cách tích hợp với hệ thống sản xuất của chúng tôi. Thông tin kỹ thuật khác về Cryptosat và các API của nó có trên cổng thông tin tài liệu của chúng tôi .