PT1386215E - Sistema e método para processamento de um código secreto repartido - Google Patents

Sistema e método para processamento de um código secreto repartido Download PDF

Info

Publication number
PT1386215E
PT1386215E PT02766681T PT02766681T PT1386215E PT 1386215 E PT1386215 E PT 1386215E PT 02766681 T PT02766681 T PT 02766681T PT 02766681 T PT02766681 T PT 02766681T PT 1386215 E PT1386215 E PT 1386215E
Authority
PT
Portugal
Prior art keywords
partitions
secret code
partition
secret
computing devices
Prior art date
Application number
PT02766681T
Other languages
English (en)
Inventor
William Whyte
Original Assignee
Betrusted Ireland Limtited
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Betrusted Ireland Limtited filed Critical Betrusted Ireland Limtited
Publication of PT1386215E publication Critical patent/PT1386215E/pt

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Hardware Redundancy (AREA)
  • Communication Control (AREA)

Description

ΡΕ1386215 - 1 -
DESCRIÇÃO
"SISTEMA E MÉTODO PARA PROCESSAMENTO DE UM CÓDIGO SECRETO REPARTIDO"
Domínio da Invenção A presente invenção diz respeito a um sistema e a um método para processamento de um código secreto repartido. Em particular, a invenção refere-se à obtenção de um código secreto repartido a partir de um conjunto de números arbitrários.
Tecnologia Antecedente
Na comunicação "How to Share a Secret", A. Shamir, Communications of the ACM, vol. 22, pp. 612-613, 1979 (Shamir) é feita a descrição de um método através do qual, sendo dados dois números nem, com m<n, um código secreto arbitrário pode ser dividido em n partes (partições), de maneira que quaisquer m das partições resultantes podem ser combinadas para recuperar o código secreto original. A técnica garante que qualquer pessoa que disponha de um número de partições inferior a m não está em melhor situação daquela que se encontraria se não possuísse nenhuma partição. Esta técnica permite igualmente a repartição de um código secreto, de tal maneira que quaisquer m dos n detentores de partições conseguem - 2 - ΡΕ1386215 reconstruir o código secreto sem revelar as respectivas partições.
Fazendo agora referência à Figura 1, que ilustra os princípios envolvidos em maior detalhe, nela se mostra um par de gráficos de funções cúbicas baseadas na fórmula: y = ax3+bx2+cx+d
Convencionalmente, o valor de y para x=0 é considerado como sendo um código secreto, e as partições deste código secreto, compreendendo valores a partir dos quais outros valores de y podem ser derivados, são distribuídas entre n detentores de partições, neste caso n=6, que serão tipicamente servidores com os quais um computador cliente pode estabelecer um contacto seguro. Utilizando equações simultâneas, pode-se provar que, sendo conhecidos quaisquer quatro pontos - digamos (xi,yi); (x2, y2) ; (X3, y3) e (x4,y4) - sobre uma curva, então qualquer outro ponto da curva, incluindo o código secreto, poderá ser determinado, pelo que aqui m=4.
Na comunicação "Server-Assisted Generation of a Strong Secret from a Password", W. Ford and B Kaliski, Proceedings of the IEEE 9th International Workshops on Enabling Technologies: Infrastructure for Collaborative Enterprises, NIST, Gaithersburg MD, June 14-16, 2000 (Ford-Kaliski) - a qual por sua vez vem aperfeiçoar a comunicação "Strong Password-Only Authenticated Key Exchange", D. - 3 - ΡΕ1386215
Jablon, Computer Communication Review, ACM SIGCOMM, vol. 26, no. 5, pp 5-26, October 1996 (Jablon) - é feita a descrição de uma técnica (SPEKE) para recuperação segura de um número a partir de, por exemplo, um servidor remoto, sem revelar uma password ao servidor remoto.
Consequentemente, e fazendo referência à Figura 2, utilizando os conceitos de Ford-Kaliski em combinação com os de Shamir, um utilizador que execute uma aplicação 12 numa máquina cliente 10, na qual ele não queira armazenar, por exemplo, a sua chave privada, poderá armazenar essa sua chave privada sob um formato codificado num servidor remoto para armazenamento de credenciais 20. A chave privada é codificada com um número secreto gerado a partir de partições compreendendo números yq arbitrários, armazenados em servidores Bi...Bn dos detentores de partições.
Utilizando os conceitos de Ford-Kaliski, assim que um código secreto tenha sido construido por um componente gerador 14 de códigos secretos, o utilizador poderá fornecer a sua password à aplicação na máquina cliente, e um componente reconstrutor 16 de códigos secretos da aplicação irá fazer a ligação a todos os n servidores e, sem desvendar a password, irá obter m partições yi, de modo seguro. Os pontos (x±) sobre uma curva, por exemplo uma curva do tipo mostrado na Figura 1, são calculados a partir da fórmula xi = gyimod p, onde g constitui uma versão desordenada da password e p é número - 4 - ΡΕ1386215 primo de 1024 bites. Partindo destes pontos, o valor do código secreto em x = 0 pode ser determinado. Pode então ser realizada a transferência de informação ("download") da chave privada codificada, a partir do servidor de credenciais, e descodificada com o valor do código secreto, permitindo que o utilizador do computador cliente comunique, de forma segura, com outros utilizadores, ou que faça uma correcta autenticação deles próprios para outros dispositivos de uma rede 30, como por exemplo uma LAN, uma Intranet, ou a Internet. Nestas circunstâncias, o sistema poderá, por exemplo, ser usado por caixas de bancos em "hot-desking" que regularmente usam diferentes terminais de computador num balcão de banco, e cujo acesso aos registos bancários tem de ser simultaneamente seguro e/ou autenticado.
Pode ser observado, através da Figura 1, que num sistema m-de-n podem ser armazenadas, em servidores, mais partições do que as necessárias para regenerar um código secreto, assim proporcionando um sistema redundante para o caso de uma falha de comunicações estabelecidas com servidores, até um máximo de (n-m) dos mesmos. No entanto, para que um componente actualizador 18 do código secreto altere este código secreto, não basta que ele seja capaz de regenerar o código secreto; ele terá também de ser capaz de mudar os valores de todas as partições do código secreto. - 5 - ΡΕ1386215
Existem muitos patentes que fazem referência aos trabalhos de Shamir, e integram-se amplamente numa das diversas categorias seguintes:
Patentes que fazem referência aos trabalhos de Shamir, mas não fazem uso de técnicas para repartição de códigos secretos: US5553145; US5629982; US5666420; US6134326; US 6 137 884; e US 6 141 750: Transacções electrónicas simultâneas com verificação de subscritor; US5 812670: Transacções anónimas rastreáveis; e US6 055508: Método para tornar seguras a contabilidade e a auditoria, numa rede de comunicações.
Patentes que divulgam partições do código secreto, para transmissão tolerando falhas: US5 485474: Esquema para dispersão e reconstrução de informação; e US 6 072 159: Método e sistema para transferência de dados sem erros.
Patentes que divulgam técnicas para repartição de códigos secretos, em que o código secreto não é actualizado, como acontece em: US5315658; USRE036918: Sistemas de codificação íntegros ("Fair cryptosistems") e métodos para o seu uso; ΡΕ1386215 - 6 - US5495532: Votação electrónica segura, usando homomorfismos parcialmente compatíveis; US5666414: Consignação de segurança parcial de chave ("key-escrow") garantida; US 5 708 714: Método para repartição de informação secreta e realização de certificação, num sistema de comunicação dispondo de uma multiplicidade de equipamentos para processamento da informação; US5 768388: Consignação de segurança de chave ("key-escrow") desfasada no tempo; US5825880: Método e sistema para assinatura digital multifaseada; US5903649: Método para estabelecimento de uma codificação comum para pessoas autorizadas, através de um serviço central; US 5 991 414: Método e equipamento para um seguro armazenamento distribuído e recuperação de informação; US6 192472: Método e equipamento para um seguro armazenamento distribuído e recuperação de informação; e US6026163: Sistema distribuído para codificação por chave dividida ("Distributed split-key cryptosistem") e aplicações.
Patentes diversificadas, tais como: US 5764767: Sistema para reconstrução de um código secreto repartido, por uma multiplicidade de participantes, que proporciona um mecanismo - 7 - ΡΕ1386215 para actualização de um código secreto repartido, embora todas as localizações onde os códigos secretos são armazenados sejam participantes activos na actualização do código secreto; US5 867578: Sistema de assinatura digital multifaseada adaptável, e método para funcionamento do mesmo, em que as partições mudam mas o valor do código secreto repartido é mantido; e US 6 122 742: Sistema de codificação auto-recuperável e auto-certificável, com chaves de assinatura sem consignação de segurança ("unescrowed signing keys"), que utiliza uma função de repartição, não um código secreto repartido.
Pieprzyk descreve um método para construção de partições num código secreto k, que integra as seguintes etapas: (i) determinação de n partições para um esquema n-de-n para repartição de códigos secretos, em que cada partição consiste num valor y; (ii) armazenamento de, pelo menos, algumas dessas partições em dispositivos de computação, de tal maneira que, pelo menos m daquelas n partições estejam acessíveis, em modo seguro; e (iii) determinação do código secreto repartido k, em conformidade com as ditas partições y.
No entanto, será perceptível que nenhuma das descrições destes documentos possibilita a actualização de - 8 - ΡΕ1386215 um código secreto repartido, sem que se tenha acesso a todos os detentores de partições do código secreto. Esta torna-se uma exigência importante quando os computadores clientes, como os que se ilustram na Figura 2, estão a aceder a servidores de detentores de partições através de ligações não seguras, tais como ligações em rede, ou ligações de comunicação, ou ligações através das quais a largura de banda possa necessitar de ser regulada por intermédio de, por exemplo, um servidor de equilíbrio de tráfego (não mostrado), o que pode impedir ou atrasar indevidamente o acesso de um computador cliente a um servidor de detentor de partições.
Descrição da Invenção
Em conformidade com uma primeira vertente da presente invenção, é proporcionado um método caracterizado pelo facto de m ser menor que n, e pelas seguintes etapas: (i) determinação de (n-m) partições adicionais consistentes com o código secreto repartido k e com as partições y; e (ii) armazenamento das partições adicionais numa localização acessível e segura.
Em conformidade com uma segunda vertente da invenção, é proporcionado um método para reconstrução do referido código secreto, integrado numa rede consistindo num determinado número de dispositivos de computação, cada qual preparado para armazenar, de forma segura, pelo menos uma partição de um código secreto k, sendo requeridas n partições para reconstruir este código secreto, e sendo - 9 - ΡΕ1386215 disponibilizado, para o mesmo fim, um acesso seguro a um número m das mencionadas partições, em qualquer momento; este método inclui a obtenção, em segurança, de m partições provenientes de um ou mais detentores de partições do código secreto, onde se inclui pelo menos um daqueles dispositivos de computação; o método é caracterizado por m ser menor que n e pelas etapas seguintes: (i) obtenção de (n-m) partições provenientes de uma localização acessível, em modo seguro; e (ii) construção do código secreto repartido k, em conformidade com as ditas partições obtidas. É ainda disponibilizado um método para actualização do código secreto, utilizando a segunda vertente da invenção.
Outras vertentes da invenção são incorporadas, sob a forma de equipamentos e programas de computador específicos, para geração, construção e actualização de um código secreto repartido.
Em contraste com a tecnologia antecedente, onde é claramente considerado como essencial que nenhuma das partições de um código secreto seja do domínio público, a presente invenção utiliza partições adicionais, do domínio público, para implementação da invenção.
Na presente invenção, algumas das localizações para armazenamento dos detentores de partições não precisam -10- ΡΕ1386215 tomar conhecimento da ocorrência de uma actualização para um código secreto repartido. Consequentemente, a invenção possibilita as duas operações seguintes: * dados quaisquer números arbitrários n, um código secreto repartido k pode ser construído e ser reconstruído usando quaisquer m desses números, com o auxílio de dados do domínio público guardados num dispositivo para armazenamento de dados; e * o código secreto repartido pode ser alterado sem ter de aceder a todas as partições armazenadas. A invenção torna-se particularmente útil porque deixa de ser necessária a situação em que n números aleatórios irão formar um consistente conjunto de partições m-de-n. Podem no entanto existir situações (como será adiante explicado) onde uma entidade tenha acesso a diversos valores separados, duradouros e aleatórios, mas não se podendo garantir que tenha acesso a todos eles em qualquer momento. Nesta situação, esta invenção permite que a entidade combine os valores provenientes de diferentes localizações de uma maneira tal que, se a entidade não as contactar a todas isso não terá importância; e se um intruso for capaz de interceptar os valores provenientes de um qualquer número de localizações, desde que inferior a m, tal intruso será incapaz de reconstruir o código secreto a partir dos valores interceptados. -11- ΡΕ1386215
Irão agora ser descritas diversas configurações da invenção, a titulo de exemplo, fazendo referência aos desenhos anexos, onde: a Figura 1 ilustra as funções da tecnologia antecedente, baseada em partições de código secreto, para determinação de um código secreto; a Figura 2 ilustra uma rede da tecnologia antecedente, através da qual podem ser acedidas e actualizadas partições de um código secreto repartido; a Figura 3 ilustra funções baseadas em partições de código secreto e numa partição de domínio público, para determinar e actualizar um código secreto em conformidade com a invenção; e a Figura 4 ilustra uma rede através da qual podem ser acedidas e actualizadas partições de um código secreto repartido, em conformidade com a invenção.
Descrição das Configurações Preferidas 0 princípio de funcionamento da invenção é explicado fazendo referência à Figura 3. Considere-se que os pontos (xi,yi); (X2,Y2>; (x3,Y3> e (x4,Y4> correspondem a quatro partições de um esquema 4-de-4 para repartição de códigos secretos, mas se decide que a comunicação só poderá ser estabelecida, em segurança, com, digamos, 3 dos 4 detentores de partições; nestas circunstâncias, é gerada uma quinta partição, de domínio público (χ5,Υ5>/ e armazenada numa localização acessível de forma segura, por exemplo no servidor de credenciais 20' da Figura 4. 0 esquema passa agora a ser um esquema 4-de-5, onde uma das -12- ΡΕ1386215 partições é do domínio público. Assim, quaisquer três das partições secretas podem ser combinadas com a partição do domínio público, para regenerar o código secreto (0, Código secreto original).
Para actualizar o código secreto, são novamente utilizadas quaisquer três das partições secretas obtidas [neste caso (xi,yi); (x2,Y2) e (x4,y4)] em conjunto com a partição do domínio público (xs^ys)^ para determinar o código secreto. O código secreto é então alterado para (0, Novo código secreto) e são actualizados cada um dos valores das três partições secretas, bem como o valor da partição do domínio público (xs,ys), mas deixando inalterado o valor da partição de quaisquer das partições que não foram obtidas, neste caso (X3,y3>.
Desenvolvendo um pouco mais o princípio, se for decidido que a comunicação só poderá ser estabelecida de forma segura através de, digamos, 2 dos quatro detentores de partições, irão então ser geradas duas partições de domínio público e guardadas no servidor de credenciais 20'. O esquema torna-se agora num esquema 4-de-6, onde duas das partições são de domínio público. Nestas circunstâncias, quaisquer duas das partições secretas podem ser combinadas com as partições de domínio público, para regenerar o código secreto.
Será portanto perceptível que, num esquema m-de-n para repartição de códigos secretos, por cada uma das (n-m) -13- ΡΕ1386215 partições em que o cliente não pretenda confiar, para regenerar ou actualizar o código secreto, será gerada uma adicional partição de domínio público, dando assim origem a um esquema n-de-(2n-m), onde (n-m) das partições são de domínio público.
Se bem que os exemplos anteriores pareçam diminuir o nível de segurança, ao reduzir o número de partições secretas requerido desde um ponto de partida com um determinado número de servidores, ir-se-á perceber que qualquer nível de segurança e de redundância poderá ser conseguido, usando a invenção. Assim, ao utilizar a invenção, para qualquer nível de segurança requerido - que é definido pelas m partições de código secreto necessárias - e de redundância - que é definido pelo número de servidores totais menos o das partições (n-m) - serão utilizadas (n-m) partições adicionais dentro de um convencional esquema n-de-(2n-m).
Fazendo agora referência à Figura 4, que ilustra uma implementação exemplificativa da invenção, uma aplicação 12 que é executada no computador cliente 10 tem comunicações estáveis mas não seguras com n dispositivos para armazenamento de dados, por exemplo, os servidores Bi...Bn de detentores de partições, e uma ligação segura mas instável com outro dispositivo S para armazenamento de dados, localizado por exemplo no servidor de credenciais 20' . Cada um dos dispositivos Bi para armazenamento de dados devolve ao computador cliente o valor aleatório yi. -14- ΡΕ1386215
Para conseguir um código secreto, que possa ser reconstruído dados apenas m do yi, um componente gerador 14' de códigos secretos, pertencente à aplicação 12, faz o seguinte: 1. obtém (possivelmente gerando-os) todos os yi; 2. trata os yi como partições num esquema n-de-n, e reconstrói o código secreto repartido k que deles resulta; 3. gera (n-m) partições adicionais, consistentes com k e com os y±; e 4. armazena estas partições adicionais no dispositivo S para armazenamento de dados em segurança.
Para reconstruir o código secreto em subsequentes sessões, o componente reconstrutor 16' de códigos secretos faz o seguinte: 1. obtém as (n-m) partições a partir do dispositivo S para armazenamento de dados em segurança; e 2. contacta com m dos dispositivos Bi para armazenamento de dados, e recolhe um correspondente yi de cada um.
Uma vez que o computador cliente dispõe agora de n das partições, o componente reconstrutor 16' de códigos secretos já pode reconstruir o código secreto k, e assim a aplicação 12 do computador cliente, ou outras aplicações do computador cliente, poderá usar o código secreto para, por exemplo, descodificar a chave privada codificada, para o utilizador da máquina cliente. -15- ΡΕ1386215 A técnica atrás exposta pode ser usada para actualizar o código secreto, mesmo numa situação em que não estejam activos ("online") todos os dispositivos Bi para armazenamento de dados. No procedimento de actualização, um componente actualizador 18' de códigos secretos faz o seguinte: 1. obtém as (n-m) partições a partir do dispositivo S para armazenamento de dados em segurança; 2. contacta com m dos dispositivos Bi para armazenamento de dados, e recolhe um correspondente y± de cada um; 3. reconstrói o código secreto k e deduz, a partir das partições recolhidas y±, os valores das partições para aqueles dispositivos de armazenamento de dados que não responderam; 4. em termos genéricos, entra num processo tal que, no seu final, alguns dispositivos para armazenamento de dados são identificados por terem obtido novas partições y±' a eles associadas, e outros são identificados por apenas terem mantido as antigas partições yi, por exemplo, através de: * geração de qualquer número inferior a n de novas partições yi' e transmissão segura de cada nova partição y±' para o apropriado dispositivo Bi para armazenamento de dados, pedindo a confirmação de que elas foram recebidos; ou * solicitação, a cada dispositivo para armazenamento de dados, para este gerar e devolver uma nova partição yi'; -16- ΡΕ1386215 5. gera um novo código secreto repartido k' utilizando as seguintes partições: * para cada B± que não obteve uma nova partição yi' para ele gerada, ou que é identificado por não ter recebido a y±' que lhe foi enviada, ou que não gerou uma nova partição y±', utiliza a antiga partição y±; * para cada um dos outros Bi, utiliza a nova partição y±'. Isto conduz a um código secreto repartido que é consistente com as partições reconhecidas por cada um dos Bi; 6. gera (n-m) partições adicionais, que são consistentes com os y±' e yi utilizados; e 7. armazena estas partições adicionais no dispositivo S para armazenamento de dados em segurança.
Num exemplo mais detalhado, o esquema para repartição de códigos secretos está baseado no esquema de Shamir, que usa a interpolação polinomial de Lagrange sobre o grupo Z*p, onde p é um número primo de 1024 bites e os números aleatórios são obtidos usando um aperfeiçoamento do esquema de Ford-Kaliski, o qual, por sua vez, já aperfeiçoa a técnica SPEKE de Jablon. O sistema está baseado em dois números primos: p, um número primo grande (tipicamente de 1024 bites) relativamente ao qual é realizada exponenciação modular; e r que é o mais pequeno número primo com 160 bites de comprimento. -17- ΡΕ1386215
Para gerar partições para os servidores de detentores de partições, o componente gerador 14' de códigos secretos gera um número g<p a partir da password fornecida pelo utilizador. Para cada servidor Bi, o componente 14': * escolhe um número aleatório wif com 160 bites de comprimento. * calcula gAwi modp; e * trunca o resultado de modo a ter um comprimento de 159 bites. O resultado obtido é y±, a ser armazenado nos servidores Β±.
Note-se que todos os y± serão menores do que r, e que o computador cliente dispõe agora de n partições y±, com i = l...n. Existe um polinómio f() de grau (m-1) acima do inteiro mod r, que irá passar pelos n pontos (xi( yi) .
Para gerar as partições adicionais, o componente gerador 14' de códigos secretos: * calcula os n coeficientes do polinómio f(); * calcula o valor de f(0). Este é o código secreto repartido; e * calcula o valor de f(i), para i = n+1...2n-m. Estas serão as partições adicionais. Elas podem ser todas armazenadas como números de 160 bites.
Para recombinar as partições, o componente reconstrutor 16' de códigos secretos: -18- ΡΕ1386215 * recolhe yi a partir de m dos Bi - isto é realizado pelo método apresentado por Ford-Kaliski; * recolhe as partições adicionais, numeradas desde n+1 até 2n-m, a partir do servidor adicional S. Isto fornece ao computador cliente n partições no total. Existe um polinómio de grau (n-1) acima do inteiro mod r, que irá passar pelos n pontos (xi, yi) ; e * calcula os n coeficientes deste polinómio f() e depois calcula f(0). Este constitui o código secreto repartido.
Uma vez que o código secreto tenha sido reconstruído, ele poderá ser actualizado como foi previamente indicado.
Se bem que as configurações preferidas atrás descritas sejam ilustrativas da invenção, será compreensível que existam muitas variantes possíveis da invenção.
Por exemplo, não será necessário que as adicionais partições de domínio público sejam armazenadas no servidor 20' afastado do computador cliente 10; apenas se exige que as partições adicionais estejam acessíveis, em segurança, quando o código secreto tiver de ser actualizado. Assim, e a título de exemplo, as partições adicionais poderão estar armazenadas em qualquer meio computacional legível tal como uma disquete, um cartão inteligente ("smart card"), etc. -19- ΡΕ1386215
Como também será compreensível, os componentes 14' , 16' , 18' que incorporam a invenção não precisam de estar todos incluídos na mesma aplicação. Mais especificamente, os componentes gerador e actualizador de códigos secretos podem ser executados em aplicações - ou até mesmo em computadores - independentemente do autónomo componente reconstrutor de códigos secretos.
De forma semelhante, será compreensível que nem todas as partições secretas precisem de ser armazenadas em servidores remotos, somente aquelas - pelo menos m das n partições - que serão acedidas, em segurança, quando o código secreto tiver de ser reconstruído ou actualizado. Assim, por exemplo, as partições do código secreto poderão estar armazenadas em qualquer meio computacional legível tal como uma disquete, um cartão inteligente ("smart card"), etc.
Será igualmente compreensível que a invenção não está estritamente limitada à utilização quer da técnica de Shamir para repartição de códigos secretos, quer da técnica de Ford-Kaliski para obtenção segura de partições de códigos secretos. Assim, por exemplo, não será estritamente necessário que os valores das partições sejam usados para construir um polinómio do tipo utilizado para ilustrar o funcionamento da invenção.
Por último, deverá ser considerado que as reivindicações não ficam estritamente limitadas à sequência ΡΕ1386215 -20- indicada possível, sequência paralelo.
Lisboa, 9 para as etapas características, e que, sempre que a invenção poderá ser implementada sob qualquer , ou até com algumas etapas a serem executadas em de Setembro de 2007

Claims (10)

  1. ΡΕ1386215 - 1 - REIVINDICAÇÕES 1. Um método para construção de partições num código secreto, a ser executado no seio de uma rede consistindo num determinado número de dispositivos de computação, cada qual preparado para armazenar de forma segura pelo menos uma partição de um código secreto k, sendo requeridas n partições para reconstruir este código secreto, e sendo disponibilizado, para o mesmo fim, um acesso seguro a um número m das mencionadas partições, em qualquer momento; o método inclui as etapas de: determinação de n partições a partir de um esquema n-de-n para repartição de códigos secretos, em que cada partição consiste num valor y; armazenamento de, pelo menos, algumas destas partições naqueles dispositivos de computação, de tal maneira que pelo menos m das ditas n partições fiquem acessíveis, em segurança; determinação do código secreto repartido k, em conformidade com as mencionadas partições y; é caracterizado por m ser menor que n e pelas etapas seguintes: determinação de (n-m) partições adicionais, consistentes com o código secreto repartido k e com as partições y; e armazenamento das partições adicionais numa localização acessível, em segurança. -2- ΡΕ1386215
  2. 2. Um método para reconstrução de um código secreto, a ser executado no seio de uma rede consistindo num determinado número de dispositivos de computação, cada qual preparado para armazenar, de forma segura, pelo menos uma partição do referido código secreto k, sendo requeridas n partições para reconstruir este código secreto, e sendo disponibilizado, para o mesmo fim, um acesso seguro a um número m das mencionadas partições, em qualquer momento; o método inclui: obtenção, em segurança, de m partições provenientes de um ou mais detentores de partições do código secreto, onde se inclui pelo menos um daqueles dispositivos de computação; o método é caracterizado por m ser menor que n e pelas etapas seguintes: obtenção de (n-m) partições provenientes de uma localização acessível em segurança; e construção do código secreto repartido k, em conformidade com as ditas partições obtidas.
  3. 3. Um método para actualização do mencionado código secreto, integrando as etapas de: reconstrução desse código secreto k, em conformidade com as etapas da reivindicação 2; dedução, a partir das partições obtidas, dos valores das partições para aquelas (n-m) partições do código secreto que não foram obtidas; -3- ΡΕ1386215 determinação, para cada localização de onde foi obtida uma partição em segurança, de um novo valor de partição y'; determinação de um novo código secreto repartido k', em conformidade com os novos valores das partições y' e com os valores das partições que não foram obtidas; armazenamento de, pelo menos, algumas destas novas partições nos mencionados dispositivos de computação, de tal maneira que pelo menos m destas novas partições e aquelas partições não obtidas fiquem acessíveis, em segurança; geração de (n-m) partições adicionais que sejam consistentes com os valores das novas partições e com os valores das partições não obtidas; e armazenamento destas partições adicionais numa localização acessível, em segurança.
  4. 4. Um método de acordo com a reivindicação 3, em que aquela etapa para determinação de um valor da nova partição y', para cada localização de onde foi obtida uma partição em segurança, inclui as seguintes etapas: geração dessas novas partições y' e transmissão segura de, pelo menos, uma nova partição y' a um dos dispositivos de computação; e solicitação da confirmação de que elas foram recebidos.
  5. 5. Um método de acordo com a reivindicação 3, em que aquela etapa para determinação de um valor da nova -4- ΡΕ1386215 partição y', para cada localização de onde foi obtida uma partição em segurança, inclui: solicitação, a cada localização de onde foi obtida uma partição em segurança, para gerar e devolver, também em segurança, uma nova partição y'.
  6. 6. Equipamento para construção de partições num código secreto e que possa funcionar no seio de uma rede integrando diversos dispositivos de computação (Bi...Bn), cada qual preparado para armazenar, de forma segura, pelo menos uma partição de um código secreto k, sendo requeridas n partições para reconstruir este código secreto, e sendo disponibilizado, para o mesmo fim, um acesso seguro a um número m das mencionadas partições, em qualquer momento; do equipamento fazem parte: (14') meios para determinação de n partições para um esquema n-de-n para repartição de códigos secretos, em que cada partição consiste num valor y; meios para obrigar a que, pelo menos, algumas dessas partições sejam armazenadas nos referidos dispositivos de computação, de tal maneira que, no mínimo, m dessas n partições fiquem acessíveis, em segurança; (14') meios para determinação do código secreto repartido k, em conformidade com as mencionadas partições y; caracterizado por m ser menor que n e por existirem: -5- ΡΕ1386215 meios para determinação de (n-m) partições adicionais, consistentes com o código secreto repartido k e com as partições y; e meios para obrigar a que estas partições adicionais sejam armazenadas numa localização acessível (S), em segurança.
  7. 7. Equipamento para reconstrução de um código secreto e que possa funcionar no seio de uma rede integrando diversos dispositivos de computação (Bi...Bn), cada qual preparado para armazenar, de forma segura, pelo menos uma partição de um código secreto k, sendo requeridas n partições para reconstruir este código secreto, e sendo disponibilizado, para o mesmo fim, um acesso seguro a um número m das mencionadas partições, em qualquer momento; do equipamento fazem parte: meios para obtenção, em segurança, de m partições provenientes de um ou mais detentores de partições do código secreto, onde se inclui pelo menos um dos referidos dispositivos de computação; caracterizado por m ser menor que n e por existirem: (18') meios para obtenção de (n-m) partições provenientes de uma localização acessível (S), em modo seguro; e (18') meios para construção do código secreto repartido k, em conformidade com as ditas partições obtidas. -6- ΡΕ1386215
  8. 8. Um programa de computador para construção de um código secreto, estando este programa de computador preparado para realizar as etapas da reivindicação 1.
  9. 9. Um programa de computador para reconstrução de um código secreto, estando este programa de computador preparado para realizar as etapas da reivindicação 2.
  10. 10. Um método conforme reivindicado na reivindicação 1, em que a etapa para determinação de n partições inclui: a determinação de n números w, possivelmente arbitrários, sendo os mencionados valores y calculados a partir destes números w. Lisboa, 9 de Janeiro de 2007
PT02766681T 2001-04-27 2002-04-18 Sistema e método para processamento de um código secreto repartido PT1386215E (pt)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
IE20010423 2001-04-27

Publications (1)

Publication Number Publication Date
PT1386215E true PT1386215E (pt) 2007-01-31

Family

ID=11042774

Family Applications (1)

Application Number Title Priority Date Filing Date
PT02766681T PT1386215E (pt) 2001-04-27 2002-04-18 Sistema e método para processamento de um código secreto repartido

Country Status (10)

Country Link
US (1) US8718283B2 (pt)
EP (1) EP1386215B1 (pt)
AT (1) ATE342540T1 (pt)
AU (1) AU2002307851A1 (pt)
CY (1) CY1107529T1 (pt)
DE (1) DE60215332T2 (pt)
DK (1) DK1386215T3 (pt)
ES (1) ES2278047T3 (pt)
PT (1) PT1386215E (pt)
WO (1) WO2002088912A2 (pt)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7327847B2 (en) * 2003-01-29 2008-02-05 International Business Machines Corporation Method for distributed computation of RSA inverses in asynchronous networks
US8842835B2 (en) * 2005-10-27 2014-09-23 Cisco Technology Network security system
US7835978B2 (en) * 2005-12-23 2010-11-16 International Business Machines Corporation Method and system for linking an anonymous electronic trade order to an identity of a trader
WO2008001327A2 (en) * 2006-06-30 2008-01-03 Koninklijke Philips Electronics N.V. Method and apparatus for encrypting/decrypting data
JP4302150B2 (ja) * 2007-03-23 2009-07-22 株式会社東芝 データ処理装置及びプログラム
GB2451505A (en) * 2007-08-01 2009-02-04 Iti Scotland Ltd Key distribution in a network using key shares in a secret sharing scheme
GB0805830D0 (en) * 2008-03-31 2008-04-30 British Telecomm Keys for protecting user access to media
US8862889B2 (en) * 2011-07-02 2014-10-14 Eastcliff LLC Protocol for controlling access to encryption keys
US10742634B1 (en) * 2011-12-27 2020-08-11 Majid Shahbazi Methods for single sign-on (SSO) using optical codes
US9230075B1 (en) * 2012-08-31 2016-01-05 Emc Corporation Multi-server authentication using proactivization journaling
US9292671B1 (en) * 2012-08-31 2016-03-22 Emc Corporation Multi-server authentication using personalized proactivization
US8745415B2 (en) * 2012-09-26 2014-06-03 Pure Storage, Inc. Multi-drive cooperation to generate an encryption key
US10623386B1 (en) * 2012-09-26 2020-04-14 Pure Storage, Inc. Secret sharing data protection in a storage system
US11032259B1 (en) * 2012-09-26 2021-06-08 Pure Storage, Inc. Data protection in a storage system
US9654286B2 (en) * 2013-10-04 2017-05-16 Microsoft Technology Licensing, Llc Content gathering using shared key
US9514326B1 (en) 2013-10-15 2016-12-06 Sandia Corporation Serial interpolation for secure membership testing and matching in a secret-split archive
US10263770B2 (en) 2013-11-06 2019-04-16 Pure Storage, Inc. Data protection in a storage system using external secrets
US11128448B1 (en) 2013-11-06 2021-09-21 Pure Storage, Inc. Quorum-aware secret sharing
US9516016B2 (en) 2013-11-11 2016-12-06 Pure Storage, Inc. Storage array password management
US10623468B1 (en) 2014-05-30 2020-04-14 Mbr Innovations Llc Systems and methods for simultaneous electronic file exchange
WO2016135726A1 (en) * 2015-02-25 2016-09-01 Secret Double Octopus Ltd. Method and system for authenticating and preserving the integrity of communication, secured by secret sharing
US9648012B1 (en) * 2015-06-26 2017-05-09 EMC IP Holding Company LLC Automatic propagation of password updates on multiple devices
US11057210B1 (en) * 2015-09-30 2021-07-06 Apple Inc. Distribution and recovery of a user secret
US10084596B1 (en) * 2015-12-08 2018-09-25 EMC IP Holding Company LLC Proactivized threshold password-based secret sharing with flexible key rotation
US10476672B2 (en) * 2016-03-14 2019-11-12 Callware Technologies, Inc Fragmented encryption of a secret
WO2018175262A1 (en) * 2017-03-21 2018-09-27 Tora Holdings, Inc. Secure order matching by distributing data and processing across multiple segregated computation nodes
CN109726563B (zh) * 2017-10-31 2020-11-03 创新先进技术有限公司 一种数据统计的方法、装置以及设备
US10826694B2 (en) * 2018-04-23 2020-11-03 International Business Machines Corporation Method for leakage-resilient distributed function evaluation with CPU-enclaves
EP3804216B1 (en) * 2018-06-05 2023-07-26 HRL Laboratories, LLC System and asynchronous protocol for verifiable secret sharing
US11444779B2 (en) * 2018-08-02 2022-09-13 Paypal, Inc. Techniques for securing application programming interface requests using multi-party digital signatures

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5485474A (en) 1988-02-25 1996-01-16 The President And Fellows Of Harvard College Scheme for information dispersal and reconstruction
US5315658B1 (en) 1992-04-20 1995-09-12 Silvio Micali Fair cryptosystems and methods of use
USRE36918E (en) 1992-04-20 2000-10-17 Certco Llc Fair cryptosystems and methods of use
US5825880A (en) 1994-01-13 1998-10-20 Sudia; Frank W. Multi-step digital signature method and system
EP0695056B1 (en) 1994-07-29 2005-05-11 Canon Kabushiki Kaisha A method for sharing secret information, generating a digital signature, and performing certification in a communication system that has a plurality of information processing apparatuses and a communication system that employs such a method
US5495532A (en) 1994-08-19 1996-02-27 Nec Research Institute, Inc. Secure electronic voting using partially compatible homomorphisms
US5625692A (en) 1995-01-23 1997-04-29 International Business Machines Corporation Method and system for a public key cryptosystem having proactive, robust, and recoverable distributed threshold secret sharing
US6134326A (en) 1996-11-18 2000-10-17 Bankers Trust Corporation Simultaneous electronic transactions
US6137884A (en) 1995-03-21 2000-10-24 Bankers Trust Corporation Simultaneous electronic transactions with visible trusted parties
US6141750A (en) 1995-03-21 2000-10-31 Micali; Silvio Simultaneous electronic transactions with subscriber verification
US5553145A (en) 1995-03-21 1996-09-03 Micali; Silvia Simultaneous electronic transactions with visible trusted parties
NZ500372A (en) 1995-06-05 2001-04-27 Certco Inc Delegated use of electronic signature
DE19538385A1 (de) 1995-10-14 1997-04-17 Deutsche Telekom Ag Verfahren zur Etablierung eines gemeinsamen Schlüssels für autorisierte Personen durch eine Zentrale
US5675649A (en) * 1995-11-30 1997-10-07 Electronic Data Systems Corporation Process for cryptographic key generation and safekeeping
US6026163A (en) 1995-12-13 2000-02-15 Micali; Silvio Distributed split-key cryptosystem and applications
US5812670A (en) 1995-12-28 1998-09-22 Micali; Silvio Traceable anonymous transactions
US6012159A (en) 1996-01-17 2000-01-04 Kencast, Inc. Method and system for error-free data transfer
US5768388A (en) 1996-03-01 1998-06-16 Goldwasser; Shafi Time delayed key escrow
US5666414A (en) 1996-03-21 1997-09-09 Micali; Silvio Guaranteed partial key-escrow
CA2261947C (en) 1996-08-07 2008-11-18 Silvio Micali Simultaneous electronic transactions with visible trusted parties
US5764767A (en) 1996-08-21 1998-06-09 Technion Research And Development Foundation Ltd. System for reconstruction of a secret shared by a plurality of participants
US6035041A (en) * 1997-04-28 2000-03-07 Certco, Inc. Optimal-resilience, proactive, public-key cryptographic system and method
US6122742A (en) 1997-06-18 2000-09-19 Young; Adam Lucas Auto-recoverable and auto-certifiable cryptosystem with unescrowed signing keys
US5991414A (en) 1997-09-12 1999-11-23 International Business Machines Corporation Method and apparatus for the secure distributed storage and retrieval of information
EP0936776B1 (en) * 1998-02-13 2004-05-19 Hitachi, Ltd. A network system using a threshold secret sharing method
US6055508A (en) 1998-06-05 2000-04-25 Yeda Research And Development Co. Ltd. Method for secure accounting and auditing on a communications network
JP4071870B2 (ja) * 1998-08-20 2008-04-02 インターナショナル・ビジネス・マシーンズ・コーポレーション 秘密鍵生成方法
US6587946B1 (en) * 1998-12-29 2003-07-01 Lucent Technologies Inc. Method and system for quorum controlled asymmetric proxy encryption
US6182214B1 (en) * 1999-01-08 2001-01-30 Bay Networks, Inc. Exchanging a secret over an unreliable network
US7003677B1 (en) * 1999-11-01 2006-02-21 International Business Machines Corporation Method for operating proactively secured applications on an insecure system

Also Published As

Publication number Publication date
EP1386215A2 (en) 2004-02-04
ATE342540T1 (de) 2006-11-15
EP1386215B1 (en) 2006-10-11
DK1386215T3 (da) 2007-02-12
DE60215332D1 (de) 2006-11-23
WO2002088912A3 (en) 2003-11-06
WO2002088912A2 (en) 2002-11-07
DE60215332T2 (de) 2007-05-24
ES2278047T3 (es) 2007-08-01
US8718283B2 (en) 2014-05-06
AU2002307851A1 (en) 2002-11-11
CY1107529T1 (el) 2013-03-13
US20040117649A1 (en) 2004-06-17

Similar Documents

Publication Publication Date Title
PT1386215E (pt) Sistema e método para processamento de um código secreto repartido
US10805076B2 (en) Information processing apparatus, server apparatus, and computer program product
EP3465578B1 (en) Methods and systems to establish trusted peer-to-peer communications between nodes in a blockchain network
Fan et al. TraceChain: A blockchain‐based scheme to protect data confidentiality and traceability
CN110149322A (zh) 一种不可逆的动态失效重验重建的区块链加密方法
US10846372B1 (en) Systems and methods for trustless proof of possession and transmission of secured data
Backes et al. Secure key-updating for lazy revocation
JP2021517389A (ja) 双線形写像アキュムレータに基づく認証のためのブロックチェーン実装方法及びシステム
Han et al. An efficient multi-signature wallet in blockchain using bloom filter
CN108810063A (zh) 一种多云存储环境下数据的安全分发和修复方法、系统及介质
RuWei et al. Study of privacy-preserving framework for cloud storage
Nithya et al. Identity‐Based Public Auditing Scheme for Cloud Storage with Strong Key‐Exposure Resilience
Falk et al. Durasift: A robust, decentralized, encrypted database supporting private searches with complex policy controls
Kavuri et al. An improved integrated hash and attributed based encryption model on high dimensional data in cloud environment
CN108494552A (zh) 支持高效收敛密钥管理的云存储数据去重方法
Kieselmann et al. k-rAC: A Fine-Grained k-Resilient Access Control Scheme for Distributed Hash Tables
CN104935582B (zh) 大数据存储方法
Koga et al. A distributed online certificate status protocol with a single public key
Park et al. A symmetric key based deduplicatable proof of storage for encrypted data in cloud storage environments
Zhang et al. Verifiable local computation on distributed data
Hiremath et al. Homomorphic authentication scheme for proof of retrievability with public verifiability
Li et al. Searchable Proxy Re-Encryption Data Sharing Scheme Based on Consortium Chain
CN111106941B (zh) 以时序和加密为基础的分布链式数据共享授权方法
Pujol et al. Dog ORAM: A distributed and shared oblivious RAM model with server side computation
Wang et al. A new VRSA‐based pairing‐free certificateless signature scheme for fog computing