วันพุธที่ 11 มิถุนายน พ.ศ. 2557

การเข้ารหัสทางเดียว (HASHING)

การ crack password ที่ถูกเข้ารหัสไว้แบบทางเดียว (hashing) เช่นพวก md5, sha1, sha256 ฯลฯเดี๋ยวนี้เวลาจะเก็บ password ของสมาชิก ก็มักจะ hash มันด้วย md5 ก่อน แล้วค่อยยัดลง database
แม้แต่ผู้ดูแลระบบเองก็ไม่เห็นว่า password ของสมาชิกคืออะไร
นั่นหมายความว่ามันถอดกลับมาเป็น password จริงๆ ไม่ได้  เพราะฉะนั้นเวลาที่เราต้องการตรวจสอบว่าสมาชิกกรอก password ถูกหรือเปล่า เราก็จะเอาสิ่งที่เขากรอกมา hash ด้วย md5 แล้วก็เอาไปเทียบกับสิ่งที่อยู่ในฐานข้อมูลว่าตรงกันหรือเปล่า ถ้าตรงกันก็แสดงว่ามันคือ password เดียวกันกับที่ตอนสมัคร
Hash function คือ การนำเอาข้อมูลอิเล็กทรอนิกส์ต้นฉบับที่จะส่ง มาผ่านกรบวนการทางด้านคณิตศาสตร์ที่เรียกว่า Hash Function เพื่อให้ได้ข้อมูลที่สั้น ที่เรียกว่า Digest หรือ ข้อมูลย่อย ก่อนที่จะทำการเข้ารหัส เนื่องจากข้อมูลต้นฉบับมักจะมีความยาวมาก ซึ่งจะทำให้กระบวนการเข้ารหัสใช้ระยะเวลานาน
คูณสมบัติ
1. ควรมีความจำเพราะเจาะจงในแต่ละข้อมูล
2. หากมีการเปลี่ยนแปลงข้อมูลเล็กแล้วค่าที่ Hash ออกมาจะต้องมีความแตกต่างกันอย่างสิ้นเชิง
3. หาได้ง่ายและใช้เวลาน้อย ควรเป็นฟังก์ชันที่ไม่ซับซ้อน สามารถสร้างโดยฮาร์ดแวร์และ
    ซอฟต์แวร์ได้ง่าย
4. ไม่ควรเป็นฟังก์ชันที่ย้อนกลับได้ คือ เมื่อทราบผลลัพธ์แล้วไม่มีทางทราบข้อมูลเลย
5. ข้อมูลที่ได้ต้องมีการซ้ำกันน้อยหรือไม่มีเลย
ในบรรดาฟังก์ชัน Hash ทั้งหลาย ฟังก์ชัน SHA-1 จัดว่าเป็นฟังก์ชันหนึ่งที่เป็นมาตรฐาน และมีการใช้งานกันอย่างกว้างขวาง ฟังก์ชัน SHA-1 จะใช้บล็อกข้อมูลขนาด 512 บิต โดยสร้างผลลัพธ์ MD ความยาว 160 บิตคงที่
ทีนี้แล้วเจ้า MD5 ละ
MD5 ย่อมาจาก Message-Digest algorithm 5 คือ รูปแบบการเข้ารหัสแบบ Hash ชนิดหนึ่ง
การเข้ารหัสแบบ Hash  (Cryptographic hash) คือ การแปลงรูปแบบของข้อมูลที่รับเข้ามาไม่ว่าขนาดเท่าใดก็ตาม ให้อยู่ในอีกรูปแบบหนึ่งที่มีขนาดคงที่ เพราะฉะนั้น จะไม่สามารถเรียกดูข้อมูลต้นฉบับได้ (Decrypt) ทำได้เพียงตรวจสอบว่าข้อมูลที่ให้มาแต่ละครั้งเหมือนกันหรือไม่ ความปลอดภัยจึงค่อนข้างสูง ในที่นี้ MD5 เป็นการเข้ารหัสแบบ 128-bit ให้ค่าเป็นตัวเลขฐาน 16 (0123456789abcd) ขนาด 32 ตัวอักษร แต่ก็มีบางประเภทที่ให้ค่าเป็น binary และ base64

