;

S bezpečnostní platformou Samsung KNOX má BYOD samá pozitiva

5. 10. 2015
Doba čtení: 3 minuty

Sdílet

Autor: Samsung Electronics
Politika BYOD, tedy používání soukromých mobilních přístrojů či notebooků pro pracovní účely, je celosvětovým trendem. Česká republika nijak výrazně nezaostává, má však prostor v tomto směru dále růst.

Nejčastější překážkou pro zavedení BYOD je strach zaměstnavatelů z možného zneužití firemních dat. Klíčoví hráči na poli ICT si toho jsou dobře vědomi, a tak vyvíjejí zabezpečené platformy, které lze instalovat do soukromých zařízení zaměstnanců. Samsung reaguje na aktuální problematiku zabezpečeného přístupu k firemním datům a aplikacím a neustále vylepšuje svou platformu KNOX, kterou poprvé představil v roce 2013 jako součást zabezpečené verze operačního systému Android. 

Letos získal Samsung KNOX ocenění od GSM Asociace na Mobile WorldCongress 2015 v Barceloně. Má též certifikáty, které potvrzují, že splňuje nejpřísnější bezpečnostní požadavky na využití na vládní úrovni například v USA nebo ve Velké Británii. Samsung KNOX je také nově automaticky součástí nejvyspělejších smartphonů s označením Galaxy S6.

Byznysové výhody Samsung KNOX jsou především:

  • Eliminace bezpečnostních rizik a snížení nákladů na bezpečnostní řešení třetích stran, která je třeba integrovat do IT systémů, politik a nakonec samotných smartphonů a ke kterým je třeba vyškolit vlastní specialisty nebo je draze outsourcovat;
  • Možnost bezpečně využívat nové aplikace pro chytré telefony, které zlepšují vztahy se zákazníky, umožňují uzavírat obchody nebo řešit obchodní případy, řešit technické záležitosti a poskytovat zaměstnancům aktuální informace;
  • Volnost pro zaměstnance v používání soukromého chytrého telefonu při práci. Nejsou tak již nepřímo nuceni obcházet bezpečnostní politiky a mohou bez obav těžit ze všech výhod, které BYOD nabízí.

Samsung KNOX je plně integrován do operačního systému Android a využívá hardwarovou podporu v telefonech Samsung Galaxy S6. Již při startu operačního systému se díky technologii TrustedBoot kontroluje, zda jsou všechny systémové soubory v pořádku a je tak možné zabránit spuštění jakéhokoliv škodlivého programu. Stejně tak při běhu systému a spouštění aplikací architektura TIMA (TrustZone-based Integrity Measurement Architecture) zajišťuje, že není možné chod aplikací narušit žádným malwarem.

Bezpečnost a autentizaci je dále možné rozšířit o SmartCard nebo jednorázová hesla. Celá platforma Samsung KNOX je škálovatelná a každý podnik může její využití nastavit tak, aby vyhovovala firemní politice IT bezpečnosti.

Cyber25

Pro IT správce jsou připraveny nástroje na správu připojených telefonů s platformou Samsung KNOX, díky kterým můžou řídit jednotlivé přístupy a telefony na dálku zablokovat či vymazat. V současné době je k dispozici více než 500 certifikovaných aplikací pro firemní použití jako jsou Kontakty, Kalendář, Telefon, Prohlížeč, Fotoaparát nebo E-mail.

Bezpečnostní platforma Samsung KNOX je předinstalovaná do nejvyspělejších smartphonů řady Galaxy od společnosti Samsung. Špičkový smartphone Samsung Galaxy S6 edge vyniká unikátním designem displeje, který je zakřivený po obou stranách, 16MPx fotoaparátem, nejvýkonnějším 64bitovým procesorem pro mobilní zařízení, bezdrátovým nabíjením a schopností nabít se za pouhých 10 minut na 4 hodiny provozu. Byla by proto škoda mít Samsung Galaxy S6 edge jen pro soukromé použití.

