Colección de citas famosas - Consulta de diccionarios - ¿Cómo garantizar la seguridad del uso de blockchain?

¿Cómo garantizar la seguridad del uso de blockchain?

La propia cadena de bloques resuelve el problema de la colaboración a gran escala entre extraños, es decir, los extraños pueden colaborar entre sí sin confiar entre sí. Entonces, ¿cómo garantizar la confianza entre extraños para realizar el mecanismo de comprensión mutua de cada uno? El sistema centralizado utiliza el respaldo de terceros creíbles, como los bancos. La gente común considera que los bancos son instituciones confiables y confiables. La gente puede confiar en los bancos y dejar que los bancos resuelvan disputas de la vida real. Pero, ¿cómo garantiza una cadena de bloques descentralizada la confianza?

De hecho, blockchain utiliza los principios básicos de la criptografía moderna para garantizar su mecanismo de seguridad. El sistema de conocimiento involucrado en el campo de la criptografía y la seguridad es muy complicado. Solo presentaré el conocimiento básico de la criptografía relacionada con blockchain, incluido el algoritmo Hash, el algoritmo de cifrado, el resumen de información y la firma digital, la prueba de conocimiento cero, la criptografía cuántica, etc. . Puede utilizar esta lección para comprender cómo la cadena de bloques que utiliza tecnología de criptografía puede garantizar su confidencialidad, integridad, autenticación y no repudio.

Lección 7 del curso básico: Conocimientos básicos de seguridad blockchain

1. Algoritmo Hash (Algoritmo Hash)

Función Hash (Hash), también conocida como. es la función hash. Función hash: Hash (información original) = información resumida. La función hash puede asignar una cadena de texto sin formato binario de cualquier longitud a una cadena binaria más corta (generalmente de longitud fija) (valor Hash).

Un buen algoritmo hash tiene las siguientes cuatro características:

1. Correspondencia uno a uno: la misma entrada de texto sin formato y el mismo algoritmo hash siempre pueden obtener la misma salida de información resumida.

2. Sensibilidad de la entrada: incluso si hay algún ligero cambio en la entrada de texto sin formato, la información resumida recién generada cambiará mucho, lo cual es enormemente diferente de la salida original.

3. Fácil de verificar: tanto la entrada de texto sin formato como el algoritmo hash son públicos, y cualquiera puede calcular por sí mismo si el valor hash de salida es correcto.

4. Irreversible: si solo existe el valor hash de salida, es absolutamente imposible deducir el texto sin formato del algoritmo hash.

5. Evitar conflictos: es difícil encontrar dos fragmentos de texto sin formato con contenidos diferentes, pero sus valores hash son consistentes (se produce una colisión).

Ejemplo:

Hash (Zhang San le prestó a Li Si 100.000, con un período de préstamo de 6 meses) = 123456789012

Hay un registro de 123456789012 en el Registro del libro mayor.

Se puede ver que la función hash tiene 4 funciones:

Simplificar la información

Es fácil de entender y la información hash se vuelve más corta.

Información de identificación

Puede utilizar 123456789012 para identificar la información original, y la información resumida también se denomina identificación de la información original.

Información oculta

El libro mayor contiene un registro como 123456789012 y la información original está oculta.

Información de verificación

Si Li Si engaña al pagar el préstamo, Zhang San solo le prestó a Li Si 50.000, ambas partes pueden usar el valor hash y compararlo con el valor hash registrado previamente 123456789012 para verificar la información original

Hash (Zhang San le prestó a Li Si 50.000, con un período de préstamo de 6 meses) = 987654321098

987654321098 es completamente diferente de 123456789012, lo que demuestra que Li Si miente, se garantiza con éxito la manipulabilidad de la información.

Los algoritmos Hash comunes incluyen los algoritmos de las series MD4, MD5 y SHA. Hoy en día, los algoritmos de la serie SHA se utilizan básicamente en los campos principales. SHA (Secure Hash Algorithm) no es un algoritmo, sino un conjunto de algoritmos hash. Originalmente era la serie SHA-1. Ahora las aplicaciones principales son los algoritmos SHA-224, SHA-256, SHA-384 y SHA-512 (comúnmente conocidos como SHA-2). Recientemente, también se han desarrollado algoritmos relacionados con SHA-3. propuesto, como los utilizados por Ethereum KECCAK-256 pertenece a este algoritmo.

MD5 es un algoritmo Hash muy clásico, pero desafortunadamente tanto él como el algoritmo SHA-1 han sido descifrados y la industria los considera no lo suficientemente seguros para ser utilizados en escenarios comerciales. Generalmente lo es. Se recomienda utilizar al menos SHA2-256 o un algoritmo más seguro.

Los algoritmos hash se utilizan ampliamente en blockchains. Por ejemplo, en un bloque, el siguiente bloque contendrá el valor hash del bloque anterior y el contenido del siguiente bloque será el valor hash del anterior. bloque El valor hash de un bloque es el mismo que el valor hash del siguiente bloque calculado, lo que garantiza la continuidad y la no manipulación de la cadena.

