terug naar het overzicht

Updates vanuit Cryptoland

door Dirk 12-3-2012

De wereld van security is op alle vlakken continu in beweging. Om op het gebied van crypto de Nederlandse wiskunde (en security!) community een beetje op de hoogte te houden, wordt vier keer per jaar een Cryptography Working Group bijeenkomst gehouden. Dit is een dag van lectures waar recente ontwikkelingen gepresenteerd en besproken worden.

Afgelopen vrijdag was de eerste sessie van 2012, en als geïnteresseerde in crypto was ik er natuurlijk bij.

Hieronder een kleine samenvatting / introductie van wat er de revu is gepasseerd.

 

De toepassing van Principal Component Analysis binnen (Differential) Power Analysis.

Power Analysis is een bekende vorm van zogeheten side channel aanvallen op implementaties van cryptografische oplossingen. Bij side channel aanvallen wordt niet zozeer gekeken naar fouten in de wiskunde van een aanpak, alswel naar wat voor informatie gelekt wordt door de physieke en softwarematige implementatiekeuzes. Bij Power Analysis wordt gekeken naar het stroomverbruik van een cpu tijdens verschillende cryptografische operaties, omdat vaak blijkt dat hier patronen in zitten die direct aan de encryptiesleutel gecorreleerd kunnen worden.
Een bekend probleem bij Power Analysis is dat je vaak gebruik moet maken van meerdere metingen, en dat metingen nogal eens ruis of timingverschillen (versnellingen, vertragingen, etc.) kunnen bevatten. Lejla Batina e.a. houden zich bezig met de vraag in hoeverre Principal Component Analysis (een bekende techniek binnen de wiskunde om een set variabelen die mogelijk gecorreleerd zijn te verkleinen naar een set ongecorreleerde variabelen) nuttig gebruikt kan worden om ruis en timingproblemen te compenseren / filteren. De eerste resultaten hiervan zijn te vinden in onderstaande paper: http://www.springerlink.com/content/nn32124r42n88383/

Parallellisering van Pollard's Rho functie binnen Elliptische Curves:

Veel asymmetrische crypto systemen zijn tegenwoordig gebaseerd op het zogenaamde Discrete Logaritme Probleem, dat stelt dat als je van de vergelijking x = ga mod(n) alleen x, g en n weet, dat a dan moeilijk te berekenen is. Een van de manieren om a dan toch te berekenen, is de Rho methode van John Pollard, waarbij willekeurige yi van de vorm yi = g(qi * a + ri) gegenereerd worden met qi en ri bekend, totdat er twee getallen yj en yk gevonden zijn die congruent zijn modulo n. Op dat moment wordt het berekenen van a vereenvoudigd tot het oplossen van de vergelijking qj  * a + rj = qk * a + rk (mod n), waarbij alleen a onbekend is. De moeilijkheid van het berekenen van a is zo teruggebracht tot een functie van de kans dat twee willekeurige getallen congruent zijn modulo n en de kosten van de functie waarmee de willekeurige getallen gegenereerd worden.
Peter Schwabe e.a. hebben zich gefocust op het ontwerpen van een efficiente implementatie van een parallelle Rho functie voor specifieke Elliptische Curves. Hierbij heeft hij een resultaat bereikt dat bijna twee keer zo snel is als het huidige record. Dit verschil komt hoofdzakelijk door het gebruik van een negation map bij het berekenen van de willekeurige waarden. Deze techniek is niet nieuw, maar was tot op heden lastig te implementeren in een parallelle omgeving omdat de benodigde berekeningen afhankelijk zijn van if-statements, welke niet goed ondersteund worden in het SIMD model. Schwabe e.a. hebben dit probleem opgelost, door de if-statements te vertalen naar wiskundige berekeningen. De details hiervan, samen met een leuke verzameling van do's en don'ts voor als je zelf een keer een implementatie wil schrijven, kun je vinden in het volledige paper op http://cryptojedi.org/papers/#negation

Smart Grid Security en Privacy

