0x au 0s? Kuelewa umbizo la PSK katika ipsec.secrets
Siri ile ile inayoshirikiwa inaweza kuandikwa kama maandishi halisi ndani ya alama za nukuu, kama hexadesimali baada ya 0x, au kama Base64 baada ya 0s. Kiambishi cha mwanzo kisicho sahihi hufanya uthibitishaji ushindwe, si mazungumzo.
Mteja mmoja huthibitisha kwa ufunguo unaoshirikiwa na mwingine hukataa, ingawa herufi ulizobandika zinaonekana sawa pande zote mbili. Huenda ni herufi zile zile; tofauti ni kanuni ipi ya ufumbuzi faili inaitumia. Mfuatano ulio ndani ya nukuu huchukuliwa kama ulivyo, tokeni inayoanza na 0x husomwa kama hexadesimali, na tokeni inayoanza na 0s husomwa kama Base64. Ni moja tu kati ya maandishi hayo matatu yenye maana uliyokusudia, kwa hiyo marekebisho huwa ni ubadilishaji na si nenosiri bora zaidi.
Dalili huelekea usimbaji, si kwa misimbiko
Wakati ncha mbili zina baiti tofauti, mazungumzo bado yanafanikiwa na uthibitisho hushindwa baada yake. Kumbukumbu basi huripoti kushindwa kwa uadilifu au HMAC badala ya kutokubaliana kwa algoriti, kwa sababu pendekezo lilichaguliwa na hatua ya uthibitishaji haikulingana. Mstari huo kamwe hautaji umbo la siri.
Hatua ndiyo kidokezo. Kushindwa kunakuja baada ya pendekezo lililochaguliwa humaanisha pande zote zilikubaliana kwa kila kitu isipokuwa nyenzo ya ufunguo, wakati «hakuna pendekezo lililochaguliwa» ni suala la sera au seti za misimbiko. Ukaguzi wa uadilifu unaoshindwa wakati nenosiri linaonekana sawa ni uso unaoonekana wa kutokubaliana kwa usimbaji.
Siri moja, njia tatu ambazo faili inaweza kuisoma
Kwa thamani ya baiti nne key1, hexadesimali na Base64 ni usimbaji upya mbili wa baiti zile zile, na ni herufi za mwanzo tu zinazomwambia kichanganuzi ipi anayo. Vitambulisho vya swanctl hufuata mkataba huo huo, kwa hiyo thamani inayohamishwa kati ya violesura viwili huhifadhi maana yake iwapo tu kiambishi chake cha mwanzo kinasafiri nayo.
10.20.0.5 %any : PSK "key1"
10.20.0.5 %any : PSK 0x6b657931
10.20.0.5 %any : PSK 0sa2V5MQ==
Mambo mawili katika kizuizi hicho huchukua muda mwingi. Tarakimu za hexadesimali hukubali herufi kubwa na ndogo, kwa hiyo 0x6b657931 na 0x6B657931 ni thamani moja, lakini idadi isiyo sawa ya herufi husomwa vibaya kimya kimya badala ya kukataliwa, jambo ambalo huhamisha kila baiti baada ya mkato. Ujazaji wa Base64 ni sehemu ya thamani, kwa hiyo mfuatano uliobandikwa bila alama zake za = mwisho hufumbuliwa kuwa baiti tofauti badala ya kushindwa kwa sauti.
Wasifu ambao umeshafumbua thamani mara moja tayari umeibadilisha, kwa hiyo kufumbua tena hutoa baiti tofauti na kushindwa kwa uthibitishaji kunakosomwa kama nenosiri lisilo sahihi. Alama za nukuu ni mwelekeo salama kwa kitu chochote kisicho wazi, kwa sababu maudhui ni halisi hata yanapoanza na alama ya usimbaji.
Maandishi ya Base64 yanatoka wapi
Uhamishaji wa wasifu na milango ya wauzaji mara nyingi hukabidhi ufunguo ukiwa umesimbwa tayari, kwa kawaida katika sehemu ya data ambayo haikuwa kamwe imekusudiwa kuandikwa kwa mkono. Ama fungua thamani hiyo na uhifadhi maandishi yaliyofumbuliwa ndani ya nukuu, au iache imesimbwa na alama mbele. Kufanya nusu ya kila kimoja ndiko kunavyoivunja. Njia zote mbili hufanya kazi iwapo tu thamani yote itaokoka kunakiliwa.
Mwelekeo wote wawili ni amri moja kila mmoja, na inafaa kuzihifadhi kwenye tiketi kama operesheni kamili iliyozalisha thamani iliyohifadhiwa. Ziamuru kwa mpangilio huu:
printf '%s' 'a2V5MQ==' | base64 -d
printf '%s' 'key1' | base64
Kubandika maandishi yaliyomsimbwa kana kwamba ni ya kawaida ni kosa la gharama. Faili hufanya hashi ya herufi jinsi zilivyoandikwa, ufunguo unaotolewa hutoka takriban theluthi moja mrefu kuliko ule uliohesabiwa na mwenzake, na kila jaribio hushindwa vivyo hivyo bila onyo, kwa sababu kichanganuzi kilifuata kanuni iliyokabidhiwa.
Thibitisha ni baiti zipi kila mwenza anazitumia kwa kweli
Soma kwanza mtazamo wa daemon kuhusu muunganisho na kisha matokeo ya uthibitishaji, badala ya kukisia sababu kutoka kwenye mfuatano wa hitilafu. Kulinganisha urefu uliohifadhiwa ni ukaguzi wa haraka wa busara, kwa sababu maandishi yaliyosimbwa ni marefu kuliko baiti anazozindikisha. Kisha thibitisha ni mstari upi wa utambulisho uliolingana, kwa sababu siri sahihi iliyowekwa chini ya mwenza asiyefaa hushindwa sawa na isiyo sahihi. Mpangilio wa mistari ndio huamua hilo: mlingano wa kwanza hushinda, kwa hiyo mstari mpana %any karibu na juu hubadilisha kimya kimya mstari maalum uliouhariri hivi punde.
Pakia upya badala ya kuanzisha upya faili inapokuwa sahihi. ipsec rereadsecrets husasisha nakala ya daemon ya IKE, na usanidi wa swanctl hupakia vitambulisho kwa amri yake yenyewe. Kuanzisha upya hutupa kila muungano ulioanzishwa na kuharibu ulinganisho uliokuwa ukijaribu kufanya.
Hakuna moja ya ukaguzi huu unaohitaji kufichua siri. Urefu, kichaguzi cha utambulisho na nafasi ya mstari hueleza kushindwa kwingi kwa aina hii kabla ya mtu yeyote kuhitaji dampu ya hexadesimali.
Badilisha faili bila kuficha matokeo
Weka faili kwa akaunti ya daemon pekee, na uweke siri hai nje ya tiketi, gumzo na picha za skrini, kwa sababu ufunguo uliobandikwa ni uvujaji na si utambuzi. Pia huishi muda mrefu kuliko tukio lililoizalisha.
Jaribu kutoka kwa mteja ambaye unadhibiti usanidi wake, thibitisha kwamba uthibitishaji unafanikiwa, kisha thibitisha kwamba handaki inabeba trafiki. Upakiaji upya unaotengeneza salamu ya mkono wakati uelekezaji umebaki umevunjika ni tatizo jingine, na huonekana mara tu siri inapoacha kusonga.