Przeprowadziłem kilka testów i mogę (miejmy nadzieję) udzielić wiarygodnej odpowiedzi.
Krótka odpowiedź: wersje są przechowywane na tym samym dysku (lub obrazie dysku) co rzeczywisty plik, więc wersje nie powinny wyciekać informacji poza zaszyfrowanym obrazem. Ale może być inny wyciek, patrz poniżej.
Długa odpowiedź: wersje tworzą niewidoczny folder na górze każdego woluminu, o nazwie „.DocumentRevisions-V100” o wewnętrznej strukturze podobnej do tej:
.DocumentRevisions-V100
.cs
ChunkStorage (this is presumably used to store chunks of large files that didn't entirely change between versions)
AllUIDs (this is only created on disks that have permissions ignored)
ChunkTemp
db-v1
db.sqlite (this is the primary index of document IDs, etc)
PerUID (this is only created on disks that have ownership respected)
501 (documents created/owned by user #501)
502 (etc...)
staging (???)
Aby uzyskać informacje na temat indeksu sqlite i demona działającego w tle, który pośredniczy w dostępie do niego, przeczytaj doskonałą recenzję Johna Siracusa na ars technica .
Same wersje dokumentów są przechowywane w podkatalogach w AllUIDs lub PerUID / youruserid. Poniżej każdy wersjonowany dokument otrzymuje własny podkatalog, ponumerowany od 1. Poniżej znajduje się pojedynczy folder o nazwie „com.apple.documentVersions”, a pod nim każda wersja jest przechowywana jako osobny dokument (chyba że jest podzielony na części - - Nie eksperymentowałem z dużymi dokumentami) o nazwie z UUID i rozszerzeniem typu. Na przykład, jeśli (użytkownik # 501) edytuję dokument RTF na moim woluminie rozruchowym i zapisuję kilka wersji, mogą one być przechowywane jako:
/.DocumentRevisions-V100/PerUID/501/1/com.apple.documentVersions/0787B7C3-DE11-4065-9FD9-61870212011D.rtf
/.DocumentRevisions-V100/PerUID/501/1/com.apple.documentVersions/D533CF36-0D49-4910-B0EB-C92395C05726.rtf
Jeśli następnie otworzę inny plik RTF i zapiszę jego wersję, może mieć nazwę:
/.DocumentRevisions-V100/PerUID/501/2/com.apple.documentVersions/74A6EF6E-A22A-4196-B560-40ABDBF46DF4.rtf
Gdybym zapisał go na moim obrazie SecretDocs (zamontowanym z pominięciem własności), wersje byłyby przechowywane w następujący sposób:
/Volumes/SecretDocs/.DocumentRevisions-V100/AllUIDs/1/com.apple.documentVersions/2ED4DAFD-9BCF-4158-BFDB-F9EEC631E44A.rtf
BTW, uprawnienia do plików wersji wydają się być klonowane z oryginalnych plików. Uprawnienia do załączających folderów zazwyczaj pozwalają tylko na wykonywanie (tzn. Nie widać nazw plików, ale jeśli znasz nazwę pliku, możesz uzyskać do niego dostęp). Na przykład PerUID / 501 jest ustawiony tak, aby zezwalał na wykonywanie tylko dla użytkownika 501, bez dostępu dla nikogo innego. Folder db-v1 umożliwia tylko dostęp do konta root. Bez szczegółowego badania wydaje się, że jest dość zamknięty.
Teraz, jeśli chodzi o inny wyciek, którym ci groziłem: aplikacje Lion zwykle zapisują swój stan, gdy wychodzisz, więc jeśli masz otwarty poufny dokument, kiedy wychodzisz, niektóre jego informacje (jak myślę zrzut ekranu) mogą być przechowywane w ~ / Library / Saved Application State / someappid.savedState. Tak długo, jak zamkniesz przed zapisaniem, myślę, że jesteś tutaj bezpieczny.
Doskonałe pytanie od Phila M.!
Dane związane z wersjami Apple czasami nie są ograniczone do /.DocumentRevisions-V100
Będę mówił tak krótko, jak to możliwe. Kluczowe idee:
W niektórych okolicznościach
- https://discussions.apple.com/message/15739595#15739595 (2011-07-25)
Również lekko dostosowany z https://discussions.apple.com/message/15741724#15741724
W moim ostatnim teście z tym samym serwerem AFP wersje zdalnego zrzutu ekranu .png:
są lokalne i mieszczą się w odpowiednio ukrytym
~/Library
… zobacz automatyczne zapisywanie, wersje, wznawianie i przezroczysty cykl życia aplikacji (TAL): pojawiające się informacje technicznenie są lokalnie na
/.DocumentRevisions-V100
nie są zdalnie na
/.DocumentRevisions-V100
…
Lokalnie mogą istnieć pewne powiązane dane,
/.DocumentRevisions-V100
ale w tym przypadku wersje pliku zdalnego są lokalne i nie ograniczają się do użytkownika root. Zobacz na przykład zrzut ekranu 001 na stronie http://www.wuala.com/grahamperrin/public/2011/07/25/e/?mode=gallery przedstawiający lokalne wersje pliku zdalnego, otwartego po odłączeniu od serwera plików.Wróć do pytania otwierającego tutaj w Ask Different… zaszyfrowane .sparsebundle obrazy, bezpieczeństwo. Rozważ to:
W kontekście zaszyfrowanego, rzadkiego obrazu dysku pakietu, użytkownicy mogą częściej korzystać z JHFS + (obsługującego przechowywanie wersji stałej) niż MS-DOS (brak wsparcia)
Jednak: ktoś powinien sprawdzić, czy niezaszyfrowane wersje pozostają w katalogu domowym użytkownika - który może być niezaszyfrowany - po odłączeniu takiego woluminu.
Osobiście uważam, że fseventer jest najbardziej przydatny w takich sytuacjach testowych. YMMV.
Separacja
Niektóre z tych odpowiedzi mogą powodować pytania, które nie są specyficzne dla szyfrowania, nie są specyficzne dla rzadkich obrazów dysków pakietu, nie są specyficzne dla bezpieczeństwa. Są to potencjalnie złożone tematy, więc proszę: zamiast zadawać pytania w komentarzach pod tą odpowiedzią, prawdopodobnie powinienem zachęcić każde pytanie do zadawania osobno.
źródło
Sprawdziłem dokumentację programistyczną Apple dotyczącą funkcji wersji i wydaje się, że poprzednie wersje dokumentu są przechowywane w tym samym „miejscu” (co oznacza ten sam plik lub ten sam folder), co bieżąca wersja dokumentu; ale w dokumentacji brakuje szczegółowych informacji.
Jest też artykuł AppleInsider zatytułowany „Inside Mac OS X 10.7 Lion: Auto Save, wersje plików i Time Machine” , który mówi:
Nie znalazłem jeszcze bardziej szczegółowych opisów działania funkcji Wersje.
źródło
.DocumentRevisions-V100
(i nie w tym samym pliku co dokument)Gordon, to dobra wiadomość dla wszystkich, a także dla programistów Knox i Espionage (korzystam z obu tych aplikacji).
Oto scenariusz, na który użytkownicy powinni jednak uważać. Jeśli uzyskujesz dostęp do pliku w zamontowanym obrazie zaszyfrowanego dysku na dysku zewnętrznym, pliki wersji prawdopodobnie będą istnieć na dysku systemowym użytkownika w niezaszyfrowanej formie. Jednym z obejść tego problemu byłoby skopiowanie pliku .sparsebundle na dysk systemowy przed jego zamontowaniem.
Innym scenariuszem jest sytuacja, gdy plik .sparsebundle znajduje się na innym komputerze Mac Snow Leopard w tej samej sieci, a obraz jest udostępniany w sieci, co umożliwia montaż na komputerze Mac Lion poprzez przeglądanie go w Finderze. (Robię to czasami.) Zdecydowanie spowodowałoby to umieszczenie plików wersji na dysku systemowym użytkownika w niezaszyfrowanej formie. Jednym z obejść tego problemu byłoby użycie udostępniania ekranu do sterowania komputerem Mac Snow Leopard, a następnie zamontowanie i praca na obrazie na tym komputerze Mac.
Najważniejsze jest to, że w Lion ludzie muszą zrozumieć więcej i być bardziej ostrożni, gdy używają zaszyfrowanych obrazów dysków, jeśli obrazy nie znajdują się na dysku systemowym. Mam nadzieję, że programiści Knox i Espionage ostrzeżą swoich klientów przed tymi problemami.
EDYCJA: Odpowiedź Grahama wydaje się potwierdzać większość moich założeń.
źródło
.DocumentRevisions
na zaszyfrowanym woluminie . Odpowiedź @ Gordona również wydaje się to potwierdzać.