Het Smart Grid is een technologie die er al een tijdje aan zit te komen en die bij sommige mensen beter bekend staat als de Slimme Meter of de Smart Meter. Het idee van het Smart Grid is relatief simpel: als ieder gebouw in de meterkast een computertje heeft dat bijhoudt hoeveel energie er gebruikt dan wel geproduceerd
wordt dan wordt het

  1. makkelijker voor energieleveranciers om te voorspellen hoeveel energie waar wanneer nodig is
  2. makkelijker voor energieleveranciers / het energienet om energie uit lokale bronnen te routeren wanneer dit mogelijk is
  3. makkelijker voor consumenten om in te zien waar ze kunnen bezuinigen op hun energieconsumptie

Het nadeel, echter, is dat een smart grid ervoor kan leiden dat een deel van onze kritieke infrastructuur (energie) open komt te staan voor een versheidenheid van nieuwe aanvallen.
Klaus Kursawe houdt zich bezig met de ontwikkeling van de security kant van toekomstige smart meters en heeft een boekje opengedaan over de problemen die in dit veld leven en de horrorverhalen de je vanuit een security en cryptografisch perspectief tegenkomt. Dit varieert van SQL injection via meetwaarden tot compleet gebroken authenticatie protocollen tot het moeten uitleggen van hash functies met lego autootjes.
Een bekend, maar interessant probleem dat hij aandroeg met betrekking tot smart meters was het probleem van profiling aan de hand van stroom consumptie. Met andere woorden, dat je allemaal (soms zelfs medische) eigenschappen van een persoon kunt afleiden puur door te zien hoeveel stroom hij gebruikt (al dan niet gecombineerd met tijdstip). Een manier om dit probleem (gedeeltelijk) in te perken is door verbruik niet per individueel huis te analyseren, maar per blok van x huizen. Dit vereist wel dat het verbruik per blok berekend kan worden zonder het verbruik van individuele huizen vrij te geven, wat kan via zware wiskunde als (al dan niet volledig) homomorfe multi party computation, maar ook via simpele XOR operaties in een Dining Cryptographer netwerk.
In ieder geval is er nog een wereld aan uitdagingen met betrekking to Smart Grids, zeker met een wanneer je rekening moet houden met een budget van € 0.50 / meter.

Joint local collisions in sha1

Hash functies vormen een van de pijlers waar de huidige security wereld op rust. Ze worden vaak gebruikt om integriteitschecks te doen of om geheime waarden te maskeren.
Het idee van de hash functie is simpel: het is een functie die aan de hand van input (van over het algemeen willekeurige lengte) op deterministische wijze een output genereert die vervolgens niet meer te herleiden is naar de input, oftewel een functie die maar een kant op berekend kan worden. De sterkte van een hash functie wordt grotendeels bepaald door de vraag hoe moeilijk het is om twee inputs met dezelfde hash waarde (een zogeheten collision) te vinden. Van MD5 weten we ondertussen dat het relatief simpel is om twee inputs met dezelfde hash waarde te vinden, zo lang je geen al te strenge eisen stelt aan hoe de inputs eruit mogen zien. Dat is dan ook een van de redenen dat je steeds vaker hoort dat MD5 aan het eind van zijn levensduur is. Voor SHA-1 is het genereren van collisions zelfs zonder eisen aan de inputs behoorlijk lastig. De beste gepubliceerde manier tot nu toe kost een slordige 2^69 berekeningen. Marc Stevens heeft onderzoek gedaan naar het verbeteren van dit getal en zegt een manier gevonden te hebben om het aantal benodigde berekeningen terug te brengen naar 2^57,5, een aanzienlijke verbetering. Het paper waarin hij zijn werk uiteenzet is helaas nog niet gepubliceerd, maar het klinkt veelbelovend.

Tags:

Encryptie | Informatie beveiliging | Security

Hack in The Random 2600 NL Data Box 2011

door Barry 18-12-2011

Hack In The Random 2600 NL data Box!

Op 26 November kwamen de groepen HITB, 2600NL en Randomdata bij elkaar. De naam "Hack in The Random 2600 NL Data Box" was ooit ontstaan door het verblijf van deze 3 community's op Hackin At Random in 2009. Door gezamenlijke inspanning van deze 3 groepen zijn er nadien diverse activiteiten en evenementen onstaan. Deze keer werd het tijd voor een mini-event in de hackerspace van Randomdata te Utrecht. ITQ was sponsor om er voor te zorgen dat deze groep hackers niet zouden verhongeren, een wokmaaltijd volledig in HITB stijl was een welkome aanvulling tot het mini-event.

