ความกังวลของโปรแกรมเมอร์เกี่ยวกับข้อ จำกัด การส่งออกจากสหรัฐอเมริกา


21

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

Wikipediaกล่าวว่ามีหลายประเภทที่คุณสามารถกำหนดให้กับซอฟต์แวร์การเข้ารหัสลับได้ และปลายทางการส่งออก (เช่นจีนรัสเซีย) ก็มีบทบาทสำคัญเช่นกัน แต่ฉันไม่เข้าใจข้อ จำกัด เหล่านั้นและผลกระทบต่อการทำงานของฉัน

มีใครอธิบายได้ไหม

ฉันถามเพราะถ้าคุณพยายามเผยแพร่แอปพลิเคชันของคุณ (เช่นใน Apple App Store หรือ Android Market) คุณต้องมั่นใจว่าแอปพลิเคชันของคุณตรงตามข้อ จำกัด การส่งออกของสหรัฐฯ และมีแอพพลิเคชั่นมากมายที่ให้การจัดเก็บข้อมูลที่ปลอดภัยเช่นสำหรับรหัสผ่าน

พวกเขาทุกคนแจ้งรัฐบาลและขอให้มีการตรวจสอบหรือไม่? แน่นอนคุณไม่สามารถรู้ว่าพวกเขาทำ แต่พวกเขาต้องทำเช่นนี้?


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

ใช่แน่นอนไม่ได้หมายความว่าใคร ๆ ก็มั่นใจพอที่จะให้คำแนะนำที่ชัดเจน ดู "ไปดูทนาย" ด้านล่าง!
Ben

คุณสามารถตรวจสอบเว็บไซต์FIPSสำหรับรายละเอียดเพิ่มเติม
Ubermensch

1
สำหรับสิ่งนี้ฉันจะปรึกษาทนายความ อาชีพของฉันอยู่ในอุตสาหกรรมการป้องกันรวมถึงผู้รับเหมาที่สร้างผลิตภัณฑ์สำหรับลูกค้าในประเทศและต่างประเทศ ไม่เพียง แต่มีทีมกฎหมาย แต่ผู้เชี่ยวชาญเฉพาะด้านการควบคุมการส่งออกที่ตรวจสอบทุกอย่างเพื่อให้แน่ใจว่าเป็นไปตามหลักเกณฑ์ มีหลายสิ่งเล็กน้อยที่ต้องระวังและพึ่งพาคำตอบจากนักพัฒนาซอฟต์แวร์ไม่ฉลาดเพราะมันง่ายที่จะมองข้ามสิ่งที่สำคัญ
Thomas Owens

1
ขอบคุณโทมัส ฉันคิดว่าอาจเป็นกรณีที่ชัดเจนเนื่องจากมีแอพพลิเคชั่นมากมายใน Android Market (ทั้งหมดต้องเป็นไปตามหลักเกณฑ์) ที่ใช้การเข้ารหัส AES ลองนึกภาพแอพธนาคารทั้งหมดแอพเก็บข้อมูลรหัสผ่าน ฯลฯ ... และฉันไม่ได้ขายแอปพลิเคชันของฉันฉันเสนอให้ฟรี ดังนั้นการขอทนายความจึงมีราคาแพง
caw

คำตอบ:


15

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

คุณจะได้รับการคาดหวังว่าจะเตรียมรายชื่อของทุกคน "แพคเกจ" และ "ไฟล์" ที่มีพื้นฐานการเข้ารหัส (ฉันจำได้ว่าเราได้รับอนุญาตให้ข้ามการแฮชแบบดั้งเดิมที่ใช้สำหรับการตรวจสอบความถูกต้องหรือการควบคุมความสมบูรณ์เท่านั้น)

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

แม้ว่าฉันเชื่อว่าข้อมูลทั้งหมดของฉันถูกต้อง ณ วันที่ 30 ธันวาคม 2011 ฉันไม่ใช่นักกฎหมายและไม่สามารถให้คำแนะนำทางกฎหมายแก่คุณได้ สิ่งเหล่านี้เป็นเพียงตัวชี้ไปยังแหล่งข้อมูลของรัฐบาลสหรัฐฯที่มีอยู่ในปัจจุบัน


