โลกของเราขาวไม่เท่ากัน: ข้อคำนึงเพื่อเว็บขาวดำแต่พอดี

ในช่วงเวลาที่คนจำนวนมากโศกเศร้า การแสดงออกนั้นมีได้หลากหลาย ผู้ดูแลเว็บไซต์และบัญชีสื่อสังคมจำนวนหนึ่งเลือกที่จะแสดงผลหน้าเว็บทั้งหมดเป็นขาวดำ (จริงๆ คือเทาไล่ระดับ หรือ grayscale แต่ก็เรียกกันติดปากว่า “ขาวดำ” อ่ะนะ) หรือสีโทนหม่นๆ หน่อย (ด้วยการปรับ saturate)

อย่างไรก็ตาม มีข้อควรระวังด้วย เพื่อไม่ให้กระทบกับการใช้งานหรือเกิดความผิดพลาดระหว่างใช้งาน โพสต์นี้ผมรวมเอาข้อแนะนำจากหลายๆ คนที่เจอบนเฟซบุ๊กมารวมเอาไว้ ขอขอบคุณคุณ @Nutn0nFufu Dogu, และ Kasiti Panthanom ด้วยครับ

ในช่วงแรกจะพูดถึงข้อควรระวังพื้นฐาน วิธีเฉพาะหน้าเพื่อทำสีโทนขาวดำ จากนั้นจะพูดถึงปัญหา ทางแก้ไขระยะยาว โดยอ้างอิงส่วนหนึ่งจาก Web Content Accessibility Guidelines ของ W3C และ human interface guidelines ของแอปเปิล

ปรับสี ให้คำนึงถึงการใช้งานด้วย

สิ่งแรกสุดเลยสำหรับการปรับโทนสี คือการพิจารณาว่าลักษณะการใช้งานของเว็บไซต์นั้น เหมาะสมกับสีโทนขาวดำหรือสีที่ผิดไปจากปกติหรือไม่

สีเบเยอร์

เลือกสี iPhone

ถัดมาคือพิจารณาว่า การปรับเปลี่ยนแก้ไขหน้าเว็บ จะทำให้การทำงานของบริการนั้นผิดปกติไปจากเดิมหรือไม่

สำหรับเว็บไซต์ที่

  • สีสำคัญต่อการให้บริการ เช่น เว็บไซต์ขายสินค้าที่ต้องแสดงตัวอย่างสินค้าในสีต่างๆ เพื่อให้แน่ใจว่าลูกค้าจะได้สีอย่างที่ต้องการไม่สั่งผิดสี หรือแผนที่บอกสภาพการจราจร
  • การปรับเปลี่ยนเว็บไซต์ทำได้ยาก เพราะอาจกระทบหลายส่วน หรือจำเป็นต้องทดสอบอีกมากหากมีการเปลี่ยนแปลง UI เพื่อความถูกต้องในการใช้งานและความปลอดภัย เช่น เว็บไซต์ธนาคาร หน้าจอยืนยันการชำระเงิน

ไม่ควรปรับสี “ทั้งเว็บไซต์” ให้เป็นขาวดำ แต่ให้พิจารณาปรับเฉพาะจุด และอาจพิจารณาทางเลือกอื่น เช่น ปรับเฉพาะภาพโลโก้เป็นขาวดำ แสดงแบนเนอร์ด้านบนของทุกหน้า แสดงภาพใหญ่ในหน้าแรกหน้าเดียว หรือทำเป็น landing page แยกออกมาต่างหากก่อนเข้าหน้าเว็บหลัก (ไม่ค่อยอยากแนะนำเท่าไหร่สำหรับ landing page)

วิธีเฉพาะหน้า

ก่อนอื่นขอพูดถึง 2 เทคนิคที่ขณะนี้หลายเว็บไซต์ใช้อยู่ก่อน คือการใช้ CSS filter (ทั้ง grayscale() และ saturate()) กับการใช้ JavaScript แบบ “หว่านแห” ครอบจักรวาล เพื่อเปลี่ยนสี “ทั้งเว็บไซต์”

  • ข้อดี: ทำง่าย ใช้โค้ดสั้นๆ แต่ให้ผลได้ทั้งหน้าเว็บหรือทั้งเว็บไซต์
  • ข้อเสีย: อาจกระทบกับประสิทธิภาพ และความถูกต้องในการใช้งาน

พูดถึงข้อเสียหรือปัญหาแรกก่อน เพราะเป็นเรื่องที่มีร่วมกันของทั้ง JavaScript และ CSS filter แบบครอบจักรวาล ปัญหานี้เกิดจากการที่ตัวเว็บเบราว์เซอร์ต้องประมวลผลเพิ่มขึ้น คือดาวน์โหลดรูปสีเสร็จและแสดงผลส่วนต่างๆ ของเว็บเสร็จไม่พอ ยังต้องแปลงทุกการแสดงผลให้เป็นขาวดำอีกทีด้วย ส่งผลให้เบราว์เซอร์อาจจะหน่วงๆ โดยเฉพาะเครื่องที่ไม่แรงนักอย่างพวกเน็ตบุ๊ก หรือยังใช้เบราว์เซอร์รุ่นเก่าอยู่

แม้เบราว์เซอร์รุ่นใหม่ๆ หน่อยปรับปรุงประสิทธิภาพของ filter grayscale() และ filter saturate() ให้ดีขึ้นมากแล้ว แต่ถ้าใช้ทั้งหน้ากับทุก element ก็อาจจะหน่วงบ้าง

จริงๆ แล้วในเรื่องนี้นั้น CSS filter ก็ยังทำงานได้เร็วกว่า JavaScript แต่สาเหตุที่บางคนเลือกใช้ JavaScript (เช่น grayscale.js) ก็เพราะตัว Internet Explorer ยังรองรับ CSS filter ได้ไม่เต็มที่

ซึ่งก็มาถึงปัญหาที่สอง คือ CSS filter ในแต่ละเบราว์เซอร์นั้นทำงานแตกต่างกันอยู่บ้าง และอาจทำให้เกิดพฤติกรรมที่ไม่พึงประสงค์

ตัวอย่าง CSS filter ที่ใช้กันมาก

[*|html|body|Element] {
    -webkit-filter: grayscale(100%);
    filter: grayscale(100%);
    filter: url('grayscale.svg#grayscale');
    filter: gray;
}

คุณ Fufu Dogu สรุปปัญหาที่พบบนเบราว์เซอร์ต่างๆ ไว้ดังนี้

  • Chrome – แสดงผลขาวดำได้ มีปัญหาเรื่อง z-index จะคำนวณผิดไปจากเดิม
  • Safari – แสดงผลขาวดำได้ อาจมีหน่วงบ้างถ้าเว็บใหญ่
  • Firefox – แสดงผลขาวดำได้ มีปัญหาเรื่อง position, z-index, ถ้าใช้ * เว็บหน้าเสียเลย
  • IE <= 9 แสดงผลขาวดำได้ มีปัญหาเรื่อง pseudo Element จะไม่ขาวดำ, IE 10-12 ใช้งานไม่ได้, IE 13-14 ใช้งานได้

z-index ในที่นี้คือเลขระบุตำแหน่ง “แกนลึก” หรือระดับชั้นของหน้าเว็บ นึกถึงว่าหน้าเว็บก็เหมือนกระดาษ และเราเอากระดาษมาซ้อนกันได้หลายๆ แผ่น วิธีระบุว่าเรากำลังพูดถึงกระดาษแผ่นไหนอยู่ ก็คือเลข z-index นั่นเอง (เลขยิ่งมากยิ่งอยู่บน, เลข 0 คือแผ่นหลังสุด) การอ้างอิง z-index ผิด จะทำให้อินเทอร์เฟซบางส่วนทำงานผิดพลาดได้ และส่งผลต่อการใช้งาน (เช่นโปรแกรมอาจจะสั่งให้เปลี่ยนการแสดงผลข้อความที่อยู่บนกระดาษแผ่นที่ 3 แต่พอใช้ filter ปุ๊บ โปรแกรมมันหากระดาษแผ่นที่ 3 ไม่เจอแล้ว ก็เลยเปลี่ยนข้อความไม่ได้)

ดังนั้นเว็บไซต์ไหนที่ซีเรียสกับความถูกต้องในการใช้งาน หลังแทรก CSS filter เข้าไป อย่าลืมทดสอบพวกการใช้งานหลักๆ ที่สำคัญๆ ด้วย ว่ายังใช้ได้ผลถูกต้องเหมือนเดิมไหม

สรุปคือ 2 วิธีนี้ ทำสะดวก ทำน้อยได้เยอะ แต่อาจมีผลกระทบกับประสิทธิภาพและความถูกต้องในการใช้งาน ดังนั้นจึงเหมาะกับการใช้งาน “แก้ขัด” เฉพาะหน้าไปก่อน ในระหว่างแก้ไขแบบงานละเอียด

ปรับสีแบบงานละเอียด

“งานละเอียด” ที่ว่า มี 2 ระดับความละเอียด (ไม่มีหลักอะไร แบ่งเอาเองนี่แหละ)

แบบแรกคือ ใช้ CSS override ทำ stylesheet ขึ้นมาใหม่อีกชุด แล้วแก้ไข CSS เพื่อแสดงผลขาวดำเป็นจุดๆ ไป (ไม่ได้สั่งให้ทำแบบครอบจักรวาลทุกจุด) เช่น แก้เฉพาะตัว img หรือกำหนด class ขึ้นมาเฉพาะอันหนึ่งแล้ว element ไหนต้องการให้เป็นขาวดำก็เพิ่ม class ดังกล่าวเข้าไป จากนั้นก็ไปประกาศใช้หลัง stylesheet หลัก เพื่อให้ค่าต่างๆ ตัว stylesheet ที่ประกาศทีหลังนี้ ไปทับ (override) ค่าเดิมของตัว stylesheet หลัก

แบบสอง ละเอียดขึ้นไปอีก คือออกแบบธีมใหม่เลย โดยให้คำนึงถึงด้วยว่า เมื่อ UI ถูกลดสีลงแล้ว จะส่งผลต่อการใช้งานอย่างไรบ้าง ผู้ใช้จะยังแยกแยะปุ่มต่างๆ ข้อความเตือนต่างๆ ได้เหมือนเดิมหรือไม่ (ซึ่งตรงนี้มันปรับด้วย CSS อย่างเดียวไม่ได้) มี visual element หรือ visual cue อะไรที่จะเสริมการแยกแยะได้อีกบ้าง

