Jako programiści spotykamy się z sytuacjami ochrony kodu, który stworzyliśmy, czyli cennej własność intelektualnej. W innych przypadkach jego celem może być zapobieganie nieautoryzowanym modyfikacjom kodu związanego z bezpieczeństwem działającej maszyny.
Ochrona know-how to właściwość bloków programu pozwalająca chronić przed nieautoryzowanym dostępem do kodu źródłowego bloków organizacyjnych OB, funkcji FC i FB oraz bloków danych DB.
Aktywując opcje „Know-how protection” nieupoważniony użytkownik nie będzie mógł przeglądać ani modyfikować rzeczywistego kodu czy tagów w bloku bez wprowadzenia hasła. Natomiast użytkownik nieposiadający hasła może odczytać tylko informacje dotyczące bloku z kodem:
1️⃣ nazwę bloku, właściwości bloku i ewentualne komentarze,
2️⃣ parametry bloku np. INPUT, OUTPUT;
3️⃣ globalne zmienne bez informacji gdzie są używane.
Należy zauważyć, że ta właściwość nie jest stosowana do bloków użytych wewnątrz chronionej funkcji. Zastosowanie go do jednego bloku nie uniemożliwi komukolwiek oglądania kodu źródłowego innego bloku w nim użytego, czyli jeśli OB ma chroniony know-how, a wszelkie inne funkcje FB i FC użyte w tym OB automatycznie nie będą miały takiej samej ochrony. Możliwe jest jednak wybranie więcej niż jednej lub wszystkich bloków w drzewie projektu i zastosowanie ochrony „Know-how protection” do wszystkich wybranych bloków jednocześnie.
Aktywacja ochrony „Know-how protection” bloku z kodem:
1️⃣ Należy kliknąć prawym przyciskiem myszy na bloku kodu, który chcemy chronić i wybieramy opcję „Know-how protection” tak jak na rysunku:
2️⃣ Po tym wyborze otworzy się okno „Define protection” (Definiuj ochronę).
3️⃣ W polach „New password” (Nowe hasło) i „Confirm password” (Potwierdź hasło) wprowadzamy to samo nowe hasło.
4️⃣ Klikamy przycisk „OK”, aby potwierdzić wprowadzenie hasła.
Po zastosowaniu „Know-how protection” dla bloku zauważysz, że blok jest natychmiast ponownie kompilowany, a w drzewie projektu pojawi się symbol kłódki wskazujący, że blok jest zablokowany.
Ochrona „Know-how protection” bloku nie zostanie usunięta, na przykład gdy, blok zostanie skopiowany lub dodany do biblioteki. Kopie będą również objęte ochroną „Know-how protection”.
Otwieranie bloków z „Know-how protection”:
Podczas próby otwarcia dowolnego zablokowanego bloku zostaniesz poproszony o podanie hasła, aby zobaczyć źródło bloku. Po otwarciu bloku można edytować kod programu oraz blokowy interfejs bloku, dopóki blok lub TIA Portal nie zostaną zamknięte. Hasło należy wprowadzić ponownie przed następnym otwarciem bloku.
Zmienna hasła i dezaktywacja ochrony „Know-how protection”:
Wybieramy blok, dla którego ma być usunięta ochrona „Know-how protection”. Chroniony blok nie może być otwarty w edytorze programu. W menu „Edit” (Edycja), wybieramy polecenie „Know-how protection” (Ochrona „know-how”), aby otworzyć okno „Change protection” (Zmiana ochrony).
Zmiana hasła „Know-how protection”
Pierwszą możliwością po otworzeniu okna jest zmiana hasła ochrony bloku poprzez wpisanie starego hasła (Old password), a w polach „New password” (Nowe hasło) i „Confirm password” (Potwierdź hasło) wprowadzamy takie
samo nowe hasło.
Dezaktywacja „Know-how protection”
Drugą opcją w oknie jest usunięcie hasła ochrony bloku poprzez wpisanie starego hasła (Old password) i kliknięciu przycisku „Remove” (usuń).
Na koniec należy wspomnieć, że „Know-how protection” nie jest niezawodna: istnieją sposoby na jej obejście, więc nie powinna być pierwszą i ostatnią obroną chroniącą dostęp do kodu. Może to jednak być przydatne do zniechęcania do nieautoryzowanych zmian lub zarządzania bibliotekami bloków funkcyjnych do użytku w dużym projekcie, lub nawet w organizacji.
Comments