Security is iets dat als het goed werkt onzichtbaar is, en ook bij Cisco Spark is dat het geval. Toch is de manier waarop security binnen Cisco Spark geïmplementeerd is dusdanig bijzonder dat ik er in deze blog wat verder op inga.
Om te beginnen een korte introductie: Cisco Spark is Cisco’s Enterprise Messaging-platform waarbinnen je chatrooms kunt aanmaken, voice en video calls kunt uitvoeren vanaf software- of hardware-clients en multi-party meetings houden inclusief screensharing, waarvan de data beschikbaar is vanaf elke client, op elke locatie en op elk moment. Om flexibel te kunnen ontwikkelen, continu nieuwe features toe te kunnen voegen en data universeel beschikbaar te maken, wordt deze dienst geleverd vanuit de cloud, verspreid over een aantal Cisco-datacenters in de wereld. Iedereen kan een gratis account aanmaken op web.ciscospark.com, waardoor het eenvoudig is om samen te werken met mensen binnen en buiten de eigen organisatie.
De uitdaging die Cisco zichzelf gesteld heeft bij Cisco Spark is dat de service dusdanig beveiligd moest zijn dat Cisco op geen enkel moment toegang moet kunnen hebben tot de data van de gebruikers. Dit betekende een volledig nieuwe aanpak van de messaging-client, omdat tot nu toe de standaard aanpak voor elke messaging-/chat-client was om het communicatiepad te beveiligen, om de data vervolgens onversleuteld op te slaan of om de data na ontvangst te indexeren en dan bij opslag opnieuw te versleutelen.
Alleen encrypted data in Cisco-cloud
Cisco Spark-clients werken anders: de client encrypt de data met zijn eigen key, verstuurt deze encrypted payload naar de server en de server slaat deze op (en kan hem zelf niet decrypten, want heeft de key niet). Andere clients krijgen de encrypted data van de server, krijgen een key voor het decrypten en hebben dan weer toegang tot de originele data. Een klant kan zijn eigen key-managementserver beheren, waardoor er in de Cisco-cloud uitsluitend encrypted data staat. Dit verklaart waarom als je een nieuwe Cisco Spark-client opstart of inlogt na een tijdje offline, er kortstondig “decrypting content” te zien is. Dit is de fase waarin keys worden uitgewisseld en berichten worden ontsleuteld.
Uiteraard heeft de messaging-client een zoekfunctie, maar omdat de data op de server encrypted is, leverde dat een volgende uitdaging op: hoe zoek je in encrypted data? Als een klant een eigen key-managementserver heeft, draait deze ook zijn eigen indexing-service. Deze indexer maakt op basis van woord-hashes indexen aan, en die worden in de Cisco-cloud opgeslagen. Zoekopdrachten kunnen zo op de versleutelde data losgelaten worden, zonder dat Cisco toegang heeft tot de exacte search string of onversleutelde data.
Cisco Spark-security
Samenvattend kan je zeggen dat Cisco Spark-security uniek is door het combineren van encrypted opslag in de Cisco-cloud met de mogelijkheid van een eigen key-managementsysteem. Een uitgebreidere beschrijving van Cisco Spark-security is te vinden in dit whitepaper op https://www.cisco.com/c/dam/en/us/solutions/collateral/collaboration/cloud-collaboration/cisco-spark-security-white-paper.pdf