ทั้งสองวิธีนี้จะทำให้เรากำหนดแบบเจาะจงได้ ว่าตรงไหนของหน้าเว็บที่จะเป็นขาวดำบ้าง เช่นให้ทั้งหน้าเป็นขาวดำ ยกเว้นตรงส่วนที่เป็นรูปข่าวหรือแผนที่

ท้องฟ้าเรียงเป็นชั้นสีคล้ายธงชาติไทย

นอกจากนี้ยังสามารถเลือกคู่สีที่เหมาะสมสำหรับเว็บไซต์ของเราได้ คู่ไหนที่ contrast พอดี ใช้แล้วไม่ปวดตา โดยเฉพาะในส่วนที่เป็นข้อความสำหรับการอ่านควรใส่ใจให้มาก เพราะเป็นจุดที่สายตาของผู้ใช้จะอยู่กับมันมากที่สุด (อักษรสีขาวสว่างบนพื้นเทาแบบที่ Pantip.com ใช้อยู่นี่จะลายตามากสำหรับการอ่านข้อความยาวๆ)

W3C แนะนำไว้ใน Web Content Accessibility Guidelines (WCAG) ว่า contrast ratio ของสีตัวอักษรขนาดเล็กและพื้นหลังควรอยู่ที่อย่างน้อย 4.5:1 และตัวอักษรขนาดใหญ่ (14 pt bold หรือ 18 pt regular ขึ้นไป) ควรมี contrast ratio ที่อย่างน้อย 3:1

ผู้ออกแบบเว็บไซต์จำเป็นต้องสื่อสารกับผู้ดูแลด้านเนื้อหาหรือกองบรรณาธิการ ว่าเนื้อหาส่วนใดหรือแบบไหนของเว็บไซต์ที่เป็นสาระสำคัญและจำเป็นต้องคงสีเอาไว้ เช่น แผนผัง แผนภูมิ กราฟ และแผนที่ เพื่อความชัวร์ นักออกแบบต้องปรึกษาฝ่ายเนื้อหา อย่าตัดสินใจเอง

ชิ้นไหนที่สีมีความสำคัญต่อความเข้าใจ อย่างแผนที่แสดงความหนาแน่นการจราจร (แดงรถติด เขียวรถไม่ติด) แผนที่ทางภูมิศาสตร์ (สีแสดงถึงความสูงจากระดับน้ำทะเล หรือแสดงว่าเป็นดิน เป็นน้ำ เป็นสิ่งปลูกสร้าง) กราฟ (แต่ละสีแทนงบประมาณแต่ละประเภท) เหล่านี้ ทางเพจและเว็บไซต์ ควรพิจารณายกเว้นให้แสดงเป็นสีเป็นชิ้นๆ ไป หรือออกแบบใหม่ให้สามารถอ่านได้โดยไม่ต้องพึ่งสี

ทั้งหมดนี้ควรคำนึงถึงสาระที่ต้องการจะสื่อหรือประโยชน์ใช้สอย รวมถึงประโยชน์ของสาธารณะ โดยเฉพาะเรื่องที่เกี่ยวกับความปลอดภัยสาธารณะ

bw-map

bw-js100

แปลงรูปเป็นขาวดำทีละเยอะๆ

สำหรับผู้ที่ต้องการแปลงรูปจำนวนมากให้เป็นขาวดำ บน Windows มีโปรแกรมฟรีอย่าง IrfanView และ XnView ช่วยได้ (สามารถปรับขนาด ตัดภาพ แปลงฟอร์แมต เปลี่ยนสีรูป เปลี่ยนชื่อรูป ได้ทีละเยอะๆ) ดูตัวอย่างการใช้ฟังก์ชัน batch processing จากคลิปนี้

สำหรับคนใช้ OS X (หรือ macOS .. ฮ่วย) และถนัด Automator (มากับโอเอสอยู่แล้ว) ลองทำ Workflow ตามรูปนี้ (กล่องล่างสุดคือ Apply ColorSync Profile: Gray Tone ถ้าไม่มี ใช้ Apply Quartz Composition Filter: Black and White แทนก็ได้ แต่มันจะออกแนวทำรูปเก่า ไม่ใช่ปรับสีเทาอย่างเดียว)

Convert to B&W Automator Workflow

เรียนรู้ร่วมกันเรื่องการใช้สีกับ UI

นี่น่าจะเป็นโอกาสอันดี ที่คนทำเว็บ จะมาสนใจเรื่องสีและกลุ่มผู้ใช้ที่ตาแยกสีได้ต่างจากเราๆ ทั่วไป มาศึกษาการออกแบบที่ไม่พึ่งเฉพาะสีเท่านั้นในการแยกแยะชิ้นส่วนของอินเทอร์เฟซ

พูดอีกอย่างคือ นี่เป็นโอกาสที่จะเราเข้าอกเข้าใจคนตาบอดสีได้มากขึ้น ผ่านประสบการณ์ใช้งานจริง พอเข้าใจแล้วจะได้ออกแบบ UI ที่รองรับกับคนทุกคน แม้หลังจากนี้เราจะกลับมาออกแบบเว็บที่มีสีสันหลากหลายได้ตามปกติ แต่หลักการออกแบบที่ยังคำนึงถึงคนตาบอดสีเราก็ไม่ลืม

ตัวอย่างคำแนะนำจากแอปเปิลในการใช้สีในอินเทอร์เฟซของ iOS:

Be aware of colorblindness and how different cultures perceive color. People see colors differently. Many colorblind people, for example, find it difficult to distinguish red from green (and either color from gray), or blue from orange. Avoid using these color combinations as the only way to distinguish between two states or values. For example, instead of using red and green circles to indicate offline and online, use a red square and a green circle. Some image-editing software includes tools that can help you proof for colorblindness. Also consider how your use of color might be perceived in other countries and cultures. In some cultures, for example, red is used to communicate danger. In others, red has positive connotations. Make sure the colors in your app send the appropriate message.

ถอดความได้ดังนี้

“ให้คำนึงถึงภาวะตาบอดสีและการที่สีถูกรับรู้ต่างกันในต่างวัฒนธรรม

ผู้คนเห็นสีแตกต่างกัน ตัวอย่างเช่น คนที่ตาบอดสีจำนวนมากพบว่ามันยากจะที่จะแยกสีแดงออกจากสีเขียว (และแยกสีทั้งสองสีนั้นจากสีเทา) หรือแยกสีน้ำเงินออกจากสีส้ม ให้หลีกเลี่ยงการใช้สีดังกล่าวคู่กันในลักษณะที่มันจะเป็นเพียงหนทางเดียวที่จะแยกแยะระหว่างสถานะ 2 สถานะหรือค่า 2 ค่า

ตัวอย่างเช่น แทนที่จะใช้วงกลมสีแดงและวงกลมสีเขียวเพื่อบ่งบอกถึงสถานะออฟไลน์และออนไลน์ ให้ใช้สี่เหลี่ยมสีแดงและวงกลมสีเขียวแทน

ซอฟต์แวร์แก้ไขภาพบางตัวจะมีเครื่องมือที่ช่วยให้คุณตรวจสอบการใช้งานในภาวะตาบอดสี

ในตระหนักด้วยว่า วิธีที่คุณใช้สีนั้นอาจถูกรับรู้ต่างกันในประเทศอื่นและวัฒนธรรมอื่น ตัวอย่างเช่น ในบางวัฒนธรรม สีแดงนั้นใช้เพื่อสื่อสารถึงอันตราย ขณะที่ในวัฒนธรรมอื่น สีแดงมีความหมายโดยนัยในทางบวก ทำให้แน่ใจว่าสีต่างๆ ในแอปของคุณส่งสารที่เหมาะสมกับงานออกไป”

สัญลักษณ์หรือรูปทรงที่ต่างกันอย่าง สี่เหลี่ยม วงกลม ที่ยกตัวอย่าง เป็นสิ่งที่ทั้งคนตาเห็นสีปกติและคนตาบอดสี เห็นเหมือนกันได้ ดังนั้นจึงควรนำมาประกอบ เพื่อทำให้สังเกตและแยกแยะชิ้นส่วน UI ได้ง่ายขึ้น

ดูเพิ่มเติมเรื่องนี้ได้ที่ Understanding WCAG 2.0: Contrast และถ้าอยากทดลองว่าคนตาบอดสีเห็นสีอย่างไร มีซอฟต์แวร์จำลองให้ใช้ฟรีทั้งบน Windows และ Mac ชื่อว่า Color Oracle หรือถ้าจะลองกับหน้าเว็บไซต์แบบไม่ต้องลงโปรแกรมอะไรในเครื่อง ไปที่เว็บ Colorblind Web Page Filter

สรุป/ตัดจบ

  • พิจารณา ประโยชน์ใช้สอย+ความปลอดภัย ว่าเหมาะสมไหมที่จะปรับสีของทั้งเว็บไซต์ (ด้วยการแทรกโค้ดที่ยังไม่ได้ทดสอบผลกระทบ) หรือจะใช้วิธีอื่นแทน (เช่น ปรับสีเฉพาะโลโก้ หรือขึ้นแบนเนอร์เอา)
  • การบังคับปรับสีด้วยโค้ดลัดแบบ “หว่านแห” อาจทำได้หากเป็นการทำเฉพาะหน้าไปก่อน แต่ควรตรวจสอบตามหลังด้วย เพื่อซ่อมปัญหาที่น่าจะเกิดตามมาแน่ (โดยเฉพาะเรื่อง contrast) และหากทำได้ก็ควรเปลี่ยนไปใช้โค้ดที่เฉพาะเจาะจง ปรับสีเฉพาะจุด เลือกปรับสีด้วยมือจะดีกว่า
  • การใช้สีให้คำนึงถึงการใช้งาน
    • แผนภูมิ แผนภาพ แผนที่ หรือภาพถ่าย ที่สีมีความสำคัญ ให้พิจารณาคงสีเดิมไว้ หรือปรับลดสีลงให้ยังอยู่ในระดับที่ยังแยกแยะและใช้ประโยชน์จากภาพได้
    • ตัวอักษร ให้มี contrast ที่เหมาะสมเมื่อเทียบกับพื้นหลัง contrast ratio ที่แนะนำคือ 4.5:1 ขึ้นไป (สำหรับตัวอักษรขนาดเล็ก) และ 3:1 ขึ้นไป สำหรับตัวอักษรขนาดใหญ่ (14 pt bold หรือ 18 pt regular ขึ้นไป) – ลองดูตัวอย่างคู่สีโทนขาวดำ ที่คุณ Fufu Dogu ทำมา และดูตัวอย่างคู่สีอื่นๆ เพิ่มเติมที่ Color Contrast for Better Readability
    • ปุ่ม ป้ายแจ้งเตือน UI อื่นๆ ให้ตรวจสอบว่า หลังจากปรับสี ยังสามารถแยกแยะปุ่มที่อยู่ใกล้เคียงกันได้หรือไม่ โดยเฉพาะคำถามที่ให้ผู้ใช้เลือก 2 ทาง หากแยกลำบากให้เพิ่ม visual element เช่นสัญลักษณ์ต่างๆ เข้าไปเป็นตัวช่วย
  • ถ้าทำได้ ควรมีโหมดปกติให้ผู้ใช้สลับกลับมาได้ด้วย (เช่นที่เว็บไซต์ Jeban.com ทำ)
  • หากมีเวลา ลอง(ขอเวลาจากบอส)ศึกษา Web Content Accessibility Guidelines เพื่อการทำเว็บที่ทุกคนเข้าถึงได้

 