2. Algoritmos de cifrado y descifrado

Los algoritmos de cifrado y descifrado son la tecnología central de la criptografía. Se pueden dividir en dos tipos básicos en términos de conceptos de diseño: algoritmos de cifrado simétricos y asimétricos. Algoritmos de cifrado. Se distinguen según si las claves utilizadas en los procesos de cifrado y descifrado son las mismas. Los dos modos son adecuados para diferentes necesidades y forman una relación complementaria. A veces también se pueden utilizar en combinación para formar un mecanismo de cifrado híbrido.

Algoritmo de cifrado simétrico (criptografía simétrica, también conocida como criptografía de clave común), las claves para el cifrado y descifrado son las mismas. Sus ventajas son la alta eficiencia computacional y la alta potencia del cifrado. La clave debe compartirse con anticipación y la clave perdida puede filtrarse fácilmente. Los algoritmos comunes incluyen DES, 3DES, AES, etc.

El algoritmo de cifrado asimétrico (criptografía asimétrica, también conocida como criptografía de clave pública) es diferente de las claves de cifrado y descifrado. Su ventaja es que no es necesario compartir la clave con antelación. que la eficiencia del cálculo es baja y solo se puede cifrar contenido breve. Los algoritmos comunes incluyen RSA, SM2, ElGamal y algoritmos de series de curvas elípticas. El algoritmo de cifrado simétrico es adecuado para el proceso de cifrado y descifrado de grandes cantidades de datos, no se puede utilizar en escenarios de firma y, a menudo, es necesario distribuir la clave con antelación. Los algoritmos de cifrado asimétrico generalmente son adecuados para escenarios de firma o negociación de claves, pero no para el cifrado y descifrado de grandes cantidades de datos.

3. Resumen de información y firma digital

Como sugiere el nombre, el resumen de información consiste en realizar una operación Hash en el contenido de la información para obtener un valor de resumen único para reemplazar la información completa original. contenido. El resumen de información es el uso más importante del algoritmo Hash. Utilizando las características anticolisión de la función Hash, el resumen de información puede resolver el problema de que el contenido no ha sido manipulado.

Las firmas digitales son similares a la firma de contratos en papel para confirmar el contenido del contrato y demostrar la identidad. Las firmas digitales se basan en cifrado asimétrico y pueden usarse para probar la integridad de un determinado contenido digital y al mismo tiempo confirmar. la fuente (o no repudio).

Tenemos dos requisitos de propiedad para las firmas digitales que las hacen consistentes con lo que esperamos de las firmas manuscritas. En primer lugar, sólo usted puede crear su propia firma, pero cualquiera que la vea puede verificar su validez; en segundo lugar, queremos que la firma sea relevante sólo para un archivo específico y no para otros archivos. Todos estos se pueden utilizar para lograr firmas digitales a través de nuestro algoritmo de cifrado asimétrico anterior.

En la práctica, generalmente firmamos el valor hash de la información en lugar de la información en sí. Esto está determinado por la eficiencia del algoritmo de cifrado asimétrico. En correspondencia con la cadena de bloques, el puntero hash está firmado. Si se utiliza este método, el anterior es toda la estructura, no solo el puntero hash en sí.

4. Prueba de conocimiento cero (Prueba de conocimiento cero)

La prueba de conocimiento cero significa que el probador hace que el verificador crea algo sin proporcionarle ninguna información adicional. La afirmación es correcta.

Las pruebas de conocimiento cero generalmente cumplen con tres condiciones:

1. Integridad: una prueba verdadera permite al verificador verificar con éxito.

2. : Una prueba falsa no puede permitir que el verificador pase la verificación;

3. Conocimiento cero: si se prueba, no se puede obtener ninguna información que no sea la información de prueba del proceso de prueba.

5. Criptografía cuántica

A medida que la investigación sobre computación cuántica y comunicación cuántica recibe cada vez más atención, la criptografía cuántica desempeñará un papel importante en la seguridad de la información criptográfica en el futuro. impacto.

El principio central de la computación cuántica es utilizar qubits para estar en múltiples estados de superposición coherentes al mismo tiempo. En teoría, una gran cantidad de información puede expresarse a través de una pequeña cantidad de qubits y procesarse al mismo tiempo. Al mismo tiempo, aumentando considerablemente la velocidad de cálculo.

En este caso, una gran cantidad de algoritmos de cifrado actuales son teóricamente poco confiables y pueden descifrarse, lo que hace que los algoritmos de cifrado deban actualizarse; de ​​lo contrario, la computación cuántica los romperá.

Como todos sabemos, la computación cuántica aún se encuentra en la etapa teórica y aún está lejos de su uso comercial a gran escala. Sin embargo, la nueva generación de algoritmos de cifrado debe tener en cuenta la posibilidad de que se produzca esta situación.