Inspeção de segurança Opiniões sobre identidade, parte 1

Jesper M. Johansson

Conteúdo

O que É uma identidade?
O problema de identidade
Autenticação de identidade
Os interessados na identidade
Usar identidades
Quantos identidades você possui?
Princípios de identidade
1. O provedor de identidade é pelo menos tão confidenciais como a parte confiante mais confidenciais.
2. Permitir que a empresa para proteger seus relacionamentos com clientes e para o proprietário e controlar informações que ele considere como comerciais confidencial.

Um conceito que muitos de nós pensou que tivéssemos uma alça de BOM no mantém voltem até hoje em dia: identidade. Com velocidade unrelenting, nós estiver vendo vários projetos nova identidade, mais na forma de algum tipo de sistemas de identidades distribuído e / ou algo que finalmente substituirá as senhas. Esses sistemas todos os possuem uma meta básica — para substituir a gama de combinações de nome de usuário e senha temos todas as que lembre-se com uma única identidade. Em vez disso, esses novos sistemas poderiam oferecer uma identidade que obtém nos acesso a tudo.

Como eu examinar as senhas 127,128 armazenados no meu Segurança de senha, Acho que realmente parece bastante atraente. E sempre que vá para qualquer propriedade do Microsoft.com e sou solicitado, novamente, para Meu Windows Live ID e senha, perceber que também temos uma maneira muito antes de atingir um mundo de single sign on (SSO).

Identidade, no entanto, é um conceito nebulous e um misunderstood oft. Neste artigo, eu ordene algumas idéias na identidade e princípios que um sistema de identidade deve atender. Não tenho suficiente cabelo cinza para fingir que essas são fundamentais leis que esses sistemas devem obedecer. No entanto, acredito que qualquer sistema de identidade que tenta obedecer por esses princípios falhará no tribunal da opinião do consumidor, bem como de suporte de empresa e implantação. Um sistema de identidade, como pleasing, teoricamente, pois ele pode ser, por fim deve fornecer valor para uma empresa e para um usuário se ele for bem-sucedida.

O que É uma identidade?

Uma identidade, simplesmente colocar, é uma representação abstrata de uma entidade em um sistema de computador. Filosofia define-lo como "igualdade" destas duas coisas. Dois (ou mais) coisas são idênticas se eles forem iguais. Sim, que seria qualificado como uma definição circular altamente. Portanto, em vez disso, digamos que identidade afirma que uma entidade é definable e reconhecíveis. Talvez isso é mais simples:

(P=Q)→(P=Q)

Que é a definição básica de identidade na lógica de simbólicos. P é igual a P se P é a mesma coisa que P. Restated um pouco diferente, se Peter for Peter claramente Peter é o Peter. Agora tudo o que precisamos é uma maneira de Peter provar que ele (ou ela?) é de fato Peter.

Métodos de fornecer identidade são altamente interessantes em sistemas digitais. No mundo digital, temos uma definição ligeiramente diferente da identidade do em simbólicos lógica. No seu documento seminal" As leis de identidade" Kim Cameron define a identidade digital como "um conjunto de declarações feitas por um assunto digital sobre si ou outra entidade digital".

Que é uma definição diferente daquele puro lógico. A definição de lógica pura é simplesmente quem você é. No mundo digital, a identidade está enraizada nas declarações escolhido para apresentar. Em outras palavras, uma identidade digital não é quem você está, mas em vez disso, que você optar por ser. Em uma identidade digital sistema, como longa como Gustavo, ou quem alega ser Peter, pode fornecer uma prova aceitável dessa reivindicação (que significa que o pode autenticar a declaração), deve aceitar identidade Pedro. As reivindicações que Cameron fala sobre são essencialmente uma manifestação de identidade. Esses são os autenticadores Peter ou quem precisa ser Peter, está apresentando.

Nele é o primeiro problema de identidade. Identidade digital não é o mesmo que uma identidade ontological (no sentido philosophical) — uma representação de uma entidade real que realmente existe. Identidade digital é efêmera. Identidade digital está incompleta. Identidade digital é opcional. E, mais interessante de tudo, uma única entidade física pode apresentar vários conjuntos diferentes de declarações e, portanto, ter várias identidades digitais diferentes. Identidades digitais são muito possivelmente mais úteis quando eles não têm uma correspondência 1: 1 a uma entidade ontological.

O problema de identidade

Um conceito de identidade digital baseada em declarações faz com que muitos problemas interessantes. Primeiro é o fato de que uma identidade tem um preço. Você pode comprar uma nova identidade para apenas alguns dólares milhares. Para que o money, você obtém um número da previdência social funcionando juntamente com um endereço válido que você pode alterar. Licenças, cartões de crédito, passports e o restante do driver podem ser tinha com isso. Se você desejar uma identidade com um histórico pessoal verificável, que provavelmente custará é um pouco mais.

Algumas pessoas, inclusive me, declarar que isso significa que a identidade ontological é sem sentido como ela se relaciona aos sistemas de identidade digital. Pessoalmente, acho identidade verdadeira (ou pelo menos, correção de identidade) para ser irrelevante e uninteresting quando lidar com ele no contexto de um sistema digital. Para a grande maioria dos aplicativos, identidade simplesmente significa que você pode estar consistente. Se você não conseguir apresentar o mesmo está para mim hoje mesmo que você fez duas semanas atrás, vou assumir que é a mesma pessoa/entidade/computador e dar a você qualquer acesso que concedido a você última vez.

Considerando que true, ontological identidade está não apenas efêmero, mas irrelevantes para a maioria dos aplicativos, não me importo ligar você a uma entidade do mundo real. Apenas preciso correlação, não é verdade identidade física, para a maioria dos fins. Qualquer aplicativo que depende de ligação identidade a uma entidade física e imutável é doomed desde o início, e depender de uma conexão segura significa que sempre fará erros e eles sempre será críticos. Qualquer pessoa do mundo real pode prejudicar um sistema simplesmente residente ou retenção as declarações de identidade ou, claro, compartilhando-los (inadvertidamente ou deliberadamente) com outra entidade.

Em vez disso, criando um sistema que (1) se baseia no pressuposto de que qualquer identidade reivindicada é falsificação e (2) que simplesmente tentar correlacionar identidades entre as sessões, podemos criar um sistema muito mais resistente, úteis e valioso. E nós desperdiçar recursos muito menos tentar resolver um problema que, em todo o histórico, ninguém foi capaz de resolver sem outrageous violações de privacidade pessoal.

Autenticação de identidade

Outro problema com identidade é que a identidade por si só não é algo que você pode usar. Ainda, em todo o histórico, identidades foram geralmente tomadas para concedido, sem a autenticação. Do Shakespeare Henry IV, há uma passagem no qual um caractere diz, "Estou Robert Shallow, sir, um esquire ruim desta região e um dos justices do the paz o Rei." Curiously, o caractere a quem justiça Shallow foi falando levou essa declaração de identidade como verdade, com nenhuma verificação. Voltar em formulários anteriores da literatura, como Sagas Norse, e você encontrará declarações semelhantes de identidades feitas por Thor e Odin, que foram aceitas imediatamente sem pergunta.

Obviamente, se você tiver apenas um olho, é seqüestro em um steed esta oito e afirmam ser Odin, um pode argumentar que você forneceu alguma quantidade de verificação da identidade. No entanto, na Internet, não é possível usar as montagens que é divertido como verificação da identidade. Como o antigo diz, "na Internet ninguém sabe tiver um cachorro." Portanto, não autenticadas declarações de identidade mal poderia nunca são aceitos. Portanto, precisamos alguma forma autenticar a identidade.

"Para, há o rub." (Mítico.) Como você pode provar sua identidade? Afinal, o prova de sua identidade é tão importante, talvez mais assim, como a identidade real. Portanto, como nós provam identidades? O método que são usados para usar era uma forma de autenticação secreta compartilhada, conhecida como senhas. Em 14 de fevereiro de 2006, o presidente da Microsoft Bill Gates declarado que as senhas seriam eliminadas onde posicionar os dinossauros em três ou quatro anos.

Mas à medida que escreve em março de 2009, é bastante claro que lista estava errada. Eu tenho senhas novamente agora que eu tinha em fevereiro de 2006. Apenas no trabalho, eu tenho minha senha de rede, minha senha do UNIX, a senha para a despesa de relatório de sistema, a senha para o sistema de RH, senhas para o agente de ações da empresa e os provedores de benefícios, as senhas de raiz para minha máquina de desenvolvedor e alguns servidores, as senhas de administrador para Meus laptops, o PIN para meu telefone e alguns de estranhas senhas para acessar os produtos da empresa como vários usuários. Ainda assim, apesar de ter tantas senhas, pode Honestamente dizer que eu realmente não deseja senhas foram inativos. Eles não são, na verdade, uma declaração de autenticação inválido.

O que Bill Gates estava pensando? Ele pensou, três anos atrás, que agora InfoCard poderia ter substituído dessas senhas. Renomeado de InfoCard, que foi, finalmente, o Windows CardSpace, é um tipo de tecnologia de autenticação fornecido no Windows Vista e posterior no Windows XP SP3.

Pontos vá para qualquer pessoa que já criou um cartão. Eu lhe dará crédito extra se você encontrar um site único que aceita uma credencial do Windows CardSpace. Se desejar apenas experimentar, você pode fazer parte em um teste de beta de O InfoCard do Windows Live.

Os interessados na identidade

Há, claro, outras maneiras para autenticar uma identidade. Alguns são mais úteis em determinadas situações. Para entender onde, você precisará compreender a diferença entre os interessados em um sistema de identidade.

Um provedor de serviços de identidade é alguma entidade que fornece um serviço para as outras partes. Normalmente, o provedor contém o banco de dados de identidade e autentica os usuários finais de identidades. Normalmente, o provedor não é uma pessoa. Portanto, o provedor pode lidar com muito volumes maiores de dados estruturados que uma pessoa pode. Por exemplo, um provedor pode usar um segredo compartilhado de comprimento arbitrário para comprovar sua própria identidade. Portanto, a credencial usada para autenticar a identidade de um provedor de identidade normalmente pode ser várias ordens de magnitude mais complexos do que o que você e possa se lembrar. Conseqüentemente, é potencialmente várias ordens de magnitude mais seguros. Digo "potencialmente" porque se ele realmente é depende bastante como os segredos são gerenciados. Ele faz não bom ter um segredo de 4096 bits para provar sua identidade se, na verdade, não mantivê-lo secreta.

Provedores de identidade muito facilmente podem usar construções como certificados digitais para se autenticar. Um certificado digital é simplesmente um relativamente ajustável bloco (alguns milhares de bytes) de informações estruturadas. Um computador pode facilmente enviar que como parte de cada transação. Você e, no entanto, não será muito thrilled se tivéssemos digitar para autenticar para uma transação.

O usuário final é a entidade que precisa ter sua identidade declarada. Com freqüência, o usuário é uma pessoa, mas que não é sempre o caso, o usuário também pode ser um sistema de computador. Portanto, a qualidade das declarações que o usuário pode apresentar varia muito.

Finalmente, há a terceira parte confiável. A parte confiante é a entidade que confia o provedor de identidade para verificar o usuário antes de fornecer o usuário algum serviço. A terceira parte confiável é quase sempre um sistema de computador. Na medida em que a parte confiante comprova sua própria identidade para um usuário e o provedor de identidade, ele pode fazer isso com igualmente as declarações de alta seguras como o provedor de identidade usado.

É importante observar que um usuário em um cenário é geralmente uma terceira parte confiável em outro. Se o usuário é uma parte do software, ou tiver a ajuda de uma parte do software, este usuário pode facilmente lidar com os mesmos tipos de dados estruturados como o provedor. Isto é porque identidade distribuída protocolos, como OAuthe a vários parte de especificações de segurança do WS-* enfatizar bastante significativas quantidades de dados estruturados para autenticação — eles são voltados principalmente serviços de autenticação para si. Mesmo quando as especificações lidar diretamente com as pessoas, elas tendem a ser brokered por meio de serviços que podem manipular os dados estruturados em nome das pessoas. Geralmente, o agente é apenas um aplicativo no computador do usuário.

Usar identidades

O conceito que um usuário (uma pessoa) usa um sistema de computador como um intermediário ao acessar serviços a partir de uma terceira parte confiável é muito importante. Ele vai para o coração do como criar identidades utilizável por pessoas, ao contrário de sistemas. Infelizmente, diferente do InfoCard, que até agora tem encontrado pouco sucesso, alguns sistemas realmente abordam esse tópico. Em grande parte, o fluxo do processo quando uma pessoa física usa um serviço de identidade para obter acesso a algo é semelhante a Figura 1 .

fig01.gif

Figura 1 fluxo do processo de usando um serviço de identidade

Observe a caixa "em seguida, A Miracle ocorre" (TAMO). Os aspectos de sociotechnical do sistema — como você permite que usuários tirar proveito delas — é onde um sistema está realmente feitas ou interrompida.

Houve muitas tentativas de resolver o problema TAMO. Mais fornecida sobre devido a incongruity que na Internet queremos usar identidades de alta seguras, geralmente base certificados, mas os usuários persistentemente recusam a digitá-los sempre que precisam acessar um serviço. O Microsoft Passport, atualmente chamado Windows Live ID, foi uma tentativa de início. Google tiver inserido o fray com sua conta do Google, e há outras pessoas, bem. Até mesmo o Windows CardSpace pode se dizer que está foram uma tentativa de resolver esse problema. Todos são projetados para fornecer algum nível de SSO. Todos os tiverem êxito, basicamente, ao fazer isso, dentro dos domínios pertencentes a seus purveyors várias das soluções específicas. Todos falharam quase inteiramente fora de domínios do seus purveyor.

No restante deste artigo e a parte 2, será resolver esse problema em mais detalhes. Observe que eu não purport para resolver o problema, mas apenas para destacar alguns motivos por que ninguém mais tiver ainda resolveu o problema ou. Finalmente, será chegar a um conjunto dos princípios que eu acredito que deve seguir qualquer solução para esse problema. Que, por sua vez, causará uma conclusão que diz, para somá-lo, identidade ontological pode ser apenas um sonho de pipe.

Quantos identidades você possui?

O desafio grande em relação à identidade é não na criação de um sistema de identidade que pode fornecer o SSO, mesmo que que seja onde a maioria do esforço técnica será. Não é mesmo em que a solução funcionando sem problemas e utilizável, em que, infelizmente, menos esforço será. O desafio é que os usuários atualmente têm várias identidades. Como mencionei anteriormente, eu tenho bem mais 100. Em uma base diária, eu uso pelo menos 20 ou 25 deles. Talvez os usuários têm identidades de muitos, mas eu consideraria não que uma conclusão foregone.

O purist agora dizem que "o SSO pode corrigir esse problema." No entanto, eu não acho que é um problema. Pelo menos não é o grande problema. Eu gosto de ter várias identidades. Ter várias identidades significa que pode descansar certeza de que os vários serviços que uso não pode correlacionar minhas informações. Não tenho que fornecer meu provedor de email minha identidade do agente de ações, nem Tenho que dar minha empresa de cartão de crédito identidade que uso no meu site favorito de compra on-line. E apenas sei que a identidade que uso para a foto compartilhamento site. Ter várias identidades me permite manter minha vida e minha privacidade, compartmentalized.

Além disso, se a empresa de cartão de crédito consiga obter próprio hacked, todas as outras identidades não são afetados. Se eu tivesse uma única identidade, que pode ou não ser o caso, dependendo de como essa identidade única foi implementada. Um sistema SSO implementado corretamente nunca exporia um site usando o sistema a uma falha no site de outra, não relacionado. No entanto, aplicar essa separação não é trivial, e se o provedor de identidade for comprometido, todos os sites que depende dele automaticamente for comprometido.

Esse último ponto é um motivo por que os sistemas de identidade digital Cameron descrito, até o momento, falharam para se tornar o provedor de identidade universal único — qualquer provedor de identidade única é uma entidade extremamente confidenciais.

Princípios de identidade

Há vários princípios de identidade que devem ser atendidos de pelo menos alguma forma para fornecer um sistema de identidade digital bem-sucedida. Elas diferem muito das leis que Cameron descrito no papel leis de identidade. Leis Cameron foram princípios de design — use casos, mais ou menos — que essencialmente definir requisitos técnicos para um sistema de identidade digital confiável. Assim, eles são um conjunto de critérios necessários, mas suficiente para o sucesso. Apesar de muitos sistemas podem ser criados para atender ou exceder leis Cameron, não acho que qualquer uma delas será amplamente bem-sucedida sem também levando em consideração os princípios que eu defino aqui. Meus princípios são princípios de nível superior, lidar com requisitos de negócios, não com pontos de design direto do sistema.

1. O provedor de identidade é pelo menos tão confidenciais como a parte confiante mais confidenciais.

Em primeiro lugar, como mencionei anteriormente, o provedor de identidade é confiável por todas as partes. Esse é o motivo pelo qual nós nos referimos a eles como "partes confiantes." Isso significa que o provedor de identidade deve ser pelo menos bem protegido pois a parte confiante mais confidenciais requer. Esse único ponto é por que muitos dos sistemas universal candidato tem Falha ao criar alcançar amplas SSO sistemas — a relação de confiança simplesmente não existe. Mesmo se a relação de confiança é garantida, é muito difícil provar por que uma parte deve confiar outro.

Você deve confiar em seu fornecedor de correio electrónico com suas informações de conta bancária e todos os seus dados de conta bancária? Se a resposta for "não", você deve confiar que fornecer a identidade você usa para entrar em seu banco não. Os consumidores hoje são avalanche por software não confiável, incompreensível pop-ups e fornecedores de anti-malware (legítimos e não tão legítimas) que afirmam que você não pode, possivelmente, navegar na Internet com segurança, a menos que você paga-los. Conseqüentemente e bastante organizadamente, consumidores confiam praticamente ninguém. Organizações poucos hoje são confiáveis para ser candidatos provedores de identidade de outras organizações. Criar esse tipo de relação de confiança não é barata. Mantê-la é uma proposta frágil. E ganhando-lo novamente depois perdidas devido a uma violação é quase impossível.

Se nunca veremos uma empresa fornecendo um sistema de identidade digital de universal bem-sucedida, ele será de uma empresa que tenha obtido um nível muito alto de confiança. Curiosamente, muitos dos jogadores no espaço de provedor de identidade não estão muito altos até as pesquisas, ou eles não aparecem em todos os (consulte quinta anual pesquisa o Instituto ’s Ponemon of Companies mais confiáveis para privacidade).

2 Permite que a empresa para proteger seus relacionamentos com clientes e para o proprietário e controlar informações que ele considere como comerciais confidencial.

Qualquer pessoa que tenha um MBA sabe que há três maneiras de ser bem-sucedida com uma empresa: você ter o produto mais inovadora, ou você tem o menor preço, ou excel no cliente intimacy (ou alguma combinação de todos os três). Curiosamente, praticamente toda empresa está interessada no segundo cenário: intimacy do cliente. Relacionamentos com clientes, especialmente em uma empresa on-line, são sacred! Em um mundo onde alternar custos está próximo a nada, onde todos os usuários garante (para alguns definição ampliada da "garantias") o menor preço, e mesmo produto está disponível em qualquer lugar, chave de relações tornam-se do cliente. Mesmo onde inovação acontecer, como em rede social e provedores de email, conexão de cliente é crítica ainda.

Uma razão primária porque nenhum site grande aceitar credenciais de outra empresa (ou outra empresa que não usou possui-las, como no caso de Expedia) é que ele dilutes sua relação com seus clientes. Imagine, por exemplo, se Yahoo simplesmente recebido uma declaração de NetIdentitiesRUs que, Sim, ele realmente é cliente 923071235309342-2 que assinados apenas no. Yahoo não deve possuir o banco de dados de seus clientes. Ele não deve saber quem o cliente realmente é. Yahoo pode não mais gerenciar o cliente e o sistema da maneira que ele quisesse. Ele não poderia fazer pesquisa de cliente por verificação cruzada a identidade com bancos de dados de suas subsidiárias e aquisições. Ele pode não mesmo vender as informações a terceiros para a receita extra (deve ele deseja e tinham os clientes decidido no, é claro). Claramente, Yahoo não ser especialmente interessado em desistir tudo isso e, conseqüentemente, seria necessário alguns incentivos excepcionais para fazer isso.

Agora, imagine em vez disso, que Yahoo é o provedor de identidade. Yahoo pode obter informações sobre o exatamente onde cliente 923071235309342 2 vai na Web porque ele saiba exatamente quais sites solicitam declarações para esse cliente. Yahoo pode compilar dados valiosos em hábitos de navegação do cliente, permitindo anúncios well-targeted extraordinariamente com astonishingly altas taxas de cliques. Para uma organização ad-suportado e especialmente um que está realmente no negócio anúncio próprio, que é uma vantagem competitiva que você apenas não pode conceder backup.

Confiar em identidades originários de outras empresas poderia ser equivalente a desistir enorme oportunidade. Fornecer seu próprio para outras pessoas deve ser saltar sobre ele. Em outras palavras, há um conflito e o resultado é exatamente o que nós está vendo na Web hoje. Em conglomerates, vemos uma identidade universal, e embora todos os principais conglomerates também sejam provedores de identidade, praticamente ninguém depende-los.

Essa análise aponta para uma assimetria fundamental no provisionamento de identidade. Não há valor grande em sendo o provedor de identidade e nenhum valor em todos os no que está sendo a parte confiante. A menos que o mercado pode descobrir maneiras Equalizar os dois, continuaremos ver como muitos provedores de identidade como partes confiantes, com praticamente uma relação 1: 1 entre eles.

Verifique novamente no próximo mês quando eu veremos os princípios restantes nesta série de duas partes.

Jesper M. Johansson é arquiteto de segurança principal para uma empresa de 200 empresas da lista Fortune conhecida, trabalhando em visão de segurança com base em risco e estratégia de segurança. Ele também é editor colaborador da TechNet Magazine. Seu trabalho consiste em garantir a segurança em alguns dos sistemas do mundo maiores, mais distribuídos. Ele contém o título de Ph.d. em sistemas de informações de gerenciamento, tem mais de 20 anos experiência em segurança e é um MVP em segurança da empresa. Seu livro mais recente é o Windows Server 2008 Security Resource Kit.