Author

Topic: Seed encriptada no blockchain, será seguro? (Read 177 times)

hero member
Activity: 1274
Merit: 681
I rather die on my feet than to live on my knees
Essa ideia não é má. Até podem ser imagens das palavras da seed, numeradas. Mas, numeradas de uma forma, que só você sabe.
Mas, esse método acredito que alguém já tenha usado. Alguém leu algo a respeito?
É bem trivial colocar dados de informação dentro de uma imagem ou arquivo. Na verdade é uma prática bem comum nos desafios de criptografia e ARGs (aqueles jogos de realidade alternativa, onde se mistura realidade com ficção).

Na época do Cicada3301, sua primeira falsa pista era uma mensagem dentro da imagem que levava para uma outra imagem:  https://www.boxentriq.com/code-breaking/cicada-3301-first-puzzle-walkthrough

Não vejo problema em colocar a seed de forma criptografada na blockchain, para ser honesto. Significa que você tem fácil acesso redundante a ela independente do tempo e ninguém vai conseguir ela sem a senha.

Em um servidor terceiro ele pode se desligar ou se perder.

Olha, a propósito de guardar info em imagens, eu sabia que já tinha visto algo sobre isso por aqui pelo forum. Acabei de passar por essa thread no forum global de Bitcoin no seguinte link:
https://bitcointalksearch.org/topic/storing-private-keys-with-colors-how-safe-is-this-5459371
legendary
Activity: 1862
Merit: 5154
**In BTC since 2013**
Aqui já começam os riscos. Não dá pra encriptar na mão né, então voce terá que digitar a seed num computador (provavelmente online, mas preferencialmente offline).

Pois, este é o ponto chave de todo este processo. Mas, isto a pessoa tem de fazer com calma e fazer tudo da forma mais correta possível.

Usar o Ubuntu pode ser uma boa solução. Fazendo numa instalação limpa, e sem ligação a net.

Que outras ferramentas, seguras, existem para o efeito?
legendary
Activity: 2352
Merit: 6089
bitcoindata.science
E para encriptação da seed, que ferramenta utilizariam?

Aqui já começam os riscos. Não dá pra encriptar na mão né, então voce terá que digitar a seed num computador (provavelmente online, mas preferencialmente offline).

O ideal é você codificar uma string (a seed). Nesse caso, a melhor forma seria por linha de código usando a linguagem que voce tenha mais familiaridade e segurança.

No Ubuntu:

Code:
$ seed=$(echo "minha seed" | openssl enc -e -des3 -base64 -pass pass:bitcoin -pbkdf2)

No caso, a senha é "bitcoin". Isso gera o seguinte hash pra voce colocar no blockchain ou qq outro lugar

Code:
$ echo $seed
U2FsdGVkX1+r16c9VIcQmGnlOARCUd+5eDHAuScDIQY=

E agora pra voce decodificar:

Code:
$ echo "U2FsdGVkX1+r16c9VIcQmGnlOARCUd+5eDHAuScDIQY=" | openssl enc -d -des3 -base64 -pass pass:bitcoin -pbkdf2

Isso da o seguinte output:
Code:
minha seed

fonte: https://stackoverflow.com/questions/33718005/how-to-encrypt-and-decrypt-a-string-text-in-shell-linux-environment
legendary
Activity: 1862
Merit: 5154
**In BTC since 2013**
O que é mais fácil, lembrar 12-24 palavras ou 6 dígitos? O último bloco minerado foi o 799016.

Quanto à transação, dá pra gerar e usar um endereço vanity que facilite a sua identificação e/ou um valor específico. São algumas variáveis extras mas nada demais.

Sim, é mais fácil lembrar o numero do bloco.
Mas, terá centenas de transações. Qualquer das formas, sabendo o bloco, depois será uma questão de paciência para encontrar, caso a pessoa não tenha memorizado a transação.

E para encriptação da seed, que ferramenta utilizariam?
legendary
Activity: 2758
Merit: 6830
Não vejo problema em colocar a seed de forma criptografada na blockchain, para ser honesto. Significa que você tem fácil acesso redundante a ela independente do tempo e ninguém vai conseguir ela sem a senha.

Em um servidor terceiro ele pode se desligar ou se perder.

Exato. Mas, como é que se podia fazer para não esquecermos em que bloco/endereço esta a seed guardada?
O que é mais fácil, lembrar 12-24 palavras ou 6 dígitos? O último bloco minerado foi o 799016.