1
ขอขอบคุณ! มันฟังดูซับซ้อนและเป็นภาระ โปรดดูการแก้ไขของฉันในคำถาม: คำอธิบายของคุณแม้ในกรณีนี้หรือเฉพาะสำหรับซอฟต์แวร์ที่ช่วยให้ผู้ใช้เข้ารหัสหรือถอดรหัสข้อมูลได้อย่างอิสระ?
caw

ฉันจำได้ว่ารหัสผ่านที่แฮชไม่ใช่หนึ่งในสิ่งที่พวกเขาสนใจดังนั้นถ้านั่นคือทั้งหมดที่แอปพลิเคชันของคุณทำได้ ฉันไม่สามารถพูดในสิ่งที่ผู้เขียนแอปพลิเคชันอื่นทำ ...
sarnold

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

หากคุณอาศัย 100% ในระบบปฏิบัติการโฮสต์เพื่อให้การเข้ารหัสแบบดั้งเดิมคุณไม่ต้องทำอะไรเลย :)
sarnold

1
จากไฟล์นโยบายบังคับคดี JURISDICTION STRENGTH ของ JAVA: สถาปัตยกรรม JCE ช่วยให้สามารถกำหนดค่าความแข็งแรงของการเข้ารหัสที่ยืดหยุ่นผ่านไฟล์นโยบายของเขตอำนาจศาล เนื่องจากข้อ จำกัด การนำเข้าของบางประเทศไฟล์นโยบายเขตอำนาจศาลที่แจกจ่ายกับซอฟต์แวร์ Java SE 7 มีข้อ จำกัด ในตัวของความแรงของการเข้ารหัสที่มีอยู่ ไฟล์นโยบายของเขตอำนาจศาลในชุดดาวน์โหลดนี้ (ชุดรวมถึงไฟล์ README นี้) ไม่มีข้อ จำกัด ด้านความแข็งแกร่งของการเข้ารหัส สิ่งนี้เหมาะสมสำหรับประเทศส่วนใหญ่
caw

7

คุณกำลังเขียนรูทีนการเข้ารหัสของคุณเองหรือแค่เรียกรูทีนบุคคลที่สามหรือไม่?

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


ขอบคุณสำหรับคำตอบ! ถ้านี่เป็นเรื่องจริงมันคงจะดีมาก :) ฉันจะใช้อัลกอริธึมที่มีชื่อเสียงเช่น AES, SHA เป็นต้นดังนั้นฉันจะนำอัลกอริทึมอื่นมาใช้ใหม่และเรียกใช้ฟังก์ชันเนทิฟ ฉันจะไม่เผยแพร่อัลกอริทึมการเข้ารหัสลับของตัวเอง
caw

Marco: นั่นเป็นวิธีที่จะไปอย่างแน่นอน คุณกำหนดเป้าหมายระบบปฏิบัติการใด
JonnyBoats

3
Marco: กำหนดรหัสโปรแกรมของคุณเพื่อใช้รูทีนที่ดีที่สุดที่มีอยู่ในโทรศัพท์ของลูกค้าตรวจสอบเวลาทำงาน คุณจะขายผลิตภัณฑ์ในคิวบาหรือเกาหลีเหนือเท่าไหร่?
JonnyBoats

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

1
ฉันค่อนข้างมั่นใจว่าคุณยังคงต้องส่งไฟล์ crypto ทั้งหมดที่ส่งออกหากคุณเพียงแค่ใช้ crypto API
CodesInChaos

1

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

ไปดูทนายความ ตอนนี้

คุณยังรออยู่หรือไม่? จากนั้นฉันจะขยาย

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

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

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