Voor het mini-event waren de mensen welke betrokken zijn met deze drie community's uitgenodigd om samen kennis te delen en weer eens informeel bij te praten. Ook waren er een aantal sprekers uitgenodigd, de onderwerpen liepen uiteen van hardware hacking met lazzors, het "pwnen" van een 4G data netwerken tot Air travel hacking. Daarnaast was er ruim de tijd om bij te praten onder het genot van een kopje koffie, wat te drinken of wat te eten.

Nieuwe initiatieven voor de HITB conferentie in 2012 zijn tijdens de opening van het mini-event gepresenteerd waardoor de community weer volledig op de hoogte is van de toekomst plannen. Het mini-evenment was een groot succes en in de toekomst is de kans groot dat er meer mini-events gaan volgen.

Tijdens het event zijn er video's en foto's gemaakt, de video's zijn via onderstaande links te bekijken.
De foto's kunnen via deze link bekeken worden: http://hackintherandom2600nldatabox.nl/

Titel Who Links hi BW
Opening talk
Fish_ and L33tdawg Download View - 318 MB
Having fun with Reversing & Debugging DrWhax Download View - 587 MB
Bag of Tricks Blasty Download View - 584 MB
Packets in the Dark RuFio Download View - 883 MB
Ethernet & Lazzzzzors Meredith Download View - 716 MB
Air travel hacking Hendrik Scholz Download View - 1.2 GB

HITB2011KUL: The conference days

door Barry 21-10-2011

HITB2011KUL Banner

By Dirk van Veen, ITQ security concultant:
After having visited both installments of Hack in the Box Amsterdam as a visitor, Hack in the Box KUL was to be both my first my first HitB outside of Europe and my first time helping out as part of the Dutch crew. It promised to be an exciting adventure, and it fulfilled that promise to great satisfaction.
Expect two blog postings about HitB: one (this one) about the various talks at HitB and one about what I did as part of the Dutch crew.

So, without further ado, a little bit about the various talks:

When you look at the subject matter of the different talks, presentations and lab sessions, it is hard to miss that mobile devices have been attracting a lot of attention from the hacker community. With several talks about mobile malware, (from taxonomies to business models to reverse engineering), two talks about attacking iphones / ios, and individual talks about abusing femtocells for MitM, attacking GPRS roaming exchange, attacking base stations, abusing backhaul networks for 3g and 4g, owning a mobile wifi router, and satelite telephony security, over a third of all talks were somehow about mobile communication.
The other two thirds of the talks were as varied as may be expected of HitB, with anything from attacks on the EMV chip, to defending yourself from evil forensic analysts / administrators, to JS obfuscation methods, to a steganographic .avi filesystem and DIY video surveilance.

One of the talks that deserves a bit more attention (just because I like it) was about remote packet / frame injection attacks against layer 1 wireless (radio) communication. In this talk, Travis Goodspeed explains how the naturally occuring noise in wireless communication channels can be abused to trick receivers into interpreting the body of a corrupted frame as a valid frame itself. The trick itself is simple: you just put the frame you want to inject into the body of a valid frame (making sure that the injected frame actually fits within a single frame) and hope that the preamble or sync header of the valid frame get corrupted due to background noise. If this happens, the receiver will stop interpreting the frame and resume listening for a valid preamble, which it will find when it sees your frame in the the (no longer) body of the corruped frame. As wireless communication channels are continually bombarded with natural occurring interference, this corruption occurs relatively often, which makes this attack not just simple, but effective to boot.
Although this attack can be mitigated relatively easy by encrypting the radio communication (i.e. the body), turning it into a game of ciphertext manipulation, it is still fun to see how simple attacks pop up in unexpected places :)


Even though I have already mentioned quite a few subjects (even if just in passing), there are still many more (including the keynotes) that I don't have time to go into. If you are like me and cannot hear of so many interesting subjects without getting an itch to find out more about them, I strongly urge you to go to the HitB materials repository to find out what you've missed and read the presentations of your interest: http://conference.hitb.org/hitbsecconf2011kul/materials/

