{"id":110683,"date":"2023-10-08T15:10:18","date_gmt":"2023-10-08T13:10:18","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/predstavlen-openpubkey-protokol-kriptograficheskoj-verifikaczii-obektov"},"modified":"2023-10-08T15:10:18","modified_gmt":"2023-10-08T13:10:18","slug":"predstavlen-openpubkey-protokol-kriptograficheskoj-verifikaczii-obektov","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pl\/blog\/news\/predstavlen-openpubkey-protokol-kriptograficheskoj-verifikaczii-obektov","title":{"rendered":"Zosta\u0142 zaprezentowany OpenPubKey, protok\u00f3\u0142 kryptograficznej weryfikacji obiekt\u00f3w","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Fundacja Linux, BastionZero i Docker wsp\u00f3lnie zaprezentowa\u0142y nowy otwarty projekt OpenPubKey, rozwijaj\u0105cy tego samego imienia protok\u00f3\u0142 kryptograficzny do weryfikacji cyfrowych podpis\u00f3w dowolnych obiekt\u00f3w. Technologia zosta\u0142a opracowana jako wsp\u00f3lny projekt firm BastionZero i Docker w celu uproszczenia weryfikacji cyfrowymi podpisami obraz\u00f3w kontener\u00f3w Docker, aby zapobiec ich podstawieniu i potwierdzi\u0107 budow\u0119 zg\u0142oszon\u0105 przez tw\u00f3rc\u0119. Projekt b\u0119dzie rozwijany na neutralnej platformie pod patronatem organizacji Linux Foundation, co wyeliminuje zale\u017cno\u015b\u0107 od poszczeg\u00f3lnych firm komercyjnych i upro\u015bci wsp\u00f3ln\u0105 prac\u0119 z zaanga\u017cowaniem zewn\u0119trznych uczestnik\u00f3w. Referencyjna implementacja OpenPubKey zosta\u0142a napisana w j\u0119zyku Go i jest rozpowszechniana na licencji Apache 2.0.    <\/p>\n<p>Mo\u017cliwo\u015bci OpenPubKey nie ograniczaj\u0105 si\u0119 tylko do obraz\u00f3w kontener\u00f3w, a technologia mo\u017ce by\u0107 stosowana do potwierdzania \u017ar\u00f3d\u0142a pozyskiwania dowolnych zasob\u00f3w, zapobieganiu podstawieniu zale\u017cno\u015bci oraz zwi\u0119kszaniu bezpiecze\u0144stwa kana\u0142\u00f3w dystrybucji zbior\u00f3w danych. Na przyk\u0142ad, technologia ta nadaje si\u0119 do weryfikacji bud\u00f3w oprogramowania, poszczeg\u00f3lnych wiadomo\u015bci i commit\u00f3w. Tw\u00f3rcy podpisu potrzebuj\u0105 jedynie konta w us\u0142udze wspieraj\u0105cej OpenID, natomiast odbiorcy maj\u0105 mo\u017cliwo\u015b\u0107 weryfikacji do\u0142\u0105czonych podpis\u00f3w oraz potwierdzenia ich powi\u0105zania z deklarowanym identyfikatorem OpenID.    <\/p>\n<p>Pod wzgl\u0119dem zastosowania OpenPubKey przypomina system Sigstore stworzony przez Google, kt\u00f3ry wcze\u015bniej zosta\u0142 przekazany do Fundacji Linux, jednak r\u00f3\u017cni si\u0119 od niego znacznym uproszczeniem wdro\u017cenia, u\u017cycia i utrzymania poprzez eliminacj\u0119 centralizowanych sk\u0142adnik\u00f3w serwerowych, odpowiedzialnych za prowadzenie publicznego dziennika, potwierdzaj\u0105cego autentyczno\u015b\u0107 zmian (transparency log) oraz zapewnienie dzia\u0142ania instytucji certyfikacyjnych (Certificate Authority).       <\/p>\n<p>Zamiast wdra\u017cania w\u0142asnych centr\u00f3w certyfikacji, OpenPubKey wykorzystuje uwierzytelnianie oparte na technologii OpenID oraz powi\u0105zanie utworzonych podpis\u00f3w z istniej\u0105cymi dostawcami OpenID Connect. Innymi s\u0142owy, OpenPubkey pozwala powi\u0105za\u0107 klucze kryptograficzne z konkretnymi u\u017cytkownikami, korzystaj\u0105c z dostawc\u00f3w OpenID Connect (IdP) zamiast centr\u00f3w certyfikacji. Technologia ta jest w pe\u0142ni kompatybilna z istniej\u0105cymi dostawcami OpenID, takimi jak GitHub, Azure\/Microsoft, Okta, OneLogin, Keycloak i Google, i nie wymaga dokonywania zmian po ich stronie (z wykorzystaniem domy\u015blnego tokenu ID dostarczanego przez dostawc\u0119, co umo\u017cliwia zaimplementowanie OpenPubKey wy\u0142\u0105cznie poprzez zmiany po stronie klienta OpenID Connect).     <\/p>\n<p>Token OpenID wydany przez dostawc\u0119 jest przekszta\u0142cany w certyfikat, kt\u00f3ry kryptograficznie \u0142\u0105czy identyfikator w OpenID Connect z kluczem publicznym. Nast\u0119pnie u\u017cytkownik wykorzystuje wygenerowany klucz do podpisywania wszelkich danych, a te podpisy mog\u0105 by\u0107 p\u00f3\u017aniej weryfikowane pod k\u0105tem powi\u0105zania z identyfikatorem w OpenID Connect. W OpenPubKey zast\u0119puje si\u0119 klucze efemeryczne, kt\u00f3rych czas \u017cycia jest ograniczony - klucze s\u0105 generowane podczas logowania przy u\u017cyciu OpenID i usuwane po zako\u0144czeniu sesji z dostawc\u0105 OpenID.      <\/p>\n<p>Przyk\u0142adowy algorytm tworzenia podpisu z wykorzystaniem OpenPubKey:  <\/p>\n<ul>\n<li class=\"l\"> Logowanie przy u\u017cyciu dostawcy OpenID (Google, GitHub, Microsoft itp.).\n<li class=\"l\"> \u017b\u0105danie identyfikacyjnego tokenu od dostawcy OpenID.\n<li class=\"l\"> Zwr\u00f3cenie tokena, podpisanego kluczem dostawcy i zawieraj\u0105cego pole \u201enonce\u201d z dowolnymi danymi przekazanymi podczas \u017c\u0105dania (przesy\u0142any jest skr\u00f3t SHA3 otwartego klucza).\n<li class=\"l\"> Wykorzystanie po stronie u\u017cytkownika otrzymanego tokenu jako certyfikatu, kt\u00f3ry zawiera dane o kluczu.\n<li class=\"l\"> Za\u0142\u0105czenie tokenu do podpisu, analogicznie do certyfikatu.    <\/ul>\n<p>Weryfikacja polega na sprawdzeniu, czy za\u0142\u0105czony token zosta\u0142 podpisany przez dostawc\u0119 OpenID oraz na weryfikacji poprawno\u015bci podpisu cyfrowego w stosunku do zasobu za pomoc\u0105 otwartego klucza, co pozwala upewni\u0107 si\u0119, \u017ce zas\u00f3b zosta\u0142 podpisany z u\u017cyciem identyfikatora z certyfikatu, a to zosta\u0142o potwierdzone przez podpis dostawcy OpenID. Na przyk\u0142ad, osoba tworz\u0105ca podpis mo\u017ce otrzyma\u0107 token podpisany przez dostawc\u0119 OpenID Google z informacj\u0105, \u017ce zosta\u0142a zweryfikowana jako bob@gmail.com i u\u017cywa klucza publicznego 0x54A5\u2026FF. Nast\u0119pnie, przy odbiorze wiadomo\u015bci podpisanej tym samym kluczem, odbiorca mo\u017ce wykorzysta\u0107 podpisany przez dostawc\u0119 token do weryfikacji, \u017ce klucz bob@gmail.com to 0x54A5\u2026FF oraz \u017ce wiadomo\u015b\u0107 zosta\u0142a rzeczywi\u015bcie podpisana przez bob@gmail.com.                <\/p>\n<p>Uproszczenie architektury zosta\u0142o zrealizowane za pomoc\u0105 pewnych kompromis\u00f3w (np. zale\u017cno\u015b\u0107 od zewn\u0119trznych dostawc\u00f3w OpenID i brak logu zmian z hierarchicznym haszowaniem), kt\u00f3re w niekt\u00f3rych sytuacjach s\u0105 dopuszczalne, a w innych nie. Aby zredukowa\u0107 zale\u017cno\u015b\u0107 od dostawc\u00f3w OpenID, kt\u00f3rych kompromitacja lub dzia\u0142ania personelu mog\u0105 zdyskwalifikowa\u0107 system (na przyk\u0142ad, dostawcy, kt\u00f3rzy zostali zhakowani, mog\u0105 wyda\u0107 fa\u0142szywy klucz osobom trzecim), proponuje si\u0119 dodatkowy, ale nieobowi\u0105zkowy element MFA-Cosigner (Multi-Factor Authentication Cosigner) do wielosk\u0142adnikowej autoryzacji (token musi by\u0107 podpisany nie tylko przez g\u0142\u00f3wnego dostawc\u0119, ale tak\u017ce przez niezale\u017cn\u0105 us\u0142ug\u0119 autoryzacji, potwierdzaj\u0105c\u0105 to\u017csamo\u015b\u0107 u\u017cytkownika).  <\/p>\n<p>W\u015br\u00f3d s\u0142abych stron OpenPubKey zauwa\u017cono r\u00f3wnie\u017c istnienie zewn\u0119trznych danych, kt\u00f3re mog\u0105 by\u0107 u\u017cywane do \u015bledzenia aktywno\u015bci przez d\u0142ugi czas, niezale\u017cnie od zmian nazw (ponowne u\u017cycie identyfikuj\u0105cego tokena zamiast nowego certyfikatu). Bezpo\u015brednie powi\u0105zanie z kluczami OpenID Connect podczas weryfikacji wyklucza cz\u0119\u015b\u0107 serwerow\u0105, ale znacznie komplikuje realizacj\u0119 po stronie klienta i pozostawia wi\u0119cej przestrzeni do manewru przy przeprowadzaniu atak\u00f3w (attack surface) na klienta, na przyk\u0142ad z powodu tego, \u017ce to klient jest odpowiedzialny za rotacj\u0119 kluczy. Brak logu zmian uniemo\u017cliwia klientowi \u015bledzenie mo\u017cliwych wyciek\u00f3w kluczy.<br \/>\n<br \/>\u0179r\u00f3d\u0142o: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=59888\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>Linux Foundation, BastionZero \u0438 Docker \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b\u0438 \u043d\u043e\u0432\u044b\u0439 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0439 \u043f\u0440\u043e\u0435\u043a\u0442 OpenPubKey, \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u044e\u0449\u0438\u0439 \u043e\u0434\u043d\u043e\u0438\u043c\u0451\u043d\u043d\u044b\u0439 \u043a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b \u0434\u043b\u044f \u0437\u0430\u0432\u0435\u0440\u0435\u043d\u0438\u044f \u0446\u0438\u0444\u0440\u043e\u0432\u043e\u0439 \u043f\u043e\u0434\u043f\u0438\u0441\u044c\u044e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u044b\u0445 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432. \u0422\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u0430 \u043a\u0430\u043a \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u043d\u044b\u0439 \u043f\u0440\u043e\u0435\u043a\u0442 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0439 BastionZero \u0438 Docker \u0441 \u0446\u0435\u043b\u044c\u044e \u0443\u043f\u0440\u043e\u0449\u0435\u043d\u0438\u044f \u0437\u0430\u0432\u0435\u0440\u0435\u043d\u0438\u044f \u0446\u0438\u0444\u0440\u043e\u0432\u044b\u043c\u0438 \u043f\u043e\u0434\u043f\u0438\u0441\u044f\u043c\u0438 \u043e\u0431\u0440\u0430\u0437\u043e\u0432 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 Docker \u0434\u043b\u044f \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0438\u0445 \u043f\u043e\u0434\u043c\u0435\u043d\u044b \u0438 \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u044f \u0441\u0431\u043e\u0440\u043a\u0438 \u0437\u0430\u044f\u0432\u043b\u0435\u043d\u043d\u044b\u043c \u0441\u043e\u0437\u0434\u0430\u0442\u0435\u043b\u0435\u043c. \u041f\u0440\u043e\u0435\u043a\u0442 \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u043d\u0430 \u043d\u0435\u0439\u0442\u0440\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u043b\u043e\u0449\u0430\u0434\u043a\u0435 \u043f\u043e\u0434 \u043f\u043e\u043a\u0440\u043e\u0432\u0438\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u043e\u043c [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-110683","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"Linux Foundation, BastionZero \u0438 Docker \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b\u0438 \u043d\u043e\u0432\u044b\u0439 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0439 \u043f\u0440\u043e\u0435\u043a\u0442 OpenPubKey, \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u044e\u0449\u0438\u0439 \u043e\u0434\u043d\u043e\u0438\u043c\u0451\u043d\u043d\u044b\u0439 \u043a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b \u0434\u043b\u044f \u0437\u0430\u0432\u0435\u0440\u0435\u043d\u0438\u044f \u0446\u0438\u0444\u0440\u043e\u0432\u043e\u0439 \u043f\u043e\u0434\u043f\u0438\u0441\u044c\u044e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u044b\u0445 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/pl\/blog\/news\/predstavlen-openpubkey-protokol-kriptograficheskoj-verifikaczii-obektov\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"pl_PL\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d OpenPubKey, \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b \u043a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0432\u0435\u0440\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"Linux Foundation, BastionZero \u0438 Docker \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b\u0438 \u043d\u043e\u0432\u044b\u0439 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0439 \u043f\u0440\u043e\u0435\u043a\u0442 OpenPubKey, \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u044e\u0449\u0438\u0439 \u043e\u0434\u043d\u043e\u0438\u043c\u0451\u043d\u043d\u044b\u0439 \u043a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b \u0434\u043b\u044f \u0437\u0430\u0432\u0435\u0440\u0435\u043d\u0438\u044f \u0446\u0438\u0444\u0440\u043e\u0432\u043e\u0439 \u043f\u043e\u0434\u043f\u0438\u0441\u044c\u044e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u044b\u0445 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pl\/blog\/news\/predstavlen-openpubkey-protokol-kriptograficheskoj-verifikaczii-obektov\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2023-10-08T13:10:18+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2023-10-08T13:10:18+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Przedstawiono OpenPubKey, protok\u00f3\u0142 kryptograficznej weryfikacji obiekt\u00f3w | ProHoster","description":"Linux Foundation, BastionZero i Docker zaprezentowali nowy otwarty projekt OpenPubKey, rozwijaj\u0105cy ten sam protok\u00f3\u0142 kryptograficzny do po\u015bwiadczania cyfrowym podpisem dowolnych obiekt\u00f3w.","canonical_url":"https:\/\/prohoster.info\/pl\/blog\/news\/predstavlen-openpubkey-protokol-kriptograficheskoj-verifikaczii-obektov","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pl_PL","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d OpenPubKey, \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b \u043a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0432\u0435\u0440\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 | ProHoster","og:description":"Linux Foundation, BastionZero \u0438 Docker \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b\u0438 \u043d\u043e\u0432\u044b\u0439 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0439 \u043f\u0440\u043e\u0435\u043a\u0442 OpenPubKey, \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u044e\u0449\u0438\u0439 \u043e\u0434\u043d\u043e\u0438\u043c\u0451\u043d\u043d\u044b\u0439 \u043a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b \u0434\u043b\u044f \u0437\u0430\u0432\u0435\u0440\u0435\u043d\u0438\u044f \u0446\u0438\u0444\u0440\u043e\u0432\u043e\u0439 \u043f\u043e\u0434\u043f\u0438\u0441\u044c\u044e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u044b\u0445 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432.","og:url":"https:\/\/prohoster.info\/pl\/blog\/news\/predstavlen-openpubkey-protokol-kriptograficheskoj-verifikaczii-obektov","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2023-10-08T13:10:18+00:00","article:modified_time":"2023-10-08T13:10:18+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":[],"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/110683","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/comments?post=110683"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/110683\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media?parent=110683"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/categories?post=110683"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/tags?post=110683"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}