ขอให้ทุกคนผ่านช่วงนี้ไปด้วยกัน ใช้โอกาสนี้เรียนรู้การอยู่ร่วมกันระหว่างนี้และหลังจากนี้ ไม่ว่าจะเห็นสีเหมือนกันหรือไม่ก็ตาม

 

(“โลกของเราขาวไม่เท่ากัน” เป็นชื่อหนังสือที่ ม.ล.ปริญญากร วรวรรณ และ วรพจน์ พันธุ์พงศ์ เขียนร่วมกัน – สำนักพิมพ์ openbooks)

เราเป็น เจ้า-ของ อะไรบ้างในยุคดิจิทัล?

คุยกับเพื่อนเรื่องการใช้ซอฟต์แวร์เสรี/โอเพนซอร์ส ก็นึกเรื่องนี้ขึ้นมาได้ ดูเหมือนเราจะใช้โอเพนซอร์สน้อยลงโดยเปรียบเทียบ คือตอนนี้ใช้สมาร์ตโฟนเยอะขึ้น แล้วมันไม่ค่อยมีโอเพนซอร์สเท่าไหร่

นึกๆ อืม มันก็คงเป็นไปแบบนี้แหละ ตอนนี้นึกไม่ออกว่าจะทำยังไง ถึงจะกลับมารู้สึกว่าเราเป็นผู้ควบคุมเครื่องและข้อมูลของเราเองได้มากขึ้นเหมือนเมื่อก่อน คือเรื่องมันเป็นงี้ ….

ในยุคคอมพิวเตอร์ตั้งโต๊ะ

Hardware: เราเลือกฮาร์ดแวร์ได้ตามใจชอบ เสียก็ซ่อมหรือเปลี่ยนเป็นส่วนๆ ได้ พอจะทำได้ด้วยตัวเอง

Software: ซอฟต์แวร์ก็มีที่เป็นซอฟต์แวร์เสรี/โอเพ่นซอร์สให้เลือก จะใช้ OpenOffice, Linux อะไรก็ว่าไป

ในยุคโน๊ตบุ๊ก

Hardware: ตัวฮาร์ดแวร์นี่เริ่มยากละ เลือกเป็นชิ้นๆ ไม่ค่อยได้ มันมาเป็นเซ็ต ช่วงหลังๆ เสียก็ต้องเปลี่ยนยกบอร์ด ยังพออัปเกรดแรมและฮาร์ดดิสก์ได้ แต่ล่าสุด บางเครื่องเปิดฝาออกมาดูเองยังทำไม่ค่อยจะได้ อัปเกรดเองยาก หรือไม่รองรับการอัปเกรดเเลย กระจกจอภาพกับแผงวงจรจอติดกาวกันแน่น จะเปลี่ยนต้องเปลี่ยนทั้งฝาไปเลย

Software: ซอฟต์แวร์ไม่เปลี่ยนอะไรนัก เลือกได้เหมือนๆ เดิม ไม่ต่างจากสมัยเดสก์ท็อป

ในยุคมือถือ-คลาวด์

Hardware: ฮาร์ดแวร์นี่เสียก็เปลี่ยนยกแผงหรือแทบโยนทิ้งเพราะซ่อมไม่คุ้ม

Software: ซอฟต์แวร์ทางเลือกพวกโอเพนซอร์สก็หาลำบากหน่อย ส่วนหนึ่งก็เพราะยังไม่ค่อยมี โครงการเดิมๆ ก็ต้องใช้เวลาในการย้ายแพลตฟอร์ม (จนป่านนี้ OpenOffice/LibreOffice บนมือถือยังไม่เสร็จเลย) อีกส่วนก็เพราะลักษณะการใช้งานจำนวนนึงมันไปผูกอยู่กับคลาวด์มากขึ้น (เกี่ยวกับพื้นที่จัดเก็บที่จำกัดของอุปกรณ์มือถือด้วย) ทำให้แม้จะมีซอฟต์แวร์โอเพนซอร์สฝั่งเซิร์ฟเวอร์ออกมาให้ใช้ (อย่าง ownCloud) แต่พอต้องติดตั้งที่ฝั่งเซิร์ฟเวอร์ด้วย ผู้ใช้ทั่วไปก็ทำเองได้ยากขึ้น

ผู้(รับ)ใช้ ไม่ใช่ เจ้า-ของ

ดูเหมือนสภาพแวดล้อมทางเทคนิคในการประมวลผลข้อมูล สำหรับคนทั่วๆ ไป มันจะกลายเป็น “ผู้ใช้อย่างเดียว” มากขึ้นเรื่อยๆ คือทำอะไรกับเครื่องของตัวเองไม่ค่อยได้มากเท่าไหร่ ไม่เหมือนเมื่อก่อน

การควบคุมเหล่านี้มีหลายระดับ/ลักษณะ

ควบคุมด้วยความรู้

ระบบคอมมันซับซ้อนขึ้น คนทั่วไปมีความรู้ไม่มากพอที่จะซ่อมมันละ (นึกถึงรถยนต์สมัยก่อน กับรถยนต์ที่ควบคุมด้วยคอมพิวเตอร์สมัยนี้ สมัยนี้จะซ่อมเองก็วุ่นหน่อย)

ถ้าอยากมีความรู้ในการซ่อม ก็อาจจะต้องไปเทรนกับผู้ผลิต (และด้วยวงรอบการออกผลิตภัณฑ์ใหม่ที่เร็วขึ้น ก็ต้องไปเทรนเรื่อยๆ จะเทรนครั้งเดียวแล้วไปเทรนคนอื่นๆ ต่อเองก็ไม่ค่อยได้ มันไม่ทันน่ะ)

ควบคุมทางกายภาพ/การเข้าถึง

ต่อให้มีความรู้ การจะเข้าถึงจุดซ่อม มันก็ลำบาก ต้องใช้เครื่องมืองัดแงะพิเศษ ถ้าไม่มีเครื่องมือ ก็ทำไม่ได้ (การออกแบบมีแนวโน้มรวมชิ้นส่วนต่างๆ เข้าด้วยกันอย่างสนิทขึ้น แนบแน่นขึ้น)

อุปกรณ์ซ่อมพวกนี้ ผู้ผลิตก็อาจจะทำขายไง หรือขายไลเซนส์ให้คนอื่นไปทำขาย (ถ้าไม่ใช้อุปกรณ์ที่ใช้ไลเซนส์ถูกต้องในการซ่อม ก็ประกันขาดนะ)

ควบคุมด้วยกฎหมาย

ต่อให้มีความรู้ มีเครื่องมือ แต่ก็อาจจะซ่อมไม่ได้ถนัดอยู่ดี เพราะการเข้าถึงหรือแก้ไขอะไรบางอย่างในระบบ อาจหมายถึง “การละเมิดทรัพย์สินทางปัญญา” ข้อหาเข้าถึงงานอันมีลิขสิทธิ์ที่มีระบบป้องกันทางเทคโนโลยีโดยไม่ได้รับอนุญาตจากเจ้าของลิขสิทธิ์

ผู้ผลิตอาจจะออกใบอนุญาตในการซ่อม เฉพาะคนที่มีใบอนุญาตถึงจะซ่อมได้ ก็จัดสอบกันไป

ชาวนาจะซ่อมรถแทรกเตอร์ของตัวเองเองก็ไม่ได้ เพราะบริษัทผู้ผลิตบอกว่ามันจะผิดกฎหมายลิขสิทธิ์นะ

เราอยู่ในสภาพแวดล้อมทางคอมพิวเตอร์ที่ต้องขออนุญาตกันมากขึ้นเรื่อยๆ

ทั้งๆ ที่มันเป็นเครื่องเป็นของที่เราซื้อมา แต่เราไม่ได้เป็น “เจ้า” ของมันอีกต่อไปแล้ว ผู้ผลิตต่างหากที่เป็น “เจ้า” จริงๆ ที่ควบคุมของที่เราซื้อมา

เรื่องที่เกี่ยวข้อง

ภาพประกอบโดย Karen Blakeman

Forensic Service Act 2016 and the protection of personal data

Forensic Service Act of 2016

The Forensic Service Act B.E. 2559 (2016) (พระราชบัญญัติการให้บริการด้านนิติวิทยาศาสตร์ พ.ศ. 2559) has been announced on the Royal Gazette on 3 August 2016, after the National Legislative Assembly passed it on 10 June 2016. As the regulations about the handling of forensic data are yet to be announced, we don’t have an exact idea yet on how the process and conditions will look like. What we know at the moment is who is going to responsible for the making of those regulations.

Read the Act from NLA website, also comments from the Review Subcommittee of the NLA.

พ.ร.บ.การให้บริการด้านนิติวิทยาศาสตร์ พ.ศ. 2559 ประกาศในราชกิจจานุเบกษาแล้ว อ่านตัวกฎหมายและความเห็นของคณะกรรมาธิการวิสามัญพิจารณาร่างฯ

มีสามเรื่องหลักที่กฎหมายที่กำหนด คือ

  1. ขยายหน้าที่ของ สถาบันนิติวิทยาศาสตร์ กระทรวงยุติธรรม (หมวด 1) เช่น มาตรา 5 (5) “ส่งเสริมและพัฒนาการให้บริการด้านนิติวิทยาศาสตร์ของเอกชน”
  2. กำหนดให้ข้อมูลจากบริการนิติวิทยาศาสตร์ต้องเป็นความลับ กำหนดวิธีการเก็บรักษา การทำลาย และการเปิดเผย (หมวด 2)
  3. ตั้ง คณะกรรมการกำกับการให้บริการด้านนิติวิทยาศาสตร์ เพื่อกำกับดูแลเรื่องมาตรฐาน ค่าบริการ การอุทธรณ์ และการแลกเปลี่ยนข้อมูล (หมวด 3)หมวด 2 เรื่องข้อมูล มีสองมาตรา ว่าด้วยการจัดเก็บและทำลายข้อมูล (มาตรา 8) และการเปิดเผยข้อมูล (มาตรา 9) แต่รายละเอียดยังไม่มี ต้องรอคณะกรรมการฯประกาศ

