ΠžΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π° Π€Π‘ Oramfs, ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π°Ρ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ доступа ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ

Компания 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