Happy reading!

Tags: , ,

Hackers | HiTB | Security

Eerste hulp bij..... een verloren smartphone

door Barry 27-8-2011

Je kent het wel: je twijfelt aan jezelf en je vraagt jezelf af: “Had ik hem nou op het terras laten liggen? Of niet?”
Of je komt bij je auto, met als resultaat een ingeslagen raam. Je bent je telefoon kwijt. En nu?
 
Hoe je het ook went of keert, de telefoons van vandaag zijn heuse computers en worden steeds belangrijker in ons (zakelijke) leven. Bewust of onbewust ben je ineens een sleutel(apparaat) kwijt dat toegang geeft tot vele poorten. Je e-mail staat er op, smsjes, agenda's, contacten en wellicht nog wat documenten. Natuurlijk synchroniseer je deze met systemen als MS Exchange, Gmail, iCloud etc. Je bent je data niet kwijt want die staat netjes opgeslagen, maar je je smartphone heeft wel live toegang tot deze omgevingen. Denk eens na wat er dan allemaal mogelijk is: het resetten van je Facebook of paypal account? Aankopen doen op Amazon of Ebay? Je baas of die ene klant een vreemde email sturen? Of... het wissen van alle gegevens welke in deze systemen staan opgeslagen.
 
In de toekomst verwacht ik dat het nut van je mobieltje, smartphone of tablet alleen maar gaat toenemen. Nu al kun je je telefoon gebruiken voor toegangscontrole (vervanging van de bekende witte toegangspas) of voor betalingen (NFC). De functionaliteit van mobiele apparatuur wordt alleen maar groter.

Indien je je smartphone kwijt bent is het van groot belang om snel te reageren, maar ook niet overhaast omdat acties misschien wel voor meer problemen zorgen i.p.v. minder.
Wat doe je wel en wat doe je niet:

  • Blokkeer je simkaart pas als je er zeker van bent dat niets meer mogelijk is. Als je deze laat blokkeren zal de telefoon van de buitenwereld zijn afgesloten, het automatisch vernietigen van data of eventuele GPS tracking is dan ook niet meer mogelijk. Dit geld ook voor je eventuele wachtwoorden van bijv. Exchange.
  • Indien je de data op afstand vernietigd, ga er niet blindelings vanuit dat alle data ook echt verwijderd is. Veel telefoons hebben bijvoorbeeld een geheugenkaart met opgeslagen documenten of een backup.
  • Indien gevoelige informatie op de telefoon was opgeslagen is het belangrijk eventuele gevolgen direct in te schatten. Meld deze gevolgen aan betrokkenen, het is beter vroeg te acteren dan dat men later de gevolgen moet opruimen.
  • Doe aangifte, via deze weg kunnen instanties criminelen opsporen en wellicht te telefoon terug vinden. Als deze is terug gevonden controleer dan de status van het apparaat.
  • Indien je twijfelt: zoek hulp bij professionals

ITQ assisteert haar opdrachtgevers regelmatig als er een security incident heeft plaats gevonden, ook op het gebied van mobiele apparatuur. Daarom hebben we een aantal voorbereidings tips:

  • Denk er over na welke informatie er op een smartphone gebruikt mag worden: voorkomen is immer beter dan genezen en informatie die niet aanwezig is, kan ook niet zoek raken. Leg dit vast in een beleid en verbind er eventueel voorwaarden aan. En wat vooral belangrijk is: breng het beleid onder de aandacht van de medewerkers.
  • Zorg voor beheersbaarheid, hierbij kun je denken aan:
    • Het afdwingen van een (sterke) wachtwoorden
    • Het verplicht stellen van een gedegen versleuteling
    • Automatische vernietiging van data (ook op afstand) bij misbruik/diefstal/verlies van de telefoon/pincode.
    • Lifecycle en patch management, telefoons met kwetsbaarheden kunnen bijvoorbeeld informatie op de telefoon in gevaar brengen.
    • Onderzoek naar track&trace functionaliteit van telefoons. Denk bijvoorbeeld aan telefoons die de GPS locatie kunnen  doorgegeven.
  • Leg vast hoe er met smartphone security incidenten omgegaan dient te worden. Welke stappen pas je wel toe en welke niet? Wie mag deze stappen ondernemen en wat zijn de escalatie mogelijkheden?
  • Het is verstandig om van te voren contact te zoeken met lokale instanties, specialistische bedrijven of telefoon providers en hiermee afspraken te maken. Op deze manier kan er snel geacteerd worden als een telefoon gestolen is.