Three main things this Act is doing are:

  1. Expanding duties of Ministry of Justice’s Central Institute of Forensic Science (สถาบันนิติวิทยาศาสตร์) (Chapter 1)
  2. Specifying how the forensic data should be handled (Chapter 2)
  3. Establishing Forensic Service Oversight Committee (คณะกรรมการกำกับการให้บริการด้านนิติวิทยาศาสตร์) who will regulating forensic standards, fees, appeal process, and the exchange of forensic data. (Chapter 3)

According to Section 3 of the Act, “data” in this Act means Any data that comes from the forensic service.

The “Data Chapter” or Chapter 2 of the Act is solely about the confidentially, preservation, and disclosure of data.

Section 8 Data is confidential. Central Institute of Forensic Science has duty to preserve and destroy the data, according to the criteria, methods, and conditions that the Committee will specify by announcing in the Royal Gazette.

Section 9 Data will only be disclose to the person who request for the forensic service. This should be done according to the criteria, methods, and conditions specified by the Committee. Exception is possible if it is a disclosure according to Court Order or Committee Resolution for the purpose of justice.

This means the details on conditions and process about the preservation and disclosure, or, in general, the life cycle of these potentially sensitive personal data are yet to be announced. All of them will be decided by the Forensic Service Oversight Committee, using the power given to them in Section 15 (4) [Preservation] and Section 15 (4/1) [Disclosure].

According to Section 10, the Committee will consist of

  • Ministry of Justice Permanent Secretary — as Chairperson
  • Director of Central Institute of Forensic Science (CIFS) — as Secretary
  • Commissioner-General of the Royal Thai Police
  • Director-General of Department of Medical Sciences
  • Secretary-General of Thai Industrial Standards Institute
  • Secretary-General of the National Human Rights Commission
  • Secretary-General of the Medical Council
  • Commissioner of the Royal Thai Police Office of Forensic Science
  • A group of expert committee members, not exceeding 5 people, appointed by the Minister of Justice. — The Minister should appointed expert committee member from people with knowledge or experience, at least one person each from these fields: forensic science, law, and investigation.

The Director of CIFS will also appointed no more than two officers from CIFS to act as Assistant Secretary for the Committee.

An expert committee member must be of Thai national and must be at least 35 years old (Section 11). He or she will serve for a period of 4 years and cannot serve for more than two terms (Section 12).

Noted that, if the [forensic] data is handled by a State agency, its privacy will be under the protection of the Official Information Act B.E. 2540 (1997). Yet, as you can see from Section 5 (5), the forensic service can be also come from private sector. But Thailand at the moment doesn’t have the law for general data protection outside the public sector yet.

The Data Protection Bill, which will fill the gap, has been proposed in different versions since more than a decade ago, but it is yet to be passed. The latest version of the Bill from July 2015, which has been reviewed by the Council of the State. It is expected to be submitted to NLA for hearing by the end of 2016.

So, keeps your eyes on the Forensic Service Oversight Committee and the forensic data regulations that they going to make. We hope they are going to have public consultations for that.

Quick notes on Thailand’s new cybercrime law amendment (26 Apr 2016 rev)

Quick points for my international friends who want to get some gists about the development of Thailand’s new amendment of Computer-related Crime Act, as of 14 June 2016. Here I discussed the timeline, small notes on two different revisions on April 2016, and points of concerns regarding freedom of expression, privacy, and encryption.

If you don’t have much time, look at Section 14 (1) [online defamation], 14 (2) [“public safety”], 15 para. 3 [burden of proof to the intermediary], 17/1 [Settlement Commission], 18 (7) [investigative power to access encrypted data-at-rest], 20 (4) [Computer Data Screening Committee can block content that is totally legal], and 20 para. 5 [will be used to circumvent data-in-transit encryption].

Thai Netizen Network also made some recommendations to the Bill (updated 28 June 2016).

Timeline

  • 26 April 2016 — The Cabinet submitted the Bill to National Legislative Assembly (NLA).
  • 28 April — NLA 1st hearing – approved the Bill in principles (160 to 0) and sent it to Review Subcommittee. The Subcommittee has 60 days to review, with possible 30 days extension if needed.
  • ~26 June ~26 July — NLA should received the revised Bill and continue for the 2nd hearing. Updated: the Subcommittee decided to extended the review for another 30 days. Sections that got lots of comments are 14, 15, 16/1, 16/2, 18 (and in connection to 19), 20, and 21 (and in connection to 29).
  • There will be three hearings in NLA. In some cases, all the 1st, 2nd and 3rd hearings could be done in one day.
  • ICT Minister said the government willing to have all Digital Bills in effect by the end of 2016.

Read the Bill (in English)

  • Read Computer-related Crime Act (CCA) amendment (26 April 2016 draft) and its English translation, side by side.
  • There was a revision approved by the Cabinet on 19 April 2006.
    • The 19 April and 26 April revisions are almost identical.
    • Except that Section 13 and Section 14 of 19 April revision (both amend Section 18 of 2007 Act) are merged and become single Section 13 of 26 April revision.
    • So the Section number starting from Section 14 is shifting up.
    • This note is based on 26 April 2016 revision.
    • To avoid confusion, it will refer to the number of the Section to be amended.
  • The Minister responsible for this Act will be the Minister of Digital Economy and Society (new name of Minister of ICT).

Points of Concerns

1. Criminalisation of Speech and Computer Data

  • Section 14 (1) — Online defamation: language still open for online defamation
  • Section 14 (2) — “Public safety”: Vague and general terms like “public safety” and “economic stability” in this Section are undefined specifically in any Thai criminal law, but will be used to criminalised computer data.
    • From our communication with the lawmaker, they said this is meant to be for the crime against computer system of public infrastructure. If that’s the case, it can be better written in the draft, using terms like “critical infrastructure” or “critical information infrastructure”.
  • Read iLaw analysis on this (in Thai)

2. Disproportionate Intermediary Liability

  • Section 15 paragraph 2 — Blanket power: Minister power to issue additional procedural rules, which may additionally limits civil rights but require no review from Parliament.
  • Section 15 paragraph 3 — Burden of proof: if service provider follows the Ministerial procedural rules, they may exempted from penalty, but service provider has to prove their innocence.
  • Section 3 — No differentiation of intermediary types: Section 3 (since 2007 version) do defined two different types of “service providers”, but for the rest of the Act it does not really differentiated them. Every service providers got the same level of penalty.
    • We should at least differentiated between “mere conduit” and “hosting”.
    • EU E-Commerce Directive has three: “mere conduit” (Article 12), “caching” (Article 13) and “hosting” (Article 14).
  • See Manila Principles on Intermediary Liability

3. Unpredicability of Law — Judicial Process

  • Section 17/1 — Settlement Committee: for offences with 2 years or less jail term. Not sure what is the consequence, but definitely will creates unpredictability of law enforcement
    • The Settlement Committee will be appointed by the Minister. It will be consisted of three persons, one of whom has to be an inquiry official according to the Criminal Procedure Code. No other requirements stated in the Bill.

4. Expanded Investigative Power — Access to Encrypted Data-at-Rest

  • Section 18 — Expands investigative power of Section 18 to non-CCA offences
    • The entire Section 18 in 26 April 2016 revision of CCA amendment is almost identical to the 2007 CCA in use currently, except mainly this expansion.
  • Section 18 (together with Section 19, which are conditions in order to use the power in Section 18) in the current 2007 CCA is already a problem in itself, particularly about the authorisation of power. When compared to similar law on investigative power to gather electronic evidence like one in Section 25 of Special Investigation Act, Sections 18+19 of CCA required lesser check and balance.
  • Section 18 (7) is about accessing encrypted computer system or data.

5. Expanded Information Control

  • Section 20 — Expands blocking and data removal power to non-CCA offences
  • Section 20 (4) — Blocking of content that is totally legal: Computer Data Screening Committee may ask Court the block/remove data that breach “public order” or “moral high ground of people” even its not illegal
    • The Computer Data Screening Committee will be appointed by Minister. Will consisted of five persons. Two must come from relevant private sector. No other requirements stated in the Bill.
    • Thai Journalist Association is very concerned about this.
  • Film industry associations, like Motion Picture Association (regional) and Federation of National Film Associations of Thailand (local), support the expansion of Section 20 to also include site-blocking if copyright infringement occurs.
    • They also citing the damages from Facebook Live and call for measures to takedown such streaming, or any new technology that may infringe intellectual property rights, on social media.

6. Disintegrity of Secured Communication

  • Section 20 paragraph 5 — Additional technological measures to censor encrypted data: Minister can issue additional rules to facilitate data blocking/removal “in response to changing technology”
    • In the “reasons for amendment” document attached with the draft submitted to NLA, it said to block a web page that use public-key encryption a “special method and tools” are needed (see page 28-30 of the documents submitted to NLA, in the last column. You will see the keywords like “SSL”).
    • In order to block a specific URL, the URL has to be known first. The ISP will compare the URL with its blacklist. If matched, it will tell the user that the access is not allowed.
    • For an HTTPS encrypted webpage, the ISP know only first part of URL (the domain name). For example, if the entire URL is https://www.facebook.com/thainetizen, ISP will see only https://www.facebook.com. So they cannot compare and cannot block the URL specifically. They can block the entire www.facebook.com, but that will be very unpopular.
    • It is possible to circumvent the encryption, so ISP can block a specific URL again.
    • But this will affect confidentiality and integrity of the data on the network, as well as its availability (as the data may be blocked and inaccessible).
    • The same tool can also use for the surveillance of private communication.
  • Read Thai Netizen Network analysis on this Section 20 and how it related to MICT Order No. 163/2557 and the “Single Gateway” project (in Thai).
  • See also The Right to Privacy in Thailand and State of Surveillance: Thailand reports.

Stop This

Don’t agree with the Amendment proposal?
Sign the Petition: https://change.org/singlegatewayreturn
and keep spread it around.

Follow more updates and actions from Thai Netizen Network website at https://thainetizen.org and its Facebook page at https://www.facebook.com/thainetizen.

เสรีภาพการแสดงออกในมหาวิทยาลัยสหราชอาณาจักร