Quanto à transação, dá pra gerar e usar um endereço vanity que facilite a sua identificação e/ou um valor específico. São algumas variáveis extras mas nada demais.
legendary
Activity: 1862
Merit: 5154
**In BTC since 2013**
Não vejo problema em colocar a seed de forma criptografada na blockchain, para ser honesto. Significa que você tem fácil acesso redundante a ela independente do tempo e ninguém vai conseguir ela sem a senha.

Em um servidor terceiro ele pode se desligar ou se perder.

Exato. Mas, como é que se podia fazer para não esquecermos em que bloco/endereço esta a seed guardada?
legendary
Activity: 2758
Merit: 6830
Essa ideia não é má. Até podem ser imagens das palavras da seed, numeradas. Mas, numeradas de uma forma, que só você sabe.
Mas, esse método acredito que alguém já tenha usado. Alguém leu algo a respeito?
É bem trivial colocar dados de informação dentro de uma imagem ou arquivo. Na verdade é uma prática bem comum nos desafios de criptografia e ARGs (aqueles jogos de realidade alternativa, onde se mistura realidade com ficção).

Na época do Cicada3301, sua primeira falsa pista era uma mensagem dentro da imagem que levava para uma outra imagem:  https://www.boxentriq.com/code-breaking/cicada-3301-first-puzzle-walkthrough

Não vejo problema em colocar a seed de forma criptografada na blockchain, para ser honesto. Significa que você tem fácil acesso redundante a ela independente do tempo e ninguém vai conseguir ela sem a senha.

Em um servidor terceiro ele pode se desligar ou se perder.
legendary
Activity: 2352
Merit: 6089
bitcoindata.science
Enfim, pode ser uma solução mas não vejo pq botar no blockchain.  Bota no seu Google drive então, já q tá criptografado. 

Depois entramos naquele "pânico" que o Google é o papão dos nosso dados.
Mas, em vez de colocar a seed num Google Drive, poderia colocar o bloco onde se encontra a seed lá. Até poderia colocar na mesma lista 5 ou 6 blocas, onde você sabia que o segundo da lista era o da seed (por exemplo).

Mas você está sugerindo botar a seed num local público (blockchain)
Lá qq um tem acesso aos seus dados.

No Google drive o acesso é infinitamente mais restrito. Só um hacker ou um algoritmo do Google vão ver seu arquivo criptografado.

hero member
Activity: 1274
Merit: 681
I rather die on my feet than to live on my knees
Enfim, pode ser uma solução mas não vejo pq botar no blockchain.  Bota no seu Google drive então, já q tá criptografado. 

Depois entramos naquele "pânico" que o Google é o papão dos nosso dados.
Mas, em vez de colocar a seed num Google Drive, poderia colocar o bloco onde se encontra a seed lá. Até poderia colocar na mesma lista 5 ou 6 blocas, onde você sabia que o segundo da lista era o da seed (por exemplo).



E em vez de gravar a seed na blockchain, não seria mais interessante um algoritmo que "misture" a seed, por exemplo nos pixels de uma imagem, sem alterar a imagem a olhos vistos? Como trazemos sempre milhares de imagens connosco diariamente nos nossos telefones, a seed estaria mais ou menos bem disfarçada e dificilmente alguém iria pensar que poderia estar embebida numa imagem, nem tão pouco se saberia em que imagem. Ou até espalhar a seed por várias imagens. Claro que depois essas imagens teriam que ser impedidas de serem alteradas/movidas/apagadas, etc e teria sempre que haver backup para o caso de haver corrupção delas ou de pelo menos uma delas!

Essa ideia não é má. Até podem ser imagens das palavras da seed, numeradas. Mas, numeradas de uma forma, que só você sabe.
Mas, esse método acredito que alguém já tenha usado. Alguém leu algo a respeito?

Eu acho que já vi algo a pôr em prática o conceito. Mas nem sei se era no contexto de esconder passwords ou informação sensível. Não há esses filtros da tanga dos Instagrams e companhia que alteram a imagem da pessoa em tempo real? Aposto que embeber informaçã no meio de uma imagem, se não for demasiada informação que torne perceptível que há algo de errado com a imagem, não deve ser muito difícil! Digo eu!
legendary
Activity: 1862
Merit: 5154
**In BTC since 2013**
Enfim, pode ser uma solução mas não vejo pq botar no blockchain.  Bota no seu Google drive então, já q tá criptografado. 

