Nuduhake jaringan token kriptografi antarane pangguna adhedhasar usbip

Gegayutan karo owah-owahan undang-undang babagan layanan kepercayaan ("Babagan layanan kepercayaan elektronik" Ukraina), perusahaan mbutuhake sawetara departemen kanggo nggarap kunci sing ana ing token (saiki, pitakonan babagan jumlah kunci hardware isih mbukak. ).

Minangka alat kanthi biaya paling murah (gratis), pilihan kasebut langsung mudhun usbip. Server ing Ubintu 18.04 wiwit kerja berkat publikasi kasebut Ngilangi USB/IP lan kasil dites ing sawetara flash drive (amarga lack of token ing wektu sing). Ora ana masalah khusus kajaba kepemilikan monopoli (reservasi kanggo pangguna) sing diidentifikasi ing wektu kasebut. Cetha yen kanggo ngatur akses kanggo sawetara pangguna (paling ora loro, kanggo miwiti), perlu kanggo dibagi akses ing wektu lan meksa kanggo bisa ing giliran.

Pitakonan yaiku: Kepiye carane bisa nindakake kanthi tarian sing paling sithik supaya kabeh bisa digunakake kanggo kabeh wong ...

Bagian kasebut kikuk

Nuduhake jaringan token kriptografi antarane pangguna adhedhasar usbip
Pilihan XNUMX. Sawetara trabasan menyang file bat, yaiku
a) Nyambungake tombol akses.
b) Sengaja medhot.

Paragraf"б»kontrovèrsial, mula diputusake kanggo menehi wektu kanggo nggarap tombol ing 3 menit.

Keanehan klien usbip yaiku sawise diluncurake, tetep digantung ing konsol; tanpa ngganggu sesi konsol, sampeyan bisa nutup sambungan "kira-kira" saka sisih klien lan uga saka sisih server.

Mangkene apa sing apik kanggo kita:

pisanan: sambungan on.bat

usbip -a 172.16.12.26 4-1
msg * "Подпись/Ρ‚ΠΎΠΊΠ΅Π½ нСдоступны ΠΈΠ»ΠΈ заняты "

kapindho: mati mati.bat

ping 127.0.0.1 -n 180
taskkill /IM usbip.exe /F

Tanpa ngandelake kesadaran pangguna, skrip kasebut digabung dadi token.bat

on.bat | off.bat

Apa sing kedadeyan: kabeh file ana ing folder sing padha, dibukak dening file token.bat, yen sambungan ditutup pangguna langsung nampa pesen babagan tombol ora kasedhiya, ing kasus liyane, mung sawise 180 ping. Baris kode ing ndhuwur bisa dilengkapi "@ECHO OFF" lan arah console menyang "> nul" supaya ora kejut pangguna banget, nanging ora perlu kanggo mbukak testing. "Run" wiwitan ing drive USB nuduhake yen kabeh bisa diprediksi, dipercaya, lan jelas. Kajaba iku, ora ana manipulasi sing dibutuhake saka sisih server.

Nuduhake jaringan token kriptografi antarane pangguna adhedhasar usbip

Alami, nalika nggarap token langsung, kabeh ora kaya sing dikarepake: kanthi sambungan fisik ing manajer piranti, token kasebut didaftar minangka 2 piranti (WUDF lan kertu pinter), lan kanthi sambungan jaringan mung minangka WUDF (sanajan iki cukup kanggo njaluk kode PIN).

Nuduhake jaringan token kriptografi antarane pangguna adhedhasar usbip

Iku uga dadi metu sing kasar "taskkill" ora dadi abot, lan nutup sambungan ing klien masalah lan malah yen sukses, iku ora njamin nutup kanggo wong ing server.

Sawise ngorbanake kabeh konsol ing klien, skrip kapindho njupuk formulir:

ping 127.0.0.1 -n 180 > nul
taskkill /IM usbip.exe /F /T  > nul
ping 127.0.0.1 -n 10 > nul
taskkill /IM conhost.exe /F /T  > nul

sanajan efektifitas kurang saka 50%, wiwit server stubbornly terus kanggo nimbang sambungan mbukak.

Masalah karo sambungan nyebabake pikirane babagan nganyarke sisih server.

Bagian server

Apa sampeyan kudu:

  1. Pedhot pangguna sing ora aktif saka layanan kasebut.
  2. Delengen sapa sing saiki nggunakake (utawa isih nyilih) token kasebut.
  3. Delengen yen token disambungake menyang komputer dhewe.

Masalah kasebut ditanggulangi kanthi nggunakake layanan crontab lan apache. Sifat diskrit saka nulis ulang negara asil ngawasi TCTerms 2 lan 3 sing kapentingan kita nuduhake yen sistem file bisa dumunung ing ramdrive. Baris sing ditambahake menyang /etc/fstab

tmpfs   /ram_drive      tmpfs   defaults,nodev,size=64K         0       0

Folder skrip kanthi skrip wis digawe ing root: unmounting-mounting token usb_restart.sh

usbip unbind -b 1-2
sleep 2
usbip bind -b 1-2
sleep 2
usbip attach --remote=localhost --busid=1-2
sleep 2
usbip detach --port=00

njupuk dhaptar piranti aktif usblist_id.sh

usbip list -r 127.0.0.1 | grep ':' |awk -F ":" '{print $1}'| sed s/' '//g | grep -v "^$" > /ram_drive/usb_id.txt

entuk dhaptar IP sing aktif (kanthi modifikasi sabanjure kanggo nampilake ID pangguna) usbip_client_ip.sh

netstat -an | grep :3240 | grep ESTABLISHED|awk '{print $5}'|cut -f1 -d":" > /ram_drive/usb_ip_cli.txt

crontab dhewe katon kaya iki:

*/5 * * * * /!script/usb_restart.sh > /dev/null 2>&1
* * * * * ( sleep 30 ; /!script/usblist_id.sh > /dev/null)
* * * * * (sleep 10 ; /!script/usbip_client_ip.sh > /dev/hull)

Dadi, kita duwe: saben 5 menit pangguna anyar bisa nyambung, preduli saka sing kerja karo token kasebut. Folder / ramdrive disambungake menyang server http nggunakake symlink, ing ngendi 2 file teks disimpen, nuduhake status server usbip.

Bagian sabanjure: "Elek ing bungkus"

Pilihan II. Kanggo please pangguna sethitik karo paling sawetara antarmuka kurang intimidating. Bingung amarga kasunyatan manawa pangguna duwe versi Windows sing beda-beda kanthi kerangka kerja sing beda, hak sing beda, pendekatan sing kurang masalah tinimbang Lazarus Aku ora nemokake iku (Aku mesthi kanggo C #, nanging ora ing kasus iki). Sampeyan bisa miwiti file bat saka antarmuka ing latar mburi, nyilikake, nanging tanpa testing tepat, Aku wong mratelakake panemume: sampeyan kudu nggambarake kanggo ngumpulake dissatisfaction pangguna.

Nuduhake jaringan token kriptografi antarane pangguna adhedhasar usbip

Tugas ing ngisor iki ditanggulangi kanthi antarmuka lan piranti lunak:

  1. Nampilake manawa token lagi sibuk.
  2. Ing peluncuran pisanan, persiyapan awal kalebu ngasilake file bat "bener" sing ngetrapake peluncuran lan gangguan sesi karo server token. Ing wiwitan sabanjure, implementasine mode "layanan" nggunakake sandhi.
  3. Priksa manawa ana sambungan karo server, minangka asil polling apa sibuk utawa nampilake pesen babagan masalah. Nalika komunikasi diterusake, program kanthi otomatis wiwit bisa digunakake ing mode normal.

Nggarap server WEB dileksanakake nggunakake tambahan fphttpclient snap-in.


ing kene bakal dadi link menyang versi klien saiki

ana uga pertimbangan liyane babagan subyek artikel kasebut, uga semangat awal sebagean kanggo produk VirtualHere kanthi fitur ...

Source: www.habr.com

Add a comment