Gary Slapper ผู้อำนวยการของมหาวิทยาลัยนิวยอร์ก วิทยาเขตลอนดอน เขียนถึงประเด็นเสรีภาพการแสดงออกที่ถูกจำกัดในมหาวิทยาลัยในสหราชอาณาจักร โดยอ้างอิงรายงาน Free Speech University Rankings ที่จัดอันดับเสรีภาพในการพูดของมหาวิทยาลัยยูเค 115 แห่งเป็นปีที่สองแล้ว และในรายงานปีที่สองนี้ พบมหาวิทยาลัยที่มีการเซ็นเซอร์การแสดงออก 90% เพิ่มขึ้นจากปีที่แล้วที่มี 80%

เขายกตัวอย่าง LSE ที่มีปัญหานี้มาก จนนักศึกษาต้องตั้งสมาคม Speakeasy Society ขึ้นมาเพื่อสนับสนุนการโต้เถียงอย่างเสรีและเปิดกว้าง แต่ไม่นานก็มีการเสนอในที่ประชุมของสหภาพนักศึกษา LSE Student Union ว่าให้แบนสมาคมนี้ซะ สุดท้ายก็รอดไป มีคนโหวตให้แบน 57 เสียง โหวตว่าไม่แบน 226 เสียง ได้อยู่ต่อ

ปัญหาอันหนึ่งก็คือ การยกข้องอ้างเรื่องการหมิ่นศาสนาหรือคำพูดที่สร้างความเกลียดชัง ขึ้นมาเพื่อห้ามหรือจำกัดการแสดงออก

ปัจจุบันกฎหมายที่เกี่ยวกับเรื่องนี้โดยตรงคือ Racial and Religious Hatred Act 2006 (แก้ไขเพิ่มเติม Public Order Act 1986) ซึ่ง Gary ก็บอกว่า ในกฎหมายก็เขียนไว้อย่างชัดเจนว่าไม่ได้ห้ามการวิพากษ์วิจารณ์ หรือกระทั่งประชดเสียดสีเยาะเย้ย (ridicule) ศาสนา ความเชื่อ และวิธีปฏิบัติของผู้ที่มีความเชื่อเหล่านั้น

กฎหมายเขาว่างี้

Part 3A — Hatred against persons on religious grounds

29A — Meaning of “religious hatred”

In this Part “religious hatred” means hatred against a group of persons defined by reference to religious belief or lack of religious belief.

[…]

29J — Protection of freedom of expression

Nothing in this Part shall be read or given effect in a way which prohibits or restricts discussion, criticism or expressions of antipathy, dislike, ridicule, insult or abuse of particular religions or the beliefs or practices of their adherents, or of any other belief system or the beliefs or practices of its adherents, or proselytising or urging adherents of a different religion or belief system to cease practising their religion or belief system.

กล่าวคือความหมายของ “ความเกลียดชังทางศาสนา” นี่ มันต้องเป็นความเกลียดชังต่อกลุ่มบุคคล ซึ่งอ้างอิงกับความเชื่อทางศาสนา (29A) สิ่งที่เขาต้องการปกป้อง คือปกป้องคน ส่วนการจะไปวิพากษ์วิจารณ์หรือเอาตัวศาสนาความเชื่อมาล้อเลียนอะไรนั้น เป็นเรื่องที่กฎหมายไม่ได้ห้าม และเขียนย้ำไว้เลยในกฎหมายว่า ไม่ได้ห้ามนะ (29J)

แต่ก็ดูเหมือนว่าข้ออ้างพวกนี้จะถูกเอามาใช้ปิดปากการแสดงออก คือพอวิพากษ์วิจารณ์ความคิด บอกว่าไม่เห็นด้วยกับอะไร ก็ถูกตีความไปว่าไปโจมตีบุคคลที่เชื่อเรื่องนั้น

เขาปิดท้ายบทความว่า คำว่า “university” ในภาษาอังกฤษนั้น มาจากคำละตินว่า “universtas” ซึ่งแปลว่า “ทั้งหมด จำนวนทั้งหมด ผลรวมทั้งหมดของสรรพสิ่ง” มหาวิทยาลัยควรจะเป็นที่ถกเถียงของแนวคิดทุกอย่าง ไม่ใช่แค่บางอย่าง

อ่านบทความเต็มที่ Milkround “The best way to defeat harmful ideas is by debate — not a ban”

ภาพจาก Wikimedia Commons

Sunset Provision – กำหนดวันหมดอายุให้กฎหมาย

เมื่อวันพฤหัสที่ 18 ก.พ. ที่ผ่านมา ระหว่างเสวนา “การเมืองบนใยแก้ว” #‎คิดนะแต่ไม่แสดงออก‬ ที่ องค์การนักศึกษามหาวิทยาลัยธรรมศาสตร์ ท่าพระจันทร์ จัด มีหัวข้อหนึ่งที่ถูกยกขึ้นมาคุย คือการสอดส่องโดยรัฐ ก็เลยคุยกันต่อถึง USA Patriot Act (แน่นอนว่าเป็นชื่อย่อ ชื่อเต็มคือ Uniting and Strengthening America by Providing Appropriate Tools Required to Intercept and Obstruct Terrorism Act – กูยอมใจ)

เลยได้มีโอกาสพูดถึงการรีวิว การต่ออายุ การต่ออายุอีกครั้งซึ่งที่ไม่สำเร็จ และการหมดอายุลงของบางมาตราใน Patriot Act เนื่องจากพบหลักฐานเชิงประจักษ์ในระหว่างที่กฎหมายบังคับใช้ว่ามันไม่ได้ทำงานได้อย่างที่มันอ้าง นอกจากนี้ในทางปฏิบัติยังนำไปสู่การละเมิดสิทธิหลายกรณี

การหมดอายุลงของบางมาตราในกฎหมายเช่นนี้ เป็นแนวคิดที่เรียกว่า “Sunset” (อาทิตย์อัสดง) ซึ่งเหตุผลในการกำหนดให้กฎหมายหมดอายุลงก็มีหลายเหตุผล บางเหตุผลก็เป็นเรื่องไม่ดีซะเท่าไหร่ เช่นกำหนดให้กฎหมายที่รัฐบาลนี้ออกหมดอายุลงเมื่อหมดอายุรัฐบาล เพื่อไม่ให้รัฐบาลหน้าเอากฎหมายเดียวกันกลับมาเล่นงานรัฐบาลเก่าได้

แต่ในกรณีอื่น มันก็มีเหตุผลที่ดีอยู่ เช่น การออกกฎหมายเพื่อรับมือกับสถานการณ์ฉุกเฉิน ที่สังคมมีแนวโน้มจะตื่นตระหนก panic กับสิ่งรอบตัว คนออกกฎหมายก็อาจจะใส่ sunset provision เข้าไป บอกว่าให้กฎหมายนี้เป็น “มาตรการชั่วคราว” นะ เช่น มีอายุ 5 ปีนะ พอจะครบ 5 ปี ถ้าเห็นว่ากฎหมายนี้ยังโอเคอยู่ ก็ให้ทำการต่ออายุมันซะ แต่ถ้าไม่ก็ปล่อยมันหมดอายุไป ตกลับขอบฟ้าไป เมื่อทำแบบนี้ ก็จะเป็นการบังคับให้ในอนาคตถ้ายังต้องการจะใช้กฎหมายต่อ ก็จะต้องมีการรีวิวทบทวนกฎหมายนั้นๆ ในสถานการณ์ที่เป็นปัจจุบัน ในภาวะที่คนหายตกใจกันแล้ว และด้วยข้อมูลเชิงประจักษณ์จากการใช้กฎหมายจริงในช่วงที่ผ่านมา (ซึ่งในสมัยออกกฎหมายตอนแรก ยังไม่มีข้อมูลแบบนี้)

Sunset provision ยังเป็นเหมือนการประนีประนอมด้วย ในข้อกฎหมายที่มีแนวโน้มจะละเมิดสิทธิพลเมืองสูง ที่ในภาวะปกติคงจะผ่านเป็นกฎหมายลำบาก แต่ในภาวะพิเศษ ผู้แทนในสภาฝั่งสิทธิพลเมืองก็คงจะไปทัดทานอะไรต้านกระแสสังคมไม่ได้นัก การยอมให้มีกฎหมายที่อาจละเมิดสิทธิแต่จำเป็นต้องใส่ sunset provision ก็เลยเหมือนเป็นการยอมถอย แต่ใส่เงื่อนไขไว้ว่า จะไม่ถอยตลอดไปนะ ถอยแค่เวลาจำกัดเท่านั้น

Sunset Provision ใน USA Patriot Act

กรณีของ Patriot Act มาตราที่เป็น Sunset provision คือมาตราที่เกี่ยวข้องกับการดักฟังและดักรับข้อมูล ซึ่งกฎหมายในตอนแรกกำหนดให้หมดอายุลงเมื่อวันที่ 31 ธันวาคม 2005 หลังจากนั้นก็มีการต่ออายุมาเรื่อยๆ รวมถึงออกกฎหมายให้บางมาตราที่เดิมเป็น Sunset provision หรือ “มาตราชั่วคราว” ให้กลายเป็น “มาตราถาวร” – ดู https://en.wikipedia.org/wiki/Sunset_provision#USA_PATRIOT_Act และ https://en.wikipedia.org/wiki/Patriot_Act#Reauthorizations

ส่วนตัวเลขงานวิจัยที่อ้างระหว่างการเสวนา ที่ว่าการดักฟัง-ดักรับข้อมูลแบบเหมารวมทีละเยอะๆ (bulk) ป้องกันการก่อการร้ายได้จริงๆ หรือ เอามาจากงานของ New American Foundation ซึ่งระบุว่า การใช้อำนาจตาม Section 215 ของ Patriot Act เพื่อเก็บข้อมูลพฤติกรรมการโทร (เบอร์ไหนโทรหาเบอร์ไหน เมื่อไหร่ ใช้เวลาแค่ไหน แต่ไม่มีเนื้อหาการคุย) นำไปสู่การเริ่มต้นการต่อต้านการก่อการร้ายที่สำเร็จเพียงอย่างมาก 1.8% ส่วนการใช้อำนาจสอดส่องคนที่ไม่ใช่พลเมืองสหรัฐตาม Section 702 ของกฎหมาย FISA นำไปสู่การสืบทราบเพียง 4.4% ในขณะที่โดยเปรียบเทียบแล้ว ในเคสที่ประสบความสำเร็จ มีการใช้อำนาจของ NSA ที่ไม่ได้เกี่ยวข้องกับ Section 215 หรือ 702 – อันหมายถึงการสืบหาข่าวด้วยวิธีการข่าวกรองแบบดั้งเดิม – อยู่ 21%

