Kiom da kontrolsumoj havas VPN-paketo? Dependas
La nombro dependas de la IP-versioj, la portata protokolo kaj la protektformato. Kontrolsumoj de kapo, de supera tavolo kaj integrecmakroj malsamas.
La aserto, ke VPN-paketo portas precize du kontrolsumojn, sonas ordema kaj estas sufiĉe ofte malĝusta por indi analizon. La nombro dependas de tio, kiuj IP-versioj aperas, kiun transportprotokolon oni portas kaj kiun protektformaton la tunelo uzas. Kontrolsumo de kapo, kontrolsumo de supera tavolo kaj kriptografia integrecmakro estas tri mekanismoj kun tri ampleksoj. Nombri ilin komenciĝas per markado de tio, kion ĉiu kovras.
Kontrolu, kiuj IP-versioj efektive estas sur la drato
IPv4-kapoj portas 16-bitan kapkontrolsumon, kaj IPv6-kapoj portas nenion tian. Tiu unu fakto ŝanĝas la nombron por ĉiu tunelo, ĉar envolvi IPv4 en IPv6 kaj envolvi IPv6 en IPv4 produktas malsamajn dokumentojn. Tunelo povas porti ambaŭ familiojn samtempe, kaj tiam unu direkto povas enhavi kampon, kiun la alia ne havas. Fiksu la versiojn antaŭ ol nombri ion ajn.
Skribu la aranĝon kiel liston de kapoj, ne kiel bildon. La ordo gravas legante kaptaĵon, kaj la ĉeesto aŭ foresto de la kontrolsuma kampo estas la unua afero markenda.
outer IPv6 | ESP | inner IPv6 | UDP | application data
outer IPv4 | ESP | inner IPv4 | TCP | application data
La unua linio havas neniun IP-kapkontrolsumon ie en siaj IP-kapoj, dum la dua havas du, kiam ambaŭ kapoj estas IPv4. Sama tunela teknologio, malsama nombro, kaj neniu el la linioj estas kompleta dratformato.
Kontrolu, kion kovras ĉiu kontrolsumo
La kovrado estas la parto, kiun homoj preterlasas, kaj ĝi estas tio, kio igas nombron senchava. La IPv4-kapkontrolsumo protektas la kapon kaj nenion alian, do ĝi diras nenion pri la utilaĵo malantaŭ ĝi. UDP-kontrolsumo super IPv6 kovras pseŭdokapon plus la UDP-kapon kaj utilaĵon, kio signifas, ke ĝi atingas en la portatan paketon, kiam la datagramo estas tunelata. TCP havas sian propran kontrolsumon kun simila dependeco de la pseŭdokapo. Tiuj estas tri malsamaj ampleksoj, kvankam ĉiuj tri nomiĝas kontrolsumoj.
RFC 791 difinas la IPv4-kapkontrolon kaj ĝian rekalkulon ĉe ĉiu salto, kaj RFC 8200 difinas la trakton de la supera tavolo super IPv6, inkluzive de la pseŭdokapo. Neniu dokumento diras, ke VPN-paketo havas fiksan nombron da kontrolsumoj, ĉar neniu priskribas tunelon.
tshark -r capture.pcap -Y "ip.proto == 50" -V | grep -i checksum
Kontrolu la integrecan protekton aparte
ESP-integreco estas kriptografia protekto kun propra kovrado kaj algoritmo-dependa reprezentado. Ĝi ne estas IP- aŭ UDP-kontrolsumo sub alia nomo, kaj ĝia longo varias laŭ la elektita konstruo. Integreca kontrolo kovras difinitan parton de la paketo, kiu laŭ la uzata reĝimo povas inkluzivi la ESP-kapon kaj parton de la utilaĵo. Nombri ĝin kiel kontrolsuman kampon de konata larĝo estas la loko, kie plimulto de tiuj ĉi klarigoj disfalas.
Legu la elektitan konstruon antaŭ ol nombri bajtojn, kaj priskribu la rezulton kiel integrecan protekton, ne kiel kontrolsumon kun alia etikedo. La malĉifrilo nomos la kampon por vi, se vi demandos ĝin.
tshark -r capture.pcap -Y esp -V | grep -iE "integrity|icv"
Kontrolu la observpunkton antaŭ ol nombri
Kaptaĵo ĉe la interna interfaco kaj kaptaĵo ĉe la drato povas montri tute malsamajn tavolojn. Ĉe la interna interfaco la tunelo jam estas forigita, do vi vidas la portatan paketon kaj neniun el la eksteraj kapoj. Ĉe la drato vi vidas la eksterajn kapojn kaj ĉifritan utilaĵon, kiun vi ne povas legi. Neniu el la du vidmanieroj malĝustas, kaj ili ne estas vidmanieroj de la sama objekto. Deklaru, kie la kaptaĵo estis farita, antaŭ ol citi ajnan nombron.
sudo tcpdump -ni eth0 -vv -c 5 esp
sudo tcpdump -ni tun0 -vv -c 5
La unua komando montras la eksteran paketon kun sia integreca trenilo, kaj la dua montras la portatan paketon kun sia propra transportkontrolsumo. Adicii nombrojn el ambaŭ kaptaĵoj duoble nombradas nenion, sed ĝi klarigas la saman paketon dufoje.
Komparu la nombron kun reala kaptaĵo
Malĉifru unu paketon plene kaj marku ĉiun kampon, kiun la malĉifrilo nomas kontrolsumo aŭ integreca valoro. Poste komparu ĉiun markon kun la aranĝo, kiun vi skribis, kaj forigu tiujn, kiuj apartenas al tavolo, kiun vi efektive ne nombradas. Nombro, kiu postvivas tiun ekzercon, estas defendebla, kaj nombro citita el memoro ne estas.
Ripetu por la responda direkto, ĉar tunelo portanta ambaŭ familiojn povas diferenci laŭ direkto kaj laŭ fluo. Poste deklaru la nombron kun ĝia amplekso, ekzemple tri kontrolsumoj por ĉi tiu interna paketo ĉe ĉi tiu observpunkto, anstataŭ kiel eco de VPN-paketoj ĝenerale.
tshark -r capture.pcap -T fields -e ip.checksum -e udp.checksum -e tcp.checksum