Venezuela Huso Horario. Ayer 14 de abril de 2016, por decisión del Presidente de la República Bolivariana de Venezuela ciudadano Nicolás Maduro Moros (jefe del Poder Ejecutivo) volveremos al -04:00 GMT a partir del 1° de mayo de 2016 (recogemos la noticia por nota de prensa del diario nacional «Últimas Noticias»).
ACTUALIZADO EL MIÉRCOLES 20 DE ABRIL DE 2016: abajo casi al finalizar este artículo se encuentra disponible la Gaceta Oficial Extraordinario N° 6.224 con el Decreto Presidencial N° 2.301 con instrucciones precisas (y legales) sobre el cambio de Venezuela Huso Horario.
Alrededor de 250 años antes de Cristo el matemático griego Eratóstenes de Cirene (actual país de Libia) conocía de la esfericidad de nuestro planeta tierra, especulamos debido a sus estudios de astronomía. Vivía en la famosa ciudad de Alejandría (actual país de Egipto) en donde era rector de Biblioteca de dicha ciudad, el más lejano antecesor del internet que todos conocemos y por donde os llegan a vosotros estas líneas.
Eratóstenes aparte de matemático era poeta, astrónomo y teoricista de la música. No era geógrafo (aunque murió siéndolo) porque sencillamente es considerado el padre de la geografía. ¿Qué tiene que ver con los husos horarios? Pues ya veréis que mucho, esperad.
Él sabía que cuando en su ciudad Alejandría era mediodía en el solsticio de verano boreal los rayos solares incidían de manera paralela dentro de un pozo de agua pero al mismo tiempo en otra ciudad llamada Syene (hoy llamada Asuán o Aswan en el actual país de Egipto) no sucedía lo mismo: había un ángulo de inclinación equivalente a un quincuagésimo de circunferencia. Conociendo este dato y la distancia entre ambas ciudades (un arco en realidad) aplicó sus conocimientos de trigonometría para concluir que la circunferencia de la Tierra era de 46.100 kilómetros con un error aproximado del 15% respecto a la medida actual. Sencillamente maravilloso considerando que nunca se movió de su ciudad, sólo con su mente transcendió dimensiones que apenas hoy día podemos tener noción de ellas.
El famoso astrónomo Carl Sagan en su programa «Cosmos» nos describe acertadamente cómo lo logró en el siguiente video (en inglés):
A partir de lo anterior Eratóstenes, convencido de que la Tierra era una esfera que consideraba perfecta (hoy sabemos que en realidad es achatada en los polos) se dio a la tarea de viajar por su mundo conocido, el Mediterráneo y su «Mare Nostrum» (término acuñado luego por el Imperio Romano), tras lo cual luego publicó sus tres volúmenes de Geographika, la enciclopedia donde, sin haberlos visitado ni tener constancia de ellos, describía los dos polos de nuestra Tierra. Ese fue un logro extraordinario, así como deducir que el Sol calienta más en el «cinturón» de la Tierra (los trópicos) y la existencia de dos zonas con cuatro estaciones -boral y austral- sólamente conociendo las tierras del para entonces imperio griego.
Es por ello que se le considera el padre de la geografía, ya que se dió a la tarea de graficar la superficie terrestre con ayuda de dos grandes conceptos: paralelos (de este a oeste) y meridianos (de norte a sur). A partir de la historia que sabemos nos atrevemos a imaginar que el primer meridiano o meridiano cero conocido por la humanidad es el que atraviesa ambas ciudades de Alejandría y Asúan. Sin embargo Eratóstenes no lo numeró y a pesar que conocemos que documentó a más de 400 ciudades del mundo antiguo y moderno, sus papiros fueron extraviados a lo largo del tiempo (¿se habrán quemado en la quema y destrucción de la Biblioteca de Alejandría? Fue la primera tragedia en cuanto a la pérdida de conocimiento colectivo, nos generó un atraso de mil años considero yo).
Se cree que Cristóbal Colón estudió su famoso viaje «de descubrimiento» por medio del trabajo de Eratóstenes, quien al considerar a la Tierra esfera perfecta produjo un error de cálculo de distancia de miles de kilómetros en el periplo del famoso marinero. De lo que estamos hoy en día y de manera segura es que el genovés ni descubrió nuevas tierras y tampoco fue el primero en pensar que andando en una sola dirección se devolvería al lugar de origen de donde partió: todo eso ya lo había pensado el ilustre matemático griego.
Varios siglos después la ciudad de Alejandría (y todo el Mediterráneo) fueron conquistados por el Imperio Romano y en el año 100 después de Cristo nace Claudio Tolomeo quien al igual que Eratóstenes fue un gran matemático, geógrafo, astrónomo y astrólogo (la astrología era considerada toda una ciencia para aquella época). Le tocó vivir y trabajar en la ciudad de Alejandría así que tampoco tenemos duda alguna que todo su trabajo Geographia estuvo basado y/o influenciado por la Geographika de Eratóstenes de Cirene.
Claudio Tolomeo se dio a la tarea de volver a documentar de manera detalla el gran Imperio Romano para lo cual tomó el concepto de paralelos y meridiano pero con la salvedad que asignó un sistema de referencia cero a un meridiano que atravesaba unas legendarias Islas Afortunadasubicadas en lo que hoy conocemos como el océano Atlántico. Recordemos que lo que hoy conocemos por España en realidad era la provincia romana de Hispania (y lo que hoy en día es Gran Bretaña o Reino Unido era la provincia romana de Britania) así que los romanos conocían palmo a palmo a lo que hoy llamamos continente Europeo y como barrera natural hacia el oeste tenían al oceáno Atlántico. Como ellos conocían que al este había muchas tierras que Alejandro Magno conquistó (Imperio Persa lo que hoy conocemos como Irán) y otras que no llegó a conquistar en su totalidad (Imperio de Magadha lo que hoy es India) imaginamos que Claudio Tolomeo partió desde cero en el punto donde ellos consideraban nada de tierra firme había, a excepción de las pequeñas islas nombradas por muchos otros estudiosos y que consideraban reales sin saber a ciencia cierta si de verdad existían.
Tan lejos llegó Claudio Tolomeo en su labor, que hasta incluyó a Sinae (hoy China) en su mapa del mundo conocido, el cual colocamos aquí para su comparación con nuestros mapas actuales ¡todo un extraordinario logro del mundo antiguo!
Mapa del mundo según Claudio Tolomeo (mapa transcrito del original en el año 1500 aproximadamente).
A la izquierda podeís ver el «meridiano cero» o «meridiano principal«, a la izquierda nada (según ellos pero aquí estamos nosotros en América) y a la derecha tierras y más tierras (hoy en día Europa, norte de África, Medio Oriente, Asia Menor y Asia).
Es justo mencionar que la milenaria cultura india, para el siglo IV de nuestra era, estaba sumamente avanzada en sus estudios astronómicos y había fijado su propio meridiano cero en la ciudad de Ujjain, esto según consta en en la doctrina Surya (osea Surya Siddhanta, los cuales comenzaron a ser recopilados a partir del siglo VI d.c.) pero como siempre Europa en su miopía solamente podría saber de ello por medio de los árabes que conquistaron y evangelizaron gran parte de dichas tierras. Pero primero…
Mil cuatrocientos años de obscuridad.
Si, así como lo podeís leer, pasaron más de mil cuatrocientos años de obscuridad tecnológica en Europa, quienes vivían en chozas y tiritando de frío con excepción de los «grandes» castillos de los monarcas y su propiedad feudal. Solamente el imperio musulmán se encargó de centralizar el conocimiento en las ciudades de la Meca y Medina por medio de su orden sagrada y obligatoria de peregrinación de sus fieles. Es deber de todo creyente de las enseñanzas de profeta Mahoma el visitar esa región al menos una vez en su vida lo que derivó en la llegada desde los más recónditos lugares del impero (incluida España) de toda la ciencia y tecnología conquistadas y traducidas al idioma árabe.
Concretamente la casi totalidad de la península ibérica estuvo bajo su control por al menos 900 años y allí aún están sus obras: el Palacio de la Alhambra reposando junto con los acueductos romanos como el de Sevilla, y muchísimas más. Es por ello que cuando los reyes católicos logran expulsar a los moros por la misma época en que Cristóbal Colón llega a América se produce el Renacimiento y gran parte fue basado gracias a que los eruditos árabes conservaron el conocimiento griego y romano de manera sistematizada y renovada. Debido a esto nuestros números son arábigos (traidos de la India a la cual también conquistaron) pues el sistema de numeración romano era (y es) harto difícil para las operaciones aritméticas; y nos legaron el álgebra que no es más que derivada, en parte, de los trabajos de Eratóstenes y Tolomeo (también nos legaron muchísimas otras cosas más que no vienen a tema en este artículo).
Es entonces preciso saber que conocemos el concepto abstracto del cero, inventado por los indios, tomados por los persas y traidos a nosotros por los árabes (ojo los mayas también desarrollaron el concepto del cero de manera paralela) y con el resto de dichos números los usamos para identificar nuestros actuales meridianos.
Se conoce que en el año 1477 en la ciudad de Boloña, Italia, se imprimieron copias de los mapas de Tolomeo donde se mostraba el meridiano cero e incluso Cristóbal Colón lo menciona en sus viajes, referencias que luego dieron pie en 1494 al Tratado de Tordesillas entre los reinos de España y Portugal para repartirse las tierras visitadas por Colón para España y el continente africano para Portugal, delimitadas por medio de una linea de norte a sur (primer esbozo moderno del meridiano cero) con el pequeño detalle de la desviación (o mejor dicho región que no conocían que existía: lo que ahora es Brasil, antigua colonia portuguesa).
En 1541 el célebre cartógrafo Gerardus Mercator hace su proyección terráquea de 41 centímetros donde ubicaba su meridiano cero en las islas Canarias (y se numeraba de 0° a 360° no como ahora que tenemos negativos y positivos pero más adelante veremos por qué esta particular visión de ubicación al este u oeste del meridiano cero).
Ya doscientos años después del comienzo de la explotación a mansalva de nuestras tierras americanas por parte de los europeos fueron tres los reinos de occidente que comenzaron a destacar en la exploración marítima: España, Portugal e Inglaterra (vale la pena acotar que en el oriente China fabricó la mayor flota conocida por el hombre -de 1405 a1433- pero inexplicablemente su emperador mandó a quemar una por una todas las embarcaciones, sumando a China en un aislamiento de más 500 años el cual fue luego aprovechado por los portugueses para tomar y fundar a Macao e Inglaterra a tomar y fundar a Hong Kong).
Pero fueron los ingleses quienes influenciados por sus ancestros vikingos -quienes colonizaron Islandia y Groenlandia- los que se dieron cuenta que era necesario un sistema de longitudes para determinar exactamente a dónde debían navegar con seguridad para continuar explotando nuestros recursos naturales muy solicitados y no conocidos hasta entonces en Europa: maíz, tomate y patata -papa- (la cual los irlandeses comían sus hojas al ignorar el conocimiento indígena americano y enfermando debido al veneno) así como metales y piedras preciosas (plata, oro, diamantes, esmeraldas, etc.). El botín era muy apetecible y jugoso, digno de invertir dinero en una empresa de investigación para una navegación segura de los barcos «mercantes».
En 1675 por orden del Rey de Inglaterra se comenzó la construcción del Observatorio de Greenwich, edificación que posteriormente tomaría protagonismo luego debido sus novedosas observaciones astronómicas, incluso de la mano del mismísimo Don Isaac Newton, padre del cálculo moderno y la ley de la gravedad. De allí que dichas instalaciones fueron consideradas cunas del conocimiento en ese reino.
En 1714 en Inglaterra formaron la «Junta de longitud» quienes ofrecían grandiosos premios para aquellos que pudieran determinar, con diversos márgenes de error, el cálculo de las distancias navegadas. Es por entonces que nace la singladura la cual necesitaba exactitud cronométrica, es decir, con muy poco margen de error so pena de desviarse unas decenas de kilómetros. España y Francia (país que incluso tuvo su propio meridiano cero en la ciudad de París por capricho del Cardenal Richelieu en 1634) y también ofrecieron similares incentivos pero tuvieron poca suerte en sus resultados.
El dinero ofrecido por el reino inglés surtió buen efecto logrando atraer a muchos científicos y que produjeron soluciones geniales (cada quien ganó su premio según cuantía de importancia) pero fue la solución que propuso John Harrison con su cronómetro marino la que dio en el clavo. El famoso científico Robert Hook se molestó por considerar que le habían robado su idea, el cronómetro marino, y hasta el mismísimo Isaac Newton (a quien también Hook lo llamaba plagiador de sus obras) dudaba que se pudiera construir un aparato mecánico que pudiera conservar con precisión la hora que llevaran los barcos al partir de los puertos de Inglaterra. Podéis leer un excelente artículo sobre la evolución «reciente» de los relojes mecánicos (e incluso relojes atómicos) donde podréis constatar la magnitud del logro del ingenioso Harrison, no obstante el precio de cada uno de sus aparatos (más adelante sabréis cuánte, seguid leyendo por favor.)
Los estudiosos ingleses ya sabían que los meridianos separados de 15° de arco equivalían a una hora de luz solar, el problema era que no tenían un reloj exacto a partir del cual calcular, según la sombra proyectada por el sol a la misma hora cada día -de allí la necesidad de saber la hora exacta- en cual longitud estaban navegando. Harrison lo logró al inventar no uno sino cuatro prototipos de reloj, cada cual más exacto que el anterior y pidió que los enviaran a las lejanas colonias británicas en la India, y al regresar y confrontar los valores de cada capitán de navío el Rey procedió a pagarle su dinero bien ganado.
Problema de longitud solucionada por los ingleses.
Pero tardaron más de 100 años en implementarlos en cada barco de la marina real, sería el equivalente a fabricar naves espaciales hoy en día (¡de hecho, el costo de tres relojes marinos equivalía al de un navío!), tecnología muy avanzada en aquellos años y era costosa, no obstante se pagó sola al aumentar el número de barcos que regresaban sanos y salvos cargados de tesoros habidos -y mal habidos- en allende de los mares.
De 1720 a 1742 Don Edmond Halley (sí, el mismo que le da nombre al famoso cometa por predecir su órbita de 76 años) fue el astrónomo real encargado de los cálculos marítimos (toda la parte científica de tiempo, latitud y longitud) debido a que el cálculo de la hora se hacía por las noches según la posición de las estrellas y por medios de telescopios especiales. En resúmen, del tiempo sidério es más exacto por basarse en estrellas que están a una muchísima mayor distancia que nuestro Sol -y su tiempo solar- por lo que se pueden considerar «fijas» en la bóveda celeste (luego veremos que a lo largo de los siglos hasta esas estrellas lejanas se han movido levemente lo cual ocasiona minúsculos errores en la medición del giro de la Tierra sobre su propio eje). También se ha tomado en cuenta la derivación de las placas continentales, lo cual ha ocasionado el movimiento de centímetros del observatorio de su lugar original con respecto al resto del mundo.
De 1784 a 1790 en un proyecto conjunto entre Francia e Inglaterra se logró triangular el Observatorio de Greenwich y el Observatorio de París logrando determinar que estaban separados por un segundo de arco de la circunferencia terrestre.
En 1835 Don George Biddell Airy fue nombrado «Astrónomo Real» y aprovechó todos los datos astronómicos observados y recogidos desde 1750 a 1830 en el observatorio Greenwich y con el paso de los años, estudiando y compilando (incluyendo muchos datos lunares) le llevó en al año de 1851 a establecer el meridiano cero de Greenwich.
En 1876 el ingeniero escocés Sanford Fleming se fue a vivir y trabajar en la construcción de las líneas de ferrocarril de Canadá, país conocido por su extensa geografía y por tener 4 y medio husos horarios (-03:30 a -08:00 GMT) lo cual traía terribles problemas para traer sincronización a las estaciones de tren ubicadas en diferentes ciudades como Vancouver (-08:00 GMT) y Montreal o Québec (-03:00 GMT) sin contar los territorios en Groenlandia (adonde no llega el tren por la muy poca cantidad de población). Es este ingeniero, buscando una solución a su problema (un problema mundial ya estudiado por el transporte marítimo a quienes la exactitud horaria de viaje no era mayor problema debido a la lentitud de los barcos a vela) que propone normalizar al planeta en 24 husos horarios y cuya propuesta es aceptada internacionalmente en 1884.
Es por esta misma época que en Japón, de 1779 a 1871, estableció su meridiano cero cerca de la ciudad de Kyoto. Pero como mencionamos, en octubre de 1884 para ser exactos, la reunión de 22 naciones con mucho poderío tanto militar como tecnológico, dio como resutlado que se escogiera el meridiano cero al meridiano que atraviesa Greenwich (con ciertas inexactitudes debido a la incipiente ciencia pero no viene al caso mencionar).
Venezuela Huso Horario.
Historia del huso horario de Venezuela.
Lamentablemente los ferrocarriles en Venezuela fueron pequeños y de corta longitud, las potencias extranjeras tenían (y tienen aún) una fuerte aprehensión a la transferencia de tecnología a nuestro país. Por ello nuestras materias primas siempre están a mediana distancia de los puertos del Mar Caribe o tierra muy adentro en nuestro poderoso y caudaloso río Orinoco (más de 2 mil kilómetros de longitud) y el tren nunca fue desarrollado, por ello nuestra vida transcurría de manera pausada con viajes de semanas entre ciudades lejanas (Maracaibo, Caracas o Cumaná).
Modificación del año 1912.
No fue hasta este año que se construyó el Observatorio Cagigal y se le dio el mismo papel dado al Observatorio de Greenwich: sería el encargado de los estudios astronómicos y por ende el control de la hora. En aquel año se decide plegarse al meridiano 67,5°, a mitad de distancia entre los meridianos 60° y 75° (-04:00 GMT Y -05:00 GMT) por simple estudio geográfico (recordad que el uso de la electricidad no había llegado a nuestro país pues apenas se estaba implantando en la costa este de los Estados Unidos).
La explicación del por qué la primera hora legal que tuvo Venezuela fue de cuatro horas y media de diferencia con el meridiano de Greenwich (-04:30 GMT) está muy claramentae explicado por la «Asociación Larense de Astronomía«.
Modificación del año 1965.
Recomendaciones de la Oficina Internacional de la Hora, con sede en Paris, Francia, condujeron al gobierno a decretar el 1 de enero de 1965, la escogencia del Meridiano 60° que pasa por Punta Playa, para ese entonces Territorio Delta Amacuro, como el Meridiano que daría la Hora Legal para Venezuela.
De esta manera, para establecer la Hora Legal de Venezuela, había que restar 4 horas a la Hora del Meridiano Cero. En este sentido, cuando en Greenwich son las 12 del mediodía, en Venezuela son las 8 a.m. del mismo día. La otra opción que existía para el momento, el Meridiano 75°, fue rechazada de plano, pues el mismo no pasa por ninguna ciudad o población venezolana.
Modificación del año 2007.
El para entonces Ministro de Ciencia y Tecnología presentó ante el también para entonces Presidente de la República Bolivariana de Venezuela, ciudadano Hugo Rafael Chávez Frías, la propuesta de regirnos por el meridiano que atraviesa la ciudad de Villa de Cura, estado Aragua, por considerar que divide el país equitativamente tanto al este como al oeste. La principal razón esgrimida para ese momento era sincronizar la salida del sol con las actividades humanas porque era claro que a las 6 a.m. era penumbra y al encender luces se incrementaba el gasto eléctrico (los demás artefactos no influyen porque con o sin luz solar igual se enciende: cafeteras, radios, etc.)
Lo que notamos inmediatamente era que ya a las 6:30 p.m. se ocultaba el sol, lo que derivó en que muchos comenzaramos a laborar en «horario corrido» de 8 a.m. a 5 p.m. (una hora para almozar en el sitio de trabajo) a diferencia del siglo pasado que era de 8 a.m. a 12 m. y de 2 p.m. a 6 p.m. (dos horas para almorzar de la cual utilizabamos una hora para ir y venir a nuestros hogares). Es de hacer notar que los bancos estuvieron siempre adelantados a la época, ya a finales de los años noventa tenían el horario de trabajo actual de 8:30 a.m. a 3:30 p.m. (atención al público porque en realidad trabajan de 7:30 a.m. a 4:30 p.m.)
En realidad no fue para nada nuevo la medida, sino la vuelta al horario que expusimos en la modificación del año 1912. El nuevo huso horario entró en vigencia legal por medio Decreto Nº 5.693, con Rango Valor y Fuerza de Ley de Reforma Parcial de la Ley de Metrología y, para ser exactos, el artículo modificado referente a la hora legal fue el artículo N° 18 (podemos leer que también fueron modificados los artículos 1°, 5°, 8°, 13°, 14°, 16°, 22°, 27°, 28°, 30°, 34°, 35°, 38°, 39°, 42°, 43°, 46°, 54°, 56° y 57° -suprimidos-, 58° -ahora 56°-, 59° -ahora 57°-, 65° -ahora 63°-, 69° -ahora 67°-, 73° -ahora 71°-, 78° -ahora 76°-, 80° -ahora 78°-, 82° -ahora 80°-, 84° -ahora 82°- y 87° -ahora 85°-).
En la disposición final del Decreto con rango de Ley podemos leer el día y hora exacta para realizar el cambio: 09 de diciembre de 2007 a las 03:00 horas se convertiría automáticamente en 02:30 horas (ver siguiente imagen y video).
Decreto 5693 año 2007 disposición final 1Decreto 5693 año 2007 disposición final 2
En la enciclopedia electrónica Wikipedia mantienen siempre actualizada toda la información referente a la hora legal en Venezuela.
Ajuste de huso horario en sistemas GNU/Linux basadas en Debian.
El señor Alberto Capella Silva (cuenta Twitter @AlberKMan) en su blog personal publica la debida solicitud ante la organización Debian a fin de dar cabida a su «parche» y que sea insertada en al paquete «tzdata» para que miles de ordenadores que utilizan este sistema operativo puedan actualizar correctamente la hora el día 1° de mayo de 2016.
Descargamos esta actualización en una máquina virtual con Debian 7 y simulamos el cambio de hora para el día señalado, con propósitos didácticos.
Advertencia.
NO INTENTEN ADELANTAR FECHA Y HORA EN SUS ORDENADORES, EN ESTA ERA MODERNA EL HACER ESTA MANIPULACIÓN FORZADA DE FECHA Y HORA INUTILIZARÁ LOS CERTIFICADOS DIGITALES DE LAS PÁGINAS WEB SEGURAS (HTTPS): no podrán utilizar Twitter, su banco de confianza, ni Youtube ni cualquier otra página segura.
Venezuela Huso Horario: Gaceta Oficial Extraordinario N° 6.224.
Con el Decreto Presidencial N° 2.301 queda legalmente establecido el cambio del Huso Horario para el 1° de mayo de 2016 tal como reza la Gaceta Oficial Extraordinario N° 6.224 la cual podéis descargar desde este vuestro humilde sitio web o en su defecto la dirección del reportaje de «Venezolana de Televisión» (ente gubernamental) en el nuestro siguiente mensaje en Twitter (un «tuit» nuestro):
En Gaceta: Oficializado cambio del huso horario en todo el territorio venezolano https://t.co/yfS3IiG8SD
Con el supremo compromiso y voluntad de lograr la mayor eficacia política y calidad revolucionaria en la construcción del Socialismo y la refundación del Estado venezolano, basado en los principios humanistas, sustentado en condiciones morales y éticas que persiguen el progreso de la patria y del colectivo, por mandato del pueblo y en ejercicio de las atribuciones que me confieren el artículo 236 numerales 2 y 11 de la Constitución de la República Bolivariana de Venezuela, en concordancia con el artículo 46 del Decreto con Rango, Valor y Fuerza de Ley Orgánica de la Administración Pública y el artículo 3° del Decreto No 2.184 de fecha 14 de enero de 2016, publicado en Gaceta Oficial de la República Bolivariana de Venezuela N° 6.214 Extraordinario, de la misma fecha, mediante el cual se declara el Estado de Emergencia Económica en el territorio nacional, prorrogada su vigencia mediante Decreto N° 2.270, de fecha 11 de marzo de 2016, publicado en Gaceta Oficial República Bolivariana de Venezuela N° 6.219 Extraordinario, de la misma fecha; así como lo dispuesto en el artículo 6° de la Ley Orgánica Sobre los Estados de Excepción, en Consejo Ministros,
CONSIDERANDO
Que el 09 de diciembre de 2007 entró en vigencia el cambio del huso horario empleado por Venezuela, resultando en una disminución de media hora en los relojes de los venezolanos y las venezolanas, y en cada una de las actividades económicas y de desarrollo social del país, con la finalidad de optimizar la calidad de vida del pueblo, con miras al incremento de la productividad nacional, sobre la base del aprovechamiento de as ventajas que ofrece la estratégica ubicación geográfica del país,
CONSIDERANDO
Que en la actualidad, vistos los efectos del fenómeno climático denominado «El Niño», ha sido necesaria la toma de medidas para el ahorro energético, motivo por el cual se ha requerido la revisión del actual huso horario, presentándose circunstancias que obligan a la realización de un cambio, que permita lograr que la actividad diaria del pueblo venezolano tenga un mejor aprovechamiento en los diferentes ámbitos de salud , orgánicos, funcionales, intelectuales, productivos y ecológicos, en procura de disponer de más tiempo con la luz del sol y de esta froma propender a ahorrar energía y aprovechar la convivencia familiar, social y recreativa,
CONSIDERANDO
Que el establecimiento de esta medida se traducriá en una importante herramienta de racionalización del uso de la energía eléctrica, como medio para propulsar la transformación del sistema económico , a través de la reducción del gasto de combustible asociados a la generación de esa energía, así como la reducción en la emisión de gases contaminantes a la atmósfera, lo cual deberá repercutir en una disminución importante de la contaminación ambiental y el ahorro de recursos del Estado Venezolano.
DICTO
El siguiente,
DECRETO N° 14 EN EL MARCO DE LA EMERGENCIA ECONÓMICA, MEDIANTE EL CUAL SE MODIFICA EL HUSO HORARIO EN TODO EL TERRITORIO DE LA REPÚBLICA BOLIVARIANA DE VENEZUELA
Artículo 1º.
Se modifica la hora legal en todo el territorio de la República Bolivariana de Venezuela, la cual pasará a ser la equivalente a la del tiempo universal coordinado, disminuida en cuatro horas (UTC -4), en los términos indicados en el presente Decreto.
Artículo 2º.
En virtud del cambio de huso horario que se establece mediante este Decreto, se aumentará en treinta (30) minutos la hora oficial de la República Bolivariana de Venezuela, lo cual conlleva a la utilización del huso horario correspondiente a las menos cuatro horas, con relación al meridiano de Greenwich (UTC -04:00).
Las autoridades nacionales, estadales y municipales cuidarán que todos los relojes de servicio público registren el mencionado cambio de hora, e igualmente procurarán, por todos los medios de divulgación que estén a su alcance, facilitar el proceso de adaptación de la población y las actividades económicas del país a la nueva hora legal.
Las personas naturales y jurídicas en todo el país están en la obligación de tomar las previsiones necesarias para asegurar la continuidad de las actividades en todos los sectores económicos de la vida nacional y evitar interrupciones en la prestación de servicios y la disposición oportuna de bienes en todo el territorio nacional, de conformidad con la información, regulaciones e instrucciones emanadas a tal efecto del Ejecutivo Nacional, con ocasión del cambio de hora legal establecido en este Decreto.
Artículo 3º.
El presente Decreto entrará en vigencia el primero de mayo de 2016 a las dos horas con treinta minutos antes meridiem (02:30 a.m.) que, para todos los efectos legales y de orden oficial, y como consecuencia de la entrada en vigor de este Decreto, se computará inmediatamente como las tres horas antes meridiem (03:00 a.m.) de dicho día primero de mayo de 2016.
Artículo 4º.
De conformidad con lo dispuesto en el artículo 6° de la Ley Orgánica sobre Estados de Excepción, la medida de modificación de la hora legal en todo el territorio de la República Bolivariana de Venezuela establecida mediante este Decreto, será ratificada en Consejo de Ministros, a los efectos de la permanencia de su vigencia y eficacia, una vez culminado el plazo establecido en el Decreto Nº 2.184 de fecha 14 de enero de 2016, publicado en Gaceta Oficial de la República Bolivariana de Venezuela N° 6.214 Extraordinario, de la misma fecha, mediante el cual se declara el Estado de Emergencia Económica en el territorio nacional, prorrogada su vigencia mediante Decreto N° 2.270, de fecha 11 de marzo de 2016, publicado en Gaceta Oficial de la República Bolivariana de Venezuela N° 6.219 Extraordinario.
Artículo 5º.
El Ministro del Poder Popular para la Educación Universitaria, Ciencia y Tecnología, queda encargado de la ejecución de este Decreto.
Dado en Caracas, a los quince días del mes de abril de dos mil dieciséis. Años 205º de la Independencia, 157º de la Federación y 17º de la Revolución Bolivariana.
Publicado el sábado 9 de abril de 2016. Actualizado el sábado 28 de marzo de 2020.
Por medio de Twitter uno se entera de muchas cosas, dejando a un lado el maligno cotilleo, claro está. Una de esas cosas buenas es conocer que existe «Pro Git Book» el cual fue escrito por Scott Chacon (empleado hoy en día en la empresa GitHub) y Ben Straub (quien ahora trabaja en la empresa Zendesk) sobre el famoso sistema de administración (de versiones) de código fuente que tal como su nombre pomposo indica, es un software orientado a mantener en orden nuestros «apuntes» (ea , que estamos en el siglo XXI y ya debemos dejar de hacer esto, que yo también lo hacía, perdonadme Romero):
Notes from a 11-day game in 1986 called Twilight Treasures. Published on cover of Nibble in 1989 as Treasure Dive. pic.twitter.com/leub2Je7bz
Aunque es difícil pensar con el estómago vacío, no nos damos por vencidos y seguimos adquiriendo y COMPARTIENDO conocimientos. En esta oportunidad comenzamos con JavaScript -más vale tarde que nunca- la cual es una potente herramienta del lado del cliente (luego veremos que también -con ayuda de algunos entornos de trabajo «framework»- se usa del lado de servidor web).
Pues que con los bajos precios del petróleo aquí en Venezuela tenemos una fuerte crisis económica y apenas hemos podido pagar el alojamiento de esta vuestra página web -humilde sitio- y hemos estado alejados de la escritura. En la década de los 90 nos sucedió igual -duramos una semana comiendo sólo arroz- pero es de grata recordación una película que vimos en esa época sobre «El Diario de Ana Frank» -transmitida por una televisora llamada «Niños Cantores«- y que nos recuerda que podríamos estar mucho peor –mal de muchos, consuelo de tontos-. Pero lo cierto del caso es que el libro se escribió y existe, y es una prueba de la perseverancia y esperanza de la humanidad.
Por ello decidimos seguir preparándonos para el futuro, ya vendrán días de sol luego de estos días de lluvia -y hasta de tormenta- SEGUIMOS, NO NOS DETENEMOS. Retomamos, entonces, el tema de la informática desde sus bases, y algo que desde que estamos conectados a internet y aún usamos día a día es el «Internet Protoco version 4» o, por su acrónimo en inglés, IPv4. Simplemente el IPv6 viene a ser el sucesor (¡ea, que nos han volado la versión 5!) y para decirlo en forma llana, pues viene a proporcionarnos, prácticamente, direcciones IP infinitas, es decir, números de identificación exclusivas para cada adaptador de red (que eso ya lo sabéis, por ejemplo es bastante común que cada ordenador portátil tenga hoy en día al menos 2 maneras de conectar al internet: por ethernet o por WI-FI) pues cada uno de ellos tiene una dirección IP independendiente (luego veremos que esto no necesariamente así en IPv6).
Historia del protocolo IiPv6.
Vint Cerf, «Evangelista» en Jefe en la empresa Google, y uno de los fundadores del internet, expone la próxima versión del internet, IPv6, y por qué la necesitamos.
Cuando el internet fue puesto en práctica en 1983, nadie nunca soñó que habrían millardos de dispositivos y usuarios intentando estar en línea. Pero así como una red de telefonía se queda sin números telefónicos para sus abonado, el internetactual se quedó sin direcciones IP en 2013, y si no implementamos el Protocolo de Internet v6 (IPv6), no tendremos el espacio que necesitemos para que el internet crezca y esto podría liarlo, hacerlo inseguro e insustentable.
En el vídeo el señor Cerf nos explica con mayores detalles, usad los subtítulos generados en castellano (spanish) si es necesario:
Allí tenéis, pues, los enlaces PUROS Y DUROS hacia los conceptos, eso os llevará bastante tiempo analizar y asimilar o en el caso de los más avezados, recordar.
Aprendiendo de los mejores.
Debemos aprovechar el uso de la tecnología al máximo, es por ello que encontré esta exposición en Youtube, cortesía de «el maligno Alonso» (no nos asustéis, no tiene nada que ver con religión) y describe de la siguiente manera:
Conferencia de Rafael Sánchez (@r_a_ff_a_e_ll_o) de Eleven Paths sobre cómo montar un escenario de hacking IPv6 en Internet con un VPS y túneles IPv4/IPv6. Más información sobre esta sesión en esta URL.
Sin más aquí os dejo el vídeo, que va de lo más básico (una muy buena introducción a los conceptos y «bien machacado») hasta lo más avanzado ( IPv6 dentro túnel VPS con IPv4, máquinas virtuales, Kali Linux, nmap, etc.) que es, como dicen ellos allá «para flipar» (aquí decimos «tripear» del inglés «to trip», viajar o «elevarse»):
Podemos destacar los siguientes datos de la conferencia:
Podemos asignar a cada centímetro cuadrado de la superficie de la Tierra una dirección IPv6 (nos atrevemos a decir, además, que incluso sobrarían direcciones).
En Alemania está prohibido la exploración «escaneo» de red, osea, el estar revisando direcciones IP a ver cuáles tienen puertos abiertos «en escucha» -MUY IMPORTANTE este dato
En España aún no utilizan IPv6, vamos que para Venezuela lo puedo entender pero no justifico que allá estén retrasados con eso (una crítica con todo respeto).
NAT es una chapuza, estamos muy de acuerdo con eso.
En la conferencia no lo comenta pero CONSIDERAMOS -olvidemos por un momento que existe el «Wi-Fi«- el modelo «modem»+»router» desaparecerá porque precisamente los enrutadores fueron hechos para simplificar la implementación de una NAT, le facilita la vida a los usuarios. QUEREMOS DECIR que con IPv6 usaremos «modem«+»ethernet hub» o «modem»+»network switch» que aunque parecen lo mismo NO LO SON. Con el «ethernet hub» se envían, sin retraso, cada paquete a todas las computadoras conectadas al aparato. EN CAMBIO el segundo, «network switch» sólo enviará los paquetes a la máquina a la cual está destinada PERO con el costo de un retraso de hasta 1,2 milisegundos ya que debe recibir todo el paquete, leerlo y analizar de dónde viene y a donde va. Para mayor información, leer este excelente, corto y conciso manual (parece tecnología vieja PERO NO LA SUBESTIMÉIS por favor)
Para cada átomo en la Tierra hay 100 direcciones IPv6.
Podemos comenzar con esa abrumadora cifra: podemos asignar 100 direcciones IPv6 a cada átomo en la Tierra, al haber tanta oferta el «negocio» de las direcciones IP fijas o estáticas caerán a costo cero, ¡imaginamos!
I.G.T.F. = Impuesto a las Grandes Transacciones Financieras.
En una entrada anterior publicamos un análisis a la Ley que crea un impuesto a las transacciones financieras, y allí insistimos en llamarla «impuesto al débito bancario» tal como históricamente había sido nombrada (ufff que si os gusta la historia contemporánea contada por este vejete y vivida en carne propia pues tenéis aquí un testigo de esa época y allí lo relato con todo detalle).
Son 5 hojitas en formato pdf (gracias a pdfSam y lo recomiendo para dividir y combinar documentos en ese formato desde el explorador de archivos de Ubuntu, click derecho sobre archivo pdf, acciones); con este aumento el sueldo mínimo en Venezuela se ubica en Bs. 11.577,81 (si tomamos como referencia el SIMADI serían aproximadamente US$ 58 mensuales) según Decreto Presidencial N° 2.243.
Gaceta Oficial N° 40.852, sumario.
Para descargar dicho ejemplar electrónico de la Gaceta Oficial desde nuestra página web —>haga click aquí <–.
Se debe recalcar que, en el mismo ejemplar de gaceta, se encuentra publicado el Decreto Presidencial N° 2.244 el cual establece el aumento de la Ley de Cestaticket Socialista de una unidat tributaria y media (1,5 U.T.) diarias a dos unidades tributarias y media (2,5 U.T.) diarias POR ESCRITO y no como declaró el Presidente en transmisión conjunta de radio, televisión e internet -error que ha cometido ya varias veces- de tratarlo como porcentaje (sic) «de 1,5% a 2,5%», vaya ese detalle por delante.
Aquí tienen la transcripción tomada de la Gaceta Oficial 40.852, de mi propio puño con propósito puramente informativo, usted debe consultar el documento original y no tomar este texto como oficial debido al riesgo de alguna “fe de errata“.
Que el Estado democrático y social, de Derecho y de Justicia garantiza a los trabajadores y las trabajadoras la participación en la justa distribución de la riqueza generada medainte el proceso social de trabajo, garantizándoles que su salario sea suficiente y le permita vivir con dignidad y cubrir para sí y su familia las necesidades materiales, sociales e intelectuales como condición básica para avanzar hacia la mayor suma de felicidad posible como objetivo esencial de la Nación que nos legó El Libertador,
CONSIDERANDO
Que es principio rector del Gobierno Revolucionario proteger a la familia venezolana de la guerra económica desarrollada por el imperialismo, que induce la inflación exacerbada ejecutada por la oligarquía apátrida, como instrumento de acumulación de capital en manos de una minoría,
Que es deber del Estado mantener estos convenios para cumplir con el compromiso democrático, la equidad, la política de recuperación sostenida del poder adquisitivo de la población venezolana, así como la dignificación de la remuneración del trabajo y el desarrolo de un modelo productivo soberano, basado en la justa distribución de la riqueza, capaz de generar trabajo estable y de calidad, garantizando que los trabajadores y trabajadoras disfruten de un salario mínimo igual para todos y todas,
Se fija un aumento del salario mínimo nacional mensual obligatorio en todo el territorio de la República Bolivariana de Venezuela, para los trabajadores y las trabajadoras que presten servicios en los sectores público y privado, sin perjuicio de lo dispuesto en el artículo 2° de este Decreto, del veinte por ciento (20%) a partir del 1 de marzo de 2016, estableciéndose la cantidad de ONCE MIL QUINIENTOS SETENTA Y SIETE BOLÍVARES CON OCHENTA Y UN CÉNTIMOS (Bs. 11.577,81) mensuales.
El monto del salario diurno por jornada será calculado con base a la resultante del salario mínimo mensual a que se refiere este artículo entre treinta (30) días.
Artículo 2°.
Se fija el salario mínimo nacional mensual, obligatorio en todo el territorio de la República Bolivariana de Venezuela para los y las adolescentes aprendices que participan en el proceso social de trabajo desde las entidades de trabajo públicas y privadas, de conformidad con lo previsto en el Capítulo II del Título V del Decreto con Rango, Valor y Fuerza de Ley Orgánica del Trabajo, los Trabajadores y las Trabajadoras, a partir del 1° de marzo de 2016, en OCHO MIL SEISCIENTOS DIEZ BOLÍVARES CON VEINTIÚN CÉNTIMOS (Bs. 8.610,21) mensuales.
El monto del salario por jornada diurna aplicable a los aprendices y adolescentes será calculado con base a la resultante del salario mínimo mensual a que se refiere este artículo dividido entre treinta días.
Los salarios mínimos establecidos en este Decreto se pagarán en dinero efectivo y no comprenderán, como parte de los mismos, ningún tipo de salario en especie.
Artículo 4°.
Se fija como monto de las pensiones de las jubiladas y los jubilados, pensionadas y pensionados de la Administración Pública, el salario mínimo nacional obligatorio establecido en el artículo 1° de este Decreto.
Se mantendrán inalterables las condiciones de trabajo no modificadas en este Decreto, salvo las que se adopten o acuerden en beneficio del trabajador y la trabajadora.
Este Decreto entrará en vigencia a partir del 1° de
marzo de 2016.
Dado en Caracas, a los diecienueve días del mes de febrero
de dos mil dieciséis. Años 205° de la Independencia, 156° de la Federación y 17° de la Revolución Bolivariana.
Ejecútese,
(L.S.)
(siguen firmas del Presidente, Ministras y Ministros).
Que el Estado debe promover el desarrollo económico con el fin de generar fuentes de trabajo,alto valor agregado nacional y elevar el nivel de vida de la población para garantizar la seguridad jurídica y la equidad en el crecimiento de la economía a los fines de lograr una justa distribución de la riqueza, mediante una planificación estratégica, democrática y participativa,
CONSIDERANDO
Que es obligación del Estado, proteger al pueblo venezolano de los embates de la guerra económica propiciada por factores tanto internos como externos; razón por la cual, considera necesario equilibrar los diferentes eslabones del proceso productivo y asegurar el acceso de la población a todos los bienes y servicios requeridos para su desarrollo humano,
CONSIDERANDO
Que es interés del Ejecutivo Nacional, asegurar los niveles de bienestar y prosperidad de los trabajadores y las trabajadoras y de su núcleo familiar.
DECRETO
Artículo 1°.
Se ajusta el pago de la Cestaticket Socialista para los Trabajadores y Trabajadoras que presten servicios en lso sectores públicos y privados, a dos y media Unidades Tributarias (2,5 U.T.) por día, a razón de treinta (30) días por mes, pudiendo percibir hasta un máximo de setenta y cinco (75) Unidades Tributarias al mes, sin perjuicio de lo dispuesto en el artículo 7° del Decreto con Rango, Valor y Fuerza de Ley del Cestaticket Socialista para los Trabajadores y Trabajadoras.
Artículo 2°.
Las entidades de trabajo del sector público y privado, ajustarán de conformidad con lo establecido en el artículo 1° de este Decreto, el beneficio de Alimentación denominado «Cestaticket Socialista» a todos los trabajadores y trabajadoras a su servicio.
Artículo 3°.
El ajuste mencionado en el artículo 1° de este Decreto, es de obligatorio cumplimientopor parte de los empeladores y empleadoras de todo el territorio de la República Bolivariana de Venezuela.
Este Decreto entrará en vigencia a partir del 1° de
marzo de 2016.
Dado en Caracas, a los diecienueve días del mes de febrero
de dos mil dieciséis. Años 205° de la Independencia, 156° de la Federación y 17° de la Revolución Bolivariana.
Ejecútese,
(L.S.)
(siguen firmas del Presidente, Ministras y Ministros).
Son 3 hojitas en formato pdf (agradezco a “pdfsam” y lo recomiendo para dividir y combinar documentos en ese formato); con este aumento las facturas de compra con monto inferior a 20 U.T. (Bs. 3.540,00) podrán ser ingresadas en “caja chica” sin hacerle retención de IVA (Contribuyentes Especiales); también aumentan automáticamente el Cestaticket Scoialista para los Trabajadores y Trabajadoras, el costo de emisión de los pasaportes, multas y un sinfín de cosas más {véase el uso cotidiano de la U.T. en Wikipedia en español por nosotros aportado, aunque otros wikipedistas insisten en borrar y bloquear – ataque certero al conocimiento libre 8-( , pero de todo hay en la viña del Señor – }.
Si desea descargarla COMPLETA desde el Tribunal Supremo de Justicia siga este enlace web.
La Unidad Tributaria es una medida que normaliza y mantiene actualizados, año tras año, los montos especificados en las leyes tributarias y reglamentos tributarios venezolanos, los cuales son en expresados en proporcionalidad directa (incluso en fracción y/o porcentaje) al valor actual de dicha Unidad Tributaria. Nació de la necesidad de ahorro de recursos materiales y humanos en la publicación al día con la inflación presente en el país, producida por la devaluación de la moneda venezolana y cuyo hito histórico comenzó con el Viernes Negro en el Gobierno de Luis Herrera Campins.
Antes de la creación de la Unidad Tributaria todo aumento en los valores tributarios debía ser publicado en la Gaceta Oficial de Venezuela1 para que entrara en vigencia, ocasionando un gran trabajo (con el consecuente gasto de dinero en tinta y papel) de imprimir cada año de nuevo las mismas leyes y reglamentos pero con la única diferencia de sus valores modificados.
Noticia via Twitter.
El valor actual de la Unidad Tributaria (U.T.) es de 177 Bs, Gaceta Oficial N° 40.846, fecha 11 de febrero de 2016 pic.twitter.com/LjOXyVqWJ3
Esta entrada es muy densa debido al lenguaje tributario utilizado en las Leyes y Providencias. No somos ni abogados ni licenciados, ni se deben tomar estas extensas líneas como «dogmas de fe»; consulten al profesional que los atiende para mayor información. Se corre el riesgo, debido a los larguísimos párrafos, que hagaís click hacia otras páginas web, o incluso que os quedéis dormidos o dormidas. No importa, si eres programador o programadora y tienes clientes que tributan al SENIAT os digo que volveréis por estos lares a leer y releer. Muy probablemente nos digaís que estamos equivocados, pues bien allí está nuestra cuenta Twitter (pública) abierta de par en par para recibir sus mensajes. En fin, aquí vamos.
Miércoles 31 de diciembre de 2015.
Gaceta Oficial Extraordinaria N° 6.210:
Impuesto Grandes Transacciones Financieras.
Decreto N° 2.169: «Decreto con Rango, Valor y Fuerza de Ley de Impuesto a las Grandes Transacciones Financieras«; seamos claros y sencillos: IMPUESTO AL DÉBITO BANCARIO (más adelante veréis que hay algo más, algo que nos obliga a programar software a quienes nada tenemos que ver con bancos -instituciones financieras-).
VirtualBox 5.0.14 es la última actualización a la fecha de hoy 22 de enero de 2016, nosotros usamos intensamente este entorno de virtualización tanto para servidores en producción como servidores en desarrollo. Esta última versión hoy la descargamos e instalamos sobre los servidores de desarrollo y dentro de unas dos semanas que hayamos probado su estabilidad y certeza de rapidez y eficiencia, será aplicado a los de producción.
La ingeniería social, aplicada al mundo de la informática, se basa en la premisa de que el usuario, ser humano al fin, es el eslabón más débil de la cadena, por lo tanto el más fácil de atacar.
En los ataques llevados a cabo mediante Ingeniería Social el eslabón débil al que se apunta es a las personas y su ingenuidad
Desde hace muchísimos años ya sabíamos esto pero, a nuestro juicio, quien popularizó el término gracias al éxito de la normalización (esto es, expresarlo en reglas, pocas por demás, y aplicarlas al pie de la letra y masivamente) fue Kevin Mitnick.
Todos queremos ayudar.
El primer movimiento es siempre de confianza hacia el otro.
No nos gusta decir «no».
A todos nos gusta que nos alaben.
Kevin Mitnick (fotógrafo: Matthew Griffiths).
Aunque vosotros no me lo estáis preguntando, igual os lo digo: la letra k de nuestro dominio web, donde están alojadas estas humildes líneas, es en honor a dicho cracker. Ah, y la fotografía que encabeza este artículo es Mister Kevin Mitnick. Dicho esto imaginad la cantidad de visitas que recibirá este entrada para divulgar nuestra idea (si alguien anteriormente la ha publicado -la idea que van a leer-, comunicadlo de inmediato por favor 😉 , arriba tenéis nuestra dirección en Twitter. ).
Así pues, arrancamos el 2016, con el enfoque a la seguridad donde más falla. ¡Sabíais que en los accidentes de aviación un alto porcentaje de casos ocurrieron por impericia y/o confusión y/o conducta natural del ser humano! Y estamos hablando de la tripulación, no hablemos ya del personal en tierra: mecánicos e incluso los que pesan el equipaje que llevamos, o los que montan la carga o equipaje en los aviones (que para todos los efectos es lo mismo, en este caso).
Pero la Administración Federal de Aviación (la FAA por sus siglas en inglés, precisamente del país que desarrolló masiva y comercialmente la aviación) dedica mucho más tiempo en encontrar la solución para prevenir futuros accidentes que tiempo en investigar las causas de cada accidente. Es decir, descubrir qué y cómo se estrella un avión toma tiempo y trabajo, pero prevenir dicho error a futuro es aún más trabajoso.La razón es simple: cuesta dinero implementar políticas de seguridad. Añada el hecho, además, que no se debe eliminar ni interferir en ninguna de las políticas de seguridad implementadas anteriormente, pues veis entonces que el asunto no va nada fácil, en lo absoluto. Tal como dice el hacker español Chema Alonso (ahora ejecutivo en Telefónica España) : «la gente quiere estar segura PERO NO QUIERE PREOCUPARSE POR LA SEGURIDAD«
Por estos lares hay refrán que ilustra lo anterior: «estar bien con Dios y con el diablo».
Un poco de historia.
El ejemplo de los aviones os lo colocamos para entrar de lleno en la seguridad informática, pero primero debemos describir, lo más breve y resumida posible, las «políticas de seguridad» implementadas anteriormente.
Por allá en el siglo pasado, a principios de la década de los noventa, utilizábamos el protocolo IPX/SPX de Novell Netware, un sistema operativo de red muy adelantado a su tiempo. No tuvimos acceso a internet de manera masiva hasta 1997 así que esas pequeñas red de área local con cable coaxial de 10 mbps eran verdaderas islas de datos. Vale decir que al desconectar un solo nodo por cualquier motivo, «colgaba» la red completa debido al uso de token, así que si alguien quería conectarse a la red pues no pasaba desapercibido, nos dábamos cuenta de inmediato. Y cuando por fin llegó el internet implementamos el TCP/IP para ciertas máquinas «avanzadas» en la red para repartir la conexión de marcado telefónico de los flamantes y nuevos modem PCI de 33 kbps (y luego los de 56 kbps) y todos tan felices y tan contentos, los datos del sistema de facturación e inventario corrían con cierto nivel de seguridad. Incluso por allá por 2004 ó 2005 hubo un incidente mundial del protocolo TCP/IP que nos dejó incomunicados por 2 días pero nunca se cayó el IPX/SPX.
Incluso hoy en día, en negocios pequeños, y a pesar que solo usamos TCP/IP con el fast ethernet o gigabit ethernet (100 ó 1000 mbps) con RJ45 (que detecta colisiones y que permite que alguien dentro de la empresa coloque una «T» para hacer un «ataque de hombre en el medio» por hardware o, más fácil aún, conectar un ordenador portátil a cualquier conector empotrado en pared para hacerlo por software) este sistema basado en «isla de información» sigue siendo relativamente seguro. Agreguemos el factor de red inalámbrica «wifi» y veremos que un atacante, sin necesidad de estar dentro de la empresa pero dentro del alcance de nuestra antena de red descartaría el método primero ya que le sería más fácil y cómodo «hackear» nuestro enrutador inalámbrico. Pero la tecnología llegó para quedarse, el inalámbrico tiene claramente sus ventajas que podemos observar acá:
Pueden intentar forzar la conexión inalámbrica (si usan WEP pues de hecho se conectarán indefectiblemente) o de irse de lleno y aplicar ingeniería social a nuestros empleados, más fácil aún.
Claro está, todo lo descrito anteriormente, conectarse físicamente a nuestra red de área local, sería el primer paso para un atacante, lo siguiente sería tener las contraseñas necesarias para lograr escalar privilegios ya sea en el mismo enrutador, en los sistemas operativos de cada computadora o en las bases de datos de los servidores. De nuevo la modernidad facilita las cosas: un atacante en cualquier parte del mundo intentará entrar por medio de nuestro proveedor de internet, pero a favor nuestro están los «muros de fuego» tanto de los enrutadores -aparatos o computadoras que hagan las veces de enrutador(es)- como en los sistemas operativos modernos de cada computadora. Si queréis ver un método sencillo de protección con un muro de fuego «firewall» escrito con IPTABLES visitad este enlace, es un ejemplo sencillo para proteger nuestra red de área local.
A pesar de todos estos obstáculos que hemos puesto para mantener a buen resguardo nuestros datos, he aquí en este mensaje o «tuit» que nos explican cómo obtienen las contraseñas hoy en día los «ciberdelincuentes«:
Como veis volvemos al principio de nuestro artículo: lo más fácil es lograr que los mismos empleados sean los que nos entreguen sus contraseñas, y si se niegan decirlas pues podemos hacer que nos las muestren. Esto se logra muchas veces con notar cual empleado de atención al público ha estado alejado de su computadora, generalmente para comer, y que llega a introducir su contraseña personal: allí lo abordamos con cualquier excusa, una consulta de precios, por ejemplo, mientras nos fijamos bien qué teclea, nos fijamos en sus manos ya que estará entretenido viendo el monitor y no se percatará de qué observamos atentamente las teclas que presiona. Aunque no lo creáis, hay personas que tiene una agudeza visual y excelente memoria para hacer esta pesca de contraseñas, así, «en vivo y en directo». Es por ello que nuestros bancos, guardianes de nuestro dinero, lo repiten hasta el cansancio: utilizemos contraseñas largas, amén de cambiarlas con cierta frecuencia.
Acá debemos volver al caso de las redes de área local de negocios pequeños, ya que los grandes utilizan el protocolo seguro https el cual encripta la información, previa implementación de claves públicas y privadas (ver anteriormente el ataque de «hombre en el medio»). Dichos sitios web pagan un alto costo por un certificado que garantiza, a nivel mundial, que uno está realmente conectado con el dominio web que uno introdujo para navegar y que, además, los datos enviados están encriptados, dando al traste con el plan que cualquiera haya implementado para interceptar los paquetes de datos que viajan mediante TCP/IP, el protocolo de red de facto.
En un negocio pequeño los servidores de datos los podemos implementar para que soporten https pero con la salvedad de que a cada ordenador le configuremos una excepción de seguridad -o instalemos el certificado generado por nosotros mismos con ayuda de SSH y scripts automatizados y masivos- en cada navegador web que tengan instalado cada ordenador con GNU/Linux. Todo sea por ahorrarnos un dinerillo en certificados digitales garantizados por terceros y servicios DNS.
Hypertext Transfer Protocol Secure (HTTPS).
Sin profundizar demasiado en este punto, solo vale recordar que el protoclo HTTPS es equivalente al protocolo HTTP pero establece una conexión segura, es decir, cifra la información para evitar que en el camino entre el usuario y el servidor cualquier tercera persona sea capaz de leer la información, siendo demasiado difícil su descifrado por no autorizados. En un principio utilizaba SSL pero luego se decantaron por un protocolo más seguro llamado TLS, sobre ambos pueden ahondar en su estudio en este enlace. El punto clave a tener en cuenta es que contamos con una conexión privada entre el usuario y nuestro servidor con la cual se puede enviar información sensible como números de tarjetas de crédito, contraseñas, etc.
Actualizado el sábado 30 de enero de 2016:
Leyendo las noticias acerca de las vulnerabilidades descubiertas por los hackers -Dios nos cuide NO sean crackers- nos enteramos que, bajo ciertas circunstancias muy especiales, el protocolo HTTPS puede ser vulnerado debido al uso de números primos«no seguros» -léase números primos «pequeños»- y el uso masivo de handshakescon el método Diffie-Hellman para reunir suficientes datos y aplicar un algoritmo antiguo muy conocido se puede llegar a descifrar los datos que transporta dicho servidor web. Por supuesto que estamos simplificando al máximo, allí tenéis los enlaces web en inglés con los detalles a fondo.
Guardando datos a buen resguardo.
Pero, aunque hayamos logrado resolver por alguna de las dos vías mencionadas en la sección anterior nos quedaría otro problema: ¿Cómo se guardan las contraseñas de los usuarios en las bases de datos -o en los sistemas operativos- para garantizar que estén a salvo de ojos maliciosos?
Volviendo al siglo veinte, por esa época las computadoras tenían muy poco poder de cálculo y debíamos arreglarnos con pocas líneas de código. Por 1994 ó 95, a petición de los usuarios que querían cuidar sus nuevos monitores CRT a colores, cuya pantalla se «quemaba» con la misma imagen fija (por ejemplo la consulta de precios, aún hoy es siempre la más usada) y dejaba marcas «fantasma» en ellas, tuvimos que programar un protector de pantalla basado en la teoría de fractales.
Para guardar los datos en disco duro de «manera segura», tampoco sobraba el poder de cálculo, así hicimos una función sencilla (y también muy fácil de descifrar) muy parecida a la que aún utiliza el lenguaje PHP con el función str_rot13 (podeis leer acerca de los métodos de encriptación desde lo más fácil hasta lo más difícil en este enlace en inglés). Para poder entender dicha función hay que tomar en cuenta que esos datos debían cifrarse y descifrarse rápidamente y sin mayor consumo de ciclos de reloj del CPU. Y aquí viene un concepto fundamental: debe funcionar rápidamente en ambos sentidos.
Aquí ustedes se estarán preguntando ¿porqué aún el lenguaje PHP ofrece esa función de encriptado siendo tan fácil de descifrar? De nuevo la respuesta es el costo. Dicho método sigue siendo barato en cuanto a uso de hardware se refiere y es utilizada para guardar extensos párrafos como éste, que vois disfrutáis, en una base de datos.
Suponiendo que, aunque obtuvieran las contraseñas para entrar a esa base de datos, pues no podrían modificar nada del texto pues resulta ininteligible a primera vista al ser humano y si llegaren a modificar algo, por puro vandalismo, nos percataríamos del acto ya que la entrada de blog mostraría texto extraño al ser descifrada (también podríamos realizar una función que copie -«respalde»- los textos y cada cierto tiempo -usando crontab– los compare y detecte alteraciones).
Si al párrafo anterior le aplicamos la función str_rot13 veríamos lo siguiente (como será guardada en la base de datos):
Fhcbavraqb dhr, nhadhr boghivrena ynf pbagenfrñnf cnen ragene n rfn onfr qr qngbf, chrf ab cbqeÃna zbqvsvpne anqn qry grkgb cbedhr erfhygn vavagryvtvoyr n cevzren ivfgn ny fre uhznab l fv yyrtnera n zbqvsvpne nytb cbe cheb inaqnyvfzb abf crepngnevnzbf qry npgb ln dhr yn ragenqn qr oybt zbfgeneÃn grkgb rkgenñb ny fre qrfpvsenqn.
Debo hacer la observación que dicha función NO soporta los caracteres extendidos (a partir de la versión 7 dará soporte a caracteres UNICODE), lo cual no debe ser problema para el lenguaje html que tiene sus códigos especiales para representarlos, si deseáis saber más podeis acceder a nuestro tutorial sobre HTML.
Las funciones «hash».
Una función «hash» toma un valor, aplica un algoritmo predeterminado y produce un resultado único, aunque ALGUNAS VECES dicho resultado puede también ser obtenido con otro(s) dato(s) diferente(s), lo cual es llamado colisión. ¿Sencillo, no? Si quereis saber más pues aquí tenéis el enlace a la Wikipedia sobre el tema.
Como podréis observar, la función del lenguaje PHP que presentamos anteriormente es una función «hash» y si analizamos como funciona (restando 13 de cada valor decimal que describe a cada carácter ASCII) dejando intactos los caracteres no alfabéticos -del alfabeto inglés- podemos llegar a la conclusión que no tiene colisión alguna.
Funciones «hash» criptográficas.
Pues bien, las funciones «hash» criptográficas en realidad NO existen. Lo que siempre ha existido es la criptografía casi desde el mismo invento de la escritura: a pesar de que antes del siglo XX un porcentaje muy pequeño de la población sabía leer y escribir siempre hubo la necesidad de ocultar la información, por ejemplo las órdenes dadas en el ejército. En la Segunda Guerra Mundial se utilizó una computadora especialmente diseñada para descifrar los mensajes del Tercer Reich Alemán, para lo cual fue muy exitosa y fue cuando se valoró enormemente el uso de los ordenadores en el área de la criptografía.
Muy importante destacar que la en la criptografía el proceso es reversible, es decir, podemos obtener el texto original. De aquí en adelante hablaremos de cifrado en un solo sentido; pudieramos llamarlo -en la práctica- como «cifrado irreversible».
Para esta labor se escogieron unas funciones «hash» que tienen características bien adecuadas para el trabajo:
Que no tengan colisiones -ya hablamos de la función PHP str_rot13-.
Que tenga bajo coste en recursos de hardware y tiempo.
Que no se pueda inferir o detectar un patrón por medio del análisis y comparación de varios resultados con el mismo método -más adelante lo veréis con WinZip -.
En este último punto es cuando la función analizada, PHP str_rot13, falla y es principalmente porque NO encripta los espacios, los cuales a su vez delimitan las palabras y uno de los pilares fundamentales para el descifrado es eso: dónde comienza y donde termina cada palabra. Además tampoco cifra los demás caracteres, con lo que, si quiere, pudiéramos decir que en realidad cifra a la mitad (y por eso es que es de tan bajo coste para cifrar párrafos y hojas enteras de información).
WinZip.
Esta entrada no puede estar completa sin mencionar al software de compresión llamado WinZip, un estándar o norma de facto en computación. Aunque lo usamos desde 1997 no fue hasta el año 2004 en su versión 9.0 que trajo la novedad de encriptación de AES 128 bits para máquinas de bajo rendimiento y AES 256 bits para máquinas de alto rendimiento (es decir, lo hicieron así para que uno pudiera ponderar nivel de seguridad contra tiempo usado para encriptación; con las máquinas de hoy en día de 16 núcleos y 32 gigabytes de RAM pues es imperceptible la diferencia de tiempo entre ambas).
He aquí un panorama de la estructura de archivo de un fichero con extensión .zip normal:
The Zip file format―created by Phil Katz―usually holds "PK" as its first two bytes. This image shows a ZIP nested within a Chrome extension. pic.twitter.com/pZkgDrz1uN
Como usábamos en aquella época el correo electrónico para compartir el código fuente, decidimos encriptar con AES 256 bits y un módulo pequeño, pero importante, y perdimos su contraseña. Lo tuvimos que reescribir y, hasta el sol de hoy aún no hemos podido descifrarlo.
«Advanced Encryption Standard»
Advanced Encryption Standard fue promovida por el Instituto Nacional de Normas y Tecnología («National Institute of Standards and Technology» o NIST por sus siglas en inglés) en el año 2001, y fue propuesta por dos criptógrafos belgas Joan Daemen y Vincet Rijmen con un bloque de 128 bits y longitudes de clave de 128, 192 y 256 bits convirtiéndose en una norma de encriptación a nivel mundial. El gobierno federal de los Estado Unidos de Norteamérica considera la clave de 256 bits lo bastante segura para encriptar documentos de muy alto nivel de importancia, información muy secreta. Es posible descifrar incluso hasta las claves de 256 bits pero el esfuerzo y consumo de hardware consume muchos recursos, sin embargo sigue siendo la manera más viable de cifrar y descifrar información. Hemos de recalcar que funciona en ambos sentidos: una cadena de caracteres (información a proteger) se encripta y se puede enviar a otra persona. Si la otra persona no conoce la clave tardará muchísimo tiempo y esfuerzo en «descubrir» la cave utilizada. Pero para el que encriptó los datos puede revertir la operación y recuperar la información.
Si quieren leer un detalle sobre cómo se genera una llave AES notarán que hay una pequeñísima posibilidad de que comprimiendo y encriptando miles de archivos individuales con la misma contraseña, en algún momento se producirán 2 iguales que si se tiempo y paciencia podrán conducir a una pista sobre la contraseña, pero que se puede prevenir con usar llaves de 256 bits. Información para desarrolladores de software interesados en usar las últimas versiones de WinZip id a este enlace web. En ese último enlace, la mar de especificaciones, podemos leer que dicho software de compresión almacena un CRC (comprobación de redundancia cíclica, inventada por W. Wesley Peterson en 1961) del archivo original -sin comprimir, sin encriptar- en la cabecera del archivo comprimido para que después de desencriptar y descomprimir puedan ser comparados y verificar que la información anhelada se transmitió correctamente (recuerden nuestro caso de envio de código fuente por correo electrónico). Dicho CRC es ampliamente utilizado desde que se inventaron los CD, y simplemente es otro método de cifrado que exhibe un resultado de longitud fija pero con muchas, muchísimas colisiones, lo cual lo descarta de plano para el cifrado y sirve más bien como herramienta auxiliar. Cuando utilizábamos discos flexibles de 5,25″ (y luego 3,5″) los errores de hardware en la escritura, o luego la manipulación física por parte de nosotros (para llevarlos al trabajo, a la universidad) hacían muy necesario el uso del CRC para tener al menos una certeza que quedó bien grabado {y era sacarlo de la disquetera A y comprobarlo en la disquetera B, por eso el disco duro en los sistemas Windows se llama «C», -amigos «linuxeros», no más chistes al respecto, por favor- 😉 }
En este otro enlace recomiendan aplicar «salt» a las rutinas de encriptación para WinZip (desarrolladores de software) pues ya hemos advertido de las posibles debilidades del algoritmo de encriptación, así que se pueden «fortalecer» con nuestras propias «claves», si son aleatorias, pues mejor. Por último, y de nuevo, nuestros bancos tienen la razón:usemos contraseñas largas (y vamos a cambiarlas con cierta frecuencia).
CRC.
Acá hacemos una pequeña pausa para recomendar la lectura de un artículo patrocinado para una famosa página web -vereis quién hace publicidad, lo veréis- donde explican, en idioma inglés, de manera fácil y amena el porqué se debe hacer la verificación de integridad de los datos transmitidos, y rápidamente colocan ejemplo en lenguaje C#. Para que veáis que todos los programadores tenemos nuestros momentos de ir a las raíces, a las bases y principios de los ordenadores (y si podéis ayudar al autor en su programación, hazlo, por favor).
Cifrado en un solo sentido.
Sin embargo hay casos donde en realidad no se necesita recuperar la información cifrada pero necesitamos que dicha función no tenga colisiones, es decir, que la COMPARACIÓN de dos datos cifrados, en máquinas independientes, produzcan exactamente el mismo resultado o «hash». En este caso no se busca encontrar el texto original, ya que es prácticamente imposible revertir el procesado de cifrado para conocer la información.
Para entender este proceso debemos siempre tener en cuenta que el «hash» generado por determinado método de encriptación conocido solo producirá un resultado único que será el que guardemos en nuestra base de datos, o en nuestro disco duro y solamente el que conoce la información podrá repetir de nuevo el «hash» y así podremos comparar con el «hash» generado anteriormente; si son iguales pues se valida el proceso de identificación. Esto garantiza que la persona es quien dice ser, es dueño de la información, el «hash» es como una «huella» inconfundible y por eso lo hace adecuado para garantizar el acceso a sistema de cómputo por medio de contraseñas.
De hecho es tan efectiva que si nosotros olvidáramos nuestra contraseña para acceder a nuestra cuenta bancaria, por ejemplo, la única manera que el banco nos pueda ayudar es borrando el «hash» de la contraseña almacenada y permitirnos generar una nueva, ya que descifrar el «hash» es, como dijimos, prácticamente inalcanzable. Por demás está decir que quienes llevan sistemas bancarios cobran buen dinero al banco por «reseteos» de contraseña, gasto que a la final, de una u otra manera, terminaremos pagando todos los clientes. Pero el almacenamiento seguro de nuestras contraseñas, incluso bancarias, es otro proceso de ingeniería social que no discutiremos en esta entrada, allí hay bastante tela que cortar y sirve para una entrada en nuestro blog totalmente nueva sobre ese tema.
En este punto volvemos a insistir que siempre hay gente que «sabe más que uno» ya sea por sagacidad o por la fuerza bruta ¿Por qué decimos esto? Existe el proyecto Ophcrack en el cual se han dado a la tarea de utilizar «diccionarios» de contraseñas comunes (en diversos idiomas) haciéndoles hash con los diversos métodos que enunciaremos para así comparar una contraseña obtenida ilegalmente con las almacenadas (y conocidas) en una base de datos monstruosa (algunas tablas llegan a alcanzar los 2 Terabytes, es decir, 2000 gigabytes). En este artículo (en idioma inglés) dan cuenta de las llamadas «tablas arcoíris» («rainbow tables»), cómo funcionan y cómo trabajar con ellas. Si nos ponemos a ver la tarea hasta parece estúpida sino fuera porque debemos considerar que en este siglo XXI la información es sinónimo de dinero eso hace que esta gente trabaje tanto en estos proyectos (luego veremos que le podemos dificultar aún más ese trabajo que ellos tienen por medio de un método adicional de hashing).
MD5.
Desde los años noventa usamos el algoritmo MD5 aunque no recordamos exactamente cual año. Lo más probable es que haya sido con Windows 95, pero no estamos totalmente seguros. Lo que si es cierto es que ya entrado el siglo XXI se consideraba seguro y muy capaz de sustituir al vetusto CRC comentado anteriormente. De hecho aún se utiliza por su bajo coste (ver párrafos anteriores) para publicarlos en las descargas de las páginas web: si aplicamos el MD5 al archivo descargado y comparamos dicho resultado al publicado en la página web de donde lo descargamos es muy altamente probable que tengamos una copia idéntica a la que reposa en la páginas web. Establecido como norma desde su invención, devuelve como resultado una número de 32 dígitos en hexadecimal y funciona «rellenando» con bits -mínimo 1, máximo 512- (atentos que más adelante tomaremos prestado este concepto) y agregando hasta completar a un múltiplo de 512. Allí realmente comienza a aplicarse al algoritmo, que al final redunda en un dígito de longitud fija que es fácilmente manejable en una base de datos.
En el año 2004 se demostró una colisión y hubo la necesidad de buscar un método de cifrado mejor. Antes de continuar, comentamos que existió un algoritmo MD4 con el cual no tuvimos ni tenemos experiencia. También es justo comentar que fue el profesor Ronald Rivest su autor (y padre de toda la serie MD del 1 al 5, ea, ¡prolijo el profesor!).
Si revisamos el lenguaje PHP, mayormente utilizado para generar páginas web dinámicas, tenemos la función llamada -qué original- md5(), he aquí un ejemplo:
<?php $hash = md5('contraseña a encriptar'); ?>
SHA1
Otro algoritmo soportado de manera nativa por el lenguaje PHP es la función SHA1 el cual produce 40 dígitos en hexadecimal, de nuevo dos ventajas, longitud fija y numérico, dos características muy apreciadas en el manejo de base de datos y tablas indexadas. También fue logrado su ruptura por gente muy voluntariosa. En fin, que los algoritmos fueron hechos para romperse, más ahora que se avecina la computación cuántica donde una «variable» en «memoria RAM» puede tener diferentes valores según «el ángulo» de donde se mire. Lo poco que podemos agregar con respecto a MD5 es que es un poco más seguro.
Tipos de cifrados en PHP (MD5, SHA1 y Salt).
En realidad esta idea no es nuestra, para nada, tuvimos la oportunidad de conocerla hace varios años divulgada por medio del Twitter:
El artículo completo lo podeis leer en este enlace. En esencia es combinar ambos cifrados pero con la inclusión de una «firma» adicional -en este caso la página web escrita en PHP- que solamente el programador conoce y que es llamada «salt» cuya traducción al castellano es «sal» ya que, si a ver vamos, le da un «sabor» distinto a las contraseñas. La idea es ayudar al usuario agregándole longitud -y complejidad- a la misma a la hora de ser «hasheada». Si lo pensamos bien, tiene la «debilidad» de que dicha «salt» (así la llamaremos) no debe ser extraviada, porque la usaremos cuando el usuario, en otra oportunidad de ingreso, se compare con la almacenada en nuestra base de datos. Más adelante veréis que dicha «salt» viene ahora incrustada por defecto en el lenguaje PHP.
Otros tipos de cifrado.
Ya casi llegamos al punto de nuestra propuesta, pero antes debemos enseñar que, como era de imaginarse, existen muchos otros tipos de cifrado. Volviendo al nuestro querido PHP existe la función avanzada llamada (si, están leyendo bien) «hash()«. Para ser más precisos dicha función necesita tres parámetros: primero el tipo de encriptación, segundo, el mensaje a ser cifrado (en nuestro caso, la contraseña del usuario) y tercero en que formato se entrega, ya se en binario o hexadecimal.
El primer parámetro acepta los siguientes tipos de cifrado (versiones PHP 5 >= 5.1.2, PHP 7, PECL hash >= 1.1):
MD2.
MD4.
MD5.
SHA (cinco variaciones).
RIPEMD (cuatro variaciones).
WHIRLPOOL.
TIGER (seis variaciones).
SNEFRU (dos variaciones).
GOST (dos variaciones).
ADLER.
CRC (dos variaciones).
FNV (cuatro variaciones).
JOAAT
HAVA (quince variaciones).
Como podeis observar, las opciones de combinación son muchas, así que no os limiteis en utilizar solo MD5 y SHA, hay muchas otras opciones.
Actualizado el sábado 23 de enero de 2016:
Un estudiante paquistaní que utiliza C# en Ubuntu (y además no enseña sobre cómo manejar ese entorno de programación, eso merece otra entrada completa en nuestro blog -a pesar de los detractores de «C sharp»-) nos indica que es mejor utilizar SHA512 + SALT, claro vosotros estad claros en que plataforma estáis programando y si lo permite, siempre es bueno tener muchas alternativas porque no se sabe de cual lenguaje uno va a echar mano a la hora de asegurar nuestro trabajo en este mundo globalizado y con tanto «hacker» suelto:
Como nota adicional nos enteramos que la opción «SALT» agregada por el usuario será descontinuada en su uso en la versión 7 del lenguaje PHP y será sustituida por la ya soportada generación automática de la misma (muchas gracias sr. Ángel):
Hashing Passwords con php – Una de las formas mas faciles de crear un hash para las contraseñas usando php es m… https://t.co/bXir6DmQcR
Más adelante volveremos a tocar el tema, porque ¿Cómo recordar la «SALT» utilizada si fue generada aleatoriamente -con ayuda de la hora del servidor- para luego recuperar la contraseña? La solución es ingeniosa, ya lo vereis.
Combinaciones normalizadas.
El lenguaje PHP ofrece unas funciones, extensas, para el tema de la encriptación de manera nativa, facilitándonos la vida a nosotros los programadores pero manteniendo a raya el coste para el servidor donde esté alojada la página web.
Una terna de ellas es muy interesante, avalada con otra adicional, todas ellas siempre pensadas a un proceso y respuesta rápida a la página web solicitada lo que evita ciertos ataques maliciosos. POR EJEMPLO un atacante puede intentar hacer «login» -a sabiendas de ser errado- a determinado sitio web y por herramientas tomar el tiempo que tarda en responder el servidor. Si tarda 1 ó 2 segundos (una eternidad en tiempo de ordenadores) pueden iniciar ataques desde varios sitios para hacer colapsar el poder de procesamiento cuando realiza el descifrado de dichos envios. Más información en el siguiente «tuit» («tweet»):
La función hash_update() puede ser repetida tantas veces se desee o sea necesario para agregarle la o las «SALT» comentada anteriormente. Como vemos es una solución normalizada, «estandarizada» si queremos usar el anglicismo. He aquí un código de prueba:
<?php
$contra = hash_init('md5');
hash_update($contra, 'contraseña a ser encriptada');
hash_update($contra, 'Se le agrega SALT para complicarlo');
echo hash_final($contra);
?>
Como pueden observar es estructurada la propuesta, son cuatro líneas mínimo. La función que la complementa es hash_equals(), solución nativa en este lenguaje y que devuelve verdadero o falso cuando compara dos «hash»: el hash que leemos de la base de datos (guardada cuando el usuario se registró) y el «hash» calculado al momento de hacer «login» o autenticación cuando el usuario regresa en otro día y/o momento.
Repetimos: hay muchos otros algoritmos y muchas otras funciones para encriptar en un solo sentido, veamos la función crypt() trabajando con la función hash_equals():
Esta última función hash_equals() se describe como «Timing attack safe string comparison«, es decir, «comparación de cadena segura ante ataque de tiempo» la cual describimos en el segundo párrafo de esta sección y que nos ayuda a proteger nuestro servidor web y/o servidor de datos.
En los enlaces nombrados podeís ahondar mucho en el tema, aquí solo queremos tener una base para emitir una propuesta de solución a la ingeniería social aplicada a nuestros empleados, sufridos usuarios de los sistemas que programamos e implantamos.
Bouncy Castle.
Bouncy Castle es una propuesta de software libre (regida por esta licencia) escrita originalmente para Java -y luego C#- en respuesta a la restricción de exportación de técnicas de encriptamiento hechas en los Estados Unidos de Norteamérica. Recordad, o por si no lo sabiaís, que si vives o estudias en ese país y te daís a la tarea matemática de desarrollar nuevos algoritmos, es OBLIGATORIO comunicarlo al Buró Federal de Investigaciones (FBI) sobre tu trabajo, o tendrás serios problemas con la Ley. Y precisamente Australia, sede de dicha organización «Bouncy Castle», era originalmente una gigantesca prisión donde enviaban al fin del mundo -en esa época- a toda suerte de convictos y quebrantadores de leyes del Reino Unido, así que no se toman su independencia tecnológica a la ligera, no señor.
La necesidad de no reinventar la rueda cada vez que se necesitaba encriptar algo dio origen a tal organización con tan gracioso nombre, incluso tienen una caricatura donde se mofan de ellos mismos:
Lamentablemente hay quienes utilizan la fuerza del oponente para desviarla y canalizarla en beneficio propio, tal como lo hace el judo -arte marcial-.
En este artículo, de hace varios años ya -2013-, podréis leer y conocer acerca del peligroso Cryptolocker que, aunque ataca sistemas basados en Windows, también han salido versiones para GNU/Linux. Así que cuidadito pues, una herramienta puede ser utilizada HERMOSAMENTE para hacer el bien 😎 tanto como para hacer el mal. 8(
Actualizado el martes 02 de mayo de 2017:
La última actualización de la distribución Kali Linux -la cual es muy utilizada por sus herramientas de seguridad y análisis- ahora tiene una base de apoyo para ser instalada en «nubes» de máquinas virtuales que operen en conjunto y de manera coordinada para «crackear» contraseñas. Evidentemente que una buena herramienta puede ser convertida al uso maligno y destructor. 🙁
La distribución de GNU/Linux "Kali Linux" usará nubes de GPU para crackear claves cifradas https://t.co/uPtUnDZsIU@ks7000
Don Simón Rodríguez acuñó la frase en 1828, cuando recién nacía nuestra República y necesitábamos labrarnos nuestro propio camino. No se trata de improvisar constantemente sino estudiar, analizar y proponer algo que observemos sea viable, posible y, más que todo, práctico. Es por ello que esta entrada ha quedado un poco larga, ya que sin una base de donde partir para proponer estaríamos haciendo eso, improvisando.
Nuestra propuesta.
He aquí que, luego de una larguísima explicación, llegamos al punto de exponer nuestra idea para combatir, al menos una, de las tácticas empleadas en la ingeniería social para obetener nuestras contraseñas. Como demostramos, nuestra cadena de caracteres utilizada para identificarnos como usuarios legítmos en cualquier sistema de cómputo ha de ser lo más larga posible. Dicha cadena larga tiene dos beneficios:
Primero cuando nos registramos en el sistema deseado como usuario, en la creación del «hash» que será almacenado en la base -y tabla- de datos correspondiente.
Segundo cuando nos volvemos a conectar, vía protocolo https, de nuevo al sistema de cómputo, ya que también la información se encripta al ser enviada, mientras más larga más difícil de desencriptar.
Proponemos, entonces, no una cadena larga como contraseña, sino una cadena de al menos 7 caracteres alfanuméricos:
Los tres primeros que sean alfabéticos, mayúsculas y/o minúsculas.
Un caracter especial, tal como «_», «*», etc.
Los tres últimos que sean numéricos, del cero al nueve.
Esa sería nuestra contraseña, ¿dónde está el truco de seguridad, si recomendamos MENOS caracteres de longitud? Pues que luego que introduzcamos nuestra contraseña completa, de allí en adelante pulsar todas las teclas que considereís conveniente E INCLUSO LA DIGAÍS EN VOZ ALTA, SI TENEÍS ALGUIEN AL LADO OBSERVANDO TU INGRESO.
«Algoritmo para ofuscar técnica de ingeniería social» por Jimmy Olano está licenciado bajo Creative Commons Attribution-ShareAlike 4.0 International License.
Basandonos en nuestra experiencia, las contraseñas pudieran ser hasta de 11 caracteres, y a partir de 12 es que se considera que es larga dicha clave de seguridad. No necesariamente debe ser en el orden que nosotros indicamos arriba, aquello es una propuesta nemotécnica, no una cartilla para ejecutar a pie puntillas, ya que PARA NADA influye en el algoritmo de cifrado, cualquiera que ustedes escojan. En este artículo podrán leer unas cuantas recomendaciones para la creación de contraseñas, siempre teniendo en cuenta el uso de ingeniería social para intentar vulnerarlas. Y al menos nos queda el consuelo de que el consejo nemotécnico no aparece en la lista de las 25 primera contraseñas más tontas del mundo (en inglés). Actualizado el sábado 06 de febrero de 2016:
Aunque nuestra propuesta tiene cierta similaridad con el padding de las modernas funciones de «hash», la diferencia notable es que el usuario podrá agregar tanto texto (pulsaciones de teclas para ofuscar a los «mirones» del teclado) como desee, no es una norma en longitud; pueden leer más acerca del paddingen este enlace web -en inglés y además con una explicación directa y sencilla sobre encriptamiento y «hashing» que suplementa nuestra entrada-
Algoritmo a utilizar.
Para poder utilizar dicho esquema que planteamos vamos introducir una «debilidad» en la seguridad de la base de datos. Dicha «debilidad» consiste en guardar, en una tabla aparte, la longitud de la contraseña ingresada antes de ser convertida a «hash» y almacenada. Si en algún momento hubiera acceso no autorizado a nuestra base de datos, el desencriptar los «hash» de contraseñas se facilitaría si sabemos de antemano la longitud fija. Además, tengamos en cuenta que hoy en día, por unos cuantos centavos de dólar estadounidense, se pueden probar 400 mil contraseñas por segundo en ataques de fuerza bruta con diccionarios predeterminados (recuerden aplicar «salt» para mitigar estos atques). En este enlace podreís leer más al respecto, pero con un fuerte sentido pesimista: «la unica contraseña segura es la que no puedes recordar«, en inglés.
Para prevenir -o al menos mitigar- esta futura debilidad, debemos olvidarnos de utilizar integridad referencial entre las dos tablas. Recomendamos que el idUsuario sea encriptado en «hash» y almacenado en otra tabla junto con el campo numérico largoContra, y recuperarlo justo en el momento que el usuario nos haya enviado su contraseña (la cual habrá viajado por encriptada y desencriptada por protocolo https por nuestro servidor).
El asunto sería fácil si estamos creando un sistema de autenticación totalmente nuevo. Lamentablemente ése NO es el mundo real, muy pocas veces se dan esos casos porque implica planificación y coordinación de muchas personas para llevar a cabo un proyecto, por pequeño que sea -o parezca-. La realidad es que «heredemos» dichos sistemas y, pues bueno, debemos adaptarlos a lo único que es constante: el cambio.
Como dijimos, creamos nuestra tabla sin ninguna integridad referencial con dos campos: uno para almacenar el «hash» que representa al idetificador único y absoluto de usuario y otro campo numérico para guardar la longitud de la contraseña.
Luego creamos un script -que utilizaremos una sola vez- para que recorra la tabla de usuarios, tome el identificador numérico de cada usuario, lo convierta en «hash» y lo guarde. El otro campo sería guardado con valor cero, sería una titánica tarea desencriptar los «hash» que representan a cada contraseña, sólamente para saber su longitud.
Una vez hecho este proceso, procedemos a modificar el código para el registro de nuevos usuarios, para los que hayan olvidado sus contraseñas y/o para los que hayan caducado sus contraseñas.
Acá usamos lo dicho en el punto N° 3 con el punto N° 1: al momento de generar el nuevo «hash» -de la nueva contraseña- tomamos nota de la longitud y la guardamos en la nueva tabla creada.
Lo siguiente será modificar el algoritmo que valida a cada usuario: cuando reciba su identificador de usuario, aplicarle «hash» para buscarlo en la tabla recién creada, encontrarlo y leer la longitud de contraseña -«n» caracteres- y de la contraseña recibida vía protocolo https tomar sólamente los «n» primeros caracteres.
El resto del proceso ya lo conoceís bien: a esos «n» primeros caracteres (leídos de izquierda a derecha, haced el correctivo si usáis un lenguaje como el árabe, por ejemplo) le generaís el «hash» habitual y comparadlo con el almacenado, si son iguales ¡BINGO! autenticación exitosa.
«Algoritmo para ofuscar técnica de ingeniería social» por Jimmy Olano está licenciado bajo Creative Commons Attribution-ShareAlike 4.0 International License.
Bienvenidos al siglo XXI.
Acá volvemos a realizar una pausa para «explicar» la tendencia actual en esto de la autenticación de usuarios. Muy lejanos han quedado los días en que Richard Stalman «jaqueaba» las contraseñas de sus compañeros de trabajo para demostrarles que era una sensación de seguridad falsa, Y PENSAMOS QUE AÚN SIGUE TENIENDO RAZÓN, no hay sistema totalmente infalible.
Hoy, décadas después, existe un complejo de superioridad entre los geeks —aquellas personas que adoran y entienden cada novedad del mundo digital—, que creen tener habilidades que les dan poder especial sobre los demás. En el mundo ideal de Richard Stallman, poder comprender y arreglar una computadora no debía ser el don de unos cuantos.
I am not shitting on your idea, I am merely fertilizing it with the nutrients it needs to flourish.
Pero llegó el siglo XXI e implantó sus propias tácticas «anti-ingeniería social» de la cual hoy día nosotros aportamos nuestro granito de arena. El esquema, a grandes rasgos, es el siguiente:
Al principio (tiempos del joven Richard Stallman) «inventaron» el usar las contraseñas acompañadas de un nombre de usuario único en el sistema deseado. Luego con el advenimiento de la internet y sus sistemas de nombres de dominios únicos se pudo crear las direcciones de correo electrónico, las cuales heredan su unicidad. Aún hoy en día se acostumbra utilizar las direcciones de correo electrónico como nombres de usuario, por ser tanto dato como metadato, y ser únicas.
Precisamente las direcciones de correo electrónico sirvieron tanto para dar de alta a los usuarios, como para enviarles sus contraseñas, si se le olvidaba al usuario. Pero debido a la debilidad intrínseca del protocolo POP pues se ha relegado su uso.
Ahora se acostumbra utilizar la dirección de correo electrónico para enviar un enlace web con un identificador único a un servidor con protocolo https implementado y allí si crear la contraseña; esto garantiza que la dirección de correo electrónico sea válido y establece un canal de comunicación -inseguro- con la persona, pero canal al fin. También previene que realmente sea la persona titular de ese correo electrónico la que solicitó el registro de usuario, si no es así pues borra el mensaje y no ha pasado nada.
Como dijimos que el protoco de correo electrónico es inseguro -a menos que se utilice PGP -no todo el mundo lo utiliza- con solo saber la dirección de correo electrónico de una persona y utilizar la opción «olvidé mi contrseña» un atacante podrá desencadenar ese envio y esperará para interceptar -por algún método o manera- su llegada y asirse de ella.
Para evitar lo anterior pues no se envía la contraseña en sí misma, sino otro enlace con un identificador único que conlleva a que el usuario responda unas preguntas de seguridad -cuyas respuestas habrá suministrado al momento de registrarse-, tras lo cual, de resultar positivo, podrá conocer la contraseña en sí misma (ver siguiente punto). Aquí de nuevo interviene la ingeniería social: las respuestas NO DEBEN tener relación alguna con las preguntas previamente establecidas,he aquí un reportaje bien explicadosobre ese tema. (Actualizado el miércoles 27 de abril de 2016): en este enlace nos permite conocer cómo se llaman este tipo de «preguntas de seguridad» tal como las conocíamos SIN EMBARGO -y debido a nuestro idioma derivado del latín- el analista español de seguridad Sergio de los Santos (Cuenta Twitter @SSantosV) nos aclara que su nombre correcto es«CONTRASEÑAS COGNITIVAS». Os dejo el mensaje «tuit» correspondiente (el mensaje lo difunde Pablo González, persona distinta al autor):
Estudio de contraseñas cognitivas en la filtración de datos del Banco Nacional de Catar (QNB) https://t.co/Voz1I6FMHs
Pero almacenar las contraseñas en un servidor se expone a que si alguien lograra entrar podría llevarse una copia de todas ellas. Por eso se encriptan mediante algoritmos de un solo sentido que estudiamos anteriormente, y como sabemos que lo que nosostros mismos encriptamos es prácticamente imposible de descifrar, pues es más fácil borrar el «hash» almacenado y que el usuario suministre una nueva contraseña.
Ya lo dijimos: es prácticamente imposible descifrar los «hash» pero con tiempo -y poder de hardware- eventualemente se logrará. Es por eso quese asume, se da por sentado, que dicho «hash» ya ha sido robado. Por ello, cada cierto tiempo, digamos mensualmente, se le solicita al usuario al ingresar que su «contraseña ha caducado» con lo cual se borra el «hash» y el usuario suministra una nueva contraseña -y aquí aprovechamos de guardar en una tabla aparte la longitud de caracteres de la misma- para generar un nuevo «hash». Cuando al final el o los atacantes que hayan robado los «hash» anteriores hayan logrado descifrarlos pues no coincidarán, ya serán diferentes por haber sido cambiados oportunamente.
¿Recuerdan el canal de comunicación por medio de la dirección de correo electrónico del usuario? Pues en este punto, cuando registra una nueva contraseña, seria el momento adecuado de explicarle en un mensaje cómo funciona el nuevo algoritmo: introducir la contraseña en toda su extensión y a continuación pulsar las teclas que se deseen, simple y sencillo -por supuesto recordad establecer una longitud máxima al «input» del html-.
A las direcciones de correo electrónico se les ha mejorado su seguridad, por ejemplo Gmail solicita un número de teléfono móvil para enviarle un SMS con un código especial el cual debe ser ingresado al crear la cuenta de correo electrónico. Primero se garantiza que sea un ser humano quien hace la solicitud, segundo -pensando maquiavélicamente- la persona tiene cierto nivel de solvencia económica.
Basado en el punto anterior nació el Twitter el cual permite, primero por SMS -opción que ha caido en desuso- y segundo por aplicaciones instaladas en el teléfono móvil en sí, mantener informado al usuario. Esto inspiró a los bancos a realizar contratos con las operadoras telefónicas para integrar el envio de SMS a los clientes desde el mismo sistema informático del banco, ente quien conoce TODOS los datos de su cliente -y más valen que sean ciertos, sino, problemas legales-.
Así los bancos en el siglo XXI -e incluso otras grandes empresas- pueden alertar a sus clientes con un SMS cuando se realiza acceso a sus cuentas bancarias. Esto hace la ingeniería social mucho menos efectiva: un caso público y notorio reseñado por la prensa escrita da cuenta de un empleado bancario que accesó a la cuenta de una anciana para sustraerle dinero y llamó a la señora para indicarle que el banco estaba haciendo «unas pruebas«. La señora no se tragó el cuento y llegó a la agencia bancaria acompañada de la policía, hablaron con el gerente del banco y luego apresaron al ladrón tranquilamente sentado en el ordenador por donde ingresó a la cuenta bancaria.
Nosotros las empresas pequeñas nos conformamos con convencer a los usuarios para que nos agreguen en el Twitter por SMS y desarrollar una aplicación que automatice el envio de eventos (accesos, cambios de contraseñas, caducidad, etc.). Y si esto no fuera posible, al menos automatizamos el envio de mensajes por correo electrónico, que para nada nos debe dar vergüenza usarlo, que Youtube lo hace de esa manera.
De la teoría a la práctica.
De nada valdría hacer una propuesta si luego no es probada y comprobada. Probada será acá con un servidor que no maneja protocolo seguro (el futuro está cerca) pero al menos escribiremos de una manera muy corta y orientada a propósito didáctico, en lenguaje PHP, al algoritmo a implementar. Será nuestro primer -y pequeño- proyecto en Software Libre, lo comprimiremos y ofreceremos en este nuestro servidor, y será público en nuestra cuenta patrocinada por GitHub -gracias por el apoyo «thanks»-
Recomendación adicional.
Para crear un servidor virtual con datos de prueba podemos usar Vagrant con VirtualBox; como ese tema escapa a la longitud de este artículo solamente les dejamos un «tuit» con un enlace web sobre cómo crear esta máquina y luego utilizar git para crear un proyecto, está en inglés, bien resumido y claro:
También podeís utilizar libremente un «script» para crear estas máquinas virtuales (un proyecto totalmente separado del «tuit» arriba indicado) en el repositorio del señor Abr4xas en GitHub . Git es el protocolo y GitHub no es más que una página web que ofrece alojamiento por medio de este protocolo: los proyectos privados pagan y tienen otros beneficios adicionales a las cuentas gratuitas, cuyo código siempre debe ser público independientemente de la licencia escogida para el software desarrollado-. Para crear un servidor virtual con datos de prueba podemos usar Vagrant con VirtualBox; como ese tema escapa a la longitud de este artículo solamente les dejamos un «tuit» con un enlace web sobre cómo crear esta máquina y luego utilizar git para crear un proyecto, está en inglés, bien resumido y claro:
Si deseaís ir a lo complejo, leed este tutorial (fuera de este sitio web) para crear una muy bonita página web de entrada para validación de usuarios. Por supuesto, a mayor belleza, mayor trabajo para lograrlo. Nota: NO está desarrollado en un entorno de Software Libre, sin embargo el código fuente tiene cierto nivel de libertad, con propósitos didácticos nada más.
Casos de ingeniería social de la vida real.
(Actualizado el sábado 27 de agosto de 2016) Los siguientes son relatos fidedignos (dada la seriedad, trayectoria y conocimiento de los autores a los cuales seguimos por la red social Twitter) que ilustran el cómo la Ingeniaria Social es prácticamente un «arte bien cultivado», seguidamente les colocamos una pequeña descripción y enlace a los temas:
En una primera visita a un café, el autor Deepak Daswani (@dipudaswani) entra en la red inalámbrica del restaurante y «juega» con la rutina de los camareros con leves saltitos de sobresalto. En una segunda visita fortalecieron la red pero no deja de ser divertido el relato, HACEMOS NOTAR que esta vez se valió de un camarero nuevo que no había comenzado aún a trabajar en la primera visita. Hilarante humor «geek» para nosotros, gracias @ChemaAlonso por apoyar con el «reblog» de las historias.
Las mejores defensas
Actualizado el lunes 7 de enero de 2019
No permitan favores de los demás a menos que ustedes mismos los hayan solicitado. Precisamente los favores no solicitados crean una predisposición de reciprocidad en posteriores peticiones con aviesas intenciones.
Cualquier solicitud que salga de la rutina es sospechosa. Nunca se deben saltar procedimientos, por muy tontos que estos sean, además los nuevos procedimientos deben ser conocidos ampliamente por todos y el preguntarlos a cualquiera del personal de trabajo debe ser sin cortapisas, debe ser lo normal el preguntar para confirmar que está implementado.
Recíproco a la regla anterior: que todos hagan lo mismo no quiere decir que esté implementado:debe estar por escrito primero, esto evita que dos o tres (o todos) hagan una conspiración. Todos deben dejar su compromiso por escrito.
Un atacante siempre buscará hacer empatía con la víctima. Si es una mujer con cuerpo espectacular o un hombre con verbo o carisma, no debemos dejarnos influenciar por ello. Los actores y actrices regalan sonrisas por doquier. Aprendamos a analizar lo que está dentro de la caja y no el papel y el lazo que lo envuelve.
El truco principal de la Wikipedia: todo está con referencias conocidas y reconocidas. El problema está cuando los atacantes se hacen pasar por estas autoridades, se disfrazan y tratan de engañarnos con esto. Siempre desconfiemos de los que se dicen expertos y autoridades hasta que hayamos verificado muy bien sus credenciales. El hecho que todos los den por autoridades no los acredita (recordar punto tres).
No se dejen presionar por ultimátum alguno. Que algo se esté acabando no significa que debamos aceptarlo. Es solo un mecanismo de presión para que cedamos a las peticiones insanas.
Básicamente todo lo anterior se reduce a verificación de identidad y verificación de deberes y derechos de la persona que haya aprobado el primer paso, pero recuerden siempre «todo por escrito», tipo Sheldon Cooper.