ซึ่งตีความได้ว่า ใช่การดักฟังการสื่อสารอาจจะช่วยต่อต้านการก่อการร้ายอยู่นิดหน่อย แต่มันมีวิธีอื่นที่ได้ผลกว่า-และละเมิดสิทธิบุคคลทั่วไปน้อยกว่า

ผลการศึกษาโดย New American Foundation ดังกล่าวมีชื่อว่า Do NSA’s Bulk Surveillance Programs Stop Terrorists? – เอกสารนี้เป็นส่วนหนึ่งของผลการศึกษาและข้อเสนอแนะจากหลายที่ ที่ถูกส่งให้คณะกรรมการรีวิวกฎหมาย Patriot Act รอบล่าสุด ที่สุดท้ายสภาคองเกรสตัดสินใจไม่ต่ออายุมาตราพวกนั้นใน Patriot Act (ไม่ได้แปลว่าทั้ง Patriot Act หมดอายุนะครับ เฉพาะบางมาตราเท่านั้น) แล้วออกกฎหมาย USA Freedom Act มาใช้แทน (ย่อมาจาก Uniting and Strengthening America by Fulfilling Rights and Ending Eavesdropping, Dragnet-collection and Online Monitoring Act – มึงเก่งมาก) ซึ่งยังอนุญาตให้หน่วยงานความมั่นคงสามารถเข้าถึงข้อมูลของบุคคลได้ แต่ต้องให้ศาลกลางอนุญาตก่อน

ผลการศึกษาอีกชิ้นที่พูดถึงในวันงานคือ Surveillance Costs: The NSA’s Impact on the Economy, Internet Freedom & Cybersecurity ซึ่งพูดถึงราคาที่สังคมต้องจ่ายจากโครงการข่าวกรองของ NSA

—-
ภาพประกอบ “sunset” โดย Matthias Bachmann – สัญญาอนุญาตครีเอทีฟคอมมอนส์แบบแสดงที่มา-อนุญาตแบบเดียวกัน

“ข้อยกเว้น” ที่อาจทำลายหลักการของร่างกฎหมายคุ้มครองข้อมูลส่วนบุคคลลงไปทั้งฉบับ #ไร้ค่า

ร่างพ.ร.บ.คุ้มครองข้อมูลส่วนบุคคล มาตรา 4 ข้อยกเว้น

ขอยกจากที่คุยกันในเฟซบุ๊กสองโพสต์เรื่อง ข้อยกเว้นในร่างพ.ร.บ.คุ้มครองข้อมูลส่วนบุคคล กับเรื่อง ศาลยุติธรรมแห่งสหภาพยุโรปตัดสินว่าข้อตกลง “Safe Habour” ระหว่างสหรัฐกับอียูเป็นโมฆะ มาโพสต์ไว้ตรงนี้ด้วย เพื่อให้ค้นหาง่าย

ตัดมาตรา 4 ว่าด้วย “ข้อยกเว้น” ในร่างพ.ร.บ.คุ้มครองข้อมูลส่วนบุคคลมาให้ดูกันก่อน ร่างฉบับนี้สำนักงานคณะกรรมการกฤษฎีกาตรวจพิจารณาเสร็จแล้วเมื่อกรกฎาคม 2558 และส่งกลับไปให้คณะรัฐมนตรีแล้ว ซึ่งถ้าครม.เห็นชอบก็จะส่งไปให้สภานิติบัญญัติแห่งชาติต่อไป (ดาวน์โหลดได้จากเว็บไซต์สพธอ. – มีร่างกฎหมายดิจิทัลครบทุกฉบับ ยกเว้นร่างพ.ร.บ.ความมั่นคงไซเบอร์ ที่ไม่มีฉบับที่กฤษฎีกาตรวจแล้วให้โหลด):

มาตรา 4 พระราชบัญญัตินี้ไม่ใช้บังคับแก่
(1) บุคคลที่ทำการเก็บรวบรวมข้อมูลส่วนบุคคลเพื่อประโยชน์ส่วนตนของบุคคลนั้นเท่านั้น โดยมิให้ผู้อื่นใช้ข้อมูลส่วนบุคคลนั้น หรือเปิดเผยข้อมูลส่วนบุคคลนั้นต่อผู้อื่น
(2) บุคคลหรือนิติบุคคลซึ่งใช้หรือเปิดเผยข้อมูลส่วนบุคคลที่ทำการเก็บรวบรวมไว้เฉพาะเพื่อกิจการสื่อมวลชน งานศิลปกรรม หรืองานวรรณกรรมอันเป็นไปตามจริยธรรมแห่งการประกอบวิชาชีพหรือเป็นประโยชน์สาธารณะเท่านั้น
(3) สภาผู้แทนราษฎร วุฒิสภา และรัฐสภา รวมถึงคณะกรรมาธิการที่แต่งตั้งโดยสภาดังกล่าว ซึ่งเก็บรวมรวม ใช้ และเปิดเผยข้อมูลส่วนบุคคลในการพิจารณาตามอำนาจหน้าที่ของสภาผู้แทนราษฎร วุฒิสภา รัฐสภา หรือคณะกรรมการธิการ แล้วแต่กรณี
(4) การพิจารณาพิพากษาคดีของศาลและการดำเนินงานของเจ้าหน้าที่ในกระบวนการพิจารณาคดี การบังคับคดี และการวางทรัพย์ รวมทั้งการดำเนินงานตามกระบวนการยุติธรรมทางอาญา
(5) การดำเนินกิจการทางศาสนาขององค์การทางศาสนา
(6) การดำเนินการกับข้อมูลของบริษัทข้อมูลเครดิตและสมาชิกตามกฎหมายว่าด้วยการประกอบธุรกิจข้อมูลเครดิต

การยกเว้นไม่ให้นำบทบัญญัติแห่งพระราชบัญญัตินี้ทั้งหมดหรือแต่บางส่วนมาใช้บังคับแก่ผู้ควบคุมข้อมูลส่วนบุคคลในลักษณะใด กิจการใด หรือหน่วยงานใดทำนองเดียวกับผู้ควบคุมข้อมูลส่วนบุคคลตามวรรคหนึ่ง หรือเพื่อประโยชน์สาธารณะอื่นใด ให้ตราเป็นพระราชกฤษฎีกา

ความเห็นสั้นๆ ของผมคือ

ข้อ 2 อ่านแล้วนึกถึงพ.ร.บ.ลิขสิทธิ์ ซึ่งนับว่าซอฟต์แวร์เป็น “วรรณกรรม” ด้วย
ถ้ามีซอฟต์แวร์ที่เก็บข้อมูลส่วนบุคคลตามจริยธรรมวิชาชีพ (ซึ่งก็ไม่รู้ว่าคืออะไร) แปลว่าไม่อยู่ในความคุ้มครองของพ.ร.บ.คุ้มครองข้อมูลส่วนบุคคลนี้รึเปล่า?
แม้โดยทั่วไปนิยามพิเศษจะไม่นำมาใช้ข้ามกฎหมายต่างฉบับกัน แต่อันนี้ก็กังวลไว้ก่อน เพราะที่ผ่านมาก็มีกรณีที่ถ้าจำเป็นต้องตีความนิยามเพิ่มเติม ศาลก็พยายามจะอ้างอิงเทียบกับกฎหมายที่มีอยู่ในเรื่องใกล้เคียง

ข้อ 3 อาจจะพออธิบายได้ในเชิงหลักการ (เห็นด้วยหรือไม่นี่อีกเรื่อง) แต่ในทางปฏิบัติน่าจะมีปัญหาแน่ เพราะเท่ากับเป็นข้อยกเว้นที่ไม่มีขีดจำกัด ไอ้คณะกรรมาธิการนี่มันงอกขึ้นมาได้เรื่อยๆ – เวลาพูดถึงข้อยกเว้นของกฎหมายมันควรจะมีขอบเขตจำกัดชัดเจน

ข้อ 4 นี่รวมถึงการดักฟังไหม คือเข้าใจว่าเจ้าหน้าที่บังคับใช้กฎหมายมีความจำเป็นในกรณีเฉพาะเจาะจงที่จำเป็นต้องสามารถเข้าถึงข้อมูลส่วนบุคคลได้ แต่แทนที่จะเป็นการยกเว้นไปเลย มันควรจะระบุแทนหรือเปล่า ว่าเอาไปใช้อย่างไรได้บ้าง (ดู หลักการระหว่างประเทศว่าด้วยการใช้หลักสิทธิมนุษยชนกับการสอดแนมการสื่อสาร)

ข้อ 5 ข้อนี่ถามกันมาตั้งแต่ปีที่แล้ว ในอย่างน้อยสามวง ว่าทำไมต้องมี ทำไมองค์การทางศาสนาถึงมีสิทธิพิเศษได้รับการยกเว้น อะไรคือคำอธิบาย – ซึ่งในบันทึกประกอบของสำนักงานคณะกรรมการกฤษฎีการที่ท้ายร่าง ก็ไม่ได้อธิบายเรื่องนี้

ข้อ 6 จะบอกว่ามีกฎหมายคุ้มครองแบบแยกส่วนอุตสาหกรรม (sectoral) อยู่แล้ว มันก็ฟังขึ้น แต่ทำไมถึงมีเฉพาะข้อมูลเครดิตที่ได้สิทธิพิเศษมาอยู่ในข้อยกเว้นนี้ ทั้งที่ sector อื่นก็มีกฎหมายเฉพาะ เช่น ข้อมูลผู้ป่วยตามพ.ร.บ.สุขภาพ หรือข้อมูลส่วนตัวบนการสื่อสารในกิจการโทรคมนาคม ตามประกาศกทช.

วรรคสองแย่สุด คือเปิดช่องอนุญาตให้ความคุ้มครองตามพระราชบัญญัติที่ออกโดยสภานิติบัญญัติ (ที่โดยหลักการคือเป็นผู้แทนประชาชน และมีกระบวนการรีวิวหลายขั้น) ถูกยกเลิกได้โดยพระราชกฤษฎีกาซึ่งไม่ต้องผ่านสภา คณะรัฐมนตรีออกได้เองเลย

คือขึ้นโครงมาขึงขังมาก จะคุ้มครองนั่นนี่ จะมีบทลงโทษ จะมีคณะกรรมการ จะมีมาตรฐาน ฯลฯ แต่ทำไปทำมา ข้อมูลที่จะถูกคุ้มครองมันถูกตัดออกไปเรื่อยๆ และยังเปิดช่องให้ยกเว้นกันได้สบายๆ

รวมๆ แล้วก็เหมือนกับที่เคยเสนอไปหลายครั้ง ว่าเรื่อง “ข้อยกเว้น” นี้เรียกได้ว่าเป็นเรื่องสำคัญที่สุดของการวางกฎหมายคุ้มครองเลยก็ว่าได้ เพราะมันกำหนดกรอบว่า อะไรที่จะไม่ถูกคุ้มครอง (คือกฎหมายคุ้มครองจะเขียนดีแค่ไหนก็ไม่มีประโยชน์กับข้อมูลกลุ่มนั้นแล้ว เพราะมันไม่ถูกนับ) ดังนั้นจะต้องเขียนให้ชัดเจน ตัวอย่างที่ดีคือของสหราชอาณาจักร ที่แยกมาเป็นหมวด Exemptions ต่างหากในกฎหมาย (Part IV) เพื่อที่จะลงรายละเอียดได้ และเป็นการเขียนในระดับพระราชบัญญัติเพื่อให้สภาพิจารณาไปร่วมกันแต่แรกเลย ไม่ใช่มาออกเป็นพระราชกฤษฎีกาในภายหลังแบบไม่ผ่านสภา นอกจากนี้ยังมีออกข้อแนะนำ (Guidelines) เพื่อช่วยในการตีความกฎหมายด้วย

นอกจากนี้ ถ้าคิดถึงเรื่องการค้าระหว่างประเทศและการโอนข้อมูลระหว่างประเทศกับสหภาพยุโรปหรือประเทศอื่นที่ต้องการคุ้มครองสิทธิของพลเมืองประเทศของเขา เรื่องข้อยกเว้นก็ยิ่งสำคัญมาก เร็วๆ นี้มีคดีตัวอย่าง คือคดี ศาลยุติธรรมแห่งสหภาพยุโรปเพิ่งตัดสินไปว่าสหรัฐอเมริกาไม่มีการคุ้มครองข้อมูลส่วนบุคคลที่ดีพอ เลยตัดสหรัฐออกจากประเทศที่สามารถโอนข้อมูลส่วนบุคคลของพลเมืองอียูไปได้ (โดยไม่ต้องไปทำสัญญาระหว่างเอกชนเป็นรายๆ ไป) — โดยข้อสำคัญที่ศาลยุติธรรมแห่งสหภาพยุโรปนำมาตัดสิน ก็คือเรื่องข้อยกเว้นนี่แหละ ที่ศาลมองว่าข้อยกเว้นในข้อตกลง “Safe Habour” ระหว่างสหรัฐกับอียูนั้นกว้างไป

รายละเอียดเพิ่มเติมเรื่องนี้ดูได้ในคำตัดสินของศาลยุติธรรมแห่งสหภาพยุโรป (CJEU) คดีหมายเลข C-362/14 ซึ่งตัดสินให้ Decision 2000/520/EC (Safe Harbour Decision) ของคณะกรรมาธิการยุโรป เป็นโมฆะ

Decision ดังกล่าวว่าด้วยเรื่องข้อตกลง “Safe Habour ที่คณะกรรมาธิการยุโรปได้ทำการ “รับรอง” ว่าโครงการดังกล่าวของสหรัฐอเมริกามีเนื้อกฎหมายและการบังคับใช้ด้านการคุ้มครองข้อมูลส่วนบุคคลที่เท่ากับมาตรฐานสหภาพยุโรป ตาม Directive 95/46/EC (Data Protection Directive) ทำให้องค์กรของสหรัฐที่เข้าร่วมโครงการดังกล่าวสามารถรับโอนข้อมูลส่วนบุคคลจากสหภาพยุโรปได้

แต่หลังการเปิดโปงโครงการสอดแนมมวลชนอย่าง PRISM ก็ทำให้พบว่า องค์กรที่เข้าร่วมโครงการ Safe Habour ต่างก็มอบข้อมูลให้กับหน่วยงานของรัฐบาลสหรัฐ อย่าง NSA ซึ่งทำได้ภายใต้ “ข้อยกเว้น” ด้านความมั่นคงหรือตามกฎหมายอื่นๆ ที่จำเป็น-ซึ่งอาจประกาศเพิ่มเติมภายหลัง

จุดนี้ทำให้ CJEU มองว่า เท่ากับความคุ้มครองก็ไม่เท่ากับของยุโรปแล้ว ประกอบกับหลักฐานเชิงประจักษ์หลายอย่างในช่วงที่ผ่านมา ทำให้เห็นว่าโครงการ Safe Habour ไม่สามารถคุ้มครองสิทธิในความเป็นส่วนตัวของพลเมืองยุโรปได้จริง จึงตัดสินให้ Decision 2000/520/EC เป็นโมฆะ และทำให้องค์กรในสหภาพยุโรปไม่สามารถส่งข้อมูลไปยังสหรัฐอเมริกาได้อีกต่อไป

ผลกระทบจากตรงนี้คือ ต่อไปประเทศไหนจะออกกฎหมายหรือกลไกหรืออะไรก็ตามที่จะมาเป็น “ข้อยกเว้น” ของการคุ้มครองข้อมูลส่วนบุคคล จะต้องระวังให้ดี ไม่งั้นจะไปกระทบการรับส่งข้อมูลระหว่างประเทศกับสหภาพยุโรปได้ — ประเทศไทยก็ควรจะระมัดระวังเรื่องนี้ครับ

นอกจากนี้ยังมีประเด็น ความเป็นอิสระขององค์กรคุ้มครอง/กำกับดูแล้การใช้ข้อมูลส่วนบุคคล ที่  Directive 95/46/EC ก็ให้ความสำคัญ เนื่องจากจะเป็นสิ่งที่มาบังคับใช้กฎหมาย ซึ่งเรื่องนี้เดี๋ยวคุยกันอีกตอนครับ

สรุปคือ ต้องระวังอย่าให้ “ข้อยกเว้น” มาทำลายหลักการการคุ้มครองเป็นการทั่วไป ไม่อย่างนั้นมีกฎหมายไปก็เหมือนไม่มี #ไร้ค่า และเราก็จะถูกปฏิบัติจากประเทศอื่นเหมือนกับเราเป็นประเทศที่ไม่มีกฎหมายเรื่องนี้ครับ

ติดตั้ง HTTPS พร้อมใบรับรองฟรีจาก Let’s Encrypt บน shared host​ (DreamHost)

Let’s Encrypt เป็นบริการออกใบรับรองการเข้ารหัสเว็บ ที่ให้บริการฟรี ที่ผ่านบริการนี้ต้องเสียเงิน ประมาณ 500 บาทไปจนถึงเกินหมื่นก็มี ซึ่งในทางเทคนิคแล้ว ใบรับรองพวกนี้เหมือนกันหมดไม่ว่าจะฟรีหรือจ่ายเท่าไรก็ตาม

Let’s Encrypt ให้บริการฟรีได้ ส่วนหนึ่งเพราะมันทำให้กระบวนการต่างๆ ทำได้ด้วยตัวเองได้โดยผู้ใช้ (มีสคริปต์มาให้รันเองได้ และในอนาคตจะเป็นระบบอัตโนมัติมากขึ้น) ค่าใช้จ่ายก็เลยถูกลง และอีกส่วนหนึ่งเพราะมีองค์กรหลายแห่งสนับสนุนเงินทุน รวมๆ คือคนเหล่านี้อยากเห็นอินเทอร์เน็ตที่มันปลอดภัยขึ้น (ซึ่งพอคนมั่นใจกับการใช้งานอินเทอร์เน็ตมากขึ้น เดี๋ยวธุรกิจอะไรอื่นๆ ที่ทำตังค์ได้ มันจะตามมาเอง)

อย่างไรก็ตาม ณ ตอนนี้ สคริปต์ของ Let’s Encrypt นี่มันจะใช้บนเครื่องที่เรามี permission เข้าถึง root ของเซิร์ฟเวอร์ได้เท่านั้น คนใช้ shared host นี่หมดสิทธิ์

แต่ช้าก่อน — ถ้าใครใช้ DreamHost หรือเว็บโฮสต์ที่อนุญาตให้เราติดตั้งใบรับรองได้เองทางหน้าเว็บ ก็ไม่ต้องเสียใจ มีวิธีอยู่ คือเรารันสคริปต์นั่นในเครื่องโน๊ตบุ๊กหรือเดสก์ท็อปของเราเองก่อน (บน Linux หรือ OS X) แล้วจากนั้นก็ค่อยเอาไฟล์ต่างๆ ไปใส่ไว้ใน Dreamhost อีกที ผ่านคอนโทรลพาเนลบนหน้าเว็บปกติ

