Po raz pierwszy przesyłam plik binarny. iTunes Connect zapytał mnie:
Przepisy eksportowe wymagają, aby produkty zawierające szyfrowanie były odpowiednio autoryzowane do eksportu.
Nieprzestrzeganie może spowodować surowe kary.
Aby uzyskać więcej informacji kliknij tutaj.
Czy twój produkt zawiera szyfrowanie?
Używam https://
, ale tylko przez NSURLConnection
i UIWebView
.
Czytam o tym, że moja aplikacja nie „szyfruje”, ale zastanawiam się, czy jest to gdzieś zapisane. „Surowe kary” wcale nie brzmią przyjemnie, więc „Myślę, że to prawda” jest nieco szkicowy ... lepsza byłaby wiarygodna odpowiedź.
Dzięki.
iphone
encryption
app-store
Steven Fisher
źródło
źródło
Odpowiedzi:
[ AKTUALIZACJA : Korzystanie z HTTPS jest teraz zwolnione z ERN pod koniec września 2016 r.] Https://stackoverflow.com/a/40919650/4976373
Niestety uważam, że twoja aplikacja „zawiera szyfrowanie” pod względem amerykańskiego BIS, nawet jeśli używasz tylko HTTPS (jeśli twoja aplikacja nie jest wyjątkiem uwzględnionym w pytaniu 2).
Cytat z FAQ na iTunes Connect :
„ Skąd mam wiedzieć, czy mogę śledzić proces rejestracji i raportowania eksportera (ERN)?
Jeśli Twoja aplikacja używa , uzyskuje dostęp, wdraża lub zawiera algorytmy szyfrowania zgodne ze standardami branżowymi do celów innych niż te wymienione jako wyjątki w pytaniu 2, musisz złożyć wniosek o autoryzację ERN . Przykłady standardowego szyfrowania to: AES, SSL, https . Upoważnienie to wymaga, aby co roku w styczniu przesyłać do dwóch agencji rządowych USA raport roczny z informacjami o Twojej aplikacji. „
„ Drugie pytanie: czy twój produkt kwalifikuje się do jakichkolwiek wyłączeń przewidzianych w kategorii 5 część 2?
Istnieje kilka wyjątków dostępnych w amerykańskich przepisach eksportowych w kategorii 5 część 2 (Przepisy bezpieczeństwa i szyfrowania informacji) dla aplikacji i oprogramowania, które używają, uzyskują dostęp, wdrażają lub zawierają szyfrowanie.
Wszelkie zobowiązania związane z błędną interpretacją przepisów eksportowych lub niedokładnym wnioskiem o zwolnienie ponoszą właściciele i twórcy aplikacji.
Możesz odpowiedzieć „TAK” na pytanie, jeśli spełniasz jedno z poniższych kryteriów:
(i) jeśli stwierdzisz, że Twoja aplikacja nie jest sklasyfikowana w kategorii 5, część 2 EAR, na podstawie wskazówek dostarczonych przez BIS w pytaniu dotyczącym szyfrowania . Deklaracja ustaleń dotycząca sprzętu medycznego w suplemencie nr 3 do części 774 EAR jest dostępna na stronie Electronic Code of Federal Regulations. Odwiedź pytanie nr 15 w sekcji FAQ strony szyfrowania dla przykładowych elementów wymienionych przez BIS, które mogą ubiegać się o zwolnienia z uwagi 4.
(ii) Twoja aplikacja używa, uzyskuje dostęp, wdraża lub obejmuje szyfrowanie wyłącznie w celu uwierzytelnienia
(iii) Twoja aplikacja używa, uzyskuje dostęp, wdraża lub zawiera szyfrowanie o długości klucza nieprzekraczającej 56 bitów symetrycznych, 512 bitów asymetrycznych i / lub 112 bitów krzywej eliptycznej
(iv) Twoja aplikacja jest produktem rynku masowego o długościach kluczy nieprzekraczających 64 bitów symetrycznych lub, jeśli nie ma algorytmów symetrycznych, nieprzekraczających 768 bitów asymetrycznych i / lub 128 bitowych krzywych eliptycznych.
Przejrzyj uwagę 3 w części 2 kategorii 5, aby zrozumieć kryteria definicji rynku masowego.
(v) Twoja aplikacja jest specjalnie zaprojektowana i ograniczona do użytku bankowego lub „transakcji pieniężnych”. Termin „transakcje pieniężne” obejmuje zbieranie i rozliczanie taryf lub funkcji kredytowych.
(vi) kod źródłowy Twojej aplikacji jest „publicznie dostępny”, aplikacja jest bezpłatnie rozpowszechniana wśród ogółu społeczeństwa i spełniłeś wymagania dotyczące powiadomień określone w 740.13. (e).
Odwiedź stronę internetową poświęconą szyfrowaniu na wypadek, gdybyś potrzebował dalszej pomocy w określeniu, czy Twoja aplikacja kwalifikuje się do jakichkolwiek wyjątków.
Jeśli uważasz, że Twoja aplikacja kwalifikuje się do zwolnienia, odpowiedz „TAK” na pytanie. ”
źródło
Nie jest trudno uzyskać odpowiednią zgodę na aplikację. SSL (HTTPS / TLS) jest nadal szyfrowaniem i jeśli nie używasz go tylko do uwierzytelniania, powinieneś uzyskać odpowiednią zgodę. Właśnie otrzymałem zgodę, a moja aplikacja jest teraz w sklepie dla czegoś, co używa SSL do szyfrowania ruchu danych (nie tylko uwierzytelniania).
Oto wpis na blogu, który zrobiłem, aby inni mogli to zrobić we właściwy sposób.
ograniczenia eksportu iTunes Apple
źródło
Zadałem Apple to samo pytanie i uzyskałem odpowiedź (od Specjalisty ds. Zgodności z Eksportem Sr.), że „wysyłanie informacji przez https zmusza dane do przejścia przez bezpieczny kanał z SSL, a zatem podlega wymaganiom rządu USA dla Przegląd i zatwierdzenie CCATS. ” Pamiętaj, że nie ma znaczenia, że Apple już to zrobiło dla swojej implementacji SSL, ale dla rządu, jeśli użyjesz szyfrowania, które jest dla nich takie samo, jak sam je kodujesz. Zaktualizowałem również naszego bloga ( http://blog.theanimail.com ), ponieważ Tim powiązał go z aktualizacjami i szczegółami dotyczącymi tego procesu. Mam nadzieję, że to pomaga.
źródło
Jeśli korzystasz z frameworka zabezpieczeń lub bibliotek CommonCrypto dostarczonych przez Apple, dołączasz krypto do swojej aplikacji i musisz odpowiedzieć tak - po prostu dlatego, że biblioteki dostarczone przez Apple nie biorą cię z głowy.
Jeśli chodzi o oryginalne pytanie, ostatnie posty na forach programistycznych Apple skłoniły mnie do przekonania, że musisz odpowiedzieć tak, nawet jeśli wszystko, czego używasz, to SSL.
źródło
Krótka odpowiedź: Tak, ale nie musisz nic robić
Szukałem tego w sieci przez kilka godzin. W rzeczywistości jest to dość łatwe i możesz to sprawdzić w iTunes:
1. Wszystko co musisz zrobić
Jeśli Twoja aplikacja używa tylko HTTPS lub szyfruje tylko do uwierzytelniania, tokenów itp., Nie musisz nic robić, po prostu dołącz
w swoim Info.plist i gotowe .
2. Weryfikacja
Możesz to sprawdzić w iTunes Connect.
W każdym razie powinieneś oczywiście uważnie przeczytać siebie w oknie dialogowym.
Bardzo pomocny artykuł można znaleźć tutaj:
https://www.cocoanetics.com/2017/02/itunes-connect-encryption-info/
źródło
Wszystko to może być bardzo mylące dla twórców aplikacji, którzy używają TLS do łączenia się z własnymi serwerami WWW. Ponieważ ATS (App Transport Security) staje się coraz ważniejszy i jesteśmy zachęcani do konwersji wszystkiego na https - myślę, że więcej programistów napotka ten problem.
Moja aplikacja po prostu wymienia dane między naszym serwerem a użytkownikiem za pomocą protokołu https. Widzenie słów „WYKORZYSTANIE SZYFROWANIA” w zastrzeżeniach jest nieco przerażające, dlatego zadzwoniłem do biura rządu USA w ich biurze i rozmawiałem z przedstawicielem Biura Przemysłu i Bezpieczeństwa (BIS) http: //www.bis.doc .gov / index.php / about-bis / contact-bis .
Przedstawiciel zapytał mnie o moją aplikację, a ponieważ przeszedł „podstawowy test funkcji”, ponieważ nie miał nic wspólnego z bezpieczeństwem / komunikacją i po prostu używa https jako kanału do połączenia danych moich klientów z naszymi serwerami - zalicza się do kategorii EAR99 co oznacza, że jest zwolniony z uzyskiwania zgody rządu (patrz https://www.bis.doc.gov/index.php/licensing/commerce-control-list-classification/export-control-classification-number-eccn )
Mam nadzieję, że pomoże to innym twórcom aplikacji.
źródło
Od 20 września 2016 r. Rejestracja nie jest już wymagana w przypadku aplikacji korzystających z protokołu https (lub innych metod szyfrowania): https://web.archive.org/web/20170312060607/https://www.bis.doc. gov / index.php / informationsecurity2016-updates
W rzeczywistości w SNAP-R nie można już wybrać „rejestracji szyfrowania”:
W szczególności zauważają:
Oznacza to, że może być konieczne przesłanie rocznego raportu do BIS, ale nie trzeba się rejestrować, a podczas przesyłania aplikacji można zauważyć, że jest ona zwolniona.
źródło
Tak, zgodnie z ekranami iTunes Connect Export Compliance Information, jeśli używasz wbudowanego szyfrowania iOS lub MacOS (pęku kluczy, https), używasz szyfrowania do celów przepisów eksportowych rządu USA. To, czy kwalifikujesz się do zwolnienia ze zgodności eksportowej, zależy od tego, co robi Twoja aplikacja i jak korzysta z tego szyfrowania. Załączone obrazy pokazują ekrany zgodności eksportu iTunes Connect, aby pomóc Ci określić obowiązki w zakresie raportowania eksportu. W szczególności stwierdza:
źródło
@hisnameisjimmy jest poprawny: zauważysz (przynajmniej od dzisiaj, 1 grudnia 2016 r.), gdy przejdziesz do przesłania aplikacji do przeglądu i przejdziesz do instrukcji zgodności z wywozem, zauważysz, że menu teraz stwierdza, że HTTPS jest zwolnioną wersją szyfrowanie (jeśli używasz go do każdego połączenia):
źródło
Uznałem, że to FAQ z amerykańskiego Biura Przemysłu i Bezpieczeństwa jest bardzo pomocne.
szyfrowanie
Pytanie 15 (co to jest uwaga 4?) Jest ważnym punktem:
...
Przykłady pozycji, które są wykluczone z kategorii 5, część 2 uwagą 4, obejmują między innymi:
Aplikacje konsumenckie. Kilka przykładów:
źródło
Okazało się, że niektóre z tych odpowiedzi są bardzo przydatne, ale chciałem uzupełnić ten adres URL, ponieważ prowadzi on przez pytania:
https://itunespartner.apple.com/en/apps/faq/Managing%20Your%20Apps_Export%20Compliance#21109148
źródło
Instrukcje wypełniania formularzy SNAP-R 2020 można znaleźć pod tym linkiem. Również instrukcje dotyczące rocznego sprawozdania z własnej klasyfikacji są aktualizowane do 2020 r.
https://stackoverflow.com/a/61431496/1217670
źródło
Proste odpowiedzi to Tak (aplikacja ma szyfrowanie) i Tak (aplikacja korzysta z szyfrowania z wyłączeniem). W mojej aplikacji właśnie otwieram witrynę mojej firmy w WKWebView, ale ponieważ używa ona „https”, będzie to traktowane jako szyfrowanie wyłączone. Dokument Apple, aby uzyskać więcej informacji: https://developer.apple.com/documentation/security/complying_with_encryption_export_regulations?language=objc
Możesz też po prostu dodać klucz „ITSAppUsesNonExemptEncryption” i wpisać „NIE” w pliku info.plist swojej aplikacji. w ten sposób iTunes Connect nie będzie już zadawał Ci takich pytań. Więcej informacji: https://developer.apple.com/documentation/bundleresources/information_property_list/itsappusesnonexemptencryption?language=objc
Możesz wykonać 3 proste kroki, aby sprawdzić, czy Twoja aplikacja jest zwolniona, czy nie: https://help.apple.com/app-store-connect/#/dev63c95e436
Może być konieczne przedłożenie tej rocznej samoklasyfikacji rządowi USA. Aby uzyskać więcej informacji: https://www.bis.doc.gov/index.php/policy-guidance/encryption/4-reports-and-reviews/a-annual-self-classification
źródło
Jeśli nie używasz jawnie biblioteki szyfrowania lub nie tworzysz własnego kodu szyfrującego, myślę, że odpowiedź brzmi „nie”
źródło