Cómo establecer una contraseña propia, la cual no es generada por Steemit

in #spanish7 years ago

Traducción autorizada por @noisy. Puedes leer el post original acá
Acerca del autor: noisy es un experimentado desarrollador de software, activo en Steemit desde Mayo de 2016 y reconocido por contribuir en la seguridad de Steemit


Muy bien, estamos yendo rápido con nuestras serie de Seguridad en Steemit, pero es divertido, así que continuemos y aprendamos algo muy útil

Vamos a empezar con un rápido resumen de lo que hemos aprendido en los artículos anteriores:

En el primer artículo mencioné, que para usar tu cuenta de Steemit, no necesitas usar tu contraseña para nada.

Entonces para que necesito la Contraseña Maestra?

Técnicamente hablando, no la necesitas. Si tienes todas tus claves privadas (posteo, activa, propietaria, memo) puedes hacer todo sin una contraseña, incluso crear una nueva contraseña y un nuevo conjunto de todas las claves.

Porqué es eso? Por que en todo el ecosistema Steem, una contraseña es usada sólo para generar claves públicas y privadas a partir de ella. Pero exactamente esto se hace por "debajo del capó", lo voy a explicar en mi siguiente artículo.

De mi 2do artículo debes recordar que las transacciones ingresadas a la cadena de bloques de Steem están autorizadas al firmar cada transacción con una clave privada individual apropiada. Esto funciona sólo por que la cadena de bloques de Steem guarda la correspondiente clave pública de cada usuario.

Y lo más importante: la cadena de bloques de Steem no guarda tu contraseña. Sólo guarda tu clave pública generada con tu contraseña

Conclusión: Si quieres cambiar tu contraseña, un nuevo conjunto de claves será generado de ella. La contraseña cambia cuando las nuevas claves públicas son cargadas en la cadena de bloques de Steem.

Escenario: Cambiando una contraseña con la página Steemit.com

  1. El usuario @noisy3 quiere cambiar una contraseña vieja, larga y dificil de recordar, de P5KB2ir4BaDTeeBe5SUW16F6NYGeYSVaUBn261kDPLGGCSiNahtm a una nueva contraseña
  2. Desde el menú de usurio, el usuario selecciona "cambiar contraseña" y es redireccionado a https://steemit.com/@noisy3/password
  3. El usuario tiene que proporcionar la contraseña vieja, pero no puede proporcionar una contraseña nueva porque es generada por el sitio steemit.
  4. Si el usuario quiere cambiar la contraseña, va a terminar con una contraseña larga, dificil de recordar pero muy segura, como esta: P5KMpYPGmVMkWgaDBX337eo3nULEq3MwrEtURydXbdS213exrKbx

Pregunta

  1. ¿Porqué el usuario no puede establecer su propia contraseña?

    Steemit cambió el reglamento de las contraseñas el año pasado. Antes de eso, los usuarios eran capaces de establecer cualquier contraseña. El único requerimiento era, que debía ser al menos de 16-caracteres de largo.

    Pero la verdad fue que si un usuario establece una contraseña con una cadena de caracteres como: 1234567890123456, esta contraseña no era segura, por que era muy fácil de adivinar o de descubrir por fuerza bruta usando los patrones de contraseña más comunes.

  2. ¿Porqué necesito una contraseña tan dificil de recordar?

    Lo que en realidad necesitas es una contraseña muy segura, y las contraseñas seguras son generalmente muy dificiles de recordar. Probablemente trates a Steemit como otras red social, por lo que tal ves estes sorprendido, porqué mi contraseña de Facebook no es dificil pero suficientemente buena. (Por cierto, espero, que no uses la misma contraseña para todos tus servicios - eso es muy peligroso!)

    La razón por la que tu contraseña debe ser segura es simplemente por que con tu contraseña tu también administras tus fondos. Por lo tanto, tu contraseña de Steem debe ser tan dificil de adivinar como la contraseña de tu cuenta del banco!

Preocupaciones

Las contraseñas generadas son muy seguras, pero hay al menos tres grandes problemas con eso:

  1. Son dificiles de recordar, y la verdad es, que no lo deben ser


    fuente - original

  2. Debes confiar en Steemit. que la contraseña es generada aleatoriamente, y no es almacenada en ningún lado

  3. Generadas de esta manera, las contraseñas siguen unas especificaciones muy bien descriptas y conocidas. Cada usuario de Steem puede reconocer fácilmente que estas cadenas de caracteres son probablemente contraseñas de Steem:

    • P5JcPfXayxiaFYPPKrt2BJGajtpACHoh35WZcgP6YKWuvovAYfb1
    • P5K6j5G7tp6B9JsR6HVJf7NE828Ms3oMvYhReDrXMZe1dohiPdg4
    • P5JigoK5v3E7E2ChbVhjb3Ji9USKz5vJBu9m2Yubf3aeJE1mxAmt

Así que adivina que puede pasar si publicas tu contraseña por accidente, por que la copiaste de tu administrador de contraseñas o de un archivo, y te olvidaste que todavía se encuentra en tu portapapeles. Esto puede pasar:

o esto:

Estableciendo nuestra contraseña con Python

Con el script de abajo, puedes establecer cualquier contraseña y lo puedes hacer sin el sitio Steemit.

# requirements: python3.5, steem==0.18.8

import json
from steem import Steem
from steembase.account import PasswordKey
from steembase import operations


old_password = 'P5KMpYPGmVMkWgaDBX337eo3nULEq3MwrEtURydXbdS213exrKbx'
new_password = 'smooth lesson hawk initial promote critic'
account = 'noisy3'


old_owner_key = str(
    PasswordKey(account, old_password, "owner").get_private_key()
)

s = Steem(keys=[old_owner_key])

new_public_keys = {}

for role in ["owner", "active", "posting", "memo"]:
    private_key = PasswordKey(account, new_password, role).get_private_key()
    new_public_keys[role] = str(private_key.pubkey)

new_data = {
    "account": account,
    "json_metadata": {},
    "owner": {
        "key_auths": [
            [new_public_keys["owner"], 1]
        ],
        "account_auths": [],
        "weight_threshold": 1
    },
    "active": {
        "key_auths": [
            [new_public_keys["active"], 1]
        ],
        "account_auths": [],
        "weight_threshold": 1
    },
    "posting": {
        "key_auths": [
            [new_public_keys["posting"], 1]
        ],
        "account_auths": [],
        "weight_threshold": 1
    },
    "memo_key": new_public_keys["memo"]
}

print("New data:")
print(json.dumps(new_data, sort_keys=True, indent=4))

op = operations.AccountUpdate(**new_data)
result = s.commit.finalizeOp(op, account, "owner")

print("Result:")
print(json.dumps(result, sort_keys=True, indent=4))

El script de arriba puede ser mucho más corto, pero a modo de ejemplo educativo así esta mejor.

El script en acción


Este artículo pertenece a la serie de artículos que describen la seguridad en Steemit:

1 - Cuál es la diferencia entre una contraseña y una clave privada en Steemit y como hacer tu cuenta mas segura, usandolas correctamente.
2 - Claves Privadas y Públicas - como son usadas en Steem, haciendo todo esto posible?
3 - Claves Públicas y Privadas - Cómo generar todas las claves de Steemit con la contraseña Maestra, sin usar Steemit, estando OFFLINE
4 - Cómo establecer una contraseña propia, la cual no es generada por Steemit. (éste artículo)
5 - Como configurar tu propia contraseña, la cual no es generada por Steemit
6 - Como configurar multisig/múltiples autoridades para tu cuenta
7 - ...
Asegúrate de seguir a @noisy (y a mi cuenta :P) si no te quieres perder nada de esto (traducido al español) :)

Sort:  

Que bueno que no me ha pasado lo de pegar en las imagenes, sería lo peor que se le puede desear a un Steemian que lleva tiempo jaja
Saludos @favcau :D

La verdad que sí! :D

Tengo una pregunta... Por desde que comencé a usar mi clave de publicado para ingresar en steemit. La clave maestra no me funciona? Fíjate no encuentro como cobrar mis SBD pongo todas las claves que tengo y ninguna me sirve por que me esta pasando eso?

Hola, no tiene porque pasarte eso, probaste de usar la clave activa privada para cobrar los sbd?
Fijate que estés usando la privada y no la pública.

tu usas discord? este es mi discord Beethoven10#1529 si puedes escibeme por ahi para explicarte

Coin Marketplace

STEEM 0.20
TRX 0.13
JST 0.030
BTC 64689.90
ETH 3450.92
USDT 1.00
SBD 2.50