Paunang ibinahaging IPsec key: ang mga byte sa likod ng string na na-type mo
Dalawang dulo ay maaaring may mga string na magkamukha at makakuha ng magkaibang susi. Suriin ang uri ng field, anumang encoding at ang mga huling byte bago pahinain ang anuman.
Dalawang administrator ang naghahambing ng sikreto sa screen, sumasang-ayon na tugma ito, at nabibigo pa rin ang tunel sa pagpapatotoo. Ang string na inihambing nila ay hindi ang value na ipinapasok ng alinmang dulo sa derivation ng susi. Sa pagitan ng mga character na nakikita mo at ng mga byte na hinahash ng protocol ay may uri ng field, encoding ng teksto, editor at clipboard, at alinman sa apat ay makakapagbago ng input nang hindi binabago ang itsura. Ihambing ang mga byte at ang pagkakaiba ay karaniwang lumilitaw sa ilang segundo.
Ano ang ginagawa ng gateway sa string
Ang paunang ibinahaging susi ay hindi ipinapadala sa network at inihahambing. Ipinapasok ng bawat dulo ang lokal na kopya nito sa derivation ng susi para sa palitan ng IKE, at ang mga resultang payload ng pagpapatotoo ay either verified o hindi. Ang disenyong iyon ay nangangahulugang ang dalawang kopya ay dapat byte-identical sa halip na visually similar, at nangangahulugan din ito na ang failure ay iniuulat sa yugto ng pagpapatotoo sa halip na bilang mensahe ng maling password.
Kaya ang kapaki-pakinabang na tanong ay hindi kailanman «magkamukha ba ang mga ito» kundi «anong eksaktong pagkakasunod-sunod ng byte ang hinahash ng bawat implementasyon».
Saan nagmumula ang dagdag na byte
Ang trailing newline ang klasikong salarin, at nagtatago ito sa lantad dahil karamihan ng editor ay hindi nakikitang nagdadagdag nito kapag nagse-save ng file. Ang leading o trailing space na na-paste mula sa chat window ay ganoon din, gayundin ang smart quote na pinalitan ng straight quote ng word processor. Wala sa mga ito ang nagbabago sa visual na paghahambing na ginagawa ng tao.
Ihambing gamit ang tool na nagpapakita ng byte sa halip na glyph. Ang printf '%s' "$PSK" | xxd | tail -2 ay nagpi-print ng dulo ng value sa hex, kung saan halata ang ligaw na 0a o 20. Gawin ito sa dalawang dulo at ihambing ang dalawang dump nang magkatabi. Gawin ito sa generated na test material, hindi sa production secret na iiwan mo sa shell history.
Ang naka-encode ay hindi naka-encrypt
Ang mga export ng configuration ay madalas na nagdadala ng sikreto sa base encoding, kung minsan may line break tuwing animnapu o pitumpu't anim na character at kung minsan may padding. Kung ang isang dulo ay umaasa sa decoded bytes at ipinaste mo ang naka-encode na teksto, hindi ka nagpadala ng ibang password, nagpadala ka ng mas mahabang password na gawa sa mga printable character. Ang Base64 ay walang ibinibigay na confidentiality, at iyon ang dahilan kung bakit ang naka-encode na sikreto ay hindi kailanman dapat i-paste sa isang forum para sa ikalawang opinyon.
Ang IPSec dictionary ng Apple ay isang kapaki-pakinabang na halimbawa na mahalaga ang uri: idinodokumento nito ang SharedSecret bilang data para sa shared-secret authentication method sa L2TP at Cisco IPsec payloads. Iyon ay isang partikular na property sa isang partikular na payload, hindi isang pangkalahatang text field na maaari mong gamitin muli para sa ibang protocol na nagkataong humihingi ng sikreto.
Ang sinasabing limit ay pag-aari ng isang kombinasyon
Ang mga lumang ulat tungkol sa tatlumpu't dalawang character na kisame sa isang Apple client ay totoong ulat tungkol sa isang bersyon ng client, protocol at hugis ng profile. Hindi sila pangkalahatang limit para sa bawat Apple platform, bawat provider at bawat protocol. Suriin ang bersyon, uri ng payload at pangangailangan ng gateway nang sama-sama, pagkatapos ay subukan sa isang aprubadong setup sa halip na maghinuha mula sa isang thread. Isulat ang nasubok na kombinasyon sa change record, dahil kung hindi ay babanggitin ng susunod na tao ang parehong thread nang may higit na kumpiyansa kaysa nararapat.
Kung talagang naaangkop ang isang limit, ang sagot ay isang sinusuportahang disenyo ng kredensyal na kasya rito, hindi isang pinaikling bersyon ng malakas na sikreto. Ang pagputol ng production key para matugunan ang hinihinalang limit ay permanenteng nagpapababa ng lakas nito at gumagawa ng sistemang ang dokumentasyon ay hindi na tumutugma sa seguridad nito.
Ayusin ang representasyon, hindi ang lakas
Kapag nabigo ang pagpapatotoo matapos kumpirmahin ang representasyon, basahin ang epektibong patakaran sa yugto ng pagpapatotoo: aling paraan ang pinag-uusapan, anong pagkakakilanlan ng peer ang inaasahan, at kung tumutugma ang gateway sa koneksyong iniisip mo. Ang lalong humihinang haka-haka ay hindi diagnosis, ito ay mabagal na pagbaba na may kalakip na support ticket.
Kung ang kinakailangang kredensyal ay hindi makakatugon sa pamantayan ng organisasyon, palitan ang disenyo ng isang makakaya. Ang shared secret na may sapat na entropy, nabuo nang isang beses, nakaimbak sa managed field at hindi kailanman na-publish, ay ganap na mabuting sagot; ang mas maikling bersyon nito ay hindi.