Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL] Szyfrowanie danych a może całej bazy, Szyfrowanie
apkc
post 20.12.2010, 19:55:02
Post #1





Grupa: Zarejestrowani
Postów: 30
Pomógł: 0
Dołączył: 8.12.2009

Ostrzeżenie: (0%)
-----


Witam.
Mam taką sytuację -
Serwerem MySQL zarządza obca mi osoba. Na jej serwerze chcę umieścić bazę, ale niechcę aby Ta osoba mogła przeglądać zawartość tej bazy. W jaki łatwy i szybki sposób mogę zaszyfrować tą bazę?
Pozdrawiam
Go to the top of the page
+Quote Post
modern-web
post 20.12.2010, 20:05:50
Post #2





Grupa: Zarejestrowani
Postów: 763
Pomógł: 117
Dołączył: 15.03.2010
Skąd: void

Ostrzeżenie: (0%)
-----


Bazy nie zaszyfrujesz. Możesz jedynie hashować wysyłane do niej dane.
Skorzystać z algorytmów mieszających MD5() lub SHA1(). Dodaj do tego własny, unikatowy klucz i dzięki temu trudno będzie odkodować te dane.

Pozdrawiam!


--------------------
Pomogłem? Kliknij `Pomógł`. To nic nie kosztuje, a mnie usatysfakcjonuje! ;)
Go to the top of the page
+Quote Post
tehaha
post 20.12.2010, 20:09:41
Post #3





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

Ostrzeżenie: (0%)
-----


a o jaki stopień zabezpieczenia Ci chodzi i jakiego typu dane chcesz zabezpieczać?

Też nie wiem, po co....ale skoro ma taką potrzebę, może spróbuj czymś takim: http://www.phpclasses.org/package/6260-PHP...-databases.html

Ten post edytował tehaha 20.12.2010, 20:13:31
Go to the top of the page
+Quote Post
modern-web
post 20.12.2010, 20:11:40
Post #4





Grupa: Zarejestrowani
Postów: 763
Pomógł: 117
Dołączył: 15.03.2010
Skąd: void

Ostrzeżenie: (0%)
-----


Podejrzewam, że ma bazę danych u znajomego i chce zabezpieczyć WSZYSTKO - nie tylko hasła użytkowników (o ile istnieją). Ale warto postawić sobie pytanie - PO CO?


--------------------
Pomogłem? Kliknij `Pomógł`. To nic nie kosztuje, a mnie usatysfakcjonuje! ;)
Go to the top of the page
+Quote Post
vokiel
post 20.12.2010, 20:41:34
Post #5





Grupa: Zarejestrowani
Postów: 2 592
Pomógł: 445
Dołączył: 12.03.2007

Ostrzeżenie: (0%)
-----


Cytat(modern-web @ 20.12.2010, 20:05:50 ) *
Bazy nie zaszyfrujesz. Możesz jedynie hashować wysyłane do niej dane.
Skorzystać z algorytmów mieszających MD5() lub SHA1(). Dodaj do tego własny, unikatowy klucz i dzięki temu trudno będzie odkodować te dane.

Pozdrawiam!

Chyba nie widzisz różnicy w szyfrowaniu a w haszowaniu.
Kod
modern-web -> md5('modern-web') -> f3d7a6860f2922fe58b4da5377b411b0

Jak wrócisz z tego hasza do modern-web (pomijając tablice tęczowe i bruteforce)? Gdzie użyjesz tu unikatowego klucza?

apkc chce szyfrować dane, aby sam mógł je później odczytać (odszyfrować), a żeby tej czynności nie mógł zrobić administrator bazy. Do tego masz w PHP Mcrypt, który umożliwia szyfrowanie za pomocą wielu algorytmów (3DES, BLOWFISH, TWOFISH etc).


--------------------
Go to the top of the page
+Quote Post
Crozin
post 20.12.2010, 20:45:20
Post #6





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Co masz na myśli pisząc "niechcę (to się osobno pisze!) aby Ta (to zaś z małej - to nie jest zwrot grzecznościowy) osoba mogła przeglądać zawartość tej bazy"? Aby w ogóle nie miała żadnej możliwości odczytania niczego? Czy aby nie mogła wykonywać zapytań SELECT a jedynie INSERT?

