Android дахь IKEv2 дэлгэц нэгэн зэрэг хэрэглэгчийн гэрчилгээ болон CA гэрчилгээ шаардахад нэг зүйлийг хоёр удаа шаардсан мэт харагдана. Гэхдээ тийм биш. IKEv2 нэг солилцооны дотор хоёр талыг хоёр чиглэлд баталгаажуулж, утас чиглэл бүрд өөр үүрэг гүйцэтгэдэг: хэн болохоо батлах, аль гарцанд итгэхээ шийдэх. Хэрэглэгчийн гэрчилгээ эхний асуултад, итгэмжлэгдсэн CA хоёр дахь асуултад хариулж, аль нь нөгөөгөө орлохгүй.

Нэг солилцоон дахь баталгаажуулалтын хоёр чиглэл

IKEv2 хяналтын сувгийг хоёр үе шаттайгаар бүрдүүлдэг. Эхнийх нь алгоритм, түлхүүрээр тохиролцдог; хоёр дахь IKE_AUTH нь тал бүрээс нэг AUTH ачааг түүний таних мэдээллийн хамт дамжуулдаг. Ачаа нь солилцоон дээр хийсэн гарын үсэг эсвэл MAC бөгөөд хүлээн авагчийн аль хэдийн итгэдэг зүйлтэй тулган шалгана.

Гарц өөрийгөө өөрийн гэрчилгээгээр баталж, утас гинжийг өөрийн хүлээн зөвшөөрсөн үндэс хүртэл шалгаж, гэрчилгээн дэх таних мэдээлэл хүрэх гэсэн гарцтай тохирч буйг шалгана; утас өөрийгөө өөрийн итгэмжлэлээр баталж, гарц түүнийг харилцагчийн гэрчилгээ олгосон CA-тай тулган шалгана.

Хоёр талбарын ард байгаа бүх механизм энэ. Хэрэглэгчийн гэрчилгээ бол утасны өөрийнхөө тухай мэдэгдэл; CA талбар нь хэнд итгэх тухай мэдэгдэл. Нэгийг нь аваад нөгөөгүй профайл харилцан баталгаажуулалтыг дуусгаж чадахгүй, дахин оролдсон ч өөрчлөгдөхгүй. Алдаанууд ч өөр харагдана: хэрэглэгчийн түлхүүргүй бол утас гарын үсэг зурж чадахгүй, итгэлийн тулгуургүй бол гарцын гэрчилгээг хүлээж авахгүй.

MaterialRoleWhat it cannot do
User certificate plus its private keyProves possession of the enrolled client identityEstablish that the gateway is the right one
Trusted CA certificateValidates the gateway chain under the intended identity checksProve the client's identity to the gateway
Expected gateway identityPins which server the phone acceptsGrant that user access to every private resource

Android профайл бүтээгч юу шаарддаг

Android дахь IKEv2 профайл бүтээгч баталгаажуулалтын арга бүрийг тусад нь санал болгодог, нэг гэрчилгээний горим гэж биш. Дижитал гарын үсгийн арга хэрэглэгчийн гэрчилгээ, хувийн түлхүүр, серверийн үндсэн CA-г авна; бусад нь хэрэглэгчийн нэр, нууц үг эсвэл урьдчилан хуваалцсан түлхүүр авна.

Тэр гарын үсгийг анхааралтай уншина уу, учир нь энэ нь дээрх механизмыг дүрсэлдэг. Хэрэглэгчийн нэр, нууц үгийн аргад хувийн түлхүүрийн талбар байхгүй, PSK аргад гарцын итгэлийн тулгуурын талбар байхгүй, учир нь эдгээр аргууд өөр зүйлийг баталдаг. Гэрчилгээний талбарт наасан нууц үг IKE_AUTH дээр бүтэлгүйтэх профайл үүсгэж, мессеж нь хоёрын аль нэгийг ч нэрлэхгүй.

Дижитал гарын үсгийн аргад баримтжуулсан хувийн түлхүүрийн төрөл нь RSA. IPsec эсвэл гэрчилгээ гэж бичсэн цэс ECDSA дэмжлэг гэсэн үг биш, тэр таамаглал дээр бүтээсэн профайл сүлжээнд хүрэхээс өмнө платформын API дээр бүтэлгүйтнэ.

Зөвхөн нийтийн гэрчилгээ яагаад хангалтгүй вэ

AUTH ачаа нь харилцагчийн хувийн түлхүүрээр солилцоон дээр хийсэн гарын үсэг. Нийтийн гэрчилгээ гарцад гарын үсэг шалгах боломж олгодог ч утаснд юу ч өгөхгүй, учир нь гарын үсэг хийхэд түлхүүр хэрэгтэй. Зөвхөн .crt импортлож, түлхүүрийг ард нь үлдээх нь энэ алдааны хамгийн түгээмэл хэлбэр.

