ΠΠΎΠΌΠΏΠ°Π½ΠΈΡ Kudelski Security, ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΡΡΠ°ΡΡΡ Π½Π° ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΈ Π°ΡΠ΄ΠΈΡΠ° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ, ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π»Π° ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Oramfs Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ORAM (Oblivious Random Access Machine), ΠΌΠ°ΡΠΊΠΈΡΡΡΡΠ΅ΠΉ Ρ Π°ΡΠ°ΠΊΡΠ΅Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π΄Π°Π½Π½ΡΠΌ (data access pattern). ΠΡΠΎΠ΅ΠΊΡΠΎΠΌ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ FUSE-ΠΌΠΎΠ΄ΡΠ»Ρ Π΄Π»Ρ Linux Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ ΡΠ»ΠΎΡ Π€Π‘, Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅Π³ΠΎ ΠΎΡΡΠ»Π΅Π΄ΠΈΡΡ ΡΡΡΡΠΊΡΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π·Π°ΠΏΠΈΡΠΈ ΠΈ ΡΡΠ΅Π½ΠΈΡ. ΠΠΎΠ΄ Oramfs Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° ΡΠ·ΡΠΊΠ΅ Rust ΠΈ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΠΉ GPLv3.
Π’Π΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ ORAM ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π΅Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π΅ΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ»ΠΎΡ ΠΏΠΎΠΌΠΈΠΌΠΎ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ, Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅Π³ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Ρ Π°ΡΠ°ΠΊΡΠ΅Ρ ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΡΠ»ΡΡΠ°Π΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΈ Ρ ΡΠ°Π½Π΅Π½ΠΈΠΈ Π΄Π°Π½Π½ΡΡ Π² ΡΡΠΎΡΠΎΠ½Π½Π΅ΠΌ ΡΠ΅ΡΠ²ΠΈΡΠ΅, Π²Π»Π°Π΄Π΅Π»ΡΡΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ²ΠΈΡΠ° Π½Π΅ ΠΌΠΎΠ³ΡΡ ΡΠ·Π½Π°ΡΡ ΡΠ°ΠΌΠΈ Π΄Π°Π½Π½ΡΠ΅, Π½ΠΎ ΠΌΠΎΠ³ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΊ ΠΊΠ°ΠΊΠΈΠΌ Π±Π»ΠΎΠΊΠ°ΠΌ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ. ORAM ΡΠΊΡΡΠ²Π°Π΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΎΠΌ ΠΊ ΠΊΠ°ΠΊΠΈΠΌ ΡΠ°ΡΡΡΠΌ Π€Π‘ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ Π΄ΠΎΡΡΡΠΏ ΠΈ ΠΊΠ°ΠΊΠ°Ρ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ (ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ Π·Π°ΠΏΠΈΡΡ).
Oramfs ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ-ΠΏΡΠΎΡΠ»ΠΎΠΉΠΊΡ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΡΡ ΡΠΏΡΠΎΡΡΠΈΡΡ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ Π½Π° Π»ΡΠ±ΡΡ Π²Π½Π΅ΡΠ½ΠΈΡ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°Ρ . ΠΠ°Π½Π½ΡΠ΅ ΡΠΎΡ ΡΠ°Π½ΡΡΡΡΡ Π² Π·Π°ΡΠΈΡΡΠΎΠ²Π°Π½Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅ c ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΏΠΎΠ΄Π»ΠΈΠ½Π½ΠΎΡΡΠΈ. ΠΠ»Ρ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ChaCha8, AES-CTR ΠΈ AES-GCM. ΠΠ°ΠΊΠΎΠ½ΠΎΠΌΠ΅ΡΠ½ΠΎΡΡΠΈ ΠΏΡΠΈ Π΄ΠΎΡΡΡΠΏΠ΅ Π½Π° Π·Π°ΠΏΠΈΡΡ ΠΈ ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΊΡΡΠ²Π°ΡΡΡΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΡ Π΅ΠΌΡ Path ORAM. Π Π±ΡΠ΄ΡΡΠ΅ΠΌ Π½Π°ΠΌΠ΅ΡΠ΅Π½Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈ Π΄ΡΡΠ³ΠΈΡ ΡΡ Π΅ΠΌ, Π½ΠΎ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΌ Π²ΠΈΠ΄Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΏΠΎΠΊΠ° Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π½Π° ΡΡΠ°Π΄ΠΈΠΈ ΠΏΡΠΎΡΠΎΡΠΈΠΏΠ°, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΡΠ°Π±ΠΎΡΠΈΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ .
Oramfs ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Ρ Π»ΡΠ±ΡΠΌΠΈ Π€Π‘ ΠΈ Π½Π΅ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠΈΠΏΠ° ΡΠ΅Π»Π΅Π²ΠΎΠ³ΠΎ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° — Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² Π² Π»ΡΠ±ΠΎΠΉ ΡΠ΅ΡΠ²ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°ΡΡ Π² ΡΠΎΡΠΌΠ΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° (SSH, FTP, Google Drive, Amazon S3, Dropbox, Google Cloud Storage, Mail.ru Cloud, Π―Π½Π΄Π΅ΠΊΡ.ΠΠΈΡΠΊ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ΅ΡΠ²ΠΈΡΡ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΠ΅ Π² rclone ΠΈΠ»ΠΈ Π΄Π»Ρ ΠΊΠΎΡΠΎΡΡΡ ΠΈΠΌΠ΅ΡΡΡΡ FUSE-ΠΌΠΎΠ΄ΡΠ»ΠΈ Π΄Π»Ρ ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ). Π Π°Π·ΠΌΠ΅Ρ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° Π½Π΅ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½ ΠΈ ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΡΠ°Π·ΠΌΠ΅Ρ ORAM ΠΌΠΎΠΆΠ΅Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°ΡΡΡΡ.
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° Oramfs ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π΄Π²ΡΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ² — ΠΏΡΠ±Π»ΠΈΡΠ½ΠΎΠ³ΠΎ ΠΈ ΠΏΡΠΈΠ²Π°ΡΠ½ΠΎΠ³ΠΎ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠΎΠ»Ρ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°. ΠΡΠ±Π»ΠΈΡΠ½ΡΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π»ΡΠ±ΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠ΅ΠΉ Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ Π€Π‘, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ²ΡΠ·Π°Π½Π° Ρ Π²Π½Π΅ΡΠ½ΠΈΠΌΠΈ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°ΠΌΠΈ ΠΏΡΡΡΠΌ ΠΈΡ ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅ΡΠ΅Π· SSHFS, FTPFS, Rclone ΠΈ Π»ΡΠ±ΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ FUSE-ΠΌΠΎΠ΄ΡΠ»ΠΈ. ΠΡΠΈΠ²Π°ΡΠ½ΡΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ FUSE-ΠΌΠΎΠ΄ΡΠ»Π΅ΠΌ Oramfs ΠΈ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ, Ρ ΡΠ°Π½ΠΈΠΌΡΠΌΠΈ Π² ORAM. Π ΠΏΡΠ±Π»ΠΈΡΠ½ΠΎΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ ΡΠ°Π·ΠΌΠ΅ΡΠ°Π΅ΡΡΡ ΡΠ°ΠΉΠ» Ρ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ORAM. ΠΡΠ±Π°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Ρ ΠΏΡΠΈΠ²Π°ΡΠ½ΡΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°ΠΌ ΠΎΡΡΠ°ΠΆΠ°Π΅ΡΡΡ Π½Π° ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ ΡΡΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°-ΠΎΠ±ΡΠ°Π·Π°, Π½ΠΎ Π΄Π°Π½Π½ΡΠΉ ΡΠ°ΠΉΠ» Π²ΡΠ³Π»ΡΠ΄ΠΈΡ Π΄Π»Ρ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ Π½Π°Π±Π»ΡΠ΄Π°ΡΠ΅Π»Ρ ΠΊΠ°ΠΊ ΡΡΡΠ½ΡΠΉ ΡΡΠΈΠΊ, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π°ΡΡΠΎΡΠΈΠΈΡΠΎΠ²Π°ΡΡ Ρ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΡΡ Π² ΠΏΡΠΈΠ²Π°ΡΠ½ΠΎΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ Π½Π΅Π»ΡΠ·Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Π·Π°ΠΏΠΈΡΠΈ ΠΈΠ»ΠΈ ΡΡΠ΅Π½ΠΈΡ.
Oramfs ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ Π² ΠΎΠ±Π»Π°ΡΡΡΡ
, Π² ΠΊΠΎΡΠΎΡΡΡ
Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±ΠΈΡΡΡΡ Π½Π°ΠΈΠ²ΡΡΡΠ΅Π³ΠΎ ΡΡΠΎΠ²Π½Ρ ΠΊΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎΡΡΠΈ ΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΆΠ΅ΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ. ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠ½ΠΈΠΆΠ°Π΅ΡΡΡ ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΊΠ°ΠΆΠ΄Π°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Ρ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΠΌ, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΡΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ
, ΠΏΡΠΈΠ²ΠΎΠ΄ΡΡ ΠΊ ΠΏΠ΅ΡΠ΅ΡΡΡΠΎΠ΅Π½ΠΈΡ Π±Π»ΠΎΠΊΠΎΠ² Π² ΠΎΠ±ΡΠ°Π·Π΅ Π€Π‘. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ 10ΠΠ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ ΠΎΠΊΠΎΠ»ΠΎ 1 ΡΠ΅ΠΊΡΠ½Π΄Ρ, Π° 25ΠΠ — 3 ΡΠ΅ΠΊ. ΠΠ°ΠΏΠΈΡΡ 10 ΠΠ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ 15 ΡΠ΅ΠΊΡΠ½Π΄, Π° 25ΠΠ — 50 ΡΠ΅ΠΊΡΠ½Π΄. ΠΡΠΈ ΡΡΠΎΠΌ Oramfs ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ Π² 9 ΡΠ°Π· Π±ΡΡΡΡΠ΅Π΅ ΠΏΡΠΈ ΡΡΠ΅Π½ΠΈΠΈ ΠΈ Π² 2 ΡΠ°Π·Π° Π±ΡΡΡΡΠ΅Π΅ ΠΏΡΠΈ Π·Π°ΠΏΠΈΡΠΈ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ UtahFS, ΡΠ°Π·Π²ΠΈΠ²Π°Π΅ΠΌΠΎΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Cloudflare ΠΈ ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠ΅ΠΉ ΡΠ΅ΠΆΠΈΠΌ ORAM.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru