Inspeção de segurança Idéias sobre identidade, parte 2

Jesper M. Johansson

Conteúdo

Ser plataforma não reconhece
Trabalhar bem com Framework Cognitive do usuário
Garantia de identificação bidirecional
Permitir que o usuário para fornecer declarações com um nível de garantia adequado para o serviço fornecido
Focalizar a consistência de declarações em oposição a uma identidade canônico
Não misturar níveis de confiança
Não violar leis ou regulamentos — ou expectativas
Permitir que todos os atributos de voltados para o usuário a ser modificado ou excluído
Resumo

No mês passado, eu embarcou na tarefa um pouco desanimador de descrever sistemas de identidade e, em particular, por que nós ainda don’t têm um setor um padrão. Primeiro, eu defi ned que identidade realmente é e por que nos interessa identidades em sistemas digitais. Em seguida, abordei os problemas com identidade — particularmente, o fato de que todos temos não apenas um identidade, mas muitos. Em seguida, mencionei que se você não acredita que você tem suficiente, você pode sempre criar ou comprar, mais alguns.

Conforme discutido, isso cria um problema na autenticação porque achamos que normalmente de identidade como uma identidade ontological — uma representação de uma pessoa real, física. Na maioria dos sistemas, esse relacionamento é uma complicação desnecessária. A maioria das identidades não precisam ser representativo da entidade do mundo real que identificam ou até mesmo identificam qualquer entidade de mundo real em todos os — na verdade, geralmente é indesejável para que eles fazê-lo.

Finalmente, abordei como funciona a autenticação — especificamente, que a parte realmente interessante acontece no sistema socio técnico em que o consumidor de algum serviço fornece prova de identidade. Observei que um sistema de identidade digital bem-sucedido deve atender a determinados critérios e estar de acordo com um conjunto de princípios básicos. Na parte 1, abordei como primeiro dois princípios: "O provedor de identidade é menos confidencial como a parte confiante mais confidencial" e "permitir a empresa para proteger seus relacionamentos com clientes e para o proprietário e controlar informações que ele considere como comerciais confidencial". Aqui, na parte II, concluir a série abordando princípios adicionais que devem atender aos sistemas de identidade digital bem-sucedida.

Ser plataforma não reconhece

Porque eles estão na empresa fazer dinheiro, empresas irão atender seus clientes. Eles vai se esforçar para reduzir a quantidade de "conflito" necessário para o cliente entregar suas dólares rígido acumulado. Qualquer empresa inteligente evitará fazer requisitos de seus clientes que reduzem a probabilidade do cliente de ficar um cliente, nem qualquer requisito que reduz a base de clientes. Que significa que não comerciais importantes usará uma solução de identidade que exclui alguns de seus clientes sejam capazes de gastar dinheiro na empresa. Da mesma forma, não comerciais racional será para implementar uma solução de identidade que requer a seus clientes ir para comprimentos extras instalar novos softwares ou componentes para usá-lo.

Será feita uma decisão de implementação semelhante para uma solução de identidade que funciona para apenas um subconjunto dos clientes. Digamos que tal solução custa US$ 5 milhões para implementar. Vamos dizer também que o dinheiro livre fluxo para a empresa — a proporção da sua receita não consignada para qualquer projeto de desenvolvimento atual — é 7 % do seus receitas brutas. Nesse caso, a empresa precisará gerar um milhão de 71.5 $ adicionais em receitas da solução apenas para cobrir o custo da implementação. Que é um número significativo, principalmente se ele fornece apenas uma solução de forma incremental aperfeiçoada para um subconjunto de clientes. Existe teria que ser um impacto measureable para a segurança desses clientes para justificar a ele. Alguns, se houver, soluções de identidade atenderá esses requisitos.

Trabalhar bem com Framework Cognitive do usuário

Por fim, um sistema de identidade que as pessoas uso deve trabalhar dentro a estrutura cognitiva humana. Surpreendente como ela pode parecer, seres humanos não evoluir para lidar com sistemas de identidade digital. Nem poderia parecer, foram eles particularmente inteligentemente criados para fazer isso. Muitos scholars em ciência cognitiva solicitar que o cabeamento fundamental de seres humanos foi projetado para lidar com vida em um cave foraging de alimentos (e parceiros) e tentando sobrevivem a ataques por toothed namely gatos. Sem dúvida, humanidade gastou muito mais vida em caves que em baias e comunicação muito mais com sinais rápido (smoke test) que electrons. Na vida cave, tivemos de pouco uso para identidades digitais e, conseqüentemente, nós não evoluir com cabeamento voltado especificamente para noções básicas sobre eles.

Conseqüentemente, nosso modelo mental do mundo não incluir o gerenciamento centenas de identidades digitais para proteger transações eletrônicas. No entanto, é perfeitamente razoável pressupor que as pessoas tinham usar palavras do código enquanto que em caves. Certas palavras provavelmente tinham um significado especial e obtive resultados especiais. " Por favor"provavelmente tinha algum tipo de antecessor falar em caveman, apenas para mencionar um.

Não Estou dizendo que usar palavras de código ou o equivalente atual — senhas — é a maneira razoável somente para autenticar uma identidade digital. Estou dizendo que se a maioria dos usuários é aceitar o sistema de identidade digital, ele deve não exigi-los para alterar seu modelo cognitivo do mundo. Os modelos de cognitivas são amplamente hard-wired. Nós certamente pode lidar com sistemas que não se ajustarem com modelos cognitivas — mas fazer assim tem um custo: estresse, frustração e irritação. Usando como um sistema teria que incluem um benefício que supera o custo desses fatores. Por outro lado, um sistema intuitivamente óbvio receberá níveis superiores de adoção, mesmo que ele fornece menos outros benefícios.

Garantia de identificação bidirecional

Entre os aspectos mais importantes de um sistema de identidade digital — e outra que, infelizmente, não é bem compreendido pelos usuários de tais sistemas — é a identificação de terceira parte confiável e/ou provedor de identidade para os usuários finais. A terceira parte confiável — ou o mais comum, o provedor de serviços — freqüentemente implicitamente é confiável para os usuários finais. É por isso que ataques de phishing — ou seja, roubar uma identidade por apresentando como um parceiro confiável — forem tão incrivelmente bem-sucedidas. Ele não levar muito enganar um número suficiente de usuários para revelar seus segredos.

Um sistema de identidade digital bem-sucedido deve permitir que todas as partes para se autenticarem de maneiras que ajustar o modelo de percepção do usuário do sistema. Infelizmente, esse aspecto crucial do sistema geralmente é ignorado pelos provedores de serviço. Em minha série de "segurança é sobre senhas e cartões de crédito", eu ilustrado como uma empresa de cartão de crédito popular ativamente se recusa a identificar-se para você antes de autenticar para ele. Quando este texto, ele me dá não prazer ao relatório que Discover ainda se recusa a mostrar uma identidade digital de um usuário antes de solicitar o usuário seja autenticado. Se você for para o Discover Card site, você vai ser redirecionado e fornecer seu nome de usuário e senha sem qualquer oportunidade de verificar que você não está enviando suas credenciais para um site de phishing. Somente um pode saber quantas contas de descobrir tem sido comprometidas porque cardholders foram condicionado ao provedor de seus nomes de usuário e senhas para qualquer pessoa que solicita.

Por outro lado, é impossível argumentar que o SSL foi um componente dos sistemas de identidade digital bem-sucedido. O fato de que ele permite que a autenticação do usuário é praticamente desconhecido, pelo menos para os usuários. O fato de que ele foi projetado principalmente para provar a identidade do servidor é ignorado por muitos provedores de serviço. Em vez disso, SSL é usado como um mecanismo de troca de chave caro e como uma fonte primária de receita para empresas que emitir os certificados que ninguém incomode inspecionar. Como atualmente implementado, SSL está falhando como um componente em sistemas de identidade digital. Ele não funciona com modelos de percepção do usuário e enquanto ele permite que provedores de serviços para se identificar, essa identificação é apresentada aos usuários finais tão mal que a maioria não entender como usá-lo.

Um sistema de identidade digital de ponta a ponta bem-sucedido deve fazer identificação de ambas as partes para a transação parte integral do fluxo de trabalho a autenticação. No entanto, um sistema de identidade digital deve primeiro e foremost soluciona o problema de identidade digital. Gerenciamento de identidades digitais, atualizando identidades digitais, armazenamento de identidades digitais, transmitir declarações provar identidades digitais, verificando identidades digitais e conceder acesso apropriado para identidades digitais são todos os problemas que são difíceis por conta própria. Se um sistema de identidade digital pode ser usado para solucionar outros problemas também, que é um bônus — mas ele não deve ser entre os objetivos de design do sistema.

Um exemplo perfeito é phishing. Phishing é um problema humano, não um digital-identity um. Seres humanos, não as tecnologias de ataques de phishing. Por fim, a única solução para phishing será ajudar as pessoas tomar decisões de segurança mais inteligentes. Um sistema de identidade certamente pode fazer isso, mas não às custas do objetivo principal como um sistema que é ajudam os usuários e serviço os provedores se identificam uns aos outros.

Permitir que o usuário para fornecer declarações com um nível de garantia adequado para o serviço fornecido

A maioria dos usuários usam muitos serviços de informações diferentes. Alguns serviços fornecem informações altamente confidenciais, como contas de contas bancárias ou economia de aposentadoria. Alguns fornecem informações que podem ser confidenciais em alguns casos, como email. Outros fornecem informações de valor a reputação de usuários, como sites de rede social. Ainda outros fornecem informações que não esteja em todos os confidenciais, como site de suporte técnico de um fornecedor de software.

Ainda assim, apesar dos diferentes níveis de sensibilidade envolvido com esses serviços, muitos tentar usar a mesma identidade. Por exemplo, a mesma identidade que usar para acessar meu email é solicitada sempre que tentar obter informações de produto a partir do meu fornecedor de software; se eu optar por fazer isso, eu poderia gerenciar minhas informações bancárias com a mesma identidade. Creio que meu email tem um valor significativo; minhas informações bancárias definitivamente faz. Informações de produto de software? Não muito. Porque facilmente, foi possível obter um vendedor para imprimir check-out e até mesmo unidade 30 milhas entregá-lo todos os, considero essas informações para praticamente não têm valor algum.

Esse tipo de uso sobrecarregado de credenciais é endemic aos sistemas de identidade. Ele é chamado "single sign-on." Em algumas maneiras, single sign-on é um conceito interessante. Em um ambiente empresarial, ele tem valor comercial grande e, se ainda não estiver disponível, ele deve ser adicionado à agenda agora. Fora da empresa, onde nós lidamos com informações de valor muito diferentes, single sign-on é perigoso. Se movimentado para seu newsstand e o vendedor solicitado duas formas de identidade antes de você foram permissão para comprar o papel da manhã, você certamente gostaria objeto, mas a mesma solicitação feita antes que você pode retirar $ 2.000 de sua conta bancária ou de unidade fora de um carro novo não aumentar seus sobrancelhas.

A mesma separação de declarações deve ter suporte um sistema de identidade digital bem-sucedido. Os usuários devem ser capazes de apresentar um conjunto de credenciais apropriados para o nível de risco representado pelos dados ou serviços que eles arerequesting.

Single sign-on não é em sistemas de identidade digital amplamente usados apropriado. É certamente aceitável usar single sign-on para acessar o próprio sistema, mas as credenciais reais apresentado para a terceira parte confiável — o provedor de serviços — deve ser proporcional com o serviço que o usuário está recebendo. Por esse motivo, é altamente provável, que, que formam um sistema de identidade digital bem-sucedido, ele oferecerá suporte a um sistema de identidade de duas camadas: uma camada para entrar no sistema de identidade digital próprio e outra para identificar, na verdade, o usuário a terceira parte confiável. Um sistema que fornece esse recurso bem é InfoCard sistema da Microsoft.

Melhor ainda, um bom sistema de identidade digital deve tornar fácil para o usuário enviar um conjunto de declarações definidas para um serviço para esse serviço, mas avisar o usuário ao enviá-las para outro serviço. Em outras palavras, o sistema de identidade digital deve ajudar os usuários a identificar os provedores de serviço que estão tentando acessar.

Focalizar a consistência de declarações em oposição a uma identidade canônico

Um sistema de identidade digital bem-sucedido deve respeitar a pessoa para a direita para privacidade. Embora a expectativa de privacidade exata bastante difere entre culturas, o desejo geral humano para privacidade, no entanto, ele é definido, é inquestionável. Você mesmo pode chamar uma necessidade humana inata de privacidade. Ele pode facilmente ser considerado uma necessidade de segurança, na hierarquia de Abraham Maslow das necessidades mostrado na Figura 1 . Maslow, escrita em pre-Internet vezes, pode simplesmente ter excluídos-lo como privacidade não quanto de um problema em 1943.

fig01.gif

A Figura 1 hierarquia ’s Maslow de necessidades

Se nós aceitar privacidade como uma necessidade humana, ou pelo menos um desejo, pode discutir que precisam no contexto de um sistema de identidade digital. Considere, por exemplo, um sistema, como um quadro de discussão sobre seu hobby favorito. Como a maioria dos quadros de discussão exigem autenticação; em outras palavras, implementam um sistema de identidade digital. Que identidade você usa para esse quadro? Você usa seu nome real ou você ir um identificador de origem, como "Deep Diver 13"? A maioria de nós provavelmente usa algum tipo de apelido. Exigir que nós registrar um número de telefone válido e endereço residencial para esse fim deve provavelmente ser considerado uma violação de privacidade. Exigir que nós usar uma identidade digital que mapeia para nossa pessoa física e que também mapeia para nossos registros de integridade, certamente será considerado uma violação de privacidade.

Geralmente já disse que, para a maioria dos fins, sistemas de identidade digital precisam só se preocupar com um usuário pode estar consistente. Um usuário não precisa vincular um determinado sistema a identidade digital para uma identidade física ou mesmo para uma identidade digital usado em outro sistema. Os usuários não conseguirá ocultar suas identidades verdadeiras e ocultar links para outros sistemas, se no mesmo nível de sensibilidade ou outros, usando diferentes identidades digitais.

O sistema, em essência, deve concentrar na consistência de declarações apresentados pelo usuário, em vez de em ligação essas declarações para uma identidade canônica, normalmente ontological. Desde que o mesmo conjunto de declarações é apresentado, o usuário deve ser aceitas e para a maioria das finalidades, que é todo o sistema exige. Veja um site de varejo, por exemplo. O varejista realmente não precisa preocupar que um usuário, na verdade, é, a menos que as leis que regem a transação necessitam dele. O varejista precisa cuidado somente sobre se os usuários podem apresentar o mesmo consiste hoje como quando eles configurar suas contas e se seus métodos de pagamento ainda funcionam. Na maioria dos casos, que é suficiente para fazer uma transação bem-sucedida. Muitos sistemas de identidade overdo a parte "identidade" e tentarem vincular identidade a uma pessoa, ao contrário de um usuário.

Talvez ainda mais importante do que fornecer ao usuário a capacidade de proteger identidade ontological é a capacidade para facilitar a fabricar identidades. Um sistema de identidade digital é, afinal, apenas software. Muito facilmente ele pode ajudar usuários gerenciar identidades para maximizar a privacidade do usuário. Um sistema de identidade digital que implementa essa capacidade significa muito mais chances de sucesso daquele que ignora a ele.

Não misturar níveis de confiança

Um recurso interessante dos sistemas de identidade digital é que geralmente exigem uso de um provedor de identidade que difere do provedor de serviços. Se a confiança que o usuário coloca no provedor de serviço não coincidir com o nível de confiança colocado no provedor de identidade, há discord óbvia. Se o usuário confia o provedor de serviços, mas não o provedor de identidade que usa o provedor de serviços, o usuário pode ser relutante usar o provedor de serviço por esse motivo. Um exemplo interessante onde isso pode ocorrer é Expedia.com. Anteriormente uma subsidiária, Expedia usa o Microsoft Passport, agora Windows Live ID, para autenticação, como mostrado na Figura 2 .

fig02.gif

Figura 2 dá suporte a Expedia entrar com o Windows Live ID.

Agora vamos dizer que um usuário confia Expedia, mas não o Microsoft. Se Expedia necessário o uso do Windows Live ID (que não) que o usuário seria disposto a usar Expedia? Talvez. Talvez não. Que o caso esteja, o usuário é capaz de usar uma identidade Expedia em Expedia em oposição a um Windows Live ID um, e alguns usuários talvez prefira que.

Obviamente, o mesmo problema de confiança vai outra maneira. Se um usuário confia no Microsoft, mas não Expedia, o usuário talvez use Expedia se ele requer o uso de Windows Live ID. Talvez o usuário usou o Windows Live ID para fins altamente confidenciais, como proteger informações de conta bancária por meio do MSN Money. Nesse caso, alguns usuários podem ser relutantes usar o mesmo Windows Live ID que protege suas informações de conta bancária para as reservas de viagem de catálogo.

Esta propriedade de um sistema é muito parecido com o item anterior sobre a necessidade de declarações de acordo com a confidencialidade das informações que eles protegem. Em poucas palavras, o usuário deve confiar em determinadas partes em qualquer transação, mas a extensão para o qual essas partes são confiáveis pode ser diferentes. Mistura de confiança níveis é provável que forneça aos usuários motivos desconfiar o sistema.

Não violar leis ou regulamentos — ou expectativas

Alguns problemas no gerenciamento de informações de segurança hoje são tão irritante como conformidade legal e normativas. Enquanto muitos profissionais de segurança provavelmente não deseja pensar advogados como seus amigos melhores, advogados estão se tornando absolutamente necessários para a causa. Privacidade é uma questão de lei e regulamentação, e essas leis e normas diferem em jurisdições diferentes.

Isso gera um problema interessante. Digamos que um determinado sistema de identidade digital é recrutamento ativamente partes confiantes. As declarações de identidade obter pegou por uma terceira parte confiável que fornece informações que não seja muito confidenciais, como acesso a um fórum de discussão. A terceira parte confiável fornece um nível de segurança para as declarações de identidade proporcional com a confidencialidade das informações servem — em outras palavras, muito pouco. Agora digamos que o provedor de identidade assina um contrato com uma agência de relatório de crédito e conseqüentemente modifica o pacote de declarações para incluir um número de identificação nacional ou alguns representação dele. Essa nova declaração, de repente, é transmitida para o quadro de discussões. Protocolos de segurança do quadro de discussão não fornecem o nível de segurança necessário para essas informações, portanto, ele pode violar várias leis e regulamentações.

Esses problemas geralmente simples para solucionar e se os princípios restantes são seguidos, é improvável que esse ser violada, mas ainda é uma consideração importante. Da mesma forma, os sistemas de identidade digital que são usados em bordas nacionais devem ser confidenciais regras diferentes. Pedir a um determinado tipo de informações de identificação pode ser perfeitamente legítima em uma jurisdição; pedir o mesmo lugar de informações podem ser ilegal ou sujeito regulamentação.

Por exemplo, pedir age como parte de um sistema de identidade digital faz o provedor de identidade sujeitos a privacidade proteção ato de crianças nos EUA e leis semelhantes em outras jurisdições. Se um provedor de identidade disponibiliza essas informações para qualquer confiante não solicitá-lo, o requisito de conformidade é transferido para que parte confiante, mesmo que ele não queira que as informações. Obviamente, é fundamental que um sistema de identidade digital é capaz de respeitar esses tipos de leis e regulamentações e não colocar qualquer pessoa na violação.

Permitir que todos os atributos de voltados para o usuário a ser modificado ou excluído

Finalmente, um sistema de identidade digital deve colocar os usuários no controle de seus próprios dados. Isso é, talvez mais controversos de todos os princípios. Os provedores de identidade normalmente exiba as informações que coletar como dados comerciais. Os usuários, por outro lado, considere seus nomes, endereços e outras informações seu pessoal propriedade para usar como consulte ajustar, que pode incluir revogando alguém está certo para que ele.

Claramente, práticas atuais já rejeitar direitos de usuários para controlar completamente o acesso a suas informações; qualquer pessoa que tentou obter um dos três Estados Unidos agências de relatório de crédito para excluir informações pessoais podem ateste isso. Mesmo se essa informação está documentada como incorreta, agências relatórios de crédito são geralmente felizes manter vendê-lo. Precisão e a aprovação pela entidade dos dados é irrelevante. Discutir ethics de um sistema em que outra pessoa tem permissão para tirar proveito da suas informações de identificação sem seu consentimento está além do escopo deste artigo, mas para um sistema ser amplamente aceito por usuários, um sistema de identidade digital não deve colocar informações de usuários além do seu controle.

Isso significa que todas as informações devem ser modificadas, incluindo aspectos como nomes de usuário. Um tipo muito comum de nome de usuário é um endereço de email. Apesar do fato de que usando um endereço de email como um identificador pode violar alguns dos princípios separação discutidos anteriormente, ele também faz sentido usar um endereço de email como um identificador porque ele é garantidas como exclusivas. No entanto, também é uma entidade mutável e outra pessoa geralmente é concedida a um endereço de email usado anteriormente. Que significa que o sistema de identidade deve não permitir somente um usuário para modificar sua própria identificação de usuário se ele é um endereço de email, mas também que o sistema deve lidar com problemas que ocorrem quando novos usuários pegar endereços antigos. O que aconteceria se um novo usuário tentou o recurso de senha esquecida e recebeu acesso a informações da conta do outro usuário? Isso provavelmente não é ideal. Encerrar um endereço de email é um caso de uso perfeitamente válido. O sistema de identidade digital precisa lidar com esse contingência bem como com outras alterações nas informações, como nomes.

Resumo

Claramente, sistemas de identidade digital são bem complicados. Não só são eles complicado para criar, como já sabíamos, mas os princípios precisam obedecer seja bem-sucedido amplamente são complexos de bem. Nós pode desenhar duas conclusões desta discussão. Sistemas de identidade digital, primeiro devem ser simplificados. Passamos vários anos tentando criar sistemas que funcionam em torno de usuários, não por meio de usuários. Sistemas de identidade digital devem fornecer os usuários com controle de suas informações sem fazer solicitações indevidas deles. No final extremo, eles devem oferecem suporte a usuários que desejam ser anônima. Da mesma forma, eles não devem exigir empresas para fazer mais sobre a implementação do sistema que o sistema que vale a pena.

Segundo, identidade digital sistemas devem fornecer identificação serviços que são apropriados à maneira como eles são usados. Eles devem fornecer para vários níveis de declarações para suportar o nível de garantia necessários para os sistemas que essas declarações estão sendo usadas para autenticar. Em outras palavras, na Internet como um todo, single sign-on provavelmente será apropriado apenas para o sistema usado para gerenciar identidades — ele não será a identidade propriamente dito.

Se nunca veremos uma única, sistema muito bem-sucedidas que atenda a todos esses princípios permanece para ser visto. A maioria das pessoas concorda que nós não ainda existe.

Jesper M. Johansson é o principal arquiteto de segurança para uma empresa Fortune 200 conhecida, trabalhando em segurança com base em risco visão 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 maiores, mais distribuídos no mundo. Ele possui Ph.d. em sistemas de informações de gerenciamento, tem mais de 20 anos de experiência em segurança e é um Microsoft Most Valuable Professionals em segurança corporativa. Seu livro mais recente é Windows Server 2008 Security Resource Kit (Microsoft Press, 2008).