Foros del Web » Programando para Internet » PHP »

Proceso de encriptacion? cual es el proceso seguro?

Estas en el tema de Proceso de encriptacion? cual es el proceso seguro? en el foro de PHP en Foros del Web. Use este metodo @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original $token = '<form action="ejemplo.php" method="get">  <p>Nombre: <input type="text" name="nombre" size="40"></p>  <p>Año de nacimiento: <input type="number" name="nacido" ...
  #1 (permalink)  
Antiguo 05/04/2020, 18:44
 
Fecha de Ingreso: agosto-2012
Ubicación: M.
Mensajes: 2.031
Antigüedad: 11 años, 8 meses
Puntos: 52
Proceso de encriptacion? cual es el proceso seguro?

Use este metodo


Código PHP:
Ver original
  1. $token = '<form action="ejemplo.php" method="get">
  2.  <p>Nombre: <input type="text" name="nombre" size="40"></p>
  3.  <p>Año de nacimiento: <input type="number" name="nacido" min="1900"></p>
  4.  <p>Sexo:
  5.    <input type="radio" name="hm" value="h"> Hombre
  6.    <input type="radio" name="hm" value="m"> Mujer
  7.  </p>
  8.  <p>
  9.    <input type="submit" value="Enviar">
  10.    <input type="reset" value="Borrar">
  11.  </p>
  12. </form>';
  13.  
  14. $cipher_method = 'aes-128-ctr';
  15. $enc_key = openssl_digest("clave maestra", 'SHA256', TRUE);
  16. $enc_iv = openssl_random_pseudo_bytes(openssl_cipher_iv_length($cipher_method));
  17. $crypted_token = openssl_encrypt($token, $cipher_method, $enc_key, 0, $enc_iv) . "::" . bin2hex($enc_iv);
  18. unset($token, $cipher_method, $enc_key, $enc_iv);
  19.  
  20.  
  21.  
  22. echo $crypted_token;//encriptado
  23.  
  24.  
  25.  
  26. list($crypted_token, $enc_iv) = explode("::", $crypted_token);;
  27. $cipher_method = 'aes-128-ctr';
  28. $enc_key = openssl_digest("clave maestra", 'SHA256', TRUE);
  29. $token = openssl_decrypt($crypted_token, $cipher_method, $enc_key, 0, hex2bin($enc_iv));
  30. unset($crypted_token, $cipher_method, $enc_key, $enc_iv);
  31.  
  32. echo "<br>".$token;//desencriptado


Si funcionó pero tengo una duda..
yo voy a usar esa encriptacion para encriptar datos comerciales de paypal.. clientid y secret y asi
lo que no entiendo es donde voy a guardar la clave de desencriptacion?
suponiendo que este guardada en la base de datos..
a la hora de desencriptar voy a tener que usarla y sera visible para el programador que secuestre mi codigo fuente, y con ella podra desencriptar los datos sensibles de la cuenta comercial.. alguna sugerencia?

de antemano gracias
__________________
a veces creemos que es algo básico pero al profundizar nos damos cuenta que estábamos tocando solo la cola de la culebra
  #2 (permalink)  
Antiguo 05/04/2020, 20:18
 
Fecha de Ingreso: diciembre-2013
Mensajes: 10
Antigüedad: 10 años, 3 meses
Puntos: 4
Respuesta: Proceso de encriptacion? cual es el proceso seguro?

Si el problema es la visibilidad de la clave maestra podrías crear un define en un archivo aparte e incluirlo con un 'require'. A ese archivo lo bloqueas para que solo pueda ser visto por un administrador y ya. Si es que entendí bien tu duda, esa sería una de varias formas de lograrlo.
  #3 (permalink)  
Antiguo 05/04/2020, 20:26
 
Fecha de Ingreso: agosto-2012
Ubicación: M.
Mensajes: 2.031
Antigüedad: 11 años, 8 meses
Puntos: 52
Respuesta: Proceso de encriptacion? cual es el proceso seguro?

Cita:
Iniciado por Dreyfuz Ver Mensaje
Si el problema es la visibilidad de la clave maestra podrías crear un define en un archivo aparte e incluirlo con un 'require'. A ese archivo lo bloqueas para que solo pueda ser visto por un administrador y ya. Si es que entendí bien tu duda, esa sería una de varias formas de lograrlo.
Bueno pero un programador lo mapearia no?
busco una forma donde sea imposible saber la clave, y que solo la sepa quien la creo
__________________
a veces creemos que es algo básico pero al profundizar nos damos cuenta que estábamos tocando solo la cola de la culebra
  #4 (permalink)  
Antiguo 06/04/2020, 09:57
 
Fecha de Ingreso: agosto-2012
Ubicación: M.
Mensajes: 2.031
Antigüedad: 11 años, 8 meses
Puntos: 52
Respuesta: Proceso de encriptacion? cual es el proceso seguro?

Que tema tan dificil
__________________
a veces creemos que es algo básico pero al profundizar nos damos cuenta que estábamos tocando solo la cola de la culebra
  #5 (permalink)  
Antiguo 06/04/2020, 12:00
 
