Jump to content
php.lv forumi

data security + search (help plz)


darksign

Recommended Posts

Ir viena dilemma, vajag algoritmu, līdzīgu kā šeit aprakstīts Asymmetric_key_algorithm

bet varbūt arī bisk vienkāršāks vienā ziņā, bet savādāks citādāk...

 

Doma tāda, ka vajag lai ar ar algoritmu x var kriptēt datus izmantojot publisko atslēgu, bet atvērt var tos tikai ar konkrētu privāto atslēgu, bet vēl pie tam, vajag, lai kripētajos datos var meklēt ievadot masku.

 

 

Piemēram:

 

plain dati = "abcdefgh"

 

publiskā atslēga = "123"

 

kriptētais = x("abcdefgh", "123") = "dsjkfnuevejbjhsdbkdv" // te tas tikai piemeeram

 

 

lai atvērtu "dsjkfnuevejbjhsdbkdv" es varu izmantot tikai privāto atslēgu, piemēram, "998xs87", un xopen("dsjkfnuevejbjhsdbkdv", "998xs87") = "abcdefgh"

 

 

visi kriptētie dati glabāsies datubāzē (konkrēti mysql, bet nu tas nav svarīgi...)

 

tātad tur varētu būt, piemēram, šādi ieraksti

 

kripteets //shie atshifreejumi neglabaasies protams nekur

"dsjkfnuevejbjhsdbkdv" //("abcdefgh")

"dsalnfbnwekjvnsjdvvd" //("aaa")

"ewknd78sdje7ncsdjdb" //("bcd")

"251e531favsdvcebhvjh" //("555")

 

un tagad man sistēmas admins grib meklēt to "abcdefgh" viņš ieraksta masku meklēšanai "*bcd*" un protams ievadot arī savu privāto paroli/atslēgu pēc kaut kāda algoritma z nolisto visus ierakstus (jau atšifrētus) kas atbilst maskai.

shajā piemērā meklējot ar masku "*bcd*" jaanolistojas: "dsjkfnuevejbjhsdbkdv" un "ewknd78sdje7ncsdjdb" ierakstam.

 

 

NB! viens no variantiem, protams būtu, pirms meklēšanas atkodēt visu datubāzi, un tad meklētu atšifrētajā, bet tas ir dikti ilgi un resursu ietilpiigs process, tapēc atkrīt uzreizi.. vajag lai apm. optimāli no miljons ierakstiem to varētu izdarīt nu max 3 sekunžu laikā atrast konkrētu ierakstu... (šeit protams es saprotu ka daudz kas atkarīgs no pc, un no datubāzes, bet pieņemot ka tur viss ir ok, tad lai vismaz algoritms būtu ātrs un pietiekami drošs pret uzlaušanu)...

 

 

lūdzu iesakiet kaut ko, vai vismaz iemetiet linkus, vai keywordus pēc kā ieteiktu meklēt (keyworda dēļ citreiz jau vien problēma atrisinās daudz ātrāk :) ), patreiz es neko pārāk interesantu neesmu atradis googlee, vai šajā forumā... bet varbūt nemāku meklēt :D

Link to comment
Share on other sites

Tieši tā, atkodēt visu DB būtu laikietilpīgi, bet pakustinot smadzenes varam arī izdomāt, ka šo ievadīto masku(bcd) taču mēs varam kriptēt, iegūstot(ewknd78sdje7ncsdjdb), un tālāk jau vienkārši meklējam DB šo kriptēto masku(tātad "ewknd78sdje7ncsdjdb").

 

P.S Par atslēgām: tās, protams, atsevišķi būs jāpārbauda šādā gadījumā.

Edited by phpjanis
Link to comment
Share on other sites

Ja arī tu tādu sistēmu uztaisītu - tā meklēšana tak būtu viens liels drošības carums. Jo to izmantojot, varētu meklēt datus tavā enkriptētajā datubāzē neuztraucoties par atslēgām un šifrēšanu.

Link to comment
Share on other sites

Tieši tā, atkodēt visu DB būtu laikietilpīgi, bet pakustinot smadzenes varam arī izdomāt, ka šo ievadīto masku(bcd) taču mēs varam kriptēt, iegūstot(ewknd78sdje7ncsdjdb), un tālāk jau vienkārši meklējam DB šo kriptēto masku(tātad "ewknd78sdje7ncsdjdb").

 

Shis te iet galiigi garaam, jo tas straadaa tikai pie prastaakajaam shifreeshanas metodeem, kuras var galvaa vai uz papiira lapas uzlaust, bez pc... bet tikliidz maska tiek kripteeta, tad vinjai nekaada sakara nav ar to kas atbilst mekleetajam, jo "droshie" algoritmi tak kriptee skatoties arii simbolu skaitu, a maksaa tas vienmeer buus mazaaks... un nenoteikts..