ขั้นตอนวิธีทำเอามาจาก Using Let’s Encrypt With Dreamhost โดย jmhobbs

  1. เริ่มจากไปบอก DreamHost ก่อนว่าให้เพิ่ม secure hosting ไปที่ชื่อโดเมนของเรา
    ล็อกอินเข้า DreamHost panel ที่ด้านซ้ายเลือก “Domains” –> “Secure Hosting” –> “Add Secure Hosting” (ใครใช้ shared host ยี่ห้ออื่น ลองหาทางดูครับ อาจจะมีคล้ายๆ กัน)
    Add secure hosting in Dreamhostตรงนี้เราก็เลือกชื่อโดเมนที่เราต้องการให้มีการเข้ารหัส
    Choose domain name to add secure hosting
    จบขั้นนี้ปุ๊บ สิ่งที่เราได้ก็คือ ชื่อโดเมนที่เราเลือก จะมีการเข้ารหัสด้วย HTTPS แล้ว แต่ใบรับรองที่ใช้จะเป็น self-signed (เซ็นรับรองด้วยตัวเราเอง) ซึ่งเวลาใครมาเข้าเว็บไซต์เรา เบราว์เซอร์มันก็จะเตือนว่า ไม่น่าเชื่อถือนะ สิ่งที่เราจะทำต่อไปก็คือ ไปขอใบรับรอง ที่ Let’s Encrypt (บุคคลที่สาม) เป็นคนเซ็นให้เรา เพื่อให้เบราว์เซอร์มันพอใจ (และคนอุ่นใจ)
  2. ก่อนจะใช้ Let’s Encrypt ก็ต้องติดตั้งมันลงเครื่องโน๊ตบุ๊กหรือเดสก์ท็อปของเรา
    โดยไปดึงสคริปต์มาด้วย git (ถ้ายังไม่มี ก็ติดตั้ง git ก่อน)

    git clone https://github.com/letsencrypt/letsencrypt
  3. จากนั้นก็ ขอใบรับรอง ด้วยสคริปต์ของ Let’s Encrypt
    cd letsencrypt
    ./letsencrypt-auto certonly --manual --debug

    คำอธิบายอ็อปชัน

    • certonly ระบุเพื่อบอกว่า ให้สร้างใบรับรอง แต่ไม่ต้องติดตั้ง (เดี๋ยวเราติดตั้งเอง – ผ่านคอนโทรลพาเนลของ Dreamhost)
    • –manual บอกว่า เราจะทำ domain validation ยืนยันว่าเรามีสิทธิ์ในชื่อโดเมนนั้นเอง (ผ่านการเอาข้อความอันนึงไปวางไว้ที่เซิร์ฟเวอร์นั้น)
    • –debug ใส่อ็อปชันนี่ ถ้ารันบน OS X, ถ้าใช้ Linux ก็ไม่ต้องใส่

    ตรงนี้สคริปต์อาจจะติดตั้งโปรแกรมที่จำเป็นลงในเครื่อง เช่น libxml2, python2.7 (ถ้าบน OS X ก็ผ่าน homebrew) ก็ดูๆ ครับ ว่ามันสำเร็จไหม ถ้าไม่มีปัญหาอะไร สคริปต์ก็จะพาเราไปสู่ขั้นที่ 4

  4. สคริปต์จะถาม อีเมลของเรา (ใช้กรณีกู้กุญแจที่หาย)
    Let's Encrypt asking for e-mail
    และ ชื่อโดเมนที่เราต้องการใบรับรองLet's Encrypt asking for domain name
    ตรงขั้นนี้มันจะเตือนเราว่าทางระบบจะทำการบันทึก ที่อยู่ไอพี (IP address) ที่เราใช้เพื่อขอใบรับรองนะ เราโอเคไหมที่จะให้คนอื่นรู้ที่อยู่ไอพีที่เรากำลังใช้อยู่ขณะนี้ (ของเครื่องที่เรากำลังใช้อยู่ ไม่ใช่เว็บเซิร์ฟเวอร์) ถ้าเราโอเค ก็ตอบตกลงไป
    Let's Encrypt warns about IP logging
  5. ถึงตรงนี้มันจะให้เรายืนยันว่า เรามีสิทธิ์ในชื่อโดเมนที่เราขอไปจริงๆ ด้วยการให้เราสร้างไฟล์ที่มีชื่อตามที่มันกำหนดในไดเรกทอรีที่กำหนด (ตรงสีเขียว) โดยในไฟล์นั้นต้องมีข้อความที่กำหนดด้วย (สีแดง) — อย่าเพิ่งกด ENTER จนกว่าเราจะสร้างไฟล์ที่ว่าเสร็จ
    Let's Encrypt asking for domain validationวิธีสร้างก็ตามนี้ คือ (ในอีกหน้าจอนึง-ล็อกอินเข้าไปที่เซิร์ฟเวอร์ ไม่ได้ทำที่เครื่องเราเองนะ) เข้าไปที่ไดเรกทอรีของเว็บไซต์เราก่อน (อันนี้เป็นการแบ่งไดเรกทอรีในแบบของ Dreamhost ใครใช้โฮสต์อื่นก็ปรับไปนะครับ) จากนั้นก็สร้างไดเรกทอรีที่กำหนด แล้วก็สร้างไฟล์และเอาข้อความที่มันบอกไปใส่ เพื่อบอกว่า นี่ไง เราสร้างได้ เรามีสิทธิ์จริงๆ นะ

    cd [domain]
    mkdir -p .well-known/acme-challenge/
    echo -n "[RedContent]" > .well-known/acme-challenge/[GreenFilename]

    พอจัดการเรื่องที่เซิร์ฟเวอร์เสร็จ ก็กลับมาที่หน้าจอที่เครื่องเรา แล้วกด ENTER ได้เลย

    ถ้าระบบมันเจอไฟล์ที่เราสร้างไว้อย่างถูกต้องที่เซิร์ฟเวอร์ ระบบมันจะสร้างใบรับรองให้เรา เก็บไว้ที่ /etc/letsencrypt/live/[domain]
    ข้างในไดเรกทอรีดังกล่าวจะมีไฟล์อยู่ 4 ไฟล์: cert.pem, chain.pem, fullchain.pem, privkey.pem ซึ่งเราจะเอาไปใช้ในขั้นต่อไป
    **ไฟล์เหล่านี้อย่าให้คนอื่นรู้** ไม่งั้นเขาจะปลอมตัวเป็นเว็บไซต์ของเราได้

  6. ถึงตรงนี้เราจะเริ่มก๊อปปี้ใบรับรองต่างๆ ไปใส่ในคอนโทรลพาเนลของ Dreamhost
    เริ่มด้วยการคลิก Edit ที่ท้ายชื่อโดเมน ในหน้า “Secure Hosting”
    Add certificate in Dreamhostจะเจอหน้า “Certificate Settings”
    ให้เราเลือก “Manual configuration”
    มันจะขึ้นช่องให้เราใส่ใบรับรองต่างๆ อยู่ 4 ช่อง
    Add certificate in Dreamhost4 ช่องนี้ ให้ใส่ดังนี้

    • Certificate Signing Request: ลบทิ้งให้ว่าง
    • Certificate: เอาข้อความในไฟล์ cert.pem มาใส่
    • Private Key: แปลง privkey.pem เป็นฟอร์แมต RSA ด้วย openssl แล้วนำข้อความมาใส่
    • Intermediate Certificate: เอาข้อความในไฟล์ chain.pem มาใส่

    วิธีดูข้อความในไฟล์

    sudo less /etc/letsencrypt/live/[domain]/cert.pem

    วิธีแปลง privkey.pem เป็นฟอร์แมต RSA แล้วเอาไปเก็บไว้ที่ privkey.key (จากนั้นก็เอาข้อความใน privkey.key ไปใช้)

    sudo openssl rsa -in /etc/letsencrypt/live/bact.cc/privkey.pem -out privkey.key

    ใส่ครบทุกช่องแล้ว ก็คลิก “Save changes now”

  7. เท่านี้ก็น่าจะเสร็จแล้ว — แต่ถ้าอยากให้ทุกครั้งที่เรียก http://abc.xyz แล้วให้มัน redirect ไปที่ https:///abc.xyz อัตโนมัติ ก็ทำขั้นนี้เพิ่มหน่อย — ใส่โค้ดนี้ลงในไฟล์ .htaccess
    RewriteEngine On
    RewriteCond %{HTTPS} !=on
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
  8. ลองเข้าเว็บไซต์ของเราดู ว่าเข้ารหัสและมีใบรับรองสวยงามอย่างที่หวังไหม หลังการแก้ไขต่างๆ อาจจะต้องรอสักพัก ไม่น่าจะเกิน 15 นาที เพื่อให้ระบบมันรีเฟรช
  9. ทดสอบความเรียบร้อยอีกที ด้วย การทดสอบจาก SSL Labs เพื่อดูว่าเรายังขาดตกตรงไหนอีก
  10. อย่าลืมว่า ใบรับรองของ Let’s Encrypt จะหมดอายุทุกๆ 3 เดือน ดังนั้นพอใกล้ๆ 3 เดือนก็อย่าลืมทำซ้ำตั้งแต่ขั้นที่ 3 ใหม่นะครับ

ส่วนใครใจไม่ร้อน รอได้ ก็รออีกหน่อย ทาง Dreamhost ประกาศแล้วว่า จะหาทางให้สามารถใช้ Let’s Encrypt บน Dreamhost ได้แบบง่ายๆ แค่คลิกๆ ก็เสร็จ

“อยากกด Like จนมือสั่น”

สืบเนื่องจากกรณีตำรวจอยากดูข้อมูลการพูดคุยกันของประชาชนบนโซเชียลมีเดีย

นิตยสาร Way สัมภาษณ์ประมาณสิงหาปีที่แล้ว ฉบับสั้น “5 คำถาม” ตีพิมพ์ลงฉบับ 56 ธีมเล่ม “Human 2.0”

ส่วนฉบับยาวเพิ่งออกมาเมื่อเดือนนี้ (ก.พ. 2557) ในชื่อว่า “อยากกด Like จนมือสั่น” ว่าด้วยความเคลื่อนไหวเปลี่ยนแปลงบนสื่อสังคม การแสดงออกทางการเมือง การควบคุมสื่อ และสิทธิมนุษยชน

ภาพประกอบนี้ถ่ายที่ชั้น 2 ตึกคณะนิติ จุฬา หน้าร้านถ่ายเอกสาร – โซฟานี่ก็ไปยืมมาจากร้านถ่ายเอกสาร ช่วยกันยกกับพี่ช่างภาพ

eh?

เข้าเว็บไซต์มหาวิทยาลัยเที่ยงคืนไม่ได้? ลิงก์เสีย? ลองนี่

ใครจะค้นจะหาอะไรในเว็บไซต์เดิมของมหาวิทยาลัยเที่ยงคืน ถ้าลิงก์ที่มีอยู่มันเข้าไม่ได้แล้ว (เพราะเว็บไซต์ใหม่เปลี่ยนการจัด url) และลองเสิร์ชด้วยชื่อบทความไม่ได้ผล ลองสองอันนี้ดูครับ

ถ้าลิงก์ที่มีอยู่เป็นลิงก์จากสมัย http://www.geocities.com/midnightuniv/ หรือ http://www.geocities.com/midnight2545/ ให้เปลี่ยนคำว่า geo ในลิงก์เป็น reo แล้วลองเข้าดูใหม่

ถ้าลิงก์ที่มีอยู่หน้าตาแนวๆ นี้ http://www.midnightuniv.org/midnight2544/XXX.html
ให้ลอก XXX มาใส่ตามลิงก์นี้ http://thaiis.com/midnightuniv-org-v1/XXX.html

เช่น http://www.midnightuniv.org/midnight2544/0009999708.html
ก็เป็น http://thaiis.com/midnightuniv-org-v1/midnight2544/0009999708.html

ส่วนถ้าอยากไล่ดูบทความในแบบเดิมๆ ไปที่หน้าแรกแบบเก่าเก่าและแบบเก่าได้ที่สองลิงก์นี้ครับ

สำหรับเว็บไซต์มหาวิทยาลัยเที่ยงคืนรุ่นใหม่ล่าสุด ซึ่งมีบทความใหม่ๆ ออกมาอยู่เรื่อยๆ เข้าดูได้ที่ http://www.midnightuniv.org/

(เหตุทั้งหมดเกิดจากมีคนมาถามถึงบทความในโพสต์นี้ ซึ่งลิงก์เดิมเข้าไม่ได้แล้ว ก็เลยถึอโอกาสอัปเดตและเขียนบอกวิธีไปเลย)