Tôi muốn chia sẻ ổ cứng 500 GB của mình với một người bạn nhưng tôi muốn mã hóa nó theo cách mà tất cả dữ liệu có thể được đọc bình thường nhưng không thể được sao chép hoặc chỉnh sửa theo bất kỳ cách nào.
Điều đó có thể không?
Tôi muốn chia sẻ ổ cứng 500 GB của mình với một người bạn nhưng tôi muốn mã hóa nó theo cách mà tất cả dữ liệu có thể được đọc bình thường nhưng không thể được sao chép hoặc chỉnh sửa theo bất kỳ cách nào.
Điều đó có thể không?
Câu trả lời:
Nếu bạn có thể đọc nó, bạn có thể sao chép nó. Một khái niệm mà RIAA hoặc MPAA vẫn chưa nắm bắt được.
Lưu ý: Câu trả lời này không được coi là một câu trả lời hay theo hướng dẫn của Stack Exchange . Tuy nhiên, nó được giữ lại do tính phổ biến và hiệu quả của nó trong bối cảnh của câu hỏi.
/dev/zero
một cách bình thường (cách thông thường = dd
, cat
hoặc bất cứ điều gì làm bạn thích thú). Bạn cũng có thể sao chép từ /dev/null
, nhưng nó sẽ sao chép các byte bằng 0, đơn giản vì nó trống: không có gì để sao chép. Có lẽ bạn đang cố gắng (và không thành công) để sao chép thiết bị dưới dạng tệp . Điều đó tất nhiên thất bại, vì nó không phải là một tập tin. Điều tương tự cũng xảy ra nếu bạn cố gắng sao chép bất kỳ thiết bị nào khác, coi nó như một tập tin.
Một "bản sao" được định nghĩa là đọc dữ liệu và sau đó ghi cùng một dữ liệu vào một vị trí khác. Vì anh ấy đọc dữ liệu của bạn vào máy tính của anh ấy, dữ liệu sẽ nằm dưới sự kiểm soát của anh ấy vào thời điểm đó. Anh ta có thể làm bất cứ điều gì anh ta thích với nó.
Một điều có thể hầu như không thể là bảo vệ dữ liệu của bạn khỏi sự sửa đổi trái phép. Bạn sẽ cần một hệ thống tập tin NTFS hoặc tương tự. Nhưng ngay cả trong trường hợp đó, anh ta vẫn có thể đọc tất cả dữ liệu, định dạng đĩa của bạn, xóa mọi quyền và ghi lại tất cả các tệp - có thể đã được sửa đổi.
[sửa] 500 GB chỉ là hàng tỷ con số. Hãy để tôi đun sôi nó xuống một ví dụ đơn giản : 5
. Đó là một con số. Bạn có thể đọc nó, và không có gì tôi có thể làm sẽ ngăn bạn viết ra con số đó. Tôi cũng không thể ngăn bạn viết số 6
.
Không, nó chắc chắn là không thể.
Hãy thử hỏi một chút, bạn có muốn anh ấy không sửa đổi các tập tin mà không cần thông báo của bạn không? Nếu vậy, bạn có thể kiểm tra tất cả các tệp và hoàn nguyên.
Một cách khác là trình chặn phần cứng ghi, bạn có thể xem tại đây: http://www.forensicswiki.org/wiki/Write_Blockers
Mã hóa chỉ là toán học . Hãy suy nghĩ về điều này một chút và bạn sẽ hiểu rõ hơn về khả năng và giới hạn của nó:
Nhưng bạn không thể sử dụng toán học để ngăn mọi người sao chép tin nhắn xuống. Đó không phải là thứ toán học có thể làm . (Sao chép dữ liệu ít 'toán học' hơn và 'vật lý' hơn. :)
Cách gần nhất mà bạn có thể đến là sử dụng toán học để mã hóa một số dữ liệu, sử dụng toán học để xác minh rằng máy tính chỉ chạy phần mềm mà bạn muốn nó chạy, và sau đó chỉ cung cấp cho máy tính số ma thuật để giải mã dữ liệu, trong khi đó làm thêm cực kỳ chắc chắn rằng phần mềm không kết thúc để cho phép số ảo thuật hoặc cho phép bất cứ ai sao chép dữ liệu. Đây là tính toán đáng tin cậy và ít nhiều là những thứ như đầu DVD và máy chơi game video cố gắng làm. Nó ít hơn thực tế đối với hầu hết các thiết lập và có xu hướng cuối cùng bị hỏng theo cách này hay cách khác (ví dụ: 09 f9 ).
Theo như tôi biết, có nhiều cách để giảm nguy cơ dữ liệu bị thay đổi trên đĩa cứng của bạn, thông qua phần mềm và phần cứng. Tuy nhiên, một khi bạn của bạn có đĩa cứng của bạn, họ có thể phá vỡ hoặc ghi đè bất kỳ phương pháp chống ghi nào , nếu họ nỗ lực hết sức vào nó. Ví dụ:
Như những người khác đã nói, không thể ngăn chặn việc sao chép, bởi vì nếu nó có thể được đọc, nó có thể được sao chép.
Bạn có thể thử yêu cầu bạn của bạn không sao chép hoặc thay đổi bất cứ điều gì. Có lẽ, nếu họ là bạn của bạn, họ sẽ vui lòng tuân thủ ...
Mặc dù bạn không thể để ai đó đọc dữ liệu của mình và đồng thời ngăn chặn việc sao chép, nhưng có một cách rất đơn giản mà bạn có thể dễ dàng ngăn họ chỉnh sửa dữ liệu: đừng cung cấp cho họ bản gốc .
Nếu bạn sao chép dữ liệu của mình vào một ổ cứng riêng và giữ bản gốc, rõ ràng người nhận bản sao không thể sửa đổi bản gốc của bạn.
Điều này đánh bại yêu cầu "không thể sao chép" của bạn ngay lập tức, nhưng dù sao cũng không thể đáp ứng.
Các định lý không nhân bản có thể giúp bạn, nếu bạn đã có một máy tính lượng tử. Tuy nhiên, nhân bản không hoàn hảo vẫn có thể:
Định lý không nhân bản là kết quả của cơ học lượng tử cấm tạo ra các bản sao giống hệt nhau của một trạng thái lượng tử không xác định tùy ý. [...] Nhân bản là một quá trình có kết quả cuối cùng là trạng thái có thể tách rời với các yếu tố giống hệt nhau.
Như nhiều người khác đã chỉ ra, trong các trường hợp thông thường "chia sẻ và đọc bình thường" ngụ ý "có thể được sao chép" và câu trả lời cho câu hỏi của bạn là "không".
Cách duy nhất để có được "có" là xác định lại "đọc bình thường" bằng cách thay đổi hoàn cảnh:
Khóa bạn bè của bạn vào phòng, giao thiết bị mà bạn đã nhập khóa, đảm bảo thiết bị không có I / O hoặc mạng có thể cho phép sao chép xảy ra, đảm bảo bạn của bạn không sở hữu máy ảnh hoặc bộ nhớ ảnh (trong đó để sao chép màn hình), truy xuất thiết bị và đưa thiết bị về trạng thái không thể đọc được, gỡ thiết bị ra, sau đó giải phóng bạn của bạn ra khỏi phòng. (Lưu ý, nếu họ có thể kiểm tra thiết bị theo chiều sâu, họ vẫn có thể tìm thấy các khóa riêng tư hoặc phù du, vì vậy "không I / O" có nghĩa là thiếu quyền truy cập vật lý vào bên trong.)
Nghe có vẻ như "đọc bình thường" với bạn? Nếu vậy, bạn đã hoàn tất. Mặc dù vậy, tôi sẽ không tính đến việc biến nó thành thói quen hoặc xây dựng kế hoạch kinh doanh xung quanh quy trình.
Đọc bản sao IS .
Mọi dữ liệu bạn truy cập trên bất kỳ máy tính nào đều là bản sao dữ liệu trên ổ cứng, đã được sao chép vào RAM (bộ nhớ) của máy tính, chứ không phải dữ liệu thực tế trên chính ổ cứng. Nếu bạn thực sự muốn tìm hiểu sâu, có nhiều bản sao trung gian hơn trong bộ điều khiển ổ cứng và các tập hợp con khác nhau của bộ nhớ máy tính, nhưng điều đó chỉ thú vị cho các kỹ thuật viên. Khi bạn truy cập một trang web, thông tin ổ cứng của máy chủ của trang web đó sẽ được sao chép vào ổ cứng máy tính của bạn, sau đó vào bộ nhớ của nó, vì vậy nó lại thêm một bước sâu nữa. Và tôi thậm chí không bao gồm bộ nhớ của máy chủ hoặc các gói dữ liệu gửi qua internet, trong số nhiều bước sao chép khác.
Bạn đang yêu cầu cho phép một cái gì đó diễn ra và sau đó không cho phép nó. Có thể, có lẽ, trong một trường hợp cực đoan của một xã hội Draconia nơi mọi người tuân theo phán quyết của chính phủ chống lại "sao chép". Đọc về nỗ lực của Sony để làm điều này tại đây và mức độ xấu của nó có thể nhận được: http://en.wikipedia.org/wiki/Sony_BMG_copy_protection_rootkit_scandal
Bạn có thể làm gì:
Những gì bạn không thể làm:
Những gì bạn không nên làm:
Tôi sẽ nói không, giống như những người khác ở trên, nhưng tôi có thể đưa ra một ý tưởng ngắn gọn về cách nó có thể được thực hiện.
Nếu mọi tệp trên ổ cứng được mã hóa bằng một khóa, dữ liệu rõ ràng không thể được sao chép vì nó sẽ không chứa dữ liệu không được mã hóa. Nhưng nếu bạn bằng cách nào đó làm cho máy tính giải mã dữ liệu mỗi khi chức năng đọc được gọi từ máy tính và mã hóa dữ liệu mỗi khi chức năng ghi được gọi từ máy tính, tôi nghĩ nó sẽ hoạt động.
Tôi cũng khá chắc chắn rằng tốc độ sẽ là một vấn đề rất lớn nếu một ổ cứng hoạt động theo cách này, nhưng ai biết được, có thể chúng ta sẽ thấy nó trong tương lai. Ngoài ra, vấn đề ở đây là bất kỳ ai thực sự muốn lấy dữ liệu trên ổ cứng này đều có thể nếu họ biết họ đang làm gì, chỉ cần xóa cuộc gọi mã hóa mỗi khi gọi chức năng ghi, dẫn đến ổ cứng không được mã hóa.
Dù sao, đó chỉ là một ý tưởng và tôi thực sự không thấy đó là một giải pháp rất tốt trong tương lai gần.
Nếu một tập tin có thể được đọc, nó có thể được sao chép. Xét cho cùng, sao chép cũng giống như yêu cầu máy tính của bạn đọc tệp của bạn và sao chép bất cứ thứ gì nó nhìn thấy. Khi bạn đọc một tập tin, nội dung của nó được tải vào RAM. Khi bạn sao chép một tập tin, nội dung được tải vào RAM và được ghi từ RAM vào ổ cứng. Vì RAM không nằm trong tầm kiểm soát của bạn, bạn không thể dừng bước thứ hai.
Nếu chỉ có một (hoặc một vài) loại tệp bạn muốn chia sẻ (ví dụ: văn bản, video, ppts, v.v.), hãy làm theo các bước sau (yêu cầu khả năng lập trình):
Lập trình trình xem phim của bạn chỉ hoạt động trên ổ cứng ngoài. Bạn có thể thực hiện việc này bằng cách xen kẽ các tệp hệ thống trong ổ cứng (sử dụng attrib + s + h trên dòng lệnh Windows) và yêu cầu những tệp này khi khởi động chương trình của bạn. Bạn cũng có thể làm cho nó không hoạt động nếu nó nằm trên C: Drive (nhìn vào đường dẫn hiện tại với File.getCanonicalNamespace)
5.Bạn đi rồi! Bạn của bạn có thể xem tất cả các tệp bằng trình xem, nhưng bản thân các tệp bên cạnh vô dụng.
Phương pháp sẽ không hoạt động đối với tài liệu văn bản, nhưng thuật toán tạo rác của bạn có thể được thực hiện tinh vi hơn để cắt xén toàn bộ tệp theo cách có thể đảo ngược (rot13 là một ví dụ đơn giản).
Phương pháp này cũng không được khuyên nếu bạn chỉ có một bản sao của nội dung. Việc cắt xén nên được đảo ngược, nhưng, mọi thứ có thể đi sai.
Một chút bận tâm để làm tất cả điều này, nhưng cách duy nhất tôi có thể nghĩ ra. Đó chính xác là cách Netflix và tất cả làm cho các bộ phim trực tuyến của họ không thể xem được. Họ sử dụng các định dạng riêng của họ (có thể phức tạp hơn nhiều so với điều này) và họ có trình xem riêng.
Viết bảo vệ có thể được thực hiện, nhưng nó dễ bị bẻ khóa (bất cứ ai có thiết bị vật lý đều có mọi thứ).
Nếu bạn có một bản sao riêng của các tệp này, thì sử dụng phương pháp chống sao chép ở trên sẽ tự động ghi bảo vệ các tệp, vì người dùng sẽ không thể chỉnh sửa các tệp một cách tinh tế. Anh ta có thể xóa chúng.
Nếu bạn không có một bản sao riêng biệt, thì các hệ thống tệp NTFS có tùy chọn chỉ đọc; nhưng điều này dễ dàng được bỏ qua.
Mọi người ... chịu đựng tôi , đây là một bài tập trong sự ngây thơ.
Tôi nghĩ rằng OP đã yêu cầu một cái gì đó đơn giản . Tôi cũng biết rằng nếu bạn đề xuất một câu hỏi sâu sắc như vậy cho một nhóm người, nhiều người sẽ nghĩ quá nhiều.
Mục tiêu ở đây không phải là ngăn cản hoặc đảm bảo họ làm bất cứ điều gì. Đó thực sự là để làm cho nó rất nhiều công việc để xoay quanh những gì họ muốn làm - rằng họ muốn từ bỏ hoặc có được nó "cách dễ dàng hơn" mua hoặc bất cứ điều gì.
Vì vậy, câu hỏi thực sự là: " Làm thế nào để tôi gây khó khăn cho một người bạn của tôi nếu anh ta cố gắng sao chép các tệp này ."
NẾU chúng tôi cho rằng bạn của bạn là người bình thường và không có khả năng đọc bộ nhớ và chúng tôi cho rằng họ sẽ không đọc bài đăng này ... :-)
Như đã đề xuất ở trên, API có thể hoạt động.
Nhớ bất cứ điều gì đọc vào bộ nhớ là "có thể đạt được".
Tương tự có thể nói cho hệ thống tập tin, rõ ràng.
Ngoài đỉnh đầu của tôi, người ta có thể xây dựng một thông dịch viên.
Đó là một khái niệm lỏng lẻo, nhưng tôi nghĩ nó sẽ hoạt động tốt.
Nếu bạn không muốn tự viết nội dung, thì không nên tiếp tục.
Vì vậy, mã hóa ổ cứng của bạn.
Có rất nhiều chủ đề khác về cách làm điều đó vì vậy tôi sẽ không đề cập ở đây.
Khi bạn mã hóa nó, nó chỉ có ý nghĩa để có thể giải mã nó.
Bạn có thể sử dụng các phím ở đây. Nếu bạn đã viết một tệp nhị phân, có chứa khóa riêng + khóa muối duy nhất (hoặc thực sự gần với duy nhất) với phần cứng bạn đang chia sẻ - như số sê-ri của thiết bị. Tệp nhị phân sẽ giải mã các tệp và đọc chúng trong một trình bao bọc.
Vì vậy, nếu các tập tin và nhị phân được chuyển sang một thiết bị khác ... nó sẽ thất bại. Bởi vì các phím không khớp với nhau như mong đợi.
Bây giờ - được cho rằng một người thực sự có kỹ năng có thể vẫn có thể vượt qua điều này bằng nhiều cách.
NHƯNG - người bình thường của bạn, có lẽ sẽ không muốn đầu tư thời gian / công sức / tiền bạc.
Một số cách đọc nhẹ:
http://en.wikipedia.org/wiki/Disk_encoding
Một số phần mềm (để bạn có thể chơi xung quanh bằng mã hóa):
http://www.truecrypt.org/
Loại "trình bao bọc" đơn giản nhất bạn có thể xây dựng là ứng dụng Adobe Air ...
http://www.adobe.com/products/air.html
Điều này sẽ hoạt động trên các nền tảng (về lý thuyết).
Rào cản để tham gia vào loại lập trình này tương đối thấp.
http://www.liquidsilver.org/2010/02/write-your-own-adobe-air-application/
Tôi hy vọng điều này sẽ giúp trong một số cách nhỏ.
Không tầm thường với dữ liệu số, nhờ các công cụ nguồn mở tuyệt vời xung quanh. Tuy nhiên, bạn có thể tạo định dạng được mã hóa của riêng mình hard
để phá vỡ cho mục đích sao chép. Hãy suy nghĩ nội dung được bảo vệ DRM.
Điều tốt nhất bạn có thể làm là sử dụng một số loại tổng kiểm tra, hàm băm MD5 hoặc tương tự, để có thể ít nhất phát hiện nếu có gì đó bị thay đổi trên ổ cứng của bạn. Bạn không thể ngăn bất kỳ ai sửa đổi dữ liệu trên ổ đĩa nếu họ có quyền truy cập vật lý, nhưng bạn có thể khiến họ hứa sẽ không làm như vậy và giải thích với họ rằng bạn sẽ có thể phát hiện nếu họ làm như vậy.
Không. Bạn có thể sử dụng phương tiện được bảo vệ ghi để ngăn chỉnh sửa, nhưng nếu dữ liệu có thể đọc được, người ta luôn có thể lưu trữ luồng đọc ở một nơi khác để tái tạo nó.
Bạn có thể dĩ nhiên đi vài dặm thêm bằng cách yêu cầu một tuyến kết nối thực thi thói quen giải mã, nhưng thậm chí sau đó người dùng có thể dễ dàng ghi lại những phản ứng máy chủ và giả internet.
Bạn có thể sử dụng lượng tử và thử áp dụng định lý không nhân bản , nhưng vì dữ liệu đọc vẫn sẽ được truy cập theo cách cổ điển, đầu ra có thể được sao chép lại.
Tóm lại: Đừng lãng phí thời gian để cố gắng bảo vệ dữ liệu có thể đọc được khỏi việc sao chép và đầu tư vào một cái gì đó hữu ích thay thế. Đi xem phim chẳng hạn.
Bạn có thể chia sẻ ổ cứng của bạn thông qua mạng LAN . Theo cách đó, anh ta sẽ không có quyền truy cập vật lý vào ổ cứng. Bạn không cần phải mã hóa nó cho việc này. Chỉ cần đặt quyền là đúng và bạn đang trên đường.
Bạn có thể thiết lập SSH. Google về cách thiết lập SSH trong nền tảng của bạn. Có nhiều gói phần mềm có sẵn để chia sẻ dữ liệu giữa các máy tính.