Edited by darksign
Link to comment
Share on other sites

Patreiz pēdējā reālā doma man ir lietot vai nu to GnuPG ko iedeva blackhalt, vai arii ierasto RSA. Bet kriptējot tikai relācijas, tad arī būs iespējams meklēt datus ievadot paroli, bet nekriptējot visu DB valjaa...

 

bet varbuut kaadam ir kaads veel labaaks risinaajums??

Link to comment
Share on other sites

Ja arī tu tādu sistēmu uztaisītu - tā meklēšana tak būtu viens liels drošības carums. Jo to izmantojot, varētu meklēt datus tavā enkriptētajā datubāzē neuztraucoties par atslēgām un šifrēšanu.

 

lai tas nebuutu caurums, tapeec jau tur obligaata prasiiba pirms mekleehanas ievadiit paroli...

Link to comment
Share on other sites

Tad kamdēļ jālieto asimetriskā šifrēšana? Iedali katram lietotājam konkrētas tiesības, ko tas drīkst un ko nedrīkst redzēt. Un tad attiecīgi pēc userneima un paroles idetificē valīdu useri un attiecīgi meklē parastā datubāzē.

Link to comment
Share on other sites

attiecīgi meklē parastā datubāzē.

 

 

Redz tur tā problēma, ka lai iegūtu PSI sertifikātu, tad nedrīkst būt parasta datubāze (prasība gan no sertifikāta, gan no priekšnieka)... nu karoč jāglabā sensitīvi dati, un tieši tapēc nedrīkst būt plain tekstā (lai arī no vislabākajiem adminiem būtu aizsargāti dati, lai nesarezgiitu dziivi vinjiem parakstot atseviskus liigumus utt...).

 

Jo redz parasto datubaazes paroli tu baaz visur visos php u.c. skriptos, kaut vai phpmyadminaa (nu tikai tajaa gadiijumaa ja veel ir ip aizsardziiba un pieeja tikai no lokaalaa datora...), un tas noziimee, ka ja kaut kas ar paareejaas sisteemas kodu, kuru es neesmu programmeejis noiet greizi (tb. uzlauzh), un nolasa to paroli, ta var nokopeet visu db... bet tieshi taapeec jau ir taa prasiiba, ka zinot vienu db sisteemas paroli, tu vari dabuut tikai informatiivus (iznjemot sensitiivus) datus, bet ievadot atsevisku paroli, vareesi redzeet visu :P => ja hakeris, vai ljaunais admins skataas tavaa DB, tad vinjsh neko vairaak kaa datumu kad kaut kas ir noticis nezin...

Edited by darksign
Link to comment
Share on other sites

(nu tikai tajaa gadiijumaa ja veel ir ip aizsardziiba un pieeja tikai no lokaalaa datora...).

Gribi teikt ka tev DB ip vietaa ir * ? tas ir vienalga no kaadas ip?

Ta tas jau pats par sevi ir iels caurums ..

Normali ir tikai no lokalas masinas , Vai ja DB atrodas uz citas karbas, tad papildus vel no tas IP ... Un miers majas...

Link to comment
Share on other sites

manaa gadiijumaa neder.. jo tas Truecrypt tak buus jaaatkodee katru reizi kad vinju gribees izmantot, bet izmantos vinju katru otro sekundi (ja ne mekleeshanu, tad datu ierakstiishanu). Bet ierakstiishanai ieksh db, jau nevajadzees kruto supervisor paroli, tikai DB paroli un publisko atsleegu.

 

 

anyway, ja nav vairs labaaku ideju, tad probleemu jau esmu paardomaajis un atrisinaajis teoreetiski, ta ka ja nav uber labaakas idejas, ta palieku pie saveejaas :)

 

vieniigi jautaajums, vai RSA algoritmam vareeja iekodeet vairaak par 2 atsleegaam, piem., 1 public, un 3 private?

Link to comment
Share on other sites

Kas ir PSI sertifikāts?

Rītdien uzšķiršu "Applied cryptography" un paskatīšos, taču reāla (kas būtu kaut kādā veidā sertificējams) strādājoša, praktiski lietojama algoritma nav, manuprāt.

Bez tam, kādai tieši jābūt šo 3 atslēgu konfigurācijai Vajag visas 3, lai atšifrētu, vai vajag kādu no trim, lai varētu atšifrēt?

Link to comment
Share on other sites

×
×
  • Create New...