Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy
počítačové znalosti >> otázka >> hesla >> .

Ako môžete vložiť heslo do MATLAB?

V MATLAB nemôžete priamo vytvoriť skutočný súbor „chránený heslom“, ktorý je rovnako robustný ako vyhradený šifrovací systém. MATLAB nemá zabudované funkcie šifrovania hesla, ktoré spĺňajú bezpečnostné normy. Môžete však implementovať niektoré základné ovládacie prvky prístupových hesiel. Tu je niekoľko prístupov, od jednoduchých (ľahko obídených) po viac zapojených:

1. Jednoduchá výzva na heslo (nie zabezpečené):

Toto je najjednoduchšie implementácia, ale ponúka prakticky žiadnu bezpečnosť. Jednoducho vyzýva na heslo, porovnáva ho s pevným kódom a poskytuje prístup, ak sa zhodujú.

`` `MATLAB

Funkcia my_script

% Definujte heslo (nekladajte citlivé heslá priamo do kódu)

AFFAFTAPSWORD ='MySecretPassword';

% Výzva na heslo

userPassword =input ('Enter Password:', 'S');

% Skontrolujte, či sa heslo zhoduje

Ak STRCMP (userPassword, AFFAFTASSWORD)

DISP ('ACCESS Udelený!');

% Vášho kódu na spustenie, ak je heslo správne, ide sem

DISP („Toto je chránený kód.“);

inak

disp ('nesprávne heslo. Prístup zamietnutý.');

ukončiť

ukončiť

`` `

Vysvetlenie:

* `Input ('Enter Password:', 'S')` Z výzvy používateľa zadáva text a uloží ho do „userPassword`. Argument `'s'` povie` Input`, aby považoval vstup za reťazec.

* `Strcmp (userPassword, AFFARTPASSWORD)` Porovnáva zadané heslo s hardcodeným heslom.

* Na základe porovnania je prístup udelený alebo zamietnutý.

Problémy s bezpečnosťou:

* tvrdé heslo: Heslo je v kóde obyčajný text, vďaka čomu je potrebné nájsť triviálne. Každý, kto dokáže prečítať súbor `.m`, pozná heslo.

* Žiadne šifrovanie: Samotný kód nie je chránený.

2. Heslo uložené ako hodnota hash (o niečo lepšie, ale stále slabá):

Tento prístup je okrajovo lepší, pretože namiesto hesla pre obyčajné textové heslo ukladá hash hesla. Hashovacie funkcie Matlabu však nie sú navrhnuté pre silnú bezpečnosť a môžu byť prerušené.

`` `MATLAB

Funkcia my_script_hashed

% Generujte hash hesla (urobte to iba raz a uložte hash)

% Nikdy neukladajte skutočné heslo.

% Príklad pomocou základnej funkcie hashovania (nie na výrobu):

AFFAFTAPSWORDHASH =DATAHASH ('MySecretPassword', 'MD5'); % Nahradiť modernejším hashom

% V skutočnej aplikácii by ste do súboru uložili 'AfrawApswordHash'.

% Na demonštračné účely, tu to budeme len hardcode (zlá prax):

AFFAFTAPSWORDHASH ='E5B6460F9578C6382F2C4D0F28D4E9F7';

% Výzva na heslo

userPassword =input ('Enter Password:', 'S');

% Hash heslo zadané používateľom

userPasswordhash =datahash (userPassword, 'md5'); % Používa rovnakú funkciu hash

% Skontrolujte, či sa zhoduje s hashmi

Ak STRCMP (userPasswordhash, AFFAFTAPSWORDHASH)

DISP ('ACCESS Udelený!');

% Váš chránený kód ide sem

DISP („Toto je chránený kód.“);

inak

disp ('nesprávne heslo. Prístup zamietnutý.');

ukončiť

ukončiť

`` `

Vysvetlenie:

* `Datahash ('MySecretPassword', 'md5')` Vypočíta hash hesla MD5. md5 sa považuje za zlomený a nemal by sa používať pre žiadne citlivé aplikácie. Zvyčajne by ste to urobili iba raz, aby ste vygenerovali hash a uložili hash.

* `Datahash (userPassword, 'md5')` Vypočíta hash MD5 zadaného hesla používateľa.

* Kód potom porovná tieto dva hashy.

Problémy s bezpečnosťou:

* Slabá funkcia hash: MD5 (a SHA-1) sú náchylné na kolízne útoky, čo uľahčuje nájsť iné heslo, ktoré generuje rovnaký hash. Mali by sa použiť SHA-256 alebo SHA-3. Datahash však podporuje iba slabé hash funkcie.

* Matlab's Hashing je neistý: Vstavané funkcie hash spoločnosti Matlab nie sú kryptograficky bezpečné. Nie sú navrhnuté tak, aby odolali útokom.

* stále zraniteľné: Odhodlaný útočník by mohol potenciálne reverzný inžinier hash alebo použiť útok dúhovej tabuľky.

3. Externé šifrovanie (bezpečnejšie):

Toto je odporúčaný prístup, ak potrebujete skutočnú bezpečnosť. Zahŕňa použitie externých šifrovacích nástrojov (mimo MATLAB) na šifrovanie údajov alebo celého skriptu MATLAB.

* šifrujte celý skript MATLAB: Na šifrovanie súboru `.m` použite špecializovaný šifrovací program (napr. Pred spustením v Matlabe by používateľ musel skript dešifrovať skript. Chráni to celý kód.

* šifrovať citlivé dátové súbory: Ak potrebujete iba chrániť určité dátové súbory používané v skripte MATLAB, na šifrovanie týchto súborov môžete použiť externé šifrovacie nástroje. Váš skript MATLAB by potom musel pred použitím údajov dešifrovať súbory a po použití ich znova zaregistrovať.

Príklad (s použitím 7-ZIP na príkazovom riadku):

`` `Bash

na šifrovanie my_script.m pomocou hesla „MySecretPassword“ (nahradiť silným heslom):

7Z a -pMysecrepassword my_script.7z my_script.m

na dešifrovanie:

7Z x my_script.7z -pmySecretPassword

`` `

Tieto príkazy potom môžete zavolať zvnútra MATLAB pomocou príkazu `System`, ale stále budete potrebovať používateľa, aby zadal heslo manuálne do externej aplikácie.

MATLAB kód na spustenie externej aplikácie:

`` `MATLAB

Funkcia my_encrypted_script

% Vyzvať používateľa na dešifrovanie súboru (pomocou externého nástroja)

cisktedFile ='my_script.7z';

deRcryptedFile ='my_script.m';

% Požiadajte používateľa, aby dešifroval súbor a stlačením klávesu Enter pokračujte

input ([', prosím, dešifrujte súbor "' EncryptedFile '" na "' dešifledfile '" a stlačte kláves Enter:'], 's');

% Teraz spustite dešifrovaný skript

run (dešifrtedfile);

ukončiť

`` `

Problémy s bezpečnosťou:

* sa spolieha na externý nástroj: Bezpečnosť závisí výlučne od sily šifrovacieho algoritmu a implementácie externého nástroja, ktorý používate.

* Správa kľúčov: Bezpečne riadenie šifrovacieho kľúču je rozhodujúce. Neskladujte heslo v skripte Matlab.

4. Pomocou kompilovaného MATLAB spustiteľné s licenciou na ochranu licencie (najlepšie pre komerčné výrobky, ale drahé):

Tento prístup zahŕňa zostavenie vášho kódu MATLAB do samostatného spustiteľného súboru a pomocou kompilátora MATLAB na ochranu kódu pomocou licencie. To pomáha predchádzať neoprávneniu distribúcie a používania vašej aplikácie.

* kompiláciu s kompilátorom Matlab: Zostavte skript MATLAB do spustiteľného súboru (.exe).

* Ochrana preukazu: Pomocou kompilátora MATLAB pridajte spustiteľnú činnosť ochranu licencie. To môže obmedziť prístup k žiadosti na základe licenčného kľúča.

Bezpečnostné úvahy:

* OBFUSCATION, nie šifrovanie: Matlab kompilátor zahanbuje kód, ale skutočne ho šifruje. Skúsený reverzný inžinier by mohol byť stále schopný extrahovať kód, ale sťažuje ho.

* Cena: Kompilátor MATLAB je samostatný produkt, ktorý vyžaduje licenciu.

Zhrnutie a odporúčania:

* Nespoliehajte sa na vstavané hasiace funkcie Matlabu pre bezpečnosť. Na tento účel nie sú navrhnuté.

* Ak potrebujete základné riadenie prístupu (napr. Aby ste zabránili náhodnému zneužitiu), môže stačiť jednoduché heslo. Uvedomte si však svoje obmedzenia.

* Pre akékoľvek skutočné zabezpečenie použite externý šifrovací nástroj na šifrovanie skriptu MATLAB alebo dátových súborov. Toto je odporúčaný prístup.

* Ak vyvíjate komerčnú aplikáciu MATLAB, zvážte použitie kompilátora MATLAB s ochranou licencie pre vyššiu úroveň bezpečnosti proti neoprávnenému použitiu.

Dôležité bezpečnostné postupy:

* Strong Heslá: Používajte silné, náhodné heslá (najmenej 12 znakov dlhé, so zmesou veľkých, malých písmen, čísel a symbolov).

* Secure Key Management: Bezpečne uložte šifrovacie kľúče. Nenajecte ich v skripte Matlab. Používajte premenné prostredia, konfiguračné súbory alebo vyhradené systémy správy kľúčov.

* Princíp najmenších privilégií: Dajte používateľom iba potrebné povolenia na vykonávanie svojich úloh.

* Pravidelné bezpečnostné audity: Pravidelne kontrolujte svoje bezpečnostné postupy a podľa potreby ich aktualizujte.

* Udržujte softvér aktualizovaný: Udržujte svoju inštaláciu MATLAB a všetky externé šifrovacie nástroje aktualizované najnovšími bezpečnostnými opravami.

Nezabudnite zvoliť metódu, ktorá najlepšie vyvažuje vaše bezpečnostné potreby so zložitosťou implementácie a nákladov. Ak sa zaoberáte skutočne citlivými údajmi, poraďte sa s odborníkom na bezpečnosť. Rada tu poskytuje východiskový bod, ale bezpečnosť je zložitá a vyvíjajúca sa oblasť.

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené