Saya ingin berbagi hard drive 500 GB saya dengan seorang teman tetapi saya ingin mengenkripsi dengan cara agar semua data dapat dibaca secara normal tetapi tidak dapat disalin atau diedit dengan cara apa pun.
Apakah itu mungkin?
Saya ingin berbagi hard drive 500 GB saya dengan seorang teman tetapi saya ingin mengenkripsi dengan cara agar semua data dapat dibaca secara normal tetapi tidak dapat disalin atau diedit dengan cara apa pun.
Apakah itu mungkin?
Jawaban:
Jika Anda dapat membacanya, Anda dapat menyalinnya. Sebuah konsep yang belum dapat dipahami oleh RIAA atau MPAA.
Catatan: Jawaban ini tidak dianggap sebagai jawaban yang baik menurut pedoman Stack Exchange . Namun, itu dipertahankan karena popularitas dan efektivitasnya dalam konteks pertanyaan.
/dev/zero
dengan cara normal (cara normal = dd
, cat
atau apa pun yang menggelitik keinginan Anda). Anda juga dapat menyalin dari /dev/null
, tetapi itu akan menyalin nol byte, hanya karena kosong: tidak ada yang disalin. Anda mungkin mencoba (dan gagal) untuk menyalin perangkat sebagai file . Itu tentu saja gagal, karena itu bukan file. Hal yang sama terjadi jika Anda mencoba menyalin perangkat lain, memperlakukannya sebagai file.
"Salinan" didefinisikan sebagai membaca data dan kemudian menulis data yang sama ke lokasi lain. Karena dia membaca data Anda ke komputernya, data akan berada di bawah kendalinya saat itu. Dia kemudian dapat melakukan apapun yang dia suka dengannya.
Satu hal yang hampir tidak mungkin adalah melindungi data Anda dari modifikasi yang tidak sah. Anda membutuhkan sistem file NTFS atau yang serupa. Tetapi bahkan dalam kasus itu, ia dapat membaca semua data, memformat disk Anda, menghapus semua izin, dan menulis semua file kembali - mungkin dimodifikasi.
[sunting] 500 GB hanya miliaran angka. Mari saya mendidih itu ke contoh sederhana: 5
. Itu satu angka. Anda dapat membacanya, dan tidak ada yang bisa saya lakukan untuk mencegah Anda menuliskan nomor itu. Saya juga tidak bisa mencegah Anda menulis nomor 6
.
Tidak, itu pasti tidak mungkin.
Mari kita coba bertanya sedikit, apakah Anda ingin dia tidak mengubah file tanpa pemberitahuan Anda? Jika demikian, Anda dapat memeriksa semua file dan memverifikasi ulang.
Cara lain adalah pemblokir tulis perangkat keras, Anda dapat melihat di sini: http://www.forensicswiki.org/wiki/Write_Blockers
Enkripsi hanyalah matematika . Pikirkan hal ini sebentar dan Anda akan memahami kemampuan dan keterbatasannya dengan lebih baik:
Tapi Anda tidak bisa menggunakan matematika untuk menghentikan orang menyalin pesan. Itu bukan sesuatu yang bisa dilakukan matematika . (Menyalin data lebih sedikit 'matematika' dan lebih banyak 'fisika'. :)
Yang paling dekat yang bisa Anda datangi adalah menggunakan matematika untuk mengenkripsi beberapa data, menggunakan matematika untuk memverifikasi bahwa komputer hanya menjalankan perangkat lunak yang Anda inginkan sedang berjalan, dan hanya kemudian memberikan nomor ajaib komputer untuk mendekripsi data, sementara itu membuat ekstra yakin bahwa perangkat lunak tidak berakhir membiarkan angka ajaib atau membiarkan siapa pun menyalin data. Ini adalah komputasi tepercaya dan kurang lebih hal-hal seperti pemutar DVD dan konsol gim video coba lakukan. Ini kurang praktis untuk sebagian besar penyiapan, dan cenderung berakhir dengan satu atau lain cara (mis. 09 f9 ).
Sejauh yang saya ketahui, ada cara untuk mengurangi risiko data diubah pada hard disk Anda, melalui perangkat lunak dan perangkat keras. Namun, begitu teman Anda memiliki hard disk Anda, mereka mungkin bisa mengelak atau mengganti metode proteksi apa pun , jika mereka berupaya cukup keras di dalamnya. Sebagai contoh:
Seperti yang dikatakan orang lain, tidak mungkin mencegah penyalinan, karena jika dapat dibaca, dapat disalin.
Anda dapat mencoba meminta teman Anda untuk tidak menyalin atau mengubah apa pun. Agaknya, jika mereka teman Anda, mereka akan dengan senang hati mematuhi ...
Meskipun Anda tidak bisa membiarkan orang membaca data Anda dan secara bersamaan mencegah menyalin, ada cara yang sangat sederhana yang Anda dapat dengan mudah mencegah mereka dari mengedit: tidak memberi mereka asli .
Jika Anda menyalin data Anda ke hard drive terpisah dan menyimpan yang asli, jelas penerima salinan tidak dapat memodifikasi asli Anda.
Ini mengalahkan permintaan "Anda tidak dapat menyalin" dengan segera, tetapi toh itu tidak mungkin dipenuhi.
The No-kloning teorema dapat membantu Anda, jika Anda memiliki sebuah komputer kuantum. Namun, kloning yang tidak sempurna masih mungkin:
Teorema tanpa kloning adalah hasil dari mekanika kuantum yang melarang pembuatan salinan identik dari keadaan kuantum yang tidak diketahui secara arbitrer. [...] Kloning adalah suatu proses yang hasil akhirnya adalah keadaan yang dapat dipisahkan dengan faktor-faktor yang identik.
Seperti banyak orang lain tunjukkan, dalam keadaan normal "bagikan dan baca secara normal" menyiratkan "dapat disalin", dan jawaban untuk pertanyaan Anda adalah "tidak".
Satu-satunya cara untuk mendapatkan "ya" adalah mendefinisikan kembali "membaca secara normal" dengan mengubah keadaan:
Kunci teman Anda ke dalam ruangan, serahkan perangkat yang telah Anda masukkan kunci, pastikan perangkat tidak memiliki I / O atau jaringan yang dapat membuat penyalinan terjadi, pastikan teman Anda tidak memiliki kamera atau memori foto (yang dengannya untuk menyalin tampilan), ambil perangkat dan kembalikan ke kondisi tidak terbaca, lepaskan perangkat, lalu bebaskan teman Anda dari ruangan. (Catatan, jika mereka dapat memeriksa perangkat secara mendalam, mereka mungkin masih menemukan kunci privat atau sementara, jadi "no I / O" berarti kurangnya akses fisik ke internal.)
Apakah itu terdengar "dibaca secara normal" untuk Anda? Jika demikian, Anda sudah siap. Saya tidak akan mengandalkan membuatnya sebagai kebiasaan atau membangun rencana bisnis di sekitar proses.
Membaca ADALAH menyalin.
Setiap data yang Anda akses di komputer mana pun adalah salinan data pada hard drive, yang telah disalin ke dalam RAM komputer (memori), bukan data aktual pada hard drive itu sendiri. Jika Anda benar-benar ingin memperdalam, ada lebih banyak salinan perantara di seluruh pengontrol hard drive dan berbagai himpunan bagian dari memori komputer, tetapi itu hanya menarik bagi para teknogeeks. Ketika Anda mengunjungi sebuah situs web, informasi hard drive server situs web tersebut disalin ke hard drive komputer Anda, dan kemudian ke memorinya, jadi ini merupakan langkah ekstra lebih dalam lagi. Dan saya bahkan tidak memasukkan memori server, atau paket data yang dikirim di internet, di antara banyak langkah penyalinan lainnya.
Anda meminta untuk mengizinkan sesuatu terjadi dan kemudian tidak mengizinkannya. Mungkin, mungkin, dalam kasus ekstrem masyarakat Draconian di mana semua orang mematuhi peraturan pemerintah yang melarang "penyalinan". Baca tentang upaya Sony untuk melakukan ini di sini dan seberapa buruk yang bisa didapatkannya: http://en.wikipedia.org/wiki/Sony_BMG_copy_protection_rootkit_scandal
Apa yang dapat Anda lakukan:
Apa yang tidak dapat Anda lakukan:
Apa yang seharusnya tidak Anda lakukan:
Saya akan mengatakan tidak, sama seperti orang lain di atas, tetapi saya dapat memberikan ide singkat tentang bagaimana hal itu dapat dilakukan.
Jika setiap file pada hard drive dienkripsi dengan kunci, data jelas tidak dapat disalin karena tidak akan berisi data yang tidak dienkripsi. Tetapi jika Anda entah bagaimana membuat komputer mendekripsi data setiap kali fungsi baca dipanggil dari komputer, dan mengenkripsi data setiap kali fungsi tulis dipanggil dari komputer, saya pikir itu akan berhasil.
Saya juga cukup yakin bahwa kecepatan akan menjadi masalah yang sangat besar jika hard drive bekerja dengan cara ini, tetapi siapa tahu, mungkin kita akan melihatnya di masa depan. Juga, hal tentang ini adalah siapa pun yang benar-benar ingin mendapatkan data pada hard drive ini dapat melakukannya jika mereka tahu apa yang mereka lakukan, hanya dengan menghapus panggilan enkripsi setiap kali fungsi tulis dipanggil, yang mengarah ke hard drive yang tidak terenkripsi.
Bagaimanapun, itu hanya sebuah ide, dan saya benar-benar tidak melihat itu menjadi solusi yang sangat baik dalam waktu dekat.
Jika suatu file dapat dibaca, itu dapat disalin. Lagi pula, menyalin sama dengan memberi tahu komputer Anda untuk membaca file Anda dan menyalin apa pun yang dilihatnya. Saat Anda membaca file, isinya dimuat ke dalam RAM. Saat Anda menyalin file, isinya dimuat ke dalam RAM dan ditulis dari RAM ke HDD. Karena RAM tidak di bawah kendali Anda, Anda tidak dapat menghentikan langkah kedua.
Jika hanya ada satu (atau beberapa) jenis file yang ingin Anda bagikan (mis. Teks, video, ppts, dll), ikuti langkah-langkah ini (diperlukan kemampuan pemrograman):
Program fileviewer Anda hanya berfungsi pada hard drive eksternal. Anda dapat melakukan ini dengan menyelingi file sistem dalam HDD (gunakan attrib + s + h pada baris perintah Windows), dan minta ini di startup program Anda. Anda juga dapat membuatnya tidak berfungsi jika berada di C: Drive (lihat drivepath saat ini dengan File.getCanonicalNamespace)
5. kamu pergi! Teman Anda dapat melihat semua file menggunakan penampil, tetapi file itu sendiri tidak berguna.
Metode ini tidak akan berfungsi untuk dokumen teks, tetapi algoritma pembuatan sampah Anda dapat dibuat lebih canggih untuk memutarbalikkan seluruh file dengan cara yang dapat dibalik (rot13 adalah contoh sederhana).
Metode ini juga tidak akan disarankan jika Anda hanya memiliki satu salinan barang. Kekacauan harus dapat dibalik, tetapi, segala sesuatunya bisa salah.
Sedikit repot untuk melakukan semua ini, tetapi satu-satunya cara yang dapat saya pikirkan. Persis seperti itulah Netflix dan semua membuat film online mereka tidak dapat dicuri. Mereka menggunakan format mereka sendiri (mungkin jauh lebih canggih dari ini), dan mereka memiliki pemirsa sendiri.
Perlindungan penulisan dapat dilakukan, tetapi mudah retak (siapa pun yang memiliki perangkat fisik memiliki segalanya).
Jika Anda memiliki salinan terpisah dari file-file ini, maka menggunakan metode perlindungan-salinan di atas akan secara otomatis menulis-melindungi file-file tersebut, karena pengguna tidak akan dapat mengedit file secara halus. Dia bisa menghapusnya.
Jika Anda tidak memiliki salinan terpisah, maka sistem file NTFS memiliki opsi hanya baca; tapi ini mudah dilewati.
Semuanya ... bersabarlah , ini adalah latihan untuk menjadi naif.
Saya pikir OP meminta sesuatu yang sederhana . Saya juga berpendapat bahwa jika Anda mengajukan pertanyaan yang begitu mendalam kepada sekelompok orang, banyak yang akan terlalu memikirkannya.
Tujuannya di sini bukan untuk mencegah atau menjamin mereka melakukan sesuatu. Ini sebenarnya untuk membuatnya sangat sulit untuk menyelesaikan apa yang ingin mereka lakukan - bahwa mereka lebih suka menyerah atau mendapatkannya "cara yang lebih mudah" membeli atau apa pun.
Jadi pertanyaan sebenarnya adalah: " Bagaimana saya membuat hal-hal sulit bagi seorang teman saya jika ia mencoba menyalin file-file ini ."
JIKA kami menganggap bahwa teman Anda adalah orang biasa dan tidak mampu membaca memori dan kami menganggap mereka tidak akan membaca posting ini ... :-)
Seperti yang disarankan di atas, API dapat berfungsi.
Ingatlah bahwa membaca apa pun dalam memori "dapat diperoleh".
Hal yang sama dapat dikatakan untuk sistem file, jelas.
Dari atas kepala saya, orang bisa membangun seorang juru bahasa.
Ini konsep yang longgar, tapi saya pikir itu akan berfungsi dengan baik.
Jika Anda tidak ingin menulis sendiri, jangan lanjutkan.
Jadi enkripsi hard drive Anda.
Ada banyak utas lain tentang cara melakukannya sehingga saya tidak akan membahasnya di sini.
Ketika Anda mengenkripsi itu, masuk akal untuk dapat mendekripsi.
Anda dapat menggunakan kunci di sini. Jika Anda menulis file biner, yang berisi kunci pribadi + kunci garam yang unik (atau sangat dekat dengan unik) ke perangkat keras yang Anda bagikan - seperti nomor seri perangkat. File biner akan mendekripsi file dan membacanya dalam pembungkus.
Jadi jika file dan biner dipindahkan ke perangkat lain ... itu hanya akan gagal. Karena kunci tidak cocok seperti yang diharapkan.
Sekarang - tentu saja orang yang benar-benar terampil mungkin masih dapat menyiasati hal ini dalam beberapa cara.
TETAPI - rata-rata orang Anda, mungkin tidak ingin menginvestasikan waktu / tenaga / uang.
Beberapa bacaan ringan:
http://en.wikipedia.org/wiki/Disk_encryption
Beberapa perangkat lunak (sehingga Anda dapat bermain-main dengan enkripsi):
http://www.truecrypt.org/
Jenis "pembungkus" termudah yang dapat Anda buat adalah aplikasi Adobe Air ...
http://www.adobe.com/products/air.html
Ini akan bekerja lintas platform (secara teori).
Hambatan untuk masuk ke pemrograman semacam ini relatif rendah.
http://www.liquidsilver.org/2010/02/write-your-own-adobe-air-application/
Saya harap ini membantu dalam beberapa hal kecil.
Yang terbaik yang dapat Anda lakukan adalah menggunakan semacam checksum, hash MD5, atau sejenisnya, untuk setidaknya dapat mendeteksi jika ada sesuatu yang berubah pada hard drive Anda. Anda tidak dapat menghentikan siapa pun dari memodifikasi data pada drive jika mereka memiliki akses fisik, tetapi Anda dapat membuat mereka berjanji untuk tidak melakukannya, dan menjelaskan kepada mereka bahwa Anda akan dapat mendeteksi jika mereka melakukannya.
Tidak. Anda dapat menggunakan media yang dilindungi tulis untuk mencegah pengeditan, tetapi jika data dapat dibaca, seseorang selalu dapat menyimpan aliran baca di tempat lain untuk mereproduksinya.
Anda tentu saja dapat menempuh beberapa mil ekstra dengan memerlukan koneksi dekripsi penegakan koneksi-online, tetapi meskipun demikian pengguna dapat dengan mudah mencatat respons server dan memalsukan internet.
Anda dapat menggunakan kuantum dan mencoba menerapkan teorema tanpa kloning , tetapi karena data yang dibaca masih akan diakses dengan cara klasik, hasilnya dapat disalin kembali.
Singkatnya: Jangan buang waktu mencoba melindungi data yang dapat dibaca dari menyalin dan menginvestasikannya dalam sesuatu yang bermanfaat. Pergi ke bioskop, misalnya.
Anda dapat membagikan hard drive Anda melalui LAN . Dengan begitu dia tidak akan memiliki akses fisik ke harddisk. Anda tidak perlu mengenkripsi sama sekali untuk ini. Hanya mengatur hak yang benar dan Anda sedang dalam perjalanan.
Anda dapat mengatur SSH. Google tentang cara mengatur SSH di platform Anda. Ada banyak paket perangkat lunak yang tersedia untuk berbagi data antar komputer.