Announcement

Collapse
No announcement yet.

[Share] Báo cáo lập trình di động

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • [Share] Báo cáo lập trình di động

    Hi all,

    Tình hình là sắp thi rồi, mọi người share báo cáo môn này lên đây nha.

    Luôn tiện share luôn tài liệu PKCS nha

    Regard!
    Last edited by 08520229; 05-05-2012, 23:27.
    Một khẩu súng giữ hai trời Nam Bắc,
    Một dấu chân in màu đất hai miền.

    ------------------------------------------------------

  • #2
    Lập trình DĐ: Google Map API
    Attached Files
    Last edited by 08520211; 05-05-2012, 23:21.

    Comment


    • #3
      Hệ thống chứng thực số PKCS#1,5,10,11,15. còn lại ai có up lên tiếp nhé.
      Attached Files
      Last edited by 08520211; 05-05-2012, 23:35.

      Comment


      • #5
        còn đây là HTTPS, hướng dẫn demo và các bước đăng kí lấy file cer tại verisign.com mà bừa thầy kiu xem có thể thầy xẽ cho, có thắc mắc gì thì pm mình qua yahoo : michael_uit
        http://www.mediafire.com/?iuclhie90w49at8

        Comment


        • #6
          up lên cái nào
          Một khẩu súng giữ hai trời Nam Bắc,
          Một dấu chân in màu đất hai miền.

          ------------------------------------------------------

          Comment


          • #7
            Hôm nay có ai đi tổng hợp đề cương ôn tập không, up lên cho mọi người cùng xem nào ! ^^

            Comment


            • #8
              PKCS#5 : Padding

              Padding: dịch sát nghĩa là "độn thêm vào". Vậy nó độn cái gì vào cái gì và vì sao cần phải "độn"?

              Lý do đây:

              PKCS#5 định ra các chuẩn/quy tắc để áp dụng cho quá trình mã hóa một plaintext. Ý tưởng cơ bản để mã hóa đó là "chia để trị" tức là một Message sẽ được chia thành các block nhỏ hơn, và việc mã hóa sẽ được tiến hành trên các block này.

              Việc chia block này phát sinh ra một vấn đề nho nhỏ là: các hàm dùng để mã hóa thường yêu cầu đầu vào là các block có kích thước cố định... trong khi đó thằng User nó tạo ra Message thì cái dài cái ngắn, cái thiếu cái đủ... Vậy nên ta phải độn, block nào thiếu thì thì độn thêm "rác" ("byte 0x08" - PKCS#5) vào cho nó đủ kích thước của một block

              Ví dụ: một thuật toán mã hóa đòi block input có kích thước là 8 byte... Cho nên muốn sử dụng nó thì cái Message (M) phải được chia thành từng khúc "8 byte". Nếu có kích thước là 256 byte => chia vừa đủ thành 32 khối 8 byte => chuẩn như siêu mẫu => khỏi cần độn. Nhưng xui xui thằng M chỉ có 255 byte => block cuối sẽ thiếu 1 byte (nó chỉ có 7 byte hà)=> ta phải độn thêm 1 thằng "0x08" vào block cuối để cho đủ 8 byte.

              Vậy thì làm sao xác định được sẽ độn bao nhiêu byte? => dễ ợt công thức là 8 - (Sizeof (M) % 8) .

              Quay lại ví dụ kích thước của M là 255 byte. Theo công thức thì số byte 0x08 cần độn là 8 - (255%8) = 8 - 7 = 1 => độn 1 thằng 0x08 là đủ rồi

              Tại sao lại độn thằng 0x08 mà ko phải thằng nào khác? => cái này do RSA quy định và tốt nhất chúng ta nên tuân theo nếu ko muốn phải học lại

              Tài liệu đọc thêm về padding cho thím nào có hứng thú

              http://www.rsa.com/products/bsafe/do..._SYM__PAD.html


              MAC : Message authentication code

              MAC: mã xác thực thông điệp. Nó cung cấp cho bên nhận biết Message là do chính bên gửi gửi tới. Ví dụ A gửi B một Message... thằng B sẽ dựa vào MAC đễ biết có phải cái này chính xác do A gửi hay không.

              Cơ chế làm việc của MAC

              661px-MAC.svg.png

              Bên gửi sẽ đính kèm MAC vào Message và gửi cho bên nhận.

              Bên nhận sẽ sử dụng một KEY (đã được thống nhất từ trước với bên gửi) và Message nhận được thông qua thuật toán tạo ra MAC (MAC Algorithm). Sau đó sẽ check cái MAC này với MAC nhân được từ bên gửi... nếu hai MAC trùng nhau thì bên nhận sẽ chắc chắn rằng thông điệp mình nhận được đúng là được gửi từ bên gửi.

              MAC Algorithm: nôm na đó là một hàm tạo ra MAC (thường là các hàm băm). Hàm tạo MAC thường gặp là HMAC và nó thường đi kèm với một hàm băm (SHA hoặc MD5). Mã giả của HMAC như bên dưới

              Code:
              function hmac (key, message)
                  if (length(key) > blocksize) then
                      key = hash(key) // keys longer than blocksize are shortened
                  end if
                  if (length(key) < blocksize) then
                      key = key ∥ [0x00 * (blocksize - length(key))] // keys shorter than blocksize are zero-padded ('∥' is concatenation) 
                  end if
                 
                  o_key_pad = [0x5c * blocksize] ⊕ key // Where blocksize is that of the underlying hash function
                  i_key_pad = [0x36 * blocksize] ⊕ key // Where ⊕ is exclusive or (XOR)
                 
                  return hash(o_key_pad ∥ hash(i_key_pad ∥ message)) // Where '∥' is concatenation
              end function
              Tại sao phải sử dụng MAC? và nó khác gì với "Chữ kí số" ? cái này tui cũng không hiểu lắm... nhờ cao nhân chỉ giáo

              Tài liệu đọc thêm về MAC

              http://en.wikipedia.org/wiki/Message...ntication_code
              http://en.wikipedia.org/wiki/HMAC
              http://en.wikipedia.org/wiki/Cryptog..._hash_function


              C_Login: hàm xác thực chủ sở hữu chữ kí

              khi muốn ký 1 chữ ký nào, thì phải chứng thực chủ sở hữu -> C_Login này dùng để verify chủ sở hữu.

              C_Login là một API Cryptoki được trình bày ở PKCS#11. Các API này đóng vai trò như giao diện của người sử dụng với các thiết bị/đối tượng mã hóa

              PKCS#11 có mấy vấn đề mình chưa hiểu lắm... nhóm nào làm giải thích hộ mình với

              - API Cryptoki: dùng để làm gì?... Tại sao cần nó
              - API Cryptoki: được dùng ở đâu... trên các token phần cứng? hay các ứng dụng phần mềm. Khi kí một văn bản bằng công cụ trong word thì có sử dụng API Crytoki ko?
              Last edited by 08520229; 06-05-2012, 21:35.
              Một khẩu súng giữ hai trời Nam Bắc,
              Một dấu chân in màu đất hai miền.

              ------------------------------------------------------

              Comment


              • #9
                Làm thế nào để build IOS App cho device trên Xcode
                Khi các bạn đăng ký 1 account trên apple thì sẽ có Docs để hướng dẫn các bạn rất chi tiết.
                Để build được App cho iOS gồm rất nhiều step, nhưng có thể tóm lại 1 số điểm chính:
                1. Đăng ký keychain developer, để authenticate computer build App, account build, user build,...
                Các bước đăng ký key chain nếu các bạn có account thì Apple Docs hướng dẫn rất kỷ nhưng rất dài .
                2. Add device(iPhone, iPad, iPod) len tai khoan Apple để chỉ ra các device được phép build App ( đối với cai device jailbreak thì không cần)
                3. Tao provisioning cho xcode để build App, trong file nay bạn cần xác định Apple ID, distribute certificate đã xác định trong keychain
                Add các device được phép build App vào file provisioning
                4. Sau khi submit thì ban refresh lai web để activate provisioning of bạn, và chọn file này download về mày
                5. Sau khi download về máy, thì double click vào file này để nó tự động add vào xcode
                6. Các bạn có thể tạo nhiều file provisioning cho 1 device, mổi file provisioning được add vào 1 số device để build
                7. Mở project of bạn, vào xcode và xem hình bên dưới
                Trên xcode có 2 mod là release & debug, bạn cần tạo thêm 1 mod nửa distribute
                8. Config để build cho iOS may, build cho device chạy iOS thấp nhất là bao nhiều,..
                Chọn file provisioning mà bạn đã download về để build trong mục
                9. Chọn mod build là Distribute, và chọn Run
                10. Sau khi build xong, vào folder product, copy file này( có đuôi .app) rồi zip lại,
                11.Mở tool Application Loader và upload App của bạn lên Apple Store
                Các bạn nhớ là phai vào https://itunesconnect.apple.com, đê upload thông tin của App các bạn trước, như chuẩn bị hình screenshot, icons,...
                Link tham khảo :

                Comment


                • #10
                  Originally posted by 08520229 View Post
                  PKCS#5 : Padding


                  Tại sao phải sử dụng MAC? và nó khác gì với "Chữ kí số" ? cái này tui cũng không hiểu lắm... nhờ cao nhân chỉ giáo

                  MAC và DigitalSignature đều được dùng để bảo mật dữ liệu.
                  Khác nhau ở chỗ:
                  - MAC (thường theo mình biết nó dùng trong cơ chế password) được dùng trong cơ chế đối xứng. Nghĩa là đã dùng cái password nào để mã hóa thì phải dùng chính cái đó để giải mã. MAC thường dùng trong phạm vi trao đổi nhỏ, thường giữa 2 parts (2 người, quan hệ 1-1) thôi. Cả 2 phải thống nhất một key chung để mã hóa và giải mã.
                  - DigSig thì được dùng trong cơ chế bất đối xứng, key để mã hóa (PSrcSigK) là một private key, key để giải mã (VSrcSigK) là một public key, trong thuật toán mã hóa RSA.Và nó thường dùng trong phạm vi trao đổi rộng hơn, thường là giữa cá nhân và nhiều người khác(quan hệ 1-n).

                  Ví dụ đơn giản:
                  - Bạn muốn gửi một message đến chỉ một người, bạn dùng MAC để bảo vệ, chỉ có bạn và người đó biết password để xem.
                  - Giờ bạn muốn gửi một công văn cho 100 người, không lẽ giữa bạn và từng người phải có một password () sao nhớ đây) và cũng đừng nghĩ việc có một password chung cho 100 người (đã gọi là bí mật mà có 100 người biết, thế nào rùi cũng có người 101). -> Việc cần làm là bạn chỉ cần đăng ký một chữ ký, ký vào cái công văn đó bằng cái private key của bạn, thế là người nhận tự khắc biết cách mở (bởi vì cái public key đã được công khai).

                  Hiểu sao nói vậy thôi...dù sao môn này mình cũng chả biết gì...mong cao nhân chỉ giáo!!!Thank!
                  **************************************
                  Doan Duy
                  Computer Engineering Department - University of Information Technology
                  Email: duy.doan@icdrec.edu.vn or duyd020990@gmail.com

                  Comment


                  • #11
                    Originally posted by 08520070 View Post
                    MAC và DigitalSignature đều được dùng để bảo mật dữ liệu.
                    Khác nhau ở chỗ:
                    - MAC (thường theo mình biết nó dùng trong cơ chế password) được dùng trong cơ chế đối xứng. Nghĩa là đã dùng cái password nào để mã hóa thì phải dùng chính cái đó để giải mã. MAC thường dùng trong phạm vi trao đổi nhỏ, thường giữa 2 parts (2 người, quan hệ 1-1) thôi. Cả 2 phải thống nhất một key chung để mã hóa và giải mã.
                    - DigSig thì được dùng trong cơ chế bất đối xứng, key để mã hóa (PSrcSigK) là một private key, key để giải mã (VSrcSigK) là một public key, trong thuật toán mã hóa RSA.Và nó thường dùng trong phạm vi trao đổi rộng hơn, thường là giữa cá nhân và nhiều người khác(quan hệ 1-n).

                    Ví dụ đơn giản:
                    - Bạn muốn gửi một message đến chỉ một người, bạn dùng MAC để bảo vệ, chỉ có bạn và người đó biết password để xem.
                    - Giờ bạn muốn gửi một công văn cho 100 người, không lẽ giữa bạn và từng người phải có một password () sao nhớ đây) và cũng đừng nghĩ việc có một password chung cho 100 người (đã gọi là bí mật mà có 100 người biết, thế nào rùi cũng có người 101). -> Việc cần làm là bạn chỉ cần đăng ký một chữ ký, ký vào cái công văn đó bằng cái private key của bạn, thế là người nhận tự khắc biết cách mở (bởi vì cái public key đã được công khai).

                    Hiểu sao nói vậy thôi...dù sao môn này mình cũng chả biết gì...mong cao nhân chỉ giáo!!!Thank!

                    Cái này tui lại nghĩ khác MAC và DigSig cùng được sử dụng để xác thực "tui là chính tui" tức là cơ để để bên nhận xác định được rằng nó đang giao tiếp với bên gửi. Tuy nhiên như Duy nói, MAC dùng cơ chế mã hóa đối xứng... do đó bên gửi và bên nhận phải thống nhất khóa từ trước. Còn DigSig sử dụng cơ chế mã hóa bất đối xứng => bên nhận chỉ cần có đúng private key để giải mã thông điệp thôi, còn bên nào có public key thì có thể dùng nó để mã hóa và gửi cho bên nhận. Theo tui nghĩ thì DigSig dùng khi bắt đầu 1 quá trình trao đổi thông điệp... để hai bên biết mình đang nói chuyện với ai. Còn MAC thì được dùng để bảo mật ở mức cao hơn (cụ thể là trong cơ chế Password)

                    Ví dụ đơn giản là:

                    Bây giờ sinh viên muốn nộp bài cho thầy... thì phải đặt cái tiêu đề mail cho đúng fomat của thầy. Thầy dựa vào cái tiêu đề đó để lọc mail và nhận bài tập (miễn cưỡng coi như là khóa private) => cái tiêu đề mail coi như là DigSig (miễn cưỡng thôi nha)

                    Bạn nào muốn bảo mật tốt hơn... thì chọt thêm cái password vào. Dĩ nhiên là cái pass này phải nói cho thầy biết trước (mã hóa đối xứng). Khi thầy nhận cái mail đó, thầy dựa vào cái tiêu đề mail của bạn để lọc thư (lúc này thì nó coi như là DigSig)... Sau khi lọc rồi thì thầy muốn mở mail của bạn bằng password mà bạn cung cấp, thì phải biết mail của bạn là cái nào, lúc thầy dựa vào địa chỉ mail gửi tới hoặc chính trong cái format mail có thể hiện => bây giờ cái tiêu đề mail (hoặc địa chỉ mail) đóng vai trò như MAC...

                    Ý kiến cá nhân thôi ... chờ cao nhân chỉ giáo tiếp!
                    Một khẩu súng giữ hai trời Nam Bắc,
                    Một dấu chân in màu đất hai miền.

                    ------------------------------------------------------

                    Comment


                    • #12
                      bay lên nào @@
                      Một khẩu súng giữ hai trời Nam Bắc,
                      Một dấu chân in màu đất hai miền.

                      ------------------------------------------------------

                      Comment


                      • #13
                        Ai có báo cáo PKCS#3 post lên đi

                        Comment


                        • #14
                          Tấn công Man in the middle: http://msdn.microsoft.com/en-us/library/cc488022.aspx
                          Mặc dù link tiếng anh nhưng có hình minh họa rất dễ hiểu, các bạn có thể tham khảo.
                          <----- Sometime we to hide ------>

                          Comment


                          • #15
                            Ai có đề thi năm ngoái không post lên cho anh em tham khảo

                            Comment

                            LHQC

                            Collapse
                            Working...
                            X