Narzędzia do przechwytywania i konwertowania Internetu

Jak chronić zawartość przechwytywania?

Zaszyfrowane zdjęcia

W dobie przepisów takich jak ogólne rozporządzenie o ochronie danych lub RODO ochrona informacji użytkownika stała się ważniejsza niż kiedykolwiek. Po przechwyceniu przechwytuje się go przez krótki czas w pamięci podręcznej na naszych serwerach, aby umożliwić jego pobranie. Podczas gdy nasze serwery są bezpieczne i nie sprawdzamy przechwytywania przez użytkownika bez pozwolenia. W niektórych sytuacjach nie zapewnia to wystarczającej ochrony podczas przetwarzania danych osobowych.

Pierwszą potencjalną poprawą jest już nie przechwytywanie pamięci podręcznej przez zmianę długości pamięci podręcznej na zero minut strona konta. Pamiętaj jednak, że będzie to oznaczać, że przechwytywanie nie będzie dostępne do pobrania przez bardzo długi czas, dlatego należy je pobrać natychmiast po jego utworzeniu.

Innym możliwym problemem dotyczącym bezpieczeństwa jest faktyczny proces wysyłania do nas wrażliwych danych. Aby zabezpieczyć te dane, powinieneś najpierw włączyć SSL, a następnie, gdy otrzymamy dane i zostaną przetworzone, co dzieje się dość szybko, zostaną one automatycznie usunięte z naszego systemu, aby zapewnić, że nie nastąpi naruszenie bezpieczeństwa.

Większe bezpieczeństwo można również dodać do przechwytywania plików PDF lub DOCX przez hasło chroniące dokumenty. Zapewnia to, że tylko użytkownicy z prawidłowym hasłem mogą uzyskać dostęp do chronionego pliku.

Jeśli jednak przechwytujesz bardzo poufne informacje, takie jak akta szpitalne itp., I chcesz dodatkowego poziomu ochrony, możesz zaszyfrować powstałe zdjęcia. Aby to zrobić, określasz klucz szyfrowania dla każdego żądania, klucze te nie są przechowywane przez GrabzIt. Ten klucz służy do szyfrowania przechwytywania chroniącego informacje. Ponieważ nie przechowujemy klucza, nie możemy pomóc Ci odzyskać zaszyfrowanych przechwyceń. Po otrzymaniu przechwytywania użyj wygenerowanego wcześniej klucza, aby go odszyfrować.

W poniższym przykładzie tworzony jest kryptograficznie bezpieczny klucz i wysyłany do GrabzIt, który jest następnie wykorzystywany do szyfrowania przechwytywania. Ten sam klucz szyfrowania jest następnie używany do odszyfrowania wyniku.

GrabzItClient grabzIt = new GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret");
grabzIt.UseSSL(true);

string encryptionKey = grabzIt.CreateEncryptionKey();

ImageOptions options = new ImageOptions();
options.EncryptionKey = encryptionKey;

grabzIt.URLToImage("http://www.spacex.com", options);
GrabzItFile encryptedCapture = grabzIt.SaveTo();

GrabzItFile decryptedCapture = grabzIt.Decrypt(encryptedCapture, encryptionKey);

W poniższym przykładzie tworzony jest kryptograficznie bezpieczny klucz i wysyłany do GrabzIt, który jest następnie wykorzystywany do szyfrowania przechwytywania. Ten sam klucz szyfrowania jest następnie używany do odszyfrowania wyniku.

Aby korzystać z zaszyfrowanych przechwyceń w Javie 6, 7 i 8, zainstaluj pliki zasad nieograniczonej siły Java Cryptography Extension (JCE) into wszystkie foldery / jre / lib / security / folderów instalacyjnych Java.

GrabzItClient grabzIt = new GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret");
grabzIt.UseSSL(true);

String encryptionKey = grabzIt.CreateEncryptionKey();

ImageOptions options = new ImageOptions();
options.setEncryptionKey(encryptionKey);

grabzIt.URLToImage("http://www.spacex.com", options);
GrabzItFile encryptedCapture = grabzIt.SaveTo();

GrabzItFile decryptedCapture = grabzIt.Decrypt(encryptedCapture, encryptionKey);

W poniższym przykładzie klucz kryptograficzny jest automatycznie tworzony i wysyłany do GrabzIt, który jest następnie wykorzystywany do szyfrowania przechwytywania. Ten sam klucz szyfrowania jest następnie używany do automatycznego odszyfrowywania wyniku poprzez przekazanie wartości true do metody DataURI, którą można następnie odczytać w metodzie wywołania zwrotnego.

<html>
<head>
<script src="https://cdn.jsdelivr.net/npm/@grabzit/js@3.4.7/grabzit.min.js"></script>
</head>
<body>
<img id="capture"></img>
function callback(dataUri)
{
    document.getElementById('capture').src = dataUri;
}
<script type="text/javascript">
GrabzIt("Sign in to view your Application Key").UseSSL().Encrypt().ConvertURL("http://www.spacex.com").DataURI(callback, true);
</script>
</body>
</html>

W poniższym przykładzie tworzony jest kryptograficznie bezpieczny klucz i wysyłany do GrabzIt, który jest następnie wykorzystywany do szyfrowania przechwytywania. Ten sam klucz szyfrowania jest następnie używany do odszyfrowania wyniku.

