How to detect manufacturer from NFC tag using Android?












2















I am trying to detect the manufacturer name for an NFC tag. I found manufacturer codes here. But I can detect only Mifare Ultralight C tags using these IDs. The first byte of Ultralight C tag ID represents the manufacturer code. But other tags do not contain this property. This app can detect the IC manufacturer. Is it possible to detect the manufacturer for other NFC tags?










share|improve this question

























  • You may check these two threads: How to detect the type of an NFC chip and NFC tag information

    – corvairjo
    Jul 6 '15 at 11:04













  • I have already read those answers. But can only detect mifare tags. But can not detect manufacturer of other tags like Felica.

    – Mahabubur Rahaman Melon
    Jul 7 '15 at 14:43
















2















I am trying to detect the manufacturer name for an NFC tag. I found manufacturer codes here. But I can detect only Mifare Ultralight C tags using these IDs. The first byte of Ultralight C tag ID represents the manufacturer code. But other tags do not contain this property. This app can detect the IC manufacturer. Is it possible to detect the manufacturer for other NFC tags?










share|improve this question

























  • You may check these two threads: How to detect the type of an NFC chip and NFC tag information

    – corvairjo
    Jul 6 '15 at 11:04













  • I have already read those answers. But can only detect mifare tags. But can not detect manufacturer of other tags like Felica.

    – Mahabubur Rahaman Melon
    Jul 7 '15 at 14:43














2












2








2


1






I am trying to detect the manufacturer name for an NFC tag. I found manufacturer codes here. But I can detect only Mifare Ultralight C tags using these IDs. The first byte of Ultralight C tag ID represents the manufacturer code. But other tags do not contain this property. This app can detect the IC manufacturer. Is it possible to detect the manufacturer for other NFC tags?










share|improve this question
















I am trying to detect the manufacturer name for an NFC tag. I found manufacturer codes here. But I can detect only Mifare Ultralight C tags using these IDs. The first byte of Ultralight C tag ID represents the manufacturer code. But other tags do not contain this property. This app can detect the IC manufacturer. Is it possible to detect the manufacturer for other NFC tags?







android tags nfc fingerprinting






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Oct 16 '15 at 7:25









Michael Roland

29.6k851108




29.6k851108










asked Jul 5 '15 at 18:31









Mahabubur Rahaman MelonMahabubur Rahaman Melon

12410




12410













  • You may check these two threads: How to detect the type of an NFC chip and NFC tag information

    – corvairjo
    Jul 6 '15 at 11:04













  • I have already read those answers. But can only detect mifare tags. But can not detect manufacturer of other tags like Felica.

    – Mahabubur Rahaman Melon
    Jul 7 '15 at 14:43



















  • You may check these two threads: How to detect the type of an NFC chip and NFC tag information

    – corvairjo
    Jul 6 '15 at 11:04













  • I have already read those answers. But can only detect mifare tags. But can not detect manufacturer of other tags like Felica.

    – Mahabubur Rahaman Melon
    Jul 7 '15 at 14:43

















You may check these two threads: How to detect the type of an NFC chip and NFC tag information

– corvairjo
Jul 6 '15 at 11:04







You may check these two threads: How to detect the type of an NFC chip and NFC tag information

– corvairjo
Jul 6 '15 at 11:04















I have already read those answers. But can only detect mifare tags. But can not detect manufacturer of other tags like Felica.

– Mahabubur Rahaman Melon
Jul 7 '15 at 14:43





I have already read those answers. But can only detect mifare tags. But can not detect manufacturer of other tags like Felica.

– Mahabubur Rahaman Melon
Jul 7 '15 at 14:43












1 Answer
1






active

oldest

votes


















3














There is certainly no one-catches-all approach to this. Fingerprinting of NFC tags (to guess the manufacturer or even the exact tag type) is rather difficult and you will probably need to obtain the various datasheet/user manuals for the different tag types that you want to detect. Even then, most tags don't just tell you "I am XY developed by Z". In some application use-cases it is even considered undesirable (typically for security-by-obscurity reasons) to reveal the manufacturer or product code.