Want ook voor verlies van smartphones geldt:
Een goede voorbereiding is het halve werk
.

Tags: , , , ,

Cloud | Encryptie | Informatie beveiliging | Security | smartphone

Using the FileHelpers library in a medium trust environment

door Ronald 6-5-2011

Yesterday I found out the hard way that you should never use a third-party library without doing some preliminary checks. First of all. always check the license: does the author allow you to use his library and if so, how exactly? Second, check whether the library allow partially trusted callers.

Many hosting providers allow you to run your web applications in medium trust instead of full trust. This means that code executing inside your application is not allowed to do a number of things like: opening files, accessing the registry, write to the event log or emitting dynamic classes using System.Reflection.Emit.

Yesterday I was deploying a website to a hosting provider that included the FileHelpers library. If you need to parse CSV files into something you can work with, this is the library for you. It parses CSV files into strongly-typed objects and provides a host of configuration options to do this. Obviously, it has to use some kind of reflection to set property values. At a minimum, it has to call PropertyInfo.SetPropertyValue somewhere. Fortunately, this call is not under any security restrictions.

However, probably for performance reasons, this is not how the FileHelpers library implements setting properties. Instead, it uses the System.Reflection.Emit namespace to build a dynamic class that is then used to set property values. The System.Reflection.Emit namespace is littered with methods that have the SecurityCritical attribute. These methods can therefore only be used in a full-trust environment. Which means that the FileHelpers library can not be used in my website...

The obvious question then is: couldn't you have checked this beforehand? Well, actually I could have. Assemblies that should allow calls from partially trusted callers must explicitly set the assembly-level attribute AllowPartiallyTrustedCallers. The FileHelpers library doesn't have this attribute. Therefore, the first call into the library generates an exception: System.Security.SecurityException: That assembly does not allow partially trusted callers.

This was a bit of a problem since I promised a customer that the website would be live today. There are probably better fixes but what I did was the following (only works for FileHelpers by the way). I downloaded the source code and included it into my solution. This still makes no difference because there are still the SecurityCritical attributes in the System.Reflection.Emit namespace. The only difference is that errors are now thrown a little later in the process but it is at least possible to call FileHelpers methods. Now I got a little lucky. FileHelpers has been around since the first version of the .NET framework when probably not all necessary functionality of System.Reflection.Emit was available to implement FileHelpers. Anyhow, the code contains some #if NET_1_1 directives that prevent the use of System.Reflection.Emit (instead, System.Reflection is used). So I simply set this compiler symbol and it all worked.

Tags: , ,

Development | Security

Hack In The Box Security Conference in Amsterdam

door Francisco 7-4-2011

Wellicht heb je er al over gelezen. In mei vindt de tweede Europese Hack In The Box Security Conference plaats in Amsterdam. Vorig jaar streek HITB - dat al ruim 10 jaar beveiligingsconferenties verzorgt in Maleisië en Dubai - voor het eerst neer in Nederland. ITQ vormde de lokale partner voor deze organisatie en aangezien de samenwerking goed beviel hebben we besloten ook dit jaar weer op te treden als partner. ITQ onderstreept net als HITB het belang van delen van expertise kennis over netwerkbeveiliging en daarom ook dat wij je graag op de hoogte stellen van dit aankomende event.

 

HITBSecConf2011AMS vindt plaats van 17 t/m 20 mei 2011 in het NH Krasnapolsky in Amsterdam en bestaat uit twee gedeeltes:

 

 

17 & 18 mei      Security trainingen: hands-on besloten trainingsessies http://conference.hackinthebox.org/hitbsecconf2011ams/?page_id=16

 