var grabzit = require('grabzit');

var client = new grabzit("Sign in to view your Application Key", "Sign in to view your Application Secret");
client.use_ssl(true);

var encryptionKey = client.create_encryption_key();

client.url_to_image("http://www.spacex.com", {"encryptionKey":encryptionKey});
client.save_to(null, function (error, result){
    if (error != null){
        throw error;
    }
    var decryptedBytes = client.decrypt(result, encryptionKey);
}); 	

Niestety Perl nie może odszyfrować natywnie szyfrowania AES i wymaga zewnętrznych plików wykonywalnych lub kompilacji C. Dlatego nie dodaliśmy tej funkcji do naszego API Perla, zamiast tego możesz dodać tę funkcję samodzielnie, korzystając z poniższego przewodnika.

$grabzIt = GrabzItClient->new("Sign in to view your Application Key", "Sign in to view your Application Secret");
$grabzIt->UseSSL(1);

$options = GrabzItImageOptions->new();
$options->encryptionKey("UUK2Xo9OLT2dFvN0wPBGOMZRYqD6WxqFtrZK9YrG+Hg=");
$grabzIt->URLToImage("http://www.spacex.com", $options);
//needs to be decrypted
$data = $grabzIt->SaveTo();

W poniższym przykładzie tworzony jest kryptograficznie bezpieczny klucz i wysyłany do GrabzIt, który jest następnie wykorzystywany do szyfrowania przechwytywania. Ten sam klucz szyfrowania jest następnie używany do odszyfrowania wyniku.

$grabzIt = new \GrabzIt\GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret");
$grabzIt->UseSSL(true);

$encryptionKey = $grabzIt->CreateEncryptionKey();

$options = new \GrabzIt\GrabzItImageOptions();
$options->setEncryptionKey($encryptionKey);

$grabzIt->URLToImage("http://www.spacex.com", $options);
$encryptedData = $grabzIt->SaveTo();

$decryptedData = $grabzIt->Decrypt($encryptedData, $encryptionKey);

W poniższym przykładzie tworzony jest kryptograficznie bezpieczny klucz i wysyłany do GrabzIt, który jest następnie wykorzystywany do szyfrowania przechwytywania. Ten sam klucz szyfrowania jest następnie używany do odszyfrowania wyniku.

grabzIt = GrabzItClient.GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret")
grabzIt.UseSSL(True)

encryptionKey = grabzIt.CreateEncryptionKey()

options = GrabzItImageOptions.GrabzItImageOptions()
options.encryptionKey = encryptionKey

grabzIt.URLToImage("http://www.spacex.com", options)
encryptedData = grabzIt.SaveTo()

decryptedData = grabzIt.Decrypt(encryptedData, encryptionKey)

W poniższym przykładzie tworzony jest kryptograficznie bezpieczny klucz i wysyłany do GrabzIt, który jest następnie wykorzystywany do szyfrowania przechwytywania. Ten sam klucz szyfrowania jest następnie używany do odszyfrowania wyniku.

grabzIt = GrabzIt::Client.new("Sign in to view your Application Key", "Sign in to view your Application Secret")
grabzIt.use_ssl(true)

encryptionKey = grabzIt.create_encryption_key()

options = GrabzIt::ImageOptions.new()
options.encryptionKey = encryptionKey

grabzIt.url_to_image("http://www.spacex.com", options)
encryptedData = grabzIt.save_to()

decryptedData = grabzIt.decrypt(encryptedData, encryptionKey)

Jak działa szyfrowanie przechwytywania GrabzIt

Ten przewodnik jest bardzo techniczny i ma na celu pomóc programistom zrozumieć, jak działa nasze szyfrowanie. Powinien być szczególnie użyteczny dla programistów Perla, ponieważ język nie ma pakietu Perla typu open source, który nie wymaga ukończenia ani instalacji narzędzi innych firm, takich jak Open SSL.

Szyfrowane przechwytywanie wykorzystuje bit 256 Advanced Encryption Standard (AES). Wykorzystuje również tryb działania blokowego szyfrowania bloków szyfrów (CBC).

Aby GrabzIt zaszyfrował przechwycenie, podstawowy klucz szyfrowania 64, który znaki 44 muszą długo przekazać do obiektu opcji. Aby utworzyć ten klucz szyfrowania, należy wybrać losowe, bezpieczne kryptograficznie bajty 32. Powinny one następnie zostać zakodowane w bazie 64. Ponieważ są to bajty bezpieczne kryptograficznie, będą trudne do przewidzenia, a zatem trudniejsze do złamania.

Gdy GrabzIt otrzymuje żądanie przechwycenia z kluczem szyfrującym, przechwytywanie jest szyfrowane, a wektor inicjalizacji (IV) jest wstawiany na początku pliku. Ta IV ma długość bajtów 16 i musi zostać usunięta z przodu pliku przed odszyfrowaniem. IV należy również przekazać do algorytmu AES, aby umożliwić odszyfrowanie. Gdy przechwytywanie jest szyfrowane, do pliku nie jest dodawane dopełnianie, więc kiedy deszyfrowanie dopełniania musi być wyłączone.

Pamiętaj, jeśli wprowadziłeś ulepszenie do jednego z naszych istniejących interfejsów API klienta lub dla zupełnie nowego języka możesz udostępnić go społeczności poprzez GitHub.