Robert W.

Robert W. Przedsiębiorca

Temat: Rozpoznawanie edycji pliku

Witam,

czy znacie sposób, aby system rozpoznawał edycję pliku w xls lub html, który wcześniej został wyeksportowany z jakiejś aplikacji? Jak zabezpieczyć taki plik przez edycją zakładając, że aplikacja skąd pochodzi jest zewnętrzna i nie mam możliwości ingerencji w nią. Z góry dzięki za pomoc.
Łukasz C.

Łukasz C. Senior Technical
Architect

Temat: Rozpoznawanie edycji pliku

suma kontrolna?
Robert W.

Robert W. Przedsiębiorca

Temat: Rozpoznawanie edycji pliku

Łukasz, mógłbyś rozszerzyć swoją myśl?

Zakładamy, że nie mam wpływu na aplikację skąd pochodzi plik, chcę mieć pewność, że na drodze z tej aplikacji a wgraniem do mojego systemu nie był edytowany przez użytkownika.
Michał Jastrzębski

Michał Jastrzębski Django-fu, phpjutsu,
sql-do

Temat: Rozpoznawanie edycji pliku

Suma kontrolna - hashujesz całą zawartość pliku(sha1) i dostajesz 40 znakowy ciąg. Jeśli coś się zmieni w pliku jego hash też będzie inny. Więc po prostu porównujesz hash z wyjścia z programu z tym z wejścia do drugiego i będziesz widział, czy po drodze coś się zmieniło.

konto usunięte

Temat: Rozpoznawanie edycji pliku

Michał Jastrzębski:
Suma kontrolna - hashujesz całą zawartość pliku(sha1)

raczej sha1(całą zawartość pliku) ;)

Ale to oczywiście żart. Robert: http://pl.php.net/manual/en/function.sha1-file.php
Remigiusz Towalski

Remigiusz Towalski Manager R&D
Engineering

Temat: Rozpoznawanie edycji pliku

Chyba intencja Roberta jest nieco inna...

(obca aplikacja) -> (potencjalna edycja) -> (import u Roberta)

Ja to rozumiem tak, że chodzi o wykrycie czy potencjalna edycja zaszła czy nie.

W ogólności: nie da się.

No chyba, że sama aplikacja źródłowa udostępnia opcję wyliczenia hasha wyeksportowanego pliku lub (najlepiej) podpisania go cyfrowo.
Michał Jastrzębski

Michał Jastrzębski Django-fu, phpjutsu,
sql-do

Temat: Rozpoznawanie edycji pliku

No chyba, że sama aplikacja źródłowa udostępnia opcję wyliczenia hasha wyeksportowanego pliku lub (najlepiej) podpisania go cyfrowo.

No, jeśli tego nie zrobiła to mamy problem;) Chyba że dałoby się bezpośrednio z wyjścia tamtej aplikacji wysłać do skryptu liczącego hasha...
Robert W.

Robert W. Przedsiębiorca

Temat: Rozpoznawanie edycji pliku

Tak, Remigiusz ma rację. Jest to obca aplikacja, która umożliwia eksport pliku, ja muszę mieć pewność, że użytkownik po drodze nic nie zmieniał w xls lub html.

Czyli mówicie, że się nie da?

OK, to załóżmy, że dogadałbym się z to aplikacją w bardzo okrojonym zakresie, co mógłbym dla niej zaproponować, aby zabezpieczała taki plik przed edycją?
Mateusz Kurleto

Mateusz Kurleto Szukamy wybitnych
talentów do
świetnego zespołu IT
w Gdańsku

Temat: Rozpoznawanie edycji pliku

ROBERT WALICKI:
Tak, Remigiusz ma rację. Jest to obca aplikacja, która umożliwia eksport pliku, ja muszę mieć pewność, że użytkownik po drodze nic nie zmieniał w xls lub html.

Czyli mówicie, że się nie da?

OK, to załóżmy, że dogadałbym się z to aplikacją w bardzo okrojonym zakresie, co mógłbym dla niej zaproponować, aby zabezpieczała taki plik przed edycją?
sumy kontrolne:)
powoływałeś się na office'a - są tam takie opcje
Robert W.

Robert W. Przedsiębiorca

Temat: Rozpoznawanie edycji pliku

Mateusz, mógłbyś rozwinąć myśl o tych sumach kontrolnych? Oczywiście zakładamy, że plik xls został wygenerowany niezależnie od nas, przez zewnętrzna aplikację, nie znamy tego jak finalnie ma wyglądać, co zwierać. Chcemy tylko przed importem go do naszego systemu mieć pewność, że nie był po drodze edytowany.

konto usunięte

Temat: Rozpoznawanie edycji pliku

ROBERT WALICKI:
Mateusz, mógłbyś rozwinąć myśl o tych sumach kontrolnych? Oczywiście zakładamy, że plik xls został wygenerowany niezależnie od nas, przez zewnętrzna aplikację, nie znamy tego jak finalnie ma wyglądać, co zwierać. Chcemy tylko przed importem go do naszego systemu mieć pewność, że nie był po drodze edytowany.

Potrzebne jest Ci cos w tym stylu:

Generator -> Eskporter <----- transfer -----> Importer -> Odbiorca

Generator to aplikacja tworzaca plik wyjsciowy. Eksporter to np. prosty serwer opakowujacy wyeksportowany plik w taka strukture XML:

<export>
<file checksum="tutaj_hash"><![CDATA[***zawartosc***]]></file>
</export>

Importer to aplikacja konaktujaca sie z Eksporterem np. uzywajac SOAP/REST czy chocby AJAX i pobierajaca utworzony XML. Pozniej wystarczy wypakowac ***zawartosc*** do pliku i sprawdzic czy hash zgadza sie z tym co dostalismy z Eksportera.

Takie cos zabezpieczy przed modyfikacja pliku na linii Eksporter-Importer (*), ale nie Generator-Eksporter, chyba ze daloby sie zrobic tak aby plik byl generowany "on demand" po zapytaniu z Importera ;)

(*) Najlepiej w polaczeniu z SSL i jakims algorytmem challenge-response. Bo w transmisji otwartym tekstem mozna zmienic tak dane binarne jak i hash, jesli znamy algorytm uzyty do jego wygenerowania.Łukasz S. edytował(a) ten post dnia 09.03.10 o godzinie 14:17



Wyślij zaproszenie do