For certain tag types, however, there are well-established mechanisms to obtain a manufacturer identifier:




  • NfcA tags that have a 7-byte UID (get it via Tag.getId()) encode the manufacturer's ISO 7816-6 registered chip manufacturer code (cf. the list that you already found, a newer list, or the JTC1/SC17 document library) as the first byte of that UID. E.g. 0x02 for STMicroelectronics, 0x04 for NXP, 0x05 for Infineon, etc.


  • NfcV tags have an 8-byte UID where the manufacturer's ISO 7816-6 registered chip manufacturer code (same as for 7-byte-UID NfcA tags) is encoded as the second byte of the UID (note the different byte order for NfcV which results in that byte being the second last byte obtained through Tag.getId()).


  • NfcF tags typically have an RF front-end that comes from Sony (at least I'm not aware of any other manufacturers). That front-end may be integrated into products by other manufacturers though. Sony provides a series of datasheet/user manuals that give you sufficient information to distinuguish between different FeliCa tags.


  • Some IsoDep tags (specifically those that are smartcards following GlobalPlatform specifications) may reveals manufacturer information through their card production life-cycle data (CPLC). See Nikolay's blog post and the GP specifications on how to get that from typical GP compliant cards. See CPLC.java on how to interpret that information.







share|improve this answer

























    Your Answer






    StackExchange.ifUsing("editor", function () {
    StackExchange.using("externalEditor", function () {
    StackExchange.using("snippets", function () {
    StackExchange.snippets.init();
    });
    });
    }, "code-snippets");

    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "1"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f31233652%2fhow-to-detect-manufacturer-from-nfc-tag-using-android%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    3














    There is certainly no one-catches-all approach to this. Fingerprinting of NFC tags (to guess the manufacturer or even the exact tag type) is rather difficult and you will probably need to obtain the various datasheet/user manuals for the different tag types that you want to detect. Even then, most tags don't just tell you "I am XY developed by Z". In some application use-cases it is even considered undesirable (typically for security-by-obscurity reasons) to reveal the manufacturer or product code.



    For certain tag types, however, there are well-established mechanisms to obtain a manufacturer identifier:




    • NfcA tags that have a 7-byte UID (get it via Tag.getId()) encode the manufacturer's ISO 7816-6 registered chip manufacturer code (cf. the list that you already found, a newer list, or the JTC1/SC17 document library) as the first byte of that UID. E.g. 0x02 for STMicroelectronics, 0x04 for NXP, 0x05 for Infineon, etc.


    • NfcV tags have an 8-byte UID where the manufacturer's ISO 7816-6 registered chip manufacturer code (same as for 7-byte-UID NfcA tags) is encoded as the second byte of the UID (note the different byte order for NfcV which results in that byte being the second last byte obtained through Tag.getId()).


    • NfcF tags typically have an RF front-end that comes from Sony (at least I'm not aware of any other manufacturers). That front-end may be integrated into products by other manufacturers though. Sony provides a series of datasheet/user manuals that give you sufficient information to distinuguish between different FeliCa tags.


    • Some IsoDep tags (specifically those that are smartcards following GlobalPlatform specifications) may reveals manufacturer information through their card production life-cycle data (CPLC). See Nikolay's blog post and the GP specifications on how to get that from typical GP compliant cards. See CPLC.java on how to interpret that information.







    share|improve this answer






























      3














      There is certainly no one-catches-all approach to this. Fingerprinting of NFC tags (to guess the manufacturer or even the exact tag type) is rather difficult and you will probably need to obtain the various datasheet/user manuals for the different tag types that you want to detect. Even then, most tags don't just tell you "I am XY developed by Z". In some application use-cases it is even considered undesirable (typically for security-by-obscurity reasons) to reveal the manufacturer or product code.



      For certain tag types, however, there are well-established mechanisms to obtain a manufacturer identifier:




      • NfcA tags that have a 7-byte UID (get it via Tag.getId()) encode the manufacturer's ISO 7816-6 registered chip manufacturer code (cf. the list that you already found, a newer list, or the JTC1/SC17 document library) as the first byte of that UID. E.g. 0x02 for STMicroelectronics, 0x04 for NXP, 0x05 for Infineon, etc.


      • NfcV tags have an 8-byte UID where the manufacturer's ISO 7816-6 registered chip manufacturer code (same as for 7-byte-UID NfcA tags) is encoded as the second byte of the UID (note the different byte order for NfcV which results in that byte being the second last byte obtained through Tag.getId()).


      • NfcF tags typically have an RF front-end that comes from Sony (at least I'm not aware of any other manufacturers). That front-end may be integrated into products by other manufacturers though. Sony provides a series of datasheet/user manuals that give you sufficient information to distinuguish between different FeliCa tags.


      • Some IsoDep tags (specifically those that are smartcards following GlobalPlatform specifications) may reveals manufacturer information through their card production life-cycle data (CPLC). See Nikolay's blog post and the GP specifications on how to get that from typical GP compliant cards. See CPLC.java on how to interpret that information.







      share|improve this answer




























        3












        3








        3







        There is certainly no one-catches-all approach to this. Fingerprinting of NFC tags (to guess the manufacturer or even the exact tag type) is rather difficult and you will probably need to obtain the various datasheet/user manuals for the different tag types that you want to detect. Even then, most tags don't just tell you "I am XY developed by Z". In some application use-cases it is even considered undesirable (typically for security-by-obscurity reasons) to reveal the manufacturer or product code.



        For certain tag types, however, there are well-established mechanisms to obtain a manufacturer identifier:




        • NfcA tags that have a 7-byte UID (get it via Tag.getId()) encode the manufacturer's ISO 7816-6 registered chip manufacturer code (cf. the list that you already found, a newer list, or the JTC1/SC17 document library) as the first byte of that UID. E.g. 0x02 for STMicroelectronics, 0x04 for NXP, 0x05 for Infineon, etc.


        • NfcV tags have an 8-byte UID where the manufacturer's ISO 7816-6 registered chip manufacturer code (same as for 7-byte-UID NfcA tags) is encoded as the second byte of the UID (note the different byte order for NfcV which results in that byte being the second last byte obtained through Tag.getId()).


        • NfcF tags typically have an RF front-end that comes from Sony (at least I'm not aware of any other manufacturers). That front-end may be integrated into products by other manufacturers though. Sony provides a series of datasheet/user manuals that give you sufficient information to distinuguish between different FeliCa tags.


        • Some IsoDep tags (specifically those that are smartcards following GlobalPlatform specifications) may reveals manufacturer information through their card production life-cycle data (CPLC). See Nikolay's blog post and the GP specifications on how to get that from typical GP compliant cards. See CPLC.java on how to interpret that information.







        share|improve this answer















        There is certainly no one-catches-all approach to this. Fingerprinting of NFC tags (to guess the manufacturer or even the exact tag type) is rather difficult and you will probably need to obtain the various datasheet/user manuals for the different tag types that you want to detect. Even then, most tags don't just tell you "I am XY developed by Z". In some application use-cases it is even considered undesirable (typically for security-by-obscurity reasons) to reveal the manufacturer or product code.



        For certain tag types, however, there are well-established mechanisms to obtain a manufacturer identifier:




        • NfcA tags that have a 7-byte UID (get it via Tag.getId()) encode the manufacturer's ISO 7816-6 registered chip manufacturer code (cf. the list that you already found, a newer list, or the JTC1/SC17 document library) as the first byte of that UID. E.g. 0x02 for STMicroelectronics, 0x04 for NXP, 0x05 for Infineon, etc.


        • NfcV tags have an 8-byte UID where the manufacturer's ISO 7816-6 registered chip manufacturer code (same as for 7-byte-UID NfcA tags) is encoded as the second byte of the UID (note the different byte order for NfcV which results in that byte being the second last byte obtained through Tag.getId()).


        • NfcF tags typically have an RF front-end that comes from Sony (at least I'm not aware of any other manufacturers). That front-end may be integrated into products by other manufacturers though. Sony provides a series of datasheet/user manuals that give you sufficient information to distinuguish between different FeliCa tags.


        • Some IsoDep tags (specifically those that are smartcards following GlobalPlatform specifications) may reveals manufacturer information through their card production life-cycle data (CPLC). See Nikolay's blog post and the GP specifications on how to get that from typical GP compliant cards. See CPLC.java on how to interpret that information.








        share|improve this answer














        share|improve this answer



        share|improve this answer








        edited Nov 22 '18 at 15:15









        Damien

        93521729




        93521729










        answered Oct 16 '15 at 7:22









        Michael RolandMichael Roland

        29.6k851108




        29.6k851108






























            draft saved

            draft discarded




















































            Thanks for contributing an answer to Stack Overflow!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f31233652%2fhow-to-detect-manufacturer-from-nfc-tag-using-android%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            404 Error Contact Form 7 ajax form submitting

            How to know if a Active Directory user can login interactively

            TypeError: fit_transform() missing 1 required positional argument: 'X'