Android-ын түлхүүрийн дэд бүтэц үүнийг харуулдаг: харилцагчийн таних мэдээллийг сонгох нь KeyChain-ээр дамждаг бөгөөд энэ нь харгалзах хувийн түлхүүрт хандах шаардлагатай, зөвхөн гэрчилгээний бүртгэл биш. Хосыг хамт суулгадаг бүртгэлийн багц эсвэл төхөөрөмжийн удирдлагын урсгал нь ашиглах боломжтой таних мэдээлэл авах ердийн зам; файлыг гараар хуулах нь ихэвчлэн биш.

Тиймээс профайл дахь хоёр зүйл нь гэрчилгээний багц ба түүний хуулбар биш. Нэг нь платформ гарын үсэг зурж чадах ёстой түлхүүрийн хос, нөгөө нь харьцуулах итгэлийн тулгуур. Тэднийг хоёр тусдаа баримт гэж шалгана уу: энэ профайл гарын үсэг зурж чадах уу, хэнд итгэхээ мэдэх үү?

Итгэлийн тулгуур нь програмд хамаарна, утаснд биш

Хэрэглэгчийн санд суулгасан үндэс нь Android програм бүрийг түүнд итгэхэд хүргэхгүй: Android 7-оос хойш програм өөрийн сүлжээний аюулгүй байдлын тохиргоогоор үүнийг сонгох ёстой, түүнээс өмнө хэрэглэгчийн суулгасан CA-г илүү өргөн хүлээж авдаг байсан. Итгэлийн тохиргоо өөр өөр байж болох ба өөрийн итгэлийн материалыг өөрөө удирддаг VPN клиент санаанд огт хандахгүй байж болно. Тиймээс нэг CA файл нэг клиентэд ажиллаад нөгөөд нь үл харгалзсан мэт харагдана.

Эндээс өмчлөлийн хоёр загвар гарна. Системийн удирддаг профайл төхөөрөмжийн гэрчилгээ суулгах эсвэл админ бүртгэлийг ашиглаад дараа нь зорьсон CA-д хандана. Програмын удирддаг VPN өөрийн итгэлийн материал, өөрийн баримтжуулсан импортыг хадгалдаг бөгөөд энэ нь Android тохиргооны дэлгэцээс бүрэн тусгаар байж болно. Эвдэрсэн гинжийг мөн тэнд засна.

Гэхдээ эхлээд аль загварт байгаагаа шийдэж, дараа нь идэвхтэй профайлын итгэлийн сонголтыг баталгаажуулна уу. Операторын заавар, клиентийн цэс зөрвөл тухайн суулгалтад клиентийн баримтжуулсан зан төлөв ялна, гэхдээ CA нь оператороос таны шалгаж болох сувгаар ирэх ёстой. Файлын нэр нь хэн олгосны нотолгоо биш.

Эхлээд горим, дараа нь файлууд

Гэрчилгээний горимд харилцагчийн түлхүүрийн хос, гарцын тал дахь олгогч CA, гарцын гэрчилгээний итгэлийн тулгуур, тэр гэрчилгээ ямар таних мэдээлэл агуулах ёстой гэсэн хүлээлт шаардлагатай. Хэрэглэгчийн нэр, нууц үг түлхүүрийн хосыг итгэмжлэлээр сольдог ч гарцад итгэх нөхцөлийг хадгална. PSK хоёуланг нь нийтлэг нууцаар сольж, итгэлийн загварыг хялбарчлахын оронд өөрчилнө.

Юу ч сонгосон, ердийн шалгалтыг асаалттай үлдээнэ үү. Шалгахгүй байх сонголт нь CA талбар байгаа шалгалтыг хасдаг; дутуу итгэлийн тулгуурыг засдаггүй. Холболт түүнгүйгээр ажилладаг гэж дурын серверийн гэрчилгээг хүлээж авах ч мөн адил.

Дараа нь зөв газарт шалгана уу: материалыг импортолж, нэг удаа холбогдож, холболтын дэлгэрэнгүйд гарцын таних мэдээлэл хүлээсэн нь мөн эсэх, профайл зорьсон аргаа мэдээлж буй эсэхийг баталгаажуулна уу. Буруу аргаар амжилттай холбогдсон нь таны одоо хүртэл ойлгоогүй тохиргоо бөгөөд оператор бодлогоо чангатгахад бүтэлгүйтнэ.

Холбоотой нийтлэлүүд