2012-01-05 52 views
10

Tôi đã tạo một ứng dụng để lưu trữ tên người dùng/mật khẩu, v.v. sử dụng thuật toán mã hóa AES256 có sẵn công khai. Tôi đã không viết mã này vừa sao chép và dán nó từ web và đưa nó vào ứng dụng của tôi.Mã hóa Phê duyệt ứng dụng từ Apple

- (NSData *)AES256EncryptWithKey:(NSString *)key 
- (NSData *)AES256DecryptWithKey:(NSString *)key 

Bây giờ cho câu hỏi triệu đô la. Tôi cần phải trải qua loại quy trình phê duyệt nào để ứng dụng này được phê duyệt. Có nhiều câu trả lời trên web vì có nhiều lá trong rừng. Một số người nói không cần nó, người khác nói rằng bạn phải trải qua một chu kỳ 50-60 ngày với sự chấp thuận của Chính phủ Hoa Kỳ.

Nếu có ai đó đã sử dụng loại mã hóa này trong ứng dụng của họ trước đó, vui lòng cho tôi biết những gì tôi cần làm để ứng dụng này được phê duyệt thông qua cửa hàng Apple. Cảm ơn bạn

+0

Sao chép và dán mã thường là một ý tưởng tồi. Bạn có quyền sử dụng mã đó và phân phối nó không? Chỉ vì nó trực tuyến không có nghĩa là bạn được phép. – jer

+11

Dude, tôi có sự cho phép và đó không phải là câu hỏi. –

+2

Lý do không có câu trả lời rõ ràng có thể là lời khuyên thực sự về mặt pháp lý mà bạn chỉ nên nhận được từ luật sư của mình. Tìm một người đã hoàn thành tài liệu tuân thủ CCATS trước đây. Apple sẽ không cung cấp cho bạn tư vấn pháp lý và IANAL. – hotpaw2

Trả lời

7

(Trước hết:. Điều này không phải là tư vấn pháp lý thực)

Lý do tại sao nó khó có được câu trả lời rõ ràng cho điều này là câu trả lời thực sự phụ thuộc rất nhiều trường hợp và là nhà cung cấp đang chọn xuất phần mềm của bạn ra quốc tế, đó là số để xác định và tuân thủ các quy định của chính phủ . Thật dễ dàng để giả định điều này tất cả là chìa khóa trao tay và đơn giản vì Apple đã làm cho các nhà phát triển tầm thường tầm cỡ quốc tế, nhưng chính phủ không thấy nó theo cách đó-- bạn là một nhà cung cấp phần mềm độc lập. có ý nghĩa pháp lý.

Đây không phải là về việc lưu giữ hoặc phê duyệt của Apple. Tính tuân thủ xuất khẩu không phải là một phần của chính "bản đánh giá ứng dụng". Apple là loại có như kiểm tra trên nó kể từ khi họ là nhà phân phối của bạn, nhưng động lực của họ trong trường hợp này là tuân thủ chính phủ, không làm cho bản án và phê duyệt/từ chối bạn-- họ không muốn được trong kinh doanh của pháp luật thực thi pháp luật . Apple gần như chắc chắn sẽ đưa bạn vào từ của bạn, bất cứ điều gì bạn nói, nhưng nếu bạn đang tìm thấy sau này được ra khỏi sự tuân thủ, họ có quyền đá bạn.

Đi qua trình hướng dẫn khi gửi ứng dụng. Nếu bạn nói rằng mật mã đã thay đổi, nó sẽ hỏi bạn một loạt các câu hỏi khá cụ thể về mật mã của bạn, và nếu cần thiết sẽ yêu cầu bạn gửi một ERN, hoặc có thể là một điều CCATS. There is a FAQ here.

Tin xấu: Những gì bạn đang làm lẽ đòi hỏi bạn phải khai báo mật mã. Có miễn trừ, nhưng chúng dành cho các loại sản phẩm khá cụ thể hơn là loại triển khai (trang web BIS của Hoa Kỳ và trình hướng dẫn của Apple sẽ chỉ định chúng). Chỉ cần sử dụng các API hệ thống hoặc các thuật toán mã hóa đã biết công khai không phải là sự bảo vệ chống lại nó. (Mọi người làm điều này TẤT CẢ THỜI GIAN mà không cần đăng ký nó? Tất nhiên họ làm. Bạn cũng có thể, nếu bạn muốn.)

Tin tốt: Nếu những gì bạn cần là ERN, điều này đã trở thành một quá trình tự động, sắp xếp hợp lý trong năm qua. Bạn có thể làm điều đó trực tuyến, và được thực hiện với nó trong vòng vài giờ. Theo dõi bài đăng trên blog này: http://tigelane.blogspot.com/2011/01/apple-itunes-export-restrictions-on.html Một số trường hợp vẫn có thể yêu cầu quy trình CCATS đầy đủ, có thể phức tạp hơn.

+0

@ quixoto, cảm ơn bạn đã trả lời chi tiết như vậy. Một thông tin phản hồi cho phần còn lại của cộng đồng, tôi đã gửi ứng dụng của tôi như là và khi nó yêu cầu nếu tôi đã mã hóa, tôi nói KHÔNG ... Nhưng tôi cũng nói rằng bán ứng dụng này chỉ ở Mỹ và không phải tất cả các thị trường táo trên toàn cầu. Vì tôi bán tại địa phương ở Mỹ, không có gì để xuất khẩu và do đó không cần kiểm soát xuất khẩu. Tôi sẽ cập nhật phản hồi của mình sau khi biết liệu ứng dụng của mình có được chấp thuận hay không. Cảm ơn tất cả những người đã giúp tôi với bài đăng này –

-4

Tôi tin rằng bạn không có gì để làm.

Để biết thêm thông tin về các kiểm soát xuất khẩu của Hoa Kỳ, tôi đề nghị lướt qua các câu trả lời trên https://softwareengineering.stackexchange.com/q/127809/25885 để liên kết đến các cơ quan khác nhau và các thông báo hoặc quyền họ yêu cầu trước khi xuất phần mềm bên ngoài Hoa Kỳ.

Nói chung, nếu bạn đang sử dụng các API do hệ thống cung cấp mà không tự giới thiệu bất kỳ mã mật mã mới nào, bạn phải hoàn toàn rõ ràng. (Ít nhất, tôi đã không nghe bất kỳ phản ví dụ để logic này cũng không đọc bất cứ điều gì mâu thuẫn với nó.)

+0

Tôi _do_ hy vọng bạn đang sử dụng AES đúng cách - không sử dụng ECB, tạo ngẫu nhiên IV của bạn, v.v. – sarnold

+1

Không thực sự là câu hỏi của OP, nhưng AES256EncryptWithKey là một phần cắt và dán nổi tiếng. Nó không quản lý IV ​​ở tất cả và nó không quản lý một cách chính xác các phím AES. Nó khá là không an toàn, nhưng nó thường được sử dụng. Nó dựa trên CommonCrypto. Tôi thảo luận các vấn đề với các đoạn mã tương tự ở đây: http://robnapier.net/blog/aes-commoncrypto-564. (Như đã nói, OP không yêu cầu đánh giá an ninh của anh ấy và tôi không đưa ra nó; chỉ trả lời câu hỏi của sarnold). –

+1

@quixoto: nếu trình hướng dẫn gửi của Apple là _that_ rõ ràng, Sam sẽ không ở đây yêu cầu _us_ . :) – sarnold

1

Tôi không thực hiện bất kỳ quá trình xử lý ERN hoặc CCATS nào. Ứng dụng đã được phê duyệt sau 5 ngày.

SỬA CHỮA: Thực ra đó là một sự may mắn câm mà ứng dụng của tôi đã được phê duyệt. Tôi đã không đề cập đến trong mô tả ứng dụng của tôi rằng tôi đã có mã hóa AES 256 trong ứng dụng của mình. Nếu bạn không đề cập đến thì ứng dụng sẽ được chấp thuận mà không cần thêm bất kỳ giấy tờ nào. Nếu bạn làm sau đó sẵn sàng cho một quá trình rút ra dài. Apple không có cách nào để kiểm tra xem ứng dụng của bạn có/không có bất kỳ mã hóa nào không. Nó thuộc vào bạn để khai báo hay không.

+0

thats vui nhộn. điều đó có được khuyến khích không? tôi đã bị từ chối một lần vì lý do này. nếu tôi chỉ xóa phần trong mô tả ứng dụng của mình rằng tôi đang sử dụng thuật toán mã hóa, tôi có thể được chấp nhận? (btw mỏ là một ứng dụng quản lý mật khẩu) – Esqarrouth

+0

@Sam Bạn có thể cho tôi biết là ứng dụng của bạn vẫn còn trên cửa hàng ứng dụng. Sau năm 2015 cũng vậy. – Sneha

Các vấn đề liên quan