'; document.getElementById('preroll-iframe').onload = function () { setupIframe(); } prerollContainer = document.getElementsByClassName('preroll-container-iframe')[0]; } function setupIframe() { prerollDocument = document.getElementById('preroll-iframe').contentWindow.document; let el = prerollDocument.createElement('style'); prerollDocument.head.appendChild(el); el.innerText = "#adContainer>div:nth-of-type(1),#adContainer>div:nth-of-type(1) > iframe { width: 99% !important;height: 99% !important;max-width: 100%;}#videoContent,body{ width:100vw;height:100vh}body{ font-family:'Helvetica Neue',Arial,sans-serif}#videoContent{ overflow:hidden;background:#000}#adMuteBtn{ width:35px;height:35px;border:0;background:0 0;display:none;position:absolute;fill:rgba(230,230,230,1);bottom:20px;right:25px}"; videoContent = prerollDocument.getElementById('contentElement'); videoContent.style.display = 'none'; videoContent.volume = 1; videoContent.muted = false; const playPromise = videoContent.play(); if (playPromise !== undefined) { playPromise.then(function () { console.log('PREROLL sound allowed'); // setUpIMA(true); videoContent.volume = 1; videoContent.muted = false; setUpIMA(); }).catch(function () { console.log('PREROLL sound forbidden'); videoContent.volume = 0; videoContent.muted = true; setUpIMA(); }); } } function setupDimensions() { prerollWidth = Math.min(iinfoPrerollPosition.offsetWidth, 480); prerollHeight = Math.min(iinfoPrerollPosition.offsetHeight, 320); } function setUpIMA() { google.ima.settings.setDisableCustomPlaybackForIOS10Plus(true); google.ima.settings.setLocale('cs'); google.ima.settings.setNumRedirects(10); // Create the ad display container. createAdDisplayContainer(); // Create ads loader. adsLoader = new google.ima.AdsLoader(adDisplayContainer); // Listen and respond to ads loaded and error events. adsLoader.addEventListener( google.ima.AdsManagerLoadedEvent.Type.ADS_MANAGER_LOADED, onAdsManagerLoaded, false); adsLoader.addEventListener( google.ima.AdErrorEvent.Type.AD_ERROR, onAdError, false); // An event listener to tell the SDK that our content video // is completed so the SDK can play any post-roll ads. const contentEndedListener = function () { adsLoader.contentComplete(); }; videoContent.onended = contentEndedListener; // Request video ads. const adsRequest = new google.ima.AdsRequest(); adsRequest.adTagUrl = iinfoVastUrls[iinfoVastUrlIndex]; console.log('Preroll advert: ' + iinfoVastUrls[iinfoVastUrlIndex]); videoContent.muted = false; videoContent.volume = 1; // Specify the linear and nonlinear slot sizes. This helps the SDK to // select the correct creative if multiple are returned. // adsRequest.linearAdSlotWidth = prerollWidth; // adsRequest.linearAdSlotHeight = prerollHeight; adsRequest.nonLinearAdSlotWidth = 0; adsRequest.nonLinearAdSlotHeight = 0; adsLoader.requestAds(adsRequest); } function createAdDisplayContainer() { // We assume the adContainer is the DOM id of the element that will house // the ads. prerollDocument.getElementById('videoContent').style.display = 'none'; adDisplayContainer = new google.ima.AdDisplayContainer( prerollDocument.getElementById('adContainer'), videoContent); } function unmutePrerollAdvert() { adVolume = !adVolume; if (adVolume) { adsManager.setVolume(0.3); prerollDocument.getElementById('adMuteBtn').innerHTML = ''; } else { adsManager.setVolume(0); prerollDocument.getElementById('adMuteBtn').innerHTML = ''; } } function onAdsManagerLoaded(adsManagerLoadedEvent) { // Get the ads manager. const adsRenderingSettings = new google.ima.AdsRenderingSettings(); adsRenderingSettings.restoreCustomPlaybackStateOnAdBreakComplete = true; adsRenderingSettings.loadVideoTimeout = 12000; // videoContent should be set to the content video element. adsManager = adsManagerLoadedEvent.getAdsManager(videoContent, adsRenderingSettings); // Add listeners to the required events. adsManager.addEventListener(google.ima.AdErrorEvent.Type.AD_ERROR, onAdError); adsManager.addEventListener( google.ima.AdEvent.Type.CONTENT_PAUSE_REQUESTED, onContentPauseRequested); adsManager.addEventListener( google.ima.AdEvent.Type.CONTENT_RESUME_REQUESTED, onContentResumeRequested); adsManager.addEventListener( google.ima.AdEvent.Type.ALL_ADS_COMPLETED, onAdEvent); // Listen to any additional events, if necessary. adsManager.addEventListener(google.ima.AdEvent.Type.LOADED, onAdEvent); adsManager.addEventListener(google.ima.AdEvent.Type.STARTED, onAdEvent); adsManager.addEventListener(google.ima.AdEvent.Type.COMPLETE, onAdEvent); playAds(); } function playAds() { // Initialize the container. Must be done through a user action on mobile // devices. videoContent.load(); adDisplayContainer.initialize(); // setupDimensions(); try { // Initialize the ads manager. Ad rules playlist will start at this time. adsManager.init(1920, 1080, google.ima.ViewMode.NORMAL); // Call play to start showing the ad. Single video and overlay ads will // start at this time; the call will be ignored for ad rules. adsManager.start(); // window.addEventListener('resize', function (event) { // if (adsManager) { // setupDimensions(); // adsManager.resize(prerollWidth, prerollHeight, google.ima.ViewMode.NORMAL); // } // }); } catch (adError) { // An error may be thrown if there was a problem with the VAST response. // videoContent.play(); } } function onAdEvent(adEvent) { const ad = adEvent.getAd(); console.log('Preroll event: ' + adEvent.type); switch (adEvent.type) { case google.ima.AdEvent.Type.LOADED: if (!ad.isLinear()) { videoContent.play(); } prerollDocument.getElementById('adContainer').style.width = '100%'; prerollDocument.getElementById('adContainer').style.maxWidth = '640px'; prerollDocument.getElementById('adContainer').style.height = '360px'; break; case google.ima.AdEvent.Type.STARTED: window.addEventListener('scroll', onActiveView); if (ad.isLinear()) { intervalTimer = setInterval( function () { // Example: const remainingTime = adsManager.getRemainingTime(); // adsManager.pause(); }, 300); // every 300ms } prerollDocument.getElementById('adMuteBtn').style.display = 'block'; break; case google.ima.AdEvent.Type.ALL_ADS_COMPLETED: if (ad.isLinear()) { clearInterval(intervalTimer); } if (prerollLastError === 303) { playYtVideo(); } break; case google.ima.AdEvent.Type.COMPLETE: if (ad.isLinear()) { clearInterval(intervalTimer); } playYtVideo(); break; } } function onAdError(adErrorEvent) { console.log(adErrorEvent.getError()); prerollLastError = adErrorEvent.getError().getErrorCode(); if (!loadNext()) { playYtVideo(); } } function loadNext() { iinfoVastUrlIndex++; if (iinfoVastUrlIndex < iinfoVastUrls.length) { iinfoPrerollPosition.remove(); playPrerollAd(); } else { return false; } adVolume = 1; return true; } function onContentPauseRequested() { videoContent.pause(); } function onContentResumeRequested() { videoContent.play(); } function onActiveView() { if (prerollContainer) { const containerOffset = prerollContainer.getBoundingClientRect(); const windowHeight = window.innerHeight; if (containerOffset.top < windowHeight/1 && containerOffset.bottom > 0.0) { if (prerollPaused) { adsManager.resume(); prerollPaused = false; } return true; } else { if (!prerollPaused) { adsManager.pause(); prerollPaused = true; } } } return false; } function playYtVideo() { iinfoPrerollPosition.remove(); youtubeIframe.style.display = 'block'; youtubeIframe.src += '&autoplay=1&mute=1'; } }