![]() |
![]() ![]() |
![]() |
![]()
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 |
|
|
![]()
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! ;)
|
|
|
![]()
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 |
|
|
![]()
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! ;)
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 2 592 Pomógł: 445 Dołączył: 12.03.2007 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! 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). -------------------- |
|
|
![]()
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 |
|
|
![]()
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.
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 30 Pomógł: 0 Dołączył: 8.12.2009 Ostrzeżenie: (0%) ![]() ![]() |
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 |
|
|
![]()
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. -------------------- |
|
|
![]()
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. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 25.04.2025 - 07:37 |