Fecha de Ingreso: abril-2006
Mensajes: 583
Antigüedad: 18 años
Puntos: 120
Respuesta: Proceso de encriptacion? cual es el proceso seguro?

Cita:
Iniciado por minombreesmm Ver Mensaje
Que tema tan dificil
Mi estimado, el tema tiene cierta complegidad, pero tu Post no incentiva , tenias que poner Ejemplos, cosas que hayas investigado, etc etc.

el principal problema es que aunque encriptes el dato mas sensible que tengas con el mejor encriptador del Mundo, si se tiene acceso, al equipo donde se encripta, donde esta la funcion de encriptar, de nada servira, por ellos los Servicios, como Paypal, OTORGAN los API KEYS, donde consta clave Publica y Clave Privada, con esa metodologia, en caso de comprometer la Clave Privada por Hackeo y demas, se puede bloquear desde el panel de Paypal y solicitar otra

la Clave privada, es algo que solo pueden saber Tu sistema y Paypal solamente, todo por debajo de la mesa.

y si encriptaras Dichas Claves publicas y privadas, en algun Punto tendrias que desencriptarlas para comunicarte con Paypal por ejemplo.

en lugar de centrarte, en la fortaleza de encriptacion, centrate en la seguridad donde se almacenan los Datos, TU servidor, pon atencion sobre todo en las variables o archivos que interactuan con la parte externa a tu servidor
formularios de subida de archivos, variables que se ingresan en consultas SQL, en resumen todo Dato de Entrada, debe estar correctamente saneada para evitar Inyecciones o ejecucion de codigo que comprometa, esas claves por ejemplo.

recuerda que PHP NODEJS son Lenguajes de Interpretacion, si alguien se hace con el codigo fuente te extrae, puede hacerle ingenieria inversa

pero si fuese Hecho en un lenguaje Compilado, como C++ o C, le gregas una capa mas de seguridad ya que aunque te extraigan el DLL o ejecutable, Obtener una vulnerabilidad es mas dificil.

puede que tambien tu preocupacion con las claves privadas, es que estes delegando un sistema financiero a un Tercero, que haga el mantenimiento, modificación de archivos ósea. aun desarrollador ya sea interno o externo.

para ello generalmente como freelancers siempre indicamos a nuestros clientes, que trabajamos con Copias locales, y bases de datos vacias o parciales, asi nuestros clientes estan seguros resguardando sus datos privados o sensibles.
En ese aspecto ay clientes sensibles que tienen incluso un comparador de archivos, donde las modificaciones o diferencias les son mostradas a ellos, asi estan al tanto de que se creo si hay funciones o archivos raros, eso me paso con algunas webs de Bancos. donde el encargado era bastante conciente de la seguridad.

si ese fuese tu caso, tu programador o tercera persona que haga modificaciones debe trabajarlo en un SANDBOX, no le debes dar acceso al servidor, al menos que confies al 100% en el, yo siempre sugiero al terminar mis trabajos en caso de haber compartido claves conmigo, que las cambien, por su seguridad.


tambien toma en cuenta, como Paypal, y similares, tiene un apartado de Pruebas, donde se usa TOKENS y CLAVES dummis para probar el sistema
__________________
Mis aportes te ayudaron??, te hicieron ahorrar valiosos tiempo??, si quieres puedes agradecerme con un Gracias o con una donacion
https://paypal.com/pools/c/8lmNLmWnG9
  #6 (permalink)  
Antiguo 07/04/2020, 01:11
 
Fecha de Ingreso: agosto-2012
Ubicación: M.
Mensajes: 2.031
Antigüedad: 11 años, 8 meses
Puntos: 52
Respuesta: Proceso de encriptacion? cual es el proceso seguro?

Si entiendo, lo que yo trato es de ni yo mismo saber las claves del cliente..
que el una vez que las guarde, para mi sea imposible decifrarlas, pero por obvias razones actualmente yo puedo saber aunque este encriptado ya que yo puedo desencriptar.
Quiero que los clientes tengan claro que nisiquiera nosotros podemos saber ni aunque quisieramos , sus datos de paypal.
Lo ideal seria enviar los datos encriptados a paypal y que el usuario guardara la llave que usó en la pagina que les cree, en paypal, y que la pagina no sepa la llave ni nada, solo ayude a crear la encriptacion en base a la llave.. y ya que paypal se encarge de desencriptar.. asi mi plataforma no sabra la llave de desencriptacion ni nada.. solo tendra los datos de paypal encriptados y paypal desencriptaria
__________________
a veces creemos que es algo básico pero al profundizar nos damos cuenta que estábamos tocando solo la cola de la culebra
  #7 (permalink)  
Antiguo 07/04/2020, 07:52
 
Fecha de Ingreso: diciembre-2013
Mensajes: 10
Antigüedad: 10 años, 3 meses
Puntos: 4
Respuesta: Proceso de encriptacion? cual es el proceso seguro?

Investiga sobre cifrado RSA. A lo mejor te ayude en algo.

Etiquetas: dato, encriptacion, proceso
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:12.