Depois entramos naquele "pânico" que o Google é o papão dos nosso dados.
Mas, em vez de colocar a seed num Google Drive, poderia colocar o bloco onde se encontra a seed lá. Até poderia colocar na mesma lista 5 ou 6 blocas, onde você sabia que o segundo da lista era o da seed (por exemplo).



E em vez de gravar a seed na blockchain, não seria mais interessante um algoritmo que "misture" a seed, por exemplo nos pixels de uma imagem, sem alterar a imagem a olhos vistos? Como trazemos sempre milhares de imagens connosco diariamente nos nossos telefones, a seed estaria mais ou menos bem disfarçada e dificilmente alguém iria pensar que poderia estar embebida numa imagem, nem tão pouco se saberia em que imagem. Ou até espalhar a seed por várias imagens. Claro que depois essas imagens teriam que ser impedidas de serem alteradas/movidas/apagadas, etc e teria sempre que haver backup para o caso de haver corrupção delas ou de pelo menos uma delas!

Essa ideia não é má. Até podem ser imagens das palavras da seed, numeradas. Mas, numeradas de uma forma, que só você sabe.
Mas, esse método acredito que alguém já tenha usado. Alguém leu algo a respeito?
hero member
Activity: 1274
Merit: 681
I rather die on my feet than to live on my knees
E em vez de gravar a seed na blockchain, não seria mais interessante um algoritmo que "misture" a seed, por exemplo nos pixels de uma imagem, sem alterar a imagem a olhos vistos? Como trazemos sempre milhares de imagens connosco diariamente nos nossos telefones, a seed estaria mais ou menos bem disfarçada e dificilmente alguém iria pensar que poderia estar embebida numa imagem, nem tão pouco se saberia em que imagem. Ou até espalhar a seed por várias imagens. Claro que depois essas imagens teriam que ser impedidas de serem alteradas/movidas/apagadas, etc e teria sempre que haver backup para o caso de haver corrupção delas ou de pelo menos uma delas!
legendary
Activity: 3766
Merit: 1742
Join the world-leading crypto sportsbook NOW!
O problema principal que vejo è a dificuldade de recuperacao em caso de novo computador. Voce pode confiar num indexador, mas se quiser Fazer tudo com Bitcoin core vai ser preciso primiero baixar os 500gb de blockchain
legendary
Activity: 2352
Merit: 6089
bitcoindata.science
No final, voce tem apenas 2 informações em papel para anotar, e o seu setup não está mais seguro. Se acharem o papel, voce perde tudo. Se voce perder o papel, voce perde tudo. Igual uma seed normal.

A ideia seria eliminar o papel.

Quando este assunto foi colocado, o cenário que foi colocado, foi o seguinte:
Imagina que esta na Ucrânia, sai de casa para o seu trabalho normalmente, e ao meio da manha começa a guerra. Você já não tem hipótese de ir a casa. Tem de fugir e sair do país. Só leva a roupa do corpo, e os bens que tem consigo. Como vai aceder as suas moedas, se a seed ficou em casa e até pode ter sido destruída por uma bomba? Porque de certo, você não anda com o papel da seed no bolso quando vai para o trabalho.

Outro cenário colocado:
Sai de casa normalmente para o trabalho, quando surge uma revolta popular, levando ao caos na rua. Você como quer fugir do conflito, decide fugir para outro país. Quando chega a fronteira, as autoridades revistam tudo o que você tem, inclui papeis. Se tem a seed consigo ela pode ser confiscada ou destruída. Como fazer para conseguir fugir sem o perigo de perder a seed?

Entendi.  Mesmo nesse cenário voce tem que saber a transação (um bloco que centenas de transacoes) e a sua chave que codificou a seed. Teria que decorar ou botar num papel..

Ainda acho meio enrolado  acho q dá pra botar num papel, ou grifar palavras num livro

Enfim, pode ser uma solução mas não vejo pq botar no blockchain.  Bota no seu Google drive então, já q tá criptografado. 

Isso tudo é apenas temporário de qq formar pra situação de guerra.
legendary
Activity: 1862
Merit: 5154
**In BTC since 2013**
No final, voce tem apenas 2 informações em papel para anotar, e o seu setup não está mais seguro. Se acharem o papel, voce perde tudo. Se voce perder o papel, voce perde tudo. Igual uma seed normal.

A ideia seria eliminar o papel.