Ten post edytował Crozin 20.12.2010, 20:46:45
Go to the top of the page
+Quote Post
Mephistofeles
post 20.12.2010, 20:50:50
Post #7





Grupa: Zarejestrowani
Postów: 1 182
Pomógł: 115
Dołączył: 4.03.2009
Skąd: Myszków

Ostrzeżenie: (0%)
-----


Chodzi o to, że administrator może przejąć kontrolę nad serwerem i zobaczyć bazę. Problem w tym, że szyfrując ją ograniczysz sobie możliwości bazy do minimum, wszystkie obliczenia, które mogą być wykonane przez silnik bazy będzie musiał wykonać interpreter PHP.
Go to the top of the page
+Quote Post
apkc
post 20.12.2010, 21:51:24
Post #8





Grupa: Zarejestrowani
Postów: 30
Pomógł: 0
Dołączył: 8.12.2009

Ostrzeżenie: (0%)
-----


Cytat(vokiel @ 20.12.2010, 20:41:34 ) *
Chyba nie widzisz różnicy w szyfrowaniu a w haszowaniu.
Kod
modern-web -> md5('modern-web') -> f3d7a6860f2922fe58b4da5377b411b0

Jak wrócisz z tego hasza do modern-web (pomijając tablice tęczowe i bruteforce)? Gdzie użyjesz tu unikatowego klucza?

apkc chce szyfrować dane, aby sam mógł je później odczytać (odszyfrować), a żeby tej czynności nie mógł zrobić administrator bazy. Do tego masz w PHP Mcrypt, który umożliwia szyfrowanie za pomocą wielu algorytmów (3DES, BLOWFISH, TWOFISH etc).


Dokładnie oto mi chodzi. Nie chcę aby te dane mógł odczytać administrator bazy, może jedynie po za tymi które chcę udostępnić. Myślałem że to było oczywiste. Nie wiem po co te różne domysły. DZIĘKI vokiel oczywiście poczytam o MCRYPT, ale mógłbyś powiedzieć kilka słów więcej?

Ten post edytował apkc 20.12.2010, 21:53:34
Go to the top of the page
+Quote Post
vokiel
post 20.12.2010, 22:03:21
Post #9





Grupa: Zarejestrowani
Postów: 2 592
Pomógł: 445
Dołączył: 12.03.2007

Ostrzeżenie: (0%)
-----


Myślę, że musisz oddzielić sobie te dane, które są na prawdę ważne, od tych mniej. Szyfrować te pierwsze. Do tego możesz robić sobie sumę kontrolną kolumn danego rekordu i zapisywać w ostatniej celem sprawdzenia poprawności danych.

Typy kolumn nie będą odpowiadały typom przechowywanych danych (w sensie bezpośrednio), czyli nr telefonu, choć jest liczbą, po zaszyfrowaniu staje się stringiem. Niestety, jak zauważył Mephistofeles część operacji, które można wykonać po stronie bazy danych nie będzie dostępna, jak chociażby sumowanie, wyszukiwanie w tekście etc.

Jeśli zdecydujesz się na szyfrowanie wszystkich danych, to możesz się pokusić o własną klasę do obsługi DB, w której przed zapisem danych automatycznie poddasz je szyfrowaniu, a po odczytaniu z bazy - deszyfrowaniu.


--------------------
Go to the top of the page
+Quote Post
Crozin
post 20.12.2010, 23:24:22
Post #10





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Cytat
Myślałem że to było oczywiste.
Nie jest to do końca oczywiste, bo kilka zdań wprowadza mały mętlik i sugeruje, że możesz próbować zrobić co niemożliwego, albo zabierasz się za to od złej strony.

Odpowiedz na te pytania to na 100% dostaniesz bardziej konkretne odpowiedzi.

1. Czy ta osoba trzecia, będąca administratorem serwera MySQL jest administratorem całej maszyny? Czy ma dostęp do rzeczy takich jak na przykład pliki PHP (o ile w ogóle o tym mowa)?
2. Kto/co i skąd ma mieć jaki dostęp do danych z bazy.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 25.04.2025 - 07:37