19 & 20 mei      Security conferentie:  2 dagen vol diepgaande presentaties van kopstukken uit de beveiligingswereld over de meest actuele IT beveiligingsproblemen en up ’n coming research, aangevuld met een keynote discussiepanel

                        http://conference.hackinthebox.org/hitbsecconf2011ams/draft-agenda.pdf

 

Tijdens de conferentiedagen (19/20 mei) wordt de Wintertuin van het Krasnapolsky omgebouwd tot een heuse Hackerspace. De Wintertuin is vrij toegankelijk voor het grote publiek en laat mensen kennis maken met allerlei vormen van hacken. Denk daarbij aan het openen van sloten (lockpicking), projecten van diverse hackerspaces, Capture The Flag - een spel waarbij er "live" gehacked wordt in een systeem - en de Hackerspaces Challenge.

 

De Hackerspaces Challenge wordt volledig door ITQ georganiseerd en gesponsord voor alle deelnemende hackerspaces. Wij dagen deelnemers uit om met een basisset LEGO Mindstorms een bot te bouwen die een bepaald probleem op gaat lossen. Een jury bestaande uit IT-specialisten beoordeelt de deelnemers en als hoofdprijs is er een financiële bijdrage te verdienen voor de deelnemende hackerspace.

 

Al met al, een mooie gelegenheid om te laten zien dat hackers niet per definitie criminelen zijn, maar vooral mensen die op een creatieve wijze technologie te lijf gaan. Immers hacken betekent iets op een manier gebruiken waar het niet oorspronkelijk voor gemaakt is. Dat vereist dat je outside the box denkt. Net als ITQ. ;-)

 

HITBSecConf2011AMS belooft een zeer intrigerende bijeenkomst te worden, wij zijn er in ieder geval bij en hopen jou daar ook te zien.

 Mocht de conferentie zelf niet lukken dan hoopt ITQ je als nog te mogen verwelkomen voor een kop koffie bij onze eigen stand in de Wintertuin. 

App-store?!? Provisior!

door Martijn 28-2-2011

Provisior voorziet in de koppeling met publieke clouddiensten

Met Provisior biedt ITQ al een ‘App-store’-voorziening waarmee de eindgebruikersorganisatie op basis van workflows bepaalt welke diensten zij afneemt. Deze diensten hebben veelal betrekking op de lifecycle en het beheer van user accounts, e-mail, agendering en Active Directorygestuurde voorziening voor softwaredistributie en rechtentoekenning op datagebieden.

Maar we gaan verder... Naast een uitgebreide kostenmodule, die de organisatie op meerdere niveaus inzicht verschaft in de verbruikskosten, kunnen we vanuit Provisior ook meer complexere voorzieningen bieden, zoals een op maat ingerichte VDI-werkplek of een compleet ingerichte applicatieserver. Ook voorziet Provisior in de koppeling met publieke clouddiensten. Zo blijft er vanuit één administratieve omgeving overzicht over de afgenomen diensten. Of uw organisatie er nu voor kiest een eigen mailserver in te richten, mail in de cloud af te nemen of beide, voor uw gebruikers is dit volledig transparant.

Zie ook het Centric Magazine ICT Infrastructuren van de maand februari.

Tags: , ,

Algemeen | Security

Automotive dealergroep kiest voor Provisior

door Martijn 17-2-2011

Een van de grote automotive dealergroepen in Nederland heeft gekozen voor Provisior als userprovisioning tool. De korte implementatie-cyclus zal worden uitgevoerd door Centric.

Doelstelling is om door geautomatiseerde userprovisioning kostenbesparingen te realiseren en het serviceniveau van de IT-organisatie te verhogen. Zo zal Provisior worden ingezet voor User Account Management en Secure Password Management alsmede het toewijzen en verwijderen van assets en het management van Role Based Access Control (RBAC). Tevens kunnen managers kunnen hun eigen diensten, gebruikers en middelen gaan beheren en kan ook de controle van de afdelingen, gebruikers, rollen en middelen kunnen worden gedelegeerd aan andere gebruikers en managers.

De dealergroep heeft zich verder verzekerd van de rechten op ingebruikname van Provisior’s nieuwste release ‘Chirripó’, die in het eerste kwartaal van 2011 zal verschijnen. Op het gebied van Costawareness kan hier dan grote vooruitgang worden geboekt omdat middels de nieuwste functionaliteit kostenoverzichten (bijv. applicaties, werkstations, printen) gegenereerd worden per afdeling en medewerker.

Tags: , , ,

Algemeen | Security

Comparing WIF claim sets from AppFabric Access Control Service V2

door Ronald 16-1-2011

Windows Identity Foundation or WIF is a Microsoft technology that allows you to move authentication and authorization logic out of your application. Suppose you are building a web site, then using WIF you no longer have to build your own login page and user store. Instead, you let a so-called Identity Provider, sometimes called a Security Token Service or STS authenticate your users. Your web application, called the Relying Party (RP), has a trust relationship with the STS and when the STS presents a user token to the RP, the RP knows that the user represented by the token is authenticated.

To clarify the example a little, suppose you choose Windows Live as your STS. When I hit a secure section of my web site, WIF intercepts the request and redirects it to the Windows Live authentication page. I sign in with my Windows Live credentials, Windows Live creates a security token for me and redirects me back to my web site using this security token. WIF checks the token and I’m authenticated.

Multiple identity providers

In the example above I used a single STS but suppose I want to allow users from multiple identity providers (Google, Yahoo, Facebook, etc). Microsoft has a solution for this called AppFabric Access Control Service V2, available on portal.appfabriclabs.com. It is a proxy between your application and currently five identity providers.

image

In the screenshot I have activated two identity providers.

Claim sets

When you sign in to an identity provider, it generates a token that represents who you are. So what exactly is a token? A token contains a set of claims about a user and is digitally signed by the STS. So when I login to Windows Live, a token is generated that contains some claims about me. A claim can be an e-mail address or a last name or anything else that the identity provider may wish to disclose about you. And that’s what we are interested in today. Each identity provider provides a different set of claims. Some may produce more claims, others may produce just an identifier. So the question is: what are the claims provided by each identity provider currently supported by AppFabric ACS?

For this post I have not yet tested Microsoft Active Directory Federation Services 2.0 because I haven’t set that up yet. When I have, I’ll update this post or write a new one describing the possibilities that ADFS offers.

Before we start it is important to note that AppFabric ACS simply passes all claims from each identity provider through unchanged.

Windows Live ID

Windows Live is the provider that offers the least amount of claims. It only gives your application a unique user identifier. The other claim is added by AppFabric ACS to let you know what identity provider was used (you’ll see this claim type for every STS).

WindowsLive

Windows Live does not offer any options for getting more user information. This is a deliberate choice to protect user’s privacy. This is also the reason that Windows Live does not ask the user for confirmation to share information with a third-party application: no personal information is actually shared.

Google

Google offers a little more user information when asked for it. Besides, Google as an additional step explicitly asks your permission to share your information with AppFabric ACS. In my case this means that I have to confirm that rwwilden-appfabric-labs.accesscontrol.appfabriclabs.com is allowed access to information from my Google account.

Google

The reason Google asks for your permission to share information is that they actually provide information that can be traced back to a person.

Google does not offer any options for getting additional information.

Yahoo!

Yahoo! provides the same claims Google does. They also have a confirmation step to allow the user to think again before sharing information with a third-party application.

Yahoo!

Facebook

Facebook does not have a very good record of keeping its user’s data private (I inserted some random links to sites I found when searching for ‘facebook privacy violation’). However, the set of claims when using Facebook as your STS is limited. The extra claims are an access token and an expiration date.

Facebook

Besides, Facebook asks for your permission when you sign in for the first time, just as Google and Yahoo! do.

However, you can configure AppFabric ACS to ask the Facebook STS to grant access to an extensive set of permissions based on the access token claim. For example, I can let AppFabric ACS ask Facebook for permission to read a user’s birthday.

FacebookAppFabricACS

The above screenshot is from the AppFabric ACS portal. When I sign in this time via Facebook I get a new request for permission (in Dutch) asking me to allow the third-party application access to the birthday field.

image

When I allow this, there are no new claims added to the claim set. However, I can use the provided access token to get additional user data via Facebook’s Graph API. The url

https://graph.facebook.com/rwwilden?fields=birthday&access_token=