Quando este assunto foi colocado, o cenário que foi colocado, foi o seguinte:
Imagina que esta na Ucrânia, sai de casa para o seu trabalho normalmente, e ao meio da manha começa a guerra. Você já não tem hipótese de ir a casa. Tem de fugir e sair do país. Só leva a roupa do corpo, e os bens que tem consigo. Como vai aceder as suas moedas, se a seed ficou em casa e até pode ter sido destruída por uma bomba? Porque de certo, você não anda com o papel da seed no bolso quando vai para o trabalho.

Outro cenário colocado:
Sai de casa normalmente para o trabalho, quando surge uma revolta popular, levando ao caos na rua. Você como quer fugir do conflito, decide fugir para outro país. Quando chega a fronteira, as autoridades revistam tudo o que você tem, inclui papeis. Se tem a seed consigo ela pode ser confiscada ou destruída. Como fazer para conseguir fugir sem o perigo de perder a seed?
legendary
Activity: 2352
Merit: 6089
bitcoindata.science
Sabemos que a seed é a chave de entrada para a nossa carteira bitcoin. Então devemos sempre fazer tudo para a guardar da forma mais segura possível.

É verdade que existe muitos métodos, sendo os mais favoritos em papel guardo num local seguro ou numa chapa de metal guardada num local seguro. Mas num cenário extremo, onde você tem de sair sem conseguir levar consigo a sua seed, como você vai conseguir aceder a sua carteira?

Numa conversa, sobre como conseguir realmente ter acesso a nossa carteira em qualquer lugar, mesmo não tendo a seed connosco, ou qualquer outro elemento que permita aceder a nossa carteira, qual será a solução.

Então, no meio desse debate, surgiu alguém com uma ideia um pouco fora do espectável:
E porque não encriptar a seed, coloca-la no blockchain. Depois basta saber a forma de desencriptar e em que bloco ela esta, para se conseguir aceder a carteira.

A ideia foi em forma de "esboço" sendo depois comentadas varias formas de fazer isto. Logicamente uns acharam interessante, outros acharam a ideia totalmente sem sentido.

Gostaria de trazer o debate para aqui.
Na vossa opinião, acham que seria viável fazer algo do género?



Com segurança não se brinca.

Quando estamos falando de dinheiro, ainda mais de um percentual relevante do patrimônio das pessoas, o certo é seguir os procedimentos básicos de segurança.

Acho que podem ser interessante brincar com ideias inovadoras de forma de armazenamento de seed e tal, ainda mais para brinca com uns trocados, mas na hora de guardar dinheiro de verdade o certo é seguir as normas de segurança já consagradas.

Esse método que voce sugeriu adiciona mais camadas de problemas do que de benefícios.

1 - tem q saber qual a transação (não dá pra saber apenas o bloco). Onde anotar isso?
2 - tem que criptografar, pois a seed está lá pública  para todos verem. Onde anotar isso?
3 - Depois disso tudo, voce tem uma seed normal.

No final, voce tem apenas 2 informações em papel para anotar, e o seu setup não está mais seguro. Se acharem o papel, voce perde tudo. Se voce perder o papel, voce perde tudo. Igual uma seed normal.
legendary
Activity: 1862
Merit: 5154
**In BTC since 2013**
Não sei se isso seja muito viável. Que eu me lembre, não é possível você escolher uma frase completa como seed de qualquer carteira de criptomoedas. Você pode sim escolher a senha, mas a seed, ou a tal "semente", eu acredito que não dá para fazer, são palavras aleatórias. O pessoal da área de programação poderá nos esclarecer melhor essa questão.

Mas o que eu disse, não era criar a seed com base nessa frase!
A ideia é encriptar a seed, usando uma frase ou outra coisa qualquer, que seja mais fácil a pessoa lembrar e usar em qualquer lado do mundo, sem andar com um papelinho ou uma pen consigo.

Eu digo frase do livro, porque será mais complicado de descobrir, do que uma frase "randomizada" que nós vejo a cabeça.

Imagina a frase de um poema que você gosta muito, sabe ela a 20, 30 ou 40 anos. A letra da sua canção favorita.
Pode usar a letra de uma canção inteira para encriptar algo. Podem ser dezenas de palavras. A probabilidade, de um brute force descobrir é bem reduzida.
legendary
Activity: 2758
Merit: 6830
Não sei se isso seja muito viável. Que eu me lembre, não é possível você escolher uma frase completa como seed de qualquer carteira de criptomoedas. Você pode sim escolher a senha, mas a seed, ou a tal "semente", eu acredito que não dá para fazer, são palavras aleatórias. O pessoal da área de programação poderá nos esclarecer melhor essa questão.
Na verdade tudo é possível, tanto que existem as “brain wallets” que permitem que você use qualquer frase, palavra, lista de palavras ou frases, trechos de livros… enfim, literalmente qualquer input de texto para gerar uma carteira.