ประโยชน์ของการเข้ารหัสแบบ MD5
1.นำไปตรวจสอบความถูกต้องของไฟล์ สมมติว่ามีไฟล์สองไฟล์ ถ้าเนื้อหาในไฟล์เหมือนกันทุกประการ     ก็จะได้ค่า MD5 เหมือนกัน แต่หากว่า ค่า MD5 ไม่ตรงกัน นั้นแสดงว่าต้องมีไฟล์ใดๆไฟล์หนึ่งที่ไม่         สมบูรณ์ ซึ่งการตรวจสอบ MD5 สามารถทำได้ ด้วยการใช้โปรแกรมช่วย เช่น WinMD5Sum
2.นำไปใช้ในการเก็บข้อมูลที่ไม่ต้องการเปิดเผย เช่น เก็บรหัสผ่านไว้ในฐานข้อมูล

การแปลงค่า MD5  ทำได้โดย วิธีการที่เรียกว่า Brute-Force (หาค่าตั้งแต่ a-z และนำไปเปรียบเทียบ จากนั้นก็เป็น aa-zz และต่อไปเรื่อยๆ) นอกเหนือไปจากนี้ยังมีวิธีการที่เรียกว่า Hash Collision (การชนกันของ Hash)  นอกจากการเข้ารหัสแบบ MD5 แล้วยังใีการเข้ารหัสแบบอื่น เช่น Encryption และ bytecode เป็นต้น
       จากข้อมูลเบื้องต้น เราสามารถสร้างความปลอดภัยได้ทั้งในโปรแกรมบนเครื่องคอมพิวเตอร์
และสมาร์ทโฟน เพียงแต่เราต้องศึกษาใหืท่องแท้และลึกซึ้ง ถึงข้อมูลการประยุกต์ใช้งานด้านต่างๆ
แหล่งที่มา : kokiuki,mairai.wordpress.com,mindphp.com

วันอังคารที่ 10 มิถุนายน พ.ศ. 2557

มาตราฐาน IP Code

IP Code (มาจาก International Protection Rating หรือบางครั้งอาจมีคนแปลมาจาก Ingress Protection Rating) ประกอบด้วยอักษรภาษาอังกฤษ คำว่า IP แล้วตามด้วยตัวเลขสองตัว และอาจ
มีตัวอักษรอังกฤษต่อพ่วงท้ายด้วยในบางครั้ง เป็นรหัสที่ถูกจัดลำดับตามความสามารถในการป้องกัน
ต่อการกัดกร่อนต่อวัสดุที่เป็นของแข็ง, ฝุ่น, การสัมผัสอย่างรุนแรง และน้ำ ที่มีต่อตัวป้องกันซึ่งบรรจุ
อุปกรณ์อิเล็คโทรนิคอยู่ภายใน (Electrical enclosure) มาตราฐานที่กำหนดมุ่งหวังที่จะให้ข้อมูลที่ละเอียดแก่ผู้ใช้งานอุปกรณ์ต่างๆมากกว่าการพิจาณาเฉพาะคำว่า “กันน้ำ” หรือ “Waterproof”
ตัวเลขที่แสดงรายละเอียดตามตารางข้างล่างนี้ ทั้งนี้ในบางค่าอาจใช้ x แทนความหมายว่า ไม่ได้
ถูกจัดกำหนดในค่านั้น
 
ตัวเลขแรก กำหนดระดับของการป้องกันสิ่งที่เป็นอันตรายต่ออุปกรณ์หรือแผงวงจรอิเล็กโทรนิคที่
อยู่ภายในตัวบรรจุภันท์ (enclosure) โดยเน้นการป้องกันของแข็งและฝุ่นละออง


LevelObject size protected againstEffectsคำอธิบายอย่างย่อ 
0-
No protection againt contact and ingress of objects
ไม่สามารถป้องกันได้
1>50 mm
Any large surface of the body, such as the back of hand, but no protection against deliberate contact with a body part
สามารถป้องกันของแข็งขนาดไม่เกิน 50 มิลลิเมตร
2>12.5 mm

Fingers or similar objects
สามารถป้องกันของแข็งขนาดไม่เกิน 12.5 มิลลิเมตร
3>2.5 mm

Tools, thick wires, etc.
สามารถป้องกันของแข็งขนาดไม่เกิน 2.5 มิลลิเมตร
4>1 mm Most wires, screws, etc.สามารถป้องกันของแข็งขนาดไม่เกิน 1 มิลลิเมตร
5dust protected
Ingress of dust is not entirely prevented, but it must not enter in sufficient quantity to interfere with the satisfactory operation of the equipment; complete protection againt contact
สามารถป้องกันฝุ่นได้ โดยฝุ่นสามารถผ่านได้บ้างเล็กน้อย
6dust tight

No ingress of dust; complete protection againt contact
สามารถป้องกันฝุุ่นได้

ตัวเลขตัวที่สอง กำหนดระดับของการป้องกันสิ่งที่เป็นอันตรายต่ออุปกรณ์หรือแผงวงจรอิเล็กโทรนิคที่อยู่ภายในตัวบรรจุภันท์ (enclosure) โดยเน้นการป้องกันของเหลว
LevelProtected againstDetailsคำอธิบายอย่างย่อ 
0not protected-ไม่สามารถป้องกันได้
1dripping waterDripping water (vertically falling drops) shall have no harmful effect.สามารถป้องกันหยดน้ำที่ตกใส่ในแนวตั้งได้
2dripping water when tilted up to 15°Vertically dripping water shall have no harmful effect when the enclosure is tilted at an angle up to 15° from its normal position.สามารถป้องกันน้ำที่ฉีดใส่ในระดับเอียง 15 องศาจากแนวตั้งได้
3spraying waterWater falling as a spray at any angle up to 60° from the vertical shall have no harmful effect.สามารถป้องกันน้ำที่ฉีดใส่ในระดับเอียง 60 องศาจากแนวตั้งได้
4splashing waterWater splashing against the enclosure from any direction shall have no harmful effect.สามารถป้องกันละอองน้ำได้ในทุกด้านของอุปกรณ์ (โดยอนุญาติให้น้ำเข้าได้เล็กน้อย)
5water jetsWater projected by a nozzle against enclosure from any direction shall have no harmful effects.สามารถป้องกันการฉีดน้ำได้ในทุกด้านของอุปกรณ์ (โดยอนุญาติให้น้ำเข้าได้เล็กน้อย)
6powerful waterWater projected in powerful jets against the enclosure from any direction shall have no harmful effects.สามารถป้องกันการฉีดน้ำได้ (เช่นบนดาดฟ้าเรือ) (อนุญาติให้น้ำเข้าได้เล็กน้อย)
7immersion up to 1mIngress of water in harmful quantity shall not be possible when the enclosure is immersed in water under defined conditions of pressure and time (up to 1 m of submersion).สามารถจมน้ำได้ถึง 1 เมตร โดยไม่มีน้ำเข้าเลย
8immerssion beyond 1 mThe equipment is suitable for continuous immersion in water under conditions which shall be specified by the manufacturer.
NOTE: Normally, this will mean that the equipment is hermetically sealed. However, with certain types of equipment, it can mean that water can enter but only in such a manner that produces no harmful effects.
สามารถจมน้ำได้นาน

ตัวอักษรพ่วงท้าย เป็นการให้รายละเอียดเพิ่มเต็มของระดับของการป้องการต่อการกระทำของคนหรือผู้ใช้ที่มีต่ออุปกรณ์นั้นๆ
LevelProtected against access to hazardous parts with
Aback of hand
Bfinger
Ctool
Dwire

หรือ อาจเป็นตัวอักษรที่มีความหมายที่เกี่ยวข้องอื่นๆ
LetterMeaning
Hhigh voltage device
Mdevice moving during water test
Sdevice standing still during water test
Wweather conditions
 แหล่งที่มา : Wikipedia
โดยสรุป อุปกณ์ที่ใช้งานสำหรับงานภายนอก โดยเฉพาะสภาวะอากาศในประเทศไทย ซึ่งมีลักษณะ
ร้อนชื้น และในบางพื้นที่มีฝุ่นหรือฝนตกค่อนข้างบ่อยหรือชุก มากกว่าส่วนอื่นของโลก (หรือประเทศ
ผู้ผลิตอุปกรณ์นั้นๆ)  ซึ่งจะมีผลกระทบต่ออุปกรณ์หรือวงจรอิเลคโทรนิคที่บรรจุอยู่ในอุปกรณ์นั้นทำให้เสียหาย, ชำรุด, เสื่อมสภาพเร็วกว่าอายุการใช้งานในสภาพปรกติ ดังนั้นเพื่อให้มั่นใจต่อสินค้าที่เราเลือกใช้งาน เราจึงควรพิจารณาถึงมาตราฐานการปกป้องกันของอุปกรณ์ว่าได้รับ IP CODE ระดับใด มากกว่าคำว่า "Water proof หรือ กันน้ำ"

    จากข้อมูลข้างต้น เราสามารถเลือกใช้ wearable devices ตรงตามความต้องการที่โฆษณาตามมาตรฐาน lpXX   เช่น กันน้ำมาตรฐาน lp67 คือจะต้องสามารถอยู่ในน้ำได้ลึกประมาณ 1 เมตร เป็นเวลาประมาณ 30 นาที ซึ่งในที่นี้ไม่ครอบคลุมถึงการใส่ว่ายน้ำ หรือแช่ในน้ำโดยตลอกเวลา เป็นต้น