gives me a small JSON document:

{
   "birthday": "04/11/1977",
   "id": "100001960422926"
}

containing my birthday. So far so good. My application has requested permission to access my birthday, I have given this permission and using the provided access token claim I can access the birthday field.

What about other fields? The documentation for the Facebook API User object specifies that I need the user_work_history permission to read the work field. I have never given this permission so the following url should generate an error or at least no work history.

https://graph.facebook.com/rwwilden?fields=work&access_token=…

And it works as expected:

{
   "id": "100001960422926"
}

 

Conclusion

The differences between identity providers currently supported by AppFabric ACS are large. On the one end there is Microsoft with Windows Live, providing only a user identifier. On the other end there is Facebook with a lot of configuration options. If you want to support Windows Live ID, the only information the STS gives you is that a user is authenticated. Additional user information can only be stored inside your application.

Even if you use Google or Yahoo! you probably need to store additional user information. The Facebook API offers all personal information you may ever need to know about your users so there is no need to store any additional user information inside your application. Facebook clearly wins when you look at it from an application builder standpoint.

From a privacy standpoint it is clear that Microsoft wins. For a third-party application making use of Facebook as an STS it is very easy to know all about its users. It’s only one button click away.

Tags: , , , ,

Cloud | Development | Informatie beveiliging | Security

Versleutelling: wie/wat is de zwakste schakel?

door Barry 4-1-2011

Deze blogpost is naar aanleiding van een radio interview waarvoor ik gevraagd was door Radio 2: Knooppunt Kranenbarg: interview.mp3

Een Resumé van de inhoud:
De laatste dagen staat de krant vol van een zekere Robert M, de politie lijkt het maar niet te lukken de versleuteling van zijn computer te breken.

Maar hoe werkt dat nou? Is het nou echt zo lastig? Het antwoord is geheel afhankelijk hoe slim Robert M geweest is. Vergelijk zijn computer als een kluis die op slot zit. Alleen met de juiste sleutel kan je deze kluis openen en de inhoud bekijken. Er zal dus een manier gevonden moeten worden om dit voor elkaar te krijgen.

De meest voorkomende mogelijkheden:

  • - De kluis is niet stevig genoeg en kan "gekraakt" worden. Dit staat gelijk aan een versleuteling die niet sterk genoeg is.
  • - De sleutel is niet ingewikkeld genoeg en kan daarom geraden worden. Je kan dit doen door alle sleutels af te gaan (Brute Force) of gebruik te maken van bijvoorbeeld een woordenboek aanval.
  • - De sleutel stelen
  • - Sommige type versleuteling hebben een zogenaamde "achterdeur" waarbij bepaalde overheden de sleutel makkelijker kunnen kraken.

In het geval van Robert M wordt er vermoedelijk gebruik gemaakt van Truecrypt, een door opensource community gemaakt versleutelingsprogramma. Truecrypt is een degelijk stukje software waarin een aantal sterke methoden worden gebruikt. Deze zijn niet makkelijk te kraken en je kan deze zelfs dubbel gebruiken (de soorten achter elkaar), de kluis is dus sterk genoeg.

Men heeft geprobeerd om de sleutel te stelen van Robert M (het onder druk zetten van de persoon). Deze sleutel gaf helaas niet toegang tot de juiste informatie, een extra functie van Truecrypt is namelijk het aanmaken van een "nep" container.
Bij het in beslag nemen van de computer is het systeem helaas uitgezet. Hierbij worden de sleutels van het geheugen gewist en is het niet meer mogelijk om de daadwerkelijke sleutel direct uit het geheugen te lezen. Helaas...
Blijven er twee opties over of Robert M moet alsnog de echte sleutel geven, het brute-forcen of het gebruiken van een achterdeur. Van deze laatste weten we niet eens of deze bestaat en het afgaan van alle mogelijkheden kost tijd, heel veel tijd......

(update) Inmiddels heeft Robert M zijn werkelijke sleutel vrijgegeven: nu.nl

Links:
Radio 2: Knooppunt Kranenbarg: interview.mp3

de krant

Truecrypt

nu.nl

Tags: , ,

Encryptie | Informatie beveiliging | Security