Aí claro que vai de software para software aceitar e tratar esse input de sua maneira.

E detalhe que muita gente não recomenda esse tipo de forma de geração de seed pois somos naturalmente ruins em randomização. Muita gente chega lá, pensa em um “o ceu é bonito” e depois tem a carteira roubada por pessoas que pensaram igual ou que vivem de fazer brute force para achar uma carteira. Grin
legendary
Activity: 3304
Merit: 1617


Sim e não.

É verdade que vai ter dois trabalhos. Mas na realidade você pode encriptar a seed da forma que quiser.

Imagina que é a frase de um livro. Você sabe qual é o livro e a edição que precisa de ter para conseguir desencriptar. Ou até sabe a frase decore, porque é do seu escritor favorito.
Então, não precisas de ter um papel ou algo físico para guardar a seed. Ela esta guardada num endereço que você escolheu, que pode ficar guardado em qualquer parte da net.
Quando precisar da seed, só tem de ir ao blockchain, nesse endereço, e desencriptar o texto que colocou nele. Só tem de usar um script ou programa, que você escolheu, para fazer isso.

Sim, vai dar trabalho, mas é a sua segurança que esta envolvida.

Não sei se isso seja muito viável. Que eu me lembre, não é possível você escolher uma frase completa como seed de qualquer carteira de criptomoedas. Você pode sim escolher a senha, mas a seed, ou a tal "semente", eu acredito que não dá para fazer, são palavras aleatórias. O pessoal da área de programação poderá nos esclarecer melhor essa questão.
legendary
Activity: 1862
Merit: 5154
**In BTC since 2013**
Não vejo muito sentido em fazer isso. Você simplesmente vai encriptar uma seed e vai ter que precisar outra seed ou senha para desencriptar para poder usa-la. Você terá dois trabalhos. Não acredito isso seja producente. Ou estou a enxergar coisas que não existem. Sabes que não entendo muito de programação.  Cheesy

Sim e não.

É verdade que vai ter dois trabalhos. Mas na realidade você pode encriptar a seed da forma que quiser.

Imagina que é a frase de um livro. Você sabe qual é o livro e a edição que precisa de ter para conseguir desencriptar. Ou até sabe a frase decore, porque é do seu escritor favorito.
Então, não precisas de ter um papel ou algo físico para guardar a seed. Ela esta guardada num endereço que você escolheu, que pode ficar guardado em qualquer parte da net.
Quando precisar da seed, só tem de ir ao blockchain, nesse endereço, e desencriptar o texto que colocou nele. Só tem de usar um script ou programa, que você escolheu, para fazer isso.

Sim, vai dar trabalho, mas é a sua segurança que esta envolvida.
legendary
Activity: 3304
Merit: 1617
Não vejo muito sentido em fazer isso. Você simplesmente vai encriptar uma seed e vai ter que precisar outra seed ou senha para desencriptar para poder usa-la. Você terá dois trabalhos. Não acredito isso seja producente. Ou estou a enxergar coisas que não existem. Sabes que não entendo muito de programação.  Cheesy
legendary
Activity: 1862
Merit: 5154
**In BTC since 2013**
Sabemos que a seed é a chave de entrada para a nossa carteira bitcoin. Então devemos sempre fazer tudo para a guardar da forma mais segura possível.

É verdade que existe muitos métodos, sendo os mais favoritos em papel guardo num local seguro ou numa chapa de metal guardada num local seguro. Mas num cenário extremo, onde você tem de sair sem conseguir levar consigo a sua seed, como você vai conseguir aceder a sua carteira?

Numa conversa, sobre como conseguir realmente ter acesso a nossa carteira em qualquer lugar, mesmo não tendo a seed connosco, ou qualquer outro elemento que permita aceder a nossa carteira, qual será a solução.

Então, no meio desse debate, surgiu alguém com uma ideia um pouco fora do espectável:
E porque não encriptar a seed, coloca-la no blockchain. Depois basta saber a forma de desencriptar e em que bloco ela esta, para se conseguir aceder a carteira.

A ideia foi em forma de "esboço" sendo depois comentadas varias formas de fazer isto. Logicamente uns acharam interessante, outros acharam a ideia totalmente sem sentido.

Gostaria de trazer o debate para aqui.
Na vossa opinião, acham que seria viável fazer algo do género?
Jump to: