Điểm:5

Cách tốt nhất để đặt tên giả cho địa chỉ IP trong khi vẫn giữ được khả năng xác định những địa chỉ dùng chung mạng con là gì?

lá cờ us

Lý lịch: Tôi đang phát triển một ứng dụng dựa trên việc người dùng đã đăng ký bỏ phiếu cho nội dung và tôi muốn tạo một kinh nghiệm liên quan đến địa chỉ IP như một cách để gắn cờ tài khoản để điều tra thêm về khả năng lạm dụng nhiều tài khoản + bỏ phiếu. Vì lợi ích của quyền riêng tư/giảm thiểu dữ liệu/nghĩa vụ GDPR, có vẻ như chiến lược tốt nhất là lưu trữ các giá trị băm có khóa của IP, sẽ có đủ bút danh nhưng mang tính quyết định để kiểm tra các kết quả trùng khớp. Vì vậy, tôi chỉ có thể sử dụng HMAC-SHA256 hoặc tương tự trên toàn bộ địa chỉ và hoàn thành việc đó.

Tuy nhiên, tôi chợt nhận ra rằng có thể hữu ích khi không chỉ xác định các IP giống hệt nhau mà còn cả những IP chia sẻ mạng con, điều này sẽ yêu cầu một thứ gì đó không quá mờ đục. Cách rõ ràng để làm điều này là băm riêng từng phần của IP. Vấn đề là với HMAC-SHA256 (ví dụ) đầu ra hoàn chỉnh quá lớn, đặc biệt đối với địa chỉ IPv6 (8 x 256 = 2048 bit cho mỗi địa chỉ 128 bit). Nó cũng sẽ giảm đáng kể kích thước của không gian đầu vào (giá trị 1 byte cho IPv4, giá trị 2 byte cho IPv6) - Tôi cho rằng tốt nhất nên sử dụng một khóa khác cho từng phần nếu tôi làm điều này, điều này nghe không vui chút nào.

Cách tốt nhất để đạt được mục tiêu của tôi trong khi vẫn giữ kích thước được lưu trữ tương đối nhỏ là gì? Có thể cắt bớt đầu ra khi sử dụng SHA256? Có lẽ vì đó là một HMAC và khóa là bí mật nên bạn có thể sử dụng hàm băm nhỏ hơn và yếu hơn ngay từ đầu như MD5? Có lẽ có một hàm băm khác phù hợp duy nhất với loại trường hợp sử dụng này? Bất kỳ hướng dẫn được đánh giá cao.

kelalaka avatar
lá cờ in
Nhìn thấy. mã hóa bảo toàn định dạng.
knaccc avatar
lá cờ es
"có vẻ như chiến lược tốt nhất là lưu trữ các giá trị băm có khóa của IP, có thể đủ bút danh nhưng mang tính quyết định để kiểm tra các trận đấu"
eddydee123 avatar
lá cờ mk
Tôi nghĩ rằng không chỉ cần duy trì định dạng để duy trì các mối quan hệ như mạng con chung
Điểm:1
lá cờ us

Sau khi tìm kiếm thêm (cảm ơn vì con trỏ trong các nhận xét), tôi đã tìm thấy Lược đồ tiền điện tử-PAn (thường được đánh vần không có dấu gạch nối là CryptoPAn), được mô tả/phát triển chính xác cho mục đích này. Nó có một số triển khai phần mềm bằng nhiều ngôn ngữ khác nhau, một vài trong số đó hỗ trợ IPv6.

Thuộc tính mà tôi đang tìm kiếm được gọi là "bảo toàn tiền tố" và bài báo giới thiệu Crypto-PAn đưa ra bằng chứng toán học rằng chỉ có một cách chung để thực hiện điều đó (ít nhất là theo cách mà giá trị của từng phần của tiền tố phụ thuộc vào mọi thứ xuất hiện trước nó, trái ngược với sơ đồ độc lập mà tôi đã đề xuất).

Crypto-PAn liên quan đến việc sử dụng (lặp đi lặp lại) chức năng giả ngẫu nhiên (PRF), trong triển khai tham chiếu và hầu hết các chức năng khác là AES-128-ECB. Có thể giải mã các địa chỉ IP giả danh (khi biết khóa bí mật), ngay cả khi hàm băm được sử dụng cho PRF, do cách thức hoạt động của thuật toán - nói cách khác, Crypto-PAn là một lược đồ mã hóa bất kể PRF là gì.

Crypto-PAn cũng có tính năng bảo toàn định dạng, vì vậy điều này giúp nó có thể hoạt động với các địa chỉ biệt hiệu giống như bạn làm với địa chỉ gốc.

Mang tính xác định và bảo toàn tiền tố và hoạt động trên một không gian giá trị nhỏ đi kèm với nhược điểm là lược đồ nhất thiết yếu đối với phân tích ngữ nghĩa. Rõ ràng là để có được tiện ích mong muốn, không thể tránh khỏi sự đánh đổi về quyền riêng tư (điều mà tôi đã biết ngay từ đầu). Nói cách khác, đó là nỗ lực tốt nhất, nhưng điều đó tốt hơn là lưu trữ các địa chỉ IP ban đầu. Tất nhiên, có những kỹ thuật bổ sung có thể hoặc nên được sử dụng để giúp giảm thiểu rủi ro (ví dụ: xoay khóa, xóa sau một thời gian đã đặt, phân vùng bằng các khóa khác nhau). Rõ ràng là tôi hy vọng rằng các biện pháp bảo mật khác của tôi sẽ ngăn không cho dữ liệu bị lộ ngay từ đầu.

Có một IETF RFC từ năm 2020 bao gồm một bảng các kỹ thuật ẩn danh/bí danh địa chỉ IP. Bên cạnh Crypto-PAn, thứ duy nhất thuộc cả hai danh mục "bút danh" và "bảo toàn tiền tố" là một thứ gọi là "Ẩn danh sao chép cây con hàng đầu (TSA)", rõ ràng được tối ưu hóa cho tốc độ (có lẽ không phải là một điều tốt trong ngữ cảnh này?), nhưng nó đi kèm với một lưu ý gợi ý rằng nó có thể quá thiếu bộ nhớ đối với địa chỉ IPv6 và tôi không thể tìm thấy bất kỳ triển khai nào.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.