สิ่งนี้หมายความว่าเป็นคนที่มีธุรกิจประกอบด้วยคนสองคนขายเกมที่จิ้งจกในชุดเกราะตีขึ้นก๊อบลินได้ตระหนักถึงเขาก็นำความเสี่ยงโดยไม่ได้มีการเข้าถึงของเขาทนายความส่วนตัวของตัวเองตลอดเวลา

คุณเป็นธุรกิจหรือไม่? ไม่ทราบ หากคุณขายของบางอย่างคุณก็ควรจะเป็น เดาว่าใครจะรู้ ทนายความ

คุณไม่ต้องจ่ายค่าทนายแพงมากเป็นเวลานาน แต่อย่างน้อยที่สุดคุณต้องมีใครสักคนที่ได้รับการแต่งตั้งซึ่งคุณสามารถทำสิ่งต่าง ๆ ก่อนที่จะทำสิ่งต่าง ๆ ที่อาจเป็นอันตรายตามกฎหมายและสามารถอธิบายได้ว่า สิ่งที่อาจเป็นอันตรายตามกฎหมาย

เพราะนี่คือสิ่งที่ หากคุณทำมันขึ้นมามีหลายสิ่ง

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

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

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

ฉันชอบความสงบใจของฉันหรือไม่ ไปหาทนายความ


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

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

1
คำถามที่ฉันตอบมีทั่วไปมากขึ้น "ฉันต้องพิจารณาด้านใดเมื่อออกแบบและเผยแพร่ซอฟต์แวร์ที่ต้องเป็นไปตามข้อ จำกัด การส่งออกของสหรัฐฯสำหรับซอฟต์แวร์เข้ารหัสลับ" สำหรับสิ่งที่เฉพาะเจาะจงใน Android / iOS จากนั้นคนที่จะปรึกษาก็คือ Apple และ Google ส่งอีเมลถึงพวกเขาโดยกำหนดสิ่งที่คุณวางแผนจะทำและพวกเขาอาจจะมีขั้นตอนทั้งหมดที่คุณต้องการ
deworde

แต่ถ้ามีอะไรผิดพลาดเกิดขึ้นฉันขอแนะนำว่าให้ทนายความท้องถิ่นตระหนักถึงการมีอยู่ของคุณและสิ่งที่คุณทำ ในกรณีที่
deworde

ขอบคุณสำหรับความคิดเห็นเพิ่มเติมของคุณ ฉันจะเก็บคำพูดของคุณในใจ;)
กา

0

คำตอบที่แตกต่างกันเล็กน้อย แต่ทำไมเขียนรหัสการเข้ารหัสในสหรัฐอเมริกา แม้ว่าคุณจะเขียนส่วนที่เหลือของผลิตภัณฑ์ในสหรัฐอเมริกามันมีความเหมาะสมที่จะทำส่วนการเข้ารหัสที่อื่น คุณยังสามารถขายผลิตภัณฑ์ของคุณในสหรัฐอเมริกา แต่คุณนำเข้ามาในสหรัฐอเมริกาแทนที่จะส่งออกจากสหรัฐอเมริกา

นอกจากนี้ในช่วงวัน PGP แรก ๆ กฎการส่งออกถูกล้อมรอบด้วยการพิมพ์หนังสือที่มีซอร์สโค้ดและส่งออกหนังสือ


3
นี่เป็นความคิดที่แย่มาก ระเบียบการลงโทษของสหรัฐอเมริกา / การส่งออกมีผลบังคับใช้กับ บริษัท ใด ๆ ที่จดทะเบียนในสหรัฐอเมริกาและพิจารณาผู้ขายรวมถึงการขาย ใช่ด้วยทนายที่ฉลาดมากคุณอาจพบตัวอย่างของคนที่ล้อมรอบพวกเขาโดยใช้กลอุบายทางกฎหมายที่บ้าคลั่ง แต่ไม่ได้ บริษัท ใหญ่ ๆ จะต้องจ่ายเงินหลายร้อยล้านปอนด์ถ้าพวกเขาทำแบบนี้ บริษัท ขนาดเล็กทุกคนไปเข้าคุกล้มละลายหรือทั